0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

简述关于LPC2214和μC/OS-II的iButton接口

电子工程师 来源:《单片机与嵌入式系统应 作者:电子科技大学 曾非 2021-03-23 13:55 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

电力设备点检管理是利用检测设备和仪器,按照预先制订的技术标准,定人、定点、定路线、定周期、定方法、定检查记录,施行全过程对运行设备进行动态检查。点检人员按要求将手持的个人点检机与安置在设备现场的ID钮扣相接触后,该位置相应的若干作业指令应逐条显示在个人点检服务器上,指导各相关岗位人员完成点检工作;

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的接口电路。由于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数组中,最后返回指向这个数组的指针。(程序见本刊网站——编者注)

结语

为避免设备的维修不足或检修过剩,当前电力设备管理正由定期检修和计划检修管理体制,向预知性设备状态检修体制转变,其根本目标是提高设备可靠性、经济性、降低生产成本,提高设备的利用率。Dallas公司推出的智能信息载体iButton与其他类型的智能卡相比,能更好地解决电力现场环境比较恶劣,油污、灰尘、振动、电磁等不利因素对它的干扰问题。

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

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ROM
    ROM
    +关注

    关注

    4

    文章

    578

    浏览量

    88530
  • 主机
    +关注

    关注

    0

    文章

    1047

    浏览量

    36426
  • iButton
    +关注

    关注

    1

    文章

    34

    浏览量

    24891
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    FreeRTOS和uC/OS-II的功能特性

    AWS 条款)。 uC/OS-II: 核心功能: 任务调度(固定优先级抢占式 + 时间片轮询)、信号量、互斥锁(带优先级继承)、消息邮箱、消息队列、事件标志、内存分区管理、软件定时器。 内存管理
    发表于 11-17 08:17

    单片机的操作系统

    抢占和轮转调度,适用于低资源消耗场景(如STM32F0系列)。 ‌ ‌ μC/OS-II ‌:抢占式多任务内核,支持64个任务,内存分区管理避免碎片,中断嵌套深度达255层,适合工业控制系统
    发表于 11-14 06:18

    FreeRTOS与uC/OS-II如何选择?

    /OS-II: 你非常熟悉 Jean Labrosse 的书或其设计理念。 你在维护一个历史悠久的、基于 uC/OS-II 的项目。 你的应用对极端可靠性和确定性有非常高的要求(其严谨的设计和历史认证背景
    发表于 11-13 07:15

    Type-C接口都有啥功能:看完秒懂

    凭借不分正反和超强兼容的优势,手机笔记本几乎已经全线换用了Type-C接口,曾经顽固的苹果全家桶也已经拥抱Type-C,大多数主板和不少机箱也用上了Type-C
    的头像 发表于 08-30 15:43 3090次阅读

    基于LPC5500的QuadSPI接口的方案

    LPC5500上面高速SPI接口可以达到50Mbps,这在150Mhz主频的MCU上面算是不慢的了。 对于高速传输的模块一般适用SPI接口而不是串口。很多Norflash也主要支持SPI接口
    的头像 发表于 08-21 15:24 4476次阅读
    基于<b class='flag-5'>LPC</b>5500的QuadSPI<b class='flag-5'>接口</b>的方案

    HDMI信号在Type-c接口上是如何分配的?

    关于Type-c 传输HDMI是否有相关案例,资料提供?HDMI信号在Type-c接口上是如何分配的?
    发表于 06-04 08:24

    正点原子AU15开发板资料发布!板载40G QSFP、PCIe3.0x8和FMC LPC接口,性能强悍!

    正点原子AU15开发板资料发布!板载40G QSFP、PCIe3.0x8和FMC LPC接口,性能强悍! 正点原子AU15开发板搭载Xilinx Artix UltraScale+ 系列FPGA
    发表于 05-30 17:04

    正点原子Z20 ZYNQ 开发板发布!板载FMC LPC、LVDS LCD和WIFI&amp;蓝牙等接口,资料丰富!

    正点原子Z20 ZYNQ 开发板发布!板载FMC LPC、LVDS LCD和WIFI&amp;蓝牙等接口,资料丰富! 正点原子新品Z20 ZYNQ开发板来啦!核心板全工业级设计,主控
    发表于 05-30 16:55

    单模光纤os1和os2的区别分析

    (Conventional Single-Mode Fiber, CSMF)。 OS2:符合ITU-T G.652.C和G.652.D标准,属于低水峰单模光纤(Low-Water-Peak
    的头像 发表于 04-21 10:37 1555次阅读

    可以在任何FLEXCOMM接口上使用MDIO吗?

    我正在使用 NXP LPC55S28JBD100与 I2C 和 MDIO 设备通信。在MCUXpresso IDE的PINS工具中,我在FLEXCOMM3显示屏中看到引脚列为MDIO和MDC。FLEXCOMM3 可以作为 MDIO 主站运行吗?或者,我可以在任何 FLEX
    发表于 04-08 07:52

    Keil LPC1769 Evaluation Board支持SPI和I2C通信吗?

    OM11084 : Keil LPC1769 Evaluation Board 支持 SPI 和 I2C 通信吗?
    发表于 04-07 06:33

    DS9490 USB至1-Wire/iButton适配器技术手册

    DS9490B是一个USB桥接器和支架,用于单个F5尺寸的iButtoniButton被安全地固定在带锁的门后。DS9490R是一个带有1-Wire RJ11接口的USB桥,可容纳1-Wire插座
    的头像 发表于 02-26 10:45 1075次阅读
    DS9490 USB至1-Wire/<b class='flag-5'>iButton</b>适配器技术手册

    DS1993 iButton存储器技术手册

    DS1992/DS1993内存iButtons(以下简称DS199x)是坚固的读/写数据载体,充当本地化数据库,易于用最少的硬件访间。非易失性存储器和可选的计时功能为存储和检索与iButton所连接
    的头像 发表于 02-26 10:39 755次阅读
    DS1993 <b class='flag-5'>iButton</b>存储器技术手册

    DS1920 iButton温度记录仪技术手册

    DS1920温度iButton提供9位温度读数,指示设备的温度。信息通过1-Wire接口发送到DS1920或从DS1920发送。读取、写入和执行温度转换的电源来自数据线本身。由于每个DS1920都
    的头像 发表于 02-26 10:22 839次阅读
    DS1920 <b class='flag-5'>iButton</b>温度记录仪技术手册

    使用LPC1114的SPI接口控制ADS1243,不能正常读取的原因?

    我使用LPC1114的SPI接口 控制ADS1243,测试波形符合要求 700ns的周期。但是在读取setup寄存器时,多次读取,每次读取的内容都不相同,是什么问题?盼复!!
    发表于 02-05 09:59