SPI 总线通信电路设计 由于SPI(setial peripheralinterface)总线占用的接口线少,通信效率高,并且支持大部分处理器芯片,因而是一种理想的选择
SPI 是利用4根信号线进行通信的串行接口协议,包括主/从两种模式
4个接口信号为:串行数据输入(MISO,主设备输入、从设备输出)、串行数据输出(MOSI,主设备输出、从设备输入)、移位时钟(SCK)、低电平有效的从设备使能信号(cs)
SPI 最大的特点是由主设备时钟信号的出现与否来确定主/从设备间的通信
一旦检测到主设备的时钟信号,数据开始传输
由一个主机对接一个从机进行全双工通信的系统构成的方式
在该系统中,由于主机和从机的角色是固定不变的,并且只有一个从机,因此,可以将主机的丽端接高电平,将从机的SS 端固定接地
图1 全双工主机/从机连接方法 本系统采用的是由两个单片机互相连接构成多主机通信系统,SPI 主设备负责产生系统时钟,并决定整个SPI 网络的通信速率
所有的SPI 设各都采用相同的接口方式,可以通过调整处理器内部寄存器改变时钟的极性和相位
由于SPI 器件并不一定遵循同一标准,比如 EEPROM、DAC、ADC、实时时钟及温度传感器等器件的SPI 接口的时序都有所不同,为了能够满足不同的接口需要,采用时钟的极性和相位可配就能够调整 SPi 的通信时序
SPI 设各传输数据过程中总是先发送或接收高字节数据,每个时钟周期接收器或收发器左移1位数据
对于小于16位的数据在发送之前必须左对齐,如果接收的数据小于16位则采用软件将无效的数据位屏蔽,当主机发送一个连续的数据流时,有些外设能够进行多字节传输
多数具有 S P I 接口的存储芯片就以这种方式工作
在这种传输方式下,从机的片选端必须在整个传输过程中保持低电平
此时,一次传输可能会涉及到成千上万字节的信息,而不必在每个字节的数据发