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:McSPI 中的外设模式中断

Guru**** 2573965 points


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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1550564/iwrl6432-interrupt-at-peripheral-mode-in-mcspi

器件型号:IWRL6432


工具/软件:

以下问题基于以下假设:

  • 外设模式
  • 发送和接收模式
  • 功能
  • 使用 TX 和 RX 内置 FIFO
  • 未使用 DMA

[问题 1]

在从模式下使用 McSPI 时、我知道 MODULCTRL 寄存器中的 single-bit 应设置为 1。 此外、根据 TRM(表 13-22)、多通道操作似乎仅适用于主器件模式(即控制器模式)。 但是、在我的环境中、我无法使用此设置生成 EOW 中断。 当我在同一环境中将 MODULCTRL 寄存器中的单个位更改为 0 时、我能够观察 EOW 中断发生的情况。
我想了解这种现象。 MODULCTRL 寄存器中的 single-bit 如何影响外设模式的运行?

[问题 2]

是否可以在 SPI 通信完成时触发中断(即在 CS 的非活动边沿上)?
此外、“字结束计数“中断是否可用于此目的?

在之前从控制器发送的数据大小未知的情况下、我希望使用 CS 的非活动边沿作为触发器来检测 SPI 通信结束。
TRM(第 13.3.2.5 节)规定、字计数结束中断包括“SPI 传输已停止“条件。
我相信我可以为此目的使用 EOW 中断,并尝试了 以下配置(并从主设备发送 8 个字节):

IRQENABLE = 0x00020000;//启用 EOW
XFERLEVEL = 0xFFFF0F00;// WCNT = max、AFL=15

但是、在 CS 无效边沿时、IRQSTATUS 寄存器中的 EUW 位未置位。
我想澄清这是否是由于配置错误、还是根本不可能做到这一点。

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

    您好!
    我们正在查看您的查询。 请给我们一些时间来答复。
    谢谢。

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

    您好、

    您能否更详细地说明一下系统中 SPI 的要求和用例? 您正在使用哪个项目? 您是否正在执行外部 SPI 传输?

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

    您好、

    >>您能否详细介绍一下您的要求以及系统中 SPI 的用例?

    SPI 用于与主机 ECU 进行通信。
    具体议定书仍在审议之中、但预计需要双向通信(发送和接收)。
    此外、该通信将包括来自雷达的测量数据。

    >>您正在使用哪个项目?

    我们不使用任何基于 SDK 的工程;相反、我们使用的是我们内部开发的定制工程。

    >>是否正在执行外部 SPI 传输?

    是的、我们使用外部 SPI 通信工具作为主器件来执行数据传输。

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

    你(们)好

    我期待着回答。
    如果您需要有关此问题的更多信息、请告诉我。

    谢谢。

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

    您好、

    您使用的是单通道还是多通道 McSPI 模式? 多通道 SPI 模式支持逐字 CS 切换

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

    您好、

    如问题 1 所述、我在单通道模式下无法观察到 EOW 中断、因此我在问题 2 中的多通道模式下尝试了这些中断。

    在多通道模式下、即使接收到的数据大小小于 WCNT、也会使 CS 中的切换使 EOW 中断有效。 这是什么意思?

    谢谢。

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

    您好、

    对于每个逐字传输、CS 应在多通道模式下切换。

    此致