《串行口及应用》PPT课件.ppt
《《串行口及应用》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《串行口及应用》PPT课件.ppt(76页珍藏版)》请在三一办公上搜索。
1、2023/7/9,1,第8章 串行口及应用,2023/7/9,2,内容,串行通信基础知识,8.1,80C51单片机的串行口,8.2,串行口的应用,8.3,2023/7/9,3,8.1 串行通信基础知识,8.1.1 计算机对外通信方式,计算机与计算机之间、计算机与外设之间的数据交换称为通信。计算机通信有两种基本方式:并行通信和串行通信。,数据的各位被同时传送的通信方法称为并行通信。,图8-1 并行通信收发设备连接示意图 图8-2 并行通信传送时序图,并行通信的特点是控制简单,传输速度快。由于传输线较多,长距离传送时成本高且接收方的各位同时接收存在困难。,2023/7/9,4,串行通信是将数据字节
2、分成一位一位的形式在一条传输线上逐个地传送。,串行通信具有传输线少,长距离传送时成本低,抗干扰能力强等优点,对于单片机来说,其所占用的引脚资源少。但串行通信数据的传送控制比并行通信复杂。,2023/7/9,5,8.1.2 串行通信的基本概念,1.串行通信的方式,(1)异步通信,异步通信是指通信的发送与接收设备使用各自的时钟控制数据的发送和接收过程。为使双方的收发协调,要求发送和接收设备的时钟尽可能一致。,2023/7/9,6,异步通信是以字符(构成的帧)为单位进行传输,字符与字符之间的间隙(时间间隔)是任意的,但每个字符中的各位是以固定的时间传送的。,为了实现异步传输字符的同步,采用的办法是使
3、传送的每一个字符都以起始位“0”开始,以停止位“1”结束。这样,传送的每一个字符都用起始位来进行收发双方的同步。停止位和间隙作为时钟频率偏差的缓冲,即使双方时钟频率略有偏差,总的数据流也不会因偏差的积累而导致数据错位。,2023/7/9,7,异步通信的每帧数据由4部分组成:起始位(占1位)、字符代码数据位(占58位)、奇偶校验位(占1位,也可以没有校验位)和停止位(占1或2位)。图8-6中给出的是7位数据位、1位奇偶校验位和一位停止位,加上固定的1位起始位,共10位组成一个传输帧。传送时数据的低位在前,高位在后。字符之间允许有不定长度的空闲位。起始位“0”作为联络信号,它告诉接收方传送的开始,
4、接下来的是数据位和奇偶校验位、停止位、“1”表示一个字符的结束。,异步通信的特点是不要求收发双方时钟的严格一致,实现容易,设备开销较小,但每个字符要附加起止位、停止位,各帧之间还有间隔,因此传输效率不高。,2023/7/9,8,(2)同步通信,同步通信时要建立发送方时钟对接收方时钟的直接控制,使双方达到完全同步。此时,传输数据的位之间的距离均为“位间隔”的整数倍,同时传送的字符间不留间隙,即保持位同步关系,也保持字符同步关系。,2023/7/9,9,2.串行通信的传输方向,串行通信根据数据传输的方向及时间关系可分为单工、半双工和全双工。传输方向示意图如图8-10所示。,(1)单工:是指数据传输
5、仅能沿一个方向,不能实现反向传输。(2)半双工:是指数据传输可以沿两个方向,但需要分时进行。(3)全双工:是指数据可以同时进行双向传输。,2023/7/9,10,3.串行通信的错误校验,在通信过程中往往要对数据传送的正确与否进行校验。校验是保证准确无误传输数据的关键。常用的校验方法有奇偶校验、代码和校验及循环冗余码校验。,(1)奇偶校验在发送数据时,数据位尾随的1位为奇偶校验位(1或0)。当约定为奇校验时,数据位与校验位中“1”的个数之和应为奇数;当约定为偶校验时,数据位与校验位中“1”的个数之和应为偶数。接收方与发送方的校验方式应一致。接收字符时,对“1”的个数进行校验,若发现收、发双方不一
6、致,则说明数据传输过程中出现了差错。,(2)代码和校验代码和校验是发送方将所发数据块求和(或各字节异或),产生一个字节的校验字符(校验和)附加到数据块末尾。接收方接收数据同时对数据块(除校验字节外)求和(或各字节异或),将所得的结果与发送方的“校验和”进行比较,相符则无差错,否则即认为传送过程中出现了差错。,(3)循环冗余校验这种校验是通过某种数学运算实现有效信息与校验位之间的循环校验,常用于对磁盘信息的传输、存储区的完整性校验等。这种校验方法纠错能力强,广泛应用于同步通信中。,2023/7/9,11,4.信号的调制与解调,计算机的通信要求传送的是数字信号。在远程数据通信时,通常要借用公用电话
7、网。但是电话网是为3003400Hz的音频模拟信号设计的,对二进制数据的传输是不合适的。为此,在发送时需要对二进制数据进行调制,使之适合在电话网上传输。在接收时,需要进行解调,以将模拟信号还原成数字信号。,2023/7/9,12,利用调制器(Modulator)把数字信号转换成模拟信号,然后送到通信线路上去,再由解调器(Demodulator)把从通信线路上收到的模拟信号转换成数字信号。由于通信是双向的,调制器和解调器合并在一个装置中,这就是调制解调器MODEM。如图8-11所示。,图中,调制器和解调器是进行数据通信所需的设备,因此把它叫做数据通信设备(Data Communications
8、Equipment,简称DCE)。计算机是终端设备(Data Terminal Equipment,简称DTE),通信线路是电话线,也可以是专用线。,2023/7/9,13,5.波特率(Baud Rade),在异步通信中,发送方和接收方必须保持相同的波特率才能实现正确的数据传送。波特率是指单位时间内传送的信息量,即每秒钟传送的二进制位数(也称为比特率),单位是bps,即位/秒。波特率越高,数据传输速度越快,但和字符的实际传输速率不同。字符的传输速率是指每秒钟内所传输字符帧数,和字符格式有关。常用的标准波特率是:110波特、300波特、600波特、1200波特、2400波特、4800波特、960
9、0波特和19200波特等。例如,在异步通信中使用1位起始位,8位数据位,无奇偶校验位,1位停止位,即一帧数据长度位10bit,如果要求数据传送的速率是1秒送120帧字符,则传送波特率为1200波特。,2023/7/9,14,6.串行通信的协议,通信协议是指单片机之间进行信息传输时的一些约定,约定的内容包括数据格式、同步方式、波特率、校验方式等。为了保证计算机之间能够准确、可靠地通信,相互之间必须遵循统一的协议,在通信之前一定要设置好。,2023/7/9,15,串行通信接口标准,从本质说,通信是CPU与外部设备间交换信息的一种方式。所有的串行通信接口电路都是以并行数据形式与CPU连接、而以串行数
10、据形式与外部设备进行数据传送。它们的基本功能都是从外部设备接收串行数据,转换为并行数据后传送给CPU;或从CPU接收并行数据,转换成串行数据后输出给外部设备。能够实现异步通信的硬件电路称为通用异步接收器/发送器(Universal Asynchronous Receive/Transmitter,简称UART)。能够实现同步通信的硬件电路称为通用同步接收器/发送器(Universal Synchronous Receive/Transmitter,简称USRT)。,2023/7/9,16,所谓接口标准,就是明确的定义若干条信号线,使接口电路标准化、通用化。采用标准接口,可以方便地把计算机、外部
11、设备和测量仪器等有机的联系起来,并实现其间的通信。在单片机控制系统中,常用的串行通信接口标准有:RS-232C、RS-422A、RS-485等总线接口标准。,2023/7/9,17,1RS-232C总线,RS-232C标准(协议)的全称是EIA-RS-232C标准,其中EIA(Electronic Industry Association)代表美国电子工业协会,RS(Recommended Standard)代表推荐标准,232是标识号,C代表RS232的最早一次修改(1969)。1969年修订为RS-232C,1987年修订为EIA-232D,1991年修订为EIA-232E,1997年又修
12、订为EIA-232E。由于修改的不多,所以人们习惯于早期的名字“RS-232C”。RS-232C定义了数据终端设备(DTE)与数据通信设备(DCE)之间的物理接口标准。接口标准包括机械特性、功能特性和电气特性几方面内容。,2023/7/9,18,(1)机械特性,RS-232C接口规定使用25针连接器,连接器的尺寸及每个插针的排列位置都有明确的定义。一般的应用中并不一定用到RS-232C标准的全部信号线,所以在实际应用中常常使用9针连接器替代25针连接器。计算机的COM1和COM2使用的是9针连接器。连接器引脚定义如图8-12所示。图中所示为阳头定义,通常用于计算机侧,对应的阴头用于连接线侧。,
13、图8-12 DB-25(阳头)和DB-9(阳头)连接器定义,2023/7/9,19,(2)功能特性,RS-232C接口的主要信号线的功能定义如表8-1所示。,表8-1 RS-232C接口的主要信号线的功能定义,2023/7/9,20,(3)电气特性,RS-232C采用负逻辑电平,规定逻辑1为DC-3V-15V,逻辑0为DC+3V+15V。-3 V+3V为过渡区,不作定义。注意:RS-232C的逻辑电平与通常的TTL和MOS电平不兼容。为了实现与TTL或MOS电路的连接,要外加电平转换电路。RS-232C发送方和接收方之间的信号线采用多芯信号线,要求多芯信号线的总负载电容不能超过2 500pF。
14、通常,RS-232C的传输距离为几十米,传输速率小于20Kbps。,2023/7/9,21,(4)过程特性,过程特性规定了信号之间的时序关系,以便正确地接收和发送数据。如果通信双方均具备RS-232C接口,则二者可以直接连接,不必考虑电平转换问题。但是对于单片机与计算机通过RS-232C的连接,必须考虑电平转换问题,因为80C51系列单片机串行口不是标准RS-232C接口。,2023/7/9,22,2023/7/9,23,(5)RS-232C电平与TTL电平转换驱动电路,80C51单片机串行口与PC机的RS-232C接口不能直接对接,必须进行电平转换,常见的TTL到RS-232C的电平转换器有
15、MC1488、MC1489和MAX232等芯片。MC1488输入为TTL电平,输出为RS232电平;MC1489输入为RS-232电平,输出为TTL电平。MC1488的供电电压为12V,MC 1489的供电电压为+5V。MC1488和MC 1489的逻辑功能如图8-15所示。,2023/7/9,24,MC 1488和MC 1489与RS-232电平转换如图8-16所示。,2023/7/9,25,近来一些系统中,愈来愈多地采用了自升压电平转换电路。各厂商生产的此类芯片虽然不同,但原理类似,并可代换。其主要功能是在单+5V电源下,有TTL信号输入到RS-232C输出的功能,也有RS-232C输入到
16、TTL输出的功能。如RS-232C双工发送器/接收器接口电路MAX232,它能满足RS-232C的电气规范,且仅需要+5V电源,内置电子泵电压转换器将+5V转换成-10V+10V。该芯片与TTL/CMOS电平兼容,片内有2个发送器,2个接收器,使用比较方便。MAX232芯片封装如图8-17所示,采用MAX232芯片实现TTL电平和RS232电平转换的电路如图8-18所示。,2023/7/9,26,(6)采用RS-232C接口存在的问题,1)接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL电平不兼容,故需使用电平转换电路方能与TTL电路连接;2)传输速率较低,在异步传输时,波特率为20
17、kbps;3)接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱,为了提高信噪比,RS-232C总线标准不得不采用比较大的电压摆幅。4)传输距离有限,最大传输距离标准值为15m,实际上也只能在50m左右。,2023/7/9,27,2.RS-422A接口,串行通信标准RS-422A是平衡型电压数字接口电路的电气标准。,图8-19 RS-422A平衡驱动差分接收电路,RS-422A电路由发送器、平衡连接电缆、电缆终端负载、接收器等部分组成。电路中规定只许有一个发送器,可有多个接收器。RS-422A与RS-232C的主要区别是,收发双方的信号地不
18、再共用。另外,每个方向用于传输数据的是两条平衡导线。所谓“平衡”,是指输出驱动器为双端平衡驱动器。如果其中一条线为逻辑“1”状态,另一条线就为逻辑“0”,比采用单端不平衡驱动对电压的放大倍数大一倍。驱动器输出允许范围是26V。,2023/7/9,28,差分电路能从地线干扰中拾取有效信号,差分接收器可以分辨200mV以上的电位差。若传输过程中混入了干扰和噪声,由于差分放大器的作用,可使干扰和噪声相互抵消。因此可以避免或大大减弱地线干扰和电磁干扰的影响。RS-422A与RS-232C相比,信号传输距离远,速度快。传输距离为120m时,传输速率可达l 0Mbps。降低传输速率(90Kbps)时,传输
19、距离可达1200m。RS-422A与TTL电平转换常用的芯片为传输线驱动器SN75174或MC3487和传输线接收器SN75175或MC3486。,2023/7/9,29,3.RS-485接口,RS-485是RS-422A的变型:RS-422A用于全双工,而RS-485用于半双工。RS-485接口示意图如图8-20所示。,RS-485是一种多发送器标准,在通信线路上最多可以使用32对差分驱动器接收器。如果在一个网络中连接的设备超过32个,还可以使用中间继电器。RS-485的信号传输采用两线间的电压来表示逻辑1和逻辑0。由于发送方需要两根传输线,接收方也需要两根传输线。传输线采用差动信道,所以它
20、的干扰抑制性极好。又因为它的阻抗低,无接地问题,所以传输距离可达1 200m,传输速率可达1Mbps。,图8-20 RS-485接口示意图,2023/7/9,30,RS-485是一点对多点的通信接口,一般采用双绞线的结构。普通的PC机一般不带RS485接口,因此要使用RS-232C/RS-485转换器。对于单片机可以通过芯片 MAX485来完成TTL/RS-485的电平转换。在计算机和单片机组成的RS-485通信系统中,下位机由单片机系统组成,主要完成工业现场信号的采集和控制。上位机为普通的PC机,负责监视下位机的运行状态,并对其状态信息进行集中处理,以图文方式显示下位机的工作状态以及工业现场
21、被控设备的工作状况。系统中各节点(包括上位机)的识别是通过设置不同的站地址来实现的,广泛使用于集散控制系统中。,2023/7/9,31,RS-485采用一对双绞线,输入/输出信号不能同时进行(半双工),MAX485芯片的发送和接收功能转换是由芯片的和DE端控制的。RE=0时,允许接收;RE=1时,接收端R高阻。DE=1时,允许发送;DE=0时,发送端A和B高阻。在单片机系统中常把和DE接在一起用单片机的一个I/O线控制收发。图8-22中当P1.0=1时经反相器为0,MAX485处于接收状态,当P1.0=0时经反相器为1,MAX485处于发送状态。由于单片机各端口复位后处于高电平状态,图8-22
22、中P1.0=1经反相器保证了上电时MAX485处于接收状态。RS-232C串口对单片机串口接收和发送是透明的,无须控制。RS-485串口需由单片机控制收发。图8-22中发送数据时P1.0=0,接收数据时P1.0=1。,2023/7/9,32,MCS-51单片机内部有1个功能很强的全双工串行口,可同时发送和接收数据。它有4种工作方式,可供不同场合使用。波特率由软件设置,通过片内的定时/计数器产生。接收、发送均可工作在查询方式或中断方式,使用十分灵活。,8.2 80C51单片机的串行口,2023/7/9,33,串行口的结构,串行口内部结构如上图,两个物理上独立的接收和发送缓冲器,可同时收、发数据。
23、两个缓冲器共用一个特殊功能寄存器字节地址:SBUF(99H)。控制寄存器共两个:特殊功能寄存器SCON和PCON。,2023/7/9,34,SBUF是两个在物理上独立的接收、发送缓冲器,可同时发送、接收数据。两个缓冲器只用一个字节地址99H,可通过指令对SBUF的读写来区别是对接收缓冲器的操作还是对发送缓冲器的操作。CPU写SBUF,就是修改发送缓冲器;读SBUF,就是读接收缓冲器。串行口对外也有两条独立的收发信号线RXD(P3.0)和TXD(P3.1),因此可以同时发送、接收数据,实现全双工传送。,串行口数据缓冲器SBUF,2023/7/9,35,串行口控制寄存器SCON,SCON寄存器用来
24、控制串行口的工作方式与状态,它可以位寻址。在复位时所有位被清0,字节地址为98H。SCON的格式为:,2023/7/9,36,SM0、SM1串行口4种工作方式的选择位 SM0 SM1 方式 功 能 说 明 0 0 0 移位寄存器方式(用于扩展并行I/O口)0 1 1 8位异步收发,波特率可变(由定时器控制)1 0 2 9位异步收发,波特率为fosc/64或fosc/32 1 1 3 9位异步收发,波特率可变(由定时器控制),2023/7/9,37,SM2 多机通信控制位 用于方式2或方式3中。当串行口以方式2或方式3接收时,如果SM2=1,只有当接收到的第9位数据(RB8)为“1”时,才将接收
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 串行口及应用 串行口 应用 PPT 课件
链接地址:https://www.31ppt.com/p-5457017.html