SPI(Serial Peripheral Interface)是一种同步串行通信协议,通常用于在芯片之间传输数据。SPI协议使用四根线进行通信:主设备发送数据(MOSI),从设备发送数据(MISO),时钟信号(SCLK)和片选信号NSS(CS)。
(1)NSS:从设备选择信号线,常称为片选信号线,当有多个SPI从设备与SPI主机相连时,设备的其他信号线SCK、MOIS及MISO同时并联到相同的SPI总线上,即无论有多少个从设备,都共同使用这3条总线,而每个从设备都有独立的一条NSS信号线,本信号线独占主机的一个引脚,即有多少个从设备,就有多少条片选线。SPI协议使用NSS信号线来寻址,当主机要选择从设备时,把该从设备的NSS信号线设置为低电平,该从设备即被选中,即片选有效,主机便开始与被选中的从机通信。所以SPI通信以NSS线置低电平为开始信号,以NSS线被拉高作为结束信号。
(2)SCK:时钟信号线,用于通信数据同步。它由通信主机产生,决定了通信速率,两个设备之间通信时,通信速率受限于低速设备。
(3)MOSI:主设备发送,从设备接收。
(4)MISO:主设备接收,从设备发送。