微机系统与接口课件:Ch5_5f第五章 数字量输入输出(5)_第1页
微机系统与接口课件:Ch5_5f第五章 数字量输入输出(5)_第2页
微机系统与接口课件:Ch5_5f第五章 数字量输入输出(5)_第3页
微机系统与接口课件:Ch5_5f第五章 数字量输入输出(5)_第4页
微机系统与接口课件:Ch5_5f第五章 数字量输入输出(5)_第5页
已阅读5页,还剩101页未读 继续免费阅读

下载本文档

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

文档简介

1、第五章 数字量输入输出(5)*概念:总线、接口电路、接口芯片、端口地址 *中断及其处理 中断控制器8259 *定时器/计数器 *并行/串行I/O DMA电路与应用1并行通信回顾1、数据的各位同时在多根并行传输线上进行传输。 多根数据线距离短、线路费用高 (空间时间)2、并行通信适于短距离、高速通信;长距离通信 串行通信2串行通信基础串行通信:将数据分解成二进制位用一条信号线,一位一位顺序传送的方式串行通信的优势:用于通信的线路少,因而在远距离通信时可以极大地降低成本串行通信适合于远距离数据传送,也常用于速度要求不高的近距离数据传送PC系列机上键盘、鼠标器与主机间采用串行数据传送31. 异步通信

2、串行通信时的数据、控制和状态信息都使用同一根信号线传送收发双方必须遵守共同的通信协议(通信规程),才能解决传送速率、信息格式、位同步、字符同步、数据校验等问题串行异步通信以字符为单位进行传输,其通信协议是起止式异步通信协议4起止式异步通信协议起始位每个字符开始传送的标志,起始位采用逻辑0电平起始位校验位停止位空闲位数据位低位高位字符0/10/10/10/110111数据位数据位紧跟着起始位传送。由58个二进制位组成,低位先传送校验位用于校验是否传送正确;可选择奇检验、偶校验或不传送校验位停止位表示该字符传送结束。停止位采用逻辑1电平,可选择1、1.5或2位空闲位传送字符之间的逻辑1电平,表示没

3、有进行传送5数据传输速率数据传输速率也称比特率(Bit Rate)每秒传输的二进制位数bps字符中每个二进制位持续的时间长度都一样,为数据传输速率的倒数当进行二进制数码传输,且每位时间长度相等时,比特率还等于波特率(Baud Rate)过去,串行异步通信的数据传输速率限制在50 bps到9600 bps之间。现在,可以达到115200 bps或更高62. 同步通信以一个数据块(帧)为传输单位,每个数据块附加1个或2个同步字符,最后以校验字符结束同步通信的数据传输效率和传输速率较高,但硬件电路比较复杂串行同步通信主要应用在网络当中同步字符数据数据数据校验字符73. 传输制式全双工站A站B站A站B

4、站A站B半双工单工示例84. 调制解调器调制(Modulating)把数字信号转换为电话线路传送的模拟信号解调(Demodulating)将电话线路的模拟信号转换为数字信号调制解调器MODEM具有调制和解调功能的器件合制在一个装置9串行接口标准RS-232C美国电子工业协会EIA制定的通用标准串行接口1962年公布,1969年修订1987年1月正式改名为EIA-232D设计目的是用于连接调制解调器现已成为数据终端设备DTE(例如计算机)与数据通信设备DCE(例如调制解调器)的标准接口可实现远距离通信,也可近距离连接两台微机属于网络层次结构中的最低层:物理层1011异步串行通信接口标准RS-42

5、2使用差分信号,传输速率提高到10Mbps,传输距离延长到4000英尺,允许在一条平衡总线上连接最多10个接收器。RS-232使用非平衡参考地的信号。支持点对多的双向通信。RS422通过两对双绞线可以全双工工作收发互不影响RS-485增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上。RS-485采用半双工工作方式,任何时候只能有一点处于发送状态,因此,发送电路须由使能信号加以控制。RS-485用于多点互连时非常方便,可以省掉许多信号线。应用RS-485可以联网构成分布式系统,其允许最多并联32台驱动器和32台接收器12RS-232C的引脚定义232C接口标准使用一个25针连接器绝大

6、多数设备只使用其中9个信号,所以就有了9针连接器13RS-232引脚14RS-232C的引脚(1)TxD:发送数据串行数据的发送端RxD:接收数据串行数据的接收端15RS-232C的引脚(2)RTS:请求发送当数据终端设备准备好送出数据时,就发出有效的RTS信号,用于通知数据通信设备准备接收数据CTS:清除发送(允许发送)当数据通信设备已准备好接收数据终端设备的传送数据时,发出CTS有效信号来响应RTS信号RTS和CTS是数据终端设备与数据通信设备间一对用于数据发送的联络信号16RS-232C的引脚(3)DTR:数据终端准备好通常当数据终端设备一加电,该信号就有效,表明数据终端设备准备就绪DS

7、R:数据装置准备好通常表示数据通信设备(即数据装置)已接通电源连到通信线路上,并处在数据传输方式DTR和DSR也可用做数据终端设备与数据通信设备间的联络信号,例如应答数据接收17RS-232C的引脚(4)GND:信号地为所有的信号提供一个公共的参考电平CD:载波检测(DCD)当本地调制解调器接收到来自对方的载波信号时,通知终端准备接收数据的信号RI:振铃指示当调制解调器接收到对方的拨号信号期间,该引脚信号作为电话铃响的指示、保持有效18RS-232C的引脚(5)保护地(机壳地)起屏蔽保护作用的接地端,一般应参照设备的使用规定,连接到设备的外壳或大地TxC:发送器时钟控制数据终端发送串行数据的时

8、钟信号RxC:接收器时钟控制数据终端接收串行数据的时钟信号19RS-232C的连接微机利用232C接口连接调制解调器,用于实现通过电话线路的远距离通信微机利用232C接口直接连接进行短距离通信。这种连接不使用调制解调器,所以被称为零调制解调器(Null Modem)连接20连接调制解调器电话线MODEM微机2345678202223456782022MODEM23456782022数据装置准备好DSR数据终端准备好DTR发送数据TxD接收数据RxD请求发送RTS允许发送CTS信号地GND载波检测CD振铃指示RI微机2345678202221不使用联络信号的3线相连方式微机TxDRxDGND微机

9、为了交换信息,TxD和RxD应当交叉连接程序中不必使RTS和DTR有效也不应检测CTS和DSR是否有效 22“伪”使用联络信号的3线相连方式RTS和CTS各自互接,DTR和DSR各自互接表明请求传送总是允许、数据装置总准备好微机DSRDTRTxDRxDRTSCTSGND微机23使用联络信号的多线相连方式通信比较可靠所用连线较多,不如前者经济微机DSRDTRTxDRxDRTSCTSGND微机24RS-232C的电气特性232C接口采用EIA电平高电平为3V25V 低电平为3V25V实际常用12V或15V标准TTL电平高电平:2.4V5V低电平:0V0.4V相互转换252627RS-232接口电路

10、2829长线收发器Liner-Tranceiver30长线收发器Liner-Tranceiver31长线收发器Liner-Tranceiver32异步串行通信控制器(接口芯片:Ins8250, i8251)串行传输,需要并行到串行和串行到并行的转换,并按照传输协议发送和接收每个字符(或数据块)这些工作可由软件实现,也可用硬件实现通用异步接收发送器UART是串行异步通信的接口电路芯片IBM PC/XT机的UART芯片是INS 8250338250的内部结构8250实现了起止式串行异步通信协议,支持全双工通信通信字符可选择数据位为58位停止位1、1.5或2位可进行奇偶校验具有奇偶、帧和溢出错误检测

11、电路8250支持的数据传输速率为509600bps34异步串行通信控制器接口芯片Ins82501M10M时钟频率PC/XT机: 外接1.8432MHZ(内置波特率发生器,16分频+内分频)波特率=1.8432MHz/除数寄存器值/16/DOSTR数据输出选通=/IOW;/ADS:地址选通/DISTR 数据输入选通,接/IORMT主复位信号35UART内部结构P289图5.53RXDTXD接收时钟 RxC发送时钟 TxC溢出错误帧格式错误奇偶错误36Ins8250内部结构P289 Fig.5.53中断UARTMODEM16X波特率串行输出输入1M10M(TTL)握手线37 DLAB Regist

12、er (PC COM1 )A2 -A0000 0 3F8 写发送寄存器读接收寄存器 000 1 3F8 除(分频系)数寄存器低字节001 1 3F9 除(分频系)数寄存器高字节001 0 3F9 中断允许R(1允许P293图5.59)010 X 3FA 中断识别R(P294图5.60)011 * 3FB 通信线路控制R( 除数标志DLAB,字符格式)100 * 3FC MODEM控制R(自检,RTS请求发送,DTR数据终端准备好输出)101 * 3FD 线路状态R(P291图5.56)110 * 3FE MODEM状态R(P293图5.58)111 * 3FF不用 Ins8250寄存器P289

13、 表 5.10 38Ins8250工作过程发送 数据发送保持寄存器发送移位寄存器先低后高位Sout端串行移位送出。(Modem控制R)条件: (1)Modem状态R (2)线路状态R:数据发送保持寄存器空THRE(D6),发送(移位)寄存器空TEMT(D5)接收 先低后高位Sin端串行移位接收移位寄存器数据接收缓冲寄存器。(每16个RCLK脉冲对应一个数据位:10起始位采样8次为0才有效(以后中点读)-起始位(P290图5.54)条件: 线路状态R:正确接收数据就绪DR(D0)=1否则出错/中止符检测(长0-D4)/幀格式/P校验D2/溢出D1中断: 中断允许寄存器 接收数据就绪/发送寄存器空

14、/接收错/Modem状态变化39串行数据的发送并行数据加入起始位、校验位、停止位串行数据CPU发送保持寄存器发送移位寄存器同步控制8250SOUT0/10/10/10/1双缓冲寄存器结构保证数据的连续发送40串行数据的接收并行数据检测接收错误删除起始位、校验位、停止位串行数据CPU接收缓冲寄存器接收移位寄存器同步控制8250SIN0/10/10/10/1双缓冲寄存器结构保证数据的连续接收41接收错误的处理奇偶错误PE(Parity Error)若接收到的字符的“1”的个数不符合奇偶校验要求帧错误FE(Frame Error)若接收到的字符格式不符合规定(如缺少停止位)溢出错误OE(Overru

15、n Error)若接收移位寄存器接收到一个数据,并送至输入缓冲器时,CPU还未取走前一个数据,就会出现数据溢出424级中断接收线路状态中断奇偶错、溢出错、帧错接收器数据准备好中断发送保持寄存器空中断调制解调器状态中断清除发送状态改变数据终端准备好状态改变振铃接通变成断开接收线路信号检测状态改变优先权高优先权高优先权低43初始化编程(约定数据通信规范) MOV AL,10000000B;80H,置线路控制R的D71(DLAB= 1) MOV DX,2FBH ;线路控制R地址,置DLAB波特率计数值 OUT DX,AL MOV AL,0CH ;置产生9600波特率,除数锁存器置低8位 MOV DX

16、,2F8H OUT DX,AL MOV AL,00H ;除数锁存器置高8位 INC DX ;不是中断允许寄存器 OUT DX,AL要求以9600波特率进行异步通讯,每字符8位,2个停止位,允许发送和接收中断。异步通讯的端口地址为2F82FFH1843.2KHz/16/9600=12=0CH44初始化编程(P294) MOV AL,00000111B ;DLAB=0,设置数据格式为8位字符,两个停止位 MOV DX,2FBH ;线路控制寄存器 OUT DX,AL MOV AL,00000011B ;允许发送器空和接收器满中断 MOV DX,2F9H ; 中断允许寄存器 OUT DX,AL MOV

17、 AL,0000l0llB ;/OUT2/RTS/DTR信号有效 MOV DX,2FCH;Modem控制寄存器 OUT DX,AL DLAB 终止位奇偶校验位停止位长数据位 D7 D6 D5 D4 D3 D2 D1 D0000=无 001奇 011=偶 0=正常 1终止0=1位1 1.5/20=正常 00=5 01=6 10=7 11=8 45中断编程当发送器空或接收器满时,8250向CPU申请中断,中断服务:INTPRG: PUSHA MOV BX, TBUFPT;发送区TBUFPT DW ? MOV DX,2FAH IN AL,DX ;读中断识别寄存器内容 TEST AL,02H JNZ

18、TRAN ;发送缓冲器空,转TRANRECV: MOV BX,RBUFPT ;接受区RBUFPT DW ? MOV DX,2F8H ;否则,接受寄存器,接收数据 IN AL,DX MOV BX,AL ;存数据 JMP BACK TRAN:MOV DX,2F8H ;写发送寄存器,发送数据 MOV AL,BX OUT DX,ALBACK: IRETINC BXMOV AL,20HOUT 20H,AL46Ins8250通信控制1.8250编程:初始化(波特率、格式)2.通信方式一:查询式:线路状态 写/读3F8收发R;简单,低效 MODEM(握手)查询 3.通信方式二:中断:中断允许4种可选(复杂、

19、高效,实时)附注:直接应用PC机的BIOS调用实现通信控制:INT 14H47通用同步/异步收发器i8251Ai8251通用同步异步收发器DIP28,+5V,C/D(2个寄存器/口地址), RxRDY/TxRDY, 同步64K/异步19.2K , 三档分频产生波特率48通用同步/异步收发器i8251A结构工作时钟=1/16/64倍波特率(可选)49写按先后次序区分,芯片设计约定:凡是初始化有关的方式、命令和同步字或者读取状态字,访问芯片的奇地址,凡是传送数据,访问芯片的偶地址。 异步:模式,控制命令;同步:模式,同步字符,控制命令 中断:外接电路(RxRDY+TxRDY)i8251A寄存器1R

20、xRDYTxRDYIRQ2RxRDYTxRDYIRQ250i8251A流程图51(格式和同步/异步参数)方式控制指令-异步模式i8251A模式寄存器S2S1EPPENL2L1B2B1 00:同步方式 01:异步方式(1) 10:异步方式(16) 11:异步方式(64) 00:字符长度为5位 01:字符长度为6位 10:字符长度为7位 11:字符长度为8位1:带奇偶校验0:不带奇偶校验1:偶校验0:奇校验00 无效01 1位停止位10 1.5位停止位11 2位停止位11 1个同步字符,外同步SYNDET为输入10 1个同步字符,内同步SYNDET为输出01 2个同步字符,外同步SYNDET为输入

21、00 2个同步字符,内同步SYNDET为输出异步方式:停止位数同步方式(可忽略)52控制寄存器:搜索同步字符EN,内部复位IR,/RTS,ER清除错误标志位 ,使TxD成低电平(发空白字符)SBRK,输入使能RxE (1允许) ,/DTR,输出使能TxEN(1允许)工作方式状态寄存器:DSR(1=/DSR低电平) , SYNDET(同引脚) FE(Frame Err) OE(Overflow Err), PE(Parity Err奇偶校验错误) TxE(同引脚,串发送器空) , RxRDY(同引脚,接收器准备就绪,1=有字符待取走-可作中断请求或查询联络线) TxRDY(1=输出缓冲区空)i8

22、251A控制/状态寄存器(Ax=1) D7 D6 D5 D4 D3 D2 D1 D0ENIRRTSERSBRK RxE DTR TxEN53串行通信应用RS-232电平转换电路外设/微机54串行通信应用SNDINI:MOV DX,CTRL8251 MOV AL,7FH ;将8251A定义为异步方式, OUT DX,AL; 模式寄存器,8位数据,1位停止位,偶校验,波特率系数为64 MOV AL,11H; 控制寄存器,清除错误标志位,允许发送。 OUT DX,AL MOV DI,SBUF ;发送数据块首地址设置发送指针 MOV CX,COUNT ;发送数据块字节数/计数值NEXT:MOV DX,

23、CTRL8251;状态寄存器 IN AL,DX AND AL,01H ;查询TXRDY有效否? JZ NEXT软件编程: 实验教材发送端初始化程序与发送控制程序 CTRL51为8251A控制/状态端口,DATA51为数据端口;接收数据块首地址RBUF,发送数据块首地址SBUF;发送数据块字节数/计数值COUNT发送端55串行通信应用(续) MOV DX,DATA8251 MOV AL,DI ;向8251A输出一个字节数据。 OUT DX,AL INC DI LOOP NEXT :RCVINI: MOV DX,CTRL8251 MOV AL,7FH OUT DX,AL ;初始化8251A。 MO

24、V AL,04H OUT DX,AL ;允许接收接收端56MOV DI,RBUF MOV CX,COUNTRCVNEXT:MOV DX,CTRL8251 IN AL,DX ROR AL,1 ;查询RXRDY有效否? ROR AL,1 JNC RCVNEXT ROR AL,1 ROR AL,1 ;查询是否有奇偶校验错。 JC RCVERR ; =TEST AL,08H, JNZ MOV DX 8251A数据端口 IN AL,DX ;输入一个字节到接收数据块。 MOV DI,AL INC DI LOOP RCVNEXT :串行通信应用(续:接收)57实验波形图其中的TXD两个bit(10)和TCL

25、OCK 58实验波形图根据实验程序改写成周期发送34H的结果,(格式字:8位无奇偶1位停止)1空闲0001011001(停止)0001011001 59异步串行通信小结1、通信格式:起始位数(1)起始位电平=0,停止,空闲=12、参数:波特率BPS,数据位数(58),奇/偶/无校验(0,1),停止位数(1,1.5,2)3、长线收发与RS232电平-收发调试:简单I/O4、异步通信控制器的工作过程(双缓冲) 串行异步通信格式(数据)60CPU(总线)与外设间的数据传送方式一、 无条件传送方式二、 条件传送方式 ( 查询方式 )三、 中断传送方式四、 DMA传送方式 ( Direct Memory

26、 Access )615.7 直接存储器存取DMA (Direct Memory Access)CPUDMAC(i8237)内存外设总线响应总线请求62 1. 外设和内存之间,直接进行数据传送, 不通过CPU, 传送效率高。 适用于在内存与高速外设、 或两个高速外设之间进行大批量数据传送。 2. 电路结构复杂,硬件开销较大。 DMA传送方式的特点 63 DMA 传送方式(直接存储器存取方式)实现方法1.由专用接口芯片 DMA 控制器( 称 DMAC)控制传送过程;2.当外设需传送数据时,通过DMAC向CPU发出总线请求;3.CPU发出总线响应信号,释放总线; 由CPU控制总线变为DMAC控制4

27、. DMAC接管总线,控制外设、内存之间直接数据传送。64i8237-5 DMAC-8088实例DMA65直接存储器存取DMA控制器DMAC 批量数据高速传输,关键:总线管理教材P304要求:一般性概念(原理),引脚,操作类型DMA:外部设备直接对存储器读写(I/O方式) -不需CPU指令(硬件控制高速传输)。例:MEM-MEM, MEM-DAC(波型发生器)ADC-MEM高速采样。时序/硬件设计-专门的(可编程)DMAC:初始化:首址、长度、工作模式(4种工作模式单字节/块/请求传输/级连) (基本参数)请求控制: 多设备请求时控制优先级队列;总线交接管理(握手:HRQ/DACK)DREQ

28、HRQ HLDA DACKDMA过程: 接管总线( AB/DB/CB),传输:地址/字节计数结束:EOP撤HRQ,总线控制交还MPU66性能: DIP40,+5V,分时处理4个通道,寻址/计数范围64K 5MHZ下传输速率1.6M字节/S,0.6s/byte) ;工作模式: 单字节/块/请求传输/级联; 同时使用通道0和1实现MEMMEM;两种基本时序:正常/压缩时序;i8237-5 DMAC67DMA通道的优先权方式固定优先权方式优先权固定通道0优先权最高,通道1其次,通道2再次,通道3最低循环优先权方式优先权循环变化最近一次服务的通道在下次循环中变成最低优先权,其他通道依次轮流相应的优先权

29、DMA传送不存在嵌套688237的引脚功能请求/应答信号外设接口电路向8237的请求信号:DREQ3DREQ08237对外设接口电路的应答信号:DACK3DACK08237向CPU申请总线的信号:HRQ(连至CPU的HOLD)CPU向8237传送的允许使用总线信号:HLDA698237的引脚功能地址信号 :CPU初始化8237或读8237状态时所需的片选信号A7A0(输出):8237访问存储器的地址信号的低8位。A3A0(输入):CPU初始化8237或读8237状态时,用于寻址8237内部寄存器708237的引脚功能数据信号(双向): DB7DB0CPU为主控时,可以通过I/O读命令查询823

30、7的状态寄存器的内容,或通过I/O写命令对8237的内部寄存器进行编程,数据传送通过DB7DB08237为主控时, DB7DB0输出要访问的内存地址的高8位,并通过ADSTB锁存到外部地址锁存器中,和A7A0输出的低8位地址一起构成16位地址718237的引脚功能地址允许信号:AEN8237作为主控时(8237控制总线),输出AEN=1。8237作为从控时(CPU控制总线),输出AEN=0。DMA传输结束信号: (双向)当DMAC内部任一通道传输结束,8237发出若由外部给DMAC送入有效的 ,则强制DMAC内部所有通道结束传输。728237的引脚功能MEMR/MEMW:8237发出的存储器读

31、/写信号IOR/IOW:8237作为主控时,输出的I/O读/写信号。8237作为从控时,CPU发出的I/O读/写信号,用于读/写8237738237的引脚功能ADSTB:地址选通信号用于启动地址锁存器READY:存储器或I/O的就绪信号74DMA 时序图(P304图5.65)DMA时钟周期Sx 空闲周期自外设到外设自CPU输出CB输出CB输出DB输出AB输出CB输出CB可作外设片选 自DMAC到CPU交出总线(AB/DB/CB)通常:块传输模式时序75DMA传输过程(P303)传送一个字节一般需要4个S状态,主要作用正常情况:S1:产生AEN信号并锁存A15-A8,表示DMA传送S2: 产生/

32、DACK信号并送出存储器地址;响应/控制S3: 读数据,检测传送能否完成,决定是否插入SwS4:写数据,完成数据传送特殊情况: A15-A8不变(传256个字节才变化一次),省去S1;压缩读推迟至S4;(高速读写同在S4)扩展(超前)写提前到S3; 慢速电路:在S3、S4间插Sw使8237Ready端变低四种工作模式对应不同周期变化(参考数据手册)768237DMAC4种工作模式(单字节/块/请求传输/级连)单字节(SINGLE TRANSFER MODE):CPU与DMAC轮流控制总线,每次DMA只传送一个字节 (C+-1,A+-1)后 交权(撤消HRQ),即使DREQ仍有效,CPU也要继续

33、执行指令,一个总线周期后再次响应DMA请求(有可能轮流服务如DRAM刷新);块BLOCK传输模式: /EOP结束(高效)连续传送直到计数=0或外部/EOP有效(强制8237退出)-DREQ在DACK后可撤消。请求传输模式(DEMAND):(同块模式但允许DREQ无效暂时打断过程,每传送一字节查询DREQ信号,有效继续传送,无效退出DMA与外部慢速设备协调,当前地址和计数值保持在寄存器中,可继续计数)级连模式(CASCADE):扩展通道数(从片的每一通道作为DMA传输,主片则在从片和CPU之间传递握手信号,管理SLAVE的优先权)(可设置为重复模式:EOP控制自动写入,,重复传输)77DMA传送

34、类型DMA读把数据由存储器传送到外设由MEMR*有效从存储器读出数据,由IOW*有效把这一数据写入外设DMA写把外设输入的数据写入存储器由IOR*有效从外设输入数据,由MEMW*有效把这一数据写入存储器。DMA检验空操作存储器和I/O控制线保持无效,不进行传送78存储器到存储器的传送固定使用通道0和通道1通道0的地址寄存器存源区地址通道1的地址寄存器存目的区地址,通道1的字节数寄存器存传送的字节数传送由设置通道0的软件请求启动每传送一字节需用8个时钟周期前4个时钟周期用通道0地址寄存器的地址从源区读数据送入8237A的临时寄存器后4个时钟周期用通道1地址寄存器的地址把临时寄存器中的数据写入目的

35、区79i8237-5 DMAC级连每片8237占用16个端口(A3-A0内部译码决定)若主8237的某通道(DREQ)连接从8237的HRQ,主8237的该通道应设置为级联传输模式,但从8237不设置级联传输模式,而是设置其它三种模式之一808237的编程结构81A3 A0(4位地址信号,16个I/O口地址)0H 07H 当前(基)地址当前(基)字节数计数器 (通道0-3,每个通道顺序占2个地址,对应4个寄存器,16位,要分高低字节连续两次读写)08H(/)写命令寄存器 读状态寄存器09H ()请求(软件请求-Ch0-3)0AH()写屏蔽某一位(按CH),单屏蔽寄存器0BH()模式:模式/加-

36、减计数/重置/读-写0CH()清除高/低触发器(0-L/1-H)0DH()读暂存()主清除(软件复位)0EH()清除屏蔽(一次全清),全清除寄存器0FH()写屏蔽所有位(CH0-3),综合屏蔽寄存器i8237-5 DMAC的寄存器寻址四个通道公用初始化:4种工作模式(单字节/块/请求传输/级连),首(基)址、长度(字节数:触发器清零L/H基址写入)表5.1382控制寄存器控制寄存器8位,4个通道共用,用于设定8237的信号形式、工作时序、传输方向。 端口地址08H信号形式:DREQ/DACK信号的有效形式。工作时序:普通时序(4个时钟周期完成一次传输) 压缩时序(3个时钟周期完成一次传输)传输

37、方向:内存 I/O(常用) I/O内存(常用) 内存内存(PC系列机未用)838237A芯片命令字P3088237(控制)命令寄存器(+8H)184控制寄存器PC系列微型机中,BIOS初始化时将控制寄存器设为00H禁止内存内存的传送,允许读/写操作,使用正常时序固定优先级不扩展写信号DREQ高电平有效DACK高电平有效858位,设定DMA的传输模式,4个通道的模式寄存器共用一个端口地址,端口地址0BH传输模式:单字节传输模式数据块传输模式请求传输模式级联传输模式模式寄存器868237模式寄存器(+0BH)不重置自动重置校验传输用来对读传输和写传输功能进行校验,它是一种虚拟传输,8237也会产生

38、存储器地址信号,但不产生存储器读/写、I/O读/写信号,校验传输一般用于器件测试87状态寄存器8位,4个通道共用,与控制寄存器共用一个端口地址端口地址08H记录每个通道是否有请求、传输是否结束888237A芯片状态字8237状态寄存器(+08H)189暂存寄存器8位 , 端口地址0DH在内存内存传输时,暂存数据。注意:内存 I/O传输时,数据不进入8237内部,只存在于数据总线上暂存寄存器90基地址寄存器和当前地址寄存器每个通道一个基地址寄存器,一个当前地址寄存器,16位 ,占用相同的端口地址基地址寄存器:DMA传输的内存地址初值,在初始化时由CPU分两次写入。当前地址寄存器:DMA传输过程中

39、,内存地址的当前值。每传输一字节,该寄存器的值增1或减1。CPU可分两次读出其值。91基本字节计数器和当前字节计数器每个通道一个基本字节计数器,一个当前字节计数器,16位 ,占用相同的端口地址基字节计数器:DMA传输的字节数初值,在初始化时由CPU分两次写入。8237规定,初值比实际传输的字节数少1当前字节计数器:DMA传输过程中,当前的计数值。每传输一字节,该寄存器的值减1。当计数值减到FFFFH时,8237发出结束信号EOP。CPU可分两次读出其值。92高/低触发器端口地址0CHCPU写入基地址寄存器、基本字节计数器时,均分两次写入,高/低触发器用于控制写入的值是低8位还是高8位写入过程:

40、使先/后触发器=0。写入低8位,先/后触发器自动置1。写入高8位,先/后触发器自动置0。938237软件请求寄存器(+09H)四个通道的请求触发器构成一个请求寄存器(8位)一般情况下,DMA请求由硬件信号DREQ发出,也可由软件设置请求触发器来发出DMA请求。对请求位的置位等效于外部产生一个有效的DREQ信号,二者的优先级排队情况也一样,软件请求不受屏蔽寄存器控制,但它只能用于块传送方式。存储器到存储器的传送就只能用通道0的软件请求启动94单屏蔽寄存器8237单屏蔽寄存器(+0AH)95综合屏蔽寄存器8237综合屏蔽寄存器(+0FH)1:屏蔽;0:不屏蔽8237全清除寄存器(0EH),4个通道全开放96复位命令寄存器对端口0DH写入0,使8237复位,其功能等同于硬件复位端口地址0DH8237复位后的状态为: 控制寄存器 状态寄存器 请求寄存器 暂存器 高/低触发器 清0屏蔽寄存器 置1 978237对内存和I/O的寻址存储器寻址 在主控模式下,8237可以产生16位存储器地址信号,地址引脚A7A0输出地址低8位,高8位地址由数据引脚DB7DB0输 出,经地址锁存器后形成存储器地址的A15A8。用ADSTB启动地址锁存器。当系统的

温馨提示

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

评论

0/150

提交评论