输入输出接口技术教学PPT.ppt

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
输入输出接口技术教学PPT

接口的概念 接口是指CPU和存储器、外设或者两种外设之间,或者两种机器之间通过系统总线进行连接的逻辑部件(或者电路),它是CPU与外界进行信息交换的中转站。 二、接口电路的基本结构 程序查询输入 程序查询输入 上图中,要获取设备的数据,需访问端口地址80H, 要获得设备的工作状态,需访问端口地址81H. 要求从外设中读取10B个数据,依次存入DATA数组中: MOV CX,0AH MOV DI,OFFSET DATA X1: IN AL,81H ;读取状态 TEST AL,80H ;Ready? JZ X1 ; No,继续查询 IN AL,80H ;Yes,读取1B的数据 MOV [DI],AL ;保存到DATA数组 INC DI; LOOP X1 ;循环10次 HLT 程序查询输出 程序查询输出 上图中,要向设备输出数据,需访问端口地址80H, 要获得设备的工作状态,需访问端口地址81H. 要求向外设输出10B个数据,数据存放于DATA数组中: MOV CX,0AH MOV SI,OFFSET DATA X1: IN AL,81H ;读取状态 TEST AL,80H ;Ready? JZ X1 ; No,继续查询 MOV AL,[SI] ;Yes,读取1B的数据 OUT 80H,AL ;输出到外设 INC SI; LOOP X1 ;循环10次 HLT DMA控制器的功能 从前面的描述中可以看出,当外设需要进行DMA方式传输数据时,DMAC要向CPU提出请求,使CPU让出总线控制权,交由DMAC来接管总线,这样就可以完成外设和内存之间的数据交换。完毕后,DMAC释放总线,将总线控制权交由CPU。所以,DMA控制器必须具备以下的功能: 能向CPU发出要求控制总线的DMA请求信号HRQ(接CPU的HOLD引脚); 当收到CPU发出的HLDA信号后能接管总线,进入DMA模式; 能发出地址信息对存储器寻址并能修改地址指针; 能向存储器和外设发出读、写控制信号; 决定传送的字节数,并能判断DMA传送是否结束; 接受外设的DMA请求信号和向外设发出DMA响应信号; 能发出DMA结束信号,使CPU恢复正常。 二级8237A级联 8237的引脚功能 8237的引脚功能 请求(输入)/应答(输出)信号 外设接口电路向8237的请求信号:DREQ3~DREQ0 8237对外设接口电路的应答信号:DACK3~DACK0 8237向CPU申请总线的信号:HRQ(连至CPU的HOLD) CPU向8237传送的允许使用总线信号:HLDA 8237的引脚功能 地址信号(双向,作用随8237的工作模式而不同) :CPU初始化8237或读8237状态时所需的片选信号 A7~A0(输出):8237访问存储器的地址信号的低8位。 A3~A0(输入):CPU初始化8237或读8237状态时,用于寻址8237内部寄存器 8237的引脚功能 数据信号(双向): DB7~DB0 CPU为主控时,可以通过I/O读命令查询8237的状态寄存器的内容,或通过I/O写命令对8237的内部寄存器进行编程,数据传送通过DB7~DB0 8237为主控时, DB7~DB0输出要访问的内存地址的高8位,并通过ADSTB锁存到外部地址锁存器中,和A7~A0输出的低8位地址一起构成16位地址 8237的引脚功能 地址允许信号:AEN (输出) 8237作为主控时(8237控制总线),输出AEN=1。 表示16位的偏移地址已经由8237生成。 8237作为从控时(CPU控制总线),输出AEN=0。 DMA传输结束信号: (双向) 当DMAC内部任一通道传输结束,8237发出 若由外部给DMAC送入有效的 ,则强制DMAC内部 所有通道结束传输。 8237的引脚功能 MEMR/MEMW: (输出) 8237发出的存储器读/写信号 IOR/IOW: (双向) 8237作为主控时,输出I/O读/写信号。 8237作为从控时,CPU发出的I/O读/写信号,用于读/写8237 8237的引脚功能 ADSTB:地址选通信号 (输出) 用于启动地址锁存器 READY:存储器或I/O的就绪信号 (输入) 如果外设和存储器速度慢的话,可以将Ready无效,使得8237在DMA周期中插入等待周期。 8237的编程结构 8237的编程结构 控制寄存器(命令寄存器,从态方式写入) 8位,4个通道共用,用于设定8237的信号形式、工作时序、传输方向。 端口地址08H 信号形式:DREQ/DACK信号的有效形式。 工作时序:普通时

文档评论(0)

hhuiws1482 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档