微机接口技术聂伟荣2011年春2020/2/122课程主要内容•1微机接口技术基础•2DMA控制器•3总线技术•4串行通信接口及其应用•5A/D、D/A转换技术及其接口•6人机接口2020/2/123教材及参考书主要教材:1.艾德才主编,微机接口技术实用教程(第二版),清华大学出版社,2009.52.雷丽文,微机原理与接口技术,电子工业出版社,2003参考书:1.戴梅萼,史嘉权。微型计算机技术及应用,电子工业出版社,20032.李大友,微型计算机接口技术,清华大学出版社,1997先修课程:微机原理及应用,模拟电路与数字电路2020/2/124教学要求与考核•要求:•通过本课程的学习和实验,了解并掌握基本串行接口、并行接口、人―机接口通信及数据采集系统的组成、基本原理、设计方法,并掌握微机在测控系统中的简单应用;在微机系统工程应用方面的实际动手能力得到锻炼和提高。•考核:•平时成绩20%,实验成绩10%,期末考试70%。•期末考试形式:开卷1微机接口技术基础1.1接口及接口技术的基本概念1.2接口的功能1.3接口电路的组成及其传递的信息1.4接口的编址与译码1.5常用外围接口芯片1.6微机接口设计与分析的基本方法2020/2/126微机硬件系统组成2020/2/127微机硬件系统结构图2020/2/128•人是通过外部设备和软件使用计算机的,由于多种原因(信号兼容、电平匹配、时序\速度匹配、管理多个外设等),外设往往不能与系统总线直接相连,它们之间的信息交换需要一个中间环节(或称界面),这就是接口(Interface:接口,界面)。•接口的基本概念包括硬件接口和软件接口两个方面的含义。1.1接口及接口技术的基本概念2020/2/129•从硬件角度讲,一个微机系统由CPU、存储器、接口电路、外部设备、电源及系统总线构成,存储器和各类外设都是通过各自的接口电路连接到系统总线上,如图1.1所示。•不同的外部设备,通过各自相应的接口电路(或接口卡),连接到系统总线上,从而与CPU进行信息交换。1.1接口及接口技术的基本概念CPU内存内存接口电源输入接口输出接口通信接口过程控制接口外存接口智能仪器接口键盘光笔声音输入图形输入打印机显示器绘图仪调制器解调器电传机ADCDAC开关量磁盘机磁带机光存储器数字化仪表2020/2/12111.1接口及接口技术的基本概念•从软件角度讲,CPU对外设的监控以及CPU、M与外设的信息交换是通过相应的接口程序来完成,因此软件接口也是接口的重要组成部分。•硬件电路和接口程序相配合才能完成计算机与外设之间的信息交换。2020/2/12121.1接口及接口技术的基本概念微机接口:是指CPU与存储器、外部设备,或者两种外设之间,或者两种机器之间通过系统总线进行连接的一组控制电路及其相应的控制程序,是CPU与外设进行信息交换的中转站。接口从广义上讲,凡是两个相对独立的子系统之间的连接部分均可称之为接口。2020/2/1213接口技术:是采用硬件和软件相结合的方法研究微处理器如何与外部世界进行最佳耦合与匹配以实现CPU与外界高效且可靠的信息交换的一门技术,是计算机应用领域的非常重要的技术。1.1接口及接口技术的基本概念2020/2/12141.2接口的功能1)设备的选择功能:即接口被译码寻址功能2)数据的锁存与缓冲:输入缓冲,输出锁存3)信号转换:串/并、并/串转换,数/模、模/数的转换,电平转换,光电隔离等4)对外设的控制和监测:提供命令译码和状态信息5)中断或DMA管理6)可编程功能微机中,接口的基本功能就是对数据传送实现控制,具体包括以下六种功能:结论:任何和CPU交换信息的设备及器件都必须通过相应的接口才能和总线相连。2020/2/12151.3接口电路的组成及其传递的信息1.数据信息(Data):1)数字量:以二进制或ASCII码表示的数或字符;2)模拟量:如温度、压力、位移等;3)开关量:只有两个状态的量,如开关的合与断,阀门的开与关等,只要用1位二进制数即可表示。2.状态信息(Status):1)输入装置的状态:是否准备好数据(Ready);2)输出装置的状态:若为空(Empty)则可传送;若输出装置忙(以Busy指示)则不可传送;3.控制信息(Control):如控制输入输出装置启动或停止等信息。CPU与I/O设备之间通过接口要传送的信息包括数据信息、状态信息和控制信息。2020/2/1216接口电路的组成•尽管功能不同的接口电路结构差别很大,但从使用和编程的角度来看,接口电路对应传送数据信息、状态信息和控制信息,应该包括数据缓冲寄存器、状态寄存器和控制寄存器等基本电路。•接口电路连接于系统总线,接口电路还应包括总线驱动、地址译码等读写控制逻辑电路。•一个典型的接口电路如下图所示。2020/2/1217典型接口电路2020/2/1218CPU与外设之间的数据传送方式(1)无条件传送方式(2)查询传送方式以上两种方式合称程序控制传送方式,即在程序的编制中利用I/O指令来执行输入输出,CPU处于主动地位。(3)中断传送方式(4)直接存储器存取(DMA)方式CPU与外部设备交换信息通常有如下四种方式:2020/2/1219无条件传输方式最简单的传送方式,它适用于外设总是处于准备好的情况,如开关设备等,较少使用。1.无条件传送的输入方式由于简单外设用为输入设备时,输入数据的保持时间相对于CPU的处理时间要长得多,所以可直接使用三态缓冲器和总线相连。输入时认为来自外设的数据已出现在三态缓冲器的输入端。2.无条件传送的输出方式在输出时,CPU的输出数据经数据总线加至输出锁存器的输入端。2020/2/1220查询传输方式查询传送方式就是在传送前先查询外设的状态,当外设准备好了才传送;若未准备好,则CPU等待外设。1)查询式输入CPU先从状态口输入外设的状态信息,检查外设是否已准备好数据。若未准备好,则CPU进入循环等待,直到准备好才退出循环,输入数据。2)查询式输出查询式输出时,CPU必须先查外设的BUSY状态,看外设的数据缓冲区是否已空。若缓冲区为空,即BUSY为假,则CPU执行输出指令;否则若BUSY为真,CPU就等待。2020/2/1221中断传输方式在查询传送方式中,CPU要不断地询问慢速的外设,当外设没有准备好,CPU就要等待,不能做其它的操作,这样就浪费了CPU的时间。为了提高CPU的工作效率,提出了中断传送方式。采用中断传送方式,可允许CPU和多个外设并行工作,此时外设处于主动地位。在一定的条件下,外设向CPU提出中断请求,CPU响应中断请求后,暂停原程序的执行,转至为中断服务,中断处理结束后继续原程序的执行。2020/2/1222直接存储器存取方式(DMA)中断传送方式相对于查询传送方式来说,大大提高了CPU的利用率,但中断传送方式仍然是由CPU通过指令来传送的。每次中断,都要进行保护断点、保护现场,传送数据、存取数据以及最后恢复现场、返回主程序等操作,需要执行很多条指令。DMA方式是在DMA控制器的控制下,在存储器与I/O设备之间直接进行数据交换而不通过CPU。这样数据传送上限将主要取决于存储器的存取速度,数据传输效率最高。2020/2/12231.4接口的编址与译码一个接口(Interface)一般含有几个端口(Port),CPU通过输入输出指令向端口存或取信息。端口主要有三类:数据口(Data)状态口(Status)控制口(Control)2020/2/1224I/O装置CPU接口信息I/O端口1I/O端口2I/O端口3端口地址数据IORQRDWR数据状态控制2020/2/1225端口的编址方式I/O映射方式(I/O端口独立编址):(1)I/O设备的地址空间和存储器地址空间是独立的、分开的,即I/O接口地址不占用存储器的地址空间。(2)微处理器对I/O设备的管理是用专门的IN和OUT指令来实现数据传送的。(3)CPU对I/O设备的读写控制是用I/O读写控制信号(IOR、IOW)8080、Z80、8086/8088等系列微机采用这种方式。通常有两种I/O接口结构:一种是I/O映射方式,一种是存储器映射I/O方式。2020/2/1226端口的编址方式存储器映射I/O方式(I/O端口与M统一编址):(1)I/O设备与存储器共用同一个地址空间。(2)微处理器用对存储器进行操作的指令来实现对I/O设备的管理。(3)CPU用对存储器的读写控制信号MEMR、MEMW对I/O设备进行读写控制。Motorola的CPU采用这种方式。2020/2/1227I/O端口地址的译码方法•用逻辑门电路进行译码•用译码器进行地址译码•开关式可选口地址译码2020/2/12281.5常用外围接口芯片微机外围接口芯片品种繁多,常用的有:•1)并行接口芯片8255A、8155A、Z80-PIO:•2)串行接口芯片8250、8251、Z80-SIO;•3)定时器/计数器8253、8254、Z80-CTC;•4)中断控制器8259A;•5)DMA控制器8237A、Z80-DMA;•6)人机接口:键盘/LED专用控制器8279;CRT、磁盘控制器Upd765、6843等,•7)模拟接口,A/D转换器ADC0809和D/A转换器DAC0832等。2020/2/1229IBMPC机与外设的主要接口芯片•定时/计数器8253•并行接口芯片8255•中断控制器8259•DMA控制器8237•串行通信控制器8250•其它中小规模集成电路,如缓冲器、锁存器以及用于与存储器以及键盘连接的接口芯片等。2020/2/1230数据总线缓冲器计数器0号D7~D0内部数据总线RDWRA0A1CS读/写控制逻辑计数器1号计数器2号控制字寄存器CLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT28253的内部结构2020/2/1231A组控制B组控制数据总线缓冲器A组端口A(8)A组端口C高4位B组端口C低4位B组端口B(8)RDWRA0A1RESETCS读/写控制逻辑D0~D78位内部数据总线PA7~PA0PC7~PC4PC3~PC0PB7~PB0CPU接口内部逻辑外设接口82552020/2/12328259A的内部结构数据总线缓冲器控制逻辑D7~D0内部数据总线RDWRA0CS读/写控制逻辑在服务寄存器(ISR)优先权电路级联缓冲/比较器IR0IR1IR2IR3IR4IR5IR6IR7CAS0CAS1CAS2SP/EN中断请求寄存器(IRR)中断屏蔽寄存器(IMR)INTAINT2020/2/12331.6微机接口设计与分析的基本方法•首先要分析接口两侧的情况对CPU一侧,要弄清CPU的类型和总线引脚定义,如CPU提供的数据宽度(8bit、16bit、32bit)、地址线宽度(16bit、20bit、24bit)和控制线的逻辑定义(高电平有效、低电平有效、脉冲跳变),以及时序关系有什么特点。对于外设一侧,连线只有三种:数据线(即接口的数据端口)、控制线和状态线。设计和分析的重点应放在控制线和状态线上,因为接口上的同一个引脚接不同外设时的作用可能不同。外设的速度千差万别,而且相差悬殊。因此尤其要注意如何借助接口在时序上与CPU配合工作。2020/2/1234•进行适当的信号转换有些接口芯片的信号线可直接与CPU系统连接,有些信号线则需经过一定的处理或变换,这种变换包括逻辑上、时序上或电平上的。特别是接外设一侧的信号线,由于外设需要的电平常常不是TTL电平,而且要求有一定驱动能力。因此多数情况下,要经过一定转换才能连接。总之,CPU和外设之间的各种不匹配都要由接口电路完成双方的匹配和协调工作,以保证信息的正确传输。1.6微机接口设计与分析的基本方法2020/2/1235•接口驱动程序分析与设计现在使用的接口芯片多数是可编程的,因此设计接口不仅是硬件上的问题,而且还包括编写驱动程序。编制驱动程序可按以下三个步骤进行。1)熟练掌握接口芯片的编程方法,如:控制字各位的定义、各控制字的使用顺序和使用场合,它们对应的端口等