资源预览内容
第1页 / 共40页
第2页 / 共40页
第3页 / 共40页
第4页 / 共40页
第5页 / 共40页
第6页 / 共40页
第7页 / 共40页
第8页 / 共40页
第9页 / 共40页
第10页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第二篇 设计篇第7章 PIC与CPLD接口协调在进行PIC系统的应用开发时,经常需要对其扩展接口进行编程 。可编程器件是PIC单片机应用系统外围电路的常用器件,而可编程器 件的设计开发通常采用基于CPLD的VHDL设计。本章主要针对PIC单片 机的接口编程所涉及到的并行接口、串行接口等相关可编程芯片进行分 析研究,初步掌握在PIC和CPLD接口编程的接口方法以及设置。7.1 CPLD与PIC功能分组7.1.1 概述CPLD是可编程器件能完成各种逻辑功能,但在自动控制方面还不能 单独完成各种功能。CPLD必须与PIC一起设计系统,这就必须考虑PIC 与CPLD的长短处,以最大的利用PIC和CPLD的优点来设计的系统。 PIC与CPLD的优缺点如表7.1所示.根据以上PIC与CPLD长短处考虑,在系统设计时在以下情况请考虑使用CPLD较 好。 1.PIC的动作速度不能满足的高速动作要求,如需计数最大50MHz信号,或需输出 数MHz的信号等。 2.需要追加功能时,如需要追加更多的输入输出端口,或追加正弦波信号输出功能 等。 3.在与其它系统接续时作接口器等,如需要接入PIC总线或需要接入专用IC等。科 目 PIC Chip CPLD chip 备 注动作速度PIC动作速度比CPLD慢一个数 量级能做到高速动作 ( 数10MHz )功能复杂度可自由设计 ,能对应较 复杂 的要求所电路规模限,不能实现 复 杂电 路如采用大规模FPGA也可实 现复杂电 路接口功能仅限于PIC的内在接口功能可改变内部接续实现 各种逻 辑功能表7.1 CPLD与PIC的功能比较7.1.2 PIC与CPLD接口通信PIC单片机广泛用于现场控制、嵌入式系统、数据采集系统等领域,不仅需 要实现本地数据采集和现场控制,这其中就涉及到和外围电路的数据的传输。而 外围电路可采用CPLD芯片来实现,这就要求PIC和CPLD的接口具有通信功能。目前广泛应用的可编程芯片有并行接口芯片8255A,可编程中断控制器 82C59A,可编程计数器MSM82C53/54,可编程键盘以及显示控制器件 TMP82C79等。在PIC与CPLD进行接口通信时,常见的通信方式有以下几类:1按照通信对象数量的不同,通信方式可分为点对点通信、一点到多点通信和 多点到多点通信等3种方式。2按照通信终端之间的连接方式可划分为两点间直通方式和交换方式。直通方 式是通信双方直接用专线连接;而交换方式是通信双方必须经过交换机才能连接 起来的一种通信方式,如电话系统。3按照数字信号传输的顺序,在数据通信中,通信方式又有串行通信和并行通 信。7.1.3 接口通信基本电路在接口通信电路中,经常需要对传输过程中的信息进行放大、隔离以及销存 ,能实现上述功能的接口芯片最简单的就是缓冲器、数据收发器和锁存器。这里 主要介绍基本74 系列器件。74 血红素器件是TI(Texas Instrument,德州 仪器)公司生产的中小规模TTL集成电路芯片,这是一种低成本、工业和民用产 品、工作温度070,以功耗和速度分类有如下几类:* 74 标准TTL; * 2.74L 低功耗TTL; * 74S 肖特基型TTL; * 74LS 低功耗肖特基型TTL; * 74ALS 高性能型TTL; * 74F 高速型TTL。 对于相同编号()、不同类型的芯片,其逻辑功能完全一样。 1锁存器74LS373 74LS373是一种8D锁存器,具有三态输出。其逻辑电路及引脚图如图7.1所示。图7.1 74LS373逻辑电路及引脚图2缓冲器74LS24474LS244是一种三态输出的八缓冲器和线驱动器。74LS244缓冲器主要用于三态输出的存储地址驱动器、时钟驱动器和总线定向接 收器和定向发送器等。其逻辑电路及引脚图如图7.2所示。常用的缓冲器还有74LS240/241等。3. 数据收发器74LS24574LS245是一种三态输出的8总线收发器。其逻辑电路图和引脚图如图7.3所示 。从图可见,该收发器有16个双向传送的数据端,即A1A8,B1B8,另有两 个控制端使能端,方向控制端DIR,74LS245 通常用于数据的双向传送、缓 冲和驱动。7.2 并行接口方式在CPLD与PIC综合电路中,实现并行通信的接口就是并行接口。并行接口可设计为只 作为输入/输出接口,也可设计为既作为输入又作为输出的接口。它可以用两种方法实现 ,一种是利用同一个接口中的两个通路,一个作输入通路,一个作输出通路;另一种使用 同一个双向通路,既作为输入又作为输出。并行通信有两个主要特点:一是同时并行传送的二进位数就是数据宽度;二是在PIC与 CPLD之间采用应答式的联络信号来协调双方的数据传送操作,这种联络信号又称为握手 信号。并行通信可以分为单方向通信和双方向通信,通常分别对应于读/写和读写操作,其对 应单方向并行接口和双方向接口。单片机同外设CPLD电路交换信息,必须通过接口电路,一般在接口电路中应具有如下电路 单元,这类电路也称之为可编程接口芯片。可编程并行接口芯片种类较多,Intel公司的8255A(PPI),Motorola公司的 MC6820(PIA)和Zilog公司的Z80PIO 都属于这一类器件。可编程接口芯片电路中应具有如下电路单元:n输入/输出数据锁存器和缓冲器,用以解决CPU与外设之间速度不匹配的矛盾, 以及起隔离和缓冲的作用;n控制命令和状态寄存器,以存放CPU对外设的控制命令,以及外设的状态信息;n地址译码器,用来选择接口电路中的不同端口(寄存器);n读写控制逻辑;n中断控制逻辑。这里重点讲述可编程芯片8255A,8255A是一种通用的可编程并行I/O接 口芯片,如果结合其他外围电路,可以采用可编程通用芯片实现外围电路的综合 设计,这里可以采用VHDL进行设计CPLD。8255A通用性强,使用灵活,可用 程序设置和改变芯片的工作方式,是一种典型的可编程并行接口芯片,通过 8255A,PIC可直接同外设相连接,其应用最广、使用灵活。PIC单片机通过外设接口芯片同外围CPLD电路交换信息时,接口芯片常常 需要和外设间有一定的“联络”信号,以保证信息的正常传送。通常采用两个“联 络”信号(选通信号,strobe)和RDY(就绪信号,Ready),如图7.4所示, 输入时序见图7.5。图7.4联络信号图7.5 输入时序 作为接口芯片(主要引脚如图7.6)具备PA口、PB口和PC口,PC口比较特 殊,即可用作数据口,有时其大部分引脚被分配作专用联络信号,用于控制或状 态信息。7.2.1 8255A的内部结构可编程芯片8255A的结构框图如图7.7,主要由4部分组成。n数据总线缓冲器一个三态8位双向缓冲器,用作8255A同系统数据总线相连时的缓冲器部件, CPU通过执行输入/输出指令来实现对缓冲器发生或接收数据。8255A的控制字 和状态字也是通过该缓冲器传送的。图7.6 接口芯片的主要引脚图n三个8位端口PA、PB、和PC8255A有三个8位端口PA、PB、和PC,各端口都可由程序设定为各种不同的工 作方式。端口A(PA口)有一个8位数据输入锁存器和一个8位数据输出锁存/缓冲器;端口B(PB口)有一个8位数据输入缓冲器和一个8位数据输入/输出、锁存/缓 冲器;端口C(PC口)有一个8位数据输入缓冲器和一个8位数据输出锁存/缓冲器。图7.7 8255A的结构框架 通常PA口与PB口用作输入/输出的数据端口,PC口用作控制或状态信息的端 口。在方式字的控制下,PC口可以分成两个4位的端口,每个端口包含一个4位 锁存器,可分别同端口A和端口B配合使用,可以用作控制信号输出,或作为状 态信号输入。一般PA口、PB口 作为独立的输入端口或输出端口,当端口 A 在 方式 1 或方式 2、端口 B 在方式 1 时,端口 C 的某些位用于传送联络信号, 以适应PIC与外设CPLD电路间的各种数据传送方式的要求,如查询传送的应答 信号、中断传送的中断申请信号等。PC口常被分成两个4位端口,以配合A口和 B口的工作,输入状态信号和输出控制信号。PC口未被用作联络信号的其它位可 工作在方式0下。nA组和B组的控制电路两组控制电路根据CPU发出的方式选择控制字来控制8255A的工作方式,每 个控制组都接收来自读/写控制逻辑的“命令”,接收来自内部数据总线的“控制字 ”,并向与其相连的端口发出适当的控制信号。A组控制部件用来控制PA口和PC口的高4位(PC7-PC4);B组控制部件用来控制PB口和PC口的低4位(PC3-PC0)。n读/写控制逻辑读/写控制逻辑用来管理数据信息、控制字和状态字的传送,它接收来自CPU 地址总线的A1、A0和控制总线的有关信号 向8255A的A、B两组控制部件发送 命令 7.2.2 8255A引脚功能8255A芯片封装结构有多种,常用的有双列直插和PLCC封装,这里讲述的 是采用40个引脚的双列直插式(DIP,Dual,In-line Package)封装,如图 7.8所示。其引脚信号有: nA1、A0:片内寄存器选择信号(输入)nD7-D0:与CPU侧连接的数据线(双向)nPA7-PA0:A口外设数据线(双向)nPB7-PB0:B口外设数据线(双向)nPC7-PC0:C口外设数据线(双向)nPESET:复位信号(输入)图7.8 8255A引脚分布PA07,PB07,PC07是面向外设的引脚信号。D7D0是 8255A的数据线,和系统数据总线相连;RESET 是复位信号引脚 ,当其有效时,清除所有内部寄存器,三个数据端口(A口、B口、C口)被自动 设置为输入端口。CS 片选信号引脚通常低电平有效。通常译码器分配给 8255A一组端口地址,若该组地址有效,CS为低电平,启动8255A与PIC之间 的通信。这些都是面向PIC的引脚。为芯片读出信号,当有效时,CPU可从8255A读取数据或状态信息。为 芯片写入信号,当该信号有效时,CPU可往8255A写入数据或控制命令。A1、A0为 端口选择信号,8255A内部有3个数据端口和一个控制字端口,共4 个端口,A1、A0对这4个端口选择规定如下:A1 A0 0 00 11 01 1端口ABC控制由CS、A1、A0、RD、WR引脚的不同组合,实现各种不同的功能。具体见表7.2 。7.2.3 8255A的工作方式与初始化18255A的工作方式当外部设备要向CPU传送数据或请求服务时,8255A就用INTR端的高电平 CPU提出中断请求。、IBF和INTR 都为高电平时,表明数据锁存器内已写入 了数据,使INTR成为高电平输出。CPU响应中断,在 控制下从8255A中读 取数据时,的下降沿使INTR复位,它的上升沿又使IBF复位,使外设知道可以 进行下一字节输入,如图7.9。表7.2 功能配置组合表方式0简单输入/输出查询方式;A,B,C三个端口均可。 方式1选通输入/输出中断方式;A ,B,两个端口均可。 方式2双向输入/输出中断方式。只有A端口才有。图7.9 方式1输入当外设接收了由CPU送给8255A的数据后,8255A就用INTR端向CPU发出 中断请求,请求CPU再输出后面的数据。INTR是当,和INTE都为高电平时,才 能被置成高电平。由的上升沿清除。如图7.10。图7.10 方式1输出方式2的时序图如图7.11:当8255A与CPU采用查询方式工作时,要求CPU读取C端口的内容,根据上述 对PC各位的定义及对中断屏蔽情况可以很容易地知道读出的状态字中各位的含 义。图7.11 方式2的时序图 2.初始化在使用8255A时,首先要由CPU对8255A写入控制命令字,有两种控 制命令字:一个是方式选择控制字,另一个是C口按位置位/复位控制字 ,8255A的各种工作方式都要由控制命令字来设定,这个设置过程称为 “初始化”。方式选择控制字(D7=1
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号