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.

[参考译文] TCAN4550:TCAN4550 CAN 数据速率问题

Guru**** 2540720 points
Other Parts Discussed in Thread: TCAN4550

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1224318/tcan4550-tcan4550-can-data-rate-issue

器件型号:TCAN4550

大家好、

我正在我的项目中使用上述部分。 数据表显示、CAN 数据速率支持高达5Mbps、SPI 时钟速率高达18MHz。 但我观察到它仅在高达3Mbps 时有效。

请提供您的输入。

此致、

Chithraj S.

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

    尊敬的 Chithraj:

    TCAN4550将通过正确的位时序配置和正确端接的 CAN 总线支持5Mbps CAN FD 数据速率。

    您能否为我提供有关您的测试设置的信息?  您正在使用哪些类型的电路板(即、这些电路板是 TI 开发的电路板还是您设计的电路板)?

    连接到 OSC1和 OSC2引脚的晶体或单端时钟频率是多少?

    您的寄存器配置值是什么、尤其是标称和数据位时序和预分频器寄存器以及发送器延迟补偿寄存器?  

    您是同时使用多个 TCAN4550板、还是使用一个 TCAN4550板与另一种类型的 CAN FD 器件通信?

    您是否在 CAN 总线的两端都有正确的端接、以及您能否描述总线(即它的时长、它上有多少器件等)。

    此致、

    Jonathan

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

    尊敬的 Jonathan:

    感谢您的答复。

    测试设置是由我们开发的定制 HMI 板。 我将40MHz 晶体用于 OSC1和 OSC2引脚。 下面列出了寄存器配置值;所有这些都是数据表中提供的默认值。

    标称和数据位时序值:0600 0A03 (默认值)

    时间戳预分频器:H'00000002 (默认值)

    发送器延迟补偿寄存器:0000 0000 (缺省值)

    我将在电路板中使用两个 TCAN4550收发器、通过在两个 CAN 收发器之间进行通信对其进行测试、并在 CAN 总线上提供正确的端接。

    此致、

    Chithraj S.

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

    尊敬的 Chithraj:

    您需要配置标称位速率和预分频器(NBTP)寄存器(h101C)、以便通过分配位周期中采样点之前的时间份额(tq)或时钟周期、根据您的晶体频率设置所需的标称位速率或仲裁位速率。 以及在采样点之后有多少 tq。  tq 的总数定义了位周期的长度、从而定义了位速率。  

    您还必须按照相同的方式在数据比特率和预分频器(DBTP)寄存器(h100C)中设置 CAN FD 数据比特率、方法是在采样点前后分配 tq 的数量、建议为位周期长度的80% (或更接近周期的末尾)。

    如果您使用更快的 CAN FD 比特率、 您还需要通过将 DBTP 寄存器中的 TDC 位设置为"1"、然后在发送器延迟补偿寄存器(h1048)中设置发送器延迟补偿偏移(TDCO)和发送器延迟补偿滤波器(TDCF)值、以匹配中的 DTSEG1值、从而启用发送器延迟补偿 DBRP 寄存器。

    请注意、器件会将 DGSEG1的值解释为比输入的值大1、因为"0"不是有效条目。  不过、"0"对 TDCO 和 TDCF 寄存器有效、因此需要将这些寄存器设置为比 DTSEG1大1、才能分配等效数量的 tq。

    有关如何配置位定时和发送器延迟补偿寄存器的更多信息、请参见以下文档。

    TCAN45xx 软件用户指南

    Bosch M_CAN 用户手册

    此致、

    Jonathan

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

    尊敬的 Jonathan:

    上述寄存器值已根据给定软件用户指南正确实现、我再次按照 TI 设计指南检查了硬件 CAN 总线的终端。

    但是、我在尝试使用更高的数据速率值进行通信时遇到"BUS_OFF"错误。

    和以下是我用于5Mbps CANFD 的命令。 如果需要更改、请告诉我。

    以启用 CANFD 接口
    -------------------------------------------------------
    IP 链路设置 CAN0 UP 类型 CAN bitrate 5000000 dbitrate 5000000 FD ON
    IP 链路设置 CAN1 UP 类型 CAN bitrate 5000000 dbitrate 5000000 FD 开启

    以便接收和发送数据
    -------------------------------------------------------
    CANdump CAN0 &
    Cansend CAN1 123#311112233455
    CANDump CAN1 &
    Cansend CAN0 123#311112233455

    此致、

    Chithraj S.

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

    尊敬的 Chithraj:

    您似乎正在使用公开发布的 Linux 驱动程序来配置 TCAN4550寄存器设置和比特率、这是正确的吗?

    看起来您也在尝试将 CAN 仲裁或标称位速率和 CAN FD 数据位速率配置为5Mbps。  CAN FD 协议不允许这样做、最大 CAN 仲裁或标称位速率限制为1Mbps。  只有 CAN FD 数据比特率可以设置为更高的速率、例如5Mbps。  

    具有一个无效的额定比特率会导致错误、此错误将导致一个总线关闭状态。

    此致、

    Jonathan

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

    尊敬的 Jonathan:

    我已经将标称位速率配置为1Mbps、并将 CAN FD 配置为更高的数据位速率。

    它的工作速率高达8Mbps。

    感谢您的宝贵支持。

    此致、

    Chithraj S.

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

    尊敬的 Chithraj:

    我很高兴能为您提供帮助。  

    此致、

    Jonathan