CN104378274B - 基于can总线的无主网络通信系统 - Google Patents
基于can总线的无主网络通信系统 Download PDFInfo
- Publication number
- CN104378274B CN104378274B CN201410668335.0A CN201410668335A CN104378274B CN 104378274 B CN104378274 B CN 104378274B CN 201410668335 A CN201410668335 A CN 201410668335A CN 104378274 B CN104378274 B CN 104378274B
- Authority
- CN
- China
- Prior art keywords
- data
- module
- sent
- node
- multichannel
- 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.)
- Active
Links
Abstract
本发明提供了一种基于CAN总线的无主网络通信系统,包括:多通道数据管理模块,多通道超时管理模块,数据接收模块,平均优先权模块,多通道预发送模块,数据发送模块和应答模块,多通道数据管理模块分别与应用接口、多通道超时管理模块和平均优先权模块连接,数据接收模块分别与多通道超时管理模块,应用接口和应答模块连接,多通道预发送模块分别与多通道超时管理模块、平均优先权模块和数据发送模块连接,数据发送模块和应答模块均与平均优先权模块连接。本发明使CAN总线实现无主可靠的多点通信,具有降低系统延时,通信速度快的优点。
Description
技术领域
本发明涉及消防电子电路领域,具体地,涉及一种基于CAN总线的无主网络通信系统。
背景技术
所谓总线,是两个或多个电子设备之间通信的载体,例如电话线,有线电视线等都是总线。电子设备在总线上的通信包括发送信息和接收信息两个部分。CAN总线是在工业控制领域应用非常广泛的一种差分总线,目前,CAN总线采用主从式通信,CAN总线有如下特点:
CAN总线的硬件可以自动将要发送的数据包装成帧,发送出去,在一定时间内接收不到应答还会重发,在接收到数据帧时会校验接收的数据是否正确,如果不正确则不应答。如果总线上只有两个节点A和节点B,则节点A向节点B发送数据,节点A可以通过硬件就知道节点B是否已经正确收到此信息,但如果总线上不只两个节点,则节点A不能判断收到的应答是节点B发送的,即节点A无法判断节点B是否正确接收到节点A发送的数据。CAN总线的另一个特点是有总线仲裁机制,即当两个节点同时向总线上发送信息时,总线会自动判断两帧信息的优先级,优先级高的先发送,优先级低的会自动排在优先级高的数据帧之后发送。尽管CAN总线有硬件仲裁机制,但由于多点通信时,无法通过硬件准确判断出接收端是否正确接收到数据。另外由于总线仲裁机制的存在,各个数据有优先级的分别,如果处理不当,有可能导致低优先级的数据长时间发送不出去。因此,现有的CAN总线通信系统一般都采用主从式通信,没有充分发挥CAN总线的特点,通信速度慢。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于CAN总线的无主网络通信系统,本发明可以充分发挥CAN总线的硬件仲裁优点,使CAN总线实现无主可靠的多点通信,降低系统延时,提高通信速度。
根据本发明的一个方面,提供一种基于CAN总线的无主网络通信系统,包括:多 通道数据管理模块,多通道超时管理模块,数据接收模块,平均优先权模块,多通道预发送模块,数据发送模块和应答模块,多通道数据管理模块分别与应用接口、多通道超时管理模块和平均优先权模块连接,数据接收模块分别与多通道超时管理模块,应用接口和应答模块连接,多通道预发送模块分别与多通道超时管理模块、平均优先权模块和数据发送模块连接,数据发送模块和应答模块均与平均优先权模块连接;其中:
多通道数据管理模块接收应用接口发送来的数据,将其按发送目的地址分通道存储在各个通道的数据队列中;且多通道数据管理模块接收多通道超时管理模块发送来的某通道的应答的信息,从此通道的数据队列中取出一帧要发送的数据,连同通道号,一同发送给平均优先权模块;
平均优先权模块接收多通道数据管理模块发送来的数据和通道号,将数据做平均优先权处理之后,连同通道号一同发送给多通道预发送模块;且平均优先权模块接收应答模块发送来的应答信息,将其做平均优先权处理之后,发送给数据发送模块;
多通道预发送模块接收平均优先权模块发送来的数据和通道号,将通道号发送给多通道超时管理模块,将要发送数据的通道的存储寄存器清空,存储本次要发送的数据,并将要发送的数据发送给数据发送模块;且多通道预发送模块接收多通道超时管理模块发送来的某通道超时信息,将超时的通道存储的数据重新发送给数据发送模块;
数据发送模块接收多通道预发送模块发送来的数据,将其通过CAN总线发送出去;且数据发送模块接收平均优先权模块发送来的应答数据,将其通过CAN总线发送出去;
多通道超时管理模块接收多通道预发送模块发送来的通道信息,开启对应通道的超时定时器,如果超时定时器超时,则向多通道预发送模块发送此通道超时的信息;且多通道超时管理模块接收数据接收模块发送来的应答信息,停止并复位应答信息对应的通道的超时定时器,并将此应答信息发送给多通道数据管理模块;
数据接收模块与CAN总线连接,从CAN总线上接收到数据之后,如果接收到的信息为应答信息,则将其发送给多通道超时管理模块,如果为非应答信息,则将其发送给应用接口和应答模块;
应答模块接收数据接收模块发送来的非应答信息,根据此信息的源地址,发送对应的应答信息给平均优先权模块。
优选地,平均优先权模块用以使总线上的各个通信节点的通信帧优先权平均相等,防止因优先权高的数据一直在发送,而使优先权低的数据长时间得不到总线使用权,具体采用以下方式:将每个CAN节点分别设置高、低两个ID,这两个ID在优先级上互补,即高ID在所有ID中的优先级为N,则低ID在所有ID中的优先级为倒数N,而且每个通信节点在每通信完一帧之后,就将自己的高低ID互换,即上一帧用自己的高ID发送数据,下一帧就要使用自己的低ID发送数据,这样,因为优先级低而处于等待状态的数据帧由于优先级高的数据帧发送完毕而变成了当前最高优先级的数据帧而得到总线控制权,从而,使总线上所有的通信节点的通信延时都在可控制范围之内。
优选地,通道表示两个通信节点之间的通信关系,当两个节点A,B,节点A向节点B发送数据,则节点A和节点B之间建立了一个节点A向节点B的通道,节点A在向节点B发送一帧信息之后,节点A向节点B的通道将暂时处于阻塞状态,此时节点A不能继续向节点B发送数据,直到节点A接收到节点B发送的应答信息,或等待超过了预定时间,在此等待期间,不影响节点A向其他节点以及节点B向节点A发送信息,节点A向其他节点以及节点B向节点A发送信息都是不同的通道,且不同于节点A向节点B的通道。
本发明通过多通道控制和发送应答机制使CAN总线实现了无主可靠的多点通信,与现有技术相比,本发明具有如下的有益效果:本发明可以充分发挥CAN总线的硬件仲裁优点,使各个通信节点在有事件要发送时,无需等待主节点的巡检信息,可以即时发送,通信延时更小。因此,与现有技术相比,本发明使CAN总线实现无主可靠的多点通信,具有降低系统延时,通信速度快的优点。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明基于CAN总线的无主网络通信系统的结构原理图。
图中:1为多通道数据管理模块,2为多通道超时管理模块,3为数据接收模块,4为平均优先权模块,5为多通道预发送模块,6为数据发送模块和7为应答模块。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于 本发明的保护范围。
请参阅图1,一种基于CAN总线的无主网络通信系统,包括:多通道数据管理模块,多通道超时管理模块,数据接收模块,平均优先权模块,多通道预发送模块,数据发送模块和应答模块,多通道数据管理模块分别与应用接口、多通道超时管理模块和平均优先权模块连接,数据接收模块分别与多通道超时管理模块,应用接口和应答模块连接,多通道预发送模块分别与多通道超时管理模块、平均优先权模块和数据发送模块连接,数据发送模块和应答模块均与平均优先权模块连接。
多通道数据管理模块接收应用接口发送来的数据,将其按发送目的地址分通道存储在各个通道的数据队列中;且多通道数据管理模块接收多通道超时管理模块发送来的某通道的应答的信息,从此通道的数据队列中取出一帧要发送的数据,连同通道号,一同发送给平均优先权模块。
平均优先权模块接收多通道数据管理模块发送来的数据和通道号,将数据做平均优先权处理之后,连同通道号一同发送给多通道预发送模块;且平均优先权模块接收应答模块发送来的应答信息,将其做平均优先权处理之后,发送给数据发送模块。
平均优先权模块用以使总线上的各个通信节点的通信帧优先权平均相等,防止因优先权高的数据一直在发送,而使优先权低的数据长时间得不到总线使用权,具体采用以下方式:将每个CAN节点分别设置高、低两个ID,这两个ID在优先级上互补,即高ID在所有ID中的优先级为N,则低ID在所有ID中的优先级为倒数N,而且每个通信节点在每通信完一帧之后,就将自己的高低ID互换,即上一帧用自己的高ID发送数据,下一帧就要使用自己的低ID发送数据,这样,因为优先级低而处于等待状态的数据帧由于优先级高的数据帧发送完毕而变成了当前最高优先级的数据帧而得到总线控制权,从而,使总线上所有的通信节点的通信延时都在可控制范围之内。
多通道预发送模块接收平均优先权模块发送来的数据和通道号,将通道号发送给多通道超时管理模块,将要发送数据的通道的存储寄存器清空,存储本次要发送的数据,并将要发送的数据发送给数据发送模块;且多通道预发送模块接收多通道超时管理模块发送来的某通道超时信息,将超时的通道存储的数据重新发送给数据发送模块。
数据发送模块接收多通道预发送模块发送来的数据,将其通过CAN总线发送出去;且数据发送模块接收平均优先权模块发送来的应答数据,将其通过CAN总线发送出去。
多通道超时管理模块接收多通道预发送模块发送来的通道信息,开启对应通道的超时定时器,如果超时定时器超时,则向多通道预发送模块发送此通道超时的信息;且多通道超时管理模块接收数据接收模块发送来的应答信息,停止并复位应答信息对应的通道的超时定时器,并将此应答信息发送给多通道数据管理模块。
数据接收模块与CAN总线连接,从CAN总线上接收到数据之后,如果接收到的信息为应答信息,则将其发送给多通道超时管理模块,如果为非应答信息,则将其发送给应用接口和应答模块。
应答模块接收数据接收模块发送来的非应答信息,根据此信息的源地址,发送对应的应答信息给平均优先权模块。
具体地,通道为一虚拟通道,通道表示两个通信节点之间的通信关系,当两个节点A,B,节点A向节点B发送数据,则节点A和节点B之间建立了一个节点A向节点B的通道,节点A在向节点B发送一帧信息之后,节点A向节点B的通道将暂时处于阻塞状态,此时节点A不能继续向节点B发送数据,直到节点A接收到节点B发送的应答信息,或等待超过了预定时间,在此等待期间,不影响节点A向其他节点以及节点B向节点A发送信息,节点A向其他节点以及节点B向节点A发送信息都是不同的通道,且不同于节点A向节点B的通道。
进一步地,数据发送模块控制CAN控制器,将数据通过CAN控制器发送到总线上。数据接收模块控制CAN控制器,通过CAN控制器从总线上接收数据。
在本发明的一个较佳实施例中,处理器采用LPC1765单片机,此单片机内部集成了CAN控制器,CAN收发器采用CTM1050T,CAN总线波特率设置为1Mbps,采用CAN2.0B扩展帧模式,在通信协议中,CAN总线ID有29个bit位,其中bit0~bit7定义为命令字,bit8~bit15定义为目的地址,bit16~bit23定义为源地址。表示应答的应答帧中,命令字定义为0x3e。通信超时时间设为100ms。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
Claims (2)
1.一种基于CAN总线的无主网络通信系统,其特征在于,包括:多通道数据管理模块,多通道超时管理模块,数据接收模块,平均优先权模块,多通道预发送模块,数据发送模块和应答模块,所述多通道数据管理模块分别与应用接口、多通道超时管理模块和平均优先权模块连接,所述数据接收模块分别与所述多通道超时管理模块,应用接口和应答模块连接,所述多通道预发送模块分别与所述多通道超时管理模块、平均优先权模块和数据发送模块连接,所述数据发送模块和应答模块均与所述平均优先权模块连接;其中:
所述多通道数据管理模块接收应用接口发送来的数据,将其按发送目的地址分通道存储在各个通道的数据队列中;且所述多通道数据管理模块接收多通道超时管理模块发送来的某通道的应答的信息,从此通道的数据队列中取出一帧要发送的数据,连同通道号,一同发送给平均优先权模块;
所述平均优先权模块接收多通道数据管理模块发送来的数据和通道号,将数据做平均优先权处理之后,连同通道号一同发送给多通道预发送模块;且所述平均优先权模块接收应答模块发送来的应答信息,将其做平均优先权处理之后,发送给数据发送模块;
所述多通道预发送模块接收平均优先权模块发送来的数据和通道号,将通道号发送给多通道超时管理模块,将要发送数据的通道的存储寄存器清空,存储本次要发送的数据,并将要发送的数据发送给数据发送模块;且所述多通道预发送模块接收多通道超时管理模块发送来的某通道超时信息,将超时的通道存储的数据重新发送给数据发送模块;
所述数据发送模块接收多通道预发送模块发送来的数据,将其通过CAN总线发送出去;且所述数据发送模块接收平均优先权模块发送来的应答数据,将其通过CAN总线发送出去;
所述多通道超时管理模块接收多通道预发送模块发送来的通道信息,开启对应通道的超时定时器,如果超时定时器超时,则向多通道预发送模块发送此通道超时的信息;且所述多通道超时管理模块接收数据接收模块发送来的应答信息,停止并复位应答信息对应的通道的超时定时器,并将此应答信息发送给多通道数据管理模块;
所述数据接收模块与CAN总线连接,从CAN总线上接收到数据之后,如果接收到的信息为应答信息,则将其发送给多通道超时管理模块,如果为非应答信息,则将其发送给应用接口和应答模块;
所述应答模块接收数据接收模块发送来的非应答信息,根据此信息的源地址,发送对应的应答信息给平均优先权模块;
所述平均优先权模块用以使总线上的各个通信节点的通信帧优先权平均相等,防止因优先权高的数据一直在发送,而使优先权低的数据长时间得不到总线使用权,具体采用以下方式:将每个CAN节点分别设置高、低两个ID,这两个ID在优先级上互补,即高ID在所有ID中的优先级为N,则低ID在所有ID中的优先级为倒数N,而且每个通信节点在每通信完一帧之后,就将自己的高低ID互换,即上一帧用自己的高ID发送数据,下一帧就要使用自己的低ID发送数据,这样,因为优先级低而处于等待状态的数据帧由于优先级高的数据帧发送完毕而变成了当前最高优先级的数据帧而得到总线控制权,从而,使总线上所有的通信节点的通信延时都在可控制范围之内。
2.根据权利要求1所述的基于CAN总线的无主网络通信系统,其特征在于,所述通道表示两个通信节点之间的通信关系,当两个节点A,B,节点A向节点B发送数据,则节点A和节点B之间建立了一个节点A向节点B的通道,节点A在向节点B发送一帧信息之后,节点A向节点B的通道将暂时处于阻塞状态,此时节点A不能继续向节点B发送数据,直到节点A接收到节点B发送的应答信息,或等待超过了预定时间,在此等待期间,不影响节点A向其他节点以及节点B向节点A发送信息,节点A向其他节点以及节点B向节点A发送信息都是不同的通道,且不同于节点A向节点B的通道。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410668335.0A CN104378274B (zh) | 2014-11-20 | 2014-11-20 | 基于can总线的无主网络通信系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410668335.0A CN104378274B (zh) | 2014-11-20 | 2014-11-20 | 基于can总线的无主网络通信系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104378274A CN104378274A (zh) | 2015-02-25 |
CN104378274B true CN104378274B (zh) | 2017-12-15 |
Family
ID=52556946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410668335.0A Active CN104378274B (zh) | 2014-11-20 | 2014-11-20 | 基于can总线的无主网络通信系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104378274B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106372019B (zh) * | 2015-07-20 | 2019-04-30 | 深圳市中兴微电子技术有限公司 | 一种系统总线设备响应超时的处理方法及超时处理装置 |
CN105117359B (zh) * | 2015-07-28 | 2019-03-08 | 厦门雅迅网络股份有限公司 | 一种can口复用装置及方法 |
CN106412119A (zh) * | 2016-11-17 | 2017-02-15 | 交控科技股份有限公司 | 一种数据分发方法和装置 |
CN110874073A (zh) * | 2018-09-04 | 2020-03-10 | 宁波方太厨具有限公司 | 一种分离式家电控制装置 |
CN115643289B (zh) * | 2022-10-17 | 2023-08-25 | 北京天融信网络安全技术有限公司 | 数据传输方法、装置、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102594642A (zh) * | 2012-02-15 | 2012-07-18 | 山东师范大学 | 一种实现can通讯实时性的方法 |
WO2012114194A1 (en) * | 2011-02-25 | 2012-08-30 | Toyota Jidosha Kabushiki Kaisha | Data rewriting support system and data rewriting support method for vehicle control apparatus |
CN103067237A (zh) * | 2012-12-26 | 2013-04-24 | 福建龙净环保股份有限公司 | 用于电袋或布袋除尘器控制系统的can通讯协议及运用 |
-
2014
- 2014-11-20 CN CN201410668335.0A patent/CN104378274B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012114194A1 (en) * | 2011-02-25 | 2012-08-30 | Toyota Jidosha Kabushiki Kaisha | Data rewriting support system and data rewriting support method for vehicle control apparatus |
CN102594642A (zh) * | 2012-02-15 | 2012-07-18 | 山东师范大学 | 一种实现can通讯实时性的方法 |
CN103067237A (zh) * | 2012-12-26 | 2013-04-24 | 福建龙净环保股份有限公司 | 用于电袋或布袋除尘器控制系统的can通讯协议及运用 |
Non-Patent Citations (1)
Title |
---|
基于分布式动态优先权队列的CAN总线实时性仿真研究;郝佳,吴杰长,郭朝有;《电子测量与仪器学报》;20110731;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN104378274A (zh) | 2015-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104378274B (zh) | 基于can总线的无主网络通信系统 | |
PH12015501028B1 (en) | A network node, a wireless device and methods therein for enabling and performing harq transmissions in a d2d communication between wireless devices in a wireless telecommunications network | |
CN105323049A (zh) | 一种非授权载波的调度方法、设备和系统 | |
GB201202358D0 (en) | Method and device for collaborative data communication in a radio network | |
CN109756588A (zh) | 一种rs485通讯的自动分配地址系统及方法 | |
CN101005427A (zh) | 一种485总线系统和传送数据的方法 | |
JP2018507630A5 (zh) | ||
CN103354482A (zh) | 一种数据传输方法、系统及基站和用户设备 | |
CN108259144A (zh) | 一种信息的传输方法、终端和网络设备 | |
CN104104485B (zh) | 一种d2d的数据传输方法 | |
CN103716092A (zh) | 一种总线型网络中双向光纤通信的组网系统及通信方法 | |
CN101877890A (zh) | 确定参与CoMP传输小区和传输数据方法、系统及装置 | |
CN108270652A (zh) | 一种高速实时总线系统及其数据处理方法 | |
CN108449745B (zh) | 复杂场景下多个蓝牙设备自动连接传输数据的方法 | |
CN104703164A (zh) | 一种获取同步参考的方法、发送同步信息的方法及设备 | |
CN105183687A (zh) | 一种分时串口通信方法及系统 | |
CN107682930A (zh) | 一种资源选择方法及装置 | |
CN102325084A (zh) | 一种iec104通讯规约转发中实现数据交换的方法及系统 | |
CN104092632A (zh) | 一种网络设备 | |
CN107295643A (zh) | 一种调度方法、装置和设备 | |
CN102724144B (zh) | 自适应网关装置及其传输数据的方法 | |
CN109428693A (zh) | 同步信号块传输位置的指示、接收方法、网络设备及终端 | |
CN102638589A (zh) | 一种通道的对应连接关系的确定方法及相关连接端和系统 | |
CN106338920A (zh) | 用于智能家居的插件式驱动系统 | |
CN104394586A (zh) | 微型基站、时钟服务器同步方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |