新闻中心

EEPW首页 > 消费电子 > 设计应用 > 基于LPC2214和μC/OS-Ⅱ的iButton接口

基于LPC2214和μC/OS-Ⅱ的iButton接口

——
作者:西南交通大学 李 暾 张翠芳 华中科技大学 许晓辉 彭华成 时间:2007-01-26来源:《单片机与嵌入式系统应用》收藏


电力设备点检管理是利用检测设备和仪器,按照预先制订的技术标准,定人、定点、定路线、定周期、定方法、定检查记录,施行全过程对运行设备进行动态检查。点检人员按要求将手持的个人点检机与安置在设备现场的id钮扣相接触后,该位置相应的若干作业指令应逐条显示在个人点检服务器上,知道各相关岗位人员完成点检工作;同时,采集的设备现场信息以数据形式被记录在点检器的存储器中,方便地上传给计算机管理系统进行统计分析。dallas公司生产的ibutton系列产品为工业现场的应用和信息识别技术研究创造了条件。

本文引用地址:http://www.eepw.com.cn/article/20842.htm

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

1 ds1990a的性能特点

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

工厂刻入的64位rom包括48位唯一序列码、8位crc校验码和8位家族码(01h)。

通过单线与主机进行数据通信,传输速率可达16.3kbps。

标准16mm直径和1-wire协议保证了与其他ibutton产品的兼容性。

读取时间可在5ms以内。

温度范围-40~+85℃。

2 ds1990a与lpc2214硬件接口设计

1-wire是在一条总线上连接1个主控器和多个从机设备的系统。在任何情况下,ds1990a都是从机设备,而总线控制器常由微控制器充任。1-wire总线定义了1根信号线,所以让总线上每个设备都在适当的时刻运行。ds1990a为漏级开路输出,总线主控制器可以采用与其一致的等效电路,在主控制器端需加1个上拉电阻,在短距离传输情况下上拉电阻约为5kω。1个多点系统由1个1-wire总线和连接在上面的多个从机设备组成。

1-wier单总线的闲置状态为高电平。不管是何种原因,当传输操作过程需要暂停下来,且要求传送过程还能继续时,总线必须处于闲置状态;如果情况不是这样或者总线保持低电平超过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总线被5kω上拉电阻拉至高电平,当检测到数据线上信号的上升沿后,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数组中,最后返回指向这个数组的指针。(程序见本刊网站www.mesnet.com.cn——编者注)

结语

为避免设备的维修不足或检修过剩,当前电力设备管理正由定期检修和计划检修管理体制,修预知性设备状态检修体制转变,其根本目标是提高设备可靠性、经济性、降低生产成本,提高设备的利用率。dallas公司推出的智能信息载体ibutton与其他类型的智能卡相比,能更好地解决电力现场环境比较恶劣,油污、灰尘、振动、电磁等不利因素对它的干扰问题。本文提供的ds1990a与lpc2214在嵌入式实时操作系统μc/os-ⅱ中的接口的软硬件设计,已在智能点检机中推广应用。随着相关技术的发展,ibutton信息识别技术在工业领域的应用会越来越广泛,其经济作用会越来越大。



关键词:

评论


相关推荐

技术专区

关闭