首页 理论教育 串行通信类别与帧格式-单片微机原理及接口技术

串行通信类别与帧格式-单片微机原理及接口技术

时间:2023-11-02 理论教育 版权反馈
【摘要】:同步串行通信时,要建立发送方时钟对接收方时钟的直接控制,要求双方达到完全同步。在异步串行通信系统中,字符帧格式和波特率是两个重要指标,可以由用户根据实际情况选择确定。

串行通信类别与帧格式-单片微机原理及接口技术

按照串行传输数据的控制方式的不同,串行通信可分为同步串行通信和异步串行通信两类。

1.同步串行通信

同步串行通信(SynchronousCommunication)是一种按二进制位帧格式连续地串行传输数据的通信方式,一次通信传送一组数据(可以是多个字节的数据)。同步串行通信时,要建立发送方时钟对接收方时钟的直接控制,要求双方达到完全同步。在发送数据前,先要发送同步命令,再按照时钟连续发出数据,一般每个时钟周期发送1位数。同步命令可以采用单字符同步,或者多字符同步,同步命令字符帧格式如图8-3所示。

978-7-111-51881-5-Chapter08-3.jpg

图8-3 同步串行通信帧结构

因此,同步串行通信的帧结构由同步字符(同步头或命令)、长度码、传输数据(多字节数)和校验码(可采用奇偶校验、和校验、CRC校验等)四部分组成。在实际应用中,同步命令可以采用统一的标准帧格式,也可由用户自定义。

同步串行通信的数据传输速率比较高,通常可达56000bit/s以上。但同步串行通信要求有统一的时钟,数据发送方和接收方的时钟必须保持严格同步,否则将会产生通信紊乱或出错,故实现的硬件电路比较复杂。

2.异步串行通信

在异步串行通信(Asynchronous Communication)中,数据传输以字符或者字节为单位组成帧格式传送。字符帧由发送端一帧一帧地发送,通过传输线路为接收设备一帧一帧地接收。发送端和接收端可以由各自的时钟来控制数据的发送和接收,即不需要传送同步时钟,这两个时钟源彼此独立,互不同步,但要求传输速率一致。在异步通信中,两个字符之间的传输间隔是任意的,所以每个字符的前后都要用一些数位作为分隔位。

数据的发送和接收依靠字符帧格式来协调。在通信线路空闲时,发送线为电平(逻辑1电平),每当接收端检测到传输线上发送过来的低电平(逻辑0电平)时,就知道发送端已经开始发送数据。当接收到字符帧中停止位时就知道一帧数据传输发送完毕。

在异步串行通信系统中,字符帧格式和波特率是两个重要指标,可以由用户根据实际情况选择确定。

(1)字符帧

字符帧(Character Frame)也叫数据帧,一般由起始位、数据段(数据+校验码)和停止位三部分组成,如图8-4和图8-5所示。

978-7-111-51881-5-Chapter08-4.jpg(www.xing528.com)

图8-4 异步串行通信帧格式

978-7-111-51881-5-Chapter08-5.jpg

图8-5 带空闲位的异步串行通信帧格式

帧格式中各字段功能如下:

起始位:只占1位,位于字符帧的开头,通常为逻辑“0”电平,用于向接收设备表示发送端开始发送一帧数据。

数据位:紧跟在起始位之后,用户可根据情况取数据的第6位、第7位或第8位作为有效位。发送时从低位开始发送,即先发数据的第0位、再发第1位,依次逐位发送。如果是ASCII码字符,一般有效位只有前7位。

奇偶校验位:占1位,紧跟数据位之后,用于对串行通信数据进行校验,也可以由用户定义为其他控制含义。通常在数据通信时需要防止数据传输出错,确保传输数据可靠,都要进行校验。

停止位:占1位,紧跟在校验位之后,用逻辑“1”电平表示。停止位根据实际要求,可取第1位、第1.5位或者第2位,用于向接收端表示一帧数据发送完成,也可为发送下一帧数据做好准备。

在串行通信中,发送端一帧一帧地发送数据,接收端一帧一帧地接收数据,两个相邻的字符数据帧之间可以没有空闲位,也可以有1个或者多个空闲位,数据较长时可以增加长度码,通常由用户根据实际需要决定空闲位的多少。

(2)波特率

波特率(Baud Rate)是串行通信中重要的指标,单位为bit/s,表示每秒传送二进制数码的位数,也叫比特率。波特率用于表述数据传输速率,波特率越高,数据传输速率越快,但可靠性、抗干扰性会变差。因此,通信波特率的设定应该根据环境和实际需要,不能盲目求快。

波特率和字符的实际传输速率不同,字符的实际传输速率是指每秒内所传送字符数据帧的多少,而字符的实际传输速率与字符帧有关,例如,设定波特率为2400bit/s的通信系统,若采用图8-4所示的帧格式传输,每一字符数据帧包含11位,则实际传输速率为2400/11=218.182帧/s;如果采用图8-5所示的帧格式传输,每一字符数据帧包含3个空闲位,共有14位,则实际传输速率为2400/14=171.429帧/s。

异步串行通信的优点是通信双方不需要传送同步时钟,字符数据帧长度不受限制,因此设备比较简单。缺点是字符数据帧中因包含起始位、停止位而降低了有效数据的传送速率。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈