- 628.00 KB
- 2022-08-11 发布
- 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
- 网站客服QQ:403074932
第六章I/O接口技术基础陆尧胜谢军主讲暨南大学信息科学技术学院电子工程系微机系统与接口1\n第6章I/O接口技术基础接口技术概述可编程并行接口可编程定时器/计数器串行通讯接口A/D、D/A接口2\n智能系统结构框图输入放大通道PC输入、输出控制及信号处理D/A转换部分A/D采样部分输入电极输出电极输出刺激器输入控制输出控制3\n生物反馈治疗系统4\n输入/输出接口(I/O接口)什么是I/O接口?把外设连接到总线上的一组逻辑电路的总称。实现外设与主机之间的信息交换。I/O接口要解决的问题速度匹配信号电平和驱动能力(电平转换器、驱动器)信号形式匹配(A/D、D/A)信息格式(字节流、块、数据包、帧)时序匹配(定时关系)总线隔离(三态门)5\nCPU与I/O设备之间的接口信息1.数据(Data)(1)数字量由键盘、CD-ROM光盘等输入的信息和向打印机、CRT显示器输出的信息,以及软、硬盘写入-场出的信息是以二进制形式表示的数或以ASCⅡDCGGEFIRPBTWF。(2)模拟量当计算机用于控制时,大量的现场信息经过传感器把非电量的自然信息转换成模拟量的电信息,再由A/D变换器转换后输入计算机;计算机的控制输出也必须先经过D/A转换才能去控制执行机构。(3)开关量这是一些两个状态的量,如电机的运转与停止、开关的合与断、阀门的打开和关闭等等。这些量只要用一位二进制数即可表示,故字长为8位的机器一次输入或输出可控制8个这样的开关量。6\nCPU与I/O设备之间的接口信息2.状态信息(Status)在输入时,有输入装置的信息是否准备好(Ready);在输出时,输出装置是否有空(Empty),若输出装置正在输出信息,则以忙(Buby)指示等。3.控制信息(Control)控制输入/输出装置或接口的启动、停止等。状态信息和控制信息与数据是不同性质的信息,必须要分别传送。但在大部分微型机中只有通用的IN和OUT指令,因此,外设的状态也必须作为一种数据输入;而CPU的控制命令,也必须作为一种数据输出。为了使它们相互之间区分开,它们必须有自己的不同端口地址。所以,一个外设或接口电路往往有几个端口地址,CPU寻址的是端口,而不是笼统的外设。7\n1)片内总线2)片总线(又称为元件级总线或局部总线):它是一台单板计算机或一块CPU插件板使用的板上总线,用于芯片一级的连接。它是微型机系统的重要总线,在将接口芯片与CPU连接时就要与这种总线打交道。它一般是CPU芯片引脚的延伸,与CPU的关系密切。3)内总线(又称为微机总线或板级总线,一般称为系统总线):它用于微机系统各插件板之间的连接,是微机系统最重要的一种总线。一般谈到微型机总线,指的就是这一种总线。4)外总线(又称为通信总线):它用于系统之间的连接,如微机系统之间、微型计算机系统与仪器或其他设备之间的连接。比较常用的外总线有:IEEE-488总线、RS-232C总线。8\n从接口的角度:(1)地址总线(2)数据总线(3)控制总线(4)电源和地线(5)备用线:留作功能扩充和用户的特殊要求使用。系统总线一般都做成多个插槽的形式,各插槽相同的引脚都连到一起,总线就连到这些引脚上。总线接口引脚的定义、传输速率的设定、驱动能力的限制、信号电平的规定、时序的安排以及信息格式的约定等等,都有统一的标准。外总线则使用标准的接口插头,其结构和通信规定也是标准的。9\nI/O接口扩展1.1、I/O接口的功能总线技术接口的作用分析与设计接口电路的基本方法1.2、I/O信息的传送方式1.3、常用的I/O接口扩展芯片10\nI/O接口的定义与作用所谓接口(Interface)就是微处理器或微机与外界的连接部件(电路),它是CPU与外界进行信息交换的中转站。接口电路的作用,就是将计算机以外的信息转换成与计算机匹配的信息,使计算机能有效地传送和处理它11\nI/O接口的功能1)数据缓冲功能:实现和不同外设的速度匹配;输出数据锁存;输入数据三态缓冲。为了解决CPU高速与外设低速的矛盾,接口中一般都设置数据寄存器或锁存器,避免因速度不一致而丢失数据信息或状态信息。2)信号转换功能和数据格式变换的功能:包括CPU的信号与外设信号的逻辑关系、时序配合以及电平匹配上的转换;数据“并串”和“串并”变换和数据宽度变换等。3)设备选择功能:接口具有设备和端口选择能力,以便CPU能根据需要启动其中部分设备或全部设备工作。而CPU在同一时间里只能选择一个端口进行数据传送。12\nI/O接口的功能4)接收和执行CPU命令的功能:接口电路应具有接收和执行CPU命令的功能,以便CPU向I/O设备发出的控制命令得以转达并实施。5)中断管理功能:既做到微机系统对外界的实时响应,又使CPU与外设并行工作,提高了CPU的效率。6)可编程功能:在不改动硬件的情况下,只修改相应的驱动程序就可以改变接口的工作方式。13\n分析与设计接口电路的基本方法1)分析接口两侧的情况:找出两侧进行连接时存在的差异;针对要消除两侧的这些差异,来确定接口应完成的任务;2)进行信号转换:要考虑作哪些信号变换3)合理选用外围接口芯片:选择什么样的元器件来进行这些变换4)接口驱动程序分析。14\nI/O接口的编址方式I/O端口:I/O信息的三种类型:数据、命令、状态。传送这三类信息的通道分别称为:数据端口(I、O)、命令端口(O)、状态端口(I)。不同外设具有的端口数各不相同,计算机中为每一个端口都赋予一个惟一编号——称为端口地址(或端口号)。端口有两种编址方式:统一编址和独立编址。15\n1.统一编址把外设接口与内存统一进行编址。各占据统一地址空间的不同部分。优点指令统一,灵活;访问控制信号统一,使用同一组的地址/控制信号。缺点内存可用地址空间减小0地址空间(共1MB)内存地址(960KB)I/O地址(64KB)FFFFFHEFFFFHF0000H16\n2.独立编址外设地址空间和内存地址空间相互独立。优点:内存地址空间不受I/O编址的影响缺点:I/O指令功能较弱,使用不同的读写控制信号00000H内存地址空间内存空间(1MB)I/O空间(64KB)FFFFHFFFFFHI/O地址空间0000H17\nI/O端口地址分配I/O设备在微机系统中占据一定的I/O地址空间。系统中哪些端口是计算机制造厂家为今后的开发而保留的,哪些地址已分配给了别的设备,哪些端口地址是留给用户的,这些信息对配置I/O设备和接口来说是十分必要的。8086/8088的I/O端口最多可达64K个,由A15–A0参加寻址。PC系列微机系统的端口数目是1024个,其端口地址空间是从000~3FFH,由地址线A0-A9进行译码。18\nPC中的I/O接口电路分为两类:1)主板上的I/O接口芯片。大多都是可编程的大规模集成电路,完成相应的接口操作,如定时器/计数器、中断控制器、并行接口、DMA控制器以及键盘控制器等。在PC/AT中,有8253、8259、8237A、8255等芯片组成。但随着PLD技术的发展,目前PC机系统主板上的所有I/O接口的功能已集成在一片或几片大规模集成电路芯片中。2)扩展槽上的I/O接口控制卡。这些接口控制卡是上若干个集成电路按一定的逻辑功能组成的接口部件,如多功能卡、图形卡、串行通信卡、网络接口卡等。PC系列微机中的I/O端口地址空间分为两部分,即1024个端口的前256个端口(000~0FFH)专供I/O接口芯片使用,后768个端口(100~3FFH)为I/O接口控制卡使用。19\n8088/8086系统存储器操作与I/O操作的分别:硬件/电路,指令,时序上的不同8088总线A19-A0A9-A0MEMR、MEMWIOR、IOW、DEN存储器访问I/O访问20\n8088/8086CPU的I/O编址方式采用I/O独立编址方式(但地址线与存储器共用)地址线上的地址信号用来区分:时为I/O地址I/O操作只使用20根地址线中的16根:A15~A0可寻址的I/O端口数为64K(65536)个I/O地址范围为0~FFFFHIBMPC只使用了1024个I/O地址(0~3FFH)21\nI/O端口地址的译码、、A15~A0OUT指令将使总线的信号有效IN指令将使总线的信号有效当接口只有一个端口时,16位地址线一般应全部参与译码,译码输出直接选择该端口;当接口具有多个端口时,则16位地址线的高位参与译码(决定接口的基地址),而低位则用于确定要访问哪一个端口。例如:某外设接口有4个端口,地址为2F0H~2F3H,则其基地址为2F0H,由A9~A2译码得到,而A1、A0用来确定4个端口中的某一个。22\nI/O数据的传送方式并行一个数据单位(通常为字节)的各位同时传送速度快、距离短、成本高例:PC机的并行接口(通常用于连接打印机)串行数据按位进行传送速度慢、距离远、成本低例:PC机的串行接口(通常用于串行通信)23\n接口电路的基本结构数据线控制线状态线DBCBAB数据输入寄存器(or三态门)数据输出寄存器(锁存器)状态寄存器(or三态门)命令寄存器译码电路控制逻辑接外设接主机24\n数据输入/输出寄存器——暂存输入/输出的数据命令寄存器——存放控制命令,用来设定接口功能、工作参数和工作方式。状态寄存器——保存外设当前状态,以供CPU读取。25\nLED显示器接口1)字形口CS1;2)字位口CS226\n共阴极的LED显示器接口27\n微机信息传递方式I/O控制方式主机与外设之间数据传送的控制方式有以下四种:无条件传送同步传送(同步传送方式)查询式传送(异步传送方式)中断方式传送直接存储器存取(DMA,DirectMemoryAccess)28\n无条件传送方式适用于总是处于准备好状态的外设以下外设可采用无条件传送方式:开关发光器件(如发光二极管、7段数码管、灯泡等)继电器步进电机优点:软件及接口硬件简单缺点:只适用于简单外设,适应范围较窄29\n查询方式传送适用于外设并不总是准备好,而且对传送速率、传送效率要求不高的场合。CPU在与外设交换数据前必须询问外设状态——“你准备好没有?”对外设的要求:应提供设备状态信息对接口的要求:需要提供状态端口优点:软件比较简单缺点:CPU效率低,数据传送的实时性差,速度较慢30\n查询式传送方式又称异步传送方式,在传送前,查询一下外设的状态,当外设准备好了以后才传送;否则,等待。31\n查询方式的流程:超时?READY?与外设进行数据交换超时错读入并测试外设状态YNYN传送完?防止死循环复位计时器NY32\nD5D7-D0A9|A3&≥1IOWD7-D03F8H外设D7D6D5D4D3D2D1D0BUSYCPQ7Q6Q5Q4Q3Q2Q1Q0状态端口GG2AG2BCBAA2A1A074LS138Y0≥1IORY3OE74LS374CPQQDSSTROBE3FBH33\n例:电路图如上,用查询方式进行输出外设状态端口地址为3FBH,第5位(bit5)为状态标志(=1忙,=0准备好)外设数据端口地址为3F8H,写入数据会使状态标志置1;外设把数据读走后又把它置0。34\n中断技术什么是中断?与生活场景的比较正在看书电话铃响接电话继续看书执行程序事件发生事件处理继续执行程序中断处理中断请求及响应实际场景计算机中断返回35\n中断的定义CPU执行程序时,由于发生了某种随机的事件(外部或内部),引起CPU暂时中断正在运行的程序,转去执行一段特殊的服务程序(称为中断服务程序或中断处理程序),以处理该事件,该事件处理完后又返回被中断的程序继续执行,这一过程称为中断。36\n中断源引起CPU中断的事件——中断源。例如:外设——请求输入输出数据,报告故障等事件——掉电、硬件故障、软件错误、非法操作、定时时间到等中断源分为:外部中断、内部中断内部中断:CPU内部执行程序时自身产生的中断外部中断:CPU以外的设备、部件产生的中断8086/8088的外部中断信号:INTR、NMIINTR——可屏蔽中断请求,高电平有效,受IF标志的控制。IF=1时,执行完当前指令后CPU对它作出响应。NMI——非屏蔽中断请求,上升沿有效,任何时候CPU都要响应此中断请求信号。37\n为何计算机中要引入中断?提高数据传输率;避免了CPU不断检测外设状态的过程,提高了CPU的利用率。实现对特殊事件的实时响应。38\n中断过程五个步骤:中断请求中断判优(有时还要进行中断源识别)中断响应中断服务中断返回以下以外部中断为主介绍这五个步骤。39\n1)中断请求外设接口(中断源)发出中断请求信号,送到CPU的INTR或NMI引脚;中断请求信号:边沿请求,电平请求例如,NMI为边沿请求,INTR为电平请求中断请求信号应保持到中断被处理为止;CPU响应中断后,中断请求信号应及时撤销。在8086/8088系统中,外设的中断要经过8259A可编程中断控制器(PIC)的排队判优后向CPU发出:(I/O接口)→PIC→CPU40\n2)中断源识别计算机中的中断源有很多,CPU必须识别是哪一个设备产生中断。识别中断源有两个方法:软件查询。将中断信号从数据总线读入,用程序进行判别。中断矢量法。由中断源提供中断类型号,CPU根据类型确定中断源。(8086/8088即采用此种方法)41\n8088的中断系统与中断有关的控制线为:NMI、INTR、INTA#8088系统的中断源内部中断除法溢出:类型号0,商大于目的操作数所能表达的范围时产生。单步中断:类型号1,TF=1时产生(当前指令需执行完)断点中断:类型号3,这是一个软件中断,即INT3指令。溢出中断:类型号4,这是一个软件中断,即INTO指令。软件中断:即INTn指令,类型号n(0-255)。外部中断非屏蔽中断NMI:类型号2,不可用软件屏蔽,CPU必须响应它。可屏蔽中断INTR:类型号由PIC提供。IF=1时CPU才能响应。42\nNMIINTR中断逻辑软件中断指令溢出中断除法错单步中断非屏蔽中断请求中断控制器8259APIC8086/8088CPU内部逻辑断点中断8086/8088中断源类型可屏蔽中断请求n4301243\n3)中断判优多个中断源产生中断,CPU首先为谁服务?——中断优先级排队问题。中断优先级控制要处理两种情况:对同时产生的中断:应首先处理优先级别较高的中断;若优先级别相同,则按先来先服务的原则处理;对非同时产生的中断:低优先级别的中断处理程序允许被高优先级别的中断源所中断——即允许中断嵌套。中断优先级的控制方法硬件判优——链式判优、并行判优(中断向量法)软件判优——顺序查询中断请求,先查询的先服务(即先查询的优先级别高)通常将中断判优与中断源识别合并在一起进行处理。x86系统中,这项任务由PIC和CPU共同完成。44\n4)中断响应在每条指令的最后一个时钟周期,CPU检测INTR或NMI信号。若以下条件成立,则CPU响应中断:当前指令执行完。对INTR,还应满足以下条件当前指令是STI和IRET,则下条指令也要执行完。当前指令带有LOCK、REP等指令前缀时,则把它们看成一个整体,要求完整地执行完;对INTR,CPU应处于开中断状态,即IF=1;当前没有复位(RESET)和保持(HOLD)信号。若NMI和INTR同时发生,则首先响应NMI。45\n4)中断响应(续)CPU中断响应时,要做下述三项工作:向中断源发出INTA中断响应信号;断点保护,包括CS、IP和PSW(FLAGS)。这主要是保证中断结束后能返回被中断的程序。获得中断服务程序首地址(入口)。如何得到中断处理程序的首地址?固定入口法中断向量法——常用46\n4)中断处理(中断服务)中断服务子程序特点为”远”过程(类型为FAR)要用IRET指令返回中断服务子程序要做的工作保护现场(PUSHreg’s)开中断(STI)进行中断处理恢复现场(POPreg’s)中断返回(IRET)47\n5)中断返回执行中断返回指令IRETIRET指令将使CPU把堆栈内保存的断点信息弹出到IP、CS和FLAG中,保证被中断的程序从断点处能够继续往下执行。IPLIPHCSLCSHFLAGLFLAGHSPIPLIPHCSLCSHFLAGLFLAGHSPIPCSFLAG进入中断服务程序时中断返回后48\nDMA方式前面三种I/O方式都需要CPU作为中介:外设CPU内存两个含义:1)软件:外设与内存之间的数据传送是通过CPU执行程序来完成的;2)硬件:I/O接口和存储器的读写控制信号、地址信号都是由CPU发出的(总线由CPU控制)。缺点:程序的执行速度限定了传送的最大速度(约为几十KB/秒)—解决:DMA传输49\nDMA传输:外设内存外设直接与存储器进行数据交换,CPU不再担当数据传输的中介者;总线由DMA控制器(DMAC)进行控制(CPU要放弃总线控制权),内存/外设的地址和读写控制信号均由DMAC提供。优点:数据传输由DMA硬件来控制,数据直接在内存和外设之间交换,可以达到很高的传输速率(可达几MB/秒)50\n可编程I/O接口可编程接口概术可编程输入/输出接口芯片可编程定时/计数器接口芯片51\n8255A并行I/O接口(第九章)8253计数器/定时器(第十章)8259A中断控制器(第八章)8251串行通讯控制器(第十一章)学习过的可编程接口芯片:52\n可编程接口概术一个简单的具有输入功能和输出功能的可编程接口电路(如下图),包括:1)一个输入接口,其组成主要是八位的三态门;2)一个输出接口,其组成主要是八位的锁存器;3)另外还有八位的多路转换开关及控制这个开关的寄存器FF。53\n可编程接口电路示意图:54\nA组控制(寄存器)数据总线缓冲器读/写控制逻辑B组控制(寄存器)A组A口(8位)A组C口高位(4位)B组C口低位(4位)B组B口(8位)D0~D7RDWRA1A0RESETCSPA0~PA7PC4~PC7PC0~PC3PB0~PB7二、8255A的内部结构:55\n--用户对寄存器FF写入的内容称为命令字或方式控制字;--寄存器FF称为命令寄存器,相应的端口称为命令端口或控制端口;--对可编程芯片初始化过程实际上就是对芯片的控制端口写入各种命令字的操作过程。可编程接口的初始化:56\n人机交互接口——键盘扫描下图所示为矩阵式键盘电路,其特点是由按键组成一个矩阵,矩阵的行线和列线分别作为两个传输方向相反的I/O接口信号线,比如行线作为输入接口信号线,列线作为输出接口信号线,或反之。一般的I/O键盘接口,采用行扫描法(见例题.)57\n键盘扫描电路图58\n在翻转法中,8255A行列线交换输入、输出,两步就可获取键位置信息。可见这种方法要比扫描法效率高。59