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

发布者:初入茅庐最新更新时间:2017-10-12 来源: ZLG致远电子 关键字:CAN  通讯 手机看文章 扫描二维码
随时随地手机看文章

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所示。

 

图 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所示。

 

 图2 普通SDO下载协议

 

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

 

 

图 3普通SDO上传协议

 

采用同步传输协议


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

 

 

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

 

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

 

 

图5 同步报文

 

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


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


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


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


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

 

图6 协议解析


关键字:CAN  通讯 引用地址:如何实现可靠的CAN长字节通讯

上一篇:恩智浦携手广汽集团共同开发新一代车载网关平台
下一篇:Molex 发布 USB 智能模块,提升车内连接功能

推荐阅读最新更新时间:2024-07-25 19:47

污水处理自动化监控系统通讯解决方案
概述    随着科技水平的不断发展和提高,采用计算机系统对生产的管理越来越深入到各行各业的企业之中。因此,采用计算机为核心建立一个对污水厂进行全面管理的自动化控制系统,不但切实可行,而且能够全面提高企业的管理水平和生产效率,从而增加企业的生产效益。为此深圳讯记科技推出工业以太网光纤环网交换机,来实现系统的通讯需求。    从系统功能方面看,本污水厂计算机监控系统由三层构成:管理计算机子系统、监控计算机子系统、现场控制站。管理计算机子系统、监控计算机子系统属于上级系统,通过以太网相连,监控计算机子系统、现场控制站通过工业以太网进行数据交换,而现场控制站属于下级系统。    此污水处理厂工程的监控系统由PLC、计算机控制管理系统组成的
[嵌入式]
基于DSPIC30F4011单片机的CAN总线通信设计
     0 引言   CAN (CONtroller Area Network) 即控制器局域网络, 属于工业现场总线的范畴。与一般的通信总线相比, CAN总线的数据通信具有突出的可靠性、实时性和灵活性。事实上, 由于其良好的性能及独特的设计, CAN总线越来越受到人们的重视。同时, 由于CAN总线本身的特点, 其应用范围目前已不再局限于汽车行业, 而且向着自动控制、航空航天、航海、过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械及传感器等领域发展。为此, 本文给出了利用两片DSPIC30F4011, 并用双绞线将两单片机的CAN模块连接起来组成一个CAN总线, 而两单片机相当于CAN总线上的两个结点, 再
[嵌入式]
基于82527的CAN总线智能传感器节点设计
引言     CAN(Controller Area Network,控制局域网)属于工业现场总线,是德国Bosch公司20世纪80年代初作为解决现代汽车中众多的控制与测试仪器间的数据交换而开发的一种通信协议。1993年11月,ISO正式颁布了高速通信控制局域网(CAN)的国际标准(ISO11898)。CAN总线系统中现场数据的采集由传感器完成,目前,带有CAN总线接口的传感器种类还不多,价格也较贵。本文给出一种由8051单片机和82527独立CAN总线控制器为核心构成的智能节点电路,在普通传感器基础上形成可接收8路模拟量输入和智能传感器节点。 1 独立CAN总线控制器82527介绍     82527是Int
[工业控制]
基于CAN总线的并联液压混合动力车控制系统
目前,我国城市公共交通主要依赖公交车,站间距离一般在500~1000米。公交车在每站间有数次刹车和启动,在交通流量的高峰期,刹车和启动更加频繁,带来能源浪费、尾气污染加剧、部件寿命缩短等一系列问题。 本课题研究的控制系统,可使并联液压混合动力车充分利用制动能量,在频繁刹车和启动的路况,可以明显提高车辆启动、加速和减速特性,改善车辆排放,降低油耗,延长发动机及刹车装置的寿命。而且与混合动力电动车相比,该系统在成本,技术成熟度,可靠性,维护性等方面均占有相当的优势。 并联式液压混合动力车的动力传动系中有两种或两种以上的动力源可同时或单独提供动力,有两个或两个以上相应的执行元件可同时驱动负载,该动力传动系主要由发动机、变速箱、主减速
[电源管理]
基于<font color='red'>CAN</font>总线的并联液压混合动力车控制系统
模糊控制在基于CAN总线的数据采集与控制系统中的应用
L.A.扎德教授于1965年创立的模糊集合理论(Fuzzy Sets)及模糊数学(Fuzzy Mathematics)为模糊逻辑控制的形成提供了理论基础。近年来,随着各企业生产规模的不断扩大,生产过程控制系统也变得越来越复杂。由于整个系统的非线性增强、时滞增大,而且不是系统中的每个环节都需要建立精确的数学模型,使得模糊逻辑控制在生产过程中的应用成为可能。随着模糊控制的迅速发展,不需要对控制对象建立精确数学模型的模糊控制方法已进入实用化的阶段,它主要是把对被控系统的熟练的操作经验转换成模糊规则。现场总线的出现,为复杂现场采用模糊控制技术进行直接控制提供了很好的途径,也使模糊控制算法可以利用现场总线的强大网络功能实现集中化管理,而对各个
[工业控制]
RS485通讯在配网智能优化节电系统中的应用
1.引言   随着工业自动化水平不断提升的需求,工业现场通讯技术不断发展,其中RS485通讯凭着其接口简单、成本低、传输距离长、可实现大规模组网等优点得到了广泛的应用。   从工业信息化的发展历程来看,最早的数据通讯是采用模拟信号进行传输的,只能进行简单的数据传输。后来发展为RS232的通讯方式,可实现大量、复杂数据的传输,但由于是点对点的传输方式、且传输距离短,不适用于通讯组网。RS485通讯解决了这些问题,RS485通讯有二线制和四线制两种,四线制属于全双工的通讯方式,但是也只能进行点对点的传输,所以其使用也逐渐减少,如今工业组网使用最普遍的即为二线制半双工RS485通讯,本文中的RS485通讯即两线制RS485通讯。 2.
[嵌入式]
新唐科技新一代MCU内建两组CAN总线
新唐科技承袭NuMicro™ NUC130/140 CAN总线系列产品成功经验,于2014年再度推出新一代NuMicro™ NUC230/240 带两组CAN总线系列。产品亮点包含:系统频率高达72 MHz、具2组CAN总线、一组USB 2.0 Full Speed界面、多达6组高速UART串口、800 kSPS高转换速度12位A/D并搭配内嵌高精度振荡器,全温全压误差±3%高精度22.1184MHz,工作温度高达105℃。 NUC230/240系列内建2组CAN总线、高达800 kSPS转换速度之12位ADC且工作温度为-40℃ ~ 105℃,集成众多种类的通讯接口,如6组高速UART、4组SPI界面、2组I²C与USB、L
[单片机]
CAN总线系统为什么在汽车中广泛使用?
摘要:CAN总线系统应用于工业自动化、楼宇安防、消防监控等领域,其中使用最为广泛的莫过于汽车了。那么今天就来说说CAN总线系统为什么在汽车中广泛使用? CAN总线是近段时间最为流行的总线,最早被应用在飞机、坦克等系统通讯上,由于它的优越的性能,被更多的人所信任,后来慢慢的被转移到应用在汽车领域,用于汽车之间的ECU和传感器数据传输,从而实现汽车内部的特定动作的完成。 CAN总线系统相比于其它网络类型来说,更适合应用于现场控制领域。它是一种多主控的总线系统,不同于USB或以太网等传统总线系统,是在总线控制器的协调下,实现两个节点之间大量数据的传输。CAN网络的消息是广播式的,即在同一时刻网络上所有节点侦测的数据是一致的,因此比
[嵌入式]
<font color='red'>CAN</font>总线系统为什么在汽车中广泛使用?
小广播
最新汽车电子文章
换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved