《微型计算机接口第7章并行接口.ppt》由会员分享,可在线阅读,更多相关《微型计算机接口第7章并行接口.ppt(45页珍藏版)》请在三一办公上搜索。
1、2023/11/13,计算机接口技术,1,第7章 并行接口,本章主要内容 并行接口基本特点 并行接口芯片的工作方式和编程模型 并行接口解决方案并行接口的应用举例,2023/11/13,计算机接口技术,2,7.1 并行接口的特点 1.并行接口最基本的特点是以字节、字或双字宽度,在接口与I/O设备之间的多根数据线上传输数据,因此数据传输速率快。2.并行传输时,除数据线外,还有地址线、控制线的支持,实际上,并行接口所使用的信号线是系统三总线的延伸。3.并行传送不要求固定的传输速率,而由被连接或控制的 I/O设备操作的要求决定。4.在并行数据传输过程中,一般不作差错检验。5.并行接口使用的信号线比较多
2、,宜用于近距离传输。,2023/11/13,计算机接口技术,3,7.2 组成并行接口的元器件1一般的IC芯片 三态缓冲器和锁存器组成并行接口。这类并行接口可用于对一些简单的I/O设备进行控制。2可编程并行接口芯片 可编程并行接口芯片(如82C55A)功能强、可靠性高、通用性好,并且使用灵活方便,因此成为并行接口设计的首选芯片。3FPGA器件 采用FPGA器件,利用EDA(Electronic Design Automation,电子设 计自动化)技术来设计并行接口,可以实现复杂的接口功能,并且可 以将接口中的辅助电路,如I/O端口地址译码电路都包含进去,这是 目前接口设计很流行的一种方法。,在
3、并行接口中,8位或16位是一起行动的,因此,当采用并行接口与外设交换数据时,即使是只用到其中的一位,也是一次输入/输出8位或16位。并行传送信息,不要求固定的格式,这与串行传送的数据格式的要求不同。并行接口芯片:具有两个或两个以上的锁存器或者缓冲器的数据端口;每个数据端口都具有与CPU用应答方式交换信号所必须的控制和状态信息,也有与外设交换信息所必须的控制和状态信息;每个数据端口有能用中断方式与CPU交换信息所必须的电路;片选和内部控制电路;可用程序选择数据端口、选择端口的数据传送方向和选择与CPU交换信息的方法。并行接口芯片:8255;8255A(通用的可编程并行I/O接口芯片),2023/
4、11/13,计算机接口技术,4,2023/11/13,计算机接口技术,5,7.3 并行接口电路的解决方案 生产CPU的各厂商都有与其配套的并行接口芯片,它们的基本功能与工作原理相同。我们选用82C55A作为并行接口电路的核心芯片。它是一个通用型、功能强且成本低的接口芯片,可与任意一个需要并行传输数据的I/O设备相连接。7.3.1 通用并行接口82C55A的外部特性 82C55A是一个单+5V电源供电、40个引脚的双列直插式组件,82C55A的外部引脚及信号定义如图7.1所示。引脚可分为面向CPU和面向I/O设备两侧。,8255A的基本特性具有两个8位(A口和B口)和两个4位(C口高/低4位)并
5、行I/O端口的接口芯片。能适应CPU与I/O接口之间的多种数据传送方式的要求。可执行功能很强,内容丰富的命令(方式字和控制字)为用户如何根据外界条件(I/O设备需要哪些信号线以及它能提供哪些状态线)来使用8255A构成多种接口电路,组成微机应用系统提供了灵活方便的编程环境。PC口的使用比较特殊,除作数据口外,当工作在1方式和2方式时,它的大部分引脚被分配作专用联络信号;PC口可以进行按位控制;在CPU读取8255A状态时,PC口又作1,2方式的状态口用,等等。8255芯片内部主要由控制寄存器、状态寄存器和数据寄器组成。,2023/11/13,计算机接口技术,6,2023/11/13,计算机接口
6、技术,7,8255A外部引脚,82C55A信号定义,图7.1 82C55A外部引脚及信号定义,2023/11/13,计算机接口技术,8,1.面向CPU一侧的信号线 数据总线(DB):D0D7:双向数据线,用于CPU向8255A发送命令、数据和8255A向CPU回送状态、数据。地址总线(AB):片选信号,低电平有效;A0、A1:芯片内部端口地址信号;控制总线(CB):读信号,低电平有效。:写信号,低电平有效。RESET:复位信号,高电平有效。,2023/11/13,计算机接口技术,9,2.面向外部设备一侧的信号线 PA0-PA7(A端口),8位数据线。PB0-PB7(B端口),8位数据线。PC0
7、-PC7(C端口),C端口可作3种信号线使用:两个4位数据线(PC03,PC47);1和2方式的专用握手联络信号线;按位控制信号线。,3.8255A的基本特性具有两个8位(A口和B口)和两个4位(C口高/低4位)并行I/O端口的接口芯片。能适应CPU与I/O接口之间的多种数据传送方式的要求。可执行功能很强,内容丰富的命令(方式字和控制字)为用户如何根据外界条件(I/O设备需要哪些信号线以及它能提供哪些状态线)来使用8255A构成多种接口电路,组成微机应用系统提供了灵活方便的编程环境。PC口的使用比较特殊,除作数据口外,当工作在1方式和2方式时,它的大部分引脚被分配作专用联络信号;PC口可以进行
8、按位控制;在CPU读取8255A状态时,PC口又作1,2方式的状态口用,等等。8255芯片内部主要由控制寄存器、状态寄存器和数据寄器组成。,2023/11/13,计算机接口技术,11,7.3.2 通用并行接口芯片的工作方式 82C55A的工作方式有3种方式0、方式1和方式2,下面分别介绍3种工作方式的功能和特点。1.0方式的功能与特点(1)功能 A端口用于数据传输,8位并行。B端口用于数据传输,8位并行。C端口用于数据传输时,分高4位和低4位,4位并行;用作控制信号时,按位输出逻辑高或低电平。,2023/11/13,计算机接口技术,12,(2)特点 1)作单向数据传送,即一次初始化只能把某个并
9、行端口置成输入或输出,不能置成既输入又输出;2)不要求固定的联络(应答)信号,无固定的工作时序和固定的工作状态字;3)适用于无条件或查询方式数据传输,不能采用中断方式交换数据。,2023/11/13,计算机接口技术,13,2.1方式的功能与特点(1)功能 A端口作数据端口(8位并行)。B端口作数据端口(8位并行)。C端口可有4种功能,分别为:作A端口和B端口的专用联络信号线;作数据端口,未分配做专用联络信号的引脚做数据线用;作状态端口,读取A端口和B端口的状态字;作位控,按位输出逻辑1或逻辑0。,2023/11/13,计算机接口技术,14,(2)特点 1)作单向数据传送,即一次初始化只能把某个
10、并行端口置成输入或输出;2)要求专用的联络(握手/应答)信号,有固定的工作时序和专用的工作状态字;3)适用于查询或中断方式与CPU交换数据,不能用于无条件方式交换数据。,2023/11/13,计算机接口技术,15,3.2方式的功能和特点(1)功能 A端口做双向数据端口(8位并行);B端口做单向数据端口(8位并行);C端口有4种功能,与1方式类似。(2)特点 2方式是一种双向选通方式,它与1方式不同之处是双方能够同时发送和接收。其工作特点:,2023/11/13,计算机接口技术,16,1)双向数据传送,即一次初始化可将A端口置成既输入又输出,具有双向性;2)要求使用两对专用的联络信号,有固定的工
11、作时序和专用的工作状态字;3)适用于查询和中断方式与CPU交换数据,特别是在要求与I/O设备进行双向数据传输时很有用。,2023/11/13,计算机接口技术,17,7.3.3 通用并行接口82C55A的编程模型 82C55A的编程模型包括内部可访问的寄存器、分配给寄存器的端口地址,以及装入寄存器的命令字、状态字。用户利用它的编程模型进行并行接口的程序设计。,2023/11/13,计算机接口技术,18,1.内部寄存器82C55A内部逻辑结构如下图所示,图中的“读/写控制逻辑”中设置有命令寄存器、状态寄存器(从C口读出)、以及3个双向数据寄存器,均为8位。,82C55A内部逻辑框图,8255A的内
12、部结构以下3个部分组成(与CPU接口;与外设接口;内部逻辑)。数据总线缓冲器。这是一个三态双向8位缓冲器,它是8255A与CPU系统数据总线的接口。读/写控制逻辑。读/写控制逻辑由读信号RD、写信号WR、选片信号CS以及端口选择信号A1A0等组成。输入/输出端口A、B、C。8255A包括3个8位输入输出端口(port)。每个端口都有一个数据输入寄存器和一个数据输出寄存器。A组和B组控制电路。控制A、B和C三个端口的工作方式。,2023/11/13,计算机接口技术,20,2.端口地址 82C55A的应用分两种情况:系统配置的并行接口,其端口地址由系统安排(见表3.1和表3.2)。用户扩展的并行接
13、口,其端口地址由用户通过I/O译码电路选定(见表3.3)。3.编程命令 82C55A有两个编程命令,分别为工作方式命令和按位操作(置位/复位)命令。两个命令的功能及格式:,8255A基本操作与端口地址,2023/11/13,计算机接口技术,22,(1)方式命令 功能:指定82C55A的工作方式及其方式下3个并行端口的 输入或输出功能。格式:8位命令字的格式及每一位的含义,如图7.2所示,图7.2 82C55A的工作方式字的格式,2023/11/13,计算机接口技术,23,例如:若要求把A端口指定为1方式,输入;把C端口上半部指定为输出。把B端口指定为0方式,输出;把C端口下半部指定为输入。则工
14、作方式命令代码是10110001B或B1H。若将此方式命令代码写到82C55A的命令寄存器,即实现了对82C55A工作方式及端口功能的指定,或者说完成了对82C55A的初始化。,2023/11/13,计算机接口技术,24,汇编语言初始化的程序段如下。MOV DX,303H;82C55命令口地址 MOV AL,0B1H;初始化命令 OUT DX,AL;送到命令口,2023/11/13,计算机接口技术,25,(2)按位置位/复位命令 功能:指定82C55A的C端口8个引脚中的任意一个引脚,也只能1次指定1个引脚输出高电平或低电平。格式:8位命令字的格式与含义,如图7.3所示。,图7.3 82C55
15、A的命令字格式,2023/11/13,计算机接口技术,26,例如:若把C端口的PC2引脚输出高电平,去启动步进电机,则命令字应该为00000101B或05H。其程序段如下:MOV DX,303H;82C55A命令口地址 MOV AL,05H;使PC2=1的命令字 OUT DX,AL;送到命令口,2023/11/13,计算机接口技术,27,如果要使PC2引脚输出低电平,去停止步进电机,则命令字应该为00000100B或04H.其程序段如下:MOV DX,303H;82C55命令口地址 MOV AL,04H;使PC2=0的命令 OUT DX,AL;送到命令口,2023/11/13,计算机接口技术,
16、28,(3)关于两个命令的讨论 方式命令是对8255A的3个端口的工作方式及功能进行指定,即进行初始化,初始工作要在使用8255A之前做。按位置位/复位命令只是对PC口的输出进行控制,实现动态控制的一种支持。它可放在初始化程序以后的任何地方。按位置位复位命令虽然是对C端口进行按位输出操作,但它不能写入作数据口用的C端口,只能写入命令口,原因是它不是数据,而是命令,要按命令的格式来解释和执行。两个命令的最高位(D7)都分配作了特征位,设置特征位的目的是为了解决端口共用。82C55A有两个命令,但只有一个命令端口,当两个命令写到同一个命令端口时,就用特征位加以识别。按位置位/复位的命令代码只能写入
17、命令口。,2023/11/13,计算机接口技术,29,7.4 步进电机控制接口设计例7.1 步进电机控制接口电路设计 1.要求 设计一个四相六线式步进电机接口电路,要求按四相双八拍方式运行,当按下开关SW2时,步进电机开始运行;当按下开关SW1时,步进电机停止。,2023/11/13,计算机接口技术,30,2.分析 首先,CPU与步进电机之间的数据交换是无条件传输,因此可利用82C55A的0方式设计步进电机控制接口。其次,本题接口的被控对象是步进电机,那么,如何对步进电机实施控制,就要了解步进电机的控制原理及控制方法。,2023/11/13,计算机接口技术,31,(1)步进电机控制原理 步进电
18、机旋转的角位移与输入脉冲的个数成正比;步进电机的转速与输入脉冲的频率成正比;步进电机的转动方向与输入脉冲对绕组加电的顺序有关。因此,步进电机旋转的角位移、转速及方向均受输入脉冲的 控制。,2023/11/13,计算机接口技术,32,(2)运行方式与方向控制 步进电机的运行方式指各相绕组循环轮流通电的方式,如四相步进电机有单四拍、单八拍、双四拍、双八拍几种方式,如图7.4所示。,图7.4 四相步进电机运行方式,2023/11/13,计算机接口技术,33,可见,为了实现对各绕组按一定方式轮流加电,需要1个脉冲循环分配器。脉冲循环分配器可用硬件,也可以软件来实现,本例采用软件的方法,即循环查表法来实
19、现对运行方式与方向的控制。循环查表法是将各相绕组加电顺序的控制代码制成一张步进电机相序表(见表7.2),存放在内存区,再设置一个地址指针。若改变相序表内的加电代码和地址指针的指向,则可改变步进电机的运行方式与方向。,2023/11/13,计算机接口技术,34,表7.2 四相双八拍运行方式相序加电代码表,2023/11/13,计算机接口技术,35,(3)运行速度的控制 控制步进电机运行速度有两种途径:硬件改变输入脉冲的频率,通过对定时器(如82C54A)定时常数的设定,使其升频、降频或恒频;软件延时,调用延时子程序。,2023/11/13,计算机接口技术,36,(4)步进电机的驱动 步进电机在系
20、统中是一种执行元件,都要带负载,因此,需要功率驱动。常采用达林顿复合管,如采用TIP122作为功率驱动级。驱动原理如图7.5所示。在复合管的b极加高电平,复合管导通,步进电机的A相加电。,图7.5 步进电机驱动原理图,2023/11/13,计算机接口技术,37,(5)步进电机的启/停控制 为了控制步进电机的启/停,通常采用设置硬开关和软开关。所谓硬开关,一般是在外部设置按键开关SW,并且约定当开关SW按下时启动运行或停止运行。所谓软开关,就是利用系统的键盘,定义某一个键,当该键按下时,启动或停止运行。,2023/11/13,计算机接口技术,38,3设计(1)硬件设计 采用并行接口芯片82C55
21、A作为步进电机与CPU的接口。根据设计要求,需要使用3种信号线,即3个端口。1)A端口为输出,向步进电机的4个绕组发送加电代码(相序码),以控制步进电机运行方式;2)C端口的高4位(PC4)为输出,控制74LS373的开/关,起隔离作用;3)C端口的低4位(PC0和PC1)为输入,分别与开关SW2和SW1连接,以控制步进电机的启动和停止。步进电机接口电路如图7.6所示。,2023/11/13,计算机接口技术,39,图7.6 步进电机控制接口原理图,2023/11/13,计算机接口技术,40,(2)软件设计 在开环控制方式下,四相步进电机的启/停操作可以随时进行,是一种无条件并行传送。控制程序包
22、括:相序表和相序指针的设置、82C55A初始化、步进电机启/停控制、相序代码传送,以及电机的保护措施等。具体程序见教材P118120。,4.讨论 讨论内容见教材P120,2023/11/13,计算机接口技术,41,7.5 声-光报警器接口设计 例7.2 声-光报警器接口电路设计 1.要求 设计一个声-光报警器,要求按下按钮开关SW,开始报警,喇叭SPK发声,LED灯同时闪光。当拨通DIP拨动开关的0位时,结束报警,喇叭停止发声,LED熄灭。2分析 该声-光报警器包括4种简单的器件:扬声器、8个 LED彩灯、8位DIP拨动开关及按钮开关SW。它们都必须通过接口电路才能进入微机系统,接受CPU的控
23、制,发挥相应的作用。,2023/11/13,计算机接口技术,42,3.设计(1)硬件设计 本例接口所涉及的I/O设备虽然简单,但数量较多,并且既有输入(按钮开关SW和拨动DIP开关)又有输出(喇叭SPK和LED)。根据设计要求,4个设备需要使用4种信号线,即4个端口。1)A端口输出,控制8个LED彩灯 2)B端口输入,接收8位DIP拨动开关的状态 3)C端口高4位输出,控制SPK扬声器 4)C端口低4位输入,接收SW按钮开关的状态 声-光报警器接口电路原理如图7.7所示。,2023/11/13,计算机接口技术,43,图7.7 声光报警器电路原理图,2023/11/13,计算机接口技术,44,(2)软件设计根据设计要求,拟定声-光报警器程序流程图如图7.8所示。声-光报警器程序见教材P121123。,图7.8 声光报警器程序流程图,4.讨论讨论内容见教材p124,第7章 并行接口,本 章 小 结并行接口基本特点 通用并行接口芯片的工作方式通用并行接口芯片编程模型 并行接口应用设计举例,