您好,欢迎访问三七文档
第2章微机接口基础知识微机接口技术接口控制语言计算机I/O总线2.1微机接口技术接口就是微处理器CPU与外部连接的部件,是CPU与外部设备进行消息交换的中转站。如:源程序或数据要通过接口从输入设备送入计算机,运算结果要通过接口向输出设备送出;控制命令通过接口发出,现场状态通过接口取进来,实现现场的实时控制等。微机接口技术是采用硬件与软件相结合的方法,使微处理器与外部设备进行最佳的匹配,实现CPU与外部设备之间的高效、可靠的信息交换的一门技术。2.1.1接口功能1.数据缓冲功能接口电路应设置数据寄存器或锁存器,以解决主机与外部设备之间的速度匹配问题,避免主机与外部设备的速度不匹配而丢失数据。2.设备选择功能计算机总线上往往会连接多个外设设备,而CPU在同一时间里只能与一台外设交换信息,需要通过接口的地址译码对外部设备进行寻址。3.信号转换功能各种外设的功能和用途不同,它所提供的数据、状态和控制信号的电平往往与微机的总线电平不兼容,接口电路进行相应的电平转换。4.提供信息交换的握手信号CPU对外设的各种命令和数据都是以代码的形式发送到接口电路,再由接口电路解读后,形成一系列控制信号去控制外设。5.中断管理功能当外设需要及时得到CPU的服务,特别是一些随机需要与CPU交换信息的外设,就要求接口中设置中断控制器,为CPU处理有关中断事务(中断请求、中断优先级设置,提供中断向量等)。6.可编程功能外设和接口芯片都是可编程的,通过接口驱动程序可改变接口的工作方式,增加接口的灵活性和可扩充性。2.1.2接口信息1.数据信息在计算机中数据一般有8位、16位、32位,大致可以分为三种基本类型:数字量数据、模拟量数据、开关量。2.状态信息计算机在I/O过程中,外部设备的数据是否准备好,外部设备是否已准备好接收数据等,都要通过一定的数据量来表示,才能实现计算机与外部设备之间的正确“握手”。3.控制信息控制信息主要是指启动、停止外部设备之类的接口信息。2.1.3数据传输方式1.无条件传送方式无条件传送方式又称为同步传送方式,主要适用于外部设备的各种动作时间是固定的,并且条件是已知的情况,或者计算机与外部设备是完全同步的情况。2.条件传送方式(查询方式)如果计算机与外部设备之间工作不同步(大部分情况都是这样),当处理器(CPU)执行IN、OUT指令时,很难保证外部设备一定准备好接收数据或已将数据准备好,所以,通常接口控制程序在读取或发送数据前,先查询外部设备的状态信息。当外部设备准备就绪时才进行数据传送,否则计算机的处理器(CPU)就等待。3.中断传送方式在查询传送方式中,计算机的处理器(CPU)要不断地查询外部设备的状态信息,而不能做其他的任何操作,大大浪费了处理器(CPU)的时间,降低了处理器(CPU)的效率。中断传输主要在随机数据传输(如数据采集)和多外设并发传输两种情况下使用。4.DMA传送方式为提高计算机系统与高速I/O设备交换数据的速度,往往采用外部设备与计算机内存直接交换数据(DMA——存储器直接存取),而不通过处理器(CPU)。2.1.4I/O寻址方式1.端口寻址I/O方式端口寻址也称为I/O独立编址,在这种寻址方式中,处理器(CPU)有专门的I/O指令,在计算机系统中使用不同的端口地址来区分不同的外部设备,操作时以端口(PORT)作为寻址单元。接口中的不同信息(数据、状态、控制信息)均通过不同的端口地址来区分。2.存储器对应的I/O寻址方式存储器对应的I/O寻址方式也称为统一编址,在这种寻址方式中,外部设备的I/O端口是存储器的某些存储单元,每一个外部设备占用一个或几个存储器地址,从而处理器(CPU)对外部设备输入/输出一个数据相当于做一次存储器读写操作。2.1.5PC机I/O地址分配2.1.6I/O地址译码方法1.固定式端口地址译码固定式译码指接口卡的端口地址不需要改变,直接使用与非门等逻辑芯片进行I/O地址的译码,目前使用这种译码方式的接口卡已经很少了。(1)端口地址需要一个I/O地址区间,这时可采用高位地址译码,如图2.9所示译码器的输出地址为278H~27FH。(2)输入/输出控制在图5.8(a)中,/IOR参与了译码电路的译码控制,因此该译码器仅能作为输入,即当CPU执行IN指令才可能选择该译码器,若执行OUT指令时/IOR,不会选择该译码器。(3)传输控制选择图2.8(a)中通过AEN对端口地址译码进行控制,当AEN=0(不是DMA操作)时端口译码才有效,在DMA操作时(AEN=1)译码无效,避免了在DMA周期对这些I/O端口设备的访问。2.可选择端口地址译码如果用户要求接口卡的端口地址能适应不同的I/O地址分配,以适应计算机系统各板卡的地址要求,往往采用可选端口地址译码。这种译码方式不需要改变接口卡的线路,通过卡上的开关、跳线器等就可改变卡的I/O端口地址。I/O端口地址的选择范围并不需要具有很大的变化范围,一般可采用跳线器来选择其I/O端口地址,在早期的接口卡上大部分采用这种方法。如图2.12所示译码器,当跳线器J连上时其I/O端口地址为378H~37FH,断开时为278H~27FH。3.程序选择端口地址译码开关式I/O地址译码方式一般需要事先设置接口卡的端口地址,然后再插入到计算机系统中,这给接口卡的使用带来不便。程序设置I/O端口地址可用PAL或GAL器件作为I/O地址数据存储器(也可用ROM、EPROM等),当选择不同存储单元时可输出相应的地址信号,同一个单元也可存储不同的I/O地址信息。2.1.716位、32位I/O地址译码1.16位I/O地址I/O地址译码电路的片选信号,必须有A0和/BHE参与控制。对于接低8位数据的I/O芯片的片选,必须有A0和高位地址译码同时有效。对于接高8位数据的I/O芯片的片选,必须/BHE和高位地址译码同时有效。2.32位I/O地址译码对于32位I/O数据传输,当CPU输出端口地址PORT时,由PORT选通,D15~D8数据由PORT+1选通,D23~D16数据由PORT+2选通,最高8位数据由PORT+3选通,因此可用区间I/O地址译码实现,如图2.17所示。2.2接口控制语言1.传送字节数据INAL,PORT;(AL)←(PORT)INAL,DX;(AL)←((DX))OUTPORT,AL;(PORT)←(AL)OUTDX,AL;((DX))←(AL)2.传送字型数据INAX,PORT;(AX)←(PORT+1,PORT)INAX,DX;(AX)←((DX)+1,(DX))OUTPORT,AX;(PORT+1,PORT)←(AX)OUTDX,AX;((DX)+1,(DX))←(AX)2.2.1汇编语言I/O指令1.I/O命令outportb(port,value)//从Port端口输出字节型数据Valueoutportw(port,value)//从Port端口输出字型数据Valuevalue=inportb(port)//从Port端口读入字节数据,并存储在Value变量中value=inportw(port)//从Port端口读入字型数据,并存储在Value变量中2.中断控制语句mode=getvect(INT_NO)//取INT_NO的中断向量,mode为中断指针变量setvect(INT_NO,INT_PROC)//设置INT_NO的中断向量,INT_PROC中断服务程序入口enable()//开中断disable()//关中断2.2.2C语言I/O语句2.3计算机I/O总线1.总线结构计算机系统的结构有以处理器为中心的面向处理机的结构和以总线为中心的面向总线的结构。面向处理机的总线结构是将需要交换信息的模块通过总线建立点到点的连接,这也是当前微机总线的基本形式。2.3.1总线概述2.总线分类(1)系统总线,也称板级总线,用于计算机内部各个模块、器件之间的数据通信,是构成微型计算机系统的总线。(2)外总线,一般又称通信总线,用于计算机与各个外部设备、计算机、仪器仪表连接通信的总线。(3)局部总线,用于某些特殊功能和用途而设计的总线,它一般是系统总线的一部分,完成系统总线所不能完成的功能。(4)内部总线,一般指集成电路内部或模块内部各个功能部件之间连接的总线。3.总线的数据传输总线可传输程序指令、运算处理的具体数据、设备的控制字、状态字、设备间传输的具体数据等。系统中的各个模块通过系统总线进行信息的交换,保证数据能在总线上高速可靠地传输,是系统总线的基本任务。总线完成一次数据的传输时间称为一个总线周期,一个总线周期可分为四个阶段:(1)申请分配阶段:由需要使用总线的模块或外设申请,通过总线分配仲裁功能确定把下一传输周期的总线使用授权给申请者。(2)寻址阶段:取得总线使用权的模块通过总线发出本次访问模块或设备的地址,建立数据传输通路。(3)传输阶段:主模块与其他模块或设备进行数据交换,数据由源模块发出经数据总线输入到目的模块。(4)结束阶段:主模块的有关信息从系统总线上撤除,让出总线,以便其他模块能继续使用总线。4.总线传输方式(1)同步式传输同步传输的特点是:传输周期是固定的,在传输周期内严格地按规定的时间发出信号和进行相应的动作。(2)异步式传输同步式传输对总线所连接的模块和设备的速度要求较高,为了实现不同速度的模块和设备的连接,主模块和属模块之间需要增加请求(RQ)和应答(ACK)两条状态线来进行连接的沟通。(3)半同步式传输半同步传输方式是同步传输和异步传输的折中方式,其特点是:地址、命令和数据的发出时间都严格按照系统时钟脉冲前沿时刻,接收判断采用系统时钟脉冲的后沿来识别。半同步传输方式为了能与不同速度的模块和外设协调工作,增设了一条“等待(Wait)”或“就绪(Ready)”控制信号线,这样对高速设备的数据传输就可象同步传输一样,按预定的时刻传输地址、数据和命令;对于低速设备借助Ready信号线使主控设备延时等待,从而达到速度匹配的目的。(4)分离式传输分离式总线传输把一个读周期分解为两个分离的子周期。在第一个子周期中,主模块将地址、命令,以及主模块的编号等一起发送到系统总线上,经总线传输后由相应的外设接收;外设接收到主模块发出的命令后,将数据准备好,再向总线提出请求,将需要传输的数据传输到总线上,由主模块读取,这就是第二个传输周期。这样,每一个传输子周期都只有单方向的信息流,主模块在第一个子周期后,不需要等待第二个子周期(可执行其他指令),从而提高系统的效率。2.3.2PC总线1.ISA总线IBMPC/XT的存储器总线与系统总线并没有分开,因此存储器与CPU(8088)间的数据传输率很低(8位ISA总线的最大传输率为2MB/s左右)。2.PCI局部总线PCI是一种先进的局部总线,已成为局部总线的标准和微机最流行的总线结构。PCI局部总线是一种独立于处理器的32位(2.1版本支持64位)结构总线,典型工作频率为33MHz(2.1版本为66MHz),最大传输率为132MB/s(或264MB/s、528MB/s)。2.3.4STD工业控制总线STD总线是1978年由美国普洛公司推出的一种可靠的标准总线,也是国内工业控制领域最常用的标准总线之一。1.STD总线特点①高可靠性;②小板结构、开放式的灵活组态;③兼容式的总线结构;④产品配套,功能齐全;⑤软件及开发环境完善;⑥不断引进新技术。2.STD总线规范STD总线有56条信号线,可分为5个功能组:1~6:逻辑电源,7~14:数据总线,53~56:辅助电源,15~30:地址总线,31~52:控制总线。表2-4所示为STD总线的引脚信号分配。2.3.5VME总线VME总线是一个全32位的工作站级总线标准,由Motorrola公司的VERSABUS总线演变而成,最初用于M68000计算机系统中,1985年被IEEE认可为IEEE-1014总线标准,广泛用于各种32位的工作站中。对于计算量较大、控制复杂的工业控制系统通常采用工作站作为控制主机,其接口通常采用VXI,VXI的技术规范建立在VME总线基础上。
本文标题:2微机接口基础知识
链接地址:https://www.777doc.com/doc-4044412 .html