编译器:IAR 4.21.6
SPI 设置为从器件。 主时钟为312.5kHz
观察结果:
MISO 线路不与时钟输入的上升沿同步。
这种情况很少发生在上电复位后。 在软件的较长运行时间(几个小时)内也很少发生这种情况。
大多数情况下、一切都按照 SPI 规范正常工作、没有任何问题。
逻辑分析仪记录:
如果发生上述错误、可以在时钟线的上升沿和数据线的变化(MISO)之间观察到延迟。
这个延迟在运行期间增加、直到 MISO 线路的数据变化和时钟线路的下降边沿同时发生。
发生这种情况时、主器件将无法再正确解释传输的数据。
复位后的通信:
在复位后、可以观察到~750ns 的延迟。 MISO 线路应在上升沿改变其输出。
MISO 时序偏移:
复位300ms 后、数据线会进一步移向时钟的下降沿。
上次“成功”通信:
复位后的1.04秒、数据线变化几乎与时钟线的下降边沿一致。
处理器的 SPI 单元怎么可能以这种方式工作?