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.

[参考译文] IWRL6432:SPI 稳定性

Guru**** 2582365 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1574281/iwrl6432-spi-stability

器件型号:IWRL6432
主题:SysConfig 中讨论的其他器件

工具/软件:

您好:

我们使用 MMWAVE_L_SDK_05_04_00_01 SDK 使用上述器件开发一款产品。 我们使用 SPI 作为阻塞中断模式下的主要通信媒介作为 SPI 外设。 我们遇到了  MCSPI_transfe 函数有时永远不会返回的问题。 它将正常工作一段时间,这可能是几小时或几分钟,然后它将停止工作。

在调查该问题后、似乎我们的任务是管理 SPI 总线、但卡在传递函数的信标挂起上、从而导致卡在此函数中。 这指向 SPI 中断未正确触发、或者信标发布后其调用未命中、但向信标添加超时不能解决此出现卡住的问题。

此外、在查看 SPI 外设的寄存器值时 、可以看到以下内容:

正常任务:

【信息】基地址:0x53F7F400
【信息】修订版:    0x0000002B
【信息】SysConfig:   0x00000308
【信息】SYSSTATUS:   0x00000001
【信息】IRQSTATUS:   0x00010000
【信息】IRQENABLE:   0x0000000F
【信息】MODULCTRL:   0x00000004
【信息】CH0CONF:0x3E0603D1      
【信息】CH0STAT:     0x00000026
【信息】CH0CTRL:     0x00000001
【信息】RX0:         0x000000A5

任务已冻结:

【信息】基地址:0x53F7F400
【信息】修订版:    0x0000002B
【信息】SysConfig:   0x00000308
【信息】SYSSTATUS:   0x00000001
【信息】IRQSTATUS:   0x00010000
【信息】IRQENABLE:   0x00000000
【信息】MODULCTRL:   0x00000004
【信息】CH0CONF:     0x060603D1
【信息】CH0STAT:     0x00000006
【信息】CH0CTRL:     0x00000000
【信息】RX0:         0x000000A5

将这些寄存器与技术文档进行比较、可以看出这些寄存器指示通道和中断或关闭以及 TX 和 RX FIFO 缓冲器。 发生这种情况的原因是中断被触发并关闭。 然后、当调用 MCSPI_TRANSFER 时、它们将再次打开。 这似乎表明中断实际上确实会被触发、但无论出于何种原因、 MCSPI_transfe 函数中没有拾取中断、信标超时对恢复此中断没有影响。

似乎可以正常工作的一点是重新启动 SPI 外设和控制 SPI 传输的任务。 这样做似乎可以恢复总线。

发生此 SPI 问题的原因是否有任何已知? 对于这个问题、您是否可以提供任何指导?

在运行时、我们似乎也会遇到间歇性硬故障。 SDK 中发生硬故障的原因可能是什么?


如果您需要更多信息、请告诉我。

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

    您好、

    您能详细说明一下 MCSPI 配置吗?

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

    您好、

    此转印如何适合演示? 您是否包含此 SPI 传输的功能演示? 您是否尝试过缩减传输数据的大小?

    此致