概述串行外设接口(SPI) 电路是同步串行数据链接,在主机或从机模式下提供于外部器件的特性。若外部处理器与系统连接,它还使能处理器间通信。
串行外设接口实质上是一个将串行传输数据位发送到其它SPI 的移位寄存器。数据传输时,一个SPI 系统作为“主机”控制数据流,其它SPI 作为“ 从机'' ,主机控制数据的移入与移出。不同的CPU 可轮流作为主机( 多主机协议与单主机协议不同,单主机协议中只有一个CPU 始终作为主机,其它CPU 始终作为从机) 且一个主机可同时将数据移入多从机。但只允许单从机将其数据写入主机。
当主机插入NSS 信号时,选定一个从机。若有多从机存在,主机对每个从机产生一个独立的从机选择信号(NPCS)。
SPI 系统包括两条数据线及两条控制线:
? 主机输出从机输入(MOSI):该数据线将主机输出数据作为从机输入移入。
? 主机输入从机输出(MISO):该数据线将从机输出作为主机输入。传输时,只有单从机传输数据。
? 串行时钟(SPCK):该控制线由主机驱动,用来调节数据流。主机传输数据波特率可变;每传输一位,产生一个SPCK 周期。
? 从机选择(NSS):该控制线允许硬件开关从机。
SPI 主要特性如下:
? 支持与串行外设器件通信
– 有外部解码器的4个片选,最多可与15个外设通信
– 串行存储器,如DataFlash 及3 线EEPROM
– 串行外设,如ADC、DAC、LCD 控制器、CAN 控制器及传感器
– 外部协处理器
? 主机或从机串行外设总线接口
– 每个片选线, 8 到16 位可编程数据长
– 每个片选线,可编程相位与极性
– 每个片选线,连续传输时或时钟与数据间的可编程发送延迟
– 连续传输间可编程延迟
– 可选错误模式检测
? 与PDC 通道连接以优化数据传输
– 发送器与接收器各一个通道
– 支持下一级缓冲器