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.

[参考译文] AWR6843AOPEVM:AWR6843AOPEVM 上的 DCAN

Guru**** 2553370 points
Other Parts Discussed in Thread: AWR6843AOPEVM

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1346846/awr6843aopevm-dcan-on-awr6843aopevm

器件型号:AWR6843AOPEVM

我正在尝试在 AWR6843AOPEVM 上实现 DCAN。 我已经尝试过 CANFD、它运行良好。 我有几个疑问:

1. AWR6843AOPEVM 上的 CAN 端口可与 CANFD 以及 CAN Classic 配合使用、但。 它是否可以在5MHz 上传输 CAN_Classic 帧。
2.我尝试将帧类型从  

 CANFD_MCANFrameType frameType = CANFD_MCANFrameType_FD;
CANFD_MCANFrameType frameType = CANFD_MCANFrameType_CLASSIC;
保持位时序参数相同、但数据不正确。

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

    您好!

    请允许我们24小时内查看此内容、我们会及时与您联系。

    此致、

    时间

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

    您好 KP!  

    1.为了保持与限制在1Mbps 的传统 CAN 的向后兼容性、CAN FD 通常无法以高于5Mbps 的速率发送传统 CAN 帧来保持向后兼容性。  

    2.您正在尝试将 FD 时序与经典 CAN 配合使用?  经典 CAN 不支持超过1Mbps 的速度。   

    此致、

    詹姆斯

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

    很有道理。 您能帮助为经典控制器设置正确的计时吗、或者至少向我指出方向、以便我可以自己

       /*分别将1Mbps 和5Mbps 配置为额定比特率和数据比特率
       prop 段:8
       pH 段1:6
       pH 段2:5
       同步跳转:1
       BRP (波特率预分频系数):2
       额定比特率=(40)/(((8+6+5)+1)* BRP)= 1MHz
       数据比特率的时序参数:
       prop 段:2
       pH 段1:2
       pH 段2:3
       同步跳转:1
       BRP (波特率预分频系数):1
       额定比特率=(40)/((((2+2+3)+1)* BRP)= 5MHz
       */
       mcanBitTimingParams.nomBrp = 0x2U;
       mcanBitTimingParams.nomPropSeg = 0x8U;
       mcanBitTimingParams.nomPseg1 = 0x6U;
       mcanBitTimingParams.nomPseg2 = 0x5U;
       mcanBitTimingParams.nomSjw = 0x1U;

       mcanBitTimingParams.dataBrp = 0x1U;
       mcanBitTimingParams.dataPropSeg = 0x2U;
       mcanBitTimingParams.dataPseg1 = 0x2U;
       mcanBitTimingParams.dataPseg2 = 0x3U;
       mcanBitTimingParams.dataSjw = 0x1U;

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

       mcanBitTimingParams.nomBrp = 0x2U;
       mcanBitTimingParams.nomPropSeg = 0x8U;
       mcanBitTimingParams.nomPseg1 = 0x6U;
       mcanBitTimingParams.nomPseg2 = 0x5U;
       mcanBitTimingParams.nomSjw = 0x1U;

       mcanBitTimingParams.dataBrp = 0x2U;
       mcanBitTimingParams.dataPropSeg = 0x8U;
       mcanBitTimingParams.dataPseg1 = 0x6U;
       mcanBitTimingParams.dataPseg2 = 0x5U;
       mcanBitTimingParams.dataSjw = 0x1U;

    我做了这个,它适用于 CANFD @1Mbps ,但经典可以不显示任何东西。

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

    您好、KP、  

    您可以参考本次关于使用 CAN 的培训吗?

    CAN 集成用户指南 

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

    嘿、K P、

    这些计时参数应该适用于1Mbps 传统 CAN 消息、但如果您遵循 CAN 集成用户指南/应用手册、则需要对代码进行其他两处更改。

    首先、您需要将 fdMode 参数更改为0、这样将通过 CCCR 禁用 CANFD 模式。 MCAN 模块的 FDOE 位。 MCANAppInitParams 函数默认将此设置为1。 您还需要 将全局变量框架类型重新分配给 CANFD_MCANFrameType_Classic 。 否则、Can_Transmit_Schedule 函数将以 CANFD 格式发送消息。  

    此致、

    克里斯蒂安