首页 理论教育 单片机串行通信简介-单片机应用技术

单片机串行通信简介-单片机应用技术

时间:2023-11-06 理论教育 版权反馈
【摘要】:图6.1两种通信方式的连接方法串行通信是指数据按顺序依次传送的通信方式,其优点是只需一对传送线,这就可大大降低传送成本,特别适用于远距离通信;其缺点是传送速度较慢。图6.2串行通信的传送方向异步通信串行通信有两种基本通信方式,即异步通信和同步通信。图6.3异步通信的一帧数据格式停止位用来表示字符的结束,它一定是高电位。

单片机串行通信简介-单片机应用技术

1)数据通信的概念

在实际工作中,计算机的CPU与外部设备之间要进行信息交换;一台计算机与其他计算机之间也经常要交换信息,所有这些信息交换均可称通信。

通信方式有并行通信和串行通信两种。通常,根据信息传送的距离决定采用哪种通信方式。例如,在IBM-PC机与外部设备(如打印机等)通信时,如果两者距离小于30 m,可采用并行通信方式;如两者距离大于30 m时,则要采用串行通信方式。8051单片机与打印机之间的数据传送属于并行通信。图6.1(a)所示为并行通信的连接方法。并行通信在位数多、传送距离又远时不适用。

图6.1 两种通信方式的连接方法

串行通信是指数据按顺序依次传送的通信方式,其优点是只需一对传送线(电话线就可作为传送线),这就可大大降低传送成本,特别适用于远距离通信;其缺点是传送速度较慢。如果并行传送N位数据所需时间为T,那么串行传送相同数据所需的时间至少为NT,实际传送时间总是大于NT的。图6.1(b)所示为串行通信方式的连接方法。

2)串行通信的传送方向

串行通信的传送方向有3种:第1种是单向(或单工)配置,只允许数据向一个方向传送;第2种是半双向(或半双工)配置,允许数据向两个方向中的任一方向传送,但每次只能由一个站发送;第3种是全双向(或全双工)配置,允许同时双向传送数据,故全双工配置是一对单向配置,它要求两端的通信设备都具有完整的、独立的发送和接收能力。

图6.2所示为串行通信中的数据传送方向。

图6.2 串行通信的传送方向

(1)异步通信

串行通信有两种基本通信方式,即异步通信和同步通信。

在异步通信中,数据是一帧一帧(包含一个字符代码或一字节数据)传送的,每一串行帧的数据格式如图6.3所示。

在帧格式中,一个字符由4个部分组成,起始位、数据位。奇偶校验位和停止位。首先是起始位为“0”,然后是5~8位数据(低位在前,高位在后),再接奇偶校验位(可省略),最后是停止位“1”。起始位“0”信号只占用一位,用于通知接收设备有待接收的字符,线路上在不传送字符时,应保持为“1”。接收端不断检测线路的状态,若连续为“1”,之后又测到了“0”,说明发来一个新字符,应马上准备接收。字符的起始位还被用作同步接收端的时钟,以保证以后的接收能正确进行。

起始位后面紧接数据位,它可以是5位(D0~D4)、6位、7位或8位(D0~D7)。

奇偶校验(D8)只占一位,但在字符中也可以不用奇偶校验位,即奇偶校验位可省去。也可用这一位(1/0)来确定这一帧中的字符所代表信息的性质(地址/数据等)。

(www.xing528.com)

图6.3 异步通信的一帧数据格式

停止位用来表示字符的结束,它一定是高电位(逻辑“1”)。停止位可以是1位、1.5位或2位。接收端收到停止位后,说明上一字符已传送完毕,同时,也为接收下一个字符做好准备。只要再收到“0”,就是新的字符的起始位。若停止位以后不是紧接着传送下一个字符,则让线路上保持为“1”。图6.3(a)表示一个字符紧接着另一个字符传送的情况,上一个字符的停止位和下一个字符的起始位是相邻的;图6.3(b)则是两个字符间有空闲为的情况,空闲为“1”线路处于等待状态。存在空闲位是异步通信的特征之一。

(2)同步通信

在同步通信中,数据开始传送前用同步字符来指示(常约定为1~2个),并由时钟来实现发送端和接收端同步,即检测到规定的同步字符后就连续按顺序传送数据,直到通信完成。同步传送时,字符与字符间没有间隙,也不需要起始位和停止位,仅在数据块开始时用同步字符SYNC来指示,其数据格式如图6.4所示。

图6.4 同步传送的数据格式

同步字符的插入可以是单同步字符方式或双同步字符方式,如图6.4所示。同步字符可以由用户约定,也可采用ASCII码中规定的SYN代码,即16H。按同步方式通信时,先发送同步字符,接收方检测到同步字符后,再接收数据。

在同步传送时,要求用时钟来实现发送端与接收端之间的同步。为了保证接收正确的代码,发送方除了传送数据外,还要把时钟信号同步传送。

同步传送的优点是可以提高传送速率。

3)波特率

波特率(Baud rate)即数据传送速率,表示每秒钟传送二进制代码的位数,它的单位是位/秒(bps)。波特率对CPU与外界的通信很重要。假设数据传送速率是120字符/秒,而每个字符格式包含10个代码位(1个起始位、1个终止位、8个数据位),这时传送的波特率为:

10×120位/秒=1 200(bps)

每一位代码的传送时间Td为波特率的倒数。

波特率是衡量传输通道频宽的指标,它和传送数据的速率并不一致。如上例中,若去掉起始位和终止位,每一个数据实际只占8位。所以数位的传送速率为:

8×120=960(位/s)

异步通信的传送速度为50~19 200波特。常用于计算机到终端机和打印机之间的通信、直通电报以及无线电通信的数据传送等。

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

我要反馈