通信方式的分类
在了解串口通信之前,需要先对于常见的通信方式有一个基础的认知。
1. 串行、并行通信
- 串行通信:利用一条传输线将数据一位位地顺序传送
- 并行通信:利用多条传输线将一个数据的各位同时传送
2. 异步、同步通信
- 同步通信:信息发送设备与接收设备需要时钟同步,两者间除数据线连接,还需要额外的时钟线连接。
- 异步通信:信息中包含特殊标志位Start / Stop,接收设备根据特殊标志位利用本地时钟对数据采样。异步通信不需要同步的时钟信号,但是它的数据会被包装成帧的形式,一帧当中包括开始位、停止位、校验位等数据(同步信号数据)。
时钟信号的理解:
所谓的时钟信号,也被称为时钟脉冲,是以方波的形式存在。一个完整的时钟脉冲,就被称作时钟周期(参考PWM对于时钟信号进行理解)。而在单片机中概念中所提及的时钟,无非是一个固定频率的方波发生器。
3. 单工、半双工、全双工通信
- 单工通信:单工通信只支持信号在一个方向上传输(正向或反向),任何时候不能改变信号的传输方向。
- 半双工通信:半双工通信允许信号在两个方向上传输,但某一时刻只允许信号在一个信道上单向传输。因此,半双工通信实际上是一种可切换方向的单工通信。
- 全双工通信:全双工通信允许数据同时在两个方向上传输,即有两个信道,因此允许同时进行双向传输。全双工通信是两个单工通信方式的结合,要求收发双方都有独立的接收和发送能力。
4. 常见的串行通信方式
通信接口 | 接口引脚 | 数据同步方式 | 数据传输方向 |
---|---|---|---|
UART(通用异步收发器) | TXD:发送端 RXD:接收端 GND:公共地 | 异步通信 | 全双工 |
1-wire | DQ:发送/接收端 | 异步通信 | 半双工 |
IIC | SCL:同步时钟 SDA:数据输入/输出端 | 同步通信 | 半双工 |
SPI | SCK:同步时钟 MISO:主机输入,从机输出 MOSI:主机输出,从机输入 CS:片选信号 | 同步通信 | 全双工 |