SPI 概览
介绍
- SPI(Serial Peripheral Interface,串行外围设备接口)是一种高速、全双工的同步串行通信协议
- 常用于驱动 EEPROM、Flash、RTC、DSP 等硬件
基本特点
优点
- 支持全双工通信
- 传输速率快
- 协议支持字长不限于8bit
- 通信方式简单
缺点(对比 I2C)
- 比 I2C 多两根线,需要更多接口
- 没有寻址机制,依靠片选机制选择从机
- 没有 ACK 回应,通信稳定性不可靠
- 仅支持单主机控制
*附注
- 实际 SPI 速度未严格定义上限,其速度跟主从设备硬件性能和布线长度有很大相关性
- 由于是短距离通信,为了达到高速通信,在 PCB 布局的时候,主机和从机的距离应该尽量靠近
接口定义
- SCK(Serial Clock):时钟信号线,用于同步通讯数据。由通讯主机产生,决定了通讯的速率,不同的设备支持的最高时钟频率不同
- MOSI(Master Output, Slave Input):主设备输出/从设备输入引脚。主机的数据从这条信号线输出,从机由这条信号线读入主机发送的数据,数据方向由主机到从机
- MISO(Master Input,Slave Output):主设备输入/从设备输出引脚。主机从这条信号线读入数据,从机的数据由这条信号线输出到主机,数据方向由从机到主机
- CS(Chip Select):片选信号线,一般低电平有效。
SPI 一主多从连接图
图片缺失: spi_1.png