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.

[参考译文] AWRL6432:400kHz 时出现 I2C 故障

Guru**** 2540720 points
Other Parts Discussed in Thread: AWRL6432BOOST

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1428607/awrl6432-i2c-failure-in-the-400khz

器件型号:AWRL6432

工具与软件:

您好!

我目前使用 SDK 测试 I2C 通信。 环境如下。

- mmwave_L_SDK_05_04_00_01的 motion_and_presence_detection 示例

- AWRL6432BOOST

-与我们的 I2C 测试套件相连

- LowPowerCfg = 0

然后 我添加了一个针对 I2C 通信的任务。  目前 I2C 任务具有更高的优先级。

我在100kKz 和400kHz 之间交替进行测试。  因此、它在400kHz 下无法正常工作。 100kHz 工作正常。

删除所有雷达任务后、I2C 在400kHz 下正常。

而且、在极少数情况下、当我将 vTaskDelay 添加到雷达相关代码的中间时、它会成功。

如何解决该问题。

此致、

Taeheon。

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

    大家好、Taeheon:

    感谢您在 E2E 上发布您的问题。 请给我们一天左右的时间、以便我们的软件团队作出响应。

    此致、
    Deexith。  

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

    您好!

    这应该是中断优先级问题。

    当我按如下方式进行设置时:

    保存在 interrupt.c 文件中

    int32_t mmwDemo_registerFrameStartInterrupt (void){

    .

    hwiPrms.priority  = 7;//为测试添加了

    .

    }

    和 i2c_v0.c 文件中

    I2C_Handle I2C_open (uint32_t idxconst I2C_Params * params){
    .
    hwiPrms.priority = 5;//为测试添加了
    ...
    }
    它在400kHz 和100kHz 下都能正常工作。   
    一个问题是其他中断优先级是否会引起副作用。
    我想知道是否有建议的优先级。
    从我们的角度来看、I2C 的优先级应该高于雷达处理。
    此外、我对 MMWAVE_L_SDK_05_04_00_01中指定的中断优先级很好奇。
    此致、
    Taeheon。

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

    嗨、Taheon、

    我们并不全面详细介绍每个演示的所有中断、但通常来说、在向现有的雷达演示应用(例如运动和存在检测演示)添加新中断时、我们建议将中断设置为默认中断优先级7。 这是因为有一些关键中断需要优先于所有其他中断才能使应用正常工作。

    在添加新的中断后、测试工程以查看基本应用程序是否仍然正常运行以及新中断是否得到正确处理。 如果 应用程序仍然正常工作、但新的中断不工作、那么提高优先级以查看这是否解决了问题。 您可能还必须调整中断编号以进行更精细的优先级调整、即较低的 intNum =对具有相同优先级的中断具有更高的重要性。

    希望这对您有所帮助、但如果您有任何其他问题、请告诉我。

    此致、

    Kristien