[发明专利]一种基于NTC的总线通信地址分配方法及系统在审
申请号: | 202111641989.0 | 申请日: | 2021-12-29 |
公开(公告)号: | CN114301729A | 公开(公告)日: | 2022-04-08 |
发明(设计)人: | 张绵;白坤峰 | 申请(专利权)人: | 北京海林自控科技股份有限公司 |
主分类号: | H04L12/40 | 分类号: | H04L12/40;H04L61/5038;H04L61/5092 |
代理公司: | 北京知呱呱知识产权代理有限公司 11577 | 代理人: | 胡乐 |
地址: | 102206 北京市昌平区回龙观镇*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 ntc 总线 通信地址 分配 方法 系统 | ||
本申请公开了一种基于NTC的总线通信地址分配方法及系统。该方法包括获取各个NTC终端传输的电压数字信号;将各个NTC终端所对应的电压数字信号作为随机种子代入到预设的生成函数中获得各个NTC终端所对应的随机数;将各个随机数与单位时间的相乘得到各个NTC终端的总线通信延时时间,并根据各个NTC终端的总线通信延时时间进行总线通信地址分配。可以看出,本申请利用不同产品制造加工及使用时造成的自身属性差异,以及使用环境的差异,通过NTC将差异以AD的形式体现出来,从而作为种子,让不同产品能同时产生不同的随机数,并根据所产生的不同随机数进行总线通信地址分配。
技术领域
本发明涉及通信地址分配领域,特别涉及一种基于NTC的总线通信地址分配方法及系统。
背景技术
在编程环境中,调用rand()函数即可返回一个随机数。在产品中应用时,由每个产品随机生成一个数字,理论上不同产品生成的随机数应该是不一样的,利用这种数字的不同来实现产品之间的区分,例如在一条通信总线上连接了多台产品,这些产品都需要占用总线发送数据,那利用随机数乘以一个单位时间,就可以为每个产品产生一个随机时间的延时,随机延时时间小的产品就会优先占用总线,依次类推,从而避免通信撞包的事件。进而,如果总线上产品都未分配通信地址,在初次上电时也可以通过随机延时时间实现地址自动分配。
在调用rand()函数返回随机数的时候,需要提前为随机函数提供一个种子,种子是产生随机数的必要条件,通过调用srand(种子)函数的方式来提供,种子不同,生成的随机数才会不同,所以种子的有效性是生成不同随机数的根本。
目前常用的获取种子的方法是读取RTC,即实时时钟的当前时间作为种子的方法,或采用变量值累加的方法获取种子,如果两台产品同时上电,那会有可能产生同样的种子,种子相同时,产生的随机数也会一样,则不能通过随机数对这两个产品进行通信地址的分配。
发明内容
基于此,本申请实施例提供了一种基于NTC的总线通信地址分配方法及系统,本发明在带NTC测温的产品即使同时上电也能有效获取种子的方法,通过从不同产品NTC获取到的AD值的差异来提供不同的种子,从而产生不同的有效的随机数。
第一方面,提供了一种基于NTC的总线通信地址分配方法,该方法包括:
获取各个NTC终端传输的电压数字信号;
将各个NTC终端所对应的电压数字信号作为随机种子代入到预设的生成函数中获得各个NTC终端所对应的随机数;
将各个NTC终端所对应的随机数与单位时间的相乘得到各个NTC 终端的总线通信延时时间,并根据所述各个NTC终端的总线通信延时时间进行总线通信地址分配。
可选地,所述将各个NTC终端所对应的随机数与单位时间的相乘,还包括:
将所有NTC终端所对应的随机数按照比例缩小或放大到预设阈值范围内后与单位时间进行相乘。
可选地,将各个NTC终端所对应的电压数字信号作为随机种子,还包括:
利用各个NTC终端传输的电压数字信号作为初始随机种子;
将各个NTC终端所对应的初始随机种子放在1ms定时器里循环累加得到随机种子。
可选地,在获取各个NTC终端传输的电压数字信号之前,还包括:
各个NTC终端通过NTC组件获取电压模拟信号,并通过AD转换为电压数字信号。
可选地,在各个NTC终端通过NTC组件获取电压模拟信号之前,还包括:
将各个NTC终端进行上电初始化。
第二方面,提供了一种基于NTC的总线通信地址分配系统,该系统包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京海林自控科技股份有限公司,未经北京海林自控科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111641989.0/2.html,转载请声明来源钻瓜专利网。