运用CANScope丈量CAN总线信号,在搅扰很严峻的状况下会呈现CAN总线波形解码与CAN报文解码不共同的状况,具体表现为某些正确报文对应的波形解码却是过错的,或许收到的过错报文对应的波形解码却是正确的,如图1中,帧ID为0x721的正确报文对应的波形解码却为CRC过错。本文将对这种现象发生的原因及其存在的含义进行具体的阐明。
图1 报文解码与波形解码不共同
一、解码差异过错的首要原因
CANScope对CAN信号的处理包含2部分:报文处理部分和波形处理部分。报文处理部分经过CAN收发器将总线上的CANH和CANL差分信号转成单端的数字信号RXD,再运用专用的CAN操控器接纳RXD信号并进行CAN协议解码,最终将解码后的报文进行接纳存储;波形处理部分经过信号调度电路将CAN总线信号进行阻隔等必要的处理后经过ADC电路将模仿信号数字化后次序保存,完结对波形信号的收集。
图2 CAN总线信号处理
如图2所示,报文处理和波形处理两部分的电路和操控是彻底独立的,CAN信号经过这两部分电路之后会有所差异,首要的不同在于:1、经过收发器之后的信号延时和经过信号调度电路的延时不同,但这个不同对解码的影响比较小,本文不做评论;2、CAN收发器内部有迟滞比较器,具有相当于低通滤波器的功用,能经过的信号带宽不高,而波形收集因为需求观测高频搅扰等信号,要求信号调度电路的带宽比较高,所以带宽的差异对后续解码的差异影响比较大。
如图3所示,带有高频尖脉冲搅扰信号的总线信号CANH和CANL,在经过低带宽的收发器后,其带着的搅扰信号被滤除(输出的RXD信号是无搅扰的数字信号);而相同的CANH和CANL信号,在经过高带宽的信号调度电路后,其带着的搅扰信号依然保存(波形收集模块收集到有搅扰的CANH和CANL信号后,经过软件差分后,得到的差分信号依然存在搅扰,所以软件转化后的逻辑信号依然存在搅扰)。
图3 波形差异
依据以上剖析,搅扰信号的存在使得后续的CAN波形解码会呈现与报文解码不同的状况。咱们持续往下深究:是否有搅扰信号就一定会导致波形解码与报文解码不同呢?其实也否则,这还得从CAN总线的采样规矩说起。
二、CAN总线采样规矩
CAN操控器先将高频时钟进行预分频,生成较低频率的时钟信号,这个时钟信号的周期界说为1个时刻比例,1位CAN信号的码元宽度包含有数倍的时刻比例,如操控器时钟频率为16MHz,预分频为8MHz的时钟,则1个时刻比例为125ns,关于1M波特率的CAN信号,1位CAN信号的码元宽度即为8个时刻比例。
以1个时刻比例为最小单位,将1位CAN信号码元分为3段:同步段、相位段1、相位段2。同步段固定为1个时刻比例,相位段1和相位段2可设置成不同参数,操控器在相位段1和相位段2之间对CAN总线进行采样。
图4 采样点方位
当搅扰信号呈现的方位不在采样点方位时,解码是不会因为被搅扰而呈现过错的,只有当搅扰信号刚好坐落采样方位时,解码才会因为搅扰而呈现过错。
图5 搅扰方位
CAN总线一般作业在比较恶劣的环境中,常常有搅扰信号的存在,CAN总线组网时为了确保解码的共同性,要求一切节点的采样点方位设置应该共同。CANScope中的报文处理和波形处理两部分电路可当作2个CAN节点,CANScope的波形解码的采样点方位设置是跟报文解码的采样点方位保持共同的,但是,当高频搅扰信号呈现在采样点方位时,即使是在相同采样点方位进行采样,因为波形处理和报文处理电路的带宽差异,仍是有较大概率呈现波形解码和报文解码不共同的现象。
三、软件逻辑滤波
CANScope选用软件滤波的方法,即对收集到的CAN总线模仿波形信号经过软件差分和逻辑化后的数字信号进行软件滤波,滤波后答应经过的信号带宽跟着波特率的不同而不同,波特率越小,滤波后答应的信号带宽越小;经过这样的滤波处理,最大程度提高了对搅扰信号的容忍度,甚至在报文解码呈现过错的状况下依然能对波形做出正确的解码。这样,在搅扰很严峻的状况下就或许会呈现文章最初所说的报文解码正确而波形解码过错或许报文解码过错而波形解码正确的现象。
四、解码差异存在的含义
运用过CAN卡的人或许会有这样一个形象:在运用CAN卡的过程中,简直遇不到有些节点收到正确报文而有些节点收到过错报文的现象,因为只需一个节点(处于过错自动状况的节点)收到过错报文,其它一切节点都会收到过错报文,最多便是过错的类型不同罢了。这一点跟CANScope的报文解码和波形解码的差异现象是不同的,那这又是何原因呢?这是因为正常的CAN网络中,当某个节点解码到有过错时,会向总线宣布过错帧损坏当时报文,然后导致一切节点都接纳到过错报文。与之不同的是,CANScope作为丈量设备,只对CAN总线进行监听和收集,不影响CAN总线,将总线上的波形细节(包含波形细节导致的解码差异)尽或许地展现出来,这正是解码差异存在的含义。
图6 解码过错不影响总线
如图6所示,CAN总线被严峻搅扰,CANScope的报文解码犯错,但这时CANScope并不会向总线宣布过错帧,而其它节点没有解码犯错,当时帧被正常应对并正常完结传输,这些状况可经过波形及波形解码悉数展现出来且不影响CAN总线网络。
总结:
运用CANScope丈量CAN总线信号,在总线信号搅扰很严峻的状况下会呈现CAN波形解码与CAN报文解码不共同的状况,这是因为CANScope独立两路的报文处理和波形处理所导致,而CANScope作为丈量设备,只对CAN总线进行静默监听,不影响CAN总线,并将总线上的波形细节(包含波形细节导致的解码差异)尽或许地展现出来,这正是CANScope的价值地点。