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.

[参考译文] AWR1843BOOST:将 CAN 数据速率设置为500Kbs

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1249978/awr1843boost-set-can-data-rate-to-500kbs

器件型号:AWR1843BOOST

我将 AWR1843Boost 与实验室演示 MRR 一起使用。  

在演示中、将 CAN 总线速率分别配置为1Mbps 和5Mbps 的标称位速率和数据位速率。  

我已经成功地将总线速率配置为500Kbps 和2Mbps、即标称数据比特率。  

/*500Kbps 位速率:(40)/((6+5+4)+1)*5*/
mcanBitTimingParams.nomBrp = 0x5U;
mcanBitTimingParams.nomPropSeg = 0x6U;
mcanBitTimingParams.nomPseg1 = 0x5U;
mcanBitTimingParams.nomPseg2 = 0x4U;
mcanBitTimingParams.nomSjw = 0x1U;

//2Mbps
mcanBitTimingParams.dataBrp = 0x4U;
mcanBitTimingParams.dataPropSeg = 01u;
mcanBitTimingParams.dataPseg1 = 0x2U;
mcanBitTimingParams.dataPseg2 = 0x1U;
mcanBitTimingParams.dataSjw = 0x1U;

但我无法成功地将数据位速率配置为500Kbps。 您能建议如何将数据比特率配置为500Kbps 吗?

谢谢

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

    Lei、您好!

    您是否以40MHz 或80MHz 的频率使用 CAN? 根据您的计算、它使用40。
    您能否向我发送您用于此计算的公式?

    此致、
    Saswat Kumar

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

    非常感谢。 是的、使用40MHz。

    /*500Kbps:(40)/((6+5+4)+1)*5*/
    // mcanBitTimingParams.dataBrp = 0x5U;
    // mcanBitTimingParams.dataPropSeg = 0x6U;
    // mcanBitTimingParams.dataPseg1 = 0x5U;
    // mcanBitTimingParams.dataPseg2 = 0x4U;
    // mcanBitTimingParams.dataSjw = 0x1U;

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

    当您将其配置为500Kbps 时、您会观察到什么速率?

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

    你好,Saswat,我不理解你的问题。 您能解释一下吗?

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

    Lei、您好!

    您曾提到、当您将其设置为500 Kbps 时、无法获得预期的输出、看到的数据是以不同的速率还是观察到任何错误?

    此致、

    Saswat Kumar

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

    尊敬的 Saswat:  

    当我为500Kbps 使用以下设置时:

    /*500Kbps:(40)/((6+5+4)+1)*5*/
    mcanBitTimingParams.dataBrp = 0x5U;
    mcanBitTimingParams.dataPropSeg = 0x6U;
    mcanBitTimingParams.dataPseg1 = 0x5U;
    mcanBitTimingParams.dataPseg2 = 0x4U;
    mcanBitTimingParams.dataSjw = 0x1U;

    我 可以使 CAN 通信正常工作。 我使用 PCAN 应用来监控500Kbps 的数据。  

    现在、我要将 CAN 比特率设置为250kbps、我使用以下设置:

    mcanBitTimingParams.dataBrp = 0x10U;
    mcanBitTimingParams.dataPropSeg = 0x6U;
    mcanBitTimingParams.dataPseg1 = 0x5U;
    mcanBitTimingParams.dataPseg2 = 0x4U;
    mcanBitTimingParams.dataSjw = 0x1U;

    我还将 PCAN app 设置为250kbps、但 app 无法接收来自雷达设备的消息。 您能否说明如何将 CAN 比特率设置为250kbps?

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

    Lei、您好!

    根据您的系统计算该校准值不是很简单、可以参阅以下如何设置这些寄存器的值:

    http://www.ti.com/lit/ug/swru520c/swru520c.pdf

    第21.3" CAN 位时序"

    您还必须牢记该附注:

    然后确定值。
    请参阅相同内容。

    此致、

    Saswat Kumar