51单片机加CPLD让系统更高效

发布者:buzzedy最新更新时间:2011-12-27 来源: 互联网关键字:CPLD 手机看文章 扫描二维码
随时随地手机看文章

 一、引言

  单片机市场可以用巨无霸来形容,其中51 单片机使用者就更多了,针对51 单片机无需更多的介绍,这里必须强调一点,只要你精通了51 单片机,以后在实际工作中选用其它单片机也很容易了,这就是初学者学习51 单片机的价值。选择51 单片机学习入门容易,倒不是说51 系列单片机比别的型号简单,其实在8 位单片机家族中,51 系列单片机算是复杂的,但51 单片机在中国推广最彻底,教程也是最丰富,基本不用看英文资料就能学好,所以特别适合初学者学习用。

  下面说说CPLD,从近来跟学生和爱好者交往中发现,初学者都很“讨厌”它,问我为什么要把单片机和CPLD 放一块儿,那样不是增加了学习的难度吗?其实深入学习单片机后,你就会发现,单独一片单片机芯片,实在是不够用,稍微复杂的系统都会缺少接口资源,IO 口不够用。我们学单片机不能仅仅局限于LED(发光二极管,数码管等)驱动,输入还需要键盘、ADC,输出需要LCD、DAC 等,当把这些对象同时放在一个系统当中时,就需要用到很多其它分离的接口IC(芯片),各种逻辑IC。

  学完单片机后大家都会知道这些芯片:如74373,7432,74138……随着数字电子技术的发展,一种新的器件正在被广泛应用,那就是CPLD(ComplexProgrammable Logic Device) 复杂可编程逻辑器件,通俗的说就是可以把以上那些分离器件都放进去的一种可以二次开发的IC.关于CPLD 的详细介绍大家可以自己在网上浏览,很多很多。

  基于此,本刊用这篇文章深入浅出的介绍一种采用51 单片机和CPLD 构建复杂电路系统的设计思想。

  二、单片机系统中几个典型电路介绍

  首先从熟悉的最小系统电路电路说起,如图1所示,图中用网络标号实现电路连接,这样绘制的电路图清晰整洁,U1 是经典的51 单片机 IC,复位电路和晶振电路是传统电路,这里C5 电容是靠近单片机VCC 引脚的,用来对电源滤波,图中其它芯片VCC 附近都有相同功能的滤波电容。U2 是经典的低八位地址锁存电路,这里的74373 也可以用74573 代替,U3 是地址译码电路,74138 实现连续8 个地址(1### #### #### #000 ~ 1####### #### #111,# 是无关位,可以是0 也可以是1,取决于电路其它部分的需要)对象扩展。

  图1 MCU最小系统原理图

  图1 MCU最小系统原理图

  51 单片机给大家推荐STC 的89 或90 系列,其中90 系列已经有片内ADC 了,需要特别强调的是, 随着FLASH 技术的成熟,片内FLASH ROM从8K 到64K 任选,已经足够用了,所以现在很少有单片机系统外扩ROM 了,这样使得EA/VPP 和PSEN 引脚失去了原先的功能了,STC 的51 单片机已经将这两个引脚发展成P4 口了。

  复杂的系统必然有很多输入输出接口,如图2所示,U5 是数据锁存器74273,扩展一个8bits 数据输出端口,U6 是三态数据缓冲器74573,扩展一个8bits 数据输入端口,分别用7432 实现读写时序接口匹配。

  图2 MCU端口口扩展原理图

  图2 MCU端口口扩展原理图

  经典LCD1602 接口如图3 所示,这里7408、7402 逻辑门用来实现6800 时序(读写信号有独立接口的是8080 时序,这里只有使能信号E,需要外逻辑电路将读写信号相与合并使用)。

  图3 LCD1602接口电路原理图

  图3 LCD1602接口电路原理图

  以上给出的系统还算不上是复杂系统,总共采用了8 块IC,一个实现特定功能的系统往往更复杂,需要采用的IC 会更多。能不能把这些分离的器件用CPLD 来实现呢?答案是肯定的。

  三、单片机与CPLD接口设计

  以上经典电路中,系统扩展使用了单片机总线模式,各个对象采用的三总线连接,根据这种电路结构,这里给出一种单片机同CPLD 的总线接口模式,如图4 所示。

  图4 单片机与CPLD总线接口示意图

  图4 单片机与CPLD总线接口示意图

  这里选择A l t e r a 公司早期的EPM7064SLC44-10 为例,这是很老的一款CPLD器件,是5V 供电。其实选择什么CPLD 型号并不是关键,关键是学习用CPLD 代替分立器件的思想和方法。数据总线P0 口同CPLD 一般IO 口相连,完成数据和低8 位地址传送;控制总线包括单片机读写控制信号Rd(P3.7) 和Wr(P3.6),以及地址锁存信号ALE(Address Lock Enable)和高位地址线A15(P2.7) 通过CPLD 的全局信号引脚输入,包括全局时钟输入:INPUT/GCLK1, 全局清零输入INPUT/GCLRn, 全局使能输入INPUT/OE1,INPUT/OE2, 这几个信号有专用连线与CPLD 中每个宏单元相连,保证信号到每个宏单元的延时相同并且延时最短。实际电路原理图如图5所示。

  图5 MCU与CPLD接口电路原理图

  图5 MCU与CPLD接口电路原理图

  这样一块CPLD 器件就代替以上除单片机外的7 块芯片了,在电路板上将节约大片的PCB 面积,好处还远不止这些,因为CPLD 是二次开发的,其内部电路可以根据需要再次设计,反复修改,极大的增加了电路设计的灵活性。

  读者看到这里,肯定对自己动手设计CPLD 电路充满了期待,下面介绍如何借助工具软件开发CPLD 内部电路。

  四、CPLD开发介绍

  一般来说,CPLD 生产商都有配套的开发工具, 这里介绍ALTERA 公司的一款易学易用的CPLD 开发软件MaxPlusII,虽然该公司最新版的软件是QuartusII,但针对某些具体的器件,选择MaxPlusII 还是很方便的。该软件入门教程请到百度搜索《MaxplusII 设计CPLD 入门》,很多手把手的资料。

  最容易的电路设计方法不外乎是直接绘制电路原理图。采用原理图输入,初学者甚至不需要额外学习就可以从事CPLD 设计。我们只需要在软件平台上从集成器件库调出对应的器件,绘制相同的电路原理图即可,实现以上功能电路原理图绘制完成后如图6 所示。

  图6 原理图输入设计CPLD

  图6 原理图输入设计CPLD

  该原理图编译成功后,我们还需要根据实际电路连接图分配绑定引脚,引脚绑定如图7 所示,再编译就可以得到可供下载的文件*.pof 了,最后只需要将下载电缆连接到电路板上,仍然通过该软件即可完成下载。

  正因为CPLD 的IO 脚是可以随意分配的,通常我们会结合实际的PCB 板设计布线的便利来调整引脚分配,引脚分配更改后,只需要重新分配引脚再编译下载即可。

  图7 CPLD引脚绑定

  图7 CPLD引脚绑定

  除了原理图输入外,复杂的CPLD 器件开发,一般用硬件描述语言设计,常用的硬件描述语言有VHDL,VerilogHDL,这些硬件描述语言的掌握是需要系统学习的,基于硬件描述语言的片上系统设计,FPGA 开发目前已经成为高薪职业,社会需求巨大。用硬件描述语言开发CPLD 的方法与前面的原理图输入法类似,也需要编译纠错,时序仿真,引脚绑定,最后编译下载即可。

  给CPLD 下载完程序,这块芯片就是你所设计的逻辑时序电路了,通常比分离元器件功耗更低,性能更优。

  真正是基于上述思想, 笔者将51 单片机同CPLD 相结合,开发了一款适合初学者使用的学习板--Mini51 板。

  五、Mini51板概述

  Mini51 板体积小巧(11×8 厘米),适合用户随身携带,只要PC 机加一根USB 线就可以做硬件实验了,特别适合大专院校学生和爱好者自主学习用。实物图如图8 所示。

  图8 Mini51板实物图

  图8 Mini51板实物图

  Mini51 板系统结构如图9 所示,该板采用单片机+CPLD 结构,单片机为主,CPLD 为辅。与单片机相连的模块有:P1 口接发光二极管、蜂鸣器、继电器、AD/DA,P4 口(STC 单片机PLCC-44封装特有)接实时时钟DS1302、红外接收器,P3口接232 电平转换电路和4 个按键,单片机P0 口和P2 口以及P3.6、P3.7 作为总线使用,CPLD 直接驱动4 位数码管,并给LCD 提供使能信号,单片机和CPLD 引脚分别有扩展接口,板上集成5V稳压电源,可以外接DC9V 电源,也可以从计算机USB 口直接取5V 电源。

  图9 Mini51板结构图

  图9 Mini51板结构图

  单片机首选STC89C5X, 该系列单片机内部集成MAX810/STC810 专用复位电路, 内置看门狗, 超强抗干扰, 轻松过2KV/4KV 快速脉冲干扰(EFT), 加密性强,STC89C52RC ~STC89C58RD+ 系列与Intel8051 管脚兼容,宽电压,5.5V ~ 3.4V 给复位信号后能正常工作,PQFP-44,PLCC-44 封装有P4 口。

  STC89C51RC 有3 个定时器/ 计数器,1280 字节大容量内部数据 RAM ,特别是该系列单片机支持ISP 编程,开发无需高价的编程器,可实现远程升级,在ISP 下载编程时可设置6 或12 时钟/ 机器周期模式,在6 时钟模式,比普通51 速度快一倍。

  CPLD 有两种型号可选,ALTERA 的EPM7064和ATMEL 的ATF1504。

关键字:CPLD 引用地址:51单片机加CPLD让系统更高效

上一篇:基于SD卡的Virtex FPGA 配置方案
下一篇:基于FPGA的成像声纳FFT波束形成器设计

推荐阅读最新更新时间:2024-05-02 21:48

CPLD的概念
CPLD(Complex Programmable Logic Device)是Complex PLD的简称,一种较PLD为复杂的逻辑元件。CPLD是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。 发展历史及应用领域: 20世纪70年代,最早的可编程逻辑器件--PLD诞生了。其输出结构是可编程的逻辑宏单元,因为它的硬件结构设计可由软件完成(相当于房子盖好后人工设计局部室内结构),因而它的设计比纯硬件的数字电路具有很强的灵活性,但其过于简
[嵌入式]
基于USB接口的实用型数据采集卡设计
1 引言 随着低成本高性能的计算机资源普及运用、大规模集成电路技术和通讯技术的飞速发展,数字化测量平台逐渐成为测量仪器的基础。所有测量测试仪器的主要功能由数据采集采集与控制、数据分析与处理、结果的表达与输出三大部分组成。高质量的A/D采集卡及调理放大器是影响其发展的一个重要因素。本文实现了基于USB接口的实用型数据采集卡的设计。 2数据采集卡的结构设计 本文采用集散型的系统结构,定位为高速、双通道的数据采集系统。整个系统采用模块化技术,各个模块通过总线连接。设计时将整个系统划分为四个相互关联的有机部分,即信号调理模块、数据采集模块、CPLD控制模块和软件操作平台。模块间连接关系如图1所示。 图1 模块间的连接
[模拟电子]
基于单片机和CPLD的PLC背板总线协议接口芯片设计(二)
3.2 基于Verilog HDL 语言的硬件程序设计   本设计采用Verilog HDL 语言进行协议芯片的程序设计,Verilog HDL 语言是一种硬件描述语言,设计数字芯片时可以按照层次描述,并可以进行时序建模。本设计采用混合设计模式,主要设计的模块有状态机、协议帧检测、FIFO 控制器设计等。   1)状态机设计。   协议芯片的顶层模块是状态控制器部分,协议芯片共有四个状态, 分别处理基于Verilog HDL 程序语言的状态机描述伪代码如下:   2)协议帧检测。   本协议芯片的帧校验和采用简单的加和形式进行,在接收一方,如果数据帧中有用数据的加和同后续的校验和字节相同,则协议是正确的,否则丢弃该帧。协
[模拟电子]
基于单片机和<font color='red'>CPLD</font>的PLC背板总线协议接口芯片设计(二)
基于DSP的彩色TFT-LCD数字图像显示技术研究
计算机技术的飞速发展,嵌入式图像系统广泛应用于办公设备、制造和流程设计、医疗、监控、卫生设备、交通运输、通信、金融银行系统和各种信息家电中。所谓嵌入式图像系统,是指以图像应用为中心,以计算机技术为基础,软件、硬件可裁减,对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。嵌入式图像系统对图像显示技术提出了各种严格要求,必须选择合适的显示器,设计出合理的显示控制方法。 系统硬件设计   系统要构建一个嵌入式、高速、低功耗、低成本的图像显示硬件平台,要求能真彩显示静态或动态彩色图像。为达到真彩和无拖影的显示动态图像,同时兼顾低功耗的要求,采用SHARP(夏普)公司的LQ057Q3DC02彩色TFT-LCD作为显示器;
[医疗电子]
基于DSP的彩色TFT-LCD数字图像显示技术研究
基于DSP的视频采集存储系统的研究与设计
数字图象处理技术在电子通信与信息处理领域得到了广泛的应用,设计一种功能灵活、使用方便、便于嵌入到系统中的视频信号采集电路具有重要的实用意义。   在研究基于DSP的视频监控系统时,考虑到高速实时处理及实用化两方面的具体要求,需要开发一种具有高速、高集成度等特点的视频图象信号采集系统,为此系统采用专用视频解码芯片和复杂可编程逻辑器件(CPLD)构成前端图象采集部分。设计上采用专用视频解码芯片,以CPLD器件作为控制单元和外围接口,以FIFO为缓存结构,能够有效地实现视频信号的采集与读取的高速并行,具有整体电路简单、可靠性高、集成度高、接口方便等优点,无需更改硬件电路,就可以应用于各种视频信号处理系统中。使得原来非常复杂的电路设计
[嵌入式]
基于DSP的视频采集存储系统的研究与设计
用DSP实现CPLD多方案现场可编程配置
在继电保护测试装置中, 既有复杂的算法, 又涉及多种检测与控制方案。用DSP实现算法和多方案的配置,用CPLD进行实时检测和控制,是一种较好的独立运行模式。一般CPLD的配置依靠专用配置PROM或下载电缆来完成。本文介绍基于DSP的CPLD多方案现场可编程配置方法。 1 总体描述 系统中的DSP采用TI公司的定点数字信号处理器TMS320C5402。它采用4总线4级流水线的增强型哈佛结构,处理速度为100MIPS;具有片内4K%26;#215;16位的ROM和16K%26;#215;16位的DARAM, 2个多通道缓冲串行口(McBSP),1个直接存储控制器(DMA)等片内外围电路;外部可扩展至1M%26;#215;16位存储
[嵌入式]
基于CPLD的IEEE1149.1 USB下载电缆设计
   引 言   随着片上系统(SoC,System on Chip)时代的到来,包括复杂可编程逻辑器件(CPLD,Complex ProgrammableLogic Devi(e)和现场可编程门阵列(FPGA,Field Programmable Gate Array)的可编程逻辑器件(具有在系统可再编程的独特优点),应用越来越广泛。这给用于可编程逻辑器件编程的下载电缆提出了更高的要求。   本文研究基于IEEEll49.1标准的USB下载接口电路的设计及实现。针对Altera公司的FPGA器件Cy-ckone,通过分析它的边界扫描测试结构和各种JTAG指令,研究它的编程过程和编程特点,并提出设计方案。在接口电路硬件设计中,
[嵌入式]
基于<font color='red'>CPLD</font>的IEEE1149.1 USB下载电缆设计
MPC850中复位逻辑和CPM协议切换的CPLD实现
1 引言 近年来,微处理器(MPU)在嵌入式系统研发中所占地位越来越重要,很多应用场合对MPU的处理速度、集成密度也提出了更高的要求。Power PC系列MPU是Motorola公司推出的面向嵌入式应用的专用MPU,它在片内集成了基于RISC体系的微处理器的内核和支持多种通信协议的通信处理器(CPM),具有强大的通信和网络协议处理能力,可广泛应用于通信和网络产品中。CPLD(Complex Programmable Logic Device)是一种复杂的用户可编程逻辑器件,和FPGA相比,由于采用连续连接结构,易于预测延时,从而使电路仿真更加准确。近年来,由于采用先进的集成工艺和大批量生产,CPLD器件成本不断下降,集成密度、速
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved