欢迎来到天天文库
浏览记录
ID:40751599
大小:595.87 KB
页数:8页
时间:2019-08-07
《fpga与单片机接口》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、51单片机加CPLD让系统更高效来源:本站整理 作者:秩名2012年02月29日11:230分享[导读] 单片机市场可以用巨无霸来形容,其中51单片机使用者就更多了,针对51单片机无需更多的介绍,这里必须强调一点,只要你精通了51单片机,以后在实际工作中选用其它单片机也很容关键词:51单片机CPLD单片机 一、引言 单片机市场可以用巨无霸来形容,其中51单片机使用者就更多了,针对51单片机无需更多的介绍,这里必须强调一点,只要你精通了51单片机,以后在实际工作中选用其它单片机也很容易了,这就是初学者学习51单片机的价值。选择51单片机学习入门容易,倒不是说51系列单片机比
2、别的型号简单,其实在8位单片机家族中,51系列单片机算是复杂的,但51单片机在中国推广最彻底,教程也是最丰富,基本不用看英文资料就能学好,所以特别适合初学者学习用。 下面说说CPLD,从近来跟学生和爱好者交往中发现,初学者都很“讨厌”它,问我为什么要把单片机和CPLD放一块儿,那样不是增加了学习的难度吗?其实深入学习单片机后,你就会发现,单独一片单片机芯片,实在是不够用,稍微复杂的系统都会缺少接口资源,IO口不够用。我们学单片机不能仅仅局限于LED(发光二极管,数码管等)驱动,输入还需要键盘、ADC,输出需要LCD、DAC等,当把这些对象同时放在一个系统当中时,就需要用到很
3、多其它分离的接口IC(芯片),各种逻辑IC。 学完单片机后大家都会知道这些芯片:如74373,7432,74138……随着数字电子技术的发展,一种新的器件正在被广泛应用,那就是CPLD(ComplexProgrammableLogicDevice)复杂可编程逻辑器件,通俗的说就是可以把以上那些分离器件都放进去的一种可以二次开发的IC.关于CPLD的详细介绍大家可以自己在网上浏览,很多很多。 基于此,本刊用这篇文章深入浅出的介绍一种采用51单片机和CPLD构建复杂电路系统的设计思想。 二、单片机系统中几个典型电路介绍 首先从熟悉的最小系统电路电路说起,如图1所示,图中用
4、网络标号实现电路连接,这样绘制的电路图清晰整洁,U1是经典的51单片机IC,复位电路和晶振电路是传统电路,这里C5电容是靠近单片机VCC引脚的,用来对电源滤波,图中其它芯片VCC附近都有相同功能的滤波电容。U2是经典的低八位地址锁存电路,这里的74373也可以用74573代替,U3是地址译码电路,74138实现连续8个地址(1############000~1############111,#是无关位,可以是0也可以是1,取决于电路其它部分的需要)对象扩展。 图1MCU最小系统原理图 51单片机给大家推荐STC的89或90系列,其中90系列已经有片内ADC了,需要特别
5、强调的是,随着FLASH技术的成熟,片内FLASHROM从8K到64K任选,已经足够用了,所以现在很少有单片机系统外扩ROM了,这样使得EA/VPP和PSEN引脚失去了原先的功能了,STC的51单片机已经将这两个引脚发展成P4口了。 复杂的系统必然有很多输入输出接口,如图2所示,U5是数据锁存器74273,扩展一个8bits数据输出端口,U6是三态数据缓冲器74573,扩展一个8bits数据输入端口,分别用7432实现读写时序接口匹配。 图2MCU端口口扩展原理图 经典LCD1602接口如图3所示,这里7408、7402逻辑门用来实现6800时序(读写信号有独立接口
6、的是8080时序,这里只有使能信号E,需要外逻辑电路将读写信号相与合并使用)。 图3LCD1602接口电路原理图 以上给出的系统还算不上是复杂系统,总共采用了8块IC,一个实现特定功能的系统往往更复杂,需要采用的IC会更多。能不能把这些分离的器件用CPLD来实现呢?答案是肯定的。三、单片机与CPLD接口设计 以上经典电路中,系统扩展使用了单片机总线模式,各个对象采用的三总线连接,根据这种电路结构,这里给出一种单片机同CPLD的总线接口模式,如图4所示。 图4单片机与CPLD总线接口示意图 这里选择Altera公司早期的EPM7064SLC44-10为例,这是
7、很老的一款CPLD器件,是5V供电。其实选择什么CPLD型号并不是关键,关键是学习用CPLD代替分立器件的思想和方法。数据总线P0口同CPLD一般IO口相连,完成数据和低8位地址传送;控制总线包括单片机读写控制信号Rd(P3.7)和Wr(P3.6),以及地址锁存信号ALE(AddressLockEnable)和高位地址线A15(P2.7)通过CPLD的全局信号引脚输入,包括全局时钟输入:INPUT/GCLK1,全局清零输入INPUT/GCLRn,全局使能输入INPUT/OE1,INPUT/OE2,这几个
此文档下载收益归作者所有