微机接口技术:第六章8237A
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8237A的引脚功能(3)
处理器接口信号 A0~A3:内部寄存器选择 DB0~DB7:写入命令字和读出状态信息 IOR、IOW:输入,CPU读写8237A RESET:置位屏蔽寄存器,清除其他寄存器 CS CLK
8237A的工作时序(1)
空闲周期SI:检测DREQ并发送HRQ,CPU可对 其编程或读取状态
基地址寄存器、当前地址寄存器共用一个口地址, 基字节寄存器、当前字节数寄存器共用一个口地 址。
4个方式寄存器共用一个口地址,通过控制字分别 写入相应通道。
8237A的寄存器(各通道共用)
控制寄存器:存储器到存储器方式的设置,扩展 写信号(提前通知I/O)
请求寄存器:存储器到存储器时通道0必须用软件 请求,不可屏蔽,且不能自动初始化
请求:DREQ无效时暂时中止传送,外设可 据此控制过程和速率。
级联:主DMA设置。
传送类型
DMA读:从存储器到外设。 DMA写:从外设到存储器。 DMA校验:空操作,像读写一样产生时序
和地址信号,但存储器和外设控制线无效。 只有存储器才需要地址。
存储器到存储器的传送
固定使用通道0和通道1,通道0指向源区, 通道1指向目的区。
初始化编程
编程前应禁止工作或屏蔽相应通道
往DMA+0DH写任意数据即可复位,复位即可屏 蔽所有通道并清先/后触发器
基地址和基字节的写入应分两次:低8位/高8位; 如先前无复位,则写基值之前应往DMA+0CH端 口写任意数据即可复位先/后触发器。基字节数应 减1
不要忘记送出页面地址
送出方式控制字,解除相应屏蔽
DMA方式
中断方式不适用于高速大量数据的传送 当处于DMA方式时,DMAC控制总线和传
送过程,CPU不干预 DMA传送有三种方向 一般情况下CPU控制总线时,DMAC作为
外设接口。DMA传送要求需由外设发起, 经DMAC向CPU申请得到响应后才会进行
DMA传送过程
CPU会在当前指令的当前总线周期后响应 DMA请求,与中断方式不同
8237A在PC机中的应用
IBM-PC/XT机中,通道0用于RAM刷新,通 道1保留可供用户使用,通道2、3用于硬盘 和软盘与内存的数据交换。
系统的高4位地址不通过8237A输出,而由 用户通过页面寄存器直接写入。
PC机中,控制寄存器为00H,即禁止存储 器到存储器传送,允许读/写传送,固定优 先级,不扩展写信号,DREQ高电平有效, DACK低电平有效。因此如果使用CH1,则 不应写入新的命令字
DMAC在传送过程中只需输出存储器单元地 址,无需I/O地址
请求可由I/O设备发起,也可由软件发起 (在内存不同区域间传送)
8237A的基本功能
4个独立通道,但并非可同时进行传送,不 可嵌套,可单独设置屏蔽
每次传送最大可达64KB 通道优先级可固定或循环 可由外部信号结束传送 可设置为完成后自动初始化 可级联2级到16个通道
8237A的引脚功能Байду номын сангаас1)
请求和响应信号:接收和响应外设的DMA 请求,向CPU提出总线请求并接受响应。 DREQ0~DREQ3 HRQ HLDA DACK0~DACK3
8237A的引脚功能(2)
传送控制信号 A0~A7:输出低8位存储器地址 DB0~DB7:双向,输出高8位存储器地址或在 存储器与存储器传送期间传送数据 ADSTB:地址选通,将高8位地址锁存于外部 AEN:地址允许,将高低8位地址合并输出 MEMR、MEMW:输出,存储器读、写 IOW、IOR:输出,外设写、读 READY:输入,无效时插入等待状态 EOP:结束信号,双向
屏蔽寄存器:单通道操作,不要把寄存器位数和 编程格式混淆
综合屏蔽寄存器:并非另一个屏蔽寄存器,而是 提供另一个口地址用于一次设置所有通道。复位 后或非自动初始化时,必须重新开屏蔽
状态寄存器:有无DMA请求,计数是否结束,读 出后自动复位
暂存寄存器:仅用于存储器到存储器传送 先/后触发器:应在复位后发出
写入命令控制字,启动8237A 如需要软件启动,发出请求命令到请求寄存器
有效周期:S0~S4 S0:等待HLDA S1:锁存高8位地址 S2:输出低8位地址,合并成16位输出DACK S3:读操作 S4:写操作
等待状态:Sw
8237A的工作时序(2)
S1~S4是标准的DMA周期,在S4状态检测 结束信号,有效则进入空闲状态。
若RAM或外设速度较慢,可在S3和S4之 间插入等待状态SW。
在数据块传送方式下,一般只有低8位地址 变化,所以可以从S4直接进入S2状态。
在外设性能允许时,可以进一步压缩成2个 时钟周期(S2和S4)。
8237A的工作方式
单字节:效率略低,但保证两次DMA传送 之间CPU可重新获取总线执行一次总线周 期。DREQ必须一直有效或重新有效。
数据块:CPU长时间无法控制总线,且传 送结束后8237可自动初始化。
通道1的字节数寄存器存放字节数。 传送由通道0的软件请求启动。 每传送一个字节需要8个时钟周期。
8237A的寄存器(1)
每个通道都有基地址寄存器、基字节寄存器、当 前地址寄存器、当前字节数寄存器,都是16位。 另有一个6位的方式寄存器。
CPU可对基地址寄存器、基字节寄存器进行连续 两次的写,对当前地址寄存器、当前字节数寄存 器进行连续两次读。