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.
大家好!
我正在尝试使 MCU-MCAN 正常工作、但这里面临一些问题。
CCS V12.2.0.000009
MCU_PLUS_SDK_am62x_08_05_00_14
我有一个带有评估主板的模块、并通过 TCAN1051将两个 MCU_MCAN 连接到总线。
TCAN1051硬件使用另一个解决方案进行了测试、工作正常、因此这里没有问题。
我只使用不带环回模式的 MCU_MCAN_ loopback 示例:
mcan_loopback_interrupt_am62x-sk-lp_m4fss0-0_nortos_ti-arm-clang
如果我连接 PC-TEST-SW、我总是收到表单错误消息、并通过探测我只能在 Oszi 显示屏上看到 SOF。
MCAN 必须运行@1MHz/2MHz、因此位时序设置如下:
bitTimes.dataRatePrescalar=1U;->产生40MHz 时钟并获得2MHz DR 位时间有20tq
bitTimes.dataSynchJumpWidth=3U;
bitTimes.dataTimeSeg1=14u;
bitTimes.dataTimeSeg2=3U;
bitTimes.nomRatePrescalar=3u;
bitTimes.nomSynchJumpWidth=3u;
bitTimes.nomTimeSeg1=14u;
bitTimes.nomTimeSeg2=3u;
(通过 SysConfig,我设置了十进制值,但在 ti_drivers_config.c 中,我找到了十六进制值)
MCAN_BitTimingParams gMcanBitTimingDefaultParams =
{
.nomRatePrescalar = 0x3U、
.nomTimeSeg1 = 0x14U,<---这是20个十进制,不是14
.nomTimeSeg2 = 0x3U、
.nomSynchJumpWidth = 0x3U、
.dataRatePrescalar = 0x1U、
.dataTimeSeg1 = 0x14U,<--这是20个十六进制,不是14
.dataTimeSeg2 = 0x3U、
.dataSynchJumpWidth = 0x3U、
};
在结构中、initParams I 在不设置 tdco 或 tdcu 的情况下启用了 TDC (时间延迟补偿)。
但我也尝试了一些使用[3U+((bitTimes.dataTimeSeg1+bitTimes.dataTimeSeg2)/2u)]的值
相同结果->格式错误。
有人能给我一些建议我在这里做错了什么?
BR
马丁
尊敬的 Martin:
很抱歉耽误你的时间。 如果您仍面临此问题、能否告知我们?
此致、
Nihar Potturu.