主题中讨论的其他器件:TMDSCNCD28388D、 C2000WARE
工具与软件:
尊敬的专家:
我的客户正在使用 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