




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本课程教学模块第一章、微型计算机基础知识第二章、微型计算机的组成及工作原理第三章、汇编语言程序设计第四章、输入/输出接口第五章、存储器及其结构第六章、中断控制系统
第七章、可编程计数/定时控制器8253第八章、数/模及模/数转换器
第九章微型计算机外部设备简介
第十章微型计算机开发应用1第四章、输入/输出接口
本章要点:l
I/O接口电路功能结构l
I/O接口电路数据传送方式l
可编程并行接口芯片8255A结构、工作方式及应用l
可编程串行接口芯片8155A结构、工作方式及应用l
可编程DMA控制器8237结构、工作方式及应用l常见可编程芯片的应用
24.1输入/输出接口电路
为实现人机交互和各种形式的数据输入/输出,中间电路称为输入/输出接口电路,简称I/O电路。
3二、I/O电路功能1)转换信息格式:如正负逻辑转换,串并行数据转换,模拟数字信息的转换等;
2)提供有关数据传送的联络信号:I/O电路处于CPU与外设之间,提供联络信息。
3)一个输入接口必须具有三态缓冲功能,一个输出接口应具有数据锁存功能。
4)进行地址译码或设备选择:在一个微机系统中,通常会有多个I/O设备,每个又可能有数据口、状态口和控制口。CPU通过I/O电路的地址译码来识别它们。
5)进行中断管理;
6)实现电平转换;
7)提供时序控制功能。
4三、I/O电路端口编址方式
对大量存储单元的识别是通过地址编码来实现的。目前I/O电路端口的编码方式有两种。
1、统一地址的编址方式
:和存储单元统一编址,即I/O端口看成存储器的一部分;
①
优点:CPU访问存储单元的所有指令都可用于访问I/O端口;
②缺点:其一是I/O端口占用了内存空间; 其二是在程序中不能一目了然的区分当前正在进行的访问是存储器还是I/O端口。
2、独立地址的编址方式:是指把I/O端口和存储单元各自编址,即使地址编号相同也无妨。
①优点:其一是I/O端口不占用内存空间; 其二是访问I/O端口指令仅需两个字节,执行速度快; 其三是读程序时只要是I/O指令,即知是CPU访问I/O端口。
②缺点:其一是要求CPU有独立的I/O指令; 其二是CPU访问I/O端口的寻址方式少。5四、I/O电路的典型结构
1、
内部结构面向用户的I/O电路的内部结构由数据、状态和控制三类寄存器组成,用于保存和交换三种不同的信息,CPU通过对三种端口的寻址来访问其中的数据。
6四、I/O电路的典型结构
1、
内部结构2、I/O电路芯片I/O电路的核心功能常被集成在一块或数块大规模集成电路芯片中,称为接口芯片。常用的:1)通用接口芯片:并行接口芯片I8212、I8255,串行接口芯片I8250、8251等。2)面向微机的专用接口芯片:中断控制器I8259、DMA控制器I8237、 定时/计数器I8253/8254等。3)面向外设的专用接口芯片:CRT控制器MC6845、键盘接口芯片I8279等。
74.1.2输入/输出数据传送的方式
计算机主机与I/O设备间进行数据传送通过I/O电路来实现,其数据传送的方式通常有:程序控制下的数据传送方式、直接存储器存取方式、中断传送方式和采用I/O处理机传送方式等。
一、程序控制下的数据传送方式
通过CPU执行程序中的I/O指令来完成数据传送,可分为无条件传送和查询传送。
1、无条件传送方式(又称同步传送方式)
特点:传送前,CPU不需要了解I/O电路的状态,假设外设已作好传送数据的准备,
CPU直接与外设传送数据。适用于外部控制过程的各种动作时间是固定的且是已知的场合。优点:程序控制下的数据无条件传送是最简便的传送方式,它所需的硬件和软件都很少,且硬件接口电路简单。
缺点:这种传送方式必须在已知且确信外设已准备就绪的情况下才能使用,否则出错。
8一、程序控制下的数据传送方式
1、无条件传送方式(又称同步传送方式)
2、查询传送方式(又称异步传送方式)特点:接口就绪后,才进行数据传送,否则只能等待或转入其它程序段。适用于CPU与外设工作不同步。
优点:传送数据前,CPU先检测接口的状态,保证数据传送的正确率高。
缺点:CPU要不断地查询外设,当外设没有准备好时,CPU要等待,CPU的利用率不高。
例题4-1、采用查询传送方式向外部设备写入数据BUF(本处给出程序的主体部分)。
MOV DX,6000H ;DX指向状态端口START: IN AL,DX ;读状态端口信息
TEST AL,80H ;测试状态标志位D7,
JNZ START ;D7=0,外设未准备好,继续查询
INC DX ;D7=1外设准备好,DX指向数据端口
MOV AL,BUF OUT DX,AL ;向外设输出数据
RET9二、直接存储器存取方式(DMA方式)
数据传送请求由外设向DMA控制器(DMAC)提出,然后DMAC向CPU申请总线,DMAC利用系统总线自主完成外设和存储器间的数据传送。CPU不干预传送过程,整个传送过程由硬件来完成而不需要软件介入。控制数据传送过程的硬件称为DMA控制器。常用的DMA控制器8237详见本章第4节。
优点:具有非常高的传送速率。缺点:硬件电路复杂。10三、中断传送方式
传送请求由外设提出。当外设完成数据传送的准备后,向CPU发出中断请求信号,在CPU可以响应中断的条件下,CPU暂停正在运行的程序,转去调用执行预先准备好的中断服务程序,在中断服务程序中完成一次CPU与外设之间的数据传送,传送完成后立即返回,继续执行原来的程序。具体外设提出中断申请由中断控制器管理,常用的中断控制器8259详见第六章。优点:提高了CPU的利用效率。缺点:需要保存大量环境参数。
11四、采用I/O处理机进行数据传送方式
随着计算机系统的扩大,在数据传送中应运而生了专门用来处理输入输出的I/O处理机(IOP)。如Inter8089就是一种专门配合8086/8088的I/O处理机芯片。
I/O处理机主要特点:1)拥有自己独立的指令系统,可以独立执行自己的程序。2)支持DMA传送方式。在系统中,CPU在宏观上指导,IOP在微观上具体负责输入输出及数据的有关处理,而且通过系统公共存储区交换信息。
CPU与IOP基本处于并行工作状态,提高了计算机系统整体的数据传输效率。
12主要传送方式的对比
方式定义输入过程优点缺点编程特点其它无条件传送方式在已知外设准备好,不用查询外设,直接进行数据传送I/O数据到缓冲器CPU执行INI/O.RD.AD选中BRI/O数据送CPU程序简单软硬件很省外设未准备好时,会读错
moval,dataoutport,alCPU与外设同步工作是同步方式较少使用查询传送方式在程序控制下先查询状态外设准备好传送数据否则CPU等待输入数据准备好发选通readyCPU读到ready到数据口读数据状态仅一位数据传送不易出错要查询需等待废时间Inal,sta-pTestal,60hJereturnInal,data-p应答式传送状态信息位联络信息HandshakeCPU有空闲
中断传送方式外设准备好数据向CPU发请求CPU暂停原程序转中断读数据完成返原程序外设输入数据发选通请求信号数据存入锁存器D=1,发中断请求CPU得请求,转向执行中断,读数据完成清中断,返回提高效率可多外设靠程序保护断点保护现场多用指令废时间
CALLxxxx
Jne
xxxx
RETCPU不用等执行指令服务中断随时执行CPU无空闲
使用较多直接数据通道传送方式DMA为提高速度CPU出让总线DMA控制器接管总线,数据在外设内存间直接传送,完成归还总线外设发选通到DMADMA发HOLD到CPUCPU返HLDA给DMADMA接管总线DMA控制ABDBCB外数据直发内存修改地址,计数器检查传送结束返回实现数据高速传送降低CPU利用率电路复杂
传送方式单字节方式多字节方式源目的同步
收发请求改地址指针改记数器值三种方法
周期挪用周期扩展CPU停机;
使用多134.2可编程并行通信接口芯片8255A
4.2.1并行接口芯片8255A的结构
8255A有3个8位的并行输入输出端口,端口A、B、C;可利用编程的方法设置3个端口是输入端口还是输出端口;有三种工作方式,分别是方式0、方式1和方式2;有三种数据传送方式,无条件传送方式、查询传送方式和中断传送方式。还可以对端口C的具体位进行单独操作。总之8255A可编程芯片是一个操作灵活、控制方便、应用广泛的并行接口电路。
通用的可编程接口芯片(按一次传送数据的位数)并行接口串行接口并行接口芯片和外设之间一次传送数据的位数是多位的,通常是一个字节或一个字。串行接口芯片和外设之间一次传送数据的位数是1位。144.2.1接口芯片8255A的结构
一、8255A的引脚:8255A是双列直插式40个引脚芯片1)RESET:复位信号。RESET的下降沿,清除8255A控制字寄存器的内容,并将三个端口置成输入方式。2)D7~0:8位数据总线。和CPU系统数据总线相连。3)PA7~PA0:8位A端口数据信号线。4)PB7~PB0:8位B端口数据信号线。5)PC7~PC0:8位C端口数据信号线。6):片选信号线。由译码电路的输出端提供。7):读信号。与CPU的控制线相连。8):写信号。与CPU的控制线相连。9)A1A0:端口选择线。组合的00、01、10、11分别选择A口、B口、C口及控制端口。
15二、8255A的内部结构内部数据总线A组控制B组控制端口C上半部端口C下半部端口BOOO数据总线缓冲器读/写控制逻辑端口A数据总线D0~D7RDWRA0A1RESETCSPA0~PA7PC4~PC7PC0~PC3PB0~PB7CPU接口外设接口内部逻辑16二、8255A的内部结构
1、数据总线缓冲器:
性质:8位双向三态门电路。功能:I/O的数据、CPU输出的控制字以及CPU输入的状态信息都是通过这个缓冲器传送的,数据总线缓冲器的8根数据线D7~D0一般与8086CPU低8位数据线相连。2、并行I/O端口(A、B、C口):
性质:A口输入输出都有缓冲器和锁存器;B口输入输出都有缓冲器和锁存器;C口输出有缓冲器和锁存器,输入只有缓冲器,没有锁存器。功能:通常A口和B口作为独立工作的I/O数据端口,C口作为控制或状态信息端口。在方式控制字控制下,C口可以分成两个4位端口,每个端口包含一个4位锁存器,分别与A口和B口配合使用,作为与外设之间的联络信号和存放接口电路当前的状态信息。17二、8255A的内部结构
3、控制字寄存器电路:性质:分A组控制部件,控制A和C口上半部;B组控制部件,控制B和C口下半部;控制字寄存器的内容CPU只能写不能读。功能:接收CPU写入的方式控制字和对C口按位置位/复位控制字,实现对A、B、C口的控制。4、读/写控制逻辑:性质:逻辑译码电路组成功能:控制CPU送来的控制字或输出数据送至相应端口,把外设的状态信息或输入数据通过相应的端口送至CPU。
由端口地址A1A0和相应控制信号组合起来可定义8255A的各端口的操作方式
18表4-28255A的读写操作控制1194.2.28255A的控制字
8255A工作方式和工作状态的建立是向控制字寄存器写入相应的8位控制字完成的。D7D6D5D4D3D2D1D0D7=1是方式选择控制字
D7=0是C口按位置位/复位控制字
在使用8255A时,首先要由CPU对8255A写入控制命令字,有两种控制命令字方式,8255A的三种工作方式都要由控制命令字来设定——这个设置过程称为“初始化”20一、8255A的方式选择控制字
D7D6D5D4D3D2D1D0D7=1A口工作方式选择:00=方式0,01=方式1,1X=方式2A口工作状态为:基本输入输出选通输入输出双向选通输入输出
A口输入输出选择:0=输出1=输入C口高位输入输出选择:0=输出1=输入B口工作方式选择:0=方式0基本输入输出
1=方式1选通输入输出
B口输入输出选择:0=输出
1=输入C口低位输入输出选择:
0=输出1=输入例4-2:8255A工作在方式选择控制字,A口是选通的输入方式,B口基本的输出方式。解:控制字为10111000=0B8,初始化程序:
MOV DX,PORT-C MOV AL,0B8H OUT DX,AL21一、8255A的方式选择控制字
D7D6D5D4D3D2D1D0D7=1A口工作方式选择:00=方式0,01=方式1,1X=方式2A口工作状态为:基本输入输出选通输入输出双向选通输入输出
8255的24条I/O线全部用作传送数据不设专用应答线常用于无条件传送输出有锁存,输入无所存有缓冲A、B口传送数据,C口部分引脚指定为固定的专用应答线用于查询(条件)传送或中断传送数据输入输出都有锁存功能A为双向输入输出口,C的5条线为专用应答线22二、8255A端口C的置位/复位命令字
8255A端口C的置位/复位命令字可实现对端口C的每一位进行控制
D7=0置位/复位控制字标志三位无效D1D2D3位选择000PC0001PC1010PC2011PC3100PC4101PC5110PC6111PC7D7D6D5D4D3D2D1D0B组:置位/复位选择
1=置位0=复位23二、8255A端口C的置位/复位命令字
例4-3:8255A工作在置位/复位方式,要求在8255A芯片C口的PC3位产生一个方脉冲信号。解:对PC3的置位控制字为00000111B=07H MOV DX,PORTC ;送控制口地址LP1: MOV AL,07H ;送控制字
OUT DX,AL ;初始化
CALL DELAY ;调用延时程序,输出维持一段时间
MOV AL,06H
;对PC3复位的控制字
OUT DX,AL CALL DELEY JMP LP124方式1的操作过程A口方式1,输入A口方式1,输出INTEAPA0~PA7PC4PC5PC3STBIBFINTRI/OPC6PC7ORDSTB:选通输入,外设发出IBF:输入缓冲器满,8255发出INTE:内部中断允许,设置PC4=1
可使INTEA=1INTR:中断请求,当INTE=1
且IBF=1时,INTR=1INTEAPA0~PA7PC6PC7PC3PC4PC5ACKOBFINTRI/OOWRACK:外设应答OBF:输出缓冲器满INTE:中断允许,设置PC6=1,可使INTEA=1INTR:中断请求,当INTE=1且OBF=1时,INTR=125三、方式2——双向选通输入输出方式
方式2将方式1的选通输入输出功能组合成一个双向数据端口,可以发送数据和接收数据。适用于双向传送数据的外设,用于查询和中断方式的接口电路。只有端口A可以工作于方式2,需要利用端口C的5个信号线,其作用与方式1相同。
方式2用PC6设置INTE1(输出),用PC4设置INTE2(输入)。输入和输出中断通过或门输出INTRA信号。26三、方式2——双向选通输入输出方式
例4-4:在一系统中,8255A端口地址为0A8H、0AAH、0ACH、0AEH,8255A与8086CPU微机系统接口(用74LS138三八译码器)如图4-12。设8255A的A口工作在方式0输出,PB口工作在方式1输入,允许PB口中断,C口剩余数据线全部输出。8255A初始化。解:地址译码线:A7A6A5A4A3A2A1A0101010000A8H选择A口101010100AAH选择B口101011000ACH选择C口101011100AEH选择控制字寄存器初始化程序:MOV AL,10000110B ;A方式0输出,B方式1输入,C剩余数据线全部输出OUT 0AEH,ALMOV AL,00000101B ;PC2置1,中断屏蔽信号允许OUT 0AEH,AL ;允许B口输入中断274.2.48255A的应用
一、8255A作为打印机接口的应用
1、电路组成查询方式的打印机接口,图中8255A的控制口接地址2F7H,用8255AA口作为输出打印数据口,工作于方式0,8255APC7引脚作为打印机的数据选通信号,由它产生一个负脉冲,将数据线D7~D0上的数据送入打印机。另外分配PC2引脚来接收打印机的忙状态信号,打印机在打印某字符时,忙状态信号BUSY=1,此时,CPU不能向8255A输出数据,一定要等待BUSY信号为低电平无效时,CPU才能再次输出数据到8255A。28一、8255A作为打印机接口的应用
2、查询程序设计打印字符存于缓冲区BUFF,共100H字符,用查询BUSY信号完成CPU与打印机间数据交换的源程序:MOV DX,2F7H ;8255A控制口口地址MOV AL,10000011B ;8255A方式选择控制字OUT DX,AL ;A口方式0输出,PC7输出,PB7输入MOV AL,00001111B ;8255A的C口按位置位/复位控制字OUT DX,AL ;PC7置1,使高电平MOV CX,100H
;打印字符个数MOV SI,OFFSETBUFFPOLL:MOV DX,2F5H ;B口地址2F5HIN AL,DXTEST AL,80H
;查BUSY=0?JNZ POLL ;不为0,打印忙等待MOV DX,2F4H ;否则,A口地址2F4HMOV AL,[SI]; 向A送数据OUT DX,AL MOV DX,2F7H ;8255A控制口地址2F7HMOV AL,0EH
;PC7置0,使为低电平OUT DX,AL ;产生一个负脉冲NOPMOV AL,0FH
;PC7置1,使为高电平OUT DX,ALINC SILOOP POLL ;未打印完,继续HLT29二、8255A作为16位小键盘控制接口的应用
小键盘适用于单板机或以微处理器为基础的仪器,实现数据、地址、命令等的输入。1、电路组成查询方式的小键盘接口如图。常用的矩阵结构键盘每行连接一个引脚,每列连接一个引脚,利用控制线为低,读取检测线来识别闭合键。
30二、8255A作为16位小键盘控制接口的应用
2、查询程序设计先使第0行接低电平,其余行接高电平,然后看第0行是否有键闭合(通过检查列线电位实现)。再将第1行接地,然后检测列线是否有变为低电位的线。如此往下一行一行地扫描,直到最后一行。在扫描过程中,当发现某一行有键闭合时,便在扫描中途退出。通过组合行线和列线可识别此刻按下的是哪一键。31二、8255A作为16位小键盘控制接口的应用
查询程序:DATA SEGMENTDA55 EQU 318HDB55 EQU 319HCTL EQU 31BHTABLE DW 0101H,0102H,0104H,0108H,0110H,0120H,0140H,0180H DW 0201H,0202H,0204H,0208H,0210H,0220H,0240H,0280HCHAR DB ‘CDEFBA9845673210’CET DB ‘PLAYANYKEYINTHESMALLKEYBOARD!’,0AH,0DH DB ‘ITWILLBEONTHESCREEN!ENDWITHE’,OAH,ODH,‘$’DATA ENDSSTACK SEGMENT PARASTACK‘STACK’STA DW 50DUP(?)STACK ENDSCODE SEGMENTMAIN PROC FAR ASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATMOV DS,AXMOV DX,OFFSETCRTMOV AH,09 ;显示提示信息INT 21HLOP: CALLKEY ;转键盘扫描程序CMP DL,‘E’ ;输入是否结束字符“E”JNELOPMOV AX,4C00H ;返回DOSINR21HRETMAIN ENDPKEY PROCNEAR;键盘扫描程序LP1:MOVAL,82H;A方式0输入;B方式0输出MOV DX,CTLOUTDX,ALWAIT1: MOV AL,00WAIT1: MOV AL,00MOV DX,DA55OUT DX,AL ;端口A输出全0MOV DX,DB55INAL,DX ;端口B读取列值CMP AL,0FFHJZWAIT1 ;列线全为1,无键按下,转回PUSH AX ;有键按下,保存列值PUSH AXMOV CX,1000HLP2: LOOPLP2 ;延时,去抖动MOVDX,CTLMOVAL,90HOUTDX,AL ;设A方式0输出;B方式0输入MOVDX,DB55POPAX ;弹出列值OUTDX,AL ;输出列值MOV DX,DA55IN AL,DX ;从端口A读取行值送ALPOPBXMOV AH,BL ;弹出列值送AHNOTAX ;列值行值取反MOV SI,OFFSETTABLEMOV DI,OFFSETCHARMOV CX,16CMPAX,[SI]JZLP4 ;与代码表相同转移DECCXJZLP1 ;查询16键ADDSI,2 ;修改代码表指针INCDIJMPLP3MOVDL,[DI] ;将键入字符送DLMOVAH,02;显示在屏幕INT21HPUSH DX ;保存键入字符MOV AL,82HMOV DX,CTLOUTDX,AL ;A方式0输入;B方式0输出MOVAL,00HMOVDX,DA55OUTDX,AL ;通过A口输出全0MOVDX,DB55INAL,DX ;通过B口读入列值CMPAL,0FFH ;键释放?JNZWAIT2POPDX ;弹出键入字符RETKEY ENDPCODE ENDSEND START324.3可编程串行通信接口芯片8251A
计算机控制系统中数据通信的方式有并行和串行通信两种方式。由于串行通信是在一根传输线上一位一位的传送信息,所用的传输线少并且可以借助现成的电话、电视、电力网络进行信息传送,因此特别适合远距离数据传送。对于显示器、打印机、磁盘等与计算机相距较近,但需要按位处理和串行存储的外部设备,采用串行通信方式进行数据交换,也不在少数。在当前工厂自动化、安全保卫等需要实时控制和管理时,相互之间的数据交换也多采用串行通信。上节介绍并行通信,本节将介绍常用的串行通信原理及串行通信接口。334.3.1串行通信概述
一、串行通信
1、串行通信的特点:传送线省,成本低,传送时间长(NT),串行传送适用于长距离通信系统及各类计算机网络。
2、串行通信编码:串行通信传送常用ASCII与扩展的BCD交换码EBCDIC进行信息传送。EBCDIC:ExtendedBinaryCodedDecimalInterchengeCode3、串行通信方式:由于串行通信信息在一个方向上传输只占用一根传输线,而这根线上既传送数据,又传送联络信号,为此为区分这根线传送的信息流中,哪一部分是联络信号,哪一部分是数据,就必须引出串行通信的一系列约定。于是,在串行通信中就有异步通信和同步通信两种基本串行通信方式。
34二、异步通信
异步通信ASYNC(AsynchronoueDataCommunication)以字符为单位进行传输,即异步传输方式,是非同步传输方式。其通信协议是起止式异步通信协议。异步通信的信息格式由起始位、数据位、校验位、停止位与不固定的空闲位五个部分组成。起始位——每个字符开始传送的标志,起始位采用逻辑0电平数据位——紧跟着起始位传送。由5~8个二进制位组成,低位先传送校验位——校验是否传送正确;可选奇检验、偶校验或不传送校验位停止位——表示该字符传送结束。停止位采用逻辑1电平,可选择1、1.5或2位空闲位——传送字符之间的逻辑1电平,表示没有进行传送空闲起始位…...5~8数据位1/01/01/0011/0较验位停止位11空闲起始位波特率的决定数据收发的时钟:时钟频率=N×波特率波特率系数N=1/16/32/64
35三、同步通信方式
以一个固定长度的字符组成的数据块(帧)为传输单位,每个数据块附加1个或2个同步字符,最后以校验字符结束,通信的信息格式见图。同步通信的数据传输效率和传输速率较高,但硬件电路比较复杂。串行同步通信主要应用在网络当中。最常使用高级数据链路控制协议HDLC。同步字符较验字符同步通信传输步骤:●传输开始,接受设备不停检测传输线—测试同步字符是否到来。●收到同步字符(约定好的)之后,收方开始接受数据。●接受:N个字符数据+校验字符。●处理:组合出N个数据字节,查奇偶无错,结束一帧数据传输。●开始检测同步字符,准备接受下一帧数据。注:发送与接受每位都保持完全一致,由时钟信号统一。36四、数据传送的三种模式
1、全双工模式:数据发送和接受由两根不同的传输线传送,通信双方在同一时刻进行发送和接受2、半双工模式数据的发送和接受由一根传输线传送,通信双方不能同时收发3、单工模式数据发送和接受在单一方向上传送37五、串行输入/输出的软硬件实现
1、软件实现串行数据转换成并行数据或反之,完全可由CPU通过软件来实现,外部只要增加简单的电平转换电路即可。
TTYOUT:MOV CL,0BH ;输出位数10位
MOV AL,DL ;
OR AL,AL ;CF=0 RCL AL,1 ;CF送D0,起始位MORE:
OUT 02H,AL ;
CALL DELAY ;与波特率相配合
RCR AL,1 ;带CF右移
STC ;CF=1,停止位
DEC CL JNE MORE RET38五、串行输入/输出的软硬件实现
2、UART硬件实现
UART即通用异步接收/发送器,它既能发送,又能接收,接收和发送部分都是双缓冲结构。●功能:
接受:串行
——
并行
——
输入; 发送:并行
——
串行
——
输出
当输入时,由RXD端接收到的串行数据先进入移位寄存器,接收到一个字符后然后并行输入给输入数据缓冲器,转变为并行数据,由DB输至CPU;在发送时,由CPU来的并行数据被输出数据缓冲器接收,然后送到输出移位寄存器,由TXD端从最低有效位开始直至最高有效位结束一位接一位串行输出。●结构:设立有奇偶错误标志、帧错误标志、溢出错误标志为了检测长距离传送中可能发生的错误,通常增加一个奇偶校验位。UART检查每个字符及奇偶校验位“1”的个数,若不满足,则传送过程中出错。
三个出错标志:
奇偶出错标志:在接收时,若检测到奇偶出错,则置位该出错标志;
帧出错标志:在接收时,若检测到字符格式不合规定,则置位该出错标志;
溢出出错标志:在接收时,CPU还没从接收数据缓冲器取走上一个字符,而接收数据移位寄存器又接收到下一个字符,则上一个字符会丢失,则置位出错标志。
394.3.2串行接口标准RS-232C
RS-232C标准是美国电子工业协会EIA制定的通用标准串行接口通信协议,于1962年公布,1969年修订,1987年1月正式改名为EIA-232D。该标准设计目的是用于连接调制解调器,现已成为数据终端设备DTE(例如计算机)与数据通信设备DCE(例如调制解调器)的标准接口。属于网络层次结构中的最低层—物理层。特点是可实现远距离通信,也可近距离连接两台微机。113142540一、RS-232C的引脚定义
RS232C使用25针连接器包括:主信道和次信道,次为辅助串行通道提供数据控制和通道,通常较少使用。1.TxD:发送数据。串行数据的发送端2.RxD:接收数据。串行数据的接收端3.RTS:请求发送。当数据终端准备好送出数据,就发出有效的RTS信号,通知通信设备准备接收数据4.CTS:清除发送(允许发送)。当数据通信设备已准备好接收数据,发出CTS有效信号来响应RTS信号
RTS和CTS是数据终端设备与数据通信设备间一对用于数据发送的联络信号5.DTR:数据终端准备好。当数据终端设备一加电,该信号就有效,表明数据终端设备准备就绪6.DSR:数据装置准备好。表示数据通信设备已接通电源连到通信线路上,并处在数据传输方式
DTR和DSR也可用做数据终端设备与数据通信设备间的联络信号,例如应答数据接收7.SG(GND):信号地。为所有的信号提供一个公共的参考电平8.DCD(CD):载波检测。当本地调制解调器接收到对方载波信号,该引脚向终端设备提供有效信号9.RI:振铃指示。当调制解调器接收到对方的拨号信号,该引脚信号作为电话铃响的指示、保持有效
25根信号线中,以上为常用的9根信号线,此外TxC:发送器时钟,RxC:接收器时钟。
41二、RS-232C的连接
微机一是利用232C接口连接调制解调器,用于实现通过电话线路的远距离通信。二是利用232C接口直接连接进行短距离通信。被称为零调制解调器(NullModem)连接。1、利用调制解调器通过电话线路的远距离通信连接,如图42二、RS-232C的连接
2、不使用调制解调器的短距离通信连接1)不用联络信号的3线相连方式,如图4-20。为了交换信息,两互相连接的RS—232的端口信号线的TxD和RxD应当交叉连接,程序中不必使RTS和DTR有效。
2)“伪”使用联络信号的3线相连方式,如图4-21(a)RTS和CTS各自互接,DTR和DSR各自互接,表明请求传送总是允许、数据装置总准备好,可以直接传送.3)使用联络信号的多线相连方式.如图4-21(b).通信比较可靠,所用连线较多,不如前者经济.43三、RS-232C的电气特性
1、232C接口采用EIA电平
EIA逻辑电平低于-3V,高于+3V,而<-15V,>+15V无意义。实际常用±12V或±15V。
对于数据(信息码):逻辑1”的电平低于-3V—-15V;逻辑0
的电平高于+3V—+15V。
对
于
控
制
信
号
:接通状态电平高于+3V—+15V;断开状态电平低于-3V—-15V。2、标准TTL电平高电平:+2.4V~+5V,低电平:0V~0.4V。以高低电平表示逻辑状态。3、EIA电平与标准TTL电平之间的相互转换EIA电平与标准TTL电平的逻辑表示状态不一致,RS232在与计算机接口或外设终端的标准TTL电平进行连接时,需要进行电平和逻辑关系之间的转换。实现转换的方法常采用分立元件,也可采用集成电路芯片完成。444.3.3可编程串行通信接口芯片8251A
一、串行通信接口的基本任务1、进行串—并转换:计算机处理数据是并行的,而串行传送的数据是按位依次传送。则数据由计算机到数据终端,接口要完成并行到串行转换,相反数据终端到计算机的数据,由接口实现串行到并行的转换。
2、串行数据格式化:异步通信时,在发送时,接口电路要自动生成起始位和停止位,接收时自动去除;在同步通信时;发送时自动在传送数据块前加同步字符,同样接收时自动去除。3、可靠性检验在数据发送时自动生成奇偶校验位,在数据接收时检查奇偶校验位,检查错误。4、实施接口与数据通信设备之间联络控制:接口电路要提供计算机的串行接口到数据通信设备(DCE)间的标准逻辑电平。45二、可编程串行通信接口芯片8251A的引脚
46三、8251A的基本特点
1、可用于同步和异步传送
同步传送:5~8bit/字符,内同步或外同步,自动插入同步字符;
异步传送:5~8bit/字符,接收/发送时钟频率为通信波特率的1,16或64倍;
2、可产生中止字符,可产生1,1.5,2位停止位。可检查假启动位,自动检测和处理中止字符;
3、波特率:DC-19.2Kbps(异步);DC-64Kbps(同步);
4、完全双工,双缓冲发送和接收器;
5、具有奇偶、帧、溢出出错检测电路。47四、8251A的内部功能结构
发送缓冲器并/串转换发送控制电路接收缓冲器串/并转换接收控制电路TXDTXRDYTXETXCRXDRXRDYRXCSYNDET内部总线数据总线缓冲器读/写控制逻辑电路调制解调电路D0~D7RESETCLKC/DRDWRCSDSRDTRCTSRTSOOOOOOO48四、8251A的内部功能1、数据总线缓冲器:性质:三态双向8位缓冲器,由状态缓冲器、发送数据/命令缓冲器和接收数据缓冲器组成。功能:用作8251A和微机系统数据总线之间的接口。状态缓冲器和接收数据缓冲器分别用来存放CPU从8251A读取的状态信息和数据,发送数据/命令缓冲器用来存放CPU写入8251A的数据/控制字。
2、接收器:性质:由接收缓冲器、接收移位缓冲器及接收控制电路三部分组成。功能:接收RXD线上的串行数据并按规定的格式把它转换为并行数据,存放在接收数据缓冲器中。其接收数据的速率取决于从RXC端输入的接收时钟频率。498251A的内部功能
3、发送器性质:由发送缓冲器、发送移位缓冲器及发送控制电路三部分组成。功能:要发送数据由CPU送到发送数据缓冲器,再由发送器并行送到发送数据移位寄存器中。4、读/写控制逻辑
功能:读/写控制电路接受CPU送来的控制信号,对数据在内部总线上的传送方向进行控制。
5、调制解调控制电路性质:由电子开关、运算放大器组成。功能:用于8251A与MODEN或外设之间的通信联络的控制。在远距离通信时,8251A提供了与调制解调器联络的信号;在远距离串行通信时,8251A提供了与外设联络的应答信号。
50
3、发送器
性质:由发送缓冲器、发送移位缓冲器及发送控制电路三部分组成。功能:要发送数据由CPU送到发送数据缓冲器,再由发送器并行送到发送数据移位寄存器中。4、
读/写控制逻辑
功能:读/写控制电路接受CPU送来的控制信号,对数据在内部总线上的传送方向进行控制。
5、调制解调控制电路性质:由电子开关、运算放大器组成。功能:用于8251A与MODEN或外设之间的通信联络的控制。在远距离通信时,8251A提供了与调制解调器联络的信号;在远距离串行通信时,8251A提供了与外设联络的应答信号。
8251A的内部功能发送缓冲器接收缓冲器并串变换寄存器串并变换寄存器……...………..……..通信线路CPU发送数据CPU接收数据………...………..发送时钟接收时钟接收控制接收控制发送器接收器514.3.48251A的控制字和工作方式
一、方式字(写入控制口,C/D=1)D0D1D2D3D4D5D6D700
同步方式01
异步110异步1611
异步64波特率因子字符长度00—5位01—6位10—7位11—8位同步(D1,D0=00)异步(D1D0=00)X0内同步X1外同步0X
双SYN1X
单SYN00
无效01,1个停止位10,1.5个停止位11,2个停止位8251A芯片工作前要先对其初始化,以确定工作方式。三种控制字分别是工作方式控制字、操纵命令控制字和状态控制字。校验选择01——奇校验
11——偶校验X0——不校验524.3.48251A的控制字和工作方式
二、命令字
(写入控制口,C/D=1)D0D1D2D3D4D5D6D7TXENDTRRXESBRKERRTSIREH
1:发送允许
0:不允许
1:使DTR引脚=01:接收允许1:TXD送低电平(断开信号)
0:正常工作1:使错误标志复位(状态寄存器)1:使RTS引脚=01:软件复位(下一条命令是方式字)1:进入SYN搜索方式534.3.48251A的控制字和工作方式
三、状态字
(读控制口,C/D=1)D0D1D2D3D4D5D6D7TXRDYRXRDYTXEPEOEFESYNDSR1:发送缓冲器空,CPU可送数。
0:稍等1:CPU可取数
0:稍等1:发送器(并/串转换器)空1:奇偶错1:溢出错1:帧格错1:找到同步字符(SYNDEN引脚的状态位)1:DSR=0(DSR引脚的状态位)54四、8251A工作初始化过程
8251A复位后,处于接收方式选择控制字状态。CPU写入方式选择字到8251A后,任何时候CPU都可写入操作命令字到8251A,写入,8251A均要检查IR位,判别IR是否等于1,若IR=1,8251A又重新回到设置方式选择控制字状态。
8251A的三个控制字均无特征位标志,必须顺序进行。1、写入工作方式控制字:约定双方通信的方式及通信格式2、写入操作命令控制字:规定数据传送方向(送/收)。3、读出状态控制字:检查通信是否可以开始。注意:方式选择控制字必须跟在复位命令之后。复位命令可用硬件的方法从RESET端输入,也可通过软件方法发送复位命令,这样,8251A才可重新设置接收方式以选择命令字554.3.48251A的控制字和工作方式
例4-7:编写使8251A可以发送数据的一段程序。要求将8251A设置为异步传送方式,波特率系数64,采用偶校验,1位停止位,7位数据位。8251A与外设有握手信号,采用查询方式发送数据。CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK MOV AX,DATA MOV DS,AXSTART:
MOV DX,04A2H ;控制口地址
MOV AL,7BH ;工作方式控制字
OUT DX,AL MOV AL,37H ;操作命令控制字
OUT DX,ALWAIT:
IN AL,DX AND AL,01H ;检查TXRDY=1?
JZ WAIT MOV DX,04A0H MOV AL,36H ;输出的数据
OUT DX,AL ............... CODE ENDS END START564.4可编程DMA控制器8237
DMA是一种外设与存储器或者存储器与存储器之间直接传输数据的方法。在进行DMA存取时,CPU让出总线控制权,用硬件的方法由DMA控制器控制DB、AB和CB,使存储器和外设直接交换数据,减少了中间环节,提高了传送速度。PC机常用8237DMA控制器。
574.4可编程DMA控制器8237
1、DMA传送方式的基本思想在存储器和外设之间建立起直接的数据传送通路,即不经由CPU,而由专门的DMA控制器实现存储器和外设之间的操作。特别适合于高速度大批量数据传送的场合。
2、DMA传送方式的基本过程1)外设I/O接口准备好,希望进行DMA操作,就向DMA控制器(DMAC)发DMA请求信号(DRQ)。2)DMA控制器将此请求信号转变成对CPU的总线请求信号(DMAHRQ)。3)CPU当前机器周期结束,响应DMA请求发出应答信号(HLDA),由DMAC接管对总线的控制。4)由DMA控制器对存储器寻址,发出控制信号(DACK),使存储器与I/O间直接交换数据。5)在传送完一字节数据,DMAC自动修改存储器地址和传送字节计数器,并检测传送是否结束。
6)DMA传送结束,DMAC向CPU发结束信号,释放总线,使CPU重获总线控制,恢复正常工作。584.4.18237内部功能结构
一、8237的特点:1)有四个完全独立的DMA通道,它们可以分别编程控制4个不同的DMA操作对象。2)能分别允许或禁止各通道的DMA请求。3)每一个通道的DMA请求有不同的优先权,优先权可固定,也可是旋转的(由命令寄存器的D4位设定)。4)可以在存储器与外设之间进行数据传送,也能进行存储器到存储器之间的数据传输。5)存储器的寻址范围为64KB,能在每传送一个字节后地址自动加1或减1。6)对于时钟为5MHz的8237-5,其传输速率高达1.6MB/s。7)可以用级连的方法无限地扩展DMA通道数。8)具有控制DMA结束传送的输入信号引脚,允许外界用此输入信号结束DMA传送。9)DREQ和DACK信号的有效性可以用软件分别设置。10)8237的DMA传送方式可以用软件设置为单字节传送方式、成组传送方式、请求成组传送方式和级连方式。
59二、DMA控制器8237A的内部结构
60二、DMA控制器8237A的内部结构
1、DMA通道0--3性质:每个通道内包含两个16位的寄存器,一个地址寄存器用于存放DMA操作的存储区的首偏移地址;一个终点计数器的低14位存放要求传送的字节数,高2位定义选定通道的操作方式。功能:外设通过请求线DRQ向DAM8237发请求传送数据信号,8237得到总线控制权后通过DACK反馈应答信号。2、数据总线缓冲器性质:双向三态8位缓冲存储器,是与系统数据总线的接口。功能:8237处于从属状态时,CPU通过它对8237读写操作;8237取得总线控制权,可传送地址线高8位地址。3、读写控制逻辑部件性质:有8237芯片选择、外设读写和8237通道选择。功能:8237处于从属状态时,接受CPU输入的读写控制信号和端口地址;8237取得总线控制权时,通过它发出读写控制信号和地址信息
61二、DMA控制器8237A的内部结构
4、工作方式寄存器和状态寄存器性质:方式寄存器是8位的只能写入的寄存器;状态寄存器是8位的只可读的寄存器。功能:工作方式寄存器在初始化时写入,决定各通道的工作方式;状态寄存器用来标志相应通道是否达到终点计数状态。
5、优先选择逻辑性质:具有固定优先级判优和循环优先级判优两种属性。固定优先顺序是0123。循环优先顺序是变化的,得到服务的在下一循环中优先权最低。功能:对通过4个通道同时提出DMA申请的外设,依据工作方式寄存器的RP位的设置选择最高优先权通道服务。6、8237的内部寄存器
8237有16个内部寄存器,占用16个连续的I/O端口地址,由地址信号A3~A0选择内部寄存器,
628237的内部寄存器的寻址CSIORIOW表4-48237的内部寄存器的寻址A3A2A1A0功能0100001读状态寄存器0100010写命令寄存器0100101非法0100110写请求寄存器0101001非法0101010写单通道屏蔽寄存器0101101非法0101110写方式寄存器0110001非法0110010字节指针触发器清零0110101读暂存寄存器0110110总清0111001非法0111010清屏蔽寄存器0111101非法0111110写四通道屏蔽寄存器634.4.28237的工作周期与引脚
由于8237A要作为系统的控制器控制总线,所以要有两种工作周期,即空闲周期和有效周期,分别对应受CPU控制的工作状态和作为DMAC控制DMA传送的工作状态。其每个周期又由若干个时钟周期组成。DMA的每个时钟周期称为一个S状态
一、空闲周期当8237的四个通道中任一个通道无DMA请求时,8237就进入空闲周期,在空闲周期,8237始终执行SI状态,并且在每一个时钟周期都采样通道的请求输入线DREQ。若无请求就始终停留在SI状态。l
在空闲周期,8237就作为CPU的一个外设。l
在SI状态,可由CPU对8237编程,或从8237读取状态,只要信号有效并且HRQ为无效,可以接受CPU可对8237进行编程写入或读出操作。64二、有效周期
当在SI状态,8237不断采样各DREQ信号,若检测到外设有请求,则在SI的上升沿产生HRQ信号,向CPU提出总线请求,就脱离SI而进入S0状态。1、S0状态:
S0状态是DMA服务的第一个状态,在这个状态,8237已接收了外设的请求,向CPU发出了DMA请求信号HRQ,但尚未收到CPU的DMA响应信号HLDA。在接到HLDA之前一直重复S0状态。S0状态中的8237还是从属器件,可以接受CPU的读写。下一状态进入S1状态。2、工作状态:65二、有效周期
2、工作状态:当8237在S0的上升沿检测到HLDA有效,就使8237进入工作状态,开始DMA传送,此时,8237就作为系统总线的主控设备。工作状态由S1、S2、S3、S4组成以完成数据传送。
S1状态——输出16位存储器地址,l
AEN输出高电平,表示DMA传送l
S2状态——输出DMA响应信号和控制信号l
S3和Sw状态——检测数据传送是否能够完成,决定是否插入等待状态Sw●
S4状态——完成数据传送
若外设的数据传送速度较慢,不能在S4之前完成,则可由READY线在S3或S2与S4之间插入Sw状态。8237A的DMA传送时序见图。在存储器与存储器之间的传送,则需8个时钟周期。前4个时钟周期S11~S14完成从存储器读,后4个时钟周期S21~S24完成对存储器写。
668237A的传送时序67三、8237的引脚及功能
可编程DMA控制器Intel8237A是双列直插式的40引脚芯片
684.4.38237的工作模式及控制字
一、8237的工作模式
1.单字节传送模式
这种模式是只传送一个字节。数据传送后现行字节数寄存器减量,地址要做相应修改(增量或减量,由编程决定。然后HRQ变为无效,8237释放系统总线。若传送使字节数减为0,端输出负脉冲或者从输入低电平终结DMA传送,可重新初始化。注意点:DREQ信号必须保持有效,直至DACK信号变为有效。特点:一次传送一个字节,效率略低。DMA传送之间CPU有机会重新获取总线控制权。2.块传送方式8237有DREQ启动就连续地传送数据,直至现行字节数计数器减到零或由外部信号终结传送。在数据块传送完了或是终结操作,可重新初始化。特点:一次请求传送一个数据块,效率高,整个DMA传送期间CPU长时间无法控制总线(无法响应其他DMA请求、无法处理中断等)69一、8237的工作模式3.请求传送方式
在这种工作方式下,8237可以进行连续的数据传送。当出现以下情况之一时停止传送:字节数计数器减到0;l
由外界送来一个有效的信号;外界的DREQ信号变为无效(外设的数据已传送完)。注意点:在第三种情况时,8237释放总线,CPU可以继续操作;特点:DMA操作可由外设利用DREQ信号控制传送的过程4.级连方式这种方式用于通过级连以扩展通道。用于通过多个8237A级连以扩展通道,第二级的HRQ和HLDA信号连到第一级某个通道的DREQ和DACK上,第二级芯片的优先权等级与所连通道的优先权相对应。第一级只起优先权网络的作用,实际的操作由第二级芯片完成。还可扩展到第三级等。
70二、8237的控制字
1、方式控制字
71二、8237的控制字
2、操作方式命令字:
72二、8237的控制字
3、DMA请求控制字
73二、8237的控制字
4、屏蔽控制字
74二、8237的控制字
4、屏蔽控制字275二、8237的控制字
5、状态字
76二、8237的控制字
8237的内部寄存器的寻址77二、8237的控制字
8237的内部寄存器的寻址(续1)78二、8237的控制字
8237的内部寄存器的寻址(续2)794.4.4DMA控制器8237的编程应用
一、8237的编程步骤①
输出主清除命令,使8237回到空闲周期;②
写入基与现行地址寄存器;③
写入基与现行字节数寄存器;④
写入方式寄存器;⑤
写入屏蔽寄存器;⑥
写入命令寄存器;⑦
写入请求寄存器。
注意点:如有软件请求,则选写入指定通道,然后开始DMA传送的过程;如无软件请求,则在完成了①~⑥的编程后,由通道的DREQ启动DMA传送过程
80二、8237的初始化
1、8237的初始化的程序说明DMAC8237初始化,先总清。对DMAC(8237)的4个通道的基地址寄存器与当前地址寄存器、基字数寄存器及当前字数寄存器先写入FFFFH,再读出比较。程序对DMAC(8237)的零通道初始化。2、通道0初始化程序OUT DMA+0DH,AL;总清8237MOV DS,BXMOV ES,BX ;初始化DS和ESMOV AL,0FFHOUT DMA+1,ALOUT DMA+1,AL ;通道0的传送字节数,为64K字节MOV DL,0BH ;使DX=000BHMOV AL,58HOUT DX,AL ;写方式字MOV AL,0OUT DMA+8,AL ;写入命令字OUT DMA+10,AL; ;写屏蔽字81三、8237A在IBMPC系列机上的应用
IBMPC/XT机使用一片8237A通道0:动态存贮器DRAM刷新;通道1:用户使用或SDLC卡;通道2:内存与软盘的高速数据交换;通道3:内存与硬盘的高速数据交换IBMPC/AT机采用两片8237ADMAC1包含通道0~3,支持8位数据传送;DMAC2组成通道4~7,通道5~7支持16位数据传送,通道4用于级连。
图4-39写传送接口电路82三、8237A在IBMPC系列机上的应用
1、通道1工作方式mov al,45h ;通道1方式字:单字节写传送,地址增量,非
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农村苗木回收合同标准文本
- 出售实木柜台合同样本
- 出租包车服务合同标准文本
- 公司雇用项目经理合同标准文本
- ktv设计合同标准文本
- 公寓底价出售合同样本
- 与美甲店合同样本
- 住建部勘察设计 合同标准文本
- 健身器材合同标准文本110网
- 仓管聘用合同标准文本
- 2024年浙江长征职业技术学院单招职业技能测试题库含答案解析
- 杉篙架搭设安全技术交底
- 四年级下册数学-口算题-(加法交换律和结合律)-1000题
- 《电化学储能电站监控系统技术规范》
- 新型电力系统简介
- 一、中国经典话剧艺术赏析(引言)
- 施工现场常见问题解决的协调沟通技巧与有效方案研究
- 四年级英语 Lesson 14 Are You Short or Tall 全省一等奖
- 遵义会议精神宣讲
- CJJ-181-2012(精华部分)城镇排水管道检测与评估技术规程
- 【基于UASB+SBR的组合处理工艺的制药厂废水处理工艺设计12000字】
评论
0/150
提交评论