CAN BUS汽车总线测试应用方案简介
传送数据的标准数据格式(Basic Data Frame)
CAN BUS列表协定分析格式
图一CAN BUS传送格式
Start of frame:任何格式起始位一定为0,表示要求远方传数据回来。
Arbitration Field:Identifier为11bits主要功能是信号发送时的顺序排列,数值越小优先权越高,而排列由ID-10至ID-0,而ID-10至ID-4不可皆为1。后RTR(RemoteTransmit Request)为传送或远程要求的判断位,当RTR=0表示传Data出去,RTR=1表示要求远方传数据回来。
Control Field:控制段由6个位组成,包括数据长度代码和两个将来作为扩展格式用的保留位。所发送的保留位必需为0。接收器接收所有由0和1组合在一起的位元。如图二及图三控制段的IDE和RB0是保留位一定是0,后面的4bit只能是0-8,表示后续data段将传几个bytes的数据。
数据格式可分为标准格式(Basic CAN)与扩展格式(Peli CAN),标准格式传送数据的格式(Data Frame)如图一CAN BUS传送格式,报文的格式分成Start of bit(SOB)、Arbitra-
tion Field、Control Field、Data Filed、CRC Filed、ACK Filed、END of Frame。
High Quality Pr ofessional Instruments
图二Control Field -1
图三Control Field -2
Data Field:所需要传的数据,先传MSB,只能传0-8bytes的Data。
CRC Field:16bit CRC验证码,后一个Del为界定符,固定为1。
Ack Field:此为接收端的回传信息,有两个位,后一个Del为界定符,固定为1。若接收成功Ack就回传0,则传送端就知道接收端已接收到数据。
END of Frame :1111111(2)表结束。
传送数据的扩展数据格式(Peli Data Frame)
图四扩展格式(Peli CAN)
扩展格式(Peli CAN)中,传送数据的数据格式(Data Frame)如图四,报文的格式也分成Start of bit(SOB)、Arbitration Field、Control Field、Data Filed、CRCFiled、ACK Filed、END of Frame等七小节。不过Arbitration Field的部分多了18bit,而SRR与IDE皆为1。
图五Remote Transmit Request Frame
向远端要求数据的远程格式(Remote Transmit Request Frame)
当RTR=1,表示向远端要求数据的远程格式Remote Transmit Request Frame,此时的DLC3..DLC0为所需回传数据的Data bytes。且此格式无Data Filed,如图五。
图六Error Frame
向节点报告出错的出错格式(Error Frame)
主动错误标志由6个连续的显性位构成。这种位顺序主动打破了位填充规则。所有其他站在识别到产生的位填充错误后,会自行产生错误帧,称为错误响应标志。
错误标志字段因此包含6到12个连续显性位(由1个或多个节点产生)。错误帧以错误定界符字段为结束。在错误帧发送完毕后,列表协定分析活动恢复正常状态,被中断的节点会尝试重新发送被中止的报文。错误界定符:错误定界符由8个隐性字节成,允许列表协定分析节点在错误发生后重新启动列表协定分析通信,如图六。
节点电路尚未准备好会要求延迟传送的过载格式(Overload Frame)
节点的内部条件(节点处理数据中,对于下一笔数据需要延迟),起始于个间歇期间位。
间歇期间检测到”0”,起始于检测到间歇期间为”0”的下一个位。
过载标志会发出六个”0”,此六个”0”会破坏间歇的格式,使其他节点知道此时有节点发出过载标志。当发送完过载标志,节点会发出8个”1”,其他节点也会在完成后发出7个”1”。
图七Overload Frame
报文间的空隙(Interframe Space)
报文间的空隙分为间歇与bus空闲两种。间歇为3个”1”,此期间不可传送任何信息,除了过载格式例外。bus空闲为各节点都未发送数据,所以此长度示任意的,任何节点都可在此时发送自己的数据。当有节点处于错误被动,会在间歇后发出8个”1”,让其他的节点有机会重发自己的信息。
如图七所示,有两个方式会产生过载格式:
CAN BUS汽车总线测试应用方案
车用电子列表协定有很多种,应用较多的有LIN,CAN、FlexRay、TIP/C、SAEJ1850、TFCAN、ASRB、MOST等。美国汽车工程师协会(SAE)根据速率将车用电子信号划分为A、B、C三类。
A类:
列表协定标准包括TTP/A(Time Triggered Protocol/A)和LIN(Local Interconnect Net-work),其传输速率较低。
B类:
列表协定标准主要包括J1850、VAN,低速CAN。
C类:
列表协定标准主要包括TTP/C、FlexRay和高速CAN(ISO11898-2)都用于与汽车安全相关以及即时性要求比较高的地方。如动力系统,其传输速率比较高,通常在125kb/s到10Mb/s之间,必须支持即时的周期性的参数传输。
以目前中国台湾车用电子产业而言,常见的是CAN BUS,接下来我们以CAN BUS进行解说。
CAN-BUS(Controller Area Network -控制器区域网路)在1993年制定为标准化ISO 11898-1,广泛的应用在车用电子系统上。
CAN是一种差动列表协定,可提供高安全等级及有效率的即时控制。更具备了强大的调试和优先权判机制,在这样的机制下,网络信息的传输变的更为可靠而有效率。
同时拥有低成本的特性,再加上CAN提供多主控端的构架,这种特色,特别适合使用在主系统或子系统下提供更完整智慧型网络设备。
CAN是建立在基于信息导向传输协定的广播传输机制(broadcast communication mechanism)上。CAN定义信息的内容,利用信息识别(message identifier)来定义内容和信息的优先顺位,以进行信息的传递,CAN拥有了高度的弹性调整能力,可以在既有的网络中增加节点而不用在软硬体上作修正与调整的作业,很远的数据传输距离(10KM)、很高的数据传输率(1M bit/s)、可根据报文格式发送信息不需装置、可靠的错误处理与调试机制、信息遭到破坏后可自动重发、节点在错误严重的情况下具有自动退出列表协定分析的功能。
CAN BUS汽车总线测试应用方案信号实际测量
经过前面对于CAN BUS的介绍,相信对于这一种在车用电子领域中的列表协定有了初步的认知,接下来让我们看看CAN BUS在汽车上的实际信号表现。
孕龙逻辑分析仪的携带方便,可帮助工程师面对各种测量环境都能得心应手,如图八所示,使用孕龙逻辑分析仪搭配笔记型电脑,很轻易的就可以直接在汽车上进行CAN BUS信号的测量。
将孕龙逻辑分析仪的A0接上CAN H信号、B0接上CAN L信号,因CAN BUS为差动信号且CANH与CAN L的信号电压并不一样,故需将两条信号线分别接至不同的Port上,并将A Port与B Port的触发准位分别设定,接地线直接接至汽车门边扣环上即可。实际的信号撷取状况如图九所示。以图中封包1而言,透过孕龙逻辑分析仪CAN列表协定分析模块,可快速的进行CAN BUS信号译码,搭配上封包列表显示,可清楚的看出每一笔CAN BUS的起始时间及封包内容、数据数值、CRC(注1)等,如DIC = 0X8代表该封包内夹带8笔数据,透过封包列表显示可清楚看见8笔数据中的数值。
图八在汽车上实际测量CAN BUS信号
图九使用孕龙逻辑分析仪测量CAN BUS实际画面
注1:
CRC检查是针对突发性、单一位或奇数个位元错误进行检查的动作,已表示数据传输的过程中是否错误。主要的运作方式是将数据位D(X)除以多项式G(X)进行运算,不同的CRC检查则有不
同的多项式G(X)产生,经过除法运算后可得知余数R(X)来进行判断。
图十CAN BUS列表分析模块设定画面
CAN BUS信号使用Baud Rate做为信号传送的速度依据,孕龙科技逻辑分析仪CAN BUS列表分析模块拥有自动Baud Rate侦测功能(注2),工程师在面对未知的CAN BUS时更能轻松分析(如
图十)。
CAN BUS列表分析模块设定
注2:
孕龙科技CAN BUS列表分析模块可自行判断波形中小的脉冲宽度进行Baud Rate转换,当工程师面对未知的信号时,便无须手动计算以加速项目进行。
CAN BUS系统架构上拥有许多的节点,每一个节点都有相对应的BASIC ID,孕龙科技逻辑分析仪在LAP-322000U-A支持了列表协定封包触发,让工程师可特定的CAN BUS信号状态作为触发条件。(图十一为设定BASIC ID 0X2A9,图十二为触发完成)
列表协定封包触发
图十一列表协定封包触发设定画面
设定作为触发条件的封包状态及数值
图十二列表协定封包触发完成
总结
车用电子技术发展日新月异,不但提升了汽车性能,也更加保障了行车安全。然而,跟上这股进化的潮流也需要有相对应的工具,孕龙逻辑分析仪列表协定分析模块目前支持大约四十种串列协定信号,从车用电子到IC界面、从PC系统到多媒体传输,都有相对应的译码模块,相信工程师拥有这些译码功能必定可增加工作效率。