单片机串行数据通信技术研讨(ppt 61页).ppt_第1页
单片机串行数据通信技术研讨(ppt 61页).ppt_第2页
单片机串行数据通信技术研讨(ppt 61页).ppt_第3页
单片机串行数据通信技术研讨(ppt 61页).ppt_第4页
单片机串行数据通信技术研讨(ppt 61页).ppt_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机串行数据通信技术,第八章,教学内容,8.1 串行通信基础知识 8.2 MCS-51的串行口及控制寄存器 8.3 MCS-51串行通信工作方式及其应用 8.4 单片机多机通信 8.5 PC机与8051间的通信,一、数据通信的概念 在实际工作种,计算机的CPU与外部设备之间常常要进行信息交换,一台计算机与其他计算机也往往要交换信息,所有这些信息交换均可称为通信。通信实际上也是计算机的数据的传送。 数据通信方式有两种:并行数据通信和串行数据通信,如下图所示。 串行数据通信是指数据按位顺序进行传送的通信方式。其特点是:数据传送是一位一位进行传送的,最少只需一根传输线即可完成,成本低但速度慢。计算

2、机与外界的数据传送大多数是串行的,其传送的距离可以从几m到几千km。下图 两种通信方式连接 并行数据传送是指数据的各位同时进行传送的通信方式。其特点是:各数据位同时传送,传送速度快、效率高。但并行数据传送有多少数据位就需多少根数据线,因此传送成本高。并行数据传送的距离通常小于30m,在计算机内部的数据传送都是并行的。,8.1 串行通信基础知识,图8-1 两种通信方式连接,8.1 串行通信基础知识,一、异步串行通信的字符格式,异步串行通信以字符为单位,即一个字符一个字符的传送。,8.1 串行通信基础知识, 奇偶效验位用于对字符的传送作正确性检查,因此奇偶效验位是可选择的,共有3种可能,即奇效验、

3、偶效验和无效验,由用户根据需要选定。, 起始位开始一个字符的传送的标志位。起始位使数据线处于“0”状态。, 数据位起始位之后传送的数据信号位。在数据位中,低位在前(左)高位在后(右)。由于字符编码方式的不同,数据位可以是5、6、7或8位。, 停止位用以标志一个字符的结束,它对应于“1”状态。停止位在一帧的最后,它可能是1、1.5或2位,在实际中根据需要确定。,8.1 串行通信基础知识, 位时间一个格式位的时间宽度。, 帧(frame)从起始位开始到停止位结束的全部内容称之为一帧。帧是一个字符的完整通信格式,因此也就把串行通信的字符格式称之为帧格式。,8.1 串行通信基础知识,同步通信下图 同步

4、通信的数据格式 同步通信中,在数据开始传送前用同步字符来指示(常约定12个),并由时钟来实现发送端和接收端同步,即检测到规定的同步字符后,下面就连续按顺序传送数据,直到通信告一段落。同步传送时,字符与字符之间没有间隙,也不用起始位和停止位,仅在数据块开始时用同步字符SYNC来指示,其数据格式如图8-3所示。 同步字符的插入可以是单同步字符方式或双同步字符方式,如图8-3所示,然后是连续的数据块。同步字符可以由用户约定,当然也可以采用ASCII码中规定的SYN代码,即16H。按同步方式通信时,先发送同步字符,接收方检测到同步字符后,即准备接收数据。,二、同步串行通信,8.1 串行通信基础知识,图

5、8-3 同步通信的数据格式,在同步传送时,要求用时钟来实现发送端与接收端之间的同步。为了保证接收正确无误,发送方除了传送数据外,还要把时钟信号同时传送。 同步传送的优点是可以提高传送速率(达56kbps或更高),但硬件比较复杂。,8.1 串行通信基础知识,三、串行通信的数据通路形式,1、单工(Simplex)形式 单工形式的数据传送是单向的,通信双方中一方固定为接收端。单工形式的串行通信,只需要一条数据线,如图所示,8.1 串行通信基础知识,2、半双工(Half-duplex)形式 半双工形式的数据传送也是双向的,但任何时刻只能由其中的一方发送数据,另一方接收数据。因此半双工形式既可以使用一条

6、数据线,也可以使用两条数据线,如上图所示。,3、全双工(Full-duplex)形式 全双工形式的数据传送是双向的,且可以同时发送和接收数据,因此全双工形式的串行通信需要两条数据线,如上图所示。,8.1 串行通信基础知识,四、异步串行通信的信号形式,1、近程通信,近程通信又称本地通信。,近程通信采用数字信号直接传送形式,即在传送过程中不改变原数据代码的波形和频率。这种数据传送方式称之为基带传送方式。,计算机内部的数据信号是TTL电平标准,而通信线上的数据信号却是RS232C电平标准。然而,尽管电平标准不同,但数据信号的波形和频率并没有改变。近程串行通信只需用传输线把两端的接口电路直接连起来即可

7、实现,既方便又经济。,8.1 串行通信基础知识,8.1 串行通信基础知识,2、远程通信,在远程串行通信中,应使用专用的通信电缆,但出于经济上的考虑也可以使用电话线作为传输线。,远距离直接传送数字信号,信号会发生畸变,因此要把数字信号变为模拟信号再进行传送。信号形式的转变通常使用频率调制法,即以不同频率的载波信号代表数字信号的两种不同电平状态。这种数据传送方式就称为频带传送方式。,8.1 串行通信基础知识,五、波特率和接收/发送时钟,(一)波特率 波特率,即数据传送速率,表示每秒钟传送二进制代码的位数,它的单位是位/秒(bps)。波特率对于CPU与外界的通信是很重要的。假设数据传送速率是120b

8、ps,而每个字符格式包含10个代码位(1个起始位、1个终止位、8个数据位),这时传送的波特率为: l0l20bps=1 200bps 每一位代码的传送时间td为波特率的倒数。 波特率是衡量传输通道频宽的指标,它和传送数据的速率并不一致。如上例中,因为除掉起始位和终止位,每一个数据实际只占8位,所以数位的传送速率为: 8120bps =960bps 异步通信的传送速度在509 200bps之间,常用于计算机到终端机和打印机之间的通信、直通电报以及无线电通信的数据发送等。,8.1 串行通信基础知识,(二)接收/发送时钟 在串行通信过程中二进制数字系列以数字信号波形的形式出现,不论接收还是发送,都必

9、须有时钟信号对传送的数据进行定位。接收/发送时钟就是用来控制通信设备接收/发送字符数据速度的,该时钟信号通常由微机内部时钟电路产生。 在接收数据时,接收器在接收时钟的上升沿对接收数据采样,进行数据位检测;在发送数据时,发送器在发送时钟的下降沿将移位寄存器的数据串行移位输出。如下图所示。 接收/发送时钟频率与波特率有如下关系: 收/发时钟频率 = n收/发波特率 收/发波特率 其中频率系数n=1, 16, 64。 对于同步传送方式,必须取n=l,即接收/发送时钟的频率等于收/发波特率。对于异步传送方式, n=1,16,64,即可以选择的接收/发送时钟频率是波特率的1,16或64倍。因此,可由要求

10、的传送波特率及所选择的倍数n来确定接收/发送时钟的频率。,8.1 串行通信基础知识,(a)接收时钟 (b)发送时钟 图8-7 接收/发送时钟,8.1 串行通信基础知识,(三)允许的波特率误差,六、串行通信的过程及通信协议 (一)串-并转换与设备同步,发送时的串-并转换,8.1 串行通信基础知识,接收时的串-并转换,8.1 串行通信基础知识,(二)串行通信协议,1起始位 当通信线上没有数据被传送时处于逻辑“1”状态。当发送设备要发送一个字符数据时,首先发出一个逻辑“0”信号,这个逻辑低电平就是起始位。起始位通过通信线传向接收设备,接收设备检测到这个逻辑低电平后,就开始准备接收数据位信号。起始位所

11、起的作用就是使设备同步,通信双方必须在传送数据位前协调同步。 2数据位 当接收设备收到起始位后,紧接着就会收到数据位。数据位的个数可以是5、6、7或8,PC机中经常采用7位或8位数据传送,8051串行口采用8位或9位数据传送。这些数据位被接收到移位寄存器中,构成传送数据字符。在字符数据传送过程中,数据位从最低有效位开始发送,依次在接收设备中被转换为并行数据。,8.1 串行通信基础知识,3奇偶校验位 数据位发送完之后,便可以发送奇偶校验位。奇偶校验用于有限差错检测,通信双方应约定一致的奇偶校验方式。如果选择偶校验,那么组成数据位和奇偶位的逻辑“1”的个数必须是偶数;如果选择奇校验,那么逻辑“1”

12、的个数必须是奇数。,4停止位约定 在奇偶位或数据位(当无奇偶校验时)之后发送的是停止位。停止位是一个字符数据的结束标志,可以是1位、1.5位或2位的低电平。接收设备收到停止位之后,通信线路上便又恢复逻辑“1”状态,直至下一个字符数据的起始位到来。,8.1 串行通信基础知识,5. 波特率设置 通信线上传送的所有位信号都保持一致的信号持续时间,每一位的宽度都由数据传送速率确定,而传送速率是以每秒多少个二进制位来度量的,这个速率叫波特率。如果数据以每秒300个二进制位在通信线上传送,那么这个传送速率为300bps。 6. 软件挂钩(握手)信号约定,8.1 串行通信基础知识,七、RS-232C总线标准

13、 标准异步串行通信接口有以下几类: RS-232C,RS-232E; RS-449(RS-422, RS-423和RS-485); 20mA电流环; USB通用接口。 所谓标准接口,就是明确定义若干信号线,使接口电路标准化、通用化,借助串行通信标准接口,不同类型的数据通信设备可以很容易实现它们之间的串行通信连接。,8.1 串行通信基础知识,RS-232C标准中的许多信号是为通信业务联系或信息控制而定义的,在计算机串行通信中主要使用如下信号:下图 DB25连接器机械结构图 (1)数据传送信号 发送数据(TXD) 接收信号(RXD) (2)调制解调器控制信号 请求发送(RTS) 清除发送(CTS)

14、 数据通信设备准备就绪(DSR) 数据终端设备准备就绪(DTR) (3)定位信号 接收时钟(RXC) 发送时钟(TXC) (4)信号地和保护,8.1 串行通信基础知识, 除信号定义外,RS-232标准的其他规定还有: RS-232C是一种电压型总线标准,以不同极性的电压表示逻辑值: 325V表示逻辑l(mark) 3 +25V表示逻辑0(space) 标准数据传送速率有50、75、110、150、300、600、1200、2400、4800、9600、19200bps。表8-1 RS-232信号引脚定义 采用标准的25芯插头座(DB-25)进行连接,因此该插头座也称之为RS-232C连接器,D

15、B25连接器机械结构见下图。,8.1 串行通信基础知识,表8-1 RS-232信号引脚定义,8.1 串行通信基础知识,八、串行接口电路通用的异步接收/发送器(UART),8.1 串行通信基础知识,图8-11 URAT基本组成框图,8.1 串行通信基础知识,现把UART的主要功能综述如下,1数据的串行化/反串行化 所谓串行化处理就是把并行数据变换为串行数据。所谓反串行化就是把串行数变换为并行数据。在UART中,完成数据串行化的电路属发送器,而实现数据反串行化处理的电路则属接收器。 2格式信息的插入和滤除 格式信息是指异步通信格式中的启始位、奇偶位和停止位等。在串行化过程中,按格式要求把格式信息插

16、入,与数据位一起构成串行数据位串,然后进行串行数据传送。在反串行化过程中,则把格式信息滤除而保留数据位。 3错误检验 错误检验的目的在于检验数据通信过程是否正确。在串行通信中可能出现的错误包括奇偶错和帧错等。,8.1 串行通信基础知识,MCS-51串行口寄存器结构 串行口寄存器结构 MCS-51单片机串行口中寄存器的基本结构如下图所示。 图中SBUF是串行口的缓冲寄存器,它是一个可寻址的专用寄存器,其中包括发送寄存器和接收寄存器,以便能以全双工方式进行通信。这两个寄存器有同一地址(99H)。串行发送时,向SBUF写入数据;串行接收时,从SBUF读出数据。 此外,在接收寄存器之前还有移位寄存器,

17、从而构成了串行接收的双缓冲结构,以避免在数据接收过程中出现帧重叠错误。与接收数据情况不同,发送数据时,由于CPU是主动的,不会发生帧重叠错误,因此发送电路就不需双重缓冲结构。,8.2 MCS-51的串行口及控制寄存器,图8-12 MCS-51串行口寄存器结构,8.2 MCS-51的串行口及控制寄存器,一、串行口寄存器结构,8.2 MCS-51的串行口及控制寄存器,在接收方式下,串行数据通过引脚RXD(P3.0)进入。由于在接收寄存器之间还有移位寄存器,从而构成了串行接收的双缓冲结构,以避免在数据接收过程中出现帧重叠错误,即在下一帧数据来时,前一帧数据还没有读走。,在发送方式下,串行数据通过TX

18、D(P3.1)送出。与接收数据情况不同,发送数据时,由于CPU是主动的,不会发生帧重叠错误,因此发送电路就不需双重缓冲结构,这样可以提高数据发送速度。,8.2 MCS-51的串行口及控制寄存器,二、串行通信控制寄存器,1、串行控制寄存器SCON (99H),8.2 MCS-51的串行口及控制寄存器,SM2是多机通信控制位。因多机通信是在方式2和方式3下进行,所以SM2位主要用于方式2和方式3。当串行口以方式2或方式3接收时,如SM2 = 1,则只有当接收到的第9位数据(RB8)为“1”时,才将接收到的前8位数据送入SBUF,并置位RI产生中断请求;否则,将接收到的前8位数据丢弃。而当SM2 =

19、 0时,不论第9位数据为“0”还是为“1”,都将前8位数据装入SBUF中,并产生中断请求。,在方式1时,若SM2 = 1,则只有接收到有效停止位时,RI才置1,以便接收下一帧数据。,在方式0时,SM2必须为0。,REN是允许接收位,当REN = 1时,允许接收数据,当REN = 0时,禁止接收数据。该位由软件置位或复位。,8.2 MCS-51的串行口及控制寄存器,TB8是发送数据的第9位。在方式2、3时,其值由用户通过软件设置。在双机通信时,TB8一般作为奇偶效验位使用;在多机通信中,常以TB8位的状态表示主机发送的是地址帧还是数据帧,且一般约定:TB8 = 0为数据帧,TB8 = 1为地址帧

20、。,RB8是接收数据第9位。在方式2、3时,RB8存放接收到的第9位数据,它代表接收到数据的特征:可能是奇偶效验位,也可能是地址/数据的标志位。,TI是发送中断标志位。在方式0时,发送完第8位后,该位由硬件置位。在其它方式下,于发送停止位之前,由硬件置位。,8.2 MCS-51的串行口及控制寄存器,TI = 1表示帧发送结束,其状态既可供软件查询使用,也可请求中断。发送中断被响应后,TI不会自动复位,必须由软件复位。,RI是接收中断标志位。在方式0时,接收完第8位数据后,该位由硬件置位。在其它方式下,当接收到停止位时,该位由硬件置位。因此,RI = 1表示帧接收结束。其状态既可供软件查询使用,

21、也可以请求中断。RI亦必须由软件清“0”。,2、电源控制寄存器PCON,电源控制寄存器是为CHMOS型单片机(如80C51)的电源控制而设置的专用寄存器。字节地址为87H。其格式如下:,8.2 MCS-51的串行口及控制寄存器,在HMOS的单片机中,该寄存器中除最高位之外,其它位都没有定义。最高位(SMOD)是串行口波特率的倍增位,当SMOD=1时,串行口波特率加倍。系统复位时,SMOD=0。,3、中断允许寄存器IE,ES=0 禁止串行中断 ES=1 允许串行中断,8.2 MCS-51的串行口及控制寄存器,8.2 MCS-51的串行口及控制寄存器,一、串行口工作方式0,在方式0下,是把串行口作

22、为同步移位寄存器使用,这时以RXD(P3.0)端作为数据移位的入口和出口,而由TXD(P3.1)端提供移位时钟脉冲.移位数据的发送和接收以8位为一组,低位在前高位在后。,1、数据的发送与接收,8.3 MCS-51串行通信工作方式及其应用,DATA CD4094 CLK STB,80C51 RXD TXD P1.0,串行移位输出电路,8.3 MCS-51串行通信工作方式及其应用,串行移位输出电路连接 使用CD4094的并行输出端接8只发光二极管,利用它的“串入并出”功能,把发光二极管从左向右依次点亮, 并反复循环。假定发光二极管为共阴极型,则电路连接如上图所示。 当串行口把8位状态码串行移位输出

23、后,TI置1。如把TI作为状态查询标志,则使用查询方法完成的参考程序如下:,8.3 MCS-51串行通信工作方式及其应用,8.3 MCS-51串行通信工作方式及其应用,二、串行口工作方式1,方式1是10位为一帧的异步串行通信方式。共包括1个起始位,8个数据位和1个停止位。其帧格式为:, 数据的发送与接收,方式1的数据发送是由一条写发送缓冲器(SBUF)的指令开始的,随后在串行口由硬件自动加入起始位和停止位,构成一个完整的帧格式,然后在移位脉冲的作用下,由TXD端串行输出。一个字符帧发送完后,使TXD输出线维持在“1”状态下,并将SCON寄存器的TI置“1”,通知CPU可以接着发送下一个字符。,

24、8.3 MCS-51串行通信工作方式及其应用,接收数据时,SCON的REN位应处于允许接收状态(REN = 1)。在此前提下,串行口采样RXD端,当采样到从“1”向“0”的状态跳变时,就认定是接收到起始位。随后在移位脉冲的控制下,把接收到的数据位移入接收缓冲器(SBUF)中。直到停止位到来之后把停止位送入RB8中,并置位中断标志位RI,通知CPU从SBUF取走接收到的一个字符。, 波特率的设定,方式0的波特率是固定的(fosc/12),但方式1的波特率则是可变的。若以定时器 1作波特率发生器,则 方式1的波特率=,当定时器1作波特率发生器使用时,选用定时方式2。之所以选择工作方式2,是因为方式

25、2具有自动加载功能,可以避免通过程序反复装入初值所引起的定时误差,使波特率更稳定。,8.3 MCS-51串行通信工作方式及其应用,假定计数初值为X,则定时器1溢出周期为:,溢出率为溢出周期的倒数。故波特率计算公式为:,实际使用时,总是先确定波特率,再计算定时器1的计数初值,然后进行定时器的初始化。根据上述波特率计算公式,得出计数初值的计算公式为:,8.3 MCS-51串行通信工作方式及其应用,三、 串行工作方式2和方式3,方式2,方式2是11位为一帧的串行通信方式。,在方式2下,字符还是8个数据位,只不过增加了一个第9数据位(D8),而且其功能由用户确定,是一个可编程位。,8.3 MCS-51

26、串行通信工作方式及其应用,在发送数据时,应预先在SCON的TB8位中把第9数据位的内容准备好。这可使用如下指令完成:,SETB TB8;TB8位置“1” CLR TB8;TB8位置“0”,发送数据(D0D7)由MOV指令向SBUF写入,而D8位的内容则由硬件电路从TB8中直接送到发送移位寄存器的第9位,并以此来启动串行发送。一个字符帧发送完毕后,将TI位置“1”,其它过程与方式1相同。,方式2的接收过程也与方式1基本相似,所不同的只在第9数据位上。,8.3 MCS-51串行通信工作方式及其应用,方式2,串行口把接收到的前8个数据位送入SBUF,把第9数据位送入RB8。,方式2的波特率是固定的,

27、且有两种。一种是晶振频率的三十二分之一;另一种是晶振频率的六十四分之一 。, 方式3,方式3同样是11位为一帧的串行通信方式,其通信过程与方式2完全相同,所不同的仅在于波特率。,方式3的波特率可由用户根据需要设定,其设定方法与方式1相同。,8.3 MCS-51串行通信工作方式及其应用,单片机的多机通信是指一台主机和多台从机之间的通信,其连接如 从主机发送的信息可传送到各个从机或指定的从机,而各从机发送的信息只能被主机接收。由于通信直接以TTL电子进行,因此主从机之间的连线以不超过1m为宜。此外,各从机要进行编址,以便主机能按地址寻找通信伙伴。多机通信时,主机向从机发送的信息分地址和数据两类。以

28、第9数据位作区分标志,为0时表示数据,为1时表示地址。,8.4 单片机多机通信,把多机通信的过程总结如下: 1)全部从机初始化为工作方式2或方式3,置位SM2 ,允许中断。 2)主机置位RB8 ,发送要寻址的从机地址。 3)所有从机均接收主机发送的地址,并各自进入中断服务程序,进行地址比较。 4)被寻址的从机确认后,把自身的SM2 清0,并向主机返回地址供主机核对。 5)核对无误后,主机向被寻址的从机发送命令,通知从机是进行数据接收还是进行数据发送。 6)主从机之间进行数据通信。,8.4 单片机多机通信,从机状态字格式为:,其中:ERR=1,从机接收到非法命令; TRDY=1,从机发送准备就绪; RRDY=1,从机接收准备就绪。,通信程序包括主机程序和从机程序两部分。,应用举例主从式多机通信,8.4 单片机多机通信,主机程序,N,接收数据块,N,Y,Y,主机子程序,命令从机复位,从机应答,发送命令字,从机应答,N,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论