一、spi
SPI 是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口,是同步传输协议,特征是:设备有主机(master)和从机(slave)的区分,主机在通讯时发送时钟信号。
SPI 的信号: CS: 从机片选信号,表示主机将于该选定的从机通讯。低电平有效。在多从机的系统中,主机控制多条 CS 信号线,每条连接到一个从机。
SCK: 串行时钟线,从主机连接到每一个从机。 MOSI: 主出从入数据线。SPI 的数据线上,数据是单向的。因此需两条信号线。
MISO: 主入从出数据线。 在 SPI 系统中,只允许有一个主机。如果主机在工作时发现任何 CS 线被其他设备拉低,将报告一个系统错误,并退出运行。
二、I2C
一种双向的同步串行总线,是半双工,而不是全双工 ,同一时间只可以单向通信。IIC协议首先是发送从机硬件地址,然后发送命令,再发送数据/寄存器编号或者读取数据。IIC协议可以多字节连续读写数据。
I2C 的特点和信号: I2C 也可以是多从系统,它是通过地址信息来选择从机的。因此,它去了片选信号线。 I2C 允许在同一系统中有多个主机,他通过一套仲裁协议来解决主机的冲突。在一个系统中,允许设备在主机和从机间转换角色。
SCL: 时钟信号线。
SDA: 数据信号线。 I2C 通过复杂的协议减少了连接线,并允许多主多从。但它的代价是低的传输速度。
I2C 定义的传输模式:
* 标准模式:最高 100kbit/s,双向;
* 快速模式:最高 400kbit/s,双向,兼容标准模式;
* 快速模式Plus:最高 1Mbit/s,双向,兼容前两种模式;
* 超级快速模式:最高 5Mbit/s,单向(主机只发送),不兼容,不支持多主。 在实际使用中,主要是标准模式和快速模式。
三、UART与 USART
UART 是一种异步串行通讯协议,它通过收发双方精准的本地时钟来定时采样或切换信号电平。 UART 的收发双方是一对一的,且无主从之分。任何一方都可以在任何时刻发送数据。 UART 的双方必须采用事先约定的相同“波特率”(定时标准)来通讯。目前也有一些接收方通过对固定信号的检测来确定波特率的技术,但应用不广泛。
UART 的信号:
RXD: 接收信号线 TXD:
发送信号线 通讯的双方是将此二线交叉对接的。
USART 是对 UART 的扩展。它除了支持异步传输之外,也支持同步传输。但目前较少应用。
四、PCIe
PCIe(Peripheral Component Interconnect Express)是继ISA和PCI总线之后的第三代I/O总线,是一种高速串行计算机扩展总线标准。 与PCI总线不同,PCIe总线使用端到端的连接方式,在一条PCIe链路的两端只能各连接一个设备,这两个设备互为是数据发送端和数据接收端。PCIe总线除了总线链路外,还具有多个层次,发送端发送数据时将通过这些层次,而接收端接收数据时也使用这些层次。PCIe总线使用的层次结构与网络协议栈较为类似。
参考:
SPI原理超详细讲解---值得一看_Z小旋的博客-CSDN博客
pCIe 是什么 ? -- 基本知识_qqliyunpeng的博客-CSDN博