串口通信知识点讲解

一、什么是串口通信

串行通讯是指仅用一根接收线和一根发送线就能将数据以位进行传输的一种通讯方式。

尽管串行通讯的比按字节传输的并行通信慢,但是串口可以在仅仅使用两根线的情况下就能实现数据的传输。典型的串口通信使用3根线完成,分别是地线、发送、接收。

由于串口通信是异步的,所以端口能够在一根线上发送数据同时在另一根线上接收数据。串口通信最重要的参数是波特率、数据位、停止位和奇偶的校验。

对于两个需要进行串口通信的端口,这些参数必须匹配,这也是能够实现串口通讯的前提。

 

二、数据结构

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

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

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

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

假设数据字节为 01010101(二进制形式),其1的个数是4(偶数)。偶校验:校验位应为0,使得总的1的个数(4 + 0)保持偶数。奇校验:校验位应为1,使得总的1的个数(4 + 1)变成奇数。停止位: 停止位可以是是1位、1.5位或2位,可以由软件设定。它一定是逻辑1电平,标志着传输一个字符的结束。

三、数据通信

数据通信的方式一共有两种,串行通信和并行通信

串行通信的基本特征是数据逐位顺序依次传输,优点是传输线少成本低,抗干扰能力强可用于远距离传输,缺点就是传输速率低。而并行通信是数据各位可以通过多条线同时传输,优点是传输速率高,缺点就是线多成本就高了,抗干扰能力差因而适用于短距离、高速率的通信

四、数据传输方向

数据传输方向一共有三种 单工 半双工 全双工

单工是指数据传输仅能沿一个方向,不能实现反方向传输。半双工是指数据传输可以沿着两个方向,但是需要分时进行。全双工是指数据可以同时进行双向传输。这里注意全双工和半双工通信的区别:半双工通信是共用一条线路实现双向通信,而全双工是利用两条线路,一条用于发送数据,另一条用于接收数据。

五、数据同步方式

数据同步方式有两种 同步通信和异步通信

同步通信要求通信双方共用同一时钟信号,在总线上保持统一的时序和周期完成信息传输。优点:可以实现高速率、大容量的数据传输,以及点对多点传输。缺点:要求发送时钟和接收时钟保持严格同步,收发双方时钟允许的误差较小,同时硬件复杂。

异步通信不需要时钟信号,而是在数据信号中加入开始位和停止位等一些同步信号,以便使接收端能够正确地将每一个字符接收下来,某些通信中还需要双方约定传输速率。优点:没有时钟信号硬件简单,双方时钟可允许一定误差。缺点:通信速率较低,只适用点对点传输。

六、通信速率

在数字通信系统中,通信速率(传输速率)指数据在信道中传输的速度,它分为两种:传信率和传码率。

传信率:每秒钟传输的信息量,即每秒钟传输的二进制位数,单位为 bit/s(即比特每秒),因而又称为比特率。

传码率:每秒钟传输的码元个数,单位为 Baud(即波特每秒),因而又称为波特率。

比特率和波特率这两个概念常常被混淆。比特率很好理解,我们来看看波特率,波特率被传输的是码元,码元是信号被调制后的概念,每个码元都可以表示一定 bit 的数据信息量。举个例子,在 TTL 电平标准的通信中,用 0V 表示逻辑 05V 表示逻辑 1,这时候这个码元就可以表示两种状态。如果电平信号 0V2V4V 6V 分别表示二进制数 00011011,这时候每一个码元就可以表示四种状态。由上述可以看出,码元携带一定的比特信息,所以比特率和波特率也是有一定的关系的。

由上述可以看出,码元携带一定的比特信息,所以比特率和波特率也是有一定的关系的。

比特率 = 波特率 * log2M1

举个例子:波特率为 100 Baud,即每秒传输 100 个码元,如果码元采用十六进制编码(即M=16,代入上述式子),那么这时候的比特率就是 400 bit/s。如果码元采用二进制编码(即 M=2,代入上述式子),那么这时候的比特率就是 100 bit/s。(这个时候再来回顾一下前面讲的波特率就很明白了,采用二进制的时候,波特率和比特率数值上相等。)

七、RS232

RS232通讯就是在原串口通讯(UART)基础上加了一个MAX232芯片,将原TTL电平转换为232电平,保留了UART串口通讯的全双工特性。 

MAX232TTL高低电平差放大,如下图所示:

因高低电平相差近20v,这样即使某一个信号受到干扰,高低电平还有很大的改变余量。所以它的抗干扰能力增强了很多,传输距离也会更长,由原来串口通讯的1m增加到15m。 

八、RS485

RS232增加了抗干扰能力和传输距离,但是速率只有20k,波特率最大只能达到19200

RS485则克服了这个缺点。RS485是在原串口通讯的基础上加了一块485转换芯片。负责将原高低电平信号转换为差分信号。差分信号只需要两根线不需要地线。通过判断信号AB的高低来输出逻辑0/1

485转换芯片和232转换芯片一样不仅能将TTL高低电平转换为差分信号,也能将差分信号转换为TTL高低电平,RS485半双工串行异步通信。

 备注:差分传输在这两根线上都传输信号,这两个信号的振幅相同,相位相反。在这两根线上的传输的信号就是差分信号。信号接收端比较这两个电压的差值来判断发送端发送的逻辑状态。在电路板上,差分走线必须是等长、等宽、紧密靠近、且在同一层面的两根线。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值