分享
14、SPI
输入“/”快速插入内容
14、
SPI
用户5985
用户5985
4月12日修改
一、什么是
SPI
SPI
是英语
Serial Peripheral interface
的缩写,顾名思义就是串行外围设备接口。是Motorola(摩托罗拉)首先在其MC68HCXX系列处理器上定义的。
SPI
,是一种高速的,全双工,同步的通信总线。
代码块
Bash
高速的:通常可以达到几百kHz到几十MHz的范围。
全双工:支持全双工,可以同时收发
总线:支持一个主设备,一个或多个从设备。
二、SPI主从模式
SPI分为主、从两种模式,一个SPI通讯系统需要包含一个(且只能是一个)主设备,一个或多个从设备。提供时钟的为主设备(Master),接收时钟的设备为从设备(Slave),SPI接口的读写操作,都是由主设备发起。当存在多个从设备时,通过各自的片选信号进行管理。
三、SPI信号线
SPI接口一般使用四条信号线通信
MOSI(Master Output Slave Input): 主设备输出/从设备输入引脚。该引脚在主模式下发送数据,在从模式下接收数据。
MISO(Master Input Slave Output): 主设备输入/从设备输出引脚。该引脚在从模式下发送数据,在主模式下接收数据。
SCLK:串行时钟信号,由主设备产生。
CS/SS:从设备片选信号,由主设备控制。它的功能是用来作为“片选引脚”,也就是选择指定的从设备,让主设备可以单独地与特定从设备通讯,避免数据线上的冲突。
UART、IIC、SPI的对比
UART
IIC
SPI
通讯方式
异步
同步
同步
通讯线
TXD 发送
RXD 接收
GND 地
SDA 数据
SCL 时钟
MOSI 主发从收
MISO 主收从发
SCK 时钟
CS 片选
设备从属
一对一
总线
总线
通讯速率
从几十Kbps到几Mbps
标准模式下可达100kbps,快速模式下可达400kbps,高速模式下可达3.4Mbps
几十Mbps甚至上百Mbps