一种高效CAN总线通信方法技术

技术编号:15706454 阅读:165 留言:0更新日期:2017-06-26 19:49
本发明专利技术公开了一种高效CAN总线通信方法,通过将主节点与至少2个从节点的通信数据打包进一个数据帧中由上位机主节点进行发送,从节点按照预定的次序返回相应的与主节点通信的数据帧,即采用集中发送、分批返回的这种不对称的数据通信方式,在一个传输周期内上位机主节点完成对更多从节点的下行通信传输,从而节约大量的数据传输时间,大大提高了通信效率。本发明专利技术的另一方面,通过将CAN总线数据帧中的ID位用于数据传输,提高了CAN总线的通信效率。本发明专利技术的通信方法特别适合于数控、机器人/机械臂等多轴运动控制系统上位机与从节点间的数据通信,可满足多节点高精度、高效率的控制需求。

An efficient communication method for CAN bus

The invention discloses a high-efficiency CAN bus communication method, the master node and at least 2 from the data communication node is packaged into a data frame by the master node computer sent from the data frame node according to a predetermined order and returns the corresponding master node communication, data communication mode which uses this asymmetry send, batch return, in a transmission cycle of PC master node to complete the more from the downlink communication transmission node, thus saving a lot of time of data transmission, greatly improving the efficiency of communication. Another aspect of the invention improves the communication efficiency of the CAN bus by using the ID bits in the CAN bus data frame for data transmission. The communication method of the invention is especially suitable for the data communication between the host computer and the slave node of the multi axis motion control system of the numerical control, the robot, the mechanical arm, etc., and can satisfy the control requirement of multi node, high precision and high efficiency.

【技术实现步骤摘要】
一种高效CAN总线通信方法
本专利技术涉及通信领域,尤其涉及一种高效CAN总线通信方法。
技术介绍
CAN(ControllerAreaNetwork,控制器局域网)总线是一种多线路网络通信系统,自1986年德国BOSCH(博世)公司研究开发推出以来,现已成为ISO国际标准化的串行通信协议,CAN总线的高性能和可靠性已被认同,较低的成本与极高的总线利用率,使其被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。但是,现有CAN总线实际应用中采用的主要方式之一的上位机集中控制的一主多从方式,采用上位机节点对指定下位节点发送指令然后由指定下位节点应答返回数据的一对一应答式的收发模式,在下位节点较多的情况下采用各节点逐一访问的轮询控制方式,从而造成整个系统的实时控制性能较差,尤其是对于多轴高速运动控制的数控机床/机器人等领域往往致使运动控制效率偏低。以通过CAN总线控制一个6轴机械臂为例,六个轴外加2个通用I/O模块,合计8个节点,每个节点数据量为8字节,CAN报文大约为110位,即便按照标准CAN总线最快的1Mbps计算,完整的一次8节点通信,至少需要2毫秒。在实际工作中,由于通信还要考虑可靠性和CAN总线冲突避让问题的时间损耗,一般需要4至5毫秒,难以满足多节点、高效率例如1ms左右运动总控制周期的运动控制要求。此外,现有技术中CAN总线通过数据帧、遥控帧、错误帧、过载帧以及帧间隔等五种类型的帧进行通信,其中数据帧用于发送单元向接收单元传送数据的帧。数据帧由7个段构成,图1为CAN总线通信协议中数据帧的标准格式和扩展格式结构图。其中仲裁段是表示该帧优先级的段,数据段则表示数据的内容,可发送0~8个字节的数据。由图1可知,数据帧的标准帧格式中除去数据段以外另有44bit,扩展帧格式中除去数据段以外另有62bit,也就是说,数据的真实传输效率最多仅有64/(44+64)=59.3%或64/(62+64)=50.8%,通信的有效数据传输效率较低,尤其当各节点数据量较小时,通信效率很低。这种低数据携带量的帧格式难以满足多节点、高精度的运动控制的要求。
技术实现思路
本专利技术的一目的,是提供一种高效CAN总线通信方法,通过将主节点与至少2个从节点的通信数据打包进一个数据帧中由上位机主节点进行发送,从节点按照预定的次序返回相应的与主节点通信的数据帧,即采用集中发送、分批返回的这种不对称的数据通信方式,在一个传输周期内上位机主节点完成对更多从节点的下行通信传输,从而节约大量的数据传输时间,大大提高了通信效率。本专利技术的一目的,是提供一种高效CAN总线通信方法,通过将CAN总线数据帧中的ID位用于数据传输,提高了CAN总线的通信效率。为了实现上述目的,本专利技术提供了以下技术方案:一种高效CAN总线通信方法,CAN总线上包括至少一个主节点和至少两个从节点,所述主节点发送的单个数据帧中包括与两个或大于两个从节点通信的数据,所述从节点按照预定的次序返回相应的与主节点通信的数据。通过将主节点与至少两个从节点的通信数据打包进一个数据帧中由主节点进行发送,从节点按照预定的次序返回相应的与主节点通信的数据帧,即将现有技术中一对一主从应答方式改为主节点集中发送、从节点分批返回的不对称数据通信方式,在相同时间里主节点可以实现对更多从节点的下行通信传输,从而节约大量的数据传输时间,大大提高了通信效率。优选的,所述主节点发送的数据帧采用标准帧或扩展帧格式,其中标准帧或扩展帧的ID位部分或全部用于与从节点通信的数据。通过将主节点发送的数据帧中的ID位部分或全部用于数据传输,实现在单个数据帧中容纳更多的有效数据,从而提高了CAN总线的通信效率。CAN总线通信数据帧的标准帧格式中有11位ID,扩展帧格式中有29位ID,用于数据传输后可大幅提高有效数据传输效率。优选的,所述从节点按照预定的次序返回的相应与主节点通信的数据帧采用标准帧或扩展帧格式,其中标准帧或扩展帧的ID位部分或全部用于与主节点通信的数据。通过将从节点返回的数据帧中的ID位部分或全部用于数据传输,实现在单个数据帧中容纳更多的有效数据,提高了CAN总线的通信效率。优选的,所述主节点与从节点的数据通信有时间固定或可变的传输周期,在每个传输周期内,主节点首先向从节点广播发送通信数据,然后所有需要返回数据的从节点按照优先级次序在当前传输周期内依次返回数据给主节点,或者按照优先级次序在当前及后续预定数量的传输周期里分批顺序返回数据给主节点。根据系统通信需要,设置时间固定的传输周期便于定时任务控制,也可根据需要设置时间可变的传输周期便于灵活通信,例如需要时由主节点发送数据来启动传输周期。每个传输周期主节点首先广播发送数据给所有从节点,各个从节点接收数据后解析出自己对应的数据。然后所有需要返回数据的从节点,在这里每个传输周期可以设置当前周期固定要返回数据的从节点,也可以设置指定返回(可由主节点发送的数据中指定相应的从节点)或隔一定传输周期返回一次数据的从节点,以及包括上述三种返回数据方式的从节点的任意组合,由预先设定好的优先级次序依次返回数据给主节点,可在一个传输周期里按顺序全部返回,也可根据需要在当前及后续预定数量的传输周期里分批顺序返回,例如一共8个从节点需要返回数据,一个传输周期返回2个从节点数据,则相应的安排一共4个连续的传输周期进行分批顺序返回。每个节点可由数据帧的ID位进行设置以相互识别,也可以仅根据预先设置好的发送数据顺序来识别(这时所有ID位可用于数据传输),主节点和从节点还可由采用标准帧或者扩展帧格式进行区别,例如主节点采用扩展帧,从节点采用标准帧的方式。所有主节点和从节点可以从CAN总线上读取数据进行解析,从读取到的数据中获知是谁发送的数据以及是否轮到自己发送数据(ID位作为节点识别),或者根据每个传输周期预先设置好的发送数据顺序和已经发送的数据帧数量来判断是否轮到自己发送数据。优选的,所述从节点返回的数据包括该从节点当前数据和/或历史数据。根据需要从节点可返回当前数据,比如状态信息、采样数据、位置数据等等,也可以返回历史数据供上位机主节点参考,例如可用于更精细的图线描绘、轨迹跟踪、故障追溯等,尤其是在传输周期较短,多个传输周期从节点才返回一次数据的情况下,返回历史数据可以补全数据,便于数据分析、优化等等。由于包括历史数据后从节点数据量增多可采用打包数据帧反馈方式,可将数据帧的ID位部分或全部用于数据通信增加有效数据携带量来满足打包要求。优选的,所述历史数据包括该从节点自上一次返回数据的传输周期后,至当前传输周期前之间的采样周期相应从节点数据。根据从节点采样数据的周期来相应的设置历史数据,例如采样周期可以短于传输周期也可以长于传输周期,从而可对数据精度、数据密度以及通信占用率上取得一个较好的平衡。本专利技术还提供一种高效CAN总线通信方法,CAN总线上包括至少一个主节点和至少两个从节点,主节点与从节点的数据通信有时间固定或可变的传输周期,每个传输周期由主节点广播发送数据开始,相应的从节点返回数据作为结束,所述通信方法包括以下步骤:主节点将与需要通信的从节点的数据打包发送,所述打包为单个数据帧中包括与大于等于两个从节点通信的数据;各从节点在接收到主节点发送的数据后,所有需要返回本文档来自技高网
...
一种高效CAN总线通信方法

【技术保护点】
一种高效CAN总线通信方法,CAN总线上包括至少一个主节点和至少两个从节点,其特征在于,所述主节点发送的单个数据帧中包括与大于等于两个从节点通信的数据,所述从节点按照预定的次序返回相应的与主节点通信的数据。

【技术特征摘要】
1.一种高效CAN总线通信方法,CAN总线上包括至少一个主节点和至少两个从节点,其特征在于,所述主节点发送的单个数据帧中包括与大于等于两个从节点通信的数据,所述从节点按照预定的次序返回相应的与主节点通信的数据。2.根据权利要求1所述的高效CAN总线通信方法,其特征在于,所述主节点发送的数据帧采用标准帧或扩展帧格式,其中标准帧或扩展帧的ID位部分或全部用于与从节点通信的数据。3.根据权利要求1所述的高效CAN总线通信方法,其特征在于,所述从节点按照预定的次序返回的相应与主节点通信的数据采用标准帧或扩展帧格式的数据帧,其中标准帧或扩展帧的ID位部分或全部用于与主节点通信的数据。4.根据权利要求1-3任一所述的高效CAN总线通信方法,其特征在于,所述主节点与从节点的数据通信有时间固定或可变的传输周期,在每个传输周期内,主节点首先向从节点广播发送通信数据,然后所有需要返回数据的从节点按照优先级次序在当前传输周期内依次返回数据给主节点,或者按照优先级次序在当前及后续预定数量的传输周期里分批顺序返回数据给主节点。5.根据权利要求4所述的高效CAN总线通信方法,其特征在于,所述从节点返回的数据包括该从节点当前数据和/或历史数据。6.根据权利要求5所述的高效CAN...

【专利技术属性】
技术研发人员:孙恺刘淼曹宇男魏巍
申请(专利权)人:北京艾利特科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1