SPI总线协议需要了解哪些知识点?
外围的
Interface)总线技术是摩托罗拉推出的同步串行接口。现在市面上大部分的MCU(微控制器)都配有SPI硬件接口,比如i.MX和TI系列MCU。精力
它用于CPU和各种外设之间的全双工和同步串行通信。SPI可以同时发送和接收串行数据。它只需要四条线就可以完成单片机与各种外围设备的通信。这四条线分别是:串行时钟线(CSK)、主输入/从输出数据线(MISO)、主输出/从输入数据线(MOSI)和低电平有效从选择线CS。这些外围设备可以是简单的TTL移位寄存器、复杂的LCD显示驱动器、A/D、D/A转换子系统或其他MCU。
SPI工作时,移位寄存器中的数据从输出引脚(MOSI)逐位输出(高位优先),而从输入引脚(MISO)接收的数据则逐位移位至移位寄存器(高位优先)。发送一个字节后,从另一个外设接收的字节数据进入移位寄存器。主SPI的时钟信号(SCK)同步传输。典型的系统框图如下图所示。
SPI的主要特性是:
可以同时发送和接收串行数据;
可以做主人也可以做奴隶;
提供频率可编程时钟;
发送结束中断标志;
写冲突保护;
公交竞争保护等。
图2显示了SPI总线的四种工作模式,其中最常用的模式是SPI0和SPI3(用实线表示):
精力
为了与外设交换数据,其输出串行同步时钟的极性和相位可以根据外设的工作要求进行配置,时钟极性(CPOL)对传输协议没有显著影响。如果
CPOL=0,串行同步时钟空闲状态为低;如果CPOL=1,串行同步时钟的空闲状态为高电平。时钟相位(CPHA)可以配置为选择两种不同传输协议之一进行数据传输。如果CPHA=0,数据在串行同步时钟的第一个跃迁沿(上升或下降)采样;如果CPHA=1,数据在串行同步时钟的第二个跃迁沿(上升或下降)采样。SPI主模块和与之通信的外设声音时钟的相位和极性应该一致。SPI总线接口时序如图所示。
其实如果你想更好的了解,可以去致远电子了解一下。