如何计算数字隔离器支持的最大 SPI 速度?
串行外设接口 (SPI) 是一种单主、4 线、同步串行通信接口,涉及的 4 个信号为 - SCLK、SDO (MOSI)、SDI (MISO) 和 CS\ (SS\)。主器件为所有从器件提供时钟 SCLK,在每个时钟周期中传输一位。因此,SPI 接口的速度由 SCLK 的频率决定。
在 SCLK 的上升沿期间,数据会更改为需要传输的值,在下降沿期间,数据保持稳定,以便可以对其进行采样。下图通过图示显示了这种情况。
下图显示了 SoC 和 MCU 之间通过四通道数字隔离器实现的典型 SPI 连接。下图还显示了传输延迟在通过数字隔离器时如何对 SCLK 移位,以及它如何影响正在接收的数据。
从器件在 SCLK 的上升沿准备数据,主器件在 SCLK 的下降沿对数据进行采样。由于数据需要在半个 SCLK 周期内读取,并且 SCLK/SDOI 一起经历数字隔离器的往返传输延迟,因此最小 SPI 时钟周期或最大 SPI 速度可按如下方式表示。
2 * tpd(max) < tSCLK(min) / 2
也就是说,
fSCLK(max) < 1 / [ 4 * tpd(max) ]
例如,让我们考虑一下 ISO7741,在 VCC1 = VCC2 = 5V 时,它的 tpd(max) 为 16ns。在 ISO7741 上可实现的最大 SPI 速度为 fSCLK(max) = 15.6MHz。