CN102164066A - 基于can测控子系统可靠数据传输方法 - Google Patents
基于can测控子系统可靠数据传输方法 Download PDFInfo
- Publication number
- CN102164066A CN102164066A CN2010101119876A CN201010111987A CN102164066A CN 102164066 A CN102164066 A CN 102164066A CN 2010101119876 A CN2010101119876 A CN 2010101119876A CN 201010111987 A CN201010111987 A CN 201010111987A CN 102164066 A CN102164066 A CN 102164066A
- Authority
- CN
- China
- Prior art keywords
- frame
- communication subsystem
- node
- data transmission
- reliable 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和TCP/IP混合通信结构之上,一种基于CAN测控子系统可靠数据传输方法,其包括基于CAN测控子系统结构化CAN帧标识符、CAN测控子系统冲突避免算法和基于CAN测控子系统可靠数据传输算法。在基于CAN和TCP/IP混合通信结构的测控系统中,保证基于CAN测控子系统获得理想的实时性能和实现测控终端与Internet远程控制端之间的对等可靠数据传输。
Description
技术领域
本发明涉及测控技术领域,特指构建在基于CAN和TCP/IP混合通信结构之上,一种基于CAN测控子系统可靠数据传输方法。
背景技术
测控系统的发展趋势是用企业局域网对测控子系统进行管理,通过网关连接到Internet实现远程测控功能。测控子系统对抗干扰性能和实时通信性能要求较高,单次通信量较小,通信距离通常在10km以内。如果测控子系统直接采用以太网组网,测控终端的应用层数据将不得不经过TCP/IP协议栈的封装,而测控终端对实时通信性能要求较高。以太网帧的最小长度为64字节,除去以太网首部的18字节和TCP/IP首部的40字节,可存放6字节应用层数据。以太网帧包含的控制信息太多,而测控终端单次通信量却较小。
控制器区域网(Control Area Network,CAN)被广泛应用在对抗干扰性能和实时通信性能要求较高,单次通信量较小,通信距离在3~5km以内的一些场合,本发明的应用领域是基于CAN与TCP/IP混合通信结构的测控系统,其测控子系统是基于CAN的。
CAN废除站地址编码,数据链路层不使用任何关于系统配置的信息标识发送节点和接收节点,由节点根据应用层数据判断是否接收这帧信息。因此,系统扩展时,不用对任何节点的软件和硬件做修改,可以直接在CAN中增加节点,测控终端节点个数在理论上不受限制,组网灵活。
由节点进行应用层解码判断是否接收这帧信息,意味着CAN中任何节点都要接收并解码这帧信息,势必会造成应用层广播风暴,增加其他非接收节点的CPU负荷;测控终端节点的数据传输是基于事件触发机制的,在时间上是随机的,这种不可预知的CPU负荷会造成其他非接收节点的实时性能急剧下降,整个测控子系统的实时性能随之急剧下降。
目前,大多数CAN控制器支持硬件过滤机制,设置测控终端应用层地址,将其作为测控终端机号承载于CAN帧标识符上,通过硬件过滤判断是否接收这帧信息,在数据链路层实现点对点传输,不需要上传到应用层进行解码,防止测控子系统实时性能急剧下降。
CAN采用带冲突避免的载波侦听多址访问(CSMA/CA)作为总线介质访问控制协议来解决信道冲突问题,总线空闲时(节点侦听到总线上至少存在3个连续隐性位),所有与总线相连的节点都可以开始发送帧。两个以上的节点同时开始发送帧时,对CAN标识符进行逐位仲裁。仲裁获胜(被判定为优先级最高)的节点可继续发送帧,仲裁失利的节点则立刻停止发送转而进行接收。
当将测控终端机号承载于CAN帧标识符上时,CAN帧标识符并没有反映出进行总线介质访问控制所需的优先级信息,进行优先级逐位仲裁的结果是不准确的,反而会造成测控子系统实时性能急剧下降,因此,需要尽可能地避免冲突,减小优先级逐位仲裁失利的可能性。
CAN是短帧通信系统,发送节点要将一条应用层命令拆分成多个CAN帧进行传输,接收节点要将接收到的多个CAN帧组合成一条意义明确的应用层命令。分帧、组帧的速度是制约测控子系统实时性能的关键因素。
在基于CAN和TCP/IP混合通信结构的测控系统中,需要通过网关连接到Intemet实现远程测控功能,Intemet是一种分组交换网络,不可避免地存在错包、丢包和过度时延等情况。除此之外,如果采用停等协议,将出现高层网络协议限制底层网络硬件所提供的功能,所以TCP/IP采用了流水线可靠数据传输协议。因此,需要实现测控终端与Intemet远程控制端之间的对等可靠数据传输。
发明内容
本发明的目的是在基于CAN和TCP/IP混合通信结构的测控系统中,保证基于CAN测控子系统获得理想的实时性能和实现测控终端与Intemet远程控制端之间的对等可靠数据传输。
本发明的内容是一种基于CAN测控子系统可靠数据传输方法,包括基于CAN测控子系统结构化CAN帧标识符1、基于CAN测控子系统冲突避免算法2和基于CAN测控子系统可靠数据传输算法3。
本发明的技术方案是:在基于CAN测控子系统结构化CAN帧标识符1基础上,实施基于CAN测控子系统冲突避免算法2和基于CAN测控子系统可靠数据传输算法3。
本发明的有益效果是:保证基于CAN测控子系统获得理想的实时性能和实现测控终端与Intemet远程控制端之间的对等可靠数据传输。
附图说明
图1是基于CAN测控子系统可靠数据方法结构示意图;
图2是基于CAN测控子系统结构化CAN帧标识符示意图;
图3是基于CAN测控终端发送缓存内存空间示意图;
图4是基于CAN测控终端接收缓存内存空间示意图;
图5是基于CAN测控终端发送窗口示意图;
图6是基于CAN测控终端接收窗口示意图。
具体实施方式
一种基于CAN测控子系统可靠数据传输方法结构如图1所示,包括基于CAN测控子系统结构化CAN帧标识符1、基于CAN测控子系统冲突避免算法2和基于CAN测控子系统可靠数据传输算法3。
基于CAN测控子系统结构化CAN帧标识符如图2所示,包括测控终端机号域4,通信控制域5,帧序号域6,第一帧信息域7。
测控终端机号域4标识CAN帧的接收节点,测控终端的CAN控制器通过硬件过滤判断是否接收这帧信息,当将测控终端机号域4承载于CAN帧标识符上时,CAN帧标识符并没有反映出进行总线介质访问控制所需的优先级信息,通过基于CAN测控子系统冲突避免算法2尽可能地避免冲突,减小优先级逐位仲裁失利的可能性。
假设测控终端节点有一个帧要发送,基于CAN测控子系统冲突避免算法2包括如下步骤:一、如果初始时该节点侦听到总线空闲,它将在一个被称作离散帧间间隔(Distributed Inter-frame Space,DIFS)的短时间段后发送该帧。二、否则,该节点选取一个随机回退计数值并在侦听到总线空闲时递减该值。当侦听到总线忙时,计数值保持不变。三、当计数值减为0时(只可能发生在该节点侦听到总线空闲时),该节点发送整个CAN帧并等待确认。四、如果收到确认,该节点知道CAN帧已被正确接收了。如果该节点要发生另一CAN帧,它将从步骤二开始总线介质访问控制;如果没有收到确认,该节点将重新进入步骤二的回退阶段,并从一个更大的范围内选取随机回退计数值。
随机回退计数值按照指数回退(exponential backoff)规则选取:当传输一个给定CAN帧时,在该帧的一行中连续经历了第n次发送后,随机地从{0,1,2,…,2m-1}中选取一个值作为随机回退计数值,这里m=min(n,10)。
为了表示CAN帧是属于哪条命令的哪个帧,在CAN帧标识符中设置帧序号域6和第一帧信息域7。为每一条应用层命令分配一段连续的内存空间作为发送缓存8和接收缓存9,当发送时,直接将发送缓存8中的内容从低地址起按8个字节为一段复制到各个CAN帧的应用层数据段10中;当接收时,把CAN帧中的应用层数据段10提取出来,根据帧序号域6指明的序号信息,将其复制到接收缓存9的指定地址处,由于接收缓存9中的内容是按序复制的,因此,当CAN帧接收完毕时,应用层命令随即组帧完毕。
基于CAN测控子系统可靠数据传输算法3,设置窗口长度16(N),发送节点包括如下操作步骤:一、当一条应用层命令需要发送时,将其存放于相应的发送缓存8中,直接将发送缓存8中的内容从低地址起按8个字节为一段复制到各个CAN帧的应用层数据段中10,并缓存各个CAN帧。二、发送节点检查下一个可用于发送的帧序号13(nextseqnum),如果该帧序号在发送窗口11内,则发送该CAN帧发送;否则继续缓存该CAN帧。三、超时重传,用定时器来防止CAN帧丢失,每个CAN帧都必须拥有独立的逻辑定时器,使用单个硬件定时器模拟多个逻辑定时器。四、如果发送节点收到某个CAN帧的应用层ACK,且该CAN帧的帧序号在发送窗口11内,则将那个被确认的CAN帧标记为已接收。如果该CAN帧的帧序号等于发送窗口基序号12(send-base),则发送窗口基序号12向前移动到具有最小帧序号的未被确认CAN帧处。返回步骤二直到所有的CAN帧都被发送并确认。
接收节点包括如下操作步骤:一、帧序号在[rcv_base,rcv_base+N-1]内的CAN帧被正确接收。在此情况下,接收到的CAN帧位于接收窗口14内,向发送节点返回应用层ACK;如果该CAN帧是以前未接收到的CAN帧,则根据帧序号域指明的序号信息,将其复制到接收缓存9的指定地址处。如果该CAN帧的帧序号等于接收窗口基序号15(rcv_base),则接收窗口基序号15向前移动到具有最小帧序号的未被接收CAN帧处。二、帧序号在[rcv_base-N,rcv_base-1]内的CAN帧被正确接收。在此情况下,必须返回一个应用层ACK,即使该CAN帧是接收节点已经确认过的CAN帧。三、其他情况,忽略该CAN帧。
Claims (5)
1.一种基于CAN测控子系统可靠数据传输方法,包括基于CAN测控子系统结构化CAN帧标识符(1)、基于CAN测控子系统冲突避免算法(2)和基于CAN测控子系统可靠数据传输算法(3)。
2.根据权利要求1所述的一种基于CAN测控子系统可靠数据传输方法,其特征在于:所述的基于CAN测控子系统结构化CAN帧标识符(1)包括测控终端机号域(4),通信控制域(5),帧序号域(6),第一帧信息域(7)。
3.根据权利要求1所述的一种基于CAN测控子系统可靠数据传输方法,其特征在于:所述的基于CAN测控子系统冲突避免算法(2)包括如下步骤:一、如果初始时该节点侦听到总线空闲,它将在一个被称作离散帧间间隔的短时间段后发送该帧。二、否则,该节点选取一个随机回退计数值并在侦听到总线空闲时递减该值。当侦听到总线忙时,计数值保持不变。三、当计数值减为0时(只可能发生在该节点侦听到总线空闲时),该节点发送整个CAN帧并等待确认。四、如果收到确认,该节点知道CAN帧已被正确接收了。如果该节点要发生另一CAN帧,它将从步骤二开始总线介质访问控制;如果没有收到确认,该节点将重新进入步骤二的回退阶段,并从一个更大的范围内选取随机回退计数值。
4.根据权利要求1所述的一种基于CAN测控子系统可靠数据传输方法,其特征在于:所述的基于CAN测控子系统可靠数据传输算法(3),发送节点包括如下操作步骤:一、当一条应用层命令需要发送时,将其存放于相应的发送缓存(8)中,直接将发送缓存(8)中的内容从低地址起按8个字节为一段复制到各个CAN帧的应用层数据段中(10),并缓存各个CAN帧。二、发送节点检查下一个可用于发送的帧序号(13),如果该帧序号在发送窗口(11)内,则发送该CAN帧发送;否则继续缓存该CAN帧。三、超时重传,用定时器来防止CAN帧丢失,每个CAN帧都必须拥有独立的逻辑定时器,使用单个硬件定时器模拟多个逻辑定时器。四、如果发送节点收到某个CAN帧的应用层ACK,且该CAN帧的帧序号在发送窗口(11)内,则将那个被确认的CAN帧标记为已接收。如果该CAN帧的帧序号等于发送窗口基序号(12),则发送窗口基序号(12)向前移动到具有最小帧序号的未被确认CAN帧处。返回步骤二直到所有的CAN帧都被发送并确认。
5.根据权利要求1所述的一种基于CAN测控子系统可靠数据传输方法,其特征在于:所述的基于CAN测控子系统可靠数据传输算法(3),接收节点包括如下操作步骤:一、帧序号在[rcv_base,rcv_base+N-1]内的CAN帧被正确接收,rcv_base表示接收窗口基序号(15),rcv_base表示窗口长度(16)。在此情况下,接收到的CAN帧位于接收窗口(14)内,向发送节点返回应用层ACK;如果该CAN帧是以前未接收到的CAN帧,则根据帧序号域指明的序号信息,将其复制到接收缓存(9)的指定地址处。如果该CAN帧的帧序号等于接收窗口基序号(15),则接收窗口基序号(15)向前移动到具有最小帧序号的未被接收CAN帧处。二、帧序号在[rcv_base-N,rcv_base-1]内的CAN帧被正确接收。在此情况下,必须返回一个应用层ACK,即使该CAN帧是接收节点已经确认过的CAN帧。三、其他情况,忽略该CAN帧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101119876A CN102164066A (zh) | 2010-02-23 | 2010-02-23 | 基于can测控子系统可靠数据传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101119876A CN102164066A (zh) | 2010-02-23 | 2010-02-23 | 基于can测控子系统可靠数据传输方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102164066A true CN102164066A (zh) | 2011-08-24 |
Family
ID=44465049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101119876A Pending CN102164066A (zh) | 2010-02-23 | 2010-02-23 | 基于can测控子系统可靠数据传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102164066A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103546355A (zh) * | 2013-11-01 | 2014-01-29 | 成都信息工程学院 | 多主无损总线竞争技术 |
CN109672599A (zh) * | 2018-12-07 | 2019-04-23 | 武汉航空仪表有限责任公司 | 一种控制can总线数据通讯丢帧的方法 |
CN111937359A (zh) * | 2019-05-14 | 2020-11-13 | 深圳市大疆创新科技有限公司 | 检测设备的通信地址设置方法、无人机及存储介质 |
CN113597750A (zh) * | 2019-04-11 | 2021-11-02 | 宝马股份公司 | 用于控制交通工具的总线系统的负荷程度的方法以及总线系统和交通工具 |
CN115174304A (zh) * | 2022-06-24 | 2022-10-11 | 南京国电南自维美德自动化有限公司 | 一种识别符分段自定义的can总线通信方法 |
-
2010
- 2010-02-23 CN CN2010101119876A patent/CN102164066A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103546355A (zh) * | 2013-11-01 | 2014-01-29 | 成都信息工程学院 | 多主无损总线竞争技术 |
CN109672599A (zh) * | 2018-12-07 | 2019-04-23 | 武汉航空仪表有限责任公司 | 一种控制can总线数据通讯丢帧的方法 |
CN113597750A (zh) * | 2019-04-11 | 2021-11-02 | 宝马股份公司 | 用于控制交通工具的总线系统的负荷程度的方法以及总线系统和交通工具 |
CN111937359A (zh) * | 2019-05-14 | 2020-11-13 | 深圳市大疆创新科技有限公司 | 检测设备的通信地址设置方法、无人机及存储介质 |
CN115174304A (zh) * | 2022-06-24 | 2022-10-11 | 南京国电南自维美德自动化有限公司 | 一种识别符分段自定义的can总线通信方法 |
CN115174304B (zh) * | 2022-06-24 | 2023-12-22 | 南京国电南自维美德自动化有限公司 | 一种识别符分段自定义的can总线通信方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101584234B (zh) | 无线网状网络中的拥塞管理方法和系统以及该无线网状网络的站 | |
US11343117B2 (en) | Method for transmitting data via a serial communication bus, correspondingly designed bus interface, and correspondingly designed computer program | |
JP4155801B2 (ja) | ホームプラグネットワークにおけるQoSマネージャのチャネル確保方法 | |
JP2009507422A (ja) | 媒体アクセス制御アーキテクチャ | |
CN111556528B (zh) | 一种自组织网络下基于跳频跳时图案的信道状态判断方法 | |
KR101229003B1 (ko) | 이더넷 스트림 전송 방법 및 장치 | |
EP2684321A1 (en) | Data blocking systems for non-arbitrary networks | |
CN105721414B (zh) | 多播通信方法 | |
KR20150050938A (ko) | 패킷의 전송 방법과 이를 이용하는 장치들 | |
CN102164066A (zh) | 基于can测控子系统可靠数据传输方法 | |
KR102452615B1 (ko) | 네트워크에서 우선순위에 기초한 데이터의 전송 방법 | |
CN1812362A (zh) | 网关单元 | |
CN102624620B (zh) | 一种基于令牌帧的以太网传输方法的传输系统 | |
CN105993142B (zh) | 用于在总线系统中确定性地进行数据传输的方法和总线系统 | |
CN1152522C (zh) | 包含以太网节点和实时节点的串行总线通信系统 | |
Liu et al. | Design of an improved Ethernet AVB model for real-time communication in in-vehicle network | |
KR101573549B1 (ko) | 이종 프로토콜 간 대용량 데이터 전송을 위한 데이터 전송 시스템 및 그 데이터 전송 방법 | |
Ishak et al. | Reducing delay and jitter for real-time control communication in Ethernet | |
JP3855945B2 (ja) | インタフェース変換装置 | |
JP2006519531A (ja) | データネットワークにおける情報伝達 | |
KR101514398B1 (ko) | 가상 버스 개념의 차량용 게이트웨이 및 이의 메시지 전송 방법 | |
CN205142245U (zh) | 用于在载波侦听多址接入网络中进行组播通信的装置 | |
Ng et al. | Wireless Controller Area Network Using Token Frame Scheme | |
CN110300028B (zh) | 一种基于时隙非坚持csma的以太网模型设计方法 | |
Pulgar et al. | Extending CAN over the air: an interconnection study with IEEE802. 11 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
DD01 | Delivery of document by public notice |
Addressee: Zhou Yuan Document name: Notification of Publication of the Application for Invention |
|
DD01 | Delivery of document by public notice |
Addressee: Zhou Yuan Document name: Notification of before Expiration of Request of Examination as to Substance |
|
DD01 | Delivery of document by public notice |
Addressee: Zhou Yuan Document name: Notification that Application Deemed to be Withdrawn |
|
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110824 |