SPI的基本介绍
SPI的简介
SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口,是Motorola首先在其MC68HCXX系列处理器上定义的。
SPI接口主要应用在EEPROM、FLASH、实时时钟、AD转换器,还有数字信号处理器和数字信号解码器之间。SPI是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议,比如AT91RM9200。
SPI分为主、从两种模式,一个SPI通讯系统需要包含一个(且只能是一个)主设备,一个或多个从设备。SPI接口的读写操作,都是由主设备发起。当存在多个从设备时,通过各自的片选信号进行管理。
优点:支持全双工通信、通信简单、数据传输速率快;
缺点:没有指定的流控制,没有应答机制确认是否接收到数据,所以跟IIC总线协议比较在数据的可靠性上有一定的缺陷。
STM32中SPI接口的特点
3线全双工同步传输;
8或16位传输帧格式选择;
主或从操作,支持多主模式;
主模式和从模式下均可以由软件或硬件进行NSS管理:主/从操作模式的动态改变;
可编程的时钟极性和相位;
可编程的数据顺序,MSB在前或LSB在前;
可触发中断的专用发送和接收标志;
SPI总线忙状态标志;
支持可靠通信的硬件CRC;
可触发中断的主模式故障、过载以及CRC错误标志;
支持DMA功能的1字节发送和接收缓冲器:产生发送和接受请求。
|