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.

[参考译文] AM625:MCU MCAN0和 MCAN1始终出现错误

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1216620/am625-mcu-mcan0-and-mcan1-always-form-error

器件型号:AM625
主题中讨论的其他器件:TCAN1051SysConfig

大家好!

我正在尝试使 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.