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.
工具/软件:TI C/C++编译器
我曾与许多不同的 MSP 合作、发现当我在4线制 SPI 模式下作为从器件运行时、CS (连接到 STE)仅用于门控时钟、 它不会复位 SPI 子系统、因此下一次传输中的第一个时钟将是第一个位。 (在噪声可能会增加或减少错误 SCLK 的嘈杂环境中、长时间总线运行需要这种方法)。 我知道如何通过将 CS 运行到中断并通过代码执行复位来解决此问题、但我想知道 MSP430F67xx 系列是否仍然需要此问题? 是否有人在这个较新的 eUSCIxx 上对此进行了测试、将其作为 SPI 从子系统?
Marty、您好!
有关 eUSCI 模块工作原理的更多信息、我建议参考 《MSP430x5xx 和 MSP430x6xx 系列用户指南》中的第40章。 此外、我建议在您的设计中使用 A 版本 MSP430F6779A、而不是非 A 版本。 在 这些修订版本之间(在此处说明)有多项改进、同时保持引脚对引脚兼容性。 但是、 对于这两个版本、有一个与 eUSCI 相关的勘误表 USCI50、该勘误表可能接近您所描述的内容。 您可以在 勘误表中阅读有关它的更多信息。
此致、
James
James、您好、感谢您的回复
我已经阅读了用户指南、文本与非增强型商品的文本(或多或少)相同。 不清楚 Rx 移位寄存器是否复位到第1位、或者它是否只是在 STE 线切换之前继续保持它的关闭状态(就像在旧的 MSP f1611、f2618、f427中一样...)。
Marty、您好!
我想我理解您的说法。 在阅读用户指南时、当 UCxSTE 转换为从器件非活动状态(禁用但不复位 eUSCI 模块)时、RX 移位寄存器不会复位、而是会暂停。 如果在发生这种情况时接收到数据、那么当 UCxSTE 转换回从器件激活状态时、RX 移位寄存器中可能会有剩余的数据。 eUSCI 由一个 PUC 或 UCSWRST 位复位。
理想情况下、UCxSTE 在所有数据都已接收或发送时转换、而不是在接收或发送时转换。 我不确定在这些类型的问题开始发生之前可以在本地路由 SPI 信号的距离、但我一定会研究滤除或消除该噪声的方法。 显然、eUSCI 模块将对任何类型的信号、噪声或有意的信号做出反应。
基本上、您所做的工作听起来是最佳方法、Jens-Michael Gross 在以下主题中进行了讨论。
此致、
James
谢谢 James、
该系列的好之处是、我可以将 STE 功能映射到端口1或2上的引脚、并将其配置为中断! 这就省去了将 CS 线路连接到两个引脚的需要。 我将中断设置为在 CS 禁用沿触发、ISR 代码只需切换 UCSWRST 位即可重置 SPI 子系统。 我可以通过在传输中包含和测试数据包 CRC 来处理固件中的噪声。 我尚未完全测试 STE 引脚映射选项、但在其他项目中使用了复位技巧。
供其他读取器参考:此 SPI 噪声问题是一个罕见的事件、具体取决于信号长度、负载参数和环境条件。 这不是您通常需要担心的问题。