简介
SPI总线是Motorola公司推出的三线同步接口,同步串行三线方式进行通信:一条时钟线SCK,一条数据输出线MOSI(Master Output Slave Input),一条数据输入线MISO(Master Input Slave Output)。SPI是Serial Peripheral Interface的缩写。
SPI是全双工的,一般用于单主机(Master)的场合。SPI总线上的从机(Slave)没有地址的概念,主机只能通过与从机连接的片选线(CS/SS)激活一个从机,进行数据传输。所以从机越多,带来的不便就是片选线相应增多。
SPI一般用于片间传输,不适合用于设备间数据传输,Motorola白皮书没有明确规定SPI的传输距离。但是根据经验,考虑干扰和高速带来的不可靠性,最好保持在50CM内。传输速率上,已知的有的器件SPI已达到50Mbps,一般也能达到5Mbps左右,总体来说比IIC要快。在无人机应用上,SPI一般用于云台的IMU与MCU的数据传输,因为云台尤其是搭载高倍变焦的相机的云台需要更高的实时性,而飞控的IMU用IIC总线或者CAN总线就能满足要求。