第7.2讲-单片机的串行通信技术.ppt_第1页
第7.2讲-单片机的串行通信技术.ppt_第2页
第7.2讲-单片机的串行通信技术.ppt_第3页
第7.2讲-单片机的串行通信技术.ppt_第4页
第7.2讲-单片机的串行通信技术.ppt_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

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

文档简介

1.单片机串行通信技术。2.本章分为三节。主要介绍:8.280C51串口、8.1计算机串口通信基础、8.3单片机串口应用实例。3.8.1计算机串行通信基础。计算机通信是指计算机与外部设备或计算机与计算机之间的信息交换。有两种通信方式:并行通信和串行通信。在多计算机系统和现代测控系统中,串行通信通常用于信息交换。并行通信通常使用多条数据线同时传输数据位。并行通信控制简单,传输速度快。由于传输线路的数量很大,长距离传输的成本很高,并且每个接收机很难同时接收。串行通信是将数据字节分成比特,并在传输线上一个一个地传输。串行通信:传输线路少,长距离传输成本低,可以使用现成的设备,如电话网络,但数据传输控制比并行通信更复杂。串行通信异步通信和同步通信异步通信的基本概念是指由发送和接收设备使用它们自己的时钟控制发送和接收数据的过程。为了协调双方的发送和接收,要求发送和接收设备的时钟尽可能一致。异步通信以字符(帧)为单位传输,字符之间的间隔(时间间隔)是任意的,但是每个字符中的位是在固定的时间传输的,也就是说,字符是异步的(字符之间的“位间隔”不一定是整数倍),但是同一字符中的位是同步的(位之间的距离是“位间隔”的整数倍)。异步通信的数据格式特点是发送方和接收方之间没有严格的时钟一致性,易于实现,设备成本低。然而,对于开始和结束位,每个字符增加2-3位,并且帧之间有间隔,因此传输效率不高。在同步通信期间,应建立发送方时钟与接收方时钟的直接控制,以便双方能够实现完全同步。此时,传输数据的比特之间的距离是“比特间隔”的整数倍,同时传输的字符之间没有间隙,即保持了比特同步关系,也保持了字符同步关系。发送方和接收方之间的同步可以通过两种方法实现。串行通信的外部同步自同步传输方向1。单一工单意味着数据只能单向传输,不能实现反向传输。2.半双工半双工意味着数据传输可以在两个方向上进行,但是需要时间共享。3.全双工全双工意味着数据可以同时双向传输。信号的调制和解调使用调制器将数字信号转换成模拟信号,然后将其发送到通信线路,然后使用解调器将从通信线路接收的模拟信号转换成数字信号。由于通信是双向的,调制器和解调器被组合在一个设备中,即调制解调器。串行通信错误检查1。奇偶校验发送数据时,数据位之后的1位是奇偶校验位(1或0)。在奇数校验中,数据中“1”的个数与校验位“1”的个数之和应该是奇数;当检查偶数时,数据中“1”的数目和校验位“1”的数目之和应该是偶数。当接收字符时,检查数字“1”。如果发现不一致,在数据传输过程中就会出现错误。循环冗余校验这种校验是通过一些数学运算来实现有效信息和校验位之间的循环校验。它通常用于传输磁盘信息和存储区域的完整性检查。这种验证方法具有很强的纠错能力,广泛应用于同步通信中。2、编码和校验码,校验是发送方将发送的数据块求和(或每个字节的异或),产生一个字节的校验字符(校验和)附在数据块的末尾。接收器接收数据,13,5,传输速率和传输距离1,传输速率比特率是每秒传输二进制代码的位数,以每秒位数(bps)为单位。如果每秒传输240个字符,并且每个字符格式包含10位(1个起始位、1个停止位、8个数据位),则比特率为:10位240/秒=2400bps波特率表示每秒以波特为单位的调制信号变化数。波特率和比特率并不总是相同的。对于直接使用两个不同电压来表示数字信号1或0的所谓基带传输,比特率和波特率是相同的。因此,我们经常用波特率来表示数据传输速率。传输距离和传输速率之间的关系串行接口或终端直接传输串行信息比特流的最大距离与传输速率和传输线路的电气特性有关。当传输线使用每0.3m(约1英尺)50PF电容的不平衡屏蔽双绞线时,传输距离随着传输速率的增加而减小。当比特率超过1000bps时,最大传输距离迅速减小,例如,在9600bps时,最大距离减小到只有76m(约250英尺)。串行通信接口标准1和RS-232C接口RS-232C是美国电子工业协会在1969年修订的RS-232C标准。RS-232定义了数据终端设备(DTE)和数据通信设备(DCE)之间的物理接口标准。1.机械特性RS-232C接口规定使用25针连接器。连接器的尺寸和每个引脚的排列位置都有明确的规定。(凸头)、16、2、功能特性、17、4、过程特性过程特性指定信号之间的时序关系,以便正确接收和发送数据。远程通信连接短程通信连接RS-232C电平和TTL电平转换RS-232逻辑0电平被指定为5 - 15V逻辑1电平被指定为-15-5v,因此当与TTL电路连接时需要电平转换。RS-232C电平和TTL电平转换驱动电路存在以下问题:1 .传输距离短,传输速率低。RS-232C总线标准受允许电容的限制,传输距离一般不超过15米(线路完好时为几十米)。最高传输速率为20千位/秒。带电平转换的RS-232C总线标准要求发射机和接收机应共用一个地。当通信距离较大时,发射机和接收机之间的地电位差较大,信号地会有较大的地电流和电压降。3。抗干扰能力差的RS-232C在电平转换时采用单端输入输出,在传输过程中当干扰和噪声混入正常信号时。为了提高信噪比,RS-232C总线标准必须采用较大的电压摆幅。22,2,RS-422A接口,RS-422A输出驱动器是一个双端平衡驱动器。如果其中一条线路处于逻辑“1”状态,另一条线路处于逻辑“0”状态,这是使用单端不平衡驱动时电压放大系数的两倍。差分通道可以从地面干扰中提取有效信号,差分接收器可以分辨200毫伏以上的电位差。如果干扰和噪声在传输过程中混合,由于差分放大器的作用,干扰和噪声会相互抵消。因此,可以避免或大大削弱地线干扰和电磁干扰的影响。在RS-422A传输速率(90Kbps)下,传输距离可达1200米。RS-485是RS-422A的变体:RS-422A用于全双工,而RS-485用于半双工。RS-485是一种多发射器标准,允许在通信线路上使用多达32对差分驱动器/接收器。如果网络中连接的设备超过32台,也可以使用中继器。RS-485的信号传输使用两条线之间的电压来表示逻辑1和逻辑0。因为发送者需要两条传输线,接收者也需要两条传输线。该传输线采用差分信道,因此其干扰抑制非常出色,并且由于其低阻抗和无接地问题,传输距离可达1200米,传输速率可达1兆位/秒。8.28C51的串行端口具有两个物理上独立的接收和发送缓冲器SBUF,它们占据相同的地址99H。收据,8.2.180C51串口结构,25,SCON是一个特殊的功能寄存器,用于设置串口操作模式,接收/发送控制和设置状态标志:8.2.280C51串口控制寄存器,SM0和SM1是操作模式选择位,可以选择四种操作模式:26,SM2,多机通信控制位,主要用于模式2和模式3。当接收器的SM2=1时,接收到的RB8可用于控制R1是否被激活(当RB8=0时,R1不被激活,并且接收到的信息被丢弃;当rb8=1时,接收到的数据进入SBUF并激活RI,从而在中断服务中从SBUF读取数据)。当SM2=0时,无论接收到的RB8是0还是1,接收到的数据都可以进入SBUF并激活RI(即此时RB8不具有控制RI激活的功能)。通过控制SM2,可以实现多机通信。在模式0中,SM2必须为0。在模式1中,如果SM2=1,仅当接收到有效的停止位时,R1才设置为1。REN,允许串行接收位。软件设置REN=1,启动串口接收数据;如果软件设置REN=0,则禁止接收。在模式2或模式3中,tb8是发送数据的第九位数字,其功能可由软件指定。在多机通信中,它可以用作数据的奇偶校验位或地址帧/数据帧的标志位。该位不用于模式0和模式1。在模式2或模式3中,RB8是接收数据的第九位,作为地址帧/数据帧的奇偶校验位或标志位。在模式1中,如果SM2=0,则RB8是接收到的停止位。Ti,发送中断标志位。在模式0中,当第8位数据的串行传输结束时,或者在其他模式中,当串行传输停止位开始时,内部硬件将TI设置为1,并向中央处理器发送中断请求。在中断服务程序中,必须由软件清除才能取消该中断请求。R1,接收中断标志位。在模式0中,当第8位数据的串行接收结束时,或者在其他模式中,在串行接收停止位的中间,内部硬件将RI设置为1,并向中央处理器发送中断请求。中断服务程序也必须由软件清除才能取消中断请求。PCON.7中只有一个SMOD与串行端口操作有关:SMOD(PCON.7)波特率乘数位。在串行端口模式1、模式2和模式3下,波特率与SMOD相关。当SMOD=1时,波特率加倍。复位时,SMOD=0。8.2.380C51的串行端口以下列方式工作:1 .当模式0为模式0时,串行端口是同步移位寄存器的输入/输出模式。它主要用于扩展并行输入或输出端口。数据从RXD(P3.0)引脚输入或输出,同步移位脉冲从TXD(P3.1)引脚输出。发送和接收都是8位数据,低位优先,高位次之。波特率固定在fosc/12。1.模式0输出、模式1、模式31、模式2、模式0输入、模式0接收和发送电路、模式32、模式2、模式1、模式1是10位数据的异步通信端口。TXD是数据传输引脚,RXD是数据接收引脚。传输一帧数据的格式如图所示。其中,1位起始位、8位数据位和1位停止位。当REN由软件设置为1时,接收器以选定波特率的16倍对RXD引脚电平进行采样。当检测到RXD引脚输入电平出现负跳变时,起始位有效,它被移入输入移位寄存器,并接收其余帧信息。在接收过程中,数据从输入移位寄存器的右侧移入,当初始移位到达输入移位寄存器的最左侧时,控制电路执行最后一次移位。当RI=0且SM2=0(或接收到的停止位为1)时,接收到的9位数据的前8位被加载到接收到的SBUF中,第9位(停止位)进入RB8,RI=1并置以请求来自中央处理器的中断。模式2或模式3中11位数据的异步通信端口。TXD是数据传输引脚,RXD是数据接收引脚。在模式2和模式3中,起始位是1位,数据是9位(包括加1位的第9位,发送时在SCON为TB8,接收时为RB8),停止位是1位,一帧中的数据是11位。模式2的波特率固定在晶体振荡器频率的1/64或1/32,模式3的波特率由定时器t 1的溢出率决定。传输开始时,起始位0输出到TXD引脚,然后移位寄存器的输出位(D0)发送到TXD引脚。每个移位脉冲将输出移位寄存器的每个位向右移位一位,并由TXD引脚输出。在第一次移位期间,停止位“1”被移位到输出移位寄存器的第9位,并且在每次移位之后,左侧被移位到0。当停止向输出位移位时,左边的剩余位都为0。当检测电路检测到这种情况时,它使控制电路最后一次移位,并置TI=1,并向中央处理器请求中断。接收时,数据从右侧移入输入移位寄存器,当起始位0移至最左侧时,控制电路执行最后一次移位。当RI=0且SM2=0(或接收到的第9位数据为1)时,接收到的数据被加载到接收缓冲器SBUF和RB8(接收到的数据的第9位),RI=1被置位,并且从中央处理器请求中断。如果不满足该条件,则数据丢失,并且没有设置位R1,并且继续搜索RXD引脚的负跃迁。串行通信中波特率的计算,发送方和接收方应就发送或接收数据的速率达成一致。通过软件,单片机的串口可以编程为四种工作模式,其中模式0和模式2的波特率是固定的,模式1和模式3的波特率是可变的,由定时器T1的溢出率决定。串口的四种工作模式对应三种波特率。由于输入移位时钟的来源不同,波特率计算公式在不同方面也有所不同。模式0的波特率=fosc/12模式2的波特率=(2S Mod/64)FOSC模式1的波特率=(2SMOD/32)(T1溢出率)模式3的波特率=(2SMOD/32)(T1溢出率),38,当T1用作波特率发生器时,最典型的用法是使T1在8位定时器模式下工作时自动重新加载(即模式2,并且TR1=1的TCON启动定时器)。在这种情况下,溢出率取决于TH1中的计数值。T1溢出率=FOSC/12 256-(TH1)在单片机的应用中,常用的晶振频率为12兆赫和11.0592兆赫,因此所选择的波特率是相对固定的。串口常用的波特率和各种参数之间的关系如表所示。串口工作前,应进行初始化,主要设置定时器1产生波特率、串口控制和中断控制。具体步骤如下:确定T1(程序TMOD寄存器)的工作模式;计算T1的初始值,加载TH1和TL1;开始T1(在TCON编程TR

温馨提示

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

评论

0/150

提交评论