第六章-IO接口和并行接口芯片8255A

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

微型计算机原理与接口技术第六章I/O接口和并行接口芯片8255A山东工商学院高群第六章I/O接口和并行接口芯片8255A微型计算机原理与接口技术第六章I/O接口和并行接口芯片8255A山东工商学院高群6.1I/O接口6.1.1I/O接口的功能1.接口接口是指连接CPU与外部设备的连接部件,这些部件是CPU与外设之间进行信息传送的媒介,也称为I/O接口。2.输入/输出设备(外部设备)与CPU之间:1.速度不匹配;2.信号电平不匹配;3.信号格式不匹配;4.时序不匹配。因此,输入输出设备不能直接与CPU的系统总线相连,必须在CPU与外设之间设置专门的接口电路。微型计算机原理与接口技术第六章I/O接口和并行接口芯片8255A山东工商学院高群3.接口的基本功能①设置数据缓冲器(实现速度匹配);②电平转换电路(实现电平匹配);③信息转换电路(实现A/D、D/A、串/并、并/串转换);④时序控制电路(接收CPU的命令、控制信号和定时信号,实施对外设的控制与管理);⑤地址译码电路(以便CPU实现片间与片内寻址);⑥输入/输出控制,读/写控制,中断控制。微型计算机原理与接口技术第六章I/O接口和并行接口芯片8255A山东工商学院高群6.1.2I/O端口及其寻址方式1.I/O端口(Port)CPU与外设通信时,传输的信息主要是数据信息、状态信息和控制信息。I/O端口:在接口电路(芯片)中,用于存储不同信息的寄存器及其控制逻辑统称为I/O端口。接口电路中的I/O端口:数据端口、状态端口和命令端口(控制端口)。2.I/O端口的寻址方法(1)I/O、存储器统一编址(存储器映像寻址)(2)I/O端口独立编址(专门I/O指令)8086用地址线的低16位来寻址I/O端口微型计算机原理与接口技术第六章I/O接口和并行接口芯片8255A山东工商学院高群6.1.3CPU与外设之间的数据传送方式CPU与外设之间传输数据的控制方式通常有三种:程序控制方式、中断方式和DMA方式。1、程序控制方式指用输入/输出指令来控制信息传输的方式,是一种软件控制方式,根据程序控制的方法不同,又可以分为无条件传送方式和条件传送方式。微型计算机原理与接口技术第六章I/O接口和并行接口芯片8255A山东工商学院高群1)无条件传送方式CPU认为接口始终是处于“准备好”状态,能随时接收或发送数据,适用于那些能随时读写的设备。无条件传送方式接口简单,要求输入有缓冲,输出有锁存。但应用的局限性较大,因为很难保证外设在每次信息传送时都处于“准备好”状态,一般只用在诸如开关控制、七段数码管的显示控制等场合。微型计算机原理与接口技术第六章I/O接口和并行接口芯片8255A山东工商学院高群1Y11Y22Y41A11A22A4D0D1D71G2G开关M/IOCSRD+5V74LS244简单输入接口(读按键状态)微型计算机原理与接口技术第六章I/O接口和并行接口芯片8255A山东工商学院高群简单输出接口(点亮LED)1D2D8D1Q2Q8QD0D1D7M/IOCSWR74LS273CLKLED微型计算机原理与接口技术第六章I/O接口和并行接口芯片8255A山东工商学院高群2)条件传送方式(查询方式)在传送数据前,CPU必须先确认外设已经处于准备传送数据的状态,才能进行相应的输入/输出操作。一般外设均可以提供一些反映其状态的信号,比如“准备好”(“READY”)信号,“READY”=1表示输入数据已准备好(比如A/D)。“忙”(“BUSY”)信号,“BUSY”=1表示当前时刻不能接收CPU来的数据,只有当“BUSY”=0时,才表明它可以接受来自于CPU的输出数据(比如D/A)。特点:接口电路简单,CPU利用率低(程序循环等待),接口需向CPU提供查询状态。适用场合:适用于CPU不太忙,传送速度要求不高的场合。各种外设不能同时工作,外设处于被动状态。微型计算机原理与接口技术第六章I/O接口和并行接口芯片8255A山东工商学院高群查询方式输入操作的程序流程结束YNNY传送完数据→内存缓冲区输入一数据→CPU读入状态初始化数据准备好(比如A/D)微型计算机原理与接口技术第六章I/O接口和并行接口芯片8255A山东工商学院高群查询方式输出操作的程序流程结束YNYN传送完输入一数据→外部初始化读入状态忙否(比如D/A)微型计算机原理与接口技术第六章I/O接口和并行接口芯片8255A山东工商学院高群2、中断方式查询方式下,CPU要不断地查询外设的状态,当外设未准备好时,CPU就只能循环等待,不能执行其它程序,这样就浪费了CPU的大量时间,降低了主机的利用率。为了解决这个矛盾,提出了中断方式。中断传送方式:当外设准备好时,由外设通过接口电路向CPU发出中断请求信号,CPU在允许中断的情况下,暂停执行当前正在执行的程序,响应外设中断,转入执行相应的中断服务子程序,与外设进行一次数据传送,数据传送结束后,CPU返回继续执行原来被中断的程序。这样CPU就避免了把大量时间耗费在等待、查询状态信号的操作上,使其工作效率大大提高。微型计算机原理与接口技术第六章I/O接口和并行接口芯片8255A山东工商学院高群特点:CPU的利用率高,外设具有申请CPU中断的主动权,CPU和外设之间处于并行工作状态。但中断服务需要保护断点和恢复断点(占用存储空间,降低速度),CPU和外设之间需要中断控制器。适用场合:适用于CPU的任务较忙、传送速度要求高的场合,尤其适合实时控制中的紧急事件处理。微型计算机原理与接口技术第六章I/O接口和并行接口芯片8255A山东工商学院高群3、存储器直接存取方式(DMA)中断方式要经过CPU才能在外设与外设、外设与存储器之间进行传送数据,对于高速外设进行大批量传送数据传送时,会造成中断次数过于频繁,这样不仅传送速度慢,也浪费了大量的CPU时间。如果需要在内存的不同区域之间,或者在内存与外设端口之间进行大量信息快速传送的话,用查询或中断方式均不能满足速度上的要求,这时应采用直接存储器存取方式,即DMA数据传送方式。微型计算机原理与接口技术第六章I/O接口和并行接口芯片8255A山东工商学院高群DMA方式:外设利用专用的接口(DMA控制器)控制存储器与外设间进行高速数据传送,并不经过CPU(CPU不参与数据传送工作),在DMA方式下总线控制权不在CPU处,而由DMA控制器控制。特点:接口电路复杂,硬件开销大。大批量数据传送速度极快。适用于存储器与存储器之间、存储器与外设之间的大批量数据传送的场合。微型计算机原理与接口技术第六章I/O接口和并行接口芯片8255A山东工商学院高群DMA方式接口HRQDMAHLDA控制器控制总线数据总线控制总线数据总线地址总线存储器外设DACKDREQIOR,IOWMEMW,MEMR控制总线数据总线地址锁存器AD15~AD0ALECPUHLDAHOLDIOR,IOWMEMWMEMR微型计算机原理与接口技术第六章I/O接口和并行接口芯片8255A山东工商学院高群DMA传送的基本过程:(1)外设准备就绪时,向DMA控制器发DMA请求,DMA控制器接到此信号后,向CPU发总线保持请求信号,CPU的HOLD有效。(2)CPU接到HOLD请求后,如果条件允许(一个总线操作结束),则发出HLDA信号作为响应,同时,释放对总线的控制权。(3)DMA控制器取得总线控制权后,控制存储器与外设端口之间的数据传送(往地址总线发送地址信号,每传送1个字节,就会自动修改地址寄存器的内容,以指向下一个要传送的字节;每传送一个字节,字节计数器的值减1,当减到0时,DMA过程结束)。(4)传送结束,DMA控制器撤销总线保持信号,将总线控制权交回CPU。微型计算机原理与接口技术山东工商学院高群第六章I/O接口和并行接口芯片8255A6.28255A的工作原理6.2.18255A的结构和功能1.Intel8255A是一个通用的可编程的并行接口芯片,内部有2个8位I/O口(PA、PB),两个4位I/O口(PC7~4、PC3~0).2.通过编程可设置3种工作方式,可适用于CPU与I/O设备之间的多种数据传送方式的要求。3.C口可作为数据口,可作为联络信号线(CPU与I/O设备之间的应答信号),可作为状态口,可按位置位/复位。微型计算机原理与接口技术山东工商学院高群第六章I/O接口和并行接口芯片8255A1、引脚(DIP40)(1)D0~D7:8位,双向,三态数据线,用来与CPU系统数据总线相连;(2)端口A、B、C:PA0~PA7(端口A,用来连接外设);PB0~PB7(端口B,用来连接外设);PC0~PC7(端口C,用来连接外设或者作为控制信号)。(3)CS、RESET、WR、RD、A1、A0(内部4个端口)。(4)VCC、GND。8255A的内部结构和管脚123456789101112131415161718192040393837363534333231302928272625242322218255APA4PA5PA6PA7WRRESETD0D1D2D3D4D5D6D7VccPB7PB6PB5PB4PB3PA3PA2PA1PA0RDCSGNDA1A0PC7PC6PC5PC4PC0PC1PC2PC3PB0PB1PB2微型计算机原理与接口技术山东工商学院高群第六章I/O接口和并行接口芯片8255A2.内部结构A组控制逻辑A组端口APA7~PA0PC7~PC4A组端口C高4位B组端口C低4位数据总线缓冲器读/写控制逻辑B组控制逻辑B组端口BPC3~PC0PB7~PB0内部数据总线D7~D0RDWRA1A0RESETCS微型计算机原理与接口技术山东工商学院高群第六章I/O接口和并行接口芯片8255A1)三个数据端口A,B,C三个端口均可看作I/O口,但它们的结构和功能稍有不同。A口:是一个独立的8位I/O口,它的内部有对数据输入/输出的锁存功能。可编程实现8位输入、输出或双向传送。B口:也是一个独立的8位I/O口,仅对输出数据的锁存功能。可编程实现8位输入或输出,但不能实现双向传送。C口:可以看作是一个独立的8位I/O口;也可以看作是两个独立的4位I/O口(用于输入、输出),也是仅对输出数据进行锁存。可按位置位/复位。也可作为A口(C口的高5位)、B口(C口的低3位)选通或双向传送的状态、控制信号。微型计算机原理与接口技术山东工商学院高群第六章I/O接口和并行接口芯片8255A2.A组和B组的控制逻辑这是两组根据CPU命令控制8255A工作方式的电路,这些控制电路内部设有控制寄存器,可以根据CPU送来的命令字来控制8255A的工作方式,也可以根据CPU送来的命令字对C口的指定位进行置/复位的操作。A组控制电路用来控制A口及C口的高4位;B组控制电路用来控制B口及C口的低4位。3.数据总线缓冲器8位的双向的三态缓冲器,与系统总线相连,输入/输出的数据,CPU的编程命令以及外设通过8255A传送的工作状态等信息,都是通过它来传输的。4.读/写控制逻辑读/写控制逻辑电路负责管理8255A的数据传输过程。它接收片选信号及系统读信号、写信号、复位信号RESET,还有来自系统地址总线的口地址选择信号A0和A1微型计算机原理与接口技术山东工商学院高群第六章I/O接口和并行接口芯片8255A8255A的操作功能表CSRDWRA1A0操作数据传送方式00100读A口A口数据→数据总线00101读B口B口数据→数据总线00110读C口C口数据→数据总线01000写A口数据总线数据→A口01001写B口数据总线数据→B口01010写C口数据总线数据→C口01011写控制口数据总线数据→控制口1××××无效数据总线进入高阻微型计算机原理与接口技术山东工商学院高群第六章I/O接口和并行接口芯片8255A6.2.28255A的控制字8255A的编程包括两个内容:方式选择控制字设置,C口的按位置位/复位操作字功能。这两个命令均写入控制端口(A1A0=11),用特征位D7区分,D7=1,为方式选择控制字,D7=0,为C口按位置位/复位命令字。1.方式

1 / 59
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功