串口通信基础知识

转自:

硬件知识:串口通信基础知识介绍

STM32串口通信详解

Video:

超简单的一种通信,2分钟搞懂,串口通讯的工作原理!_哔哩哔哩_bilibili

5分钟看懂!串口RS232 RS485最本质的区别!_哔哩哔哩_bilibili

1 串行通讯与并行通讯

按数据传送的方式,通讯可分为串行通讯与并行通讯。

串行通讯:是指设备之间通过一根数据信号线,地线以及控制信号线,按数据位形式一位一位地传输数据的通讯方式,同一时刻只能传输一位(bit)数据

并行通讯:是指使用 8、16、32 及 64 根或更多的数据线(有多少信号为就需要多少信号位)进行传输的通讯方式,可以同一时刻传输多个数据位的数据

串行通讯与并行通讯的特性对比:

并行可以同时发送多位数据所以速度比串行的速度要快很多,但并行要的数据线也更多相对成本会更高,而且并行传输对同步要求较高,且随着通讯速率的提高,信号干扰的问题会显著影响通讯性能。

2. 串口通讯模式

单工通信:信息只能单方向传输的工作方式,一个固定为发送设备,另一个固定为接收设备,发送端只能发送信息不能接收信息,接收端只能接收信息不能发送信息,只需一根信号线

半双工通信:可以实现双向的通信,但不能在两个方向上同时进行,必须轮流交替进行,其实也可以理解成一种可以切换方向的单工通信,同一时刻必须只能一个方向传输,只需一根数据线

全双工通信:在同一时刻,两个设备之间可以同时收发数据,全双工方式无需进行方向的切换,这种方式要求通讯双方均有发送器和接收器,同时需要2根数据线。

常见串口通信接口:

3. 同步通讯与异步通讯

同步通讯:收发设备双方会使用一根信号线表示时钟信号,在时钟信号的驱动下双方进行协调,同步数据,通讯中通常双方会统一规定在时钟信号的上升沿或下降沿对数据线进行采样,对应时钟极性与时钟相位。

SPI 的同步通信:

异步通讯:不需要时钟信号进行数据同步,它们直接在数据信号中穿插一些同步用的信号位,或者把主体数据进行打包,以数据帧(串口:起始位 数据 校验位(可以没有) 停止位)的格式传输数据,某些通讯中还需要双方约定数据的传输速率(波特率),以便更好地同步

4. 串口通讯协议

可以实现点对点的通信方式,但这种方式不能实现联网功能,这就促生了RS422和RS485。

我们知道串口通信的数据传输都是0和1,在单总线、I2C、UART中都是通过一根线的高低电平来判断逻辑1或者逻辑0,但这种信号线的GND与其他设备形成共地模式的通信,这种共地模式传输容易产生干扰,并且抗干扰性能也比较弱。所以差分通信、支持多机通信、抗干扰强的RS422和RS485就被广泛的使用了。

RS422和RS485通信最大特点就是传输速度最大可以达到10Mb/s以上,最大传输距离超过1000米。大家需要注意的是虽然485最大速度和最大传输距离都很大,但是传输的速度是会随距离的增加而变慢的,所以两者是不可以兼得的。

5. RS232详细介绍

5.1 RS232的基本特性

RS-232是串行数据接口标准,是由电子工业协会(EIA: Electronic Industries Alliance)制订并发布的工业标准,以保证不同厂家产品之间的兼容。特性如下:

图3 RS232基本特性

5.2 RS232的物理特性

在RS232的通讯方式中,两个通讯设备的"DB9接口"之间通过串口信号线建立起连接,串口信号线中使用"RS-232标准"传输数据信号。D型或D-subminiature(D形状超小型)连接器的原始编号系统使用D作为前缀(将其名称命名为系列),然后根据外壳尺寸选择A,B,C,D或E,末尾数字表示引脚数量。详见下图:

RS232物理特性

5.3 RS232的通信协议

RS232一般使用DB9接口,由于两个通讯设备之间的收发信号(RXD与TXD)应交叉相连,所以调制调解器端的DB9母头的收发信号接法一般与公头的相反。DB9公头、母头以及引脚说明详见下方图和表。

DB9公头与母头

表1 DB9引脚说明

5.4 RS232的波特率

在信道中,携带数据信息的信号单元叫码元,单位时间内通过信道传输的码元数称为码元传输速率,简称波特率(Baud Rate),其单位是波特(Baud,symbol/s),波特率是传输通道频宽的指标。RS232典型的“波特率”是300/1200/2400/9600/19200/38400/115200 /230400等。

表2 不同BAUD Rate对应的RS232通信距离

5.5 RS232的数据结构

一个完整的串行数据,也就是一个数据帧(Data frame),包括起始位、数据位、停止位、奇偶校验位。数据位前后即帧头和帧尾,包含一些必要的控制信息。

RS232数据结构

起始位:起始位必须是持续一个比特时间的逻辑0电平,标志传输一个字符的开始,接收方可用起始位使自己的接收时钟与发送方的数据同步。

数据位:数据位紧跟在起始位之后,是通信中的真正有效信息。数据位的位数可以由通信双方共同约定。传输数据时先传送字符的低位,后传送字符的高位。

奇偶校验位:奇偶校验位仅占一位,用于进行奇校验或偶校验,奇偶检验位不是必须有的。如果是奇校验,需要保证传输的数据总共有奇数个逻辑高位;如果是偶校验,需要保证传输的数据总共有偶数个逻辑高位。

停止位:停止位可以是是1位、1.5位或2位,可以由软件设定。它一定是逻辑1电平,标志着传输一个字符的结束。

空闲位:空闲位是指从一个字符的停止位结束到下一个字符的起始位开始,表示线路处于空闲状态,必须由高电平来填充

5.6 RS232与RS232(TTL)

RS-232电平标准的信号不能直接被控制器直接识别,所以这些信号会经过一个"电平转换芯片"转换成控制器能识别的"TTL校准"的电平信号,才能实现通讯。

TTL全名是晶体管-晶体管逻辑集成电平(Transistor-Transistor Logic),这种串行通信,对应的物理电平,始终是在0V和Vcc之间,其中常见的Vcc是5V或3.3V。TTL 高电平1是>=2.4V,低电平0是<=0.5V(对于5V或3.3V电源电压),这里是正逻辑。

2.54mm PIN排针

RS-232电平标准的信号不能直接被控制器直接识别,所以这些信号会经过一个"电平转换芯片"转换成控制器能识别的"TTL"的电平信号,才能实现通讯。

RS232 电平信号转换

转换电路图如下所示:

RS232 电平信号转换电路图

6. RS422简介

RS-422 的总线标准规定了总线接口的电气特性标准,发送端:正电平在+2V~+6V之间,表示逻辑状态“1”;负电平在-2V~-6V之间,则表示逻辑状态“0”;接收器:(V+) - (V-) ≥0.2V,表示信号“0”;(V+) - (V-) ≤0.2V,表示信号“1”)。

RS-422 采用全双工通讯方式,有4根信号线,收与发是分开的,可以同时收和发。适用于两个站之间通信,如星型网、环网等,不可用于总线网。

RS-422全双工(点对点)接线方式

7. RS485简介

RS-485的电气特性与RS-422基本一样。它采用半双工通讯方式,有2根信号线,在半双工模式下工作,常用于总线网。其具体接线方式如下图所示:

RS485(点对多点)接线方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值