微型计算机接口技术及应用信息工程学院软件工程系本章内容提要:什么叫接口技术?接口具有哪些功能?接口的组成接口电路的结构形式接口与CPU如何交换数据?分析与设计接口电路的基本方法接口技术的发展趋势第六章接口概述1.1微机接口技术一、接口(Interface)CPU接口外部设备外部世界:除CPU本身以外的所有设备或电路,包括存储器、I/O设备、控制设备、测量设备、通讯设备、多媒体设备、A/D与D/A转换器等。微机接口是微处理器CPU与“外部世界”的连接电路,是CPU与外界进行信息交换的中转站。接口的概念举例:显示卡接口总线接口串行接口并行接口USB接口键盘接口硬盘接口多种多样的外设工作原理不同机械、电子、机电、电磁……传送信息类型多样数字量、模拟量、开关量传送速度差别极大传送方式不尽相同串行、并行编码方式不同二进制、BCD码、ASCII码……CPU与外设之间设置接口电路的原因其一、外设多种多样,工作原理、驱动方式、信息格式、以及工作速度方面彼此差别很大其二,CPU与外设两者的信号线不兼容,在信号线功能定义、逻辑定义和时序关系上都不一致;其三,两者的工作速度不兼容,CPU速度高,外设速度低;其四,若不通过接口,而由CPU直接对外设的操作实施控制,就会使CPU处于穷于应付与外设打交道之中,大大降低CPU的效率(例如:UART);其五,若外部设备直接由CPU控制,也会使外设的硬件结构依赖于CPU,对外设本身的发展不利。二、什么叫接口技术?接口技术是采用硬件与软件相结合的方法,研究微处理器如何与“外部世界”进行最佳连接,以实现CPU与“外部世界”之间高效可靠的信息交换的一门技术。涉及课程:微机原理、汇编语言程序设计、电子技术、数字逻辑设计等。一、接口信息•数据信号如:8位、16位、32位数据;•状态信号表示外设是否准备好信号。如:READY、BUSY、ACK•控制信号表示启动、停止外设之类的信号。1.2接口功能CPU地址数据控制数据控制状态外部设备接口电路接口I/O接口的典型结构控制总线CB地址总线ABI/O接口电路数据控制状态数据总线DBCPU外设控制寄存器状态寄存器数据寄存器1.接口电路的内部结构2.接口电路的外部特性二、接口的功能执行CPU命令的功能返回外设状态的功能数据缓冲功能信号转换功能设备选择功能寻址外设,一般是把高位地址用于接口芯片选择,低位地址进行芯片内部寄存器的选择,以选定需要与自己交换信息的设备端口,只有被选中的设备才能与CPU进行数据交换或通信。数据宽度与数据格式转换的功能数据缓存器高速主机低速外设TTL+/-3V输出接口的锁存环节数据缓冲内部数据总线外部数据引脚锁存控制DCQDCQDCQ输出接口的锁存、缓冲环节数据缓冲内部数据总线外部数据引脚锁存控制DCQDCQDCQ读数据输入接口的缓冲环节数据缓冲内部数据总线外部数据引脚选通缓冲器输入接口的锁存、缓冲环节数据缓冲内部数据总线外部数据引脚锁存控制锁存器缓冲器DCDCDCQQQ选通1.3接口的组成基本逻辑电路包括命令寄存器、状态寄存器和数据缓冲寄存器。它们担负着接收执行命令、返回状态和传送数据的基本任务,是接口电路的核心。端口地址译码电路设备选择,译码器或逻辑门供选电路一、硬件电路—支撑作用初始化程序段传送方式处理程序段查询;中断方式;DMA方式主控程序段完成接口如任务的程序段程序终止与退出程序段辅助程序段二、软件编程—驱动控制一个完整的接口程序通常包括如下一些程序段:1.4接口电路的结构形式固定式结构固定式结构采用SSI或MSI的IC逻辑芯片(如74系列373、244),按设计要求组合而成。电路一经做成,其工作方式和功能就固定不变,是一种不可编程的接口电路,一般用于接口任务比较简单的场合。半固定式结构半固定式结构是指采用GAL或PAL器件构成的接口电路。设计者根据接口电路设计要求,编写各种“与”、“或”逻辑表达式,通过专门的编程软件和编程器,烧入GAL器件,就可以实现比较复杂的接口功能。体积小,功能强,且可以加密。接口电路的结构形式一般有以下几种:可编程结构大规模集成接口芯片,其工作方式和功能可以通过编程方法加以改变,使用灵活,适应面宽,而且种类繁多,能满足不同外设接口需要智能型结构若大量的外设要求处理器去控制、传送数据,可以采用专门设计的I/O处理器(如I8089)或通用单片微机,构成智能接口。由于这些芯片本身带有微处理器,因此,外设的全部管理功能都可由智能接口来完成,这样就使中央处理器从繁重的外设管理工作中解脱出来,从而大大提高了系统的效率和数据吞吐量。1.5数据传送方式查询方式中断方式DMA方式无条件传送方式在微机中,CPU与接口之间传送数据一般有三种方式:先查询外设的状态信息是否准备好;未准备好,继续查询;准备好,传送数据;无条件传送方式可看作查询方式的一种特例。一、查询方式优点:不需要额外的硬件电路,易于实现。缺点:CPU的工作效率很低。适用于:CPU不太忙且传送速度不高的场合。查外设状态准备好?传送数据YN查询传送的两个环节⑴查询环节寻址状态口读取状态寄存器的标志位若不就绪就继续查询,直至就绪⑵传送环节寻址数据口是输入,通过输入指令从数据端口读入数据是输出,通过输出指令向数据端口输出数据输入状态就绪?数据交换YN流程查询输入接口IOR+5V8D锁存器8位三态缓冲器译码1位三态缓冲器RQA0~A158000H8001HD0~D7D0D输入设备IORSTBmovdx,8000h;DX指向状态端口status:inal,dx;读状态端口testal,01h;测试标志位D0jzstatus;D0=0,未就绪,继续查询incdx;D0=1,就绪,DX指向数据端口inal,dx;从数据端口输入数据查询输出接口8D锁存器译码1位三态缓冲器RQA0~A158000H8001HD0~D7D7D+5V输出设备ACKIOWIORmovdx,8000h;DX指向状态端口status:inal,dx;读取状态端口的状态数据testal,80h;测试标志位D7jnzstatus;D7=1,未就绪,继续查询incdx;D7=0,就绪,DX指向数据端口moval,buf;变量buf送ALoutdx,al;将数据输出给数据端口c二、中断方式由外设向CPU发出中断请求;CPU暂停原程序的执行,转入中断服务;完成后返回原程序继续执行。主程序执行子程序转向返回继续执行优点:CPU与外设可并行工作,提高CPU的利用率。缺点:需设置中断控制器,增加了硬件开销。适用于:实时控制和紧急事件的处理。三、DMA方式数据的传送不经过CPU,由DMA控制器来实现内存和外设,或外设和外设之间的直接快速传送。在DMA传送期间,DMA控制器接管了总线控制权,而CPU处于等待状态;DMA传送完成后,CPU恢复对总线的控制权,进入工作状态。RAMCPU外设DMA控制器优点:简化了CPU对输入/输出的控制,传送速率很高。缺点:需要设置DMA控制器,硬件开销大。适用于:高速大批量数据传送。四、无条件传送方式及其接口在CPU与慢速变化的设备交换数据时,可以认为它们总是处于“就绪”状态,随时可以进行数据传送,这就是无条件传送,或称立即传送、同步传送适合于简单设备,如LED数码管、按键或按纽等无条件传送的接口和操作均十分简单这种传送有前提:外设必须随时就绪流程无条件传送:输入示例IOR三态缓冲器OEI/O装置地址译码器CSD7~D0A15~A1A00160HMOVDX,160HINAL,DX无条件传送:输入实例MOVDX,160HINAL,DX74LS244+5V10Kx8G1G2数据总线CSRD无条件传送:输出示例地址译码器数据锁存器A15~A1IOWA0CS0160H输出设备D7~D0MOVDX,160HMOVAL,[BX]OUTDX,AL无条件传送:输出实例MOVDX,160HMOVAL,[BX]OUTDX,AL+5V74LS373300x8LEOE数据总线CSWR无条件传送:输入输出接口K7K1K0D0~D7A0~A15CLKLS2738D锁存器LS244三态缓冲器8000H译码+5V…+5VLED0LED7…GIOWIORnext:movdx,8000h;DX指向数据端口inal,dx;从输入端口读开关状态outdx,al;送输出端口显示calldelay;调子程序延时jmpnext;重复1.6分析与设计接口电路的基本方法对CPU一侧,就是三总线,情况明确,因此,分析比较容易,主要要搞清楚是什么类型的CPU,以及它提供的数据线的宽度(8位、16位、32位等),地址线的宽度(16位、20位、24位)和控制线的逻辑定义(高电平有效、低电平有效、脉冲跳变),时序关系有什么特点。外设一侧的分析重点放在两个方面:一是搞清被连接的外设的外部特性,即外设信号线引脚的功能定义和逻辑定义;二是了解被控外设的工作过程(时序),以便在接口软件设计时,按照这种过程编写程序。一、两侧分析法二、软硬结合法合理选用外围接口芯片在接口设计中,通常不需要繁杂的电路参数计算,而需要熟练的掌握和深入了解各类芯片的功能、特点、工作原理、使用方法及编程技巧,以便根据设计要求和经济准则,合理选择芯片,把它们与微处理器正确地连接起来,并编写相应的控制程序。有针对性地设计附加电路如逻辑关系与电平转换、时序配合以及驱动能力等方面的功能,可以采用反向器、三极管、缓冲器、与门、或门以及驱动器等芯片,设计一些辅助电路加到接口电路中。1.硬件设计方法2.软件设计方法采用汇编语言(或高级语言)直接对底层硬件编程。采用DOS系统功能调用和BIOS调用编程在应用程序中,当涉及到使用系统资源(如键盘、显示器、打印机、串行口等)是,可采用采用DOS和BIOS调用,而不需作底层编程。1.7接口技术的发展趋势解决微机系统输入/输出瓶颈问题的新型外设、先进的总线技术及接口标准及芯片组,成为一种发展方向。随着微机的发展,微机接口经历了固定式简单接口、可编程复杂接口和功能强大的智能接口几个发展阶段。由于各种高性能接口标准的不断推出和使用,超大规模接口集成芯片的不断出现,以及接口控制软件的固化技术的应用,微机接口向更加智能化、标准化、多功能化以及高集成度化方向发展。