Other Parts Discussed in Thread: MSP430FR2673
您好!
在具有特定 SMCLK 设置的 SPI (eUSCI)受控模式中、UCxCLK 输入的最大可能时钟频率是多少?
我在数据表和用户指南中都找不到此信息。
此致、
奥巴
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.
Other Parts Discussed in Thread: MSP430FR2673
您好!
在具有特定 SMCLK 设置的 SPI (eUSCI)受控模式中、UCxCLK 输入的最大可能时钟频率是多少?
我在数据表和用户指南中都找不到此信息。
此致、
奥巴
嗨、Oba、
我认为它在频率方面的定义不太明确、它更多地定义为总线上主器件和从器件的设置时间。
在这个图中、你可以看到 f_UCxCLK 是 T_low/高电平时间周期中的两个。

在第8.12.7.5节 SPI 从表的注释中、如果指定了如何计算 F_UCxCLK

为了便于参考、这里是关于 SPI 主器件的同一表。

因此、使用每侧的 MSP430FR2673、两侧均以3V 电压供电、这是计算方法、我们需要使用最慢的计算方法。
主器件输出-从器 件输入:t_valid、M0 (主器件)+ t_su、si (从器件)= 20ns + 6ns = 26ns
从器件输出、主器件输入: t_su、mi (主器件)+ T_VALID、s0 (从器件)= 42ns + 40ns = 82ns
82ns * 2 = 164ns。
1/164ns =~ 6MHz
如图所示、它确实取决于每一侧的器件。 因此、从您正在查看的主器件中获取这些数字、以计算其速度是否更快或更慢。
谢谢。
JD
您好、Oba:
我想我误解了您的问题。 我正在讨论 "SPI 从器件的最大可能速度是多少?" 但我想您基本上会问"使用1MHz SPI 时钟时、哪个 SMCLK 是最慢的?"
这对我来说不是很清楚。 从 TRM 来看、我的理解是、在从/目标模式下、SPI 总线时钟实际上是时钟输入/输出来自 TX/RX 移位寄存器的数据。 SMCLK 只会在读取和加载这些寄存器或处理中断时起作用。
SPI 目标进行时钟延展并且告知 SPI 主器件它需要更多时间、因此它需要跟上 RX 缓冲区的读取并加载 TX 缓冲区的进度。
时间方面、您将拥有1 MHz / 8位、但您必须读出接收到的数据并在这段时间内加载下一个数据、这将需要一些时钟来获取和存储等。 根据应用程序代码、可能会定义所需的确切时钟数量、但正如您提到的、以.5MHz 运行(每个事务仅4个时钟周期)似乎不够。
我估计至少绝对需要8-10个时钟才能读取和加载数据、但是如果使用中断、可能是其中的几个。
希望这对您有所帮助。
JD