关于can通讯异常,不懂的不要接我写了两个can通讯的程序,一个无法接收到信号,另一个运行起来会导致总线上所有仪表异常,可能会是哪些原因导致的?详细一点

默认分类 未结 1 358
_DJ___PEbgj°
_DJ___PEbgj° 2023-03-17 21:21
相关标签:
1条回答
  • 2023-03-17 22:08

    摘要 1.两个节点近距离测试,低波特率通信正常,高波特率无法通信。 可能原因:未加终端电阻。由于CAN收发芯片内部CANH、CANL引脚为开漏驱动,如图1,在显性状态期间,总线的寄生电容会被充电,而在恢复到隐性状态时,这些电容需要放电。如果CANH、CANL之间没有放置任何阻性负载,电容只能通过收发器内部阻值较大的差分电阻放电。如果放电速度过慢,就会出现通信问题。 解决方法:增加终端电阻。 咨询记录 · 回答于2021-08-29 关于can通讯异常,不懂的不要接我写了两个can通讯的程序,一个无法接收到信号,另一个运行起来会导致总线上所有仪表异常,可能会是哪些原因导致的?详细一点 1.两个节点近距离测试,低波特率通信正常,高波特率无法通信。可能原因:未加终端电阻。由于CAN收发芯片内部CANH、CANL引脚为开漏驱动,如图1,在显性状态期间,总线的寄生电容会被充电,而在恢复到隐性状态时,这些电容需要放电。如果CANH、CANL之间没有放置任何阻性负载,电容只能通过收发器内部阻值较大的差分电阻放电。如果放电速度过慢,就会出现通信问题。解决方法:增加终端电阻。 2.组网节点数少,通信正常,增加节点后,通信异常。可能原因:总线电容过大。总线电容过大会影响CAN差分波形上升下降速度,如图2。解决方法:a.检查CAN节点接口的外围电路,是否有外加电容、TVS管等器件,适当去除,以降低电容;b.降低工作波特率。波特率降低可以延长位时间,减小电容的影响,但若电容过大,则不一定有效。 2.组网节点数少,通信正常,增加节点后,通信异常。可能原因:总线电容过大。总线电容过大会影响CAN差分波形上升下降速度,如图2。解决方法:a.检查CAN节点接口的外围电路,是否有外加电容、TVS管等器件,适当去除,以降低电容;b.降低工作波特率。波特率降低可以延长位时间,减小电容的影响,但若电容过大,则不一定有效。 4.5V模块匹配3.3V MCU,错误帧多或发不出数据。可能原因:电平不匹配。5V模块匹配3.3V MCU在测试中可能并无异常,但由于某些参数的微小变化,就会导致电平不能正常识别。图4标示了模块TXD输入高电平的最低值0.7VCC,如小于该值,则存在风险。解决方法:选择3.3V模块匹配3.3V MCU,或增加电平转换电路。 5.近距离通信正常,远距离无法通信。可能原因:***.c***n速率过高。由于CAN总线的仲裁机理,其对延时有着非常严格的要求。线缆延时的存在,使得导线长度制约着实际应用中CAN的最高工作速率。CAN速率与通信距离成反比,速率越高,通信距离越短。b. 线缆阻抗大,远端信号幅值过低。解决方法:a.降低速率,或缩短总线长度,可参考图5线缆长度与波特率的关系;b.换用阻抗小的电线缆,或适当增大终端电阻值,可参考图6线缆长度与直流参数推荐。

    0 讨论(0)
提交回复