This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] SN65HVD230:与CAN控制器的接口问题。

Guru**** 2470720 points
Other Parts Discussed in Thread: SN65HVD230

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/584215/sn65hvd230-interfacing-issue-with-can-controller

部件号:SN65HVD230

我们正在使用CJMCU-230,它内嵌了SN65HVD230 CAN收发器。

Image result for cjmcu-230


我们的设置是在2个CAN节点之间实现CAN消息通信。

使用CAN实用程序,我们尝试通过在外部环回模式(CAN0 <---> CAN1)中发送和接收数据来测试CAN接口。

但我们无法实现适当的目标。 发送消息CAN0时没有错误。 但在CAN1接收时出错。 类似的情况是从CAN1发送时出现的情况,以及接收时CAN0出现错误。

希望有人能通过此信息进一步帮助我们,以实现2个CAN节点之间的通信。

希望快速回复。 提前感谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,

    您是否能够使用示波器观察信号波形? 如果是这样,最好检查发送节点和接收节点上的CANH和CANL信号,以查看连接是否存在任何问题。 (这是一个很好的检查方法,因为每个主板似乎都是单独工作的-即发送的消息上没有错误。)

    此致,
    最大
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Max,您好!

    感谢您的快速回复。

    我尚未连接任何示波器。 顺便说一句,我复制以下观察内容:

    命令:cansend CAN1123#aabbccdd


    内核日志位于:candump CAN0
    [ psb] mttcan c32万.mttcan can1:IR 0xb80万 147.17.6805万 0x7e5
    [ Bit0] mttcan c3.1万.mttcan CAN1: 1429.520726 Error Detected.(检测到Bit0错误。
    [ PS] mttcan c3.1万.mttcan CAN1:IR 0x801万 1429.526677 0x71d.
    [ 1429.535526 CAN] mttcan c3.1万.mttcan CAN1:进入错误警告状态
    [ 1429.542107 CAN] mttcan c3.1万.mttcan CAN1:进入错误被动状态
    [ 1429.548716 CAN] mttcan c3.1万.mttcan CAN1:进入总线关闭状态
    [ Bit0] mttcan c3.1万.mttcan CAN1: 1429.554754 Error Detected.(检测到Bit0错误。
    [ psb] mttcan c3.1万.mttcan can1:IR 0xb80万 1429.560610 0x7e5

    数据包详细信息:
    命令:ip -details -statistics link show CAN0
    6:CAN0:<NOARP,up, lower _up, echo>MTU 72 qdisc pfifo_fast state unknown mode default group default qlen 10.
    链接/ CAN杂乱0
    CAN <BERR-reporting,FD> state error-active (错误计数器TX 0 Rx 0) restart-ms 0
    比特率50万采样点0.875
    TQ 25 pro-seg 34 phase seg1 35 phase seg2 10 SJW 1.
    mttcan:tseg1 2..255 tseg2 0..127 SJW 1...127 BRP 1..511 BRP-inc 1.
    dbitrate 200万 dsample-point 0.750
    dtq 25 dppro-seg 7 dphase seg1 7 dphase seg2 5 dsjw 1.
    mttcan:dtseg1 1..31 dtseg2 0..15 dsjw 1.-15 dbrp 1.-15 dbrp-inc 1.
    时钟4000万
    已重新启动总线错误;arbit-lost error-warn error-pass bus-off
    0 0 0 0 0 0
    rx:字节数据包错误丢弃溢出mcast
    0 0 0 0 0 0
    Tx:字节数据包错误丢弃的载波加密
    0 0 0 0 0 0

    命令:ip -details -statistics link show CAN1
    7:CAN1:<no-carrier,NOARP,up,echo>MTU 72 qdisc pfifo_fast state down mode default group default qlen 10.
    链接/ CAN杂乱0
    CAN <BERR-Reporting,FD>状态总线关闭(错误计数器TX 248 Rx 0)重启-ms 0
    比特率50万采样点0.875
    TQ 25 pro-seg 34 phase seg1 35 phase seg2 10 SJW 1.
    mttcan:tseg1 2..255 tseg2 0..127 SJW 1...127 BRP 1..511 BRP-inc 1.
    dbitrate 200万 dsample-point 0.750
    dtq 25 dppro-seg 7 dphase seg1 7 dphase seg2 5 dsjw 1.
    mttcan:dtseg1 1..31 dtseg2 0..15 dsjw 1.-15 dbrp 1.-15 dbrp-inc 1.
    时钟4000万
    已重新启动总线错误;arbit-lost error-warn error-pass bus-off
    0 2 0 1 1 0
    rx:字节数据包错误丢弃溢出mcast
    40 5 2 0 0 0
    Tx:字节数据包错误丢弃的载波加密
    0 0 0 0 0 0


    请帮助我了解这里可能有什么问题,这是配置问题吗?


    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我在阅读这些日志方面经验不多,但对我来说,相关信息只是您在CAN接口上遇到了位错误。 这可能是物理信令问题,也可能是配置问题。 如果您能够看到波形,则可以快速验证信号是否符合预期(正确的定时和电压级别)。 如果验证为正常,则我将检查CAN控制器配置,以确保所有计时参数(段时间,段跳宽,波特率预校准器/其他变量)均符合您要使用的数据速率。

    最大