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 |
---|---|---|
CN108965171B (zh) | 工业无线wia-pa网络与时间敏感网络转换方法及装置 | |
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) | 媒体アクセス制御アーキテクチャ | |
CN105721414B (zh) | 多播通信方法 | |
KR101229003B1 (ko) | 이더넷 스트림 전송 방법 및 장치 | |
EP2684321A1 (en) | Data blocking systems for non-arbitrary networks | |
CN111556528B (zh) | 一种自组织网络下基于跳频跳时图案的信道状态判断方法 | |
KR20150050938A (ko) | 패킷의 전송 방법과 이를 이용하는 장치들 | |
CN102164066A (zh) | 基于can测控子***可靠数据传输方法 | |
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 | |
CN205142245U (zh) | 用于在载波侦听多址接入网络中进行组播通信的装置 | |
JP3855945B2 (ja) | インタフェース変換装置 | |
JP2006519531A (ja) | データネットワークにおける情報伝達 | |
KR101514398B1 (ko) | 가상 버스 개념의 차량용 게이트웨이 및 이의 메시지 전송 방법 | |
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 |