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.

[参考译文] TMS320F28388D:关于 CAN-FD 中的正常1MHz、数据4MHz 通信

Guru**** 2390755 points
Other Parts Discussed in Thread: TMDSCNCD28388D, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1384825/tms320f28388d-about-normal-1mhz-data-4mhz-communication-in-can-fd

器件型号:TMS320F28388D
主题中讨论的其他器件:TMDSCNCD28388DC2000WARE

工具与软件:

尊敬的专家:

我的客户正在使用 F28388D (TMDSCNCD28388D)进行评估、我想确认一些关于正常1MHz、即 CAN-FD 中的数据4MHz 通信的要点。

Q1:以下寄存器设置是否没有问题?

    bitTimingParams.dataRatePrescalar  = 0x0U; // Data Baud Rate Pre-scaler.
    bitTimingParams.dataTimeSeg1 = 0x7U; // Data Time segment before SP
    bitTimingParams.dataTimeSeg2 = 0x0U; // Data Time segment after SP
    bitTimingParams.dataSynchJumpWidth = 0x0U; // Data SJW

Q2:5MHz 是否是 CAN-FD 的"数据"部分的最大比特率?
目前、它们使用的是40MHz、即系统200MHz 除以5。
最大频率似乎未在数据表或 TRM 中定义。

[详情]
 TMDSCNCD28388D 的 CAN 通信引脚连接至 CAN 收发器、CANbus 不连接到任何其他器件、仅连接一个端接电阻器。
可以通过示波器观察 CANbus CANH 信号。

​​参考 C2000WARE 中的示例代码"mcan_ex9_transmit.c"和"MCAN_BitTimingCalculator.xls"设置的值如下所示、但似乎只有 NORM 器件被发送、而数据器件未发送。

    bitTimingParams.dataRatePrescalar  = 0x0U; // Data Baud Rate Pre-scaler.
    bitTimingParams.dataTimeSeg1       = 0x4U; // Data Time segment before SP
    bitTimingParams.dataTimeSeg2       = 0x3U; // Data Time segment after SP
    bitTimingParams.dataSynchJumpWidth = 0x3U; // Data SJW

使用以下主题通过"剪切和尝试"调整采样点后、可以在时间内进行通信 dataTimeSeg1 + dataTimeSeg2 = 7。
e2e.ti.com/.../tms320f28388d-can-fd-not-working-at-some-rate-combinations

然而、由于4MHz 中1位的理想值为250ns、因此当仅 dataTimeSeg1更改为0-6时、未发送数据部分。
当 dataTimeSeg1 = 8时、数据部分发送、但为300ns。

[波形]

正常1MHz、数据2MHz

正常1MHz、数据4MHz [位时间计算器]

正常1MHz、数据4MHz [手动]

如果设置值存在问题或调整寄存器值的方法不正确、请告知我们。

此致、
棒极了 h

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

    尊敬的专家:

    我从一位客户那里收到了其他信息、因此我想与他人分享。

    当然、如果能回答 Q1和 Q2、我将不胜感激。

    Q3:​​下面的寄存器值是否存在任何问题?
    PRE = 0x0U、TSeg1 = 0x18U、TSeg2 = 0x4U、SJW = 0x4U
    他们使用的是以下主题中的计算公式、而不是 "MCAN_BitTimingCalculator.xls"
    e2e.ti.com/.../faq-tda4vm-can-how-is-bit-rate-calculated-for-can

    这些命令设置 CAN_CLK=C2000 100MHz、并使用工具重新计算 C2000中的值。
    结果为以下值。

    PRE = 0x0U、TSeg1 = 0x11U、TSeg2 = 0x11U、SJW = 0x10U

    然而、在上述设置下、数据部分未被发送、并且使用 Q3的设置成功进行了通信(4MHz)。
    它与 "MCAN_BitTimingCalculator.xls"的配合效果不好、因此如果有任何其他更合适的计算方法、请告诉我。

    正常1MHz、数据4MHz [ E2E 手动设置]

    顺便说一下、关于 Q2、如果 CAN_CLK = 200 MHz、可实现200ns (5Mbps)。

    此致、
    棒极了 h

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

    您好!

    Q1:数据波特率= 40MHz /(seg1 + seg2 + 3)= 40/(7+0+3)= 4Mbps。

    [quote userid="402494" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1384825/tms320f28388d-about-normal-1mhz-data-4mhz-communication-in-can-fd ">Q2:5MHz 是 CAN-FD 数据部分的最大比特率吗?

    有。 MCAN  CAN FD 支持高达  5 Mbps  有效载荷大小为每帧多达64字节。

    [报价 userid="402494" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1384825/tms320f28388d-about-normal-1mhz-data-4mhz-communication-in-can-fd/5295536 #5295536"] Pre = 0x0U、TSeg1 = 0x11U、TSeg2 = 0x11U、SJW = 0x10U

    请参阅 DBTP 寄存器。 TSEG2最大值为0xF。 您的设置(0x11)超出有效范围。

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

    尊敬的 QJ Wang:

    感谢您的答复。

    抱歉、我的错。
    下面的黄色突出显示的是已更正的器件。
    如有任何问题、请您再次评论一下吗?

    Q3:​​下面的寄存器值是否存在任何问题?
    PRE = 0x0U、TSeg1 = 0x12、TSeg2 = 0x4、SJW = 0x4
    他们使用的是以下主题中的计算公式、而不是  "MCAN_BitTimingCalculator.xls"
    e2e.ti.com/.../faq-tda4vm-can-how-is-bit-rate-calculated-for-can

    这些命令设置 CAN_CLK=C2000 100MHz、并使用工具重新计算 C2000中的值。
    结果为以下值。

    PRE = 0x0U、TSeg1 = 0xB、TSeg2 = 0xB、SJW = 0xA

    此致、
    棒极了 h

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

    您好、

    我假设 Tseg1和 Tseg2是编程可注册的值

    对于 Tseg1=0x12、Tseg2=0x4、采样点为(1+Tseg1+1)/(Tseg1+Tseg2 + 3)= 20/25 = 80%

    但是  

    对于  Seg1 = 0xB、Tseg2 = 0xB、采样点为(1+11+1)/25 = 56%

    理想情况下应配置位时间段、使位中的采样点尽可能晚。

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

    尊敬的 QJ Wang:

    很抱歉这么晚才回复。

    我明白了。  如果客户有任何其他问题、我们将再次与您联系。

    此致、
    棒极了 h

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

    嗨、O.H.、

    您的客户是否使用 没有 CAN 收发器的 TMDSCNCD28388D 卡运行测试?

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

    尊敬的 QJ Wang:

    [报价 userid="402494" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1384825/tms320f28388d-about-normal-1mhz-data-4mhz-communication-in-can-fd "][Details]
     TMDSCNCD28388D 的 CAN 通信引脚连接至 CAN 收发器、CANbus 不连接到任何其他器件、仅连接一个端接电阻器。
    CANbus CANH 信号通过示波器进行观察。[/QUOT]

    以上是环境。

    此致、
    棒极了 h

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

    棒极了 H、

    如果发送器环路延迟大于 dataTimeSeg1、则应启用 TDC、并且需要对 TDCO/TDCF 进行编程。  推荐的取样点为>75%或80%。