当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]先进的设计理念及封装形式赋予了iButton超强的抗冲击、防静电、防腐蚀、防水、防摩擦等性能,具有IC卡、磁卡等信息载体无法比拟的优势;极大地满足系统在可靠性、稳定性方面的要求,可确保十年以上的使用寿命。在以 LPC2214设计的点检机中,iButton得到了充分的应用。下面以DS1990A为例,对其与LPC2214之间一线串行通信方式进行研究。

iButton(信息钮扣)的物理结构是一个封装在扁圆型不锈钢外壳里的直径为16 mm、厚度为3~6 mm的微型计算机晶片,是一种携带自动识别号的电子数据标签。先进的设计理念及封装形式赋予了iButton超强的抗冲击、防静电、防腐蚀、防水、防摩擦等性能,具有IC卡、磁卡等信息载体无法比拟的优势;极大地满足系统在可靠性、稳定性方面的要求,可确保十年以上的使用寿命。在以 LPC2214设计的点检机中,iButton得到了充分的应用。下面以DS1990A为例,对其与LPC2214之间一线串行通信方式进行研究。

1 DS1990A的性能特点

坚固耐用的iButton具有优秀的环境适应能力,可防尘、防潮和防震。这种紧凑的钮扣外形使其自动对准相应的探测器,易于人工操作使用。各种附件使DS1990A在巡检、物流等现代化管理系统中具有不可替代的作用。其主要性能指标如下:

工厂刻入的64位ROM包括48位唯一序列码、8位CRC校验码和8位家族码(01H)。
通过单线与主机进行数据通信,传输速率可达16.3 kbps。
标准16 mm直径和1Wire协议保证了与其他iButton产品的兼容性。
读取时间可在5 ms 以内。
温度范围-40~+85℃

2 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,用作输入。


3 软件设计

DS1990A内建ROM仅由单根数据线访问。依据Dallas的1-Wire协议,可以从中提取48位序列码,8位家族码和8位 CRC校验码。1-Wire通信协议规定,总线的收发按照特殊时隙下的总线状态进行,由主机发出的同步脉冲下降沿初始化;所有数据读写都按照低位在前的原则。

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码。

读/写时隙的定义如图2(b)、(c)所示,主机将数据线置低初始化所有时隙。在数据线的下降沿,通过触发DS1990A中的延时电路使得DS1990A与主机同步;在写时隙期间,延时电路决定何时DS1990A对数据线进行采样。至于读数据的时隙,如果传输的是“0”,延时电路将继续被置低近15 μs,然后被置高;如果数据位是“1”,则iButton保持读数据的时隙不变。

3.3 关键代码及实现

主机和iButton的通信是通过初始化、写数据时序、读数据时序完成的,命令和数据的各个字节均由最低有效位开始逐位传送。在程序中,先初始化LPC2214的Time1定时器,将其定时时间设定为10 μs,Delay子程序的作用是使其延迟time倍的10 μs。Reset、WriteByte、ReadByte分别是初始化、读、写1字节的子程序。在指针型函数*GetButtonID中,将iButton的64位序列码保存在ButtonID数组中,最后返回指向这个数组的指针。

结语

本文提供的DS1990A与LPC2214在嵌入式实时操作系统μC/OSII中的接口的软硬件设计,已在智能点检机中推广应用。随着相关技术的发展,iButton信息识别技术在工业领域的应用会越来越广泛,其经济作用会越来越大.

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭