SPI(Serial Peripheral Interface)串行外设接口

来源:互联网 发布:为linux开发界面难吗 编辑:程序博客网 时间:2024/03/28 17:52

SPI是一种高速、全双工、同步的通信总线。

SPI主设备负责产生系统时钟,并决定整个SPI网络的通信速率。所有的SPI设各都采用相同的接口方式,可以通过调整处理器内部寄存器改变时钟的极性和相位。由于SPI器件并不一定遵循同一标准,比如EEPROM、DAC、ADC、实时时钟及温度传感器等器件的SPI接口的时序都有所不同,为了能够满足不同的接口需要,采用时钟的极性和相位可配就能够调整SPi的通信时序。

SPI设备传输数据过程中总是先发送/接收高位数据,每个时钟周期收/发器左移1位数据。对于小于16位的数据在发送之前必须左对齐,如果接收的数据小于16位则采用软件将无效的数据位屏蔽,如图1所示。

图1 SPI通信数据格式

SPI接口有主和从两种操作模式,通过MASTER/SLAVE位(SPICTL.2)选择操作模式以及SPICLK信号的来源,如图2所示。

图2 SPI主控制器/从控制器的连接

(1)全双工主机/从机连接方法


(2)一个主机和多个从器件的通信系统


(3)几个单片机互相连接构成多主机通信系统















0 0