文章目录
1. 通信方式分类
处理器与外部设备通信的两种方式:并行通信与串行通信
1.1 并行通信
并行通信是指数据的各个位用多条数据线同时进行传输
优点:传输速度快
缺点:占用引脚资源多
1.2 串行通信
串行通信是将数据分成一位一位的形式在一条传输线上逐个传输
优点:通信线路简单、占用引脚资源少
缺点:传输速度慢
1.2.1 串行通信之同步通信
带时钟同步信号的数据传输;发送方和接收方在同一时钟的控制下,同步传输数据。
1.2.2 串行通信之异步通信
不带时钟同步信号的数据传输。发送方与接收方使用各自的时钟控制数据的发送和接收过程。(需要约定波特率,即1s内发送或接收多少bit的数据)
1.2.3 串行通信的方向
单工 :数据只能沿一个方向传输
半双工:数据传输可以沿两个方向,但需要分时进行
全双工:数据可以同时进行双向传输
1.2.4 常见的串行通信接口
- SPI的MISO中的M代表主机,S代表从机
2. UART
- UART (universal asynchronous receiver-transmitter)是一种采用异步串行通信方式的通用异步收发传输器
- 它在发送数据时将并行数据转换成串行数据来传输,在接收数据时将接收到的串行数据转换成并行数据
- 协议层: 通信协议(包括数据格式、传输速率等)
- 物理层:接口类型、电平标准等
2.1 协议层
2.1.1 协议层-数据格式
UART串口通信需要两根信号线来实现,一根用于串口发送,另外一根负责串口接收
- 数据线在未发送数据之前处于空闲状态
- 当需要开始发送数据的时候首先会发送一个低电平作为起始位
- 数据位在起始位之后,数据位的位宽是事先约定好的(常用的是8bit)
- 接在数据位后面的就是校验位和停止位
- 校验位:分为奇校验和偶校验(假设数据位有五个1,这时奇校验就会补零,偶校验就会补1,保证1的个数为奇或偶),接收设备会检查我们的奇偶校验位,如果符合括号内的规则就认为是有效的,否则就丢掉
- 停止位:会拉高一个1个或者1.5个或者2个波特率
- 重点:以115200的波特率为例,即1s要传输115200bit的数据。所以,传输1bit的时间就是10的九次方ns除以115200,这个时间是固定不变的。假设我们的发送时钟是50M,所以一个时钟周期是20ns,所以发送一位占用的时钟周期就是10的九次方ns除以115200再除以20ns,也就是434个左右的时钟周期可以发送1bit的数据。所以起始位、数据位的每一位、校验位、停止位都是434个时钟周期。
2.1.2 协议层-传输速率
串口通信的速率用波特率表示,它表示每秒传输二进制数据的位数,单位是bps(位/秒)常用的波特率有9600、19200、38400、57600以及115200等。
2.2 物理层
2.2.1 接口标准
针对异步串行通信的接口标准有RS232、RS422、RS485等
- RS232是负逻辑电平,-15V代表逻辑1,+15V代表逻辑0。RS422和RS485都是正逻辑电平
- RS232是3线全双工TX(发送)、RX(接收)、GND(低电平),在发送或接送时要和GND比对
- RS422和RS485都是差分传输的,差分信号线都是成对出现的(差分信号对)
3. RS232的接口
3.1 DB9实物
- 公头排针,母头插孔
3.2 DB9 接口定义
3.3 USB接口定义