CN108881505A - 一种can总线节点地址分配方法及系统 - Google Patents
一种can总线节点地址分配方法及系统 Download PDFInfo
- Publication number
- CN108881505A CN108881505A CN201810542018.2A CN201810542018A CN108881505A CN 108881505 A CN108881505 A CN 108881505A CN 201810542018 A CN201810542018 A CN 201810542018A CN 108881505 A CN108881505 A CN 108881505A
- Authority
- CN
- China
- Prior art keywords
- node
- address
- interim
- bus
- random number
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5038—Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5046—Resolving address allocation conflicts; Testing of addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明涉及一种CAN总线节点地址分配方法及系统,该方法包括:从节点控制器通过随机数发生器产生一组随机数,该组随机数组成该从节点的临时CAN网络节点地址;从节点向主节点发送数据帧,所述数据帧中包含该从节点的临时CAN网络节点地址和获取地址的命令;主节点接收从节点发送的数据,根据所述临时CAN网络节点地址给该从节点分配相应的地址,并对应生成存储表条目;从节点接收数据,将该从节点的临时地址修改为主节点分配的地址。该方法利用从节点自动生成随机数节点地址,并向主节点请求分配的方法,有效的解决了现有技术中采用拨码开关、上下拉电阻等方式,或者直接修改程序等方法出现的软硬件资源浪费,以及由此导致的地址分配不合理、冲突等问题。
Description
技术领域
本发明涉及嵌入式领域,具体而言是一种CAN总线节点地址分配方法及系统。
背景技术
CAN是控制器局域网络(Controller Area Network)的简称,具有较高的可靠性和良好的错误检测能力,是国际上应用最广泛的现场总线之一,广泛用于汽车电子、工业测控和工业自动化等领域。
CAN网络中包含多个节点(如图1所示),它们通过CAN总线连接在一起,每个节点都可以监听CAN总线上的通信。
CAN网络中每个节点都必须有自己的地址,CAN协议中规定了地址的长度必须为11位(标准帧)或者29位(扩展帧)。但是CAN协议中没有规定地址的获取方式。
通常情况下,采用预设地址的方式进行地址分配。具体而言,在节点接入CAN网络之前,进行地址分配。例如,采用拨码开关、上下拉电阻等方式,或者直接修改程序,为各节点分配对应地址。
以上方法实现起来不仅浪费资源,而且可能出现地址分配不合理、冲突等情况。
发明内容
本发明针对现有技术中存在的技术问题,提供一种CAN总线地址分配的方法及系统,以保证CAN总线通信的正常进行。
本发明解决上述技术问题的技术方案如下:
一方面,本发明提供一种CAN总线节点地址分配方法,包括以下步骤:
步骤1,从节点控制器通过随机数发生器产生一组随机数,该组随机数组成该从节点的临时CAN网络节点地址;
步骤2,从节点向主节点发送数据帧,所述数据帧中包含该从节点的临时CAN网络节点地址和获取地址的命令;
步骤3,主节点接收从节点发送的数据,根据所述临时CAN网络节点地址给该从节点分配相应的地址,并对应生成存储表条目;
步骤4,从节点接收数据,将该从节点的临时地址修改为主节点分配的地址。
进一步,所述的一组随机数包括依次生成的11位或29位随机数,每位随机数取值0~f,由所述11位或29位随机数构成该从节点的临时CAN网络节点地址。
进一步,所述步骤3还包括:
主节点接收从节点发送的数据后,将所述临时CAN网络节点地址与存储表中已记录的从节点地址进行匹配操作,若匹配到相同的从节点地址,则主节点不响应当前从节点的节点地址分配请求。
进一步,所述步骤3后还包括:
从节点等待接收主节点分配地址超时,则跳转至步骤1,重新生成一组随机数,作为该从节点的临时CAN网络节点地址。
进一步,该方法还包括,多个从节点根据优先级获取对CAN总线的控制权,在当前从节点地址分配完毕后,释放对CAN总线的控制权。
另一方面,本发明还提供一种CAN总线节点地址分配系统,包括通过CAN总线连接的一个主节点控制器和多个从节点控制器;
所述从节点控制器包括:
一随机数发生器,用于产生一组随机数,该组随机数组成该从节点的临时CAN网络节点地址;
一数据帧封装模块,用于将该从节点的临时CAN网络节点地址和获取地址的命令封装成一个数据帧,并发送给主节点控制器;
所述主节点控制器包括:
一数据解析模块,用于解析从节点控制器发送的数据帧,获取从节点的临时CAN网络节点地址;
一地址存储表,用于存储主节点控制器已分配的从节点地址;
一地址匹配模块,用于判断获取的临时CAN网络节点地址与所述地址存储表中的从节点地址是否匹配。
进一步,所述随机发生器产生的一组随机数包括依次生成的11位或29位随机数,每位随机数取值0~f,由所述11位或29位随机数构成该从节点的临时CAN网络节点地址。
进一步,所述从节点控制器还包括一延时计数器,所述数据帧封装模块向所述主节点控制器发送数据后进行计数,当计数超过阈值时,则随机数发生器重新生成一组随机数,并由数据帧封装模块封装后发送给主节点控制器。
进一步,所述多个从节点控制器设有不同的优先级,优先级高的从节点控制器在进行节点地址请求时拥有较高的CAN总线控制权,当且仅当该从节点地址分配结束后,所述从节点控制器释放CAN总线控制权。
本发明的有益效果是:该方法利用从节点自动生成随机数节点地址,并向主节点请求分配的方法,有效的解决了现有技术中采用拨码开关、上下拉电阻等方式,或者直接修改程序等方法出现的软硬件资源浪费,以及由此导致的地址分配不合理、冲突等问题。
附图说明
图1为CAN网络结构示意图;
图2为本发明方法流程图;
图3为本发明系统结构示意图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
如图2所示,一方面,本发明提供一种CAN总线节点地址分配方法,包括以下步骤:
步骤1,从节点控制器通过随机数发生器产生一组随机数,该组随机数组成该从节点的临时CAN网络节点地址,所述的一组随机数包括依次生成的11位或29位随机数,每位随机数取值0~f,由所述11位或29位随机数构成该从节点的临时CAN网络节点地址;
步骤2,从节点向主节点发送数据帧,所述数据帧中包含该从节点的临时CAN网络节点地址和获取地址的命令;
步骤3,主节点接收从节点发送的数据,根据所述临时CAN网络节点地址给该从节点分配相应的地址,并对应生成存储表条目;
主节点接收从节点发送的数据后,将所述临时CAN网络节点地址与存储表中已记录的从节点地址进行匹配操作,若匹配到相同的从节点地址,则主节点不响应当前从节点的节点地址分配请求。
从节点等待接收主节点分配地址超时,则跳转至步骤1,重新生成一组随机数,作为该从节点的临时CAN网络节点地址。
步骤4,从节点接收数据,将该从节点的临时地址修改为主节点分配的地址。
在进行地址分配时,多个从节点根据优先级获取对CAN总线的控制权,在当前从节点地址分配完毕后,释放对CAN总线的控制权。
另一方面,本发明还提供一种CAN总线节点地址分配系统,如图3所示,包括通过CAN总线连接的一个主节点控制器和多个从节点控制器;
所述从节点控制器包括:
一随机数发生器,用于产生一组随机数,该组随机数组成该从节点的临时CAN网络节点地址;
一数据帧封装模块,用于将该从节点的临时CAN网络节点地址和获取地址的命令封装成一个数据帧,并发送给主节点控制器;
一延时计数器,所述数据帧封装模块向所述主节点控制器发送数据后进行计数,当计数超过阈值时,则随机数发生器重新生成一组随机数,并由数据帧封装模块封装后发送给主节点控制器。
所述主节点控制器包括:
一数据解析模块,用于解析从节点控制器发送的数据帧,获取从节点的临时CAN网络节点地址;
一地址存储表,用于存储主节点控制器已分配的从节点地址;
一地址匹配模块,用于判断获取的临时CAN网络节点地址与所述地址存储表中的从节点地址是否匹配。
所述多个从节点控制器设有不同的优先级,优先级高的从节点控制器在进行节点地址请求时拥有较高的CAN总线控制权,当且仅当该从节点地址分配结束后,所述从节点控制器释放CAN总线控制权。
该方法利用从节点自动生成随机数节点地址,并向主节点请求分配的方法,有效的解决了现有技术中采用拨码开关、上下拉电阻等方式,或者直接修改程序等方法出现的软硬件资源浪费,以及由此导致的地址分配不合理、冲突等问题。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种CAN总线节点地址分配方法,其特征在于,包括以下步骤:
步骤1,从节点控制器通过随机数发生器产生一组随机数,该组随机数组成该从节点的临时CAN网络节点地址;
步骤2,从节点向主节点发送数据帧,所述数据帧中包含该从节点的临时CAN网络节点地址和获取地址的命令;
步骤3,主节点接收从节点发送的数据,根据所述临时CAN网络节点地址给该从节点分配相应的地址,并对应生成存储表条目;
步骤4,从节点接收数据,将该从节点的临时地址修改为主节点分配的地址。
2.根据权利要求1所述一种CAN总线节点地址分配方法,其特征在于,所述的一组随机数包括依次生成的11位或29位随机数,每位随机数取值0~f,由所述11位或29位随机数构成该从节点的临时CAN网络节点地址。
3.根据权利要求1所述一种CAN总线节点地址分配方法,其特征在于,所述步骤3还包括:
主节点接收从节点发送的数据后,将所述临时CAN网络节点地址与存储表中已记录的从节点地址进行匹配操作,若匹配到相同的从节点地址,则主节点不响应当前从节点的节点地址分配请求。
4.根据权利要求3所述一种CAN总线节点地址分配方法,其特征在于,所述步骤3后还包括:
从节点等待接收主节点分配地址超时,则跳转至步骤1,重新生成一组随机数,作为该从节点的临时CAN网络节点地址。
5.根据权利要求1所述一种CAN总线节点地址分配方法,其特征在于,还包括,多个从节点根据优先级获取对CAN总线的控制权,在当前从节点地址分配完毕后,释放对CAN总线的控制权。
6.一种CAN总线节点地址分配系统,其特征在于,包括通过CAN总线连接的一个主节点控制器和多个从节点控制器;
所述从节点控制器包括:
一随机数发生器,用于产生一组随机数,该组随机数组成该从节点的临时CAN网络节点地址;
一数据帧封装模块,用于将该从节点的临时CAN网络节点地址和获取地址的命令封装成一个数据帧,并发送给主节点控制器;
所述主节点控制器包括:
一数据解析模块,用于解析从节点控制器发送的数据帧,获取从节点的临时CAN网络节点地址;
一地址存储表,用于存储主节点控制器已分配的从节点地址;
一地址匹配模块,用于判断获取的临时CAN网络节点地址与所述地址存储表中的从节点地址是否匹配。
7.根据权利要求6所述一种CAN总线节点地址分配系统,其特征在于,所述随机发生器产生的一组随机数包括依次生成的11位或29位随机数,每位随机数取值0~f,由所述11位或29位随机数构成该从节点的临时CAN网络节点地址。
8.根据权利要求6所述一种CAN总线节点地址分配系统,其特征在于,所述从节点控制器还包括一延时计数器,所述数据帧封装模块向所述主节点控制器发送数据后进行计数,当计数超过阈值时,则随机数发生器重新生成一组随机数,并由数据帧封装模块封装后发送给主节点控制器。
9.根据权利要求6所述一种CAN总线节点地址分配系统,其特征在于,所述多个从节点控制器设有不同的优先级,优先级高的从节点控制器在进行节点地址请求时拥有较高的CAN总线控制权,当且仅当该从节点地址分配结束后,所述从节点控制器释放CAN总线控制权。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810542018.2A CN108881505A (zh) | 2018-05-30 | 2018-05-30 | 一种can总线节点地址分配方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810542018.2A CN108881505A (zh) | 2018-05-30 | 2018-05-30 | 一种can总线节点地址分配方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108881505A true CN108881505A (zh) | 2018-11-23 |
Family
ID=64335926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810542018.2A Pending CN108881505A (zh) | 2018-05-30 | 2018-05-30 | 一种can总线节点地址分配方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108881505A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109474716A (zh) * | 2018-12-05 | 2019-03-15 | 张洋 | 基于串行总线的传感器注册系统、方法和装置 |
CN110868343A (zh) * | 2019-11-12 | 2020-03-06 | 杭州深渡科技有限公司 | Knx节点自动发现方法和knx系统 |
CN113242170A (zh) * | 2021-05-21 | 2021-08-10 | 深圳易马达科技有限公司 | 一种地址分配的方法和装置 |
CN113347283A (zh) * | 2021-06-03 | 2021-09-03 | 上海钧嵌传感技术有限公司 | 一种节点地址的分配方法及系统 |
CN113556270A (zh) * | 2021-07-20 | 2021-10-26 | 苏州苏试试验集团股份有限公司 | Can网络 |
WO2022061760A1 (en) * | 2020-09-25 | 2022-03-31 | Elekta Limited | Can address assignment |
CN114301731A (zh) * | 2021-12-31 | 2022-04-08 | 德力西电气有限公司 | 地址管理方法、主设备及从设备 |
WO2023010848A1 (zh) * | 2021-08-05 | 2023-02-09 | 青岛海信日立空调系统有限公司 | 中央空调控制系统 |
CN117828648A (zh) * | 2024-03-06 | 2024-04-05 | 湖南博匠信息科技有限公司 | 一种可信总线交互系统的实现方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101631147A (zh) * | 2009-08-07 | 2010-01-20 | 华为技术有限公司 | 一种分配串行总线从节点地址的方法、电子装置和系统 |
US20140052863A1 (en) * | 2012-08-20 | 2014-02-20 | Control Techniques Limited | Node Address Allocation |
CN105847456A (zh) * | 2015-01-13 | 2016-08-10 | 浙江大华技术股份有限公司 | 一种rs485自动分配地址方法、装置和系统 |
CN106790761A (zh) * | 2017-01-05 | 2017-05-31 | 广州南盾通讯设备有限公司 | ModBus总线下主节点分配、从节点获取地址的方法、总线地址自动分配方法以及装置 |
CN107395787A (zh) * | 2017-09-01 | 2017-11-24 | 北京镁伽机器人科技有限公司 | Can通信网络的地址分配方法、系统、网关和介质 |
-
2018
- 2018-05-30 CN CN201810542018.2A patent/CN108881505A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101631147A (zh) * | 2009-08-07 | 2010-01-20 | 华为技术有限公司 | 一种分配串行总线从节点地址的方法、电子装置和系统 |
US20140052863A1 (en) * | 2012-08-20 | 2014-02-20 | Control Techniques Limited | Node Address Allocation |
CN105847456A (zh) * | 2015-01-13 | 2016-08-10 | 浙江大华技术股份有限公司 | 一种rs485自动分配地址方法、装置和系统 |
CN106790761A (zh) * | 2017-01-05 | 2017-05-31 | 广州南盾通讯设备有限公司 | ModBus总线下主节点分配、从节点获取地址的方法、总线地址自动分配方法以及装置 |
CN107395787A (zh) * | 2017-09-01 | 2017-11-24 | 北京镁伽机器人科技有限公司 | Can通信网络的地址分配方法、系统、网关和介质 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109474716A (zh) * | 2018-12-05 | 2019-03-15 | 张洋 | 基于串行总线的传感器注册系统、方法和装置 |
CN110868343A (zh) * | 2019-11-12 | 2020-03-06 | 杭州深渡科技有限公司 | Knx节点自动发现方法和knx系统 |
WO2022061760A1 (en) * | 2020-09-25 | 2022-03-31 | Elekta Limited | Can address assignment |
CN113242170A (zh) * | 2021-05-21 | 2021-08-10 | 深圳易马达科技有限公司 | 一种地址分配的方法和装置 |
CN113242170B (zh) * | 2021-05-21 | 2023-03-21 | 深圳易马达科技有限公司 | 一种地址分配的方法和装置 |
CN113347283B (zh) * | 2021-06-03 | 2022-05-24 | 上海钧嵌传感技术有限公司 | 一种节点地址的分配方法及系统 |
CN113347283A (zh) * | 2021-06-03 | 2021-09-03 | 上海钧嵌传感技术有限公司 | 一种节点地址的分配方法及系统 |
CN113556270B (zh) * | 2021-07-20 | 2023-03-14 | 苏州苏试试验集团股份有限公司 | Can网络 |
CN113556270A (zh) * | 2021-07-20 | 2021-10-26 | 苏州苏试试验集团股份有限公司 | Can网络 |
WO2023010848A1 (zh) * | 2021-08-05 | 2023-02-09 | 青岛海信日立空调系统有限公司 | 中央空调控制系统 |
CN114301731A (zh) * | 2021-12-31 | 2022-04-08 | 德力西电气有限公司 | 地址管理方法、主设备及从设备 |
CN114301731B (zh) * | 2021-12-31 | 2023-12-22 | 德力西电气有限公司 | 地址管理方法、主设备及从设备 |
CN117828648A (zh) * | 2024-03-06 | 2024-04-05 | 湖南博匠信息科技有限公司 | 一种可信总线交互系统的实现方法 |
CN117828648B (zh) * | 2024-03-06 | 2024-05-28 | 湖南博匠信息科技有限公司 | 一种可信总线交互系统的实现方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108881505A (zh) | 一种can总线节点地址分配方法及系统 | |
US10680949B2 (en) | Systems and methods for implementing a time-stamped controller area network (CAN) bus message | |
Cena et al. | An improved CAN fieldbus for industrial applications | |
JP6431510B2 (ja) | 工業インターネットブロードバンドフィールドバス技術の実現方法 | |
CN111628941A (zh) | 一种网络流量的分类处理方法、装置、设备及介质 | |
KR102422404B1 (ko) | 네트워크에서 전력 공급 방법 및 장치 | |
CN113542277B (zh) | Canopen设备通过tsn网络桥接的方法、系统、介质及装置 | |
CN102811152B (zh) | 一种多主总线网络通讯实时交易数据交换实现方法 | |
EP4345614A1 (en) | Pod deployment method and apparatus | |
CN110647392A (zh) | 一种基于容器集群的智能弹性伸缩方法 | |
Cena et al. | On the properties of the flexible time division multiple access technique | |
CN106713010B (zh) | 一种航电网络系统的通信方法及系统 | |
KR20110035247A (ko) | Can 기반 시스템에서의 id 동적 할당 방법 | |
KR20100020253A (ko) | 차량 네트워크에서의 메시지 전송 상태 진단 장치 | |
CN106856445A (zh) | 动车组制动系统及其工作方法 | |
CN105978779B (zh) | 基于工业互联网的实时通信方法、装置及系统 | |
CN114035539A (zh) | 实例化车型通讯矩阵生成方法、装置、设备及存储介质 | |
CN107454208A (zh) | 一种为从节点设备分配网络地址的方法 | |
JP2003198572A (ja) | 確定的フィールドバス及びその種のバスの管理方法 | |
Prodromides et al. | Performability evaluation of CSMA/CD and CSMA/DCR protocols under transient fault conditions | |
CN110177032A (zh) | 报文路由质量监测方法及网关控制器 | |
KR102273410B1 (ko) | Ecu를 리프로그래밍 하기 위한 장치, 시스템 및 방법 | |
Marques et al. | Efficient transient error recovery in FlexRay using the dynamic segment | |
CN114363425A (zh) | 一种some/ip服务管理方法及相关设备 | |
CN112737965B (zh) | 解决并发访问网元受限问题的方法、系统及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181123 |
|
RJ01 | Rejection of invention patent application after publication |