顶部
电车资源栏目: 商用车 乘用车

如何实现可靠的CAN长字节通讯

  • 2017-10-12 09:58
  • 来源:电动汽车资源网 ZLG致远电子

摘要:这个“古老”的总线,最让人“不爽”的地方,就是一帧只能传输八字节数据,如果要一次传输更长字节,需要分帧,而选择一种可靠的分帧方法就是使用者一定要注意的。

电动汽车资源网EV江湖 ZLG致远电子】CAN总线从上个世纪80年代开始,逐渐在汽车电子、轨道交通、医疗电子、工程机械等广泛的工业场合应用。这个“古老”的总线,最让人“不爽”的地方,就是一帧只能传输八字节数据,如果要一次传输更长字节,需要分帧,而选择一种可靠的分帧方法就是使用者一定要注意的。

CAN总线作为汽车电子而生的总线,提出了“优先级自动仲裁”和“短帧快速传输”的控制概念,为了达到“高实时性”的快速控制目标。使用一帧八字节的通讯单元具有了一系列的优点缺点:

一、CAN通讯的优缺点:

优点

(1)8个字节正好是8个字节、4个16位、2个32位、1个64位的变量的存放“容器”。那么用户只要在ID中存放“寄存器地址”,然后通过1帧来“读取”或者“修改”,对应的“数值”,这样比较方便。

(2)短帧提高总线共享速度。任何一个CAN节点发送报文,在发送一帧后,需要重新和其他节点竞争总线,这样只要用户设计适当的发送间隔,就可以保证所有的点“共享”总线,提高总线利用率,也保证每个节点的发送周期大致保证一致。

缺点

(1)长数据传输时数据负载偏低。在多帧发送时,由于每帧发送都要发送CANID,所以实际的CAN数据所占的比例就很低了,以CAN扩展帧为例,其29位ID和64位的数据,导致数据承载只能达到60%。所以在长数据传输时,CAN甚至比不上同样波特率下的RS485/Modbus。

(2)长数据传输分帧丢帧,会导致整包传输失败。当需要一次传输超过8字节数据时,需要分多帧传输,如果其中一帧“丢失”,则会导致整个发送包的无效。这就要求接收节点对每一个分帧进行确认,以保证每一个分帧的到达,而这么做就会大大降低效率。

(3)长数据传输时同步性差。比如要同时输出动作超过8字节的控制命令时,由于每个帧到达有先后,先到的先动作,后到的后动作,就会引起输出的不同步性。

可见CAN总线在当前的主流应用中,主要矛盾集中在其8字节短帧的长数据传输上。因此世界广大科技工作者制定出一系列的改进和改革方法来解决这些缺点。

二、可靠CAN长数据通讯:

升级为CANFD协议提高数据负载率

几年前,梅赛德斯奔驰的工程师们对CAN总线的制定单位CiA(CAN in Automatic)协会提出,奔驰已经将CAN用尽了。因为奔驰的工程师们通过不断优化通讯机制,已经将奔驰的CAN总线利用率提高到90%以上,已经无带宽可用,只能通过网关不断增加新的CAN网络来扩展数据通道。这样导致整车的总线区域越来越多。

车载以太网虽然可以解决数据量的问题,但其布线改变过大,成本上升过多,只适合于网关之间的通讯。所以CiA协议就联合各大车厂,制定出新一代的CANFD协议,以快速升级现有的CAN2.0B。其主要的内容就是将一帧的数据段由8字节提升到64字节,同时可以提升数据段的波特率,以缩短通讯时间。如图1所示。

如何实现可靠的CAN长字节通讯 

图 1 CANFD报文提升数据负载率

这样,不需要每8字节就要发一次CANID,即使不提升波特率,也提升了8倍的数据负载率。如果提升了8倍波特率,则可以达到64倍的数据负载率,相当于扩充了64倍带宽。其提升效果非常明显。

采用可靠的分帧协议

成熟的应用层协议都有可靠的分帧协议,比如CANopen,DeviceNET,J1939协议等,总的方针都是“握手”“传输”“确认”“结束”这四个过程循环。这里只介绍CANopen协议中的SDO多帧传输。

发送方(客户端)发送的报文CAN-ID为600h+Node-ID,接收方(服务器)成功接收后,回应CAN-ID为580h+Node-ID的报文。下载协议download protocol 如图2所示。

如何实现可靠的CAN长字节通讯

图2 普通SDO下载协议

上传协议upload protocol 如图3所示。

如何实现可靠的CAN长字节通讯

图 3普通SDO上传协议

采用同步传输协议

同步传输,解决的就是实现整个网络的同步传输,如图4所示,就像阅兵分列式上的方阵,所有士兵迈着整齐的步伐行进。这里以CANopen的同步报文为例讲解。

如何实现可靠的CAN长字节通讯

图4同步协议与阅兵分列式

每个节点都以同步报文作为PDO(过程数据的)触发参数,为了保证时间准确性,该同步报文的COB-ID 具有比较高的优先级以及最短的传输时间。 CANopen选用80h作为同步报文的CAN-ID,如图5所示。

如何实现可靠的CAN长字节通讯

图5 同步报文

一般同步报文由NMT(网络管理)主机发出,CAN报文的数据为0字节。但如果一个网络内有2个同步机制,就需要设置不同的同步节拍,比如某些节点按1个同步帧发送1次PDO,其他的节点收到2个同步帧才发送1此PDO。

在同步协议中,有2个约束条件:

同步窗口时间:索引1007h约束了同步帧发送后,从节点发送PDO的时效,即在这个时间内发送的PDO才有效,超过时间的PDO将被丢弃,当同步窗口结束后,开始同时执行动作。

通讯循环周期:索引1006h规定了同步帧的循环周期,就是同步包发送的周期。

CAN总线在诸多爱好者的推动下,不断改进和改革自身,让这个古老的总线焕发出勃勃生机。广州致远电子有限公司,作为CAN总线在国内的重要推广者,CANScope总线综合分析仪已免费标配CANPRO软件,可以解析主流的CANOpen,DeviceNet,J1939协议。

如何实现可靠的CAN长字节通讯

图6 协议解析

(来源:电动汽车资源网EV江湖 ZLG致远电子)

本文由电动汽车资源网【EV江湖】作者撰写,观点仅代表个人,不代表电动汽车资源网。

电动汽车资源网自媒体平台——EV江湖致力于打造新能源汽车产业生态与消费生态结合的新模式自媒体平台。我们以严谨而开放的态度,诚邀各路豪杰,探讨新能源汽车发展之路,见证产业发展一路风云(点击进入EV江湖),联系电话:0755-82433081 ,微信:314585903。

网友评论

还可以输入 500

只用于日常代步,纯电动汽车与混动版汽车怎么选?

如果选择新能源汽车作为日常代步,到底是选择纯电动还是插电混动车型,氢云链认为这一点一定要根据自身的情况来进行选择。
关键字: 新能源汽车
2019-09-29

聊聊什么是BMS

从特斯拉自燃事件,聊聊什么是BMS?
关键字: 特斯拉 BMS
2019-06-17

一文成为动力电池“达人” ——动力电池行业系列研究第一篇(基础篇)

锂离子电池是一种二次电池,它主要依靠锂离子在正极和负极之间移动来工作。在充放电过程中,Li+在两个电极之间往返嵌入和脱嵌。
2019-05-15

电池风冷、液冷到底怎么选?看完就懂了

研究表明,当电池持续工作在45摄氏度以上时,其循环寿命明显降低,这种情况在高倍率充放电时更为明显。如果电池长时间地工作在高温环境下,其寿命会明显缩短,性能下降,甚至会出现安全事故。
关键字: 动力电池 高低温
2019-05-14

电动汽车,动能回收的效率与速度有关?

说到动能回收,我们来说一下是怎么进行工作的,其实简单的来讲,动能回收就是将汽车的时候动能转化成电能回收动力电池里面,动能回收效率是否与速度有关呢?
关键字: 电动汽车 动能回收
2019-05-13
电车资源2022年活动排期
相关车型
  • 周排行
  • 月排行
关闭
东风俊风纯电动物流车秒杀