单总线技术是美国Dallas公司的一项专有技术,采用单根信号线传输数据,具有节省I/O口资源、结构简单、成本低、便于总线扩展和维护等诸多优点。单总线技术适用于单个主机系统控制一个或多个从机设备。Dallas公司的单总线产品中均有一个8字节只读存储器(ROM),用于存放产品的序列号(每个芯片唯一的64位标识代码)。如图1所示,从低位起第一个字节(8位)是器件的家族代码,表示产品的分类;接下来的6个字节(48位)是每个器件唯一的ID号;最后一个字节(8位)是前56位的CRC校验码。同一种类型的器件有248个ID号码总量,确保了在总线上不会产生地址冲突。
传统的基于单总线的测温系统采用ROM搜索的方式在线识别挂接在总线上器件的注册码和器件的类型,由此可在线确定总线上的器件数量。但是,随着挂接在总线上的单总线器件增加,搜索ROM的时间也随之增加,系统开销增大。基于此,本设计采用支持菊链模式的新型数字温度传感器芯片DS28EA00组建单总线测温网络。该方案无需进行传统的ROM搜索步骤,允许用户将器件在链路中的物理位置与序列号对应,节省了RAM开销,简化了基于单总线的应用设计。
1 DS28EA00特性分析
DS28EA00是具有9位(0.5℃)至12位(0.062 5℃)分辨率和用户可编程非易失性(NV)上/下触发点报警功能的数字温度计。每个DS28EA 00都有工厂编程的唯一64位序列号。DS28EA00具有滞回和干扰滤波功能,使其能够在大的单总线网络中可靠工作。与其他单总线器件(例如DS18B20)不同,DS28EA00具有两个额外的引脚用以执行顺序检测功能。该特性允许用户将器件在链路中的物理位置与序列号对应,例如用来测量储存塔不同高度处的温度。如果无需顺序检测功能,这些引脚可作为通用输入或输出。
2 基于DS28EA00的测温系统的硬件连接
采用DS28EA00的单总线测温系统硬件连接图如图2所示,主控制器采用51系列单片机,通过一个通用I/O口与单总线器件DS28EA00连接。与Dallas其他的数字温度传感器不同,DS28EA00具有两个额外的引脚PIOA和PIOB。其中,除了连接在总线上的第一个DS28EA00的PIOB接地外,其他每一个器件的PIOA均与下一个器件的PIOB相连接,最后一个DS28EAOO的PIOA悬空或接地,所有的DS28EA00采用菊链的方式互连在一起。微控制器的其他部分连接输入设备、输出设备和通信接口。
3 单总线菊链模式下的顺序检测分析
如表1所列,在菊链模式连接方式下,DS28EA00有3种工作状态:OFF、ON和DONE。这3种状态的转换由Chain command命令控制。当接通电源后,总线上所有的DS28EA00均处于OFF状态,在该状态下顺序检测ROM命令“Conditional Read ROM”不起作用。当处于ON状态时,如果DS28EA00的PIOB引脚处于低电平状态,那么它将响应“Conditional Read ROM”命令,发送自己的ROM序列号。当发送完成后,该DS28EA00将处于DOWN状态,不再响应“Conditional Read ROM"命令,并将自己的PIOA引脚置“0”电平,使得下一个DS28EA00继续响应“Conditional Read ROM”命令,发送自己的ROM序列号,直到连接在单总线上的最后一个DS28EAOO。当微控制器把所有DS28EA00的序列号都读到后,发送Chain DOWN命令,使得总线上挂接的所有DS28EA00均回复到OFF状态。如此,便完成了对总线上所有DS28EA00的ROM检测,并且是按照顺序一个一个检测的,这使得检测的序列号与器件在链路中的物理位置相对应。如图3所示,主控制器采用Chain command命令可以使DS28EA00在3种状态间切换,当发送Chain command命令后,主控制器必须接着往总线上先写入一个字符的命令码,然后把该命令码以反码的形式再写入一遍。3个命令码3Ch、5Ah、96h分别对应状态OFF、ON和DOWN。如果菊链状态改变成功,则微控制器收到字符AAh,否则收到OOh。
[page]
4 基于DS28EA00的测温系统的软件设计
菊链状态下利用DS28EA00进行多点测温的程序流程如图4所示,测温主要分为下面几步:
①首先,单片机通过I/O口发送Skip ROM命令,同时向多个DS28EA00发送信号,接在Skip ROM命令后,发送Chain ON命令,使得所有的DS28EA00均处在ON状态,此时所有从器件的PIOA/PIOB引脚都是高电平状态除了总线网络中的第一个DS28EA00,它的PIOB是接地的。
③主控制器继续发送Conditional Read ROM命令,此时由于第二个DS28EA00的PIOB脚被置低电平,所以将响应该条命令,并发送自己的64位ROM序列号,当主控制器接收到序列号后,继续发送Chain DONE命令,把第二个DS28EA00也置为DOWN状态,并且使其PIOA脚输出低电平,将选通第三个DS28EA00。
④主控制器将重复的执行Conditional Read ROM命令,直到总线上所有的DS28EA00都完成发送ROM序列号。
⑤主控制器通过发送Skip ROM命令和Chain OFF命令结束顺序检测操作。
⑥主控制器根据读到的DS28EA00序列号,向指定的DS28EA00读取温度值。
以下为部分测温的源程序,编程环境是Keil C。
5 小结
本文介绍了一种基于DS28EA00的单总线测温系统的设计方案。采用Dallas公司生产的支持菊连模式的数字温度传感器DS28EA00作为基本测温元件,重点分析了菊连模式下的顺序检测过程,给出了硬件连接图及软件流程。采用该方案无需进行传统的ROM序列号搜索步骤,节省了RAM开销,简化了基于单总线测温的设计。
上一篇:基于CAN总线的智能家电远程监控系统
下一篇:信号链基础知识 RS-485:总线电流要求与收发器驱动能力
推荐阅读最新更新时间:2024-05-02 22:21
- 热门资源推荐
- 热门放大器推荐
- 新突破!超高速内存,为英特尔至强6性能核处理器加速
- 将vRAN站点整合至单服务器,助力运营商降低总体拥有成本
- Allegro MicroSystems 在 2024 年德国慕尼黑电子展上推出先进的磁性和电感式位置感测解决方案
- 左手车钥匙,右手活体检测雷达,UWB上车势在必行!
- 狂飙十年,国产CIS挤上牌桌
- 神盾短刀电池+雷神EM-i超级电混,吉利新能源甩出了两张“王炸”
- 浅谈功能安全之故障(fault),错误(error),失效(failure)
- 智能汽车2.0周期,这几大核心产业链迎来重大机会!
- 美日研发新型电池,宁德时代面临挑战?中国新能源电池产业如何应对?
- Rambus推出业界首款HBM 4控制器IP:背后有哪些技术细节?
- 自动驾驶的激光雷达设计:目标分类或目标检测
- 或彻底摆脱电池厂商?整车企业自建电池厂成趋势
- 用于车载(符合 AEC-Q100)18V 操作驱动器 Tr 同步整流降压 DC/DC 的转换器
- Vishay推出新型汽车级接近传感器,压力感测分辨率高达20 µm
- Elektrobit 支持 BlackBerry QNX OS 构建基于 HPC 的车辆架构
- 蓝芯科技推出大负载搬运机器人新品FR31000L
- 【8.23-8.29】一周大事件 | 音飞储存/德马科技披露2021半年报;仙工智能/蓝芯科技推出新品
- LPC23xx开发板通过同一按键实现短按复位和长按恢复出厂设置
- ARM芯片的定时器功能:匹配输出,捕获输入
- 【一周语录】“建立场景、客户资源壁垒是抢占市场的关键要素