微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > CAN物理层调试基础知识及举例

CAN物理层调试基础知识及举例

时间:02-07 来源:德州仪器 (TI) 点击:

检查,就可以检查CAN物理层的核心CAN总线了。收发器的两个关键组件便是接收器和发射器。发射器被称作CAN的驱动器。通过VCC/2共模点(约2.5V)对CAN物理层偏置,见图4。

  

  图4:简易CAN总线收发器

  发收器将单端数字逻辑信号、TXD(或者D)和RXD(或者R)转换为差分CAN总线所要求的电平。当总线为显性时,在接收节点,其CAN标准定义的差分电压(Vdiff(D))大于1.2V,并且处于逻辑低状态。当总线为隐性时,在接收节点,其CAN标准定义的差分电压(Vdiff(R))为 -120mV≤(Vdiff(R))≤ 12 mV,并且处于逻辑高状态。两种总线状态均通过收发器内共模网络偏置。图5显示了典型的总线层级。

  

  图5:CAN总线状态

  对总线进行调试时,最为有用的工具之一便是示波器。尽管单通道示波器便可看到信号,但最好还是用双或者四通道。理想情况下,可同时看到TXD、RXD、 CANH和CANL,以确保收发器和总线性能如预期。进行初次调试时,只需一个低带宽示波器,因为标准CAN被限定在1Mbps。(在不远的将来,在引入拥有灵活数据速率的CAN以后,这种情况将有所改变。)如果该节点正发送数据比特流,则可在TXD输入端看到输入数据。差分CAN总线引脚(CANH/CANL)存在传输延迟,同时还存在RXD输出传输延迟。在CAN中,这些延迟均为循环时间,或者说循环延迟。如果该节点正在接收,则TXD 闲置;但是总线和RXD输出会显示CAN帧。

  为了演示基础CAN总线工作情况,图6显示了一个示波器,它拥有两个模拟通道和两个数字通道,以及一个函数生成器。CAN总线由两个 SN65HVD255D EVM组成,每个在总线上的端接电阻均为120Ω。示波器函数生成器连接至顶部EVM的TXD输入引脚。图7中,数字通道1显示了CANH信号(蓝色);模拟通道2显示了CANL信号(黄色);数字通道2显示了RXD信号(绿色)。尽管该示波器的精确度很低,但这个简单的测试表明,该CAN物理层的表现在总体上符合我们的预期。

  

  图6:两个EVM的CAN总线调试

 

  图7:TI CAN EVM信号

  图 8显示了该示波器和用于调试TI CAN演示系统的探针装置。该节点使用菊形链,并使用CANopen D-SUB 9针连接器。一个总线外接头连接器位于图8左上方。利用它,我们可以轻松地连接模拟示波器探针至CAN总线的CANH和CANL引脚以及GND。由于探针过大,无法抓住中间CAN节点的TXD和RXD IC引脚,因此可通过连接至探针的芯片钩和一小段电缆,将这些引脚连接至示波器的数字通道。另一种方法是,给每个收发器焊接一小段线,这样示波器探针便可更容易地连接。

  

  图8:TI CAN演示系统调试

  图 9显示了示波器获得的CAN信号详细情况。尽管这些信号的分辨率和精度均不高,但它们可以帮助确定需要了解CAN节点工作的那些信息。中间节点的TXD触发了示波器;CANH和CANL信号差异符合预期;在CAN构架端可清楚地看到高差分电压的收到确认(ACK)位。该高压为同时并行产生ACK位的多个 CAN节点的结果。轻松找出ACK位的另一个方法是其存在于RXD信号中而非TXD信号中,这意味着它由另一些节点产生。

 

  图9:TI CAN演示系统的信号

  CAN调试例子

  图10显示了一个CAN演示系统,在PCB右边,连接至菊形链输出的CANH线路被损坏。出现这种情况的原因是,系统后面的一个固定螺栓摩擦PCB,而在几年的时间里该系统被运输至世界各地。当系统通过菊形链总线接口连接至其他CAN节点时,便故障无法工作。

  

  图10:带有损坏CANH线路的CAN演示系统

  图11所示CANH信号表明了该损坏PCB线路的效果。另外,DMM连续性检查也可证实该开路。

 

  图11:PCB上CANH线路遭损坏的TI CAN信号

  图 11还突出详细显示了CAN帧的另一个重要部分,即ACK位。示波器使用单一模式,在某个单比特发现触发器时,其在右手节点的TXD引脚上被触发。该单比特为这一节点产生的ACK位,目的是确认接收到一个有效的CAN帧。所有接收节点确认收到发送节点的CAN帧。相比在TXD上看到的发送ACK位,总线上所看到的ACK位的位时间稍长。这是同时发送ACK位的多个节点的假象。影响这种长位时间的一些因素包括:通过线缆的5ns/m延迟、三个CAN节点之间的时钟计时漂移以及同时发送一个ACK位的两个节点所产生的高差分电压。如果这些因素使ACK位(空档)变得更长,并在ACK分隔符内保持显性,则其可能引起CAN误差帧。

CAN总线调试的另一个例子是,在某个系统中,只有非常慢的CAN数据速率(比特计时)才会起作用。把一个示波器连接至TXD引脚,在TXD输入端显示出非常慢的上升时间,如图12所示。1Mbps的CAN数据速率下

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top