首页 微机原理13

微机原理13

举报
开通vip

微机原理13nullnull7.1 概述 7.2 CPU与外设数据传送的方式 7.3 可编程计数器/定时器8253 7.4 串行通讯和串行接口 7.5 并行接口 7.6 DMA控制器8237 7.7 D/A和A/D转换技术 第七章 输入/输出接口null7.6 DMA控制器82371. 概述 2. 8237的引脚功能 3. 8237的编程结构 4. 8237对内存和I/O的寻址null概述DMA=Direct Memory Access,直接存储器存取CPU内存外设数据通道数据通道非DMA方式 (包括程序控制方式和中断方式)D...

微机原理13
nullnull7.1 概述 7.2 CPU与外设数据传送的方式 7.3 可编程计数器/定时器8253 7.4 串行通讯和串行接口 7.5 并行接口 7.6 DMA控制器8237 7.7 D/A和A/D转换技术 第七章 输入/输出接口null7.6 DMA控制器82371. 概述 2. 8237的引脚功能 3. 8237的编程结构 4. 8237对内存和I/O的寻址null概述DMA=Direct Memory Access,直接存储器存取CPU内存外设数据通道数据通道非DMA方式 (包括程序控制方式和中断方式)DMAC内存外设数据通道DMA方式null概述DMAC具有独立的控制三大总线来访问存储器和I/O端口的能力,它能像CPU一样提供数据传送所需的地址信息和读写控制信息 DMAC和CPU都挂在系统总线上,当进入DMA方式时,DMAC成为总线主控。 在总线上,可以控制其他部件的部件称为总线主控或主控(bus master),被控部件称为从控(slave)。任意时刻,总线上只有一个主控。null概述DMA操作之前,应先对DMAC编程,把要传送的数据块长度、数据块在存储器中的起始地址,数据传送方向等信息发送给DMAC DMA操作过程包括三个阶段: DMA请求 DMA响应和数据传送 传送结束 null当外设要求以DMA方式为它服务时,发DMA请求信号DREQ到DMAC DMAC检查该信号是否被屏蔽及其优先权,如确认该信号有效则向CPU发送总线请求信号HRQ(连到CPU的HOLD)DMA请求阶段CPUDMACHRQ外设DREQ地址总线数据总线存储器概述null每个总线周期结束时CPU检测HOLD,如为高电平,则响应HOLD请求进入保持态,使三态总线CPU侧呈高阻状态,并以总线保持响应信号HLDA通知DMAC DMAC接管总线,并以DACK信号通知外设,使之成为DMA传送时被选中的设备,同时DMAC给出内存地址以及I/O读写和存储器读写控制信号,在外设和存储器之间完成数据传送DMA响应和数据传送阶段CPUDMACHLDA外设DACK存储器地址总线数据总线IOR/IOWMEMR/MEMW概述null传送结束阶段传送完成后,DMAC放弃总线,撤消总线请求(HRQ为低),CPU检测到HRQ(HOLD)为低后,撤消HLDA,CPU重新获得总线控制权CPUDMACHRQ外设EOP地址总线数据总线存储器概述null概述PC系列微机使用可编程DMA控制器 8237A(简称8237)实现DMA功能 8237有四个通道,每个通道都有独立的与相应外设接口相联系的信号,四个通道共享与CPU相连的控制信号、地址信号、数据信号 PC/AT以上的微机使用两片8237,Pentium微机系统中没有独立的8237芯片,其功能集成在芯片组中null8237的引脚功能null8237的引脚功能请求/应答信号 外设接口电路向8237的请求信号:DREQ3~DREQ0 8237对外设接口电路的应答信号:DACK3~DACK0 8237向CPU申请总线的信号:HRQ(连至CPU的HOLD) CPU向8237传送的允许使用总线信号:HLDA null8237的引脚功能地址信号 :CPU初始化8237或读8237状态时所需的片选信号 A7~A0(输出):8237访问存储器的地址信号的低8位。 A3~A0(输入):CPU初始化8237或读8237状态时,用于寻址8237内部寄存器null8237的引脚功能数据信号(双向): DB7~DB0CPU为主控时,可以通过I/O读命令查询8237的状态寄存器的内容,或通过I/O写命令对8237的内部寄存器进行编程,数据传送通过DB7~DB0 8237为主控时, DB7~DB0输出要访问的内存地址的高8位,并通过ADSTB锁存到外部地址锁存器中,和A7~A0输出的低8位地址一起构成16位地址null8237的引脚功能地址允许信号:AEN 8237作为主控时(8237控制总线),输出AEN=1。 8237作为从控时(CPU控制总线),输出AEN=0。 DMA传输结束信号: (双向) 当DMAC内部任一通道传输结束,8237发出 若由外部给DMAC送入有效的 ,则强制DMAC内部 所有通道结束传输。 null8237的引脚功能MEMR/MEMW:8237发出的存储器读/写信号IOR/IOW:8237作为主控时,输出的I/O读/写信号。 8237作为从控时,CPU发出的I/O读/写信号,用于读/写8237null8237的引脚功能ADSTB:地址选通信号用于启动地址锁存器READY:存储器或I/O的就绪信号null8237的编程结构null8237的编程结构控制寄存器 8位,4个通道共用,用于设定8237的信号形式、工作时序、传输方向。 端口地址08H 信号形式:DREQ/DACK信号的有效形式。 工作时序:普通时序(3个时钟周期完成一次传输) 压缩时序(2个时钟周期完成一次传输) 传输方向:内存 I/O(常用) I/O内存(常用) 内存内存(PC系列机未用)null8237的编程结构D7: 0= DACK低电平有效; 1=DACK高电平有效 D6: 0= DREQ高电平有效; 1=DREQ低电平有效 D5: 1=扩展写信号,IOW/MEMW比正常时序提前一个周期; 0=不扩展写信号 D4: 0=固定优先级,通道0优先级最高,通道3优先级最低; 1=循环优先级 D3: 0=正常时序 1=压缩时序 D2: 0=启动(指允许)8237工作 ;1=停止(指禁止) 8237工作 D1:内存到内存传输时,D1=1使源地址保持不变 D0:0=内存 I/O间的传输; 1=内存内存间的传输null控制寄存器8237的编程结构PC系列微型机中,BIOS初始化时将控制寄存器设为 00H—— 禁止内存内存的传送, 允许读/写操作, 使用正常时序 固定优先级 不扩展写信号 DREQ高电平有效 DACK高电平有效 null8237的编程结构状态寄存器8位,4个通道共用,与控制寄存器共用一个端口地址 端口地址08H 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 每个通道是否有请求、传输是否结束D3~D0:分别对应通道3~0,指出4个通道的DMA传 送是否结束,结束为1 D7~D4:分别对应通道3~0, 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示4个通道是否有 DMA请求,有DMA请求为1 null暂存寄存器 8位 , 端口地址0DH 在内存内存传输时,暂存数据。 注意:内存 I/O传输时,数据不进入8237内部,只存在于数据总线上8237的编程结构null8237的编程结构模式寄存器 8位,设定DMA的传输模式,4个通道的模式寄存器共用一个端口地址,端口地址0BH 传输模式: 单字节传输模式 数据块传输模式 请求传输模式 级联传输模式null单字节传输模式:每次DMA操作只传送一字节后,接着8237释放总线 块传输模式:8237获得总线控制权后,连续传送多个字节,每传输一个字节,当前字节计数器减1,当前地址寄存器加1或减1,直到所要求的字节数传输完(当前字节计数器减至0),8237在EOP引脚上发出结束信号,然后释放总线。在块传输过程中,若向8237的EOP引脚上输入低电平,可强行结束传输。 模式寄存器8237的编程结构null 请求传输模式: 在传输过程中,8237要检测DREQ信号(询问外设),当DREQ为低时,8237暂停传输(不释放总线),当DREQ再次有效后,继续进行传输。 级联传输模式: 多片8237级联时,可以构成主从式DMA系统。级联的方式是把从片的请求线HRQ连至主片的DREQ引脚,主片的DACK联至从片的HLDA引脚 若主8237的某通道(DREQ)连接从8237的HRQ,主8237的该通道应设置为级联传输模式,但从8237不设置级联传输模式,而是设置其它三种模式之一模式寄存器8237的编程结构null8237的编程结构D7,D6:模式选择 00= 请求传输模式 01=单字节传输模式 10= 块传输模式 11=级联传输模式 D5:存储器地址增减选择, 0=地址增1, 1=地址减1 D4:自动预置功能, 0=禁止, 1=允许 自动预置:在当前字节计数器到达0时,当前字节计数器和当前地址寄存器从基本字节计数器和基地址寄存器中自动获得新的初值null8237的编程结构D3,D2:传输类型选择 01=写传输(I/O内存),10=读传输(内存 I/O) 00=校验传输 ,11=无意义 校验传输用来对读传输和写传输功能进行校验,它是一种虚拟传输,8237也会产生存储器地址信号,但不产生存储器读/写、I/O读/写信号,校验传输一般用于器件测试 D1,D0:通道选择 00=通道0 01=通道1 10=通道2 11=通道3null8237的编程结构基地址寄存器和当前地址寄存器 每个通道一个基地址寄存器,一个当前地址寄存器,16位 ,占用相同的端口地址 基地址寄存器:DMA传输的内存地址初值,在初始化时由CPU分两次写入。 当前地址寄存器:DMA传输过程中,内存地址的当前值。每传输一字节,该寄存器的值增1或减1。CPU可 分两次读出其值。null8237的编程结构基本字节计数器和当前字节计数器 每个通道一个基本字节计数器,一个当前字节计数器,16位 ,占用相同的端口地址 基字节计数器:DMA传输的字节数初值,在初始化时由CPU分两次写入。8237规定,初值比实际传输的字节数少1 当前字节计数器:DMA传输过程中,当前的计数值。每传输一字节,该寄存器的值减1。当计数值减到FFFFH时,8237发出结束信号EOP。CPU可分两次读出其值。 null8237的编程结构先/后触发器 端口地址0CH CPU写入基地址寄存器、基本字节计数器时,均分两次写入,先/后触发器用于控制写入的值是低8位还是高8位 写入过程: ①使先/后触发器=0。 ②写入低8位,先/后触发器自动置1。 ③写入高8位,先/后触发器自动置0。null8237的编程结构请求寄存器 四个通道的请求触发器构成一个请求寄存器(8位) 一般情况下,DMA请求由硬件信号DREQ发出,也可由软件设置请求触发器来发出DMA请求。D2=1设置DMA请求 D1~D0:指定软件DMA请求的通道端口地址09Hnull8237的编程结构屏蔽寄存器 四个通道的屏蔽触发器构成一个屏蔽寄存器(8位) 当屏蔽寄存器的屏蔽标志置1时,将禁止该通道的硬件DMA请求和软件DMA请求。D2=1,设置屏蔽; D2 =0,清除屏蔽; D1~D0:选通道端口地址0AHnull8237的编程结构综合屏蔽寄存器 8237可以一次完成四个通道的屏蔽设置D3~D0:分别对通道3~0设置屏蔽 1,设置屏蔽; 0,清除屏蔽;端口地址0FHnull清除屏蔽寄存器 对端口0EH写入0,可以一次清除四个通道的屏蔽触发器端口地址0EHMOV DX, DMA+0EH MOV AL, 0 OUT DX, AL8237的编程结构null8237的编程结构复位命令寄存器 对端口0DH写入0,使8237复位,其功能等同于硬件复位端口地址0DH8237复位后的状态为: 控制寄存器 状态寄存器 请求寄存器 暂存器 先/后触发器 清0屏蔽寄存器 置1 null8237的编程结构一片8237占用连续16个端口地址,用DMA+00H~DMA+0FH表示。其中,DMA表示该片8237的基地址。 在AT以上的微机中,使用2片8237,其地址为: 第一片8237,基地址DMA=0000H,使用0000H~000F I/O地址。 第二片8237,基地址DMA=00C0H,使用00C0H~00CF I/O地址。null8237的编程结构null8237对内存和I/O的寻址存储器寻址 在主控模式下,8237可以产生16位存储器地址信号,地址引脚A7~A0输出地址低8位,高8位地址由数据引脚DB7~DB0输 出,经地址锁存器后形成存储器地址的A15~A8。用ADSTB启动地址锁存器。 当系统的存储器地址多于16位时,多余位地址由一个称为DMA页面寄存器的接口电路提供null8237对内存和I/O的寻址存储器寻址null在PC/AT系统中,需要24位地址,高8位地址A23~A16由DMA页面寄存器电路74LS612提供。在DMA传输之前,用指令将高8位地址送入页面寄存器,在DMA传输过程中,由AEN信号使页面寄存器输出该8位地址。存储器寻址8237对内存和I/O的寻址在Pentium微机中,DMAC和相关页面寄存器的功能由多功能芯片组实现nullI/O寻址8237对内存和I/O的寻址8237的四个通道,每一个只接一个外设接口电路,不使用I/O地址来区分I/O设备I/O设备的端口地址只用于CPU对I/O设备的寻址nullI/O寻址8237对内存和I/O的寻址null8237的应用初始化编程写入控制寄存器 写入屏蔽寄存器——屏蔽要初始化的通道 写入模式寄存器 先后触发器置0 写入基地址和基本字节寄存器 解除屏蔽 写入请求寄存器null8237的应用例:ROM-BIOS对通道2初始化编程的代码片段DMA EQU 0 ;DMA通道起始端口 1) 系统在启动时,对控制寄存器进行初始化 MOV AL, 0 OUT DMA+8, AL 2) 清除先/后寄存器 OUT DMA+12, AL 3) 设置模式寄存器 MOV AL, 46H …… OUT DMA+11, AL null4) 送内存地址 计算内存的物理地址,将20位地址的高4位送页面寄存器,低16位先送低8位,再送高8位 …... OUT DMA+4, AL ;低8位 …… OUT DMA+4, AL ;高8位 …… OUT 81H, AL ;20位地址的高4位 5) 送传送字节数 …... 6) 送屏蔽位 MOV AL, 2 OUT DMA+10, AL 8237的应用null8237的应用例:利用主板上的8237通道1,将内存起始地址为80000H的300H字节直接输出给外设MOV AL, 0 ;清除先/后触发器 OUT 0DH, AL ;写地址 OUT 02, AL OUT 02, AL MOV AL, 8 OUT 83H, AL ;传送的字节数 MOV AX, 300H DEC AX MOV 03, AL MOV AL, AH OUT 03, AL ;写模式寄存器 MOV AL, 49H OUT 0BH, AL ;清除通道1屏蔽 MOV AL, 1 OUT 0AH, AL ;读通道1状态 WAIT: IN 08 AND AL, 02 JZ WAIT ;完成后屏蔽通道1 MOV AL, 5 OUT 0AH, AL null7.7 D/A和A/D转换技术null数模转换D/A转换器 D/A转换器简称DAC=Digital to Analog ConverterDAC把数字量转换为模拟量(电压或电流)。数模转换原理DAC的核心是解码网络,如T型解码网络null数模转换DAC0832null数模转换DAC0832DAC0832是8位DAC,内部有两级缓冲。当LE1有效时,数据进入第一级(数据输入寄存器),当LE2有效时,数据输入寄存器的值进入第二级(DAC寄存器)。由于DAC寄存器的输出直接送D/A转换器,使LE2有效的命令又称转换命令 DAC0832的输出为两个电流信号IOUT1和IOUT2(IOUT1+IOUT2=常数),内部提供了一个反馈电阻R,只需加一个运算放大器,利用内部的反馈电阻R即可获得电压输出null数模转换DAC0832的接口设计1. 使数据输入寄存器工作在锁存状态,DAC寄存器工作在不锁存状态(LE2始终有效,DAC寄存器直通)。只使用一级缓冲。null设D/A转换端口号为PORTA,设需转换的数据放在1000H单元,则D/A转换程序为: MOV BX,1000H MOV AL,[BX] MOV DX, PORTA OUT DX,AL数模转换DAC0832的接口设计null2. 使用两级缓冲数模转换DAC0832的接口设计null设CS’由A15~A1经译码产生,当A15~A1=A0832时, CS’有效。在CPU执行OUT指令时,若A0=0,DAC0832内部LE1有效,数据总线上的值(AL)送入数据输入寄存器; 若A0=1,DAC0832内部LE2有效,数据输入寄存器的值送DAC寄存器。 A0832 EQU 200H MOV DX,A0832+0;A0=0 OUT DX,AL ;AL的值为待转换的数字 MOV DX,A0832+1 ;A0=1 OUT DX,AL;AL的值无关数模转换DAC0832的接口设计null模数转换模数转换原理方法有计数法、逐次逼近法等计数式A/D转换 null转换原理:由计数器对固定频率信号CLK进行计数,计数输出值送DAC,DAC的输出模拟量Vo与输入模拟量Vi在比较器中进行比较,随着计数的进行,Vo不断增加,当Vo>Vi,计数器停止计数,此时的计数值即是模拟量Vi对应的数字量。 模数转换模数转换原理计数式A/D转换 null模数转换模数转换原理逐次逼近型A/D转换 null模数转换模数转换原理逐次逼近型A/D转换 转换原理:数字量由逐次逼近寄存器SAR产生。SAR使用对分搜索法产生数字量,以8位数字量为例,SAR首先产生8位数字量的一半,即10000000B,试探模拟量的大小,若Vo>Vi,清除最高位,若Vo
本文档为【微机原理13】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_706832
暂无简介~
格式:ppt
大小:293KB
软件:PowerPoint
页数:0
分类:其他高等教育
上传时间:2010-11-02
浏览量:16