一、串口通信简介
串口通信,顾名思义也就是利用串行接口进行通信。串行接口指串口按位(bit)发送和接收字节。尽管比按字节(byte)传输的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。
串口通信中比较重要的参数包括波特率、数据位、停止位及校验位,通讯双方需要约定一致的数据格式才能正常收发数据。串行通讯根据通信双方的分工和信号传输方向可以进一步分为单工、半双工和全双工三种。在串口通信中,常用的协议包括RS-232、RS-422和RS-485。它们的主要区别在于其各自的电平范围不相同。
二、串行通信的传输方向
数据通信中,数据在线路上的传送方式(方向)可以分为:单工通信、半双工通信和全双工通信三种。
1 单工(Simplex Communication )
单工模式通信使用一根传输线,其数据传输是单向的,仅能沿一个方向,不能实现反向传输,即通信双方发送端和接收端的身份是固定的。通信双方中,一方固定为发送端,一方则固定为接收端。
- 例子:早期的电视,广播,打印机
2 半双工(Half Duplex Communication)
半双工模式通信一般使用一根(或一对)传输线,数据可以沿两个方向传输,既可以发送数据又可以接收数据,但不能同时进行发送和接收,同一时刻只允许单方向传送。因此又被称为双向交替通信。数据传输允许数据在两个方向上传输,但是,在任何时刻只能由其中的一方发送数据,另一方接收数据。
半双工模式收发两端都有发送器和接收器,通过收/发开关转接到通信线上。半双工通信中每端需有一个收发切换电子开关,若要改变传输方向,需由开关进行切换,通过切换来决定数据向哪个方向传输。由于要频繁切换信道方向,会产生时间延迟,故传输效率低些,但可以节约传输线路。半双工方式适用于终端与终端之间的会话式通信。
- 例子:对讲机,RS485
3 全双工(Full Duplex Transmission)
全双工模式通信指数据由两根不同的数据线(可能还需要控制线、状态线、地线)传送,可以同时进行双向传输。即数据的发送和接收分流,通信双方都能在同一时刻进行发送和接收操作。从功能角度方面讲,全双工通信相当于两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力。因此,通信系统的每一端都设置了发送器和接收器,来控制数据同时在两个方向上传送。
与半双工模式相比,全双工可同时进行数据收发,且无需进行方向的切换,没有切换操作所产生的时间延迟。 显然,在其它参数都一样的情况下,全双工比半双工传输速度要快,信息传输效率要高。这对那些不能有时间延误的交互式应用(例如远程监测和控制系统)十分有利。
- 例子:手机通话,RS422,RS232
三、串行通信的错误校验
在通信过程中往往要对数据传送的正确与否进行校验。校验是保证准确无误传输数据的关键。常用的校验方法有奇偶校验、代码和校验及循环冗余码校验。
(1)奇偶校验
在发送数据时,数据位尾随的1位为奇偶校验位(1或0)。
(2)常用算法校验
代码和校验是发送方将所发数据块求和(或各字节异或),产生一个字节的校验字符(校验和)附加到数据块末尾。
(3)循环冗余校验
这种校验是通过某种数学运算实现有效信息与校验位之间的循环校验,常用于对存储区的完整性、磁盘信息的传输校验等。
1 奇偶校验
奇偶校验指的是在发送数据时,利用数据中“1”的个数是奇数或偶数作为检测错误的标志。通常在数据位后面设置1位奇偶校验位(1或0),用它使这组代码中“1”的个数为奇数或偶数。奇校验时,数据中“1”的个数与校验位“1”的个数之和应为奇数;偶校验时,数据中“1”的个数与校验位“1”的个数之和应为偶数。接收学符时,接收端对数据位“1”的个数进行校验,若发现发送端结果与不一致,则说明传输数据过程中出现了错误。此时接收端可以向发送端发送请求,要求重新发送一遍数据。
- 奇校验:此时奇偶校验位的作用就是保证所有数据位加奇偶校验位的所有比特位中值为1的比特位的个数为奇数。
若数据位中共有奇数个值为1的比特位,则此时奇偶校验位的值为0。
若数据位中共有偶数个值为1的比特位,则此时奇偶校验位的值为1。 - 偶校验:此时奇偶校验位的作用就是保证所有数据位加奇偶校验位的所有比特位中值为1的比特位的个数为偶数。
若数据位中一共有奇数个值为1的比特位,则此时奇偶校验位的值为1。
若数据位中一共有偶数个值为1的比特位,则此时奇偶校验位的值为0。
例子:
假设传输的数据位为01001100,如果是奇校验,则奇校验位为0(确保总共有奇数个1);如果是偶校验,则偶校验位为1(要确保总共有偶数个1)。
优缺点:
奇偶校验的缺点很明显,首先,它对错误的检测概率大约只有50%。因为只有奇数个数据位发生变化能检测到,如果偶数个数据位发生变化则无能为力了。另外,每传输一个字节都要附加一位校验位,对传输效率有较大影响。因此,在高速数据通讯中很少采用奇偶校验。奇偶校验可以发现错误,但不能纠正错误,也就是说它只能告诉你出错了,但不能告诉你怎么出错了,一旦发现错误,只能重发。
奇偶校验优点也很明显,它很简单,因此可以用硬件来实现,这样可以减少软件的负担。因此,奇偶校验也被广泛的应用着。

本文详细介绍了串口通信的基本原理,包括串行通信的传输方向、错误校验方法、传输速率与距离的关系等内容,并探讨了发送与接收时钟的重要性。
最低0.47元/天 解锁文章
9304





