串行通信简介(SPI, IIC, UART)

一 串行通信与并行通信

主机与外设或主机与主机之间通过一条(极少数)线路将数据按位顺序传输的方式实现数据的传输与共享。

另外与之相对的还有并行通信,即多个数据通过多条线路同时传输。

通俗的理解:主机与外设就像城镇,传输的线路就像车道,车流量即数据流量。

城市之间路途远,车流量小,只有一条车道,城市内部因车流量大,需要多车道并行。

延伸到通信的应用场合也是如此,串行通信节省传输线,在远距离传输成本更低;

而并行通信传输速度快、效率高,多用在实时、快速的场合。

二 串行通信的通信方式

  • 同步通信:根据时钟信号同步传输,即一个时钟信号,传输一个位;常见的有 SPI,IIC。 
  • 异步通信:不带时钟同步信号;常见的有UART,单总线。

  其中异步通信是通过约定相同的波特率(发送二进制数据位的速率)进行传输,

  发送端通过一定的波特率进发送,接收端按照该波特率进行数据的解析

三 串行通信的传送方式

  1. 单工:只允许数据在一个方向上传输。                     //单向单车道
  2. 半双工:允许数据在不同时刻在任一方向上传输。   //潮汐车道
  3. 全双工:允许数据同时在两个方向上传输。              //双向单车道

四 常见的串行通信接口

通信标准 引脚说明 通信方式 通信方向
UART

TXD:发送端  

RXD:接受端  

GND:公共地

异步通信 全双工
单总线 DQ:发送/接受端 异步通信 半双工
SPI

SCK:同步时钟  

MISO:主机输入,从机输出  

MOSI:主机输出,从机输入

同步通信 全双工
I2C

SCL:同步时钟  

SDA:数据输入/输出端

同步通信 半双工

 

原文地址:https://www.cnblogs.com/Gimiracle/p/13492641.html