资源描述
第8章 微型计算机输入/输出接口技术,8.1 概述 8.2 CPU与外设之间的数据传送方式 8.3 I/O接口的基本结构及读写技术,8.1 概述,8.1.1 输入/输出接口的概念与功能 8.1.2 CPU与外设之间的接口信息 8.1.3 I/O端口的编址方法 8.1.4 I/O端口的地址分配 8.1.5 I/O端口的译码,8.1.1 输入/输出接口的概念与功能,I/O接口 I/O接口与系统和外设的连接 采用I/O接口的必要性 I/O接口的功能 I/O接口的类型,1. I/O接口,I/O接口是位于系统与外设间,协助完成数据传送的电路。 I/O接口是连接外设和主机的一个“桥梁”。I/O接口的外设侧、主机侧各有一个接口。主机侧的接口称为内部接口,外设侧的接口称为外部接口。 内部接口通过系统总线与内存和CPU相连;外部接口则通过各种接口电缆(如串行电缆、并行电缆、网线或SCSI电缆等)与外设相连。,接口技术 是研究CPU如何与外部世界进行最佳耦合与匹配,实现双方高效、可靠地交换信息的一门技术,是软件、硬件结合的体现,是微机应用的关键。,IBM PC总线是在IBM PC/XT个人计算机上使用的总线,它是针对Intel 8088CPU设计的,有62条信号线,以适应8088的8位数据线和20条地址线的要求。这种总线是用户在IBM PC/XT机器的主板上扩展I/O板的I/O总线。 在IBM PC/XT微型计算机中有8个62线的扩展槽,这8个扩展槽是扩充系统的通道,扩展槽上可以插入不同功能的插件板,如内存扩展板、显示适配器、磁盘控制器、打印适配器、串行口适配器、网络适配器等。,2. I/O接口与系统和外设的连接,1、速度的不匹配 2、信号电平不匹配 3、信号格式不匹配 4、时序不匹配,3. 采用I/O接口的必要性,4. I/O接口的功能,1、数据缓冲; 2、信号格式转换,例如:串并/并串转换; 3、电平转换、数/模和模/数转换等; 4、协调时序,同步CPU与外设的工作; 5、端口译码; 6、提供联络信号; 7、提供中断和DMA控制。,1、按数据传送方式分为并行接口与串行接口两类。 主机侧的内部接口,数据在接口与主机之间总是通过系统总线按字节或字或多字进行并行传输;外设侧的外部接口,数据在接口与外设之间有串行和并行两种传送方式。例如:并行接口Intel 8255,串行接口Intel 8250,主要用于连接显示终端等慢速设备。 2、按功能选择的灵活性分为可编程接口与不可编程接口两类。 例如:可编程接口 Intel 8255、Intel 8250;不可编程接口Intel 8212。 3、按通用性分为通用接口与专用接口。 例如:通用接口Intel 8255;专用接口Intel 8279可编程键盘、显示接口器件。 4、按数据传送的控制方式分为程序式接口与DMA式接口。 5、按设备的连接方式分为点对点接口与多点接口。,5. I/O接口的类型,图 微机常见外部接口,8.1.2 CPU与外设之间的接口信息,数据信息、状态信息和控制信息。,端口:接口电路中的寄存器,包括数据端口、控制端口和状态端口。,接口和端口的区别: 端口:是指接口电路中能被CPU直接访问的寄存器或某些特定的器件,分别用来存放数据信息,控制信息和状态信息,相应的端口就是数据端口、控制端口和状态端口。CPU通过这些端口来发送命令、读取状态和传送数据。 接口:若干个端口加上相应的控制逻辑才能组成。,数据信息:通常包括数字量、模拟量和开关量三种基本形式 状态信息:主要用来指示输入/输出设备当前的状态,CPU根据这些状态信息适时准确地进行有效的数据传送。 控制信息:主要是用来控制输入/输出设备的一类接口信息,它能控制设备的启动与停止,8.1.3 I/O端口的编址方法,I/O端口的编址方式通常有两种:统一编址方式和独立编址方式。 1、统一编址(存储器映射编址),将I/O端口地址与存储器地址统一分配,即将I/O端口看作一个存储单元。 I/O端口相当于内存的一部分,使内存容量减小 对I/O端口的读/写与对存储器的读/写相同, 所有可对内存操作的指令对I/O端口均可使用,指令多。 指令系统中不专设I/O指令,寻址速度慢 2、独立编址,将I/O端口和存储器分开独立编址,即I/O端口和存储器的地址空间是相互独立的。,特点: 端口与存储器分别独立编址 端口不占用内存空间 设有专门的 I/O指令对端口进行读写,指令执行速度快 对内存操作的指令不能用于I/O端口,例 MOV 10H, AL 对内存操作 IN 10H, AL 对端口操作,可寻址220= 1M个内存单元 内存范围00000 FFFFFh 内存单元的地址有5种寻址 可寻址216= 64 K个I/O端口 I/O端口范围0000 FFFFH I/O端口的地址由 一个8位二进制数直接寻址 或DX寄存器间接寻址,8.1.4 I/O端口的地址分配,表8.1 主板上接口芯片的端口地址,表8.2 扩展槽上接口控制卡的端口地址,8.1.5 I/O端口的译码,【例8.1】设计端口地址为218H的译码电路。 解:218H端口地址A9A0依次为1000011000,据此设计译码电路。 1、采用门电路:图8.3。 2、采用门电路(实际芯片):图8.4。 3、采用译码器:图8.5。,方法一、用门电路实现218H的地址译码,注意译码电路中:由于高位地址线A15-A10未参与译码, 即:地址A15-A0为: 10 0001 1000均能输出0, 所以该电路使:一个端口对应多个地址,共26=64个 218,618, A18,E18等等,采用实际芯片:,PC总线,CS,I/O口,D0 D7,数 据 线 DB,端 口 译码电路,0,A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 AEN +5V IOR IOW,D0 D7,1 0 0 0 0 1 1 0 0 0 0,1,0,0,74LS30,74LS20,74LS32,方法二、用译码器、门电路组合实现218H的地址译码,74LS138 3-8译码器,218H,A Y0 B Y1 C Y2 E3 Y3 Y4 E1 Y5 Y6 E2 Y7,0 0 0 0 1 1 0 0 0 0 1 0 0,&,A0 A1 A2 AEN A3 A4 A5 A6 A7 A8 A9 IOR IOW,CS,D0 D7,&,数 据 线 DB,D0 D7,端 口 译码电路,8.2 CPU与外设之间的数据传送方式,8.2.1 直接程序控制方式 8.2.2 中断传送方式 8.2.3 直接存储器存取方式,8.2.1 直接程序控制方式,直接程序控制方式:通过程序直接控制CPU与外设之间的数据传送。直接程序控制方式分为无条件传送方式和条件传送方式两种。 无条件传送方式:外部设备必须已准备好,系统不需要查询外设的状态。接口示意如图8.7所示。 条件传送方式(查询传送方式):在执行输入/输出操作之前,需通过测试程序对外部设备的状态进行检查。当所选定的外设已准备“就绪”后,才开始进行输入/输出操作。查询传送方式的程序流程如图8.8所示。,图8.7 无条件传送接口示意图,例:一个采用无条件传送方式的数据采集系统。 这是一个16位精度的数据采集系统。被采集的数据是8个模拟量,由继电器绕组P0、P1、P7分别控制触点K0、K1K7逐个接通。 每次采样用一个4位(十进制数)数字电压表测量,把被采样的模拟量转换成16位BCD代码,高8位和低8位通过两个不同的端口(其地址分别为10H和11H)输入。 CPU通过端口20H输出控制信号,以控制某个继电器的吸合,实现采集不同通道的模拟量。,1.无条件传送方式:,8个模拟量,16位精度的数据采集系统,继电器绕组,触点,控制端口,数据端口,采集过程要求: (1) 先断开所有的继电器线圈及触头,不采集数据。 (2) 延迟一段时间后,使K0闭合,采集第1个通道的模拟量,并保持一段时间,以使数字电压表能将模拟电压转换为16位BCD码。 (3) 分别将高8位与低8位BCD码存入内存,完成第1个模拟量的输入与转存。 (4) 利用移位与循环实现8个模拟量的依次采集、输入与转存。,数据采集程序: START:MOV DX,0100H;01HDH,置吸合第1个继电器代码 ;00HDL,置断开所有继电器代码 LEA BX,DSTOR;置输入数据缓冲器的地址指针 XOR AL,AL;清AL及进位位CF AGAIN: MOV AL,DL OUT 20H,AL;断开所有继电器线圈 CALL NEAR DELAY1;模拟继电器触点的释放时间 MOV AL,DH OUT 20H,AL;先使P0吸合 CALL NEAR DELAY2;模拟触点闭合及数字电压表的转换时间 IN AX,10H;输入 MOV BX,AX;存入内存 INC BX INC BX RCL DH,1;DH左移(大循环)1位,为下一个触点吸合作准备 JNC AGAIN; 8个模拟量已经全部输入了?没有,则循环 DONE: ;输入结束,执行别的程序段,图8.8 查询传送方式流程,【例8.2】如图所示,I/O接口的状态端口为地址为21CH,当D4=1时,表示外设数据准备好;I/O接口的的数据端口为218H。完成程序段:从外设读入50H个字节到内存缓冲区buffer中。,相应程序段为: MOV AX, SEG buffer ;取缓冲区首地址 MOV DS, AX LEA DI, buffer MOV CX, 50H ;传送个数 NEXT: MOV DX, 21CH ASK: IN AL, DX ;从状态端口读入状态信息 TEST AL, 00010000B;检测D4位 JZ ASK;D4=0,继续查询 MOV DX, 218H IN AL, DX;从数据端口读入数据 MOV DI, AL;送缓冲区 INC DI;修改缓冲区指针 LOOP NEXT;传送下一个 ,8.2.2 中断传送方式,在中断传送方式中,CPU和外设并行工作,当外设有需要时可向CPU提出服务请求,CPU接到中断申请后,暂时停止当前程序的执行,响应外设的中断请求,转去执行中断服务子程序,中断服务子程序执行完毕后,CPU返回主程序继续执行。,8.2.3 直接存储器存取方式,直接存储器存取方式(Direct Memory Access,DMA)方式:在外设与存储器之间传送数据时,不需要通过CPU中转,由专门的硬件装置DMA控制器(DMAC)即可完成。,8.3 I/O接口的基本结构及读写技术,8.3.1 I/O接口的基本结构 8.3.2 I/O接口的读写技术,8.3.1 I/O接口的基本结构,8.3.2 I/O接口的读写技术,1. 简单的输入输出接口 2. 端口的读/写控制,1. 简单的输入输出接口,输入采用缓冲器,输出采用锁存器。 (1)常用缓冲器:,74LS240 74LS244 74LS245 8位单向负逻辑 8位单向正逻辑 8位双向正逻辑,240为三态输出的八组反向缓冲器和总线驱动器,244为三态输出的八组缓冲器和总线驱动器,(2)常用锁存器,74LS273是带清除端的8D触发器。 74LS373是三态输出的8D透明锁存器(不锁存数据时,输出随输入 变化)。 74LS374是三态输出的8D边沿触发器。,2. 端口的读/写控制,MOV DX, 200H IN AL, DX,2. 端口的读/写控制,MOV DX, 300H OUT DX, AL,作业,P172 8.5,
展开阅读全文