局域网远程控制 控制器局域网( 三 )


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


以上就是本文介绍的用实际例子分析CAN物理层基础和调试的全过程,有图文解说应该很容易理解了哦,设计人员应该可以马上让其CAN系统正常运行了 。谢谢阅读 。希望能帮到大家 。

推荐阅读