目录
串口通信原理
串行通信基础知识
处理器与外部设备通信的两种方式:
并行通信:数据的各个位用多条数据线同时传输。传输速度快,占用引脚多
串行通信:数据分成一位一位的形式在一条传输线上逐个传输。传输速度慢,占用引脚少。
串行通信的通信方式:
同步通信:带时钟同步信号的数据传输,接收方和发送方在同一时钟的控制下,同步传输。
异步通信:不带时钟同步信号的数据传输,接收方和发送方各自使用各自的时钟控制接受和发送。要约定好传输速率。
串行通信的传输方向:
单工:数据只能沿一个方向传输
半双工:数据传输能沿两个方向传输,但需要分时进行
全双工:数据可以同时双向传输(两条信号线)
常见的串行通信接口:
异步串口通信UART基础知识
UART(通用异步收发器),两条信号线。
发送时 | 并行数据→串行数据 |
接收时 | 串行数据→并行数据 |
理解:
协议层:通信协议(包括数据格式、传输速率等)
物理层:接口类型、电平标准等
协议层:
数据格式:
空闲状态下:高电平
起始位(低电平)表示一帧数据的开始,接收方准备接收数据
数据位:可以为5、6、7、8位,8位最常用
校验位:用来检验数据在传输过程中是否出错。
奇校验:发送方需要保证数据位和检验位中1的个数为奇数。(数据位中0101101,则校验位为1,满足五个1),接收方进行检测。
偶校验:发送方需要保证数据位和检验位中1的个数为偶数。(数据位中0101101,则校验位为0,满足四个1),接收方进行检测。
停止位:可以为1、1.5、2位(保持1、1.5、2个时钟周期的高电平),表示一帧数据的结束。之后数据线回到空闲状态。
传输速率:
用波特率表示。波特率:每秒钟传输二进制数据的位数(bit),单位bps(位/秒),常用波特率:9600、19200、38400、57600、115200
物理层:
接口标准:
RS232:
点对点:A~B;
单端传输(信号线+地线,两线差值作为传输数据);
最大传输距离15m
RS422:
差分传输(两条极性相反的信号线,A+、A-,两线差值作为传输数据,受到干扰为共模干扰,减法运算被抵消,故抗干扰能力强);
点对多:一个主设备和多个从设备(A~b,A~c)
1200m传输距离
RS485:
分时进行;
多点双向通信:一个主设备和多个从设备(A~b,A~c,b~c),形成通信网络
RS232接口
常见接口类型DB9