一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种用于台区智能融合终端的单总线ROM地址搜索算法的制作方法

2021-10-20 00:12:00 来源:中国专利 TAG:终端 总线 算法 融合 用于

一种用于台区智能融合终端的单总线rom地址搜索算法


背景技术:

1.用于台区智能融合终端的单总线技术,是一个总线命令者和一或多个从者组成的计算机应用系统。相比于并行、串行和专用总线,具有控制器件的地址线、数据线和控制线合成为一条信号线与从者进行双向数据交换的特点。所以在包含多个测控对象时,具有系统布线简单的优点。
2.但较小的硬件开销需要相对复杂的软件设计进行补偿。由于各从者都并联在信号线上,意味着单总线上的从者必须实现分时驱动总线,实现分时驱动的前提是总线命令者能够区分出不同的从者。单总线如果对器件进行区分,就需要获取唯一代表该器件的rom地址码。
技术领域
3.本发明涉及单总线区分从者的技术领域,尤其涉及一种用于台区智能融合终端的单总线rom地址搜索算法。每一个单总线器件都有唯一rom地址码代表该器件唯一的序列号,由64位数组成,其中包括8位家族码、48位唯一序列号以及8位crc校验码。这是区分单总线器件的依据。
4.总线命令者发出单总线器件能够识别的命令,从者识别到命令,对不同的命令做出不同的反应,向总线发出不同的数据。基于单总线的rom地址码搜索算法主要命令有:初始化命令、搜索rom地址码命令和报警搜索命令。报警搜索命令仅对处于报警状态的器件起作用,减少搜索器件数量,缩短处理时间。


技术实现要素:

5.本发明所要解决的技术问题是克服单总线如何区分下挂器件,提供一种用于台区智能融合终端的单总线rom地址码搜索算法。为实现上述发明目的,本发明采取如下技术方案:首先发送初始化命令,总线上的从者收到初始化命令后,会向命令者回复存在脉冲,命令者收到存在脉冲,会继续向从者发送搜索命令,从者收到搜索命令之后,会向总线发送rom地址码的第一位。当所有从者同时响应时,结果为所有位的逻辑与,然后从者继续发送第一位的补位,通过两次读到的结果判断分支去向。
6.原码补码 00rom地址码相应位既有0又有101rom地址码相应位为010rom地址码相应位为111没有器件
7.本发明的目的可以通过以下技术方案来实现:
8.一种用于台区智能融合终端的单总线rom地址搜索算法,包括:
9.初始化子程序
10.单总线首先要进行初始化才能进行处理,初始化时由总线命令者发出的复位脉冲
和从者发出的应答脉冲组成。
11.写信号子程序
12.写信号有0和1两种,功能是将从者能够识别的单总线命令传达给从者。命令都是由总线命令者用写信号子程序,每次一位,逐一传递给从者。
13.读信号子程序
14.单总线命令写入ds18b20传感器,通过内部功能电路,从者对命令做出反应并向总线发送数据。
15.搜索流程
16.搜索方向的位值,作为写入单总线的数值。当传感器rom中的相应位与该值相同时仍保留在搜索循环中,不同则进入等待状态,直到收到总线复位指令为止。
17.图2可描述rom地址码搜索原理,从图中可以看出,只有遇到00才会出现分叉,这是搜索的关键。每次搜索由开始节点沿树的一条路径进行,直到最后一位rom码,为确保每次搜索所选路径不同,必须对所经过的路径进行记录。
18.步骤1:复位总线,发送rom地址码搜索命令。
19.步骤2:按照读两位,写一位的方式进行,寻找00读码。在读到00之前若为10或者01,直接记录对应位rom地址码,并写入该码,若为11,则退出搜索。
20.步骤3:第一次搜索中读到00时,先全部写0,选择rom地址码为0的路径,将最高00读码位置记录并保存下来为最高00位。
21.步骤4:之后每次搜索中,遇到00读码后,比较位次与最高00位,若在最高00位之前,则一律写上一次搜索在此位置写入的值,若位置相同则写1,如果在最高00位之后,则写0。每次搜索完成后,要将最高00位更新为本次搜索中写0的最高00读码位置。
22.步骤5:当最高00位更新为0,即已到树的根部,则全部rom地址码搜索完成。
附图说明
23.图1为rom地址搜索流程图;
24.图2为rom地址码搜索原理图;
25.图3为rom地址码搜索实例图;
26.图4为单总线示意图;
具体实施方式
27.下面结合图3对本发明做进一步描述,以下内容仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。如单总线上有5个 ds18b20器件,以三位rom地址码为例
28.步骤1:第一次搜索,遇到0时,均写入0,得到rom地址码为000,最高 00位记为3。
29.步骤2:第二次搜索,第一次分叉和第二次分叉在最高00位之前,写入上一次搜索值0,与最高00位相同位置写入1,同时最高00位更新为2,得到rom 地址码为001.
30.步骤3:第三次搜索,第二次分叉位置写1,最高00位更新为1,得到rom 地址码为010.
31.步骤4:第四次搜索,第一次分叉位置写入1,由于搜索没有结束,所以不更新最高
00位,继续搜索到第四次分叉位置,在最高00位之后,写入0,得到 rom地址码为100,同时最高00位更新为3.
32.步骤5:第五次搜索,第一次分叉位置在最高00位之前,写入上一次的值1,第四次分叉位置写1,得到rom地址码为101,本次搜索中没有写0的分叉,此时最高00位更新为0,搜索结束。


技术特征:
1.一种用于台区智能融合终端的单总线rom地址搜索算法,其特征在于,包括:步骤1:搜索方式采用读取两位,写入一位。遇到00会进行分叉,每次沿二叉树的一条路径进行搜索,直到最后一位rom码。步骤2:第一次搜索到读码00,先写入0,并沿二叉树为0的分支继续搜索,记录读码00位,保存为最高00位。步骤3:寻找00读码,判断读到00之前的rom码,如果为01,则直接记录该位rom码,并写入该位rom码。如果读到00之前的rom码为11,则直接结束。如果读到00之前的rom码为00,则需要判断与最高00位的位次,如果在最高00位之前,则写入上一次搜索在此位置写入的值,如果与最高00位位置相同,则写入1,如果在最高00位之后,则写入0。每次搜索完成后,要将最高00位更新为写入0的最高00读码位置。步骤4:搜索完成的标志为,最高00位更新为0。2.根据权力要求1,用于台区智能融合终端的rom地址搜索算法以二叉树的形式,采用读取两位,写入一位的方法,搜索到读码为00时进行分叉,根据读码00之前rom地址码和位次,判断写入位数据,完成对器件rom地址码的搜索。

技术总结
本发明公开了一种用于台区智能融合终端的单总线ROM地址搜索算法。单总线有多个器件时,系统对器件ROM地址码未知,如何对这些单总线器件进行区分,实现分时驱动,是单总线技术的关键。本发明介绍的单总线搜索算法以二叉树的形式,采用读取两位写入一位的方式进行搜索,遇到读码为00时分叉,写入内容,由读码00之前的ROM地址码和位次决定,直到最高00位更新为0,完成对器件ROM地址的搜索。完成对器件ROM地址的搜索。完成对器件ROM地址的搜索。


技术研发人员:葛玉磊 张东升 郑耀汉 徐旭 侯胜坤 王金涛 王文刚 周来恩
受保护的技术使用者:青岛鼎信通讯股份有限公司
技术研发日:2021.01.14
技术公布日:2021/10/19
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜