Android Things安卓驱动以及电路设计Android Things

Android Things-硬件基础

2016-12-27  本文已影响844人  化作春泥_

本文为您提供了您应该熟悉的基本电子概念的概述,以便将外围设备安全连接到设备,并开始编写能够使其运行的应用程序。
在继续之前,您应该基本了解电压,电流,电阻和功率之间的关系,因此,如果您需要更多关于这些主题的详细信息,您可能会发现DC电路理论欧姆定律和电源有帮助。

面包板


面包板是快速原型开发电路的常用工具,无需将元件焊接在一起。 这允许您在开发期间进行布线更改,直到设计稳定。 面包板也可用于测试,通过允许您轻松连接仪器,并探测电路中的各种连接。

面包板

面包板的孔以行和列内部连接在一起,以允许多个组件共享相同的连接点。 外部行垂直于板的其余部分连接,并且在每行中跨越顶部和底部形成单个总线。 这些行通常用于连接电源和地,或在整个电路上需要的其他公共信号。

电源


嵌入式设备包含有源电路,这意味着它们需要外部电源才能正常工作。 电源是从外部电源(如墙上适配器,电池或USB端口)传送到电路板上组件的输入电压。 以下信号由电源提供给电路板:

VIN
  连接到电路板的外部电源的电压。 许多电路板支持一系列输入电压,并使用内部稳压器为其余组件提供稳定的电源。

VCC 或者 VDD
  内部稳压为板上的组件供电。 公共电源电压为+ 5V,+ 3.3V和+ 1.8V。

Ground (GND)
  板上0伏的参考点。 所有其他电压相对于GND测量。 在GND以下测量的电压被认为是负的。

模拟和数字I/O


外设通过板上提供的各种输入和输出引脚连接。 输入引脚允许您的应用读取和解释当前的电气状态。 输出引脚允许应用控制引脚的电气状态。 外设和板载I/O本质上是模拟或数字的。

模拟

模拟器件产生的电压与其测量的物理条件成比例。 一个好的例子是温度传感器,其可以产生0-5V之间的输出,对应于0-100℃之间的温度。

模拟输入使用模数转换器(ADC)将离散电压电平转换成比例整数值。 用于表示电压电平的整数范围基于ADC的分辨率,以位表示。 例如,10-bit ADC可以将输入电压表示为0-1023(例如,210个离散步长)之间的值。

数字

数字逻辑将电压信号表示为二进制值:

数字信号很少精确地为0V或VCC。 大多数数字逻辑器件将接近极限的电压范围解释为有效逻辑电平。 下表列出了每个逻辑状态的共用输入电压范围。

Supply Voltage (VCC) Logic Low (0) Logic High (1)
5V (TTL) < 0.8V > 2.0V
3.3V (CMOS) < 0.8V > 2.0V
1.8V (CMOS) < 0.6V > 1.2V

Supply Voltage (VCC) Logic Low (0) Logic High (1)
5V (TTL) < 0.8V > 2.0V
3.3V (CMOS) < 0.8V > 2.0V
1.8V (CMOS) < 0.6V > 1.2V

外设通常以几种常见方式使用数字I/O:

有关模拟和数字I/O的更多信息,请参阅传感器和传感器二进制数

上拉和下拉


在许多数字接口电路中,电阻器连接在I/O信号引脚和VCC或GND之间。 这些分别称为上拉电阻和下拉电阻。 它们保证每个信号具有系统的其余部分可以依赖的稳定的默认状态,而不直接显着影响输入或输出信号。

没有活动连接到任何信号的数字输入是浮动输入。 浮动输入易受电磁干扰,这会影响报告给您应用的值,并导致不可预测的读数。 上拉或下拉电阻确保线路驱动到稳定值,即使没有其他连接。

例如,想象一下一个按钮或开关。 开关是一对触点,在闭合时将输入引脚连接到高电平或低电平,但当开路时使输入悬空。 此外,许多数字传感器使用集电极开路(或漏极开路)输出来报告状态变化。 这些输出像一个简单的开关,需要和外部源来驱动开关打开时的输入。

上拉和下拉

电阻强度

您选择的电阻值以不同的方式影响系统。 低值电阻被认为是“强”,因为更多的电流流动。 强上拉(或下拉)总体上消耗更多功率,但是它们可以比具有更高值的“弱”电阻更快地将信号重置为空闲电平。

注:上拉和下拉电阻值通常在1kΩ和10kΩ之间。

例如,当总线空闲时,I2C串行总线使用上拉电阻来保持时钟和数据线稳定。 添加到总线上的每个器件都加载这些线路,使得上拉电路难以将线路保持在适当的电平。 随着总线上器件数量的增加,上拉的强度也必须增加以处理增加的负载。

有关应用和计算适当值的更多详细信息,请参见上拉电阻

信号去抖

许多电输入装置,例如开关和继电器,具有机械部件。随着设备的机械运动稳定,电信号可以在多个值之间暂时振荡或“跳动”。在许多情况下,这将在很短的时间内被您的应用程序看作多个输入事件。

要纠正此问题,必须使用硬件或软件对信号进行去抖动。软件去抖包括在初始输入事件和期望输入稳定(通常不超过几百毫秒)之间设置时间延迟。

要使用硬件去抖动输入,请在输入引脚和器件之间添加一个简单的RC电路(因为它包含一个电阻和电容)。当输入装置改变状态时,电容器将以与输入电阻器的尺寸成比例的速率进行充电和放电,从而有效地减缓由输入引脚看到的转变。

有关计算去抖动和将输入信号连接到器件的其他技术的更多信息,请参见输入接口电路

信号去抖

保护I/O引脚

每个输出引脚具有有限的从连接到它的电路源极(当高)或吸收(当低)电流时的能力。 比引脚流过更多电流的外设甚至可以暂时处理 - 可能会损坏输出。 为了保护引脚,请在负载上串联一个限流电阻。

注意:串联电阻值通常在100Ω和300Ω之间。

为了控制诸如电动机的较高功率的换能器,使用晶体管或类似的电子控制开关缓冲来自输出引脚的负载,并直接从电源为换能器供电。

注:I/O引脚的源/汇容量因器件而异。 检查您的硬件文档,以更好地了解您的电路板可以支持什么。

所有I/O引脚均设计为在0V和VCC之间的电压范围内安全工作。 将任何引脚连接到高于该组件电源的电压可能会损坏它。 始终验证由传感器和传感器产生的电压电平与其连接的I/ O引脚匹配。 要将可变电源的器件连接在一起,请使用逻辑电平转换器电路。

有关可用于安全连接数字和模拟I / O的电路的更多示例,请参见输出接口电路


参考文献 https://developer.android.google.cn/things/hardware

上一篇 下一篇

猜你喜欢

热点阅读