UART、I2C和SPI对比
1 UART、I2C和SPI对比
UART | I2C | SPI | |
---|---|---|---|
英文名 | Universal Asynchronous Receiver/Transmitter | Inter-Integrated Circuit | Serial Peripheral Interface |
中文名 | 通用异步收发传输器 | 集成电路总线 | 串行外设接口 |
发明公司 | DEC(Digital Equipment Corporation) | Philips | Motorola |
I/O线 | TX - 数据发送接口 RX - 数据接受接口 |
SCL - 串行时钟线 SDA - 串行数据线接口 |
MOSI - (主机输出/ 从机输入) MISO - (主机输入/ 从机输出) SCLK - 时钟信号 CS - 片选 |
速度 | 几百 - 1.152Mbps | 100kbps(标准模式) 400kbps(快速模式) 3.4Mbps(高速模式) |
几Mbps,比I2C快 |
双工 | 全双工 | 半双工 | 全双工 |
同/异 | 异步 | 同步 | 同步 |
2 UART设备连接和时序
2.1 设备连接示意图
2.2 时序
数据位可为5-8位,停止位可为1、1.5、2位,奇偶校验位可选。假设波特率为9600,那么每一位(起始位,数据位的每一位)的时间宽度为1/9600s
3 I2C设备连接和时序
3.1 设备连接示意图
3.2 时序
开始信号(S):SCL高时,SDA的下降沿
停止信号(P):SCL高时,SDA的上升沿
数据信号(B):在SCL低时变化,SCL高时保持稳定
应答信号(ACK、NACK)
4 SPI设备连接和时序
4.1 SPI设备连接
4.2 时序
CPOL(Clock Polarity)、CPHA(Clock Phase)决定数据的稳定、改变与时钟上升沿、下降沿的关系