CAN 控制器局域网物理层调试的基础知识和实例分析( 三 )


图6 两个EVM的CAN总线调试

CAN 控制器局域网物理层调试的基础知识和实例分析

文章插图

图7 TI CAN EVM信号

CAN 控制器局域网物理层调试的基础知识和实例分析

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

CAN 控制器局域网物理层调试的基础知识和实例分析

文章插图

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

CAN 控制器局域网物理层调试的基础知识和实例分析

文章插图

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

CAN 控制器局域网物理层调试的基础知识和实例分析

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

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数据速率下, 9.6μs计时延迟相当于10比特 。 它的根本原因是:我们正使用一个具有开路漏极的微处理器来驱动收发器的TXD引脚 。 在这种情况下, 没有真正的逻辑高电平驱动 。 仅有CAN收发器的弱内部上拉正驱动TXD引脚高, 因此它的RC时间常量非常长 。 通过在TXD引脚上添加一个上拉电阻器, 便可轻松解决这个问题 。
图12 TXD引脚上慢上升时间例子

特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。