一、导言
单片机商场能够用巨无霸来描绘,其间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 的详细介绍咱们能够自己在网上阅读,许多许多。
二、单片机体系中几个典型电路介绍
首先从了解的最小体系电路电路说起,如图1所示,图顶用网络标号完结电路衔接,这样制作的电路图明晰整齐,U1 是经典的51 单片机 IC,复位电路和晶振电路是传统电路,这儿C5电容是接近单片机VCC引脚的,用来对电源滤波,图中其它芯片VCC 邻近都有相同功用的滤波电容。U2 是经典的低八位地址锁存电路,这儿的74373 也能够用74573 替代,U3 是地址译码电路,74138 完结接连8 个地址(1### #### #### #000 ~ 1####### #### #111,# 是无关位,能够是0 也能够是1,取决于电路其它部分的需求)目标扩展。
图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端口口扩展原理图
经典LCD1602 接口如图3 所示,这儿7408、7402 逻辑门用来完结6800 时序(读写信号有独立接口的是8080 时序,这儿只有使能信号E,需求外逻辑电路将读写信号相与兼并运用)。
图3 LCD1602接口电路原理图
以上给出的体系还算不上是杂乱体系,一共选用了8 块IC,一个完结特定功用的体系往往更杂乱,需求选用的IC 会更多。能不能把这些别离的器材用CPLD 来完结呢?答案是必定的。
三、单片机与CPLD接口规划
以上经典电路中,体系扩展运用了单片机总线形式,各个目标选用的三总线衔接,依据这种电路结构,这儿给出一种单片机同CPLD 的总线接口形式,如图4 所示。
图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(AddressLOCk Enable)和高位地址线A15(P2.7) 经过CPLD 的大局信号引脚输入,包含大局时钟输入:INPUT/GCLK1, 大局清零输入INPUT/GCLRn, 大局使能输入INPUT/OE1,INPUT/OE2, 这几个信号有专用连线与CPLD 中每个宏单元相连,确保信号到每个宏单元的延时相同而且延时最短。实践电路原理图如图5所示。
图5 MCU与CPLD接口电路原理图
这样一块CPLD 器材就替代以上除单片机外的7 块芯片了,在电路板大将节省大片的PCB面积,优点还远不止这些,由于CPLD 是二次开发的,其内部电路能够依据需求再次规划,重复修正,极大的增加了电路规划的灵活性。
读者看到这儿,必定对自己着手规划CPLD 电路充满了等待,下面介绍怎么凭借东西软件开发CPLD 内部电路。
四、CPLD开发介绍
一般来说,CPLD 生产商都有配套的开发东西, 这儿介绍ALTERA 公司的一款易学易用的CPLD 开发软件MaxPlusII,尽管该公司最新版的软件是QUARTusII,但针对某些详细的器材,挑选MaxPlusII 仍是很便当的。该软件入门教程请到百度查找《MaxplusII 规划CPLD 入门》,许多手把手的材料。
最简略的电路规划办法不外乎是直接制作电路原理图。选用原理图输入,初学者乃至不需求额定学习就能够从事CPLD 规划。咱们只需求在软件平台上从集成器材库调出对应的器材,制作相同的电路原理图即可,完结以上功用电路原理图制作完结后如图6 所示。
图6 原理图输入规划CPLD
该原理图编译成功后,咱们还需求依据实践电路衔接图分配绑定引脚,引脚绑定如图7 所示,再编译就能够得到可供下载的文件*.pof 了,最终只需求将下载电缆衔接到电路板上,依然经过该软件即可完结下载。
正由于CPLD 的IO 脚是能够随意分配的,一般咱们会结合实践的PCB 板规划布线的便当来调整引脚分配,引脚分配更改后,只需求重新分配引脚再编译下载即可。
图7 CPLD引脚绑定
除了原理图输入外,杂乱的CPLD 器材开发,一般用硬件描绘言语规划,常用的硬件描绘言语有VHDL,VerilogHDL,这些硬件描绘言语的把握是需求体系学习的,根据硬件描绘言语的片上体系规划,FPGA开发现在现已成为高薪作业,社会需求巨大。用硬件描绘言语开发CPLD 的办法与前面的原理图输入法相似,也需求编译纠错,时序仿真,引脚绑定,最终编译下载即可。
给CPLD 下载完程序,这块芯片便是你所规划的逻辑时序电路了,一般比别离元器材功耗更低,功能更优。
真正是根据上述思维, 笔者将51 单片机同CPLD 相结合,开发了一款合适初学者运用的学习板–Mini51 板。
五、Mini51板概述
Mini51 板体积细巧(11×8 厘米),合适用户随身携带,只需PC 机加一根USB 线就能够做硬件试验了,特别合适大专院校学生和喜好者自主学惯用。实物图如图8 所示。
图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板结构图
单片机首选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。