您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 第七章 接口与并行通信
1第一讲:第七章接口与并行通信回顾:微机系统结构及控制信号的名称和作用。本讲重点:I/O接口概述,CPU与I/O接口,I/O接口与系统的连接。讲授内容:7.1CPU与外设之间的数据传输一.CPU与I/O接口接口电路按功能可分为两类:①是使微处理器正常工作所需要的辅助电路:时钟信号或中断请求等;②是输入/输出接口电路:CPU与外部设备信息的传送(接收、发送)。最常用的外部设备:如键盘、显示装置、打印机、磁盘机等都是通过输入/输出接口和总线相连的,完成检测和控制的仪表装置也属于外部设备之列,也是通过接口电路和主机相连。1.为什么要用接口电路:需要分析一下外部设备的输入/输出操作和存储器读/写操作的不同之处:存储器都是用来保存信息的,功能单一,传送方式单一(一次必定是传送1个字节或者1个字),品种很有限(只有只读类型和可读/可写类型),存取速度基本上和CPU的工作速度匹配.。外部设备的功能多种多样的(输入设备,输出设备,输入设备/输出设备),信息多样(数字式的,模拟式的),信息传输的方式(并行的,串行的),外设的工作速度通常比CPU的速度低得多,而且各种外设的工作速度互不相同,这也要求通过接口电路对输入/输出过程起一个缓冲和联络的作用。注:接口电路完成相应的信号转换、速度匹配、数据缓冲等功能2.接口的功能(8种):⑴寻址能力:对送来的片选信号进行识别。⑵输入/输出功能:根据读/写信号决定当前进行的是输入操作还是输出操作。⑶数据转换功能:并行数据向串行数据的转换或串行数据向并行数据的转换。⑷联络功能:就绪信号,忙信号等。⑸中断管理:发出中斯请求信号、接收中断响应信号、发送中断类型码的功能。2并具有优先级管理功能。⑹复位:接收复位信号,从而使接口本身以及所连的外设进行重新启动。⑺可编程:用软件来决定其工作方式,用软件来设置有关的控制信号。⑻错误检测:一类是传输错误。另—类是覆盖错误。注:一些接口还可根据具体情况设置其它的检测信息。二.I/O接口与系统的连接1.CPU与I/O设备之间的信号(三类)(1)数据信息包括三种形式:数字量、模拟量、开关量(2)状态信息是外设通过接口往CPU传送的如:“准备好”(READY)信号、“忙”(BUSY)信号(3)控制信息是CPU通过接口传送给外设的如:外设的启动信号、停止信号就是常见的控制信息2.接口部件的I/O端口:⑴数据端口、⑵控制端口、⑶状态端口CPU和外设进行数据传输时,各类信息在接口中进入不同的寄存器,一般称这些寄存器为I/O端口,每个端口有一个端口地址。用于对来自CPU和内存的数据或者送往CPU和内存的数据起缓冲作用的,这些端口叫数据端口。用来存放外部设备或者接口部件本身的状态,称为状态端口。用来存放CPU发出的命令,以便控制接口和设备的动作,这类端口叫控制端口。如下图注:⑴输入还是输出,所用到的地址总是对端口而言的,不是对接口部件而言的。⑵为了节省地址空间,将数据输入端口和数据输出端口对应同一个端口地址。同样,状态端口和控制端口也常用同一个端口地址。⑶CPU对外设的输入/输出操作就归结为对接口芯片各端口的读/写操作。33.接口与系统的连接.接口电路位于CPU与外设之间,从结构上看,可以把一个接口分为两个部分,⑴用来和I/O设备相连;⑵用来和系统总线相连,这部分接口电路结构类似,连在同一总线上。下图是一个典型的I/O接口和外部电路的连接图:联络信号:读/写信号,以便决定数据传输方向。地址译码器,片选信号:地址译码器除了接收地址信号外,还用来区分I/0地址空间和内存地址空间的信号(M/IO)用于译码过程。注:⑴一个接口通常有若干个寄存器可读/写,⑵一般用1-2位低位地址结合读/写信号来实现对接口内部寄存器的寻址。4.输入输出的寻址方式CPU对外设的寻址方式通常有两种:(1)存储器对应输入输出方式每一个外设端口占有存储器的一个地址。优点:CPU对外设的操作可使用全部的存储器操作指令,寻址方式多,使用方便灵活,且可寻址的外设数量多。缺点:由于外设占用了存储单元的地址,使内存的容量减小,同时,程序的4可读性下降。(2)端口寻址的输入输出方式CPU有专门的输入输出指令(IN,OUT),通过这些指令中的地址来区分不同的外设。优点:容易掌握,编出的程序可读性好。缺点:可寻址的范围较小,还必须有相应的控制线(M/IO)来区分是寻址内存还是外设。7.2可编程并行接口芯片8255A一.并行通信与接口并行通信就是把一个字符的各位同时用几根线进行传输。传输速度快,信息率高。电缆要多,随着传输距离的增加,电缆的开销会成为突出的问题,所以,并行通信用在传输速率要求较高,而传输距离较短的场合。Intel8255A是一个通用的可编程的并行接口芯片,它有三个并行I/O口,又可通过编程设置多种工作方式,价格低廉,使用方便,可以直接与Intel系列的芯片连接使用,在中小系统中有着广泛的应用。二.8255A的编程结构8255A由以下几部分组成:见图7-31.三个数据端口A,B,C这三个端口均可看作是I/O口,但它们的结构和功能也稍有不同。·A口:是一个独立的8位I/O口,它的内部有对数据输入/输出的锁存功能。·B口:也是一个独立的8位I/O口,仅对输出数据的锁存功能。·C口:可以看作是一个独立的8位I/O口;也可以看作是两个独立的4位I/O口。也是仅对输出数据进行锁存。2.A组和B组的控制电路这是两组根据CPU命令控制8255A工作方式的电路,这些控制电路内部设有控制寄存器,可以根据CPU送来的编程命令来控制8255A的工作方式,也可以根据编程命令来对C口的指定位进行置/复位的操作。A组控制电路用来控制A口及C口的高4位;B组控制电路用来控制B口及C口的低4位。5图7-38255A的编程结构2.A组和B组的控制电路这是两组根据CPU命令控制8255A工作方式的电路,这些控制电路内部设有控制寄存器,可以根据CPU送来的编程命令来控制8255A的工作方式,也可以根据编程命令来对C口的指定位进行置/复位的操作。A组控制电路用来控制A口及C口的高4位;B组控制电路用来控制B口及C口的低4位。3.数据总线缓冲器8位的双向的三态缓冲器。作为8255A与系统总线连接的界面,输入/输出的数据,CPU的编程命令以及外设通过8255A传送的工作状态等信息,都是通过它来传输的。4.读/写控制逻辑读/写控制逻辑电路负责管理8255A的数据传输过程。它接收片选信号CS及系统读信号RD、写信号WR、复位信号RESET,还有来自系统地址总线的口地址选择信号A0和A1。6习题与思考:1.接口电路的主要作用是什么?它的基本结构如何?2.说明接口电路中控制寄存器与状态寄存器的功能,通常它们可共用一个端口地址码,为什么?3.CPU寻址外设端口的方式通常有哪两种?试说明它们的优缺点。4.在CPU与外部设备接口电路的连接中,通过数据总线可传输哪几种信息?在这里地址译码器起什么作用?第二讲:7.2可编程并行接口芯片8255A回顾:接口与系统的连接,并行通信与接口,8255A的编程结构。本讲重点:8255A的工作方式,8255A的编程及应用。讲授内容:三.8255A的引脚功能引脚信号可以分为两组:一组是面向CPU的信号,一组是面向外设的信号。1.面向CPU的引脚信号及功能·D0-D7:8位,双向,三态数据线,用来与系统数据总线相连;·RESET:复位信号,高电平有效,输入,用来清除8255A的内部寄存器,并置A口,B口,C口均为输入方式;·CS:片选,输入,用来决定芯片是否被选中;·RD:读信号,输入,控制8255A将数据或状态信息送给CPU;·WR:写信号,输入,控制CPU将数据或控制信息送到8255A;·A1,AO:内部口地址的选择,输入。这两个引脚上的信号组合决定对8255A内部的哪一个口或寄存器进行操作。8255A内部共有4个端口:A口,B口,C口和控制口,两个引脚的信号组合选中端口见下表。CS,RD,WR,A1,A0这几个信号的组合决定了8255A的所有具体操作,7表7-18255A的操作功能表CSRDWRA1A0操作数据传送方式00100读A口A口数据→数据总线00101读B口B口数据→数据总线00110读C口C口数据→数据总线01000写A口数据总线数据→A口01001写B口数据总线数据→B口01010写C口数据总线数据→C口01011写控制口数据总线数据→控制口2.面向外设的引脚信号及功能•PA0~PA7:A组数据信号,用来连接外设;•PB0~PB7:B组数据信号,用来连接外设;•PC0~PC7:C组数据信号,用来连接外设或者作为控制信号。四.8255A的工作方式8255A有三种工作方式,用户可以通过编程来设置。方式0――简单输入/输出――查询方式;A,B,C三个端口均可。方式1――选通输入/输出――中断方式;A,B,两个端口均可。8方式2――双向输入/输出――中断方式。只有A端口才有。工作方式的选择可通过向控制端口写入控制字来实现。在不同的工作方式下,8255A三个输入/输出端口的排列示意图如图7-4所示。1.方式0:为一种简单的输入/输出方式,没有规定固定的应答联络信号,可用A,B,C三个口的任一位充当查询信号,其余I/O口仍可作为独立的端口和外设相连。方式0的应用场合有两种:一种是同步传送;一种是查询传送。2.方式1方式1是一种选通I/O方式,A口和B口仍作为两个独立的8位I/O数据通道,可单独连接外设,通过编程分别设置它们为输入或输出。而C口则要有6位(分成两个3位)分别作为A口和B口的应答联络线,其余2位仍可工作在方式0,可通过编程设置为输入或输出。(1)方式1的输入组态和应答信号的功能图7-5给出了8255A的A口和B口方式1的输入组态。图7-5方式1输入组态C口的PC3-PC5用作A口的应答联络线,PC0-PC2则作用B口的应答联络线,余下的PC6~PC7则可作为方式0使用。应答联络线的功能如下:·STB:选通输入。用来将外设输入的数据打入8255A的输入缓冲器。·IBF:输入缓冲器满。作为STB的回答信号,。·INTR:中断请求信号。INTR置位的条件是STB为高且IBF为高且INTE为高。9·INTE:中断允许。对A口来讲,是由PC4置位来实现,对B口来讲,则是由PC0置位来实现。事先将其置位。A口B口STB:PC4PC2IBF:PC5PC1INTR:PC3PC0INTE:PC4置1PC2置1(2)方式1的输出组态和应答信号功能图7-7方式1的输出组态C口的PC3、PC6、PC7用作A口的应答联络线,PC0-PC2则作用B口的应答联络线,余下的PC4~PC5则可作为方式0使用。应答联络线的功能如下:·OBF:输出缓冲器满。当CPU已将要输出的数据送入8255A时有效,用来通知外设可以从8255A取数。·ACK:响应信号。作为对OBF的响应信号,表示外设已将数据从8255A的输出缓冲器中取走。·INTR:中断请求信号。INTR置位的条件是ACK为高且OBF为高且INTE为高。·INTE:中断允许。对A口来讲,由PC6的置位来实现,对B口仍是由PC2的置位来实现。A口B口OBF:PC6PC2ACK:PC7PC110INTR:PC3PC0INTE:PC6置1PC2置13.方式2方式2为双向选通I/O方式,只有A口才有此方式。这时,C口有5根线用作A口的应答联络信号,其余3根线可用作方式0,也可用作B口方式1的应答联络线。方式2:就是方式1的输入与输出方式的组合,各应答信号的功能也相同。而C口余下的PC0~PC2正好可以充当B口方式1的应答线,若B口不用或工作于方式0,则这三条线也可工作于方式0。(1)方式2的组态STB:PC4IBF:PC5OBF:PC6ACK:PC7INTR:PC3(2)方式2的应用场合方式2是一种双向工作方式,如果一个并行外部设备既可以作为输入设备,又可以作为输出设备,并且输入输出动作不会同时进行。(3)方式2和其它方式的组合(见书中183页)①方式2和方式0输入的组合:控制字:11XXX01T②方式2和方式0
本文标题:第七章 接口与并行通信
链接地址:https://www.777doc.com/doc-3307360 .html