
SPI 时序详解
SPI 总线是 Motorola 公司推出的三线同步接口,同步串行 3 线
方式进行通信:一条时钟线 SCK,一条数据输入线 MOSI,一条数据输
出线 MISO;用于 CPU 与各种外围器件进行全双工、同步串行通讯。SPI
主要特点有:可以同时发出和接收串行数据;可以当作主机或从机工作;提
供频率可编程时钟;发送结束中断标志;写冲突保护;总线竞争保护等。
SPI 总线有四种工作方式(SP0, SP1, SP2, SP3),其中使用的最为
广泛的是 SPI0 和 SPI3 方式。SPI 模块为了和外设进行数据交换,根据
外设工作要求,其输出串行同步时钟极性和相位可以进行配置,时钟极
性(CPOL)对传输协议没有重大的影响。如果 CPOL=0,串行同步时钟
的空闲状态为低电平;如果 CPOL=1,串行同步时钟的空闲状态为高电
平。时钟相位(CPHA)能够配置用于选择两种不同的传输协议之一进行
数据传输。如果 CPHA=0,在串行同步时钟的第一个跳变沿(上升或下
降)数据被采样;如果 CPHA=1,在串行同步时钟的第二个跳变沿(上升
或下降)数据被采样。
SPI 主模块和与之通信的外设音时钟相位和极性应该一致。
SPI 时序详解---SPI 接口在模式 0 下输出第一位数据的时刻 SPI
接口有四种不同的数据传输时序,取决于 CPOL 和 CPHL 这两位的组合。
图 1 中表现了这四种时序,时序与 CPOL、CPHL 的关系也可以从图中
看出。