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.

[参考译文] MSPM0G3507:SPI1 CTL1.POD 位何时生效?

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1646382/mspm0g3507-when-does-spi1-ctl1-pod-bit-take-effect

器件型号: MSPM0G3507

我想使用器件并将 SPI 设置为外设模式、我想能够对 POCI 线路中的事务进行 tri 状态处理(即当 nCS 线路生效时)。  根据参考手册中的说明、CTL1.pod 似乎是执行此操作的理想之选。  在这条线路上连接一个上拉电阻器后、我预计会随着线路被拉高而看到设置该位的效果。  不过,似乎没有发生这种情况 — 线路会不断驱动数据,因为控制器会不断为更多字计时。

如果我在控制器中间设置该位、向基于 MSPM0 的外设发送一系列字、我应该在什么时候看到 POCI 停止驱动数据? 我是否需要执行任何其他操作、或者设置该位是否足够?  我找不到使用该位的示例 — 是否有应用手册?

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

    部分/大多数 CTL0/1 位需要禁用/使能 (CTL1:ENABLE=0、然后=1) 才能生效、但我尚未特别尝试这一个。

    如果没有正在进行的事务、则此禁用/启用是良性的。 我不确定在交易过程中会发生什么。

    [编辑:将 PF 切换为 IOMUX=0 时,您可能会获得一些里程。 SPI 单元不会注意到。]

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

    谢谢您的建议、我会试一试。  如果 POD 需要一个禁用/启用周期、这确实会让我想知道设置 PF = 0 时的要点会更简单一些。

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

    更新:设置 IOMUX IOM=0 PF 具有我想要的几乎效果、但我仍然有兴趣知道 CTL1.pod 的作用(或者应该做!) 以防有一些微妙之处,我还没有发现。

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

    即使对 TRM 中的位进行了描述、我也不知道具体用例是什么。 更重要的是,考虑您的实验表明它需要启用 — 切换。

    我曾经构建了广播 SPI 总线、但我使用了等效的 PF = 0、没关系。

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

    嗨、Alan、

    我的理解是在更改 CTL0/CTL1 中的任何内容时都应禁用外设、因此我认为需要禁用外设才能设置该位。  当我们的系统和架构团队定义此功能时、我也不确定用例是什么。  我想它可以让我们监控 PICO 线路、从而能够重新配置中间字节以驱动 POCI 总线。  

    我还建议只使用 IOMUX。  您可以使用前面提到的 PF 位。  这里对您没有什么帮助、但您也可以将 IOMUX 中的引脚设置为 Hi-Z、以便多个器件可以顺利驱动总线、但它仍然可能会将总线拉至低电平、并且仍然可能发生数据冲突。  

    谢谢、

    JD