1. DS1990A与LPC2214硬件接口设计
1-Wire是在一条总线上连接1个主控器和多个从机设备的系统。在任何情况下,DS1990A都是从机设备,而总线控制器常由微控制器充任。1-Wire总线定义了1根信号线,所以让总线上每个设备都在适当的时刻运行。DS1990A为漏级开路输出,总线主控制器可以采用与其一致的等效电路。在主控制器端需加1个上拉电阻,在短距离传输情况下上拉电阻约为5 kΩ。1个多点系统由1个1-Wire总线和连接在上面的多个从机设备组成。
1-Wire单总线的闲置状态为高电平。不管是何种原因,当传输操作过程需要暂停下来,且要求传送过程还能继续时,总线必须处于闲置状态;如果情况不是这样或者总线保持低电平超过120 μs,那总线上的所有器件将要复位。
DS1990A与LPC2214的接口电路如图1所示。由于LPC2214 P0口都已被点检机其他部分占用,P1口均有上拉电阻,并非开漏输出,因此需有2个I/O口接iButton。LPC2214的P1.22口接Tx,用作输出;P1.16口接Rx,用作输入。

图1DS1990A与LPC2214硬件接口
2. DS1990A的性能特点
坚固耐用的iButton具有优秀的环境适应能力,可防尘、防潮和防震。这种紧凑的钮扣外形使其自动对准相应的探测器,易于人工操作使用。各种附件使DS1990A在巡检、物流等现代化管理系统中具有不可替代的作用。其主要性能指标如下:
- 工厂刻入的64位ROM包括48位唯一序列码、8位CRC校验码和8位家族码(01H)。
- 通过单线与主机进行数据通信,传输速率可达16.3 kbps。
- 标准16 mm直径和1Wire协议保证了与其他iButton产品的兼容性。
- 读取时间可在5 ms 以内。
- 温度范围-40~+85℃
3 软件设计
DS1990A内建ROM仅由单根数据线访问。依据Dallas的1-Wire协议,可以从中提取48位序列码,8位家族码和8位
DS1990A在1-Wire总线上的数据访问命令流程依次为:初始化、ROM功能命令、读取数据。
3.1 初始化及应答
1-Wire总线上所有的传输操作均由初始化序列开始。初始化序列由主机发出的复位脉冲(Reset Pulse)和从机发出的在线应答脉冲(Presence Pulse)组成。一个复位脉冲紧跟一个在线应答脉冲表明DS1990A就绪,可执行恰当的ROM命令进行数据收发。
复位和在线应答脉冲时序如图2(a)所示,主机发送(Tx)一个复位脉冲(一个至少480 μs的低电平),然后释放信号线进入接收模式(Rx)。此时,1-Wire总线被5 kΩ上拉电阻拉至高电平,当检测到数据线上信号的上升沿后,DS1990A等待(tPDL,15~60 μs),然后发送在线应答脉冲(tPDL,15~60 μs)。
3.2 读写操作
一旦主机检测到应答脉冲,就可以发出ROM功能命令。所有ROM操作命令的长度为8位。Read ROM的命令为[33H]或[0FH],此命令允许总线主控器读取DS1990A的8位家族码、唯一的48位序列码和8位CRC校验码。此命令仅当总线上只有一个DS1990A设备时可以使用。若总线上的从机设备超过一个,当各设备同时发送时将会引发数据冲突。Search ROM的命令为[F0H],此命令允许总线主控器采用排除法来确认总线上所有设备的64位ROM码。
1.部分资源来自网络,经ET电子归类整理,旨在服务电子爱好者并无商业目的,不保证正确性与完整性.
2.如果您觉得本站资源对您有用,请告知您的好友,用搜索引擎搜"ET电子"即可.

