当前位置:首页 > 工业控制 > 工业控制
[导读]引 言 Dalias公司推出的数字化温度传感器I)S18820的独特的“单线总线”,可以使用户方便地使用多片I)S18820构成多点温度测量系统,因此如何准确、有效地对挂在同一条单线总线上的多片Dsl8820 ROM编码进行搜索与

引 言
    Dalias公司推出的数字化温度传感器I)S18820的独特的“单线总线”,可以使用户方便地使用多片I)S18820构成多点温度测量系统,因此如何准确、有效地对挂在同一条单线总线上的多片Dsl8820 ROM编码进行搜索与识别成为系统设计的一个核心问题。用DSl8820的ROM操作命令Read ROM[33h]依次读取单线总线上的唯一一个ROM编码,然后存放在外部扩展的EEPROM存储器,再用MatchROM[55h]命令匹配识别可以解决这个问题。这种方法的优点在于简单、不需要复杂的算法,但是实际使用中不够灵活,对于一个探测单元有多个不可分离的DS18820的ROM序列号的读取更是无能为力。本文提出的一种搜索算法为这个问题提供了一个理想而灵活的解决方案。

1 DS18820简介
    作为一种数字化温度传感器,DSl8820测温时无需任何外部元件,可直接输出9~12 位(含符号位)的被测温度值,测温范围为一55~+125℃;在一10~+85℃范围内测量精度为±O.5℃,输出测量分辨率可调,最高可达O.062 5℃;支持“单线总线”技术,仅需要占用一个通用I/0端口即可完成与单片机的通信;现场温度直接以“单线总线”的数字方式传输,大大提高了系统的抗干扰能力。每片DS18820内含唯一的64位ROM编码,因此可以对挂在总线上多片DSl8820进行唯一寻址,只有被寻址的DSI 8820才能对后续操作命令作出响应。
1.1 “单线总线”通信协议
    “单线总线”是一种在一条总线(这条总线只有一条口线)具有单主机多从机的总线系统,在“单线总线”可挂多个从机系统。为了不引起逻辑上的冲突,所有从机系统“单线总线”接口都是漏极开路的,多个从机系统输出信号在总线上实现线与,因此在使用时必须对总线外加上拉电阻。
    为保证数据的完整性,所有的单线总线器件都要遵循严格的通信协议。“单线总线”通信协议定义了复位脉冲、应答脉冲、写时序和读时序等几种信号类型(具体的时序参考相关文献,这里不再做具体介绍)。所有的单总线命令序列(如初始化、ROM命令、RAM命令)都是由这些基本的信号类型组成的。在这些信号中,除了应答脉冲外,其他均由主机发出,并且发送的所有命令和数据都是字节的低位在前。
1.2 DSl8820的ROM编码
    每片DSl8820含有一个唯一的64位ROM编码。头8位是产品系列码,接着的 48位是产品序列号,最后8位是CRC(循环冗余校验)码。主机可以对总线上多片DS18820唯一寻址,因此多片DS18820能够连在同一条数据线上而不会造成混乱,这为温度的多点测量带来了极大的方便。64位的ROM注册码如下:

1.3 DS18820 ROM搜索命令
    当单线总线上挂有多个DS18B20时,系统对总线上器件的数量和每个器件的ROM的识别与搜索是通过DS18820 ROM搜索命令与算法配合来实现的。下面具体介绍ROM搜索命令的工作过程。对64位ROM编码识别从最低位开始,ROM编码的每一位搜索过程可总结为 “两读一写”:读一位,读该位补码;写一位。总线主机在ROM编码每一位上完成这三步就可以获得一个器件的ROM编码。
    (1)两 读
    总线主机发布ROM搜索命令后执行一次读,总线上所有器件就把它们各自ROM编码的第一位放到总线来作出响应。这次读获得的数据是所有器件放在总线上数据的“与”。再执行一次读,因为ROM搜索命令正在执行所以总线上所有器件把各自ROM编码的第一位的补码放在总线上,第二次读获得的数据也是所有器件放在总线上数据的“与”。对第一位的“两读”就此完成。之后主机再次进行的“两读”则是针对ROM编码的第二位,以此类推。从“两读”获得的数据有以下解释,如表1所列。

    (2)- 写
    对ROM编码的某一位“两读”之后,对该位进行“-写”操作。“-写”操作写的数据要根据“两读”获得的数据来确定。如果“两读”数据为00,则表示总线上器件在该位上数据发生冲突,“-写”写的数据此种情况下具有“排除”的作用,如果器件ROM编码在该位上的数据与“-写”写的数据相同,则继续保持与总线的联系。如果不相同则此器件从总线上“排除”,不再响应主机发布的命令,直到主机进行下一次复位。如果“两读”数据为01,则表示总线上所有器件在该位上均位0,为保持器件与总线的联系,“-写”操作主机应写0。同理,如“两读”数据为10,主机则应写1。

2 DS18820 ROM编码的搜索算法
    在一条“单线总线”上挂有多片。DS18820的情况下,对ROM编码的搜索与识别主要是通过“两读”数据为00时“-写”操作的“排除”作用来实现的。多次“排除”作用后,就可以使总线上只剩下唯一的一个器件仍与总线保持联系。如何“排除”,这需要算法的配合。下面具体介绍DS18820 ROM编码的搜索算法。
    首先作如下几个定义:对“两读”数据为00的ROM编码位,之后“一写”操作要写的数据定义为“00写位”;所有00写位的集合定义为“00写位组”。那么搜索算法所要解决的问题就是:确立一个00写位组,确保搜索命令能够搜索到一个唯一的ROM编码,并在完成一次搜索后对00写位组做出更新,以确保下次的搜索命令能够搜索到一个唯一的ROM编码并且不会搜索到已经搜索到的ROM编码,直到完成总线上所有器件的ROM编码搜索。
    在给出搜索算法规则前再作如下几个定义:00写位组中最高ROM编码位对应的00写位定义为“最高00写位”;00写位组中邻近最高00写位的00写位定义位“次高00写位”;如果更新后的00写位组不足以搜索到一个唯一的ROM编码,则添加新的00写位,这个新的00写位定义为“新00写位”。
    DS18820 ROM编码的搜索算法规则:
    ①第一次搜索确立一个00写位组,其中所有00写位全部为0。
    ②每次搜索后更新00写位组并从最高00写位开始更新。
    ③00写位组更新规则:如果最高00写位为0,则改最高00写位为1,更新完成;如果最高00写位为1,则弃去最高00写位并把次高00写位作为新的最高00写位。
    ④如果出现新00写位,新00写位一律为0并作为新的最高00写位。
    ⑤如果0写位组全为1,则搜索所有器件的ROM编码,搜索结束。

3 算法的C51实现
    对一条“单线总线”上多片DS18820的ROM编码搜索与识别,具体由C51编写的函数uchar SearchRomID(uchar RomID[n][8])来实现。函数的返回值是总线上查找到的器件个数,总线上所有器件的ROM编码存入二维数组RomID[n][8]。其中n为总线上允许挂器件的最大值,这里取16。
    首先对程序中的几个重要变量做一些说明:
    _00wbit:一维数组,用来存储00写位组全部内容。它的长度由总线上允许挂接器件的最大值决定。每写一个00写位都可以“排除”至少一个总线上的器件,当总线上器件数为n时,_00wbit数组的长度应为n-1。当然这是最坏情况下的取值,很多情况下_00wbit数组的长度小于这个值,这时不用的 _00wbit数组位用2来填充。
    Rom:一维数组,临时存储64位ROM编码。
    b:搜索结束标志位。
    R1、R2:“两读”数据位。
    编者注:程序略。

结 语
    本文提出了一种对挂接在同一条“单线总线”上的多片DS18B20 ROM编码的搜索算法,并给出了具体的C51实现方法,经验证完全可行。由于该算法可自动识别总线上的器件个数,因此实际运用中,在总线上添加和删除器件都十分灵活,这为多点测温带来了很大的方便。该算法也适用于其他“单线总线”器件

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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭