《并行接口》PPT课件.ppt_第1页
《并行接口》PPT课件.ppt_第2页
《并行接口》PPT课件.ppt_第3页
《并行接口》PPT课件.ppt_第4页
《并行接口》PPT课件.ppt_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第7章 并行接口,7.1 并行接口的特点,并行接口是指接口电路与I/O设备之间采用多根数据线并行传输数据。相对于串行接口一根线传输数据来说,并行接口有如下基本特点。 在接口与I/O设备之间的多根数据线上传输字节、字或双字宽度数据,传输速率较快。 除数据线外,还有握手联络信号线实现异步互锁协议,提高数据传输的可靠性。 所传输的并行数据的格式、传输速率和工作时序,均由被连接或控制的I/O设备操作的要求决定,没有固定的规定。 在并行数据传输过程中,一般不作差错检验和传输速率控制。 并行接口用于近距离传输。 从上述特点可以得知,并行接口是一种多线连接、使用自由、应用广泛、适于近距离传输的接口。,7.2

2、 组成并行接口电路的元器件,并行接口电路的形式可有多种选择,可采用一般的IC电路、可编程的并行接口芯片及可编程的逻辑阵列器件。 1一般的IC芯片 三态缓冲器74LS244、锁存器74ALS373,这类并行接口可用于对一些简单的I/O设备进行控制。 2可编程并行接口芯片 可编程并行接口芯片(如82C55A)功能强、可靠性高、通用性好,并且使用灵活方便,因此成为并行接口设计的首选芯片。本章将重点讨论基于可编程并行接口芯片的并行接口。 3CPLD/FPGA器件 采用CPLD/FPGA器件,可以实现复杂的接口功能,并且可以将接口中的辅助电路,如I/O端口地址译码电路都包含进去,这是今后接口设计的发展趋

3、势。 CPLD和FPGA是大规模或超大规模可编程逻辑阵列芯片,采用这种方案设计接口电路时,需要使用硬件描述语言(如Verilog HDL)和专门的开发工具,显然所涉及的知识面更广,因而难度稍有增加。,7.3 可编程并行接口芯片82C55A,82C55A可编程外围接口(Programmable Peripheral Interface)是一个通用型、功能强且成本低的接口芯片。 82C55A可把任意一个TTL兼容的I/O设备与微处理器相连接(通过总线)。,7.3.1 82C55A的外部特性和内部寄存器,182C55A外部特性 82C55A是一个单+5V电源供电、40个引脚的双列直插式组件,其外部引

4、脚如图7.1所示。其引脚也分为面向系统总线和面向I/O设备信号线两部分。 (1)面向系统总线的信号线 (2)面向I/O设备的信号线 (3)C端口的使用特点 C端口的使用比较特殊,它除做数据端口外,还可做状态端口、专用联络线和作按位控制用。具体用途如下。 做数据端口。 做状态端口。 做专用(固定)联络信号线。 做按位控制用。( C端口是做按位控制用),282C55A内部寄存器,82C55A内部包含4个部分:数据总线缓冲器;读/写控制逻辑;输入/输出端口PA、PB、PC;A组和B组控制电路,其内部结构如图7.2所示。 “读/写控制逻辑”中设置有命令寄存器,接收CPU发来的命令字。 3个8位输入/输

5、出端口(Port),提供给用户连接I/O设备使用。每个端口包含一个数据输入寄存器和一个数据输出寄存器。输入时端口有三态缓冲器的功能,输出时端口有数据锁存器功能。 A组和B组两个控制电路的作用是A组控制A端口和C端口的上半部(PC7PC4 )的工作方式和输入/输出,B组控制B端口和C端口的下半部(PC3PC0)的工作方式和输入/输出。,3. 82C55A的端口地址,82C55A的应用分两种情况:一是系统配置的并行接口,二是用户扩展的并行接口。 系统配置的82C55A端口地址由系统分配,见表3.1,其中,3个数据端口分别是PA口为60H,PB口为61H,PC口为62H。命令与状态口为63H。 用户

6、扩展的82C55A端口地址由用户选定,见表3.3,其中,PA口为300H,PB口为301H, PC口为302H,命令与状态口为303H。,7.3.2 82C55A的工作方式,接口芯片82C55A总的来说是并行接口,可设置3种工作方式,从而扩展了82C55A的使用功能。 82C55A的3种工作方式,由于其功能不同、工作时序及状态字不一样。,10方式基本输入/输出方式,0方式的特点:把端口置成输入或输出;不要求固定的联络(应答)信号,无固定的工作时序和固定的工作状态字;适用于无条件或查询方式与CPU交换数据,不能采用中断方式交换数据。因此,0方式使用起来不受什么限制。 0方式的功能:A端口做数据端

7、口(8位并行);B端口做数据端口(8位并行);C端口做数据端口(4位并行,分高4位和低4位),或做位控,按位输出逻辑1或逻辑0。,21方式选通输入/输出方式,1方式的特点:82C55A一次初始化只能把某个并行端口置成输入或输出;要求专用的联络(应答)信号,有固定的工作时序和专用的工作状态字。 适用于查询或中断方式与CPU交换数据,不能用于无条件方式交换数据。 1方式的功能:A端口做数据端口(8位并行);B端口做数据端口(8位并行); C端口可有4种功能 : 做A端口和B端口的专用联络信号线; 做数据端口,未分配做专用联络信号的引脚可做数据线用; 做状态端口,读取A端口和B端口的状态字; 做位控

8、,按位输出逻辑1或逻辑0。,32方式双向选通输入/输出方式,2方式的特点:一次初始化可将A端口置成既输入又输出,具有双向性;要求有两对专用的联络信号,有固定的工作时序和专用的工作状态字;适用于查询和中断方式与CPU交换数据,特别是在要求与I/O设备进行双向数据传输时很有用。 2方式的功能:A端口做双向数据端口(8位并行);B端口做数据端口(8位并行);C端口有4种功能,与1方式类似。,7.3.3 82C55A的编程模型,82C55A的编程模型包括内部可访问的命令寄存器、数据寄存器以及相应的命令字和端口地址,用户通过它的编程模型进行并行接口的程序设计。82C55A的命令寄存器和数据寄存器在前面7

9、.3.1中已经介绍过,本节对82C55A的两个编程命令进行介绍。 82C55A的两个编程命令是工作方式命令和按位操作(置位/复位)命令,它们是用户使用82C55A来组建各种接口电路的重要工具。下面讨论这两个命令的功能及格式。,1方式命令,方式命令,又称初始化命令。显然,这个命令应出现在82C55A开始工作之前的初始化程序段中。方式命令的功能与格式如下。 功能:指定82C55A的工作方式及其方式下82C55A三个并行端口的输入或输出功能。 格式:8位命令字的格式与含义,如图7.3所示。,1方式命令,例如,把A端口指定为1方式,输入;把C端口上半部指定为输出。把B端口指定为0方式,输出;把C端口下

10、半部指定为输入,则工作方式命令代码是10110001B或B1H。 若将此方式命令代码写到82C55A的命令寄存器,即实现了对82C55A工作方式及端口功能的指定,或者说完成了对82C55A的初始化。汇编语言初始化的程序段如下。 MOV DX,303H;82C55A命令口地址 MOV AL,0B1H;初始化命令 OUT DX,AL;送到命令口 /C语言初始化程序段如下。 outportb(0 x303,0 x0B1);,2按位置位复位命令,按位控制命令要在初始化以后才能使用,故它可放在初始化程序段之后的任何位置。按位置位复位命令的功能与格式如下。 功能:指定82C55A的C端口8个引脚中的任意一

11、个引脚,输出高电平或低电平。 格式:8位命令字的格式与含义,如图7.4所示。,2按位置位复位命令,例如,若命令C端口的PC2引脚输出高电平,去启动步进电机,则命令字应该为00000101B或05H。其程序段如下。 MOV DX,303H ;82C55A命令口地址 MOV AL,05H ;使PC2=1的命令字 OUT DX,AL ;送到命令口 如果要使PC2引脚输出低电平,去停止步进电机,则程序段如下。 MOV DX,303H ;82C55A命令口地址 MOV AL,04H ;使PC2=0的命令 OUT DX,AL ;送到命令口,2按位置位复位命令,利用按位输出高/低电平的特性还可以产生正、负脉

12、冲或方波输出,对I/O设备进行控制。 例如,利用82C55的PC7产生负脉冲,作打印机接口电路的数据选通信号,其汇编语言程序段如下。 MOV DX,303H ;82C55A命令端口 MOV AL,00001110B ;置PC7=0 OUT DX,AL NOP ;维持低电平 NOP MOV AL,00001111B ;置PC7=1 OUT DX,AL /C语言程序段如下。 outportb(0 x303,0 x0e); delay(10); outportb(0 x303,0 x0f);,2按位置位复位命令,又如,利用82C55A的PC6,产生方波,送到喇叭,使其产生不同频率的声音,其汇编语言程

13、序段如下。 MOV DX,303H ;82C55A命令端口 L: MOV AL,00001101B ;置PC6=1 OUT DX,AL CALL DELAY1 ;PC6输出高电平维持的时间 MOV AL,00001100B ;置PC6=0 OUT DX,AL CALL DELAY1 ;PC6输出低电平维持的时间 JMP L 改变DELAY1的延时时间,即可改变喇叭发声的频率。 /C语言程序段如下。 outportb(0 x303,0 x0d);/写命令,置PC6=1 delay(100);/调用延时程序,延时100ms outportb(0 x303,0 x0c);/写命令,置PC6=0 de

14、lay(100);,3关于两个命令的使用, 两个命令的最高位(D7)都分配为特征位。设置特征位的目的是为了解决端口共用。82C55A有两个命令,但只有一个命令端口,当两个命令写到同一个命令端口时,就用特征位加以识别。 按位置位复位命令虽然是对C端口进行按位输出操作,但它不能写入做数据口用的C端口,只能写入命令口,原因是它不是数据,而是命令,要按命令的格式来解释和执行。这一点初学者往往容易弄错,要特别留意。,7.4 82C55A在微机系统中的应用,并行接口的应用有两种情况:一种是微机系统配置的82C55A,另一种是用户扩展的82C55A。对系统配置的82C55A,已经用于控制键盘、扬声器、定时器

15、。其中,把PA端口分配做键盘接口,把PB端口分配做机内的扬声器接口,并由BIOS进行了初始化,用户不能更改,但可以按照初始化的要求加以利用。 对用户扩充的82C55A,可随意使用,不受限制,由用户支配。本书主要讨论用户扩展的并行接口82C55A的应用。下面分别对82C55A的3种工作方式的应用进行分析,并举例具体说明它们在并行接口设计中的作用。3种工作方式中,0方式的应用最为常见,2方式使用得较少。,7.5 82C55A的0方式及其应用举例,由于使用82C55A的0方式构成的并行接口在与CPU交换数据时,只能采用无条件或查询方式传送,不能采用中断方式。因此,0方式不要求使用专用的联络(应答)信

16、号和固定的工作时序,也不设置专用的工作状态字。它是82C55A的三种方式中与I/O设备连接最简单,使用很自由的一种,下面举例说明82C55A的0方式的应用。,例7.1 声光报警器接口设计,1要求 设计一个声光报警器,要求按下按钮开关SW,开始报警,喇叭SPK发声,LED灯同时闪光。当拨通DIP拨动开关的0位时,结束报警,喇叭停止发声,LED熄灭。 2分析 根据题意,该声-光报警器包括4种简单的I/O外设:扬声器、8个LED彩灯、8位DIP拨动开关及按钮开关SW。它们都是并行接口的对象,虽然功能单一,结构简单,但都必须通过接口电路才能进入微机系统,接受CPU的控制,发挥相应的作用。 3设计 本例

17、接口所涉及的I/O设备虽然简单,但数量较多(4种),并且既有输入(按钮开关SW和拨动DIP开关)又有输出(喇叭SPK和LED),采用可编程并行接口芯片82C55A作为接口比较方便。,例7.1 声光报警器接口设计,(1)硬件设计 声光报警器电路原理如图7.5所示。 在图7.5中,82C55A的3个并行口的资源分配是:PA0 PA7输出,连接8个LED灯LED0LED7;PB0PB7输入,连接8位DIP开关DIP0DIP7;PC6输出,连接喇叭SPK;PC2输入,连接按钮开关SW。 (2)软件设计 声光报警器程序流程图如图7.6所示。 声光报警器汇编语言程序段如下。,7.6 82C55A的1方式及

18、其应用举例,使用82C55A 1方式和2方式构成的并行接口在与CPU交换数据时,要求使用专用的联络(应答)信号和固定的工作时序,并设置专用的工作状态字,故它们使用起来没有0方式那么简单、自由。 下面首先介绍它们的联络线设置及其时序,然后讨论1方式和2方式接口设计实例。,7.6.1 1方式下联络信号线的设置,1方式设置了专用联络线和中断请求线,并且这些专用线在输入和输出时各不相同,A端口和B端口的也不相同。 下面分别进行讨论。,1输入的联络信号线设置,1方式下,当A端口和B端口为输入时,各指定了C端口的3根线作为输入联络信号线,如图7.10所示。 在1方式下输入时,82C55A利用3个联络信号,

19、实现数据从I/O设备出发,通过82C55A,再送到CPU的整个过程,分4步进行,如图7.11所示 输入时,如果采用中断方式,则产生输入中断请求INTR的条件有3个:“输入选通信号” =1,即数据已送入82C55A;“输入缓冲器满”信号有效(IBF=1);允许中断请求 (INTE=1)。只有当3个条件都具备时,INTR才变高,向CPU发出中断请求。,21方式输出的联络信号线设置,1方式下,当A端口和B端口输出时,同样也指定了C端口的3根线作为输出联络信号,如图7.12所示。 在1方式下输出时,82C55A利用这3个联络信号实现数据从CPU出发,通过82C55A,再送到I/O设备的整个过程,分4步

20、进行,如图7.13所示。 输出时,如果采用中断方式,则产生中断请求INTR的条件是 、 、 和INTE都为高电平,分别表示CPU已写完一个数据( =1)、输出缓冲器已变空( =1)、回答信号已结束( =1),I/O设备已收到数据,并且允许中断(INTE=1)。当上述条件都满足时才能产生中断请求。,7.6.2 1方式的工作时序,1分析工作时序的意义 工作时序表明选通方式(1方式)下CPU与82C55A及82C55A与I/O设备之间传送数据的一种固定的过程,实际上工作时序是CPU通过并行接口与I/O设备交换数据的一种协议,因此,它是编写选通方式并行接口程序的依据。例如,在查询方式下查哪个信号,信号

21、处于什么状态有效;在中断方式下用哪个信号申请中断,中断产生的条件是什么,这些在工作时序图中可以清楚地看到,对编写使用82C55A 1方式的应用程序很有帮助,要认真分析。 所谓工作时序,是指CPU与82C55A及82C55A与I/O设备之间数据传送的操作过程。这个过程是固定的,但在输入和输出时的工作时序各不相同。下面分别进行讨论。,7.6.2 1方式的工作时序,2输入的工作时序 输入过程的时序图如图7.14所示。 下面对输入时序图作如下解读,可参考前面的图7.11的4个步骤进行分析。 数据输入时,I/O设备处于主动地位,在I/O设备准备好数据并放到数据线上后,发 信号,由它把数据输入到82C55

22、A。 在 的下降沿约300 ns,数据已锁存到82C55A的锁存器后,引起IBF变高,表示“输入缓冲器满”,禁止输入新数据。 在 的上升沿约300 ns,在中断允许(INTE=1)的情况下,IBF的高电平产生中断请求,使INTR变高,通知CPU,接口中已有数据,请求CPU读取。CPU接受中断请求后,转到相应的中断子程序。在子程序中执行IN指令,将锁存器中的数据取走。 若CPU采用查询方式,则通过查询状态字中的INTR位或IBF位是否置位来判断有无数据可读。 CPU得知INTR信号有效之后,执行读操作时, 信号的下降沿使INTR复位,撤销中断请求,为下一次中断请求作好准备。 信号的上升沿延时一段

23、时间后使IBF变低,即IBF=0,表示接口的输入缓冲器变空,允许I/O设备输入新数据。如此反复,直至完成全部数据的输入。,7.6.2 1方式的工作时序,31方式输出的工作时序 输出过程的时序图如图7.15所示。 下面对输出时序图作如下解读,可参考前面的图7.12的4个步骤进行分析。 数据输出时,CPU应先准备好数据,并把数据写到82C55A输出数据寄存器。在写开始时,即在 的下降沿使中断请求INTR变低,封锁中断请求。在CPU向82C55A写完一个数据后, 的上升沿使 有效,表示输出缓冲器已满,通知I/O设备读取数据。 I/O设备在得到 有效的通知后,开始读数。当I/O设备读取数据后,用 回答

24、82C55A,表示数据已收到。 的下降沿将 置高,使 无效,表示输出缓冲器变空,为下一次输出做准备。 在中断允许(INTE=1)的情况下, 的上升沿使INTR变高,产生中断请求。CPU响应中断后,在中断服务程序中,执行OUT指令,向82C55A写入下一个数据。,7.6.3 1方式的状态字,1状态字的作用 1方式下82C55A的状态字为查询方式提供了状态标志位; 2状态字的格式 状态字的格式如图7.16所示。状态字有8位,分A和B两组,A组的状态位占高5位,B组的状态位占低3位,并且输入时与输出时的状态字不相同。 3使用状态字时要注意的几个问题 状态字是82C55A输入/输出操作过程中在内部产生

25、、从C端口读取的。 在1方式下采用查询方式时,一般都是查询状态字中的INTR位。 状态字中的INTE位,是控制标志位,控制82C55A可否提出中断请求,INTE置1,允许中断请求;INTE置0,禁止中断请求。是由程序通过按位置位/复位命令来置1或置0的。,例如,若允许A端口输入中断请求,则必须把状态位INTEA置1,即在程序中利用按位置位/复位命令置PC4=1;若禁止它中断请求,则置INTEA=0,即通过程序置PC4=0,其程序段如下: MOV DX,303H ;82C55A命令端口 MOV AL,00001001B ;置PC4=1,允许输入中断请求 OUT DX,AL MOV AL,0000

26、1000B ;置PC4=0,禁止输入中断请求 OUTDX,AL,7.6.4 1方式的并行接口设计,例7.3 采用选通方式(1方式)的并行接口设计。 1要求 在甲乙两台微机之间并行传送1KB数据。甲机发送,乙机接收。甲机一侧的82C55A采用1方式工作,乙机一侧的82C55A采用0方式工作。两机的CPU与接口之间都采用查询方式交换数据。 2分析 根据题意,双机均采用可编程并行接口芯片82C55A构成接口电路,只是82C55A的工作方式不同。此时,双方的82C55A把对方视为I/O设备。,7.6.4 1方式的并行接口设计,3设计 (1)硬件连接 根据上述要求,接口电路的连接如图7.17所示。甲机82C55A是1方式发送,因此,可把A端口指定为输出,发送数据,而PC7和PC6引脚分别作专用联络线 和 。乙机82C55A是0方式接收数据,故把A端口定义为输入,另外,选用引脚PC7和PC3做联络线。虽然,两侧的82C55A都设置了联络线,但有本质的区别,甲机82C55A是1方式,其联络线是固定的不可替换;乙机的82C55A是0方式,其联络线是不固定的,可以选择,如可选择PC4与PC1、PC5、PC2等任意组合。 (2)软件编程 接口控制程序包含发送与接收两个程序。其程序流程图如图7.18所示。,7.7 82C55A的2方式及其应用举例,7.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论