SPI接口
1.1 SPI接口简介
SPI(Serial Peripheral Interface,串行外设接口)是由摩托罗拉(Motorola)在1980前后提出的一种全双 工同步串行通信接口,它用于MCU与各种外围设备以串行方式进行通信以交换信息,通信速度最高可达 25MHz以上。 SPI接口主要应用在EEPROM、FLASH、实时时钟、网络控制器、OLED显示驱动器、AD转换器,数字信号处理器、数字信号解码器等设备之间。
SPI接口通常由四条线组成,一条主设备输出与从设备输入(Master Output Slave Input,MOSI),一条主设 备输入与从设备输出(Master Input Slave Output,MISO),一条时钟信号(Serial Clock,SCLK),一条从设备使能选择(Chip Select,CS)。
图1 SPI 一主一从示意图
SPI通信只能有一个主机,但可以有一个或多个从机。图1显示了主机和从机之间的SPI连接。产生时钟信号的器件称为主机。主机和从机之间传输的数据与主机产生的时钟同步。SPI接口可以同时发出和接收数据,因此SPI接口的理论传输速度比I²C更快。SPI 接口通过片选引脚选择从机,一个片选一个从机,因此在多从机结构中,需要占用较多引脚。
来自主机的CS(片选信号)用于选择从机。这通常是一个低电平有效信号,拉高时从机与SPI总线断开连接。当使用多个从机时,主机需要为每个从机提供单独的片选信号。本文中的片选信号始终是低电平有效信号。MOSI和MISO是数据线。MOSI将数据从主机发送到从机,MISO将数据从从机发送到主机。
|