《微型计算机原理及接口技术第10章.ppt》由会员分享,可在线阅读,更多相关《微型计算机原理及接口技术第10章.ppt(50页珍藏版)》请在三一办公上搜索。
1、第10章 串行通信和可编程接口芯片8251A,10.1 串行通信的基本概念10.2 可编程串行接口芯片8251A10.3 EIA RS-232C总线,10.1 串行通信的基本概念 一、并行通信与串行通信 二、串行通信方式 三、串行接口芯片UART和USART 四、调制解调器,一、并行通信与串行通信 按信息的传送方式可将数据通信分为并行通信、串行通信:并行通信:是指利用多条数据传输线将一个数据的各位同时进行传送。特点:传输速度快,适用于短距离通信。串行通信:是指利用一条传输线将数据的各位一位一位地顺序进行传送。串行通信又可分为异步通信和同步通信。特点:通信线路简单,利用电话或电报线路就可实现通信
2、,降低成本,适用于远距离通信,但传输速度慢。,二、串行通信方式按串行通信的数据传送方向串行通信可分为:1.单工传送方式:只能进行一个方向的数据传送(两条线:信息线、地线)。2.半双工传送方式:可以进行两个方向的数据传送(双向),但不能同时进行双向传送;某一时刻只能进行一个方向的传送(两条线:信息线、地线)。3.全双工传送方式:可以同时进行两个方向的数据传送(双向)。(三条线:两条信息线、一条地线)。,串行通信按数据传送的方式可分为异步通信与同步通信。1.异步通信:以一个字符为传输单位,通信中两个字符间的时间间隔是不固定的,然而在同一个字符中的两个相邻位代码间的时间间隔是固定的。传送一个字符的信
3、息格式:规定有起始位、数据位、奇偶校验位、停止位等。帧:从起始位开始到停止位结束的所有信息称为一帧信息。,起始位:先发出一个逻辑”0”信号,表示传输字符的开始。数据位:紧接着起始位之后。数据位的个数可以是4、5、6、7、8位等,构成一个字符。通常采用ASCII码。从最低位开始传送,靠时钟定位。奇偶校验位:数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验数据传送 的正确性。停止位:它是一个字符数据的结束标志。可以是1位、1.5位、2位的高电平。空闲位:处于逻辑“1”状态,表示当前线路上没有数据传送。,异步通信的数据格式,特点:传送效率低,有20%30%的辅助信息
4、(起始位、奇偶校验位、停止位),传送速率19.2Kbps(波特率)。波特率:表示每秒钟传送的二进制数据的位数。是衡量数据传送速率的指标。例如:数据传送速率为120字符/秒,而每一个字符为10位,则其传送的波特率为101201200字符/秒1200波特(bps)。国际上规定的标准波特率为110、300、600、1200、1800、2400、4800、9600、19200 bps(位/秒)。,2、同步通信以一个帧为传输单位,每个帧中包含有多个字符。在通信过程中,每个字符间的时间间隔是相等的,而且每个字符中各相邻位代码间的时间间隔也是固定的。同步通信的数据格式:,三、串行接口芯片UART和USART
5、功能:实现串/并、并/串转换。UART:异步通信接口芯片USART:同步异步通信接口芯片,如Intel8251。组成:接收器、发送器和控制器,四、调制解调器定义:能将数字信号转换成音频信号及将音频信号恢复成数字信号的器件称为调制解调器(MODEM)。将数字信号调制成模拟信号的过程称为调制,将模拟信号解调为数字信号的过程称为解调。功能:利用标准电话线(300Hz3000Hz)进行传送数字信号。防止数据在传送过程中产生的畸变。调制方法:幅度调制(调幅)、频率键移(调频)、相位键移(调相)和多路载波(多元调制)。串行通信的校验方式:奇偶校验、CRC冗余校验。,10.2 可编程串行接口芯片8251A
6、10.2.1 8251A的基本性能 10.2.2 8251A的内部结构 10.2.3 8251A的引脚 10.2.4 8251A的CPU、外设之间的连接 10.2.5 8251A的编程,10.2.1 8251A的基本性能 8251A是可编程的串行通信接口芯片,基本性能:1两种工作方式:同步方式(波特率为0 64Kbps),异步方式(波特率为019.2Kbps)。2同步方式:5 8bit/字符,可使用内部同步检测或外部同步检测,自动插入同步字符。8251A也允许同步方式下增加奇/偶校验位进行校验。3异步方式:5 8bit/字符,时钟频率为传输波特率的1、16或64倍,用1位作为奇/偶校验。1个启
7、动位。并能根据编程为每个数据自动增加1个、15个或2个停止位。可以检查假启动位,自动检测和处理终止字符。4全双工的工作方式:其内部提供具有双缓冲器的发送器和接收器。5提供出错检测:具有奇偶、溢出和帧错误三种校验电路。,10.2.2 8251A的内部结构 8251是可编程的串行通信接口,8251的结构如下页图所示,可以分成5个主要部分:I/O缓冲器、接收器、发送器、调制/解调控制电路、读/写控制逻辑电路。它可以管理信号变化范围很大的串行数据通信。,1.接收器 接收器由接收缓冲器和接收控制电路两部分组成。接收移位寄存器从RXD引腿上接收串行数据转换成并行数据后存入接收缓冲器。异步方式:在RXD线上
8、检测低电平,将检测到的低电平作为起始位,8251A开始进行采样,完成字符装配,并进行奇偶校验和去掉停止位,变成了并行数据后,送到数据输入寄存器,同时发出RXRDY信号送CPU,表示已经收到一个可用的数据。同步方式:首先搜索同步字符。8251A监测RXD线,每当RXD线上出现一个数据位时,接收下来并送入移位寄存器移位,与同步字符寄存器的内容进行比较,如果两者不相等,则接收下一位数据,并且重复上述比较过程。当两个寄存器的内容比较相等时,8251A的SYNDET升为高电平,表示同步字符已经找到,同步已经实现。,采用双同步方式,就要在测得输入移位寄存器的内容与第一个同步字符寄存器的内容相同后,再继续检
9、测此后输入移位寄存器的内容是否与第二个同步字符寄存器的内容相同。如果相同,则认为同步已经实现。在外同步情况下,同步输入端SYNDET加一个高电位来实现同步的。实现同步之后,接收器和发送器间就开始进行数据的同步传输。这时,接收器利用时钟信号对RXD线进行采样,并把收到的数据位送到移位寄存器中。在RXRDY引脚上发出一个信号,表示收到了一个字符。,2.发送器 发送器由发送缓冲器和发送控制电路两部分组成。采用异步方式,则由发送控制电路在其首尾加上起始位和停止位,然后从起始位开始,经移位寄存器从数据输出线TXD逐位串行输出。采用同步方式,则在发送数据之前,发送器将自动送出1个或2个同步字符,然后才逐位
10、串行输出数据。如果CPU与8251A之间采用中断方式交换信息,那么TXRDY可作为向CPU发出的中断请求信号。当发送器中的8位数据串行发送完毕时,由发送控制电路向CPU发出TXE有效信号,表示发送器中移位寄存器已空。,3数据总线缓冲器 数据总线缓冲器是CPU与8251A之间的数据接口。包含3个8位的缓冲寄存器:两个寄存器分别用来存放CPU向8251A读取的数据或状态信息。一个寄存器用来存放CPU向8251A写入的数据或控制。,4读/写控制电路 读/写控制电路用来配合数据总线缓冲器的工作。功能如下:(1)接收写信号WR,并将来自数据总线的数据和控制字写入8251A;(2)接收读信号RD,并将数据
11、或状态字从8251A送往数据总线;(3)接收控制/数据信号C/D,高电平时为控制字或状态字;低电平时为数据。相当于芯片内部端口选择(接CPU的低位地址线)。控制信号的组合与功能同前。(4)接收时钟信号CLK完成8251A的内部定时;(5)接收复位信号RESET,使8251A处于复位状态。5.调制解调控制电路 调制解调控制电路用来简化8251A和调制解调器的连接。,10.2.3 8251A的引脚,1.数据总线D7-D0:8位,三态,双向数据线,与系统的数据总线相连。传输CPU对8251A的编程命令字和8251A送往CPU的状态信息及数据。2.读/写控制信号:CS、WR、RD、C/D(控制/数据信
12、号,用来区分当前读/写的是数据还是控制信息或状态信息。该信号也可看作是8251A数据口/控制口的选择信号)。数据输入端口和数据输出端口合用同一个地址(C/D=0),而状态端口和控制端口合用同一个地址(C/D=1)。,3.收发联络信号:TXRDY:发送器准备好信号,用来通知CPU,8251A已准备好发送一个字符(发送器已准备好从CPU接收一个数据)。在中断方式时,TXRDY可用来作为中断请求信号;在查询方式时,TXRDY可用来作为查询信号。TXE:发送器空信号,TXE为高电平时有效,用来表示此时8251A发送器中并行到串行转换器空,说明一个发送动作已完成。RXRDY:接收器准备好信号,用来表示当
13、前8251A已经从外部设备或调制解调器接收到一个字符,等待CPU来取走。因此,在中断方式时,RXRDY可用来作为中断请求信号;在查询方式时,RXRDY可用来作为查询信号。SYNDET:同步检测信号,只用于同步方式。,4.收发联络信号 DTR:数据终端准备好信号,通知外部设备,CPU当前已经准备就绪。DSR:数据设备准备好信号,表示当前外设已经准备好。RTS:请求发送信号,表示CPU已经准备好发送。CTS:允许发送信号,是对RTS的响应,由外设送往8251A。实际使用时,这4个信号中 CTS 通常只有必须为低电平,其它3个信号可以悬空。,5.数据信号TXD:发送器数据输出信号。当CPU送往825
14、1A的并行数据被转变为串行数据后,通过TXD送往外设。RXD:接收器数据输入信号。用来接收外设送来的串行数据,数据进入8251A后被转变为并行方式。6.时钟、电源和地 8251A除了与CPU及外设的连接信号外,还有电源端、地端和3个时钟端。CLK:时钟输入,用来产生8251A器件的内部时序。同步方式下,大于接收数据或发送数据的波特率的30倍,异步方式下,则要大于数据波特率的4.5倍。,TXC:发送器时钟输入,用来控制发送字符的速度。同步方式下,TXC的频率等于字符传输的波特率,异步方式下,TXC的频率可以为字符传输波特率的1倍、16倍或者64倍。RXC:接收器时钟输入,用来控制接收字符的速度,
15、和TXC一样。在实际使用时,RXC和TXC往往连在一起,由同一个外部时钟来提供,CLK则由另一个频率较高的外部时钟来提供。VCC、GND:电源输入、地。,10.2.4 8251A与CPU、外设之间的连接,8251A的C/D与8086的连接:8086规定,低8位数据总线的数据总是读写于偶地址单元或端口,高8位数据总线的数据总是读写于奇地址单元或端口。因此,8位接口芯片若连在8086的低8位数据总线上,则8位接口芯片的端口地址必须都是偶地址(A0=0);8位接口芯片若连在8086的高8位数据总线上,则8位接口芯片的端口地址必须都是奇地址(A0=1)。所以,8位接口芯片与8086的数据总线连接完后,
16、A0的值就固定了,不能更改。所以:8位接口芯片与8086连接,只能用A1A2地址线选择芯片内部的端口,即,将8位接口芯片的地址线连接到8086的A1A2上,而不能连到8086的A0上。8088是准16位机,外部只有8位数据总线,不存在8086的问题。,结论:如果外部接口的地址是连续的(如60-63H),则连接的CPU是8088。如果外部接口的地址是连续的偶地址(如:FFF8H、FFFAH、FFFCH、FFFEH),则连接的CPU是8086,且外部接口的数据总线一定是连在8086的低8位数据总线上;如果外部接口的地址是连续的奇地址(如:FFF9H、FFFBH、FFFDH、FFFFH),则连接的C
17、PU是8086,且外部接口的数据总线一定是连在8086的高8位数据总线上;A0=1。8251A的C/D与8086的连接:C/D用于选择8251A内部的端口,连接到8086 A1的上,8086 的A0应与数据总线的接法配合。接收控制/数据信号C/D,高电平时为控制字或状态字;低电平时为数据。相当于芯片内部端口选择。以前讲的8位接口芯片与8086 CPU的连接均遵循此原则。,10.2.5 8251A的编程(P368)8251A是一个可编程的多功能芯片,在使用时必须对其进行初始化编程,用以确定工作方式、命令、波特率、字符格式、同步字符等。编程的内容包括两大方面:(1)由CPU发给8251A的控制字,
18、即方式选择控制字和操作命令控制字;共用一个端口地址,按顺序写入。异步方式:在方式选择控制字写入后,紧接着必须写入操作命令控制字。同步方式:在方式选择控制字写入后,先完成同步字符的写入,紧接着必须写入操作命令控制字。(2)由8251A向CPU送出的状态字。,1方式选择控制字(模式字),2操作命令控制字(控制字),3.状态字,状态字是8251A 在执行命令过程中产生的,并存放在状态寄存器中,状态寄存器的某一位置1,表示有效。FE、OE、PE均由操作命令控制字的D4(ER)位置1来复位。出错状态置位,只指明错误,不禁止8251A的操作。,4、8251A的初始化,异步方式:在方式选择控制字写入后,紧接
19、着必须写入操作命令控制字。同步方式:在方式选择控制字写入后,先完成同步字符的写入,紧接着必须写入操作命令控制字。8251A的初始化:(1)写入方式选择控制字后,马上进入操作命令控制字状态,再写入的即为命令字。(同步方式时,两者之间要写入同步字符)(2)8251A处于命令控制字状态时,只有将8251A命令字的D6位置1(IR=1)(内部复位),才能回到方式选择控制字状态。(3)8251A初始化时,为了保证8251A正确复位,首先向控制口写入3个0,再写入一个带内部复位(IR=1)的命令字(40H),使8251A完全无误地进入方式选择控制字状态,写入方式选择控制字。,例如:设8251的口地址为30
20、8H、30AH,则初始化编程为:MOV AL,00H MOV CX,03H MOV DX,30AH AA:OUT DX,AL LOOP AA MOV AL,40H OUT DX,AL;复位命令 MOV AL,7FH OUT DX,AL;将825lA定义为异步方式,8位数据,;1位停止位,偶校验,取波特率系数为64,MOV AL,11H;允许发送。OUT DX,AL,例:两台微型计算机通过8251A相互通信 通过8251A实现相距较远的两台微型计算机相互通信的系统连接简化框图如下。这时,利用两片8251A通过标准串行接口RS-232C实现两台8086微机之问的串行通信,可采用异步或同步工作方式。
21、,分析:设系统采用查询方式控制传输过程,异步传送。初始化程序由两部分组成:(1)将一方定义为发送器。发送端CPU每查询到TXRDY有效,则向8251A并行输出一个字节数据;(2)将对方定义为接收器。接收端CPU每查询到RXRDY有效,则从8251A输入一个字节数据,一直进行到全部数据传送完毕为止。发送端初始化程序与发送控制程序如下:STT:MOV DX,1F2H MOV AL,00H MOV CX,03H AA:OUT DX,AL LOOP AA MOV AL,40H OUT DX,AL,MOV AL,7FH OUT DX,AL;将825lA定义为异步方式,8位数据,1位停止位;偶校验,取波特
22、率系数为64,允许发送。MOV AL,11H OUT DX,AL MOV DI,BUFF;设置地址指针 MOV CX,COUNT;设置计数器初值 NEXT:MOV DX,1F2H IN AL,DX TEST AL,01H;查询TXRDY有效否?JZ NEXT;无效则等待 MOV DX,1F0H MOV AL,DI;向8251A输出一个字节数据。OUT DX,AL INC DI;修改地址指针 LOOP NEXT;未传输完,则继续下一个 HLT,接收端初始化程序和接收控制程序如下:SRR:MOV DX,1F2H MOV AL,00H MOV CX,03H AA:OUT DX,AL LOOP AA
23、MOV AL,40H OUT DX,AL MOV AL,7FH OUT DX,AL;初始化8251A,异步方式,8位数据;1位停止位,偶校验,波特率系数64,允许接收。MOV AL,14H OUT DX,AL MOV DI,BUFF;设置地址指针 MOV CX,COUNT;设置计数器初值,NEXT:MOV DX,1F2H IN AL,DX TEST AL,02H;查询RXRDY有效否?JZ NEXT;无效则等待 TEST AL,38H;有效时,进一步查询是否有奇偶校验错。JNZ ERR0R;有错时,转出错处理 MOV DX,1F0H IN AL,DX;无错时,输入一个字节到接收数据块。MOV
24、DI,AL INC DI;修改地址指针 LOOP COMT;未传输完,则继续下一个 HLT ERR:CALL ERR-OUT,10.3 EIA RS-232C总线 RS-232-C是美国电子工业协会EIA(Electronic Industry Association)制定的一种串行物理接口标准。RS是英文“推荐标准”的缩写,232为标识号,C表示修改次数。RS-232C总线标准设有25条信号线,包括一个主通道和一个辅助通道,在多数情况下主要使用主通道。对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。RS-232C标准规定的数据传输速率为每秒50、75、100、1
25、50、300、600、1200、2400、4800、9600、19200波特。RS-232C标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制,例如,采用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的电容量减小,通信距离可以增加。传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于20m以内的通信。,10.3.1 连接器 RS-232C是一种标准接口,D型插座,采用25芯引脚或9芯引脚的连接器,如下图所示。,10.3.2 连接电路 微型计算机之间的串行通信就是按照RS-232C标准设计的接口电路实现的。如果使用一
26、根电话线进行通信,那么计算机和MODEM之间的连线就是根据RS-232C标准连接的。其连接及通信原理如图所示。,10.3.3 逻辑电平 RS-232C标准采用EIA电平。规定:“1”的逻辑电平在-3V-15v之间,“0”的逻辑电平在+3V+15V之间。由于EIA电平与TTL电平完全不同,必须进行相应的电平转换,MCl488完成TTL电平到EIA电平的转换,MCl489完成EIA电平到ITL电平的转换。也可用MAX232/233实现电平转换。MAX232的电路结构如下页图所示。,10.3.4 信号线 RS-232C标准规定接口有25根连线。只有以下9个信号经常使用。引脚和功能分别如下:TXD(第
27、2脚):发送数据线,输出。发送数据到MODEM。RXD(第3脚):接收数据线,输入。接收数据到计算机或终端。RTS(第4脚):请求发送,输出。计算机通过此引脚通知MODEM,要求发送数据。CTS(第5脚):允许发送,输入。发出作为对的回答,计算机才可以进行发送数据。,DSR(第6脚):数据装置就绪(即MODEM准备好),输入。表示调制解调器可以使用,该信号有时直接接到电源上,这样当设备连通时即有效。CD(第8脚):载波检测(接收线信号测定器),输入。表示MODEM已与电话线路连接好。如果通信线路是交换电话的一部分,则至少还需如下两个信号:RI(第22脚):振铃指示,输入。MODEM若接到交换台
28、送来的振铃呼叫信号,就发出该信号来通知计算机或终端。DTR(第20脚):数据终端就绪,输出。计算机收到RI信号以后,就发出信号到MODEM作为回答,以控制它的转换设备,建立通信链路。GND(第7脚):地,10.3.5 RS-485总线 在要求通信距离为几十米到上千米时,广泛采用RS-485 串行总线标准。RS-485采用平衡发送和差分接收,因此具有抑制共模干扰的能力。加上总线收发器具有高灵敏度,能检测低至200mV的电压,故传输信号能在千米以外得到恢复。RS-485采用半双工工作方式,任何时候只能有一点处于发送状态,因此,发送电路须由使能信号加以控制。RS-485用于多点互连时非常方便,可以省掉许多信号线。应用RS-485 可以联网构成分布式系统,其允许最多并联32台驱动器和32台接收器。,作业:P381 1 4 12 15 写出8251A的初始化的步骤。,