单片机原理与接口技术第7章 89C51串行口及串行通信技术

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

2020年1月19日星期日1第七章89C51串行口及串行通信技术7.1串行通信基本知识7.2串行口及应用返回2020年1月19日星期日27.1串行通信基本知识7.1.1数据通信7.1.2串行通信的传输方式7.1.3异步通信和同步通信7.1.4串行通信的过程及通信协议返回2020年1月19日星期日37.1.1数据通信•在实际工作中,计算机的CPU与外部设备之间常常要进行信息交换,一台计算机与其他计算机之间也往往要交换信息,所有这些信息交换均可称为通信。•通信方式有两种,即并行通信和串行通信。返回2020年1月19日星期日4在并行通信方式中,数据各位同时传送,如下图所示。(a)并行通信7.1.1数据通信其优点是传送速度快;缺点是数据有多少位,就需要多少根传送线。2020年1月19日星期日57.1.1数据通信•串行通信指数据是一位一位按顺序传送的通信方式。•它的突出优点是只需一对传输线(利用电话线就可作为传输线),这样就大大降低了传送成本,特别适用于远距离通信;•其缺点是传送速度较低。假设并行传送N位数据所需时间位T,那么串行传送的时间至少为NT,实际上总是大于NT的。返回2020年1月19日星期日6(b)并行通信2020年1月19日星期日7•通常根据信息传送的距离决定采用哪种通信方式。•例如,在IBM-PC机与外部设备(如打印机等)通信时,如果距离小于30m,可采用并行通信方式;当距离大于30m时,则要采用串行通信方式。89C51单片机具有并行和串行二种基本通信方式。2020年1月19日星期日87.1.2串行通信的传输方式•串行通信的传送方式通常有三种:1.单向(或单工)配置,只允许数据向一个方向传送;2.半双向(或半双工)配置,允许数据向两个方向中的任一方向传送,但每次只能有一个站点发送;3.全双向(全双工)配置,允许同时双向传送数据,因此,全双工配置是一对单向配置,它要求两端的通信设备都具有完整和独立的发送和接受能力。•图7-2所示为串行通信中的数据传送方式。返回2020年1月19日星期日9图7-2串行通信中的数据传送方式返回2020年1月19日星期日107.1.3异步通信和同步通信•串行通信有两种基本通信方式,即异步通信和同步通信。1、异步通信在异步通信中,数据是一帧一帧(包括一个字符代码或一字节数据)传送的,每一帧的数据格式如图7-3所示返回2020年1月19日星期日11图7-3异步通信数据格式返回2020年1月19日星期日121、异步通信•在帧格式中,一个字符由四个部分组成:起始位、数据位、奇偶校验位和停止位。首先是一个起始为(0),然后是5位--8位数据(规定低位在前,高位在后),接下来是奇偶校验位(可省略),最后是停止位(1)。返回2020年1月19日星期日131、异步通信•起始位(0)信号只占用一位,用来通知接收设备一个待接收的字符开始到达。线路上在不传送字符时应保持为1。接收端不断检测线路的状态,若连续为1以后又测到一个0,就知道发来一个新字符,应马上准备接收。字符的起始位还被用作同步接收端的时钟,以保证以后的接收能正确进行。•起始位后面紧接着是数据位,它可以是5位(D0--D4)、6位、7位或8位(D0--D7)。•奇偶校验(D8)只占一位,但在字符中也可以规定不用奇偶校验位,则这一位就可省去。也可用这一位(1/0)来确定这一帧中的字符所代表信息的性质(地址/数据等)。•停止位用来表征字符的结束,它一定是高电位(逻辑1)。停止位可以是1位、1.5位或2位。接收端收到停止位后,知道上一字符已传送完毕,同时,也为接收下一个字符做好准备--只要再接收到0,就是新的字符的起始位。若停止位以后不是紧接着传送下一个字符,则使线路电平保持为高电平(逻辑1)。返回2020年1月19日星期日14•图7-3(a)表示一个字符紧接一个字符传送的情况,上一个字符的停止位和下一个字符的起始位是紧邻的;•图7-3(b)则是两个字符间有空闲位的情况,空闲位为1,线路处于等待状态。存在空闲位正是异步通信的特征之一。•例如,规定用ASCII编码,字符为七位,加一个奇偶校验位、一个起始位、一个停止位,则一帧共十位。1、异步通信返回2020年1月19日星期日15异步通信过程可概述为:对于发送方来说,发送时,先输出低电平的起始位,然后按特定速率发送数据位(包括奇偶校验位),当最后一位数据(对于采用奇偶校验的异步通信来说,最后一个数据位往往是奇偶校验位)发送完毕后,发送一个高电平的停止位,这样就发送完了一帧数据。如果不再需要发送新数据或数据尚未准备就绪时,就将数据传输线钳位在高电平状态。接收方不断检测传输线的电平状态,当发现传输线由高电平变为低电平时(起始位标志),即认为有数据传入,进入接收准备状态,然后以相同速率检测传输线的电平状态,接收随后送来的数据位、奇偶校验位和停止位。2020年1月19日星期日16即在异步通信方式中,发送方通过控制数据线的电平状态来完成数据的发送;接收方通过不断检测数据线的电平状态确认是否有数据传入以及接收的数据位是0还是1,只要发送速率和接收检测速率相同,即能准确接收,发送、接收设备可以使用各自的时钟源完成数据的发送和接收,无须使用同一时钟信号。可见,异步串行通信所需传输线最少,一根数据线和一根地线,就能实现数据传送,在单片机控制系统中得到了广泛应用。2020年1月19日星期日17同步通信是一种数据连续传输的串行通信方式。通信时,发送方把需要发送的多个字节数据和校验信息连接起来,组成数据块。发送时,发送方只需在数据块前插入1~2个特殊的同步字符,然后按特定速率逐位输出(发送)数据块内的各位数据。接收方在接收到特定的同步字符后,也按相同速率接收数据块内的各位数据。典型的同步通信数据帧格式如下:2、同步通信2020年1月19日星期日182、同步通信•同步传送时,字符与字符之间没有间隙,也不用起始位和停止位,仅在数据块开始时用同步字符SYNC来指示。•在同步传送时,要求用时钟来实现发送端与接收端之间的同步。为了保证接收正确无误,发送方除了传送数据外,还要同时传送时钟信号。•同步传送可以提高传输速率(达56kb/s或更高),但硬件比较复杂。返回2020年1月19日星期日193.波特率在串行通信系统中常用波特率来衡量通信的快慢,含义是每秒中传送的二进制数码的位数,单位是位/秒(b/s或Kb/s),简称“波特”。例如,两个异步串行通信设备之间每秒钟传送的信息量是240字节,如果一帧数据包含10位(1个起始位、8个数据位和1个停止位),则发送、接收波特率为:240B/s×10位=2400b/s=2400波特2020年1月19日星期日203、波特率(Baudrate)•每一位代码的传送时间Td为波特率的倒数。Td=1b/1200b/s=0.833ms•异步通信的传送速率在50b/s--19200b/s之间,常用于计算机到终端机和打印机之间的通信、直通电报以及无线电通信的数据发送等。返回2020年1月19日星期日217.1.4串行通信的过程及通信协议1、串←→并转换与设备同步两个通信设备在串行线路上成功地实现通信必须解决两个问题:一是串←→并转换,即如何把要发送的并行数据串行化,把接收的串行数据并行化;二是设备同步,即同步发送设备与接收设备的工作节拍,以确保发送数据在接收端被正确读出。返回2020年1月19日星期日221、串←→并转换与设备同步(1)串←→并转换串行通信是将计算机内部的并行数据转换成串行数据,将其通过一根通信线传送;并将接收的串行数据再转换成并行数据送到计算机中。返回2020年1月19日星期日231、串←→并转换与设备同步•在计算机串行发送数据之前,计算机内部的并行数据被送入移位寄存器并一位一位地输出,将并行数据转换成串行数据。如图7-5所示。•在接收数据时,来自通信线路的串行数据被压入移位寄存器,满8位后并行送到计算机内部。如图7-6所示。•在串行通信控制电路中,串--并、并--串转换逻辑被集成在串行异步通信控制器芯片中。返回2020年1月19日星期日24图7-5返回2020年1月19日星期日25图7-6返回2020年1月19日星期日26(2)设备同步•进行串行通信的两台设备必须同步工作才能有效地检测通信线路上的信号变化,从而采样传送数据脉冲。•设备同步对通信双方有两个共同要求:一是通信双方必须采用统一的编码方法;二是通信双方必须能产生相同的传送速率。返回2020年1月19日星期日27(2)设备同步•采用统一的编码方法确定了一个字符二进制表示值的位发送顺序和位串长度,当然还包括统一的逻辑电平规定,即电平信号高低与逻辑1和逻辑0的固定对应关系。•通信双方只有产生相同的传送速率,才能确保设备同步,这就要求发送设备和接收设备采用相同频率的时钟。发送设备在统一的时钟脉冲上发出数据,接收设备才能正确检测出与时钟脉冲同步的数据信息。返回2020年1月19日星期日282、串行通信协议•通信协议是对数据传送方式的规定,包括数据格式定义和数据位定义等。•通信双方必须遵守统一的通信协议。串行通信协议包括同步协议和异步协议两种。•在此只讨论异步串行通信协议和异步串行协议规定的字符数据的传送格式。返回2020年1月19日星期日292、串行通信协议(1)起始位•通信线上没有数据被传送时处于逻辑1状态。•当发送设备要发送一个字符数据时,首先发出一个逻辑0信号,这个逻辑低电平就是起始位。•起始位通过通信线传向接收设备,接收设备检测到这个逻辑低电平后,就开始准备接收数据位信号。•起始位所起的作用就是设备同步,通信双方必须在传送数据位前协调同步。返回2020年1月19日星期日302、串行通信协议(2)数据位当接收设备收到起始位后,紧接着就会收到数据位。数据位的个数可以是5、6、7或8。这些数据位被接收到移位寄存器中,构成传送数据字符。在字符数据传送过程中,数据位从最低有效位开始发送,依次顺序在接收设备中被转换为并行数据。返回2020年1月19日星期日312、串行通信协议(3)奇偶校验位数据位发送完之后,可以发送奇偶校验位。奇偶校验用于有限差错检测,通信双方需约定已知的奇偶校验方式。如果选择偶校验,那么组成数据位和奇偶位的逻辑1的个数必须是偶数;如果选择奇校验,那么逻辑1的个数必须是奇数。返回2020年1月19日星期日322、串行通信协议(4)停止位约定在奇偶位或数据位(当无奇偶校验时)之后发送的是停止位。停止位是一个字符数据的结束标志,可以是1位,1.5位或2位的高电平。接收设备收到停止位之后,通信线路上便又恢复逻辑1状态,直至下一个字符数据的起始位到来。返回2020年1月19日星期日332、串行通信协议(5)波特率设置通信线上传送的所有位信号都保持一致的信号持续时间,每一位的信号持续时间都由数据传送速度确定,而传送速度是以每秒多少个二进制位来衡量的,这个速度叫波特率。如果数据以300个二进制位每秒在通信线上传送,那么传送速度为300波特,通常记为300b/s。返回2020年1月19日星期日347.2串行口及应用•89C51单片机除具有4个8位并行口外,还具有串行接口。•此串行接口是一个全双工串行通信接口,即能同时进行串行发送和接收数据。•它可以作UATR(通用异步接收和发送器)用,也可以作同步移位寄存器用。•使用串行接口可以实现89C51单片机系统之间点对点的单机通信和89C51与系统机(如IBM-PC机等)的单机或多机通信。返回2020年1月19日星期日357.2串行口及应用•7.2.189C51串行口•7.2.289C51串行口的工作方式及应用返回2020年1月19日星期日367.2.189C51串行口1、结构2、串行口控制字及控制寄存器3、串行通信工作方式4、波特率设计返回2020年1月19日星期日371、结构•89C51通过引脚RXD(P3.0,串行数据接收端)和引脚TXD(P3.1,串行数据发送端)与外界进行通信。其内部结构简化示意图如图7-7所示。图中有两个物理独立的接收、发送缓冲器SBUF,它们占用同一地址99H,可同时发送

1 / 67
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功