摘要:使用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 采样点位置
当干扰信号出现的位置不在采样点位置时,解码是不会因为被干扰而出现错误的,只有当干扰信号刚好位于采样位置时,解码才会因为干扰而出现错误。
声明:本内容为作者独立观点,不代表电源网。本网站原创内容,如需转载,请注明出处;本网站转载的内容(文章、图片、视频)等资料版权归原作者所有。如我们采用了您不宜公开的文章或图片,未能及时和您确认,避免给双方造成不必要的经济损失,请电邮联系我们,以便迅速采取适当处理措施;欢迎投稿,邮箱∶editor@netbroad.com。
电机制氧-剖析便携制氧机的工作原理 | 22-11-15 14:53 |
---|---|
嵌入式软件中的“乐高”— | 22-11-15 14:47 |
亥姆霍兹线圈新一代供电电源解决方案 | 21-01-21 16:00 |
信号和电源隔离RS-485现场总线的高速或低功耗解决方案 | 21-01-13 18:15 |
基于S32K的EDR解决方案 | 20-12-07 10:48 |
微信关注 | ||
技术专题 | 更多>> | |
2024慕尼黑上海电子展精彩回顾 |
2024.06技术专题 |