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.

[参考译文] IWR6843AOP:能否将 IWR6843AOP 与 MMWAVEICBOOST Launch Pad SPI 连接配合使用

Guru**** 2553450 points
Other Parts Discussed in Thread: IWR6843AOPEVM, MMWAVEICBOOST

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1174170/iwr6843aop-can-i-use-the-iwr6843aop-with-a-mmwaveicboost-launch-pad-spi-connections

器件型号:IWR6843AOP
主题中讨论的其他器件: MMWAVEICBOOST

我更新了一个示例实验(3D 人员计数)、以将数据发送到 SPI 总线。 总线打开正常、并且调用 SPI 传输命令(无 erro)、但是它永远不会返回、并且由于  MIBSPI_checkTGComplete 状态1永远不会返回、它停留在一个无限循环中。 我已经根据文档设置了 AOP 板上的 DPI 开关。 我可能错过了什么、这是一个损失。 我们使用 Raspberry PI 作为 SPI 主站、一切都很好。  

任何帮助都将是一个漫长的过程

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

    您好!

    您是否查看了有关 SPI 驱动程序的 SDK 文档、该文档位于 C:\ti\mmwave_sdk_03_06_00_00-LTS \packages/ti\drivers\spi\docs\doxygen\html\index.html?

    您还可以将 SPI 源拖到项目中以自行编译、以便对其进行调试以查看其挂起的位置。 您是否尝试过此操作?

    最棒的

    不需要

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

    我已经详细阅读了 SPI 文档、看不出哪里出了问题。 我已经查看了测试代码并注意到对 Pinmux 函数调用的一些调用、我现在正在研究这些调用。 不确定您是指将 SPI 源代码拖到我的项目中,还是指测试或库?

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

    使用精细牙签进行调试、我找到了我要挂的位置。 在文件 mibspi_dma.c @第2274行中、  

    semaStatus = SemaphoreP_pend(ptrMibSpiDriver->transferCompleteSem, ptrMibSpiDriver->params.transferTimeout);

    我们已检查 ptrMibSpiDriver->params.transferTimeout以发现4294967295的超时、我剩下2个问题:如何更改超时以及如何触发信标。 这两个问题中的任何一个都将帮助我了解发生了什么错误。  

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

    您好邓肯、

    在我看来、这个信标应该布置在同一文件的第1692行上。 我建议不要更改超时时间、而只需将 SPI 传输设置为 非阻塞将是执行此操作的首选方法。 您是否已将逻辑分析仪连接到 SPI 线路、以查看数据是否传输正确? 这将有助于我们确保数据正在传输。

    最棒的

    不需要

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

    我已应用逻辑分析仪、未看到任何数据、此外、根据文档、SPI_Transfer 仅在阻塞模式下运行

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

    您好邓肯、

     您是否在 Pico 线上看到任何流量? SPI 流量应从控制器发送到外设的数据开始、因此如果首先没有来自中央器件的流量、那么我预计外设通信会出现问题。

    最好

    不需要

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

    我们看到时钟和芯片选择线路的运行方式符合预期、我们是否必须将数据放在 Pico 线路上我希望 POCI 线路上的数据与软件尝试的数据相同、 我是否需要向雷达芯片发送一些数据才能将数据主动输出?

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

    您好邓肯、

    典型的 SPI 配置会让中央器件向外设器件请求信息、但我假设您可以直接从外设广播到中央、而不会出现提示。 当您 在 ptrMibSpiDriver->transferCompleteSem 上挂起时,信标的值应为1。 但是当我看到它在 MISPPI_OPEN ()中被初始化时、它似乎被初始化为0 (mibspi_dma.c 的第1959行)。

    ptrMibSpiDriver->CompletetransferSem = SemaphoreP_create (0U&semParams);
    您能否逐步执行以确保它按照您在 SPI_open()调用中的预期进行初始化,然后在您进入 SPI_write()调用时验证该值是否已从0更改为1? 如果是、我们将能够找到值变化的位置、并更好地了解发生变化的原因。
    最棒的
    不需要

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

    我一直按照代码执行操作,看到创建的信标,但是1/0的值有点混乱,因为它是 void*,我在调试器中看到的所有内容都是内存位置。 为了解除引用并检查结构的内容、我需要将其转换为哪种类型。

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

    您好邓肯、

    我认为 uint8_t 可以将其转换为、您也可以直接在内存选项卡中查看。

    最棒的

    不需要

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

    谢谢 Nate、完成此操作后、一旦我们创建信标、我们将看到0

    如果是、这可能是控制信号量创建的原因

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

    在 SPI_WRITE 函数中、它不会设置为1、我们将其设置为0

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

    此外、我认为您的开关设置已关闭。 查看 IWR6843AOPEVM 和 MMWAVEICBOOST 的原理图、可以看到 S1.6需要关闭、S1.9需要开启、以便访问 EVM 背面的40引脚接头。

    最棒的

    不需要

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

    非常感谢