《CAN和CANFD通信协议区别.docx》由会员分享,可在线阅读,更多相关《CAN和CANFD通信协议区别.docx(21页珍藏版)》请在第壹文秘上搜索。
1、因为CN总线速度的优势,再加上CAN的应用非常广泛,所以,做嵌入式开发一定要了解或掌握CAN的一些基咄知识。1 .柢述CAN(Contro1.1.erAreaNetWork)和CANFD(Contro1.1.erAreaNetworkF1.exib1.eData-rate是一种常用于汽车和工业领域的通信协议.CAN协议最初是由德国的博世公司(Bosch)在20世纪80年代开发的,旨在解决汽车电子设备之间的通信需求.它是一种高效可靠的串行通信协议,可支持在短距离上的高速数据传输.CAN协议以事件触发的方式进行通信,允许多个设需同时参与通信,并通过优先级机制确保数据传输的实时性和可媒性.C1.as
2、sicCAN,传统CAN,有时也称为经典CAN或普通CAN.CAN怖议的特点包括双线制1CAN总线由CAN小和CAN_1.两根传输线组成,用差分信号传输数据,以提高抗干扰性能。冲突检窝与冲臾解决:多个设备同时发送数时,CAN协议能够检测到冲突并通过优先级机制解决。帧格式倚单:CAN消息由ID、数据、控制位和CRC校验组成,具有较小的开销和,攵高的数据传输效率。容错能力强,CAN协议使用位级错误检测和错误恢亚机制,储物实现高可靠性的数据佞输。随着汽车电子系统的发展和数据通信需求的增加,CANFD协议应运而生.CANFD在保持CAN协议基本特性的同时,增加了一些新的特性,主要是在数据传输速率和数据
3、长度上的增强.相对于传统的CAN协议,CANFD支持更高的数据传谕速率(最高可达到8Mbps)和更大的数据长度(最多可使输64字节的数据)。这使得CANFD能够满足对数据带宽要求更高的应用场景,如高级驾驶辅助系统(ADAS)和自动驾驶领域。CANFD协议是由Bosch以及行业专家预研开发的,并于2012年发布.通过标准化对其进行了改进,现已纳入ISO1.I898-1:2015.原始的BOSchCANFD版本(非ISOCANFD)与ISOCANFD是不兼容。CANFD具有四个主要优点:增加了数据的长度,CANFD每个数据帕G多支持64个数据字节,而传统CAN最多支持8个数据字节.这战少了协议开伯
4、,并提高了办议效率。增加传的速度,CANFD支持双比特率:与传统CAN一样,标称伸裁比特率限制为1Mbit/s,而数据比特率则取决于网络拓扑/收发滞.实际上,可以实现高达5Mbit/s的数据比特率(实际应用中可以达到8Mbit/s,但没有标准)。更好的可靠性:CANFD使用改进的循环冗余校验(CRC)和受保护的埴充位计数器“,从而降低了未被检测到的错误的风险,这在汽车和工业自动化等安全攸关的应用中至关重要.平滑过渡,在一些特定的情况下CANFD能用在仅使用假统CAN的EeU上,这样就可以逐步引入CANFD啰点,从而为OEM简化程序和降低成本。与传统CAN相比,CANFD可以将网络带宽提高3到8
5、倍,效率可从50%提升到90%,从而为数据的增长提供了一种的单的解决方案。2 .CAN协议2.1 物理层与I2C、SP1.等具有时钟信号的同步通讯方式不同,CAN通讯并不是以时钟信号来进行同步的,它是一种异步通讯,只具有CAN_High和CAN.1.ow两条信号践,共同构成一组差分信号线,以差分信号的CAN物理层的形式主要有两种:闭环卷线网络和开环总线网络.2.1.1 用环总线网络如下所示的图中的CAN通讯网络是一种遵循ISoII898标准的高速、短距离“闭环网络”,它的总线坡大长度为40m,通信速度批商为IMbPS,总线的两端各要求有一个120欧的电阻.2.1.2 开环总战网络如下所示的图中
6、的是遵循ISO115192标准的低速、远距离“开环网络*它的最大传输距寓为Ikm,最高通讯速率为125kbps,两根总线是独立的、不形成闭环,要求傩根苒线上各申联有一个“2.2欧”kNCAN-HghCAN-1.owCAN控MaE1.CANft!3NCANRxCANTxCANRxCANTx2.2千欧2.2千欧CAN*t1.CANCAN.HighCAN1.owCANHighCAN1.OW2.1.3 ISO11898(闭环总线网络)和115192开环总线网络)擀议的不同点ISO11898和ISOU519-2标准对于数据链路层的定义相同,但物理层不同。ISO11898是通信速度为IZSkbps-IMb
7、ps的CAN高速通信标准.ISO11519是通信速度为125kbps以下的CAN低速通信标准。下图描述了ISOI1.898和115192物理层的主要不同点.稗3展ISO11898(HightpMiISO1151-2(S*SMd,ff1.a4Up125KbPtS5tt三X*1.40m1.IMtptIkmgU30X20住BQWtt三n熄M)IAnNxn.MNomMax%McuCANf砂1出一2002503CC27S3”4W1.S175190385400SCCCAN.3“M2.00IW38OWIW2.253.103253.400001.00115电位*M1.Q)-05O00$1520io03-1.6
8、03300-M1ZI1却。&。MMtMSMMR9111.EOf1.RBaMiS.5*,120。伙5恪UMm30OH1.71#。MMUM1.X)(MCtt*n*rAioeenMf1.naNSBC,1.*e用户需根据系统需要设定通信速改及总线长度.2.1.4 CAN协议中的差分信号装分信号乂称差模信号,与传统使用单根信号线电压表示逻辑的方式有区别,使用差分信号传输时,需要两根信号线,这两个信号线的振幅相等,相位相反,通过两根信号线的电压差值来表示逻辑O和逻辑1.CAN协议中对它使用的CAN,H1.gh及CAN.1.OW表示的差分信号做了规定,CAN协议标准表示的信号逻辑参见下表.ISo1.I89-
9、速)IISO1.1.5192(低速)隐位逻辑IE!stisa11除留逻辑Io显隹逻信号最曲最最典最最典最最典最小大小型大小型大小型大值值值值(8值值值但值值CANHigh2.02.53.02.753.54.51.61.751.93.854.05.0(V)CAN1.ow2.02.53.00.51.52.253.103.253.4O1.O1.15(V)High1.OW电付券(V)0.5O0.052.03.0-0.31.50.33.0以高速CAN协议为例,当表示逻班1时(磔性电平),CANjigh和CAN_1.ow线卜的电压均为2.5v,即它们的电压差VH-V1.=OV:而表示逻辑O时(显性电T:)
10、,CAN.High的电平为3.5V,CAN-1.ow线的电平为1.5V,即它们的电压差为VHV1.=2V,例如,当CAN收发器从CAN_Tx线接收到来自CAN控制SS的低电平信号时(逻辑0),它会使CANJigh输出3.5V,同时CAN_1.ow输出1.5V.从而输出显性电平表示逻辑0,1.H*T.1fH*f.Wao在CAN总线中,必须使它处于隐性电平(逻辑1)或整性电平(逻辑0中的其中一个状态。假如有两个CAN通讯节点,在H-时间,一个输出除性电平,另一个输出显性电平,类似I2C总线的“我与特性将使它处于显性电平状态,显性电平的名字就是这样来的,即可以认为显性具有优先的意味。由于CAN总线协
11、议的物理层只有1对差分线,在一个时刻只能表示一个信号,所以对通讯节点来说,CAN通讯是半双工的,收发数据需要分时进行。ttCAN的通讯网络中,因为共用总线,在整个网2.2.2数据慎数据帧把消息从发送取元传到接收单元,是用户使用的最暴本的帧,数据帧由7个段构成。(1)帧起始:表示数据帧开始.(2)仲裁段:表示该帧优先级的段。(3)控制段:表示数据的字节数及保留位。(4)数据段:数据本身,可传送08个字节。CRC段:检杳帕的传送错误的段.ACK段:正常接收确认段。(7)帧结束:表示数据帧结束。2.2.3拄*接收单元向发送单元请求消息所用的帧“遥控帧I1.1.6个段组成.也可以说是没有数据段的数据帧
12、,(1)帧起始(SOF):表示帧的开始.(2)仲裁段:表示该帧优先级的段。请求具有同样ID的数据帧。(3)控制段:表示所请求数据的字节数及保留位.(4) CRC段:检查帧的传送错误的段.(5) ACK段:正常接收确认段.(6)帧结束:表示遥控林结束。关于遥控赖和数据帧: 数据帧和遥控帧有何不同遥控帧没有数据段,仲裁段的RTR位为Kg性电平。没有数据段的数据帧和遥控帧可通过RTR位区别开来. 遥控帖没有数据段,数据长度码该如何表示?遥控帧的数据长度码以所请求数据帧的数据长度码表示. 没有数据段的数据帧有何用途?可用于各单元的定期连接确认/应答或仲旋段本身带有实质性信息的情况下。2.2.4错误慎在
13、收发信中发现错误时用于通知错误的帧.错误帧由谱误标志和错误间隔符构成,错误帧的发送是由CAN的硬件部分来完成的.(1)辩误标志:错误标志包括有效错误标志和无效错误标志两种.有效错误标志:6位显性电平。无效辩误标志:6位阳性电平.(2)错误间隔符:错误间隔符由8位隐性电平构成.错集标吉As谈间860_6镭谈标志重A部(注3)H肥无效Ii误标志OID:隐性电平n科效错谡标考(MI注1 .有效错误标志:处于错误有效态的单元检出错误时传送的错误标志。2 .无效错误标志:处于错误无效态的胞元检出错误时传送的错误标志。3 .错误标志的莫合:由连接到总线上的各单元的Ift误检出时间不同,错误标志会发生重合,奴长可延续到12位.e4 .2.5过就慎过载帧是用于接收单元通知其尚未完成准备所用的帧.过载帧由过我标志和过我间隔符构成。(1)过载标志:6位显性电平.过我标志的构成与有效错误标志(2)过我间隔符:8个险性位.过我间隔符的构成与错误间隔符过装标志过戴帙弓Ji符J线每电分(注D:显性电平:隐性电平1 .过教帧的也合:与错误标志一样依据发生时序不同过我标志也会发生重合,最长可延迟到12位。226帧间Ri帧间隔用于分隔数据帧或遥控帧,数据帧或遥控帧前插入帧间隔可将本帕与前面发送的任何帧(数据恢、