CN102594642A - 一种实现can通讯实时性的方法 - Google Patents
一种实现can通讯实时性的方法 Download PDFInfo
- Publication number
- CN102594642A CN102594642A CN201210033750XA CN201210033750A CN102594642A CN 102594642 A CN102594642 A CN 102594642A CN 201210033750X A CN201210033750X A CN 201210033750XA CN 201210033750 A CN201210033750 A CN 201210033750A CN 102594642 A CN102594642 A CN 102594642A
- Authority
- CN
- China
- Prior art keywords
- node
- priority
- time
- bus
- data
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种实现CAN通讯实时性的方法,它避免了网络中的节点长时间无法发送数据的现象,提高了网络通讯的实时性。可以保证数据在T时间内被发送出去。它的步骤为:1)把可用的N个报文标识符ID分为相等连续的两部分;第一部分为高优先级部分,第二部分为低优先级部分,在低优先级部分中选取CAN网络中各个节点的ID,高优先级部分不用;2)在CAN网络通讯时,如果出现某一节点需要发送数据,但由于该节点的ID优先级较低,在一段时间后仍没有获得CAN总线使用权时,则临时更改本节点的ID为ID-N/2,将本节点ID进入高优先级部分,从而尽快获得总线的使用权,将数据实时的发送出去;3)待数据传送完毕,恢复本节点原有ID优先级级别。
Description
技术领域
本发明涉及CAN总线网络技术领域,尤其涉及一种实现CAN通讯实时性的方法。
背景技术
CAN网络中的各节点都可根据总线访问优先权(取决于报文标识符ID),采用无损结构的逐位仲裁的方式竞争向总线发送数据,且CAN协议废除了站地址编码,而代之以对通信数据进行编码,这可使不同的节点同时接收到相同的数据,并且容易构成冗余结构,提高系统的可靠性和系统的灵活性。但是在网络节点数目较多,且通讯频繁的应用场合,某些报文标识符ID优先权低的节点会长时间无法获得总线使用权,从而无法将数据实时的发送出去。尤其对于各个节点无明显差异的CAN网络,高优先级的节点会在一定程度上压制低优先级节点的通讯,从而影响通讯的实时性。
一般情况下,为了解决上述问题多采用间隔发送的方式,某一CAN节点在发送完一帧数据后,经过一段时间后才可发送下一帧。这种方法能在一定程度上解决上述问题,但由于间隔时间难以确定,时间太长可能造成浪费、实时性差,太短可能会无法解决上述问题,更无法保证数据在规定时间内被发送出去。
发明内容 本发明的目的在于针对上述问题而提出一种实现CAN通讯实时性的方法,它避免了网络中的节点长时间无法发送数据的现象,提高了网络通讯的实时性,并可以保证数据在T时间内被发送出去。
为实现上述目的,本发明采用如下技术方案:
一种实现CAN通讯实时性的方法,它的步骤为:
1)把可用的N个报文标识符ID分为相等连续的两部分;第一部分为高优先级部分,第二部分为低优先级部分,在低优先级部分中选取CAN网络中各个节点的ID,高优先级部分不用;利用CAN报文标识符ID即为优先级这一特点,将ID分块使用,只利用优先级来管理发送的先后,而不是采用一般的时间间隔法。只采用ID进行管理,可以有效的管理总线使用权的分配顺序,可以保证各个节点均有机会得到总线的使用权,而时间间隔法在总线使用权的分配上,无法保证每个节点都有机会获得总线使用权,例如在间隔时间较短时,可能几个高优先级的节点轮流占用总线,低优先级的节点很难获得总线使用权。
2)在CAN网络通讯时,如果出现某一节点需要发送数据,但由于该节点的ID优先级较低,在一段时间后仍没有获得CAN总线使用权时,则临时更改本节点的ID为ID-N/2,将本节点ID进入高优先级部分,从而尽快获得总线的使用权,将数据实时的发送出去;
本方法通过提高节点的优先级,来使本节点在最短时间内获得总线使用权,如果只有本节点进入高优先级部分,则下一个使用获得总线使用权的必为本节点,从而可以进行对总线使用顺序的有效管理,而不像时间间隔法那样,带有极大的不确定性。
3)待数据传送完毕,恢复本节点原有ID优先级级别。恢复原有优先级级别,使本节点恢复到原来的状态,从而保证本方法可以顺利的进行下去。
所述步骤2)中,当有多个低优先级的节点在一段时间后都没有获得CAN总线使用权时,则这些节点的ID都临时更改为ID-N/2,进入高优先级部分,然后这些节点再根据自己优先级和发送时间的先后来决定总线的使用权;当一个节点发送完数据后,恢复到原有ID,进入低优先级部分;其余进入高优先级部分的节点继续竞争总线使用权,直至进入高优先级部分的节点都完成通讯。所以即使出现高拥堵的网络现象,也可通过优先级的调整,来实现对通讯顺序的调度和管理,保证各个节点在一定时间内都能获得总线的使用权。
本发明将CAN网络节点根据优先级的不同进行了划分,分为高优先级和低优先级节点,对于低优先级节点采用临时调高其级别的方法,使其能够尽快获得总线使用权完成信息的发送,在信息发送完成后自动回复其原有的级别。
本发明的有益效果:
1)传统的CAN通讯实时性,是指CAN的ID帧较短,可以快速的发送数据,但不能保证数据被及时的发送出去,数据的时效性得不到保证。
2)本方法可以有效的解决CAN节点长时间无法获得CAN总线使用权的情况,避免了长期霸占总线情况的发生。
3)本方法提高了网络通讯的实时性,可以保证数据在t时间内被发送出去,从而保证了数据的时效性。
4)本方法简单实用,在不改变任何硬件设备的情况下,只要加入ID修改程序即可实现本方法。
附图说明
图1为本发明的结构示意图。
具体实施方式
下面结合附图与实施例对本发明做进一步说明。
图1中,我们采用10位二进制数作为CAN网络节点的ID,则网络中可用ID为1024个。
首先,将这1024个ID分成两部分;第一部分为高优先级部分,ID范围是0x000--0x1FF。第二部分为低优先级部分,ID范围是0x200--0x3FF。
然后在低优先级部分中选择网络中n个节点的ID,高优先级部分的ID先不用。
其中,如果节点1的ID为0x3FF,则节点1的优先级最低,只有当网络中所有节点都不需要使用总线时才能获得总线使用权。因此,节点1可能会在一段时间内无法将数据实时的传送出去。这时为了能使数据及时的传送出去,节点1将临时更改自己的ID为0x1FF (0x3FF-0x200=0x1FF),这时节点1的ID进入高优先级部分,会在最短时间内获得总线使用权。当节点1将数据发送成功后,将自己的ID更改为0x3FF。
其中,如果节点1的ID为0x3FF,节点2的ID为0x3FE,则可能出现这两个节点都在一段时间内无法获得总线的使用权。这时节点1、节点2将分别将ID临时更改为0x1FF、0x1FE。节点1和节点2获得较高的优先级,然后再根据优先级和发送时间的先后来决定总线的使用权归谁。假设节点2先获得总线的使用权,在发送完数据后,节点2将自己的ID恢复为0x3FE,退出高优先级部分。接下来由于节点1优先级最高,因此可在最短时间内获得总线使用权,发送完数据后也将ID恢复到原有的ID0x3FF。当有多个节点进入高优先级部分时情况类似。
最长等待时间的计算:
假设网络中节点n-1的ID为0x200,且长时间占用网络,其他节点均无法获得总线使用权,经过时间t后,最多有511个节点进入到高优先级部分。这时,ID为0x000的节点最先获得总线使用权,经过时间t0完成发送数据后,将ID退回到低优先级部分。然后ID为0x001的节点会尽快获得总线使用权,依此过程进行下去,直至节点ID为0x1FF的节点获得总线使用权。
ID在低优先级部分为0x3FF(临时ID为0x1FF)的节点等待时间最长。最长等待时间为T=t+510*t0。
Claims (2)
1.一种实现CAN通讯实时性的方法,其特征是,它的步骤为:
1)把可用的N个报文标识符ID分为相等连续的两部分;第一部分为高优先级部分,第二部分为低优先级部分,在低优先级部分中选取CAN网络中各个节点的ID,高优先级部分不用;
2)在CAN网络通讯时,如果出现某一节点需要发送数据,但由于该节点的ID优先级较低,在一段时间后仍没有获得CAN总线使用权时,则临时更改本节点的ID为ID-N/2,将本节点ID进入高优先级部分,从而尽快获得总线的使用权,将数据实时的发送出去;
3)待数据传送完毕,恢复本节点原有ID优先级级别。
2.如权利要求1所述的实现CAN通讯实时性的方法,其特征是,所述步骤2)中,当有多个低优先级的节点在一段时间后都没有获得CAN总线使用权时,则这些节点的ID都临时更改为ID-N/2,进入高优先级部分,然后这些节点再根据自己优先级和发送时间的先后来决定总线的使用权;当一个节点发送完数据后,恢复到原有ID,进入低优先级部分;其余进入高优先级部分的节点继续竞争总线使用权,直至进入高优先级部分的节点都完成通讯。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210033750XA CN102594642A (zh) | 2012-02-15 | 2012-02-15 | 一种实现can通讯实时性的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210033750XA CN102594642A (zh) | 2012-02-15 | 2012-02-15 | 一种实现can通讯实时性的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102594642A true CN102594642A (zh) | 2012-07-18 |
Family
ID=46482860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210033750XA Pending CN102594642A (zh) | 2012-02-15 | 2012-02-15 | 一种实现can通讯实时性的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102594642A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104378274A (zh) * | 2014-11-20 | 2015-02-25 | 中国船舶重工集团公司第七二六研究所 | 基于can总线的无主网络通信系统 |
CN105119793A (zh) * | 2015-07-20 | 2015-12-02 | 电子科技大学 | 一种传感器网络can总线帧格式的标识符分配方法 |
CN106059806A (zh) * | 2016-05-27 | 2016-10-26 | 杭州华三通信技术有限公司 | 一种can报文发送方法及装置 |
CN107612801A (zh) * | 2017-09-30 | 2018-01-19 | 中国兵器装备集团上海电控研究所 | 一种can总线动态组网的方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101547149A (zh) * | 2009-04-20 | 2009-09-30 | 浙江大学 | 一种基于can网络的osek com消息动态调度方法 |
-
2012
- 2012-02-15 CN CN201210033750XA patent/CN102594642A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101547149A (zh) * | 2009-04-20 | 2009-09-30 | 浙江大学 | 一种基于can网络的osek com消息动态调度方法 |
Non-Patent Citations (2)
Title |
---|
孙鹏等: "CAN总线协议的改进及性能验证", 《现代科学仪器》 * |
肖存龙等: "CAN总线实时性分析", 《微计算机信息》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104378274A (zh) * | 2014-11-20 | 2015-02-25 | 中国船舶重工集团公司第七二六研究所 | 基于can总线的无主网络通信系统 |
CN104378274B (zh) * | 2014-11-20 | 2017-12-15 | 中国船舶重工集团公司第七二六研究所 | 基于can总线的无主网络通信系统 |
CN105119793A (zh) * | 2015-07-20 | 2015-12-02 | 电子科技大学 | 一种传感器网络can总线帧格式的标识符分配方法 |
CN106059806A (zh) * | 2016-05-27 | 2016-10-26 | 杭州华三通信技术有限公司 | 一种can报文发送方法及装置 |
CN106059806B (zh) * | 2016-05-27 | 2021-03-02 | 新华三技术有限公司 | 一种can报文发送方法及装置 |
CN107612801A (zh) * | 2017-09-30 | 2018-01-19 | 中国兵器装备集团上海电控研究所 | 一种can总线动态组网的方法 |
CN107612801B (zh) * | 2017-09-30 | 2020-05-22 | 中国兵器装备集团上海电控研究所 | 一种can总线动态组网的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106658735B (zh) | 基于tdma的长传播时延无线链路时隙分配方法 | |
CN107944566B (zh) | 一种机器学习方法、主节点、工作节点及系统 | |
CN107786405B (zh) | 基于can总线的多节点自动组网方法 | |
RU2008147094A (ru) | Способ резервирования ресурсов с гарантией максимальной задержки для многосегментной передачи в сети беспроводной связи с распределенным доступом | |
CN103218331A (zh) | 采用同步模式切换及帧优先级自动调整的总线装置及方法 | |
CN106506725B (zh) | 主从式多机通信系统、主机、从机以及从机id分配方法 | |
CN107561974B (zh) | 一种高轨卫星遥控优先级实现方法 | |
CN108024292B (zh) | 一种资源排除方法及装置 | |
CN106411443B (zh) | 报文传输的方法、车载网络系统及车辆 | |
CN105101300A (zh) | 基于竞争的资源选择方法及装置 | |
CN102594642A (zh) | 一种实现can通讯实时性的方法 | |
CN107041011A (zh) | 一种预案可变的轮询控制卫星通信方法和系统 | |
US11956162B2 (en) | Asynchronous medium access control layer scheduler for directional networks | |
KR20160147940A (ko) | 리소스 재사용 방법 및 장치 | |
CN104950829A (zh) | 一种总线系统功耗控制方法及装置 | |
CN102347877A (zh) | 总线调度方法及装置 | |
EP2925072B1 (en) | Node scheduling method and device | |
CN111935815A (zh) | 同步通信方法、电子设备及存储介质 | |
CN103179009B (zh) | 一种分布式管理系统的动态自适应调用方法 | |
CN106789506B (zh) | 一种基于光纤总线与1553b总线混合结构的bc切换方法 | |
CN105245313A (zh) | 无人机多载荷数据动态复接方法 | |
CN105141687A (zh) | 一种生产消息的方法 | |
CN103051548B (zh) | 基于通信时延的层次组织方法与组织系统 | |
CN102315997A (zh) | 一种多功能车辆总线网络通信的方法和系统 | |
CN102681969A (zh) | 基于can总线的长帧数据传输卡和长帧数据传输方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120718 |