计算机接口第3章_第1页
计算机接口第3章_第2页
计算机接口第3章_第3页
计算机接口第3章_第4页
计算机接口第3章_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、第3章 I/O端口设计技术基础,机电学院机械制造及自动化系,主讲教师:周 亮 教授,电话E-mail: L 地点:哈工大科学园2F栋121室,第3章 I/O端口设计技术基础,3.1 I/O端口的寻址方式 3.2 I/O端口地址分配 3.3 I/O端口地址译码 3.4 I/O端口地址译码电路设计 3.5 基本的数字输入输出电路,3.1 I/O端口的寻址方式,3.1.1 端口的基本概念 I/O接口电路中可被CPU访问的寄存器或器件 I/O设备与CPU进行数据交换的地址 一个接口电路至少有一个端口 命令端口、状态端口、数据端口 可读端口、可写端口、可读写端口 3.1.2 端

2、口的编址方式 1) 统一编址 将I/O端口当作内存处理,占用内存地址 2)独立编址 与内存地址相对独立,用IN、OUT命令操作,3.1 I/O端口的寻址方式,3.1.3 独立编址方式的I/O端口访问,(1)I/O指令 IN指令是从8位(或16位,或32位)I/O端口输入一个字节(或一个字,或一个双字)到AL(或AX,或EAX); OUT指令是从AL(或AX,或EAX)输出一个字节(或一个字,或一个双字)到8位(或16位,或32位)I/O端口。,(2)I/O端口寻址方式 直接寻址:不经过DX寄存器传输,直接写在指令中,作为指令的一部分,称直接I/O寻址; 间接寻址:经过DX寄存器传输的,称为间接

3、I/O寻址。,3.1 I/O端口的寻址方式,(3)独立编址方式的端口操作 I/O指令中端口地址的范围是指最多能寻址多少个I/O端口,因此它与寻址的范围有关,而与数据宽度无关。 I/O指令中数据的宽度是指通过累加器所传输的数据的位数,因此,它与指令中的累加器有关,而与端口地址范围无关。,(4)I/O控制指令与I/O读/写控制信号的关系 IOR和IOW是CPU对I/O设备进行读写的硬件上的控制信号,低电平有效。在程序中,执行IN指令使IOR信号有效,完成读(输入)操作,执行OUT指令使IOW信号有效,完成写(输出)操作。,3.2 I/O端口地址分配,3.2.1 PC系列微机的端口空间 1KB,即1

4、024个端口地址 端口地址线:A0A9 端口地址分类: 系统板用端口、扩展板用端口 系统占用端口、系统备用端口,3.2 I/O端口地址分配,3.2.2 系统板占用的端口地址表,I/O接口名称,端口地址,DMA控制器1 DMA控制器2 DMA页面寄存器,00001FH 0C00DFH 08009FH,中断控制器1 中断控制器2,02003FH 0A00BFH,定时器 并行接口 RT/CMOS RAM 协处理器,04005FH 06006FH 07007FH 0F80FFH,3.2 I/O端口地址分配,3.2.3 扩展槽接口控制卡的端口地址表,I/O接口名称,端口地址,并行口控制器1 并行口控制器

5、2,37837FH 27827FH,同步通讯卡1 同步通讯卡2,3A03AFH 38038FH,串行口控制器1 串行口控制器2,3F83FFH 2F82FFH,原型插件板(用户可用),30031FH,彩色显示器EGA/VGA,3C03CFH,硬驱控制卡,32032FH,3.2 I/O端口地址分配,1) 凡是由系统配置的外部设备所占用了的地址一律不能使用; 2) 原则上讲,未被占用的地址用户可以使用,但计算机厂家声明保留的地址不要使用,否则,会发生I/O端口地址重叠和冲突; 3) 用户可使用30031FH地址,但为避免与其他用户开发的插板发生地址冲突,最好采用可选式地址译码,即开关地址,进行调整

6、。,3.2.4 I/O端口地址选用的原则,3.3 I/O端口地址译码,3.3.1 端口译码及其作用 当CPU执行IN、OUT命令对端口进行操作时,由IOR、IOW执行,但必须由地址线选中端口使其生效,即需要译码电路将多条地址线和控制线的信号转变为一条或几条端口片选线和控制线,以使端口激活进行读写操作。 3.3.2 端口译码电路中的输入输出信号线 1)I/O地址译码的输入信号 A0A9、IOR、IOW、AEN 2)I/O地址译码电路的输出信号 CS,3.3 I/O端口地址译码,3.3.3 I/O地址译码的方法,1)全译码 所有I/O地址线(A0A9)全部作为译码电路的输入参加译码,一般在要求产生

7、单个端口时使用。 2)部分译码 只有高位地址线参加译码,产生片选信号CS,而低位地址线不参加译码,一般在要求产生多个端口的接口芯片中采用。 3)开关式译码 在部分译码基础上,加上开关来改变端口地址。,3.4 I/O端口地址译码电路设计,3.4.1 端口地址译码电路设计的方法与步骤 1)确定接口地址区域; 2)分析掌握接口芯片的控制逻辑; 3)分析掌握I/O端口的数据流向和数据宽度; 4)确定译码电路的输入逻辑; 5)写出译码电路要实现的逻辑运算真值表; 6)选择译码电路用的器件。,3.4 I/O端口地址译码电路设计,3.4.2 I/O地址译码电路设计举例,例1 :固定式单个端口地址译码电路的设

8、计 (1)要求 设计I/O端口地址为2F8H的只读译码电路,(2)分析,固定式单端口地址2F8H的地址线取值,地址线,二进制,十六进制,0 0 A9 A8,0 0 1 0,2,A7 A6 A5 A4,1 1 1 1,F,A3 A2 A1 A0,1 0 0 0,8,3.4 I/O端口地址译码电路设计,(3)设计,A9,A8,A7,A6,A5,A4,A3,A2,1,1,A1,A0,AEN,1,Y,IOR,74LS04,74LS30,74LS32,74LS20,1,1,1,1,3.4 I/O端口地址译码电路设计,例2:设计端口地址为2E2H的可读写固定式单个端口地址译码电路。,1,1,1,1,A9,

9、A8,A7,A6,A5,A4,A3,A2,1,1,A1,A0,AEN,1,1,1,Y(读),Y(写),IOR,IOW,74LS04,74LS30,74LS32,74LS20,3.4 I/O端口地址译码电路设计,例3:固定式多个端口的I/O地址译码电路的设计 (1)要求:使用74LS138设计一个系统板上的I/O端口地址译码电路,并且让每个接口芯片内部的端口数目为32个。,(2)分析,译码电路输入地址线值,地址线,用途,十六进制,0 0 A9 A8,控制,0H,A7 A6 A5,片选,07H,A4 A3 A2 A1 A0,片内端口寻址,01FH,3.4 I/O端口地址译码电路设计,输 入,输 出

10、,G1,G2A,G2B,C,B,A,Y7,Y6,Y5,Y4,Y3,Y2,Y1,Y0,1,1,1,1,1,1,0,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,1,1,0,1,1,1,0,1,0,0,0,0,1,0,1,1,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,1,1,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,0,

11、1,1,1,1,1,1,1,1,1,1,74LS138真值表,3.4 I/O端口地址译码电路设计,(3)设计,A Y0 B 74LS138 Y1 C Y2 U54 Y3 G2A Y4 G2B Y5,G1 Y6,Y7,1,2,3,5,4,6,7,9,10,11,12,13,14,15,A9,A6,A7,A8,A5,AEN,DMACS (82C37A),INTRCS (82C59A),T/CCS (82C54A),PPICS(82C55A),1,LOW,9,10,1,13,8,11,74LS32,WRTDMAPG (写DMA页面寄存器),WRTNMIRGE (写出NMI屏蔽寄存器),3.4 I/O

12、端口地址译码电路设计,例4:开关式I/O地址译码电路的设计 (1)要求:设计某微机实验平台板的I/O端口译码电路,要求平台上每个接口芯片的内部端口数目为4个,并且端口地址可选,其地址选择范围为300H31FH.,(2)分析: DIP开关由两种状态:合(ON)和断(OFF) 设置 ON=0,OFF=1; 选择74LS85四位比较器; 选择74LS138译码器。,3.4 I/O端口地址译码电路设计,(3)设计:,A0 A1 A2 A3 B0 B1 B2 B3 A=B AB A=B,A6,A7,A8,A9,DIP,S0,S1,S2,S3,Vcc,74LS85,A Y0 B Y1 C Y2 Y3 G2

13、A Y4 G2B Y5 Y6 G1 Y7,1,2,3,5,4,AEN,A3,A4,A5,A2,74LS138,3.4 I/O端口地址译码电路设计,例5:采用GAL的I/O地址译码电路的设计,A9,A8,A7,A6,A5,A4,A3,A2,A1,A0,0,0,1,S3,S2,S1,S0,Ix,Ix,Ix,?,?,GAL器件的200H3FFH范围的译码器地址线取值,(1)要求:利用GAL器件设计微机接口实验平台的I/O端口地址译码电路,其地址范围为200H3FFH,分成16段可选,每段包括8个接口芯片,每个接口芯片内部拥有4个端口。,(2)分析:根据所需输入线和输出线数目选择GAL器件型号。 GA

14、L的输入线:参加译码的地址线和数据线8根。,3.4 I/O端口地址译码电路设计,GAL输出线:需要8个片选信号,输出线有8根。 GAL16V8芯片:,1 20 2 12 10 11,GAL16V8,I1,CLK,I3,I5,I7,I2,I4,I6,I8,GND,F7,F5,F3,F1,F6,F4,F2,F0,OE,Vcc,3.4 I/O端口地址译码电路设计,(3)设计,A0 A1 A2 A3 B0 B1 B2 B3 A=B A=B AB,A6,A7,A8,A9,DIP4,Vcc,74LS85,I1 F7 I2 F6 I3 F5 I4 F4 I5 F3 I6 F2 I7 F1 I8 F0,2,3

15、,4,5,1,6,7,8,9,10,A2,A3,A4,A9,CLK,IOR,IOW,AEN,GND,11,12,13,14,15,16,17,18,19,20,Vcc,Y7,Y6,Y5,Y4,Y3,Y2,Y1,Y0,OE,GAL16V8,例6:用跳线器实现开关可选地址译码,A8 A7 A6 A5 A4 A3 A2 AEN A9 A1 AO IOR IOW,寄存器1,寄存器1,寄存器1,寄存器1,接口芯片,CS,W,R,A0,A1,74LS20,74LS20,74LS20,CS,74LS04,3.4 I/O端口地址译码电路设计,3.4.3 间接寻址译码电路设计 使用两个端口对多台设备进行寻址,扩

16、大计算机的端口寻址范围,一次译 码电路,地址 寄存器,数据 寄存器,二次译 码电路,设 备 端 口 寄 存 器,CS,CS,数据总线,地址总线,IOR,IOW,3.4 I/O端口地址译码电路设计,3.5 基本的数字输入输出电路,3.5.1 数字量输入输出的概念 数字量输出:控制命令、控制参数等 数字量输入:设备信息,状态、检测结果等 3.5.2 数字量输出 锁存器:273、373等,D0 Q0 D1 Q1 D2 Q2 D3 Q3 D4 Q4 D5 Q5 D6 Q6 D7 Q7 CLK CLR,D0 D1 D2 D3 D4 D5 D6 D7,BIT0 BIT1 BIT2 BIT3 BIT4 BIT5 BIT6 BIT7,CS,IOW,RESET,3.5 基本的数字输入输出电路,3.5.2 数字量输入 输入寄存器:244、240等,1Y1 1A1 1Y2 1A2 1Y3 1A3 1Y4 1A4 2Y1 2A1 2Y2 2A2 2Y3 2A3 2Y4 2A4 1G 2G,D0 D1 D2 D3 D4 D5 D6 D7,BIT0 BIT1 BIT2 BIT3 BIT4 BIT5 BIT6 BIT7,CS,IOR,3.5 基本的数字输入输出电路,3.5.3 数字量双向输入 输入寄存器:245等,B1 A1 B2 A2 B3 A3 B4 A4 B5 A5 B6 A6 B7 A7

温馨提示

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

评论

0/150

提交评论