毕业设计(论文)基于CPLD的数字钟设计

上传人:1777****777 文档编号:38927711 上传时间:2021-11-09 格式:DOC 页数:20 大小:2.33MB
收藏 版权申诉 举报 下载
毕业设计(论文)基于CPLD的数字钟设计_第1页
第1页 / 共20页
毕业设计(论文)基于CPLD的数字钟设计_第2页
第2页 / 共20页
毕业设计(论文)基于CPLD的数字钟设计_第3页
第3页 / 共20页
资源描述:

《毕业设计(论文)基于CPLD的数字钟设计》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于CPLD的数字钟设计(20页珍藏版)》请在装配图网上搜索。

1、摘要CPLD/FPGA是近几年集成电路中发展最快的产品。由于CPLD性能的高速发展以及设计人员自身能力的提高,可编程逻辑器件供应商将进一步扩大可编程芯片的领地,将复杂的专用芯片挤向高端和超复杂应用。据IC Insights的数据显示,CPLD市场从1999年的29亿美元增长到去年的56亿美元,几乎翻了一番。Matas预计这种高速增长局面以后很难出现,但可编程逻辑器件依然是集成电路中最具活力和前途的产业。本文介绍了利用CPLD 器件ispLSI1032E 采用在系统编程技术构成数字钟控系统的基本过程,本系统在东南大学SE-3 型ISP 数字实验机上通过仿真实验,只要设计出印刷电路板即可使该系统成

2、为实际产品。实践证明,在系统编程技术与新型可编程逻辑器件的结合,可以将一个复杂的数字系统大部分功能在一片CPLD 器件内实现,这不仅简化了数字系统的设计过程,而且大大减少了系统所用器件的数量,提高了系统的可靠性与性价比。关键词:CPLD,数字钟控,SE-3 型ISP 数字实验机,Lattice目录摘要1目录2一 系统简介31.CPLD简介3(1)CPLD的发展历史及应用领域3(2)CPLD器件特点4(3)如何使用CPLD4(4)FPGA与CPLD的辨别和分类52.数码管显示器简介5(1)数码管的分类5(2)数码管的驱动方式6(3)数码管参数6(4)数码管应用7(5)数码管使用的电流与电压7(6

3、)恒流驱动与非恒流驱动对数码管的影响7(7)怎样测量数码管引脚8二 系统电路设计91数字钟控系统的基本结构92数字钟在ispLSI1032E 内的实现10(1)秒计数模块11(2)分计数模块11(3)时计数模块12(4)上下午(A/P)转换模块13(5)数字钟的组装143.时控系统的设计14(1)二十进制译码电路14(2)时间选择矩阵154.数字钟控系统构成16三 结束语18四 参考文献19附录一:部分程序清单20一 系统简介1.CPLD简介CPLD(Complex Programmable Logic Device)复杂可编程逻辑器件,是从PAL和GAL器件发展出来的器件,相对而言规模大,结

4、构复杂,属于大规模集成电路范围。是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。CPLD主要是由可编程逻辑宏单元(MC,Macro Cell)围绕中心的可编程互连矩阵单元组成。其中MC结构较复杂,并具有复杂的I/O单元互连结构,可由用户根据需要生成特定的电路结构,完成一定的功能。由于CPLD内部采用固定长度的金属线进行各逻辑块的互连,所以设计的逻辑电路具有时间可预测性,避免了分段式互连结构时序不完全预测的缺点。(1)CPLD的

5、发展历史及应用领域20世纪70年代,最早的可编程逻辑器件-PLD诞生了。其输出结构是可编程的逻辑宏单元,因为它的硬件结构设计可由软件完成(相当于房子盖好后人工设计局部室内结构),因而它的设计比纯硬件的数字电路具有很强的灵活性,但其过于简单的结构也使它们只能实现规模较小的电路。为弥补PLD只能设计小规模电路这一缺陷,20世纪80年代中期,推出了复杂可编程逻辑器件-CPLD。目前应用已深入网络、仪器仪表、汽车电子、数控机床、航天测控设备等方面。 (2)CPLD器件特点它具有编程灵活、集成度高、设计开发周期短、适用范围宽、开发工具先进、设计制造成本低、对设计者的硬件经验要求低、标准产品无需测试、保密

6、性强、价格大众化等特点,可实现较大规模的电路设计,因此被广泛应用于产品的原型设计和产品生产(一般在10,000件以下)之中。几乎所有应用中小规模通用数字集成电路的场合均可应用CPLD器件。CPLD器件已成为电子产品不可缺少的组成部分,它的设计和应用成为电子工程师必备的一种技能。 (3)如何使用CPLDCPLD是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。这里以抢答器为例讲一下它的设计(装修)过程,即芯片的设计流程。CPLD的

7、工作大部分是在电脑上完成的。打开集成开发软件(Altera公司 Max+pluxII)画原理图、写硬件描述语言(VHDL,Verilog)编译给出逻辑电路的输入激励信号,进行仿真,查看逻辑输出结果是否正确进行管脚输入、输出锁定(7128的64个输入、输出管脚可根据需要设定)生成代码通过下载电缆将代码传送并存储在CPLD芯片中。7128这块芯片各管脚已引出,将数码管、抢答开关、指示灯、蜂鸣器通过导线分别接到芯片板上,通电测试,当抢答开关按下,对应位的指示灯应当亮,答对以后,裁判给加分后,看此时数码显示加分结果是否正确,如发现有问题,可重新修改原理图或硬件描述语言,完善设计。设计好后,如批量生产,

8、可直接复制其他CPLD芯片,即写入代码即可。如果要对芯片进行其它设计,比如进行交通灯设计,要重新画原理图、或写硬件描述语言,重复以上工作过程,完成设计。这种修改设计相当于将房屋进行了重新装修,这种装修对CPLD来说可进行上万次。经过几十年的发展,许多公司都开发出了CPLD可编程逻辑器件。比较典型的就是Altera、Lattice、Xilinx世界三大权威公司的产品,这里给出常用芯片: Altera EPM7128S(PLCC84) Lattice LC4128V(TQFP100)Xilinx XC95108 (PLCC84) (4)FPGA与CPLD的辨别和分类FPGA与CPLD的辨别和分类主

9、要是根据其结构特点和工作原理。通常的分类方法是:将以乘积项结构方式构成逻辑行为的器件称为CPLD,如Lattice的ispLSI系列、Xilinx的XC9500系列、Altera的MAX7000S系列和Lattice(原Vantis)的Mach系列等。将以查表法结构方式构成逻辑行为的器件称为FPGA,如Xilinx的SPARTAN系列、Altera的FLEX10K或ACEX1K系列等。2.数码管显示器简介(1)数码管的分类数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元

10、连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。(2)数码管的驱动方式数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码

11、管的驱动方式的不同,可以分为静态式和动态式两类。 静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×840根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。 动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,

12、f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的

13、显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。(3)数码管参数8字高度:8字上沿与下沿的距离。比外型高度小。通常用英寸来表示。范围一般为0.25-20英寸。长*宽*高:长数码管正放时,水平方向的长度;宽数码管正放时,垂直方向上的长度;高数码管的厚度。时钟点:四位数码管中,第二位8与第三位8字中间的二个点。一般用于显示时钟中的秒。(4)数码管应用数码管是一类显示屏 通过对其不同的管脚输入相对的电流 会使其发亮 从而显示出 数字 能够显示 时间 日期 温度 等所有可用数字表示的参数 由于它的价格便宜 使用简单 在电器 特别是家电领域应用极为广泛

14、空调 热水器 冰箱 等等 绝大多数 热水器用的都是数码管 其他家电 也用液晶屏与 荧光屏 (5)数码管使用的电流与电压电流:静态时,推荐使用10-15mA;动态时,16/1动态扫描时,平均电流为4-5mA,峰值电流50-60mA。电压:查引脚排布图,看一下每段的芯片数量是多少?当红色时,使用1.9V乘以每段的芯片串联的个数;当绿色时,使用2.1V乘以每段的芯片串联的个数。(6)恒流驱动与非恒流驱动对数码管的影响A.显示效果:由于发光二极管基本上属于电流敏感器件,其正向压降的分散性很大, 并且还与温度有关,为了保证数码管具有良好的亮度均匀度,就需要使其具有恒定的工作电流,且不能受温度及其它因素的

15、影响。另外,当温度变化时驱动芯片还要能够自动调节输出电流 的大小以实现色差平衡温度补偿。B.安全性:即使是短时间的电流过载也可能对发光管造成永久性的损坏,采用恒流驱动电路后可防止 由于电流故障所引起的数码管的大面积损坏。另外,我们所采用的超大规模集成电路还具有级联延时开关特性,可防止反向尖峰电压对发光二极管的损害。超大规模集成电路还具有热保护功能,当任何一片的温度超过一定值时可自动关断,并且可在控制室内看到故障显示。(7)怎样测量数码管引脚找公共共阴和公共共阳:首先,我们找个电源(3到5伏)和1个1K(几百欧的也行)的电阻,VCC串接个电阻后和GND接在任意2个脚上,组合有很多,但总有一个LE

16、D会发光的,找到一个就够了,然后GND不动,VCC(串电阻)逐个碰剩下的脚,如果有多个LED(一般是8个),那它就是共阴的了。相反用VCC不动,GND逐个碰剩下的脚,如果有多个LED(一般是8个),那它就是共阳的。也可以直接用数字万用表,红表笔是电源的正极,黑表笔是电源的负极。二 系统电路设计在系统编程(ISP)器件是在20 世纪90 年代出现的最先进的可编程器件,它无须编程,可通过PC 机经下载电缆直接对安装在用户目标版上的ISP 器件重复编程,实现系统重构,它给电子产品的设计和产生带来了革命性的变化。ISP synario System 是Lattice 半导体公司的ispLSI 系列器件

17、的开发软件,软件内除了基本逻辑器件库外,还有一个较为完善的宏(MACRO)器件库,每一个宏器件是一组预先编好存放在库中的逻辑方程,它代表一个逻辑模块,设计时可作为逻辑器件调用。充分利用宏器件可以使逻辑设计大大简化。在进行复杂逻辑系统设计时,可以将整个系统划分为若干模块,而每个模块还可划分为若干子模块,设计时可由底层模块开始向上逐级设计、调试(或仿真),最后进行顶层组装调试。逻辑系统中的子模块可以直接用ABEL-HDL 语言编辑,也可直接由电路图编辑而成。以下简要介绍利用ispLSI1032E 器件构成的数字钟控系统。1数字钟控系统的基本结构数字钟控系统结构框图如图1 所示,数字钟部分由秒、分、

18、时计数电路,上、下午(A/P)转换电路,译码显示电路以及校时电路等组成。七只LED 数码管分别显示上、下午和时、分、秒。钟控部分由二十进制译电路,时间选择矩阵电路,定时电路以及发声电路等组成。脉冲信号发生器提供秒脉冲和发声高频振荡源。整个系统除了系统控制开关、脉冲信号发生器、发声电路以及LED 数码管外,其余部分(如虚线框内所示)全部在一片ispLSI1032E 内实现。图1 数字钟控系统结构框图2数字钟在ispLSI1032E 内的实现数字钟内核心部分是时、分、秒计数器,选用宏器件中的两位十进制递增计数器CDU38分别构成时、分、秒计数器。CDU38 是一个由ABE-HDL 语言编辑的两位十

19、进制递增计数器,其逻辑符号及功能表如图2 所示。输出端:Q7Q0 以8421BCD 码形式输出两位十进制数,CAO为进位输出端。输入端:CLK 为脉冲输入端(上跳沿触发),CD 为清零端,CAI 为进位输入(计数容许)端,EN 为选片使能端,LD 为同步置数控制端,D7D0 为置数输入端。可以通过“反馈置数”方式利用宏器件CDU38 组成100 以内的任意进制计数器。图2 宏器件CDU38 的逻辑符号(a)和功能表(b)(1)秒计数模块秒计数器为一60 进制递增计数器,将CDU38 的输出端Q6、Q4、Q3、Q0 通过与门2 控制置数控制端LD,因为置数输入端D7D0 全部接“地”,所以当计数

20、器从0 计数至59 时,LD 端为高电平,为置数做好准备。同时进位输出CAO(取自LD 端)也为高电平,可用做高位计数器的级连信号。当第60 个脉冲到来时,计数器置零,实现60 进制计数。秒计数器子电路如图3所示,图中输出端Q7Q0 采用总线表示方式,其模块符号见图8 数字钟模块中I-8。图3 秒计数器子电路(2)分计数模块分计数器子电路如图4 所示,其模块符号见图8 数字钟模块中I-7。分计数器也是一个60 进制递增计数器,其构成思路与秒计数器相同,不再赘述。在分计数子电路中为CDU38 输出端配接了两个输出高电平有效的BCD7 段显示译码子模块(TTL47GB),可直接驱动7 段显示LED

21、 数码管。输出高电平有效的BCD7 段显示译码子模块符号与用ABELHDL 语言编写的子程序如图5 所示。图4 分计数器子电路图5 BCD7 段显示译码电路模块符号与子程序(3)时计数模块时计数器子电路如图6 所示,其模块符号见图8 数字钟模块中I-5。时计数器也是利用CDU38 通过“反馈置数”方式构成。采用12 小时计时制,Q4、Q1 经与门I19 和I11 接止LD端,计数之间采用同步级连方式,当Q4 和Q1 为“1”且进位输入端CAI(接分计数器进位输出CAO)为高电平,此时对应时间为12 时59 分59 秒,这时CDU38 的LD 端为高电平,而D7D1 接“地”,D0 接高电平,因

22、此在下一个秒脉冲到来之时,时计数器数值为01(分、秒计数器均为00),实现12 进制计数。图6 时计数器子电路与门I18 的作用是当时间为为11 时59 分59 秒时经CAO12 端输出一高电平,用来控制上下午(A/P)的转换。(4)上下午(A/P)转换模块图7 为A/P 转换模块符号与用ABEL-HDL 语言编写的子程序,模块输出端AG 直接与7段显示LED 数码管相连,用来显示A 或P。数码管显示A 时输出端AMO 为高电平,显示P 时为低电平,用于时间选择控制。输入端XZ 控制A、P 显示,输入电平显示A,低电平显示P。MD为灭灯控制,当计时采用24 进制时,MD 接低电平,AG 输出全

23、部为“0”,实现灭灯。模块输入输出逻辑关系如图7 真值表(truth_table)所示。图7 A/P 转换电路的模块符号与子程序(5)数字钟的组装对秒、分、时计数模块进行组装后形成的数字钟子电路如图8 所示,其模块符号见图11中I-2。秒、分、时计数器及A/P 转换电路之间采用同步级连方式,秒脉冲同时引入各计数器时钟输入端(CLK),利用低位计数器的进位输出端(CAO)通过或门控制高位计数器计数容许端(CAI)。或门另一输入端通过加高电平实现校时功能,TF、TS、TAP 分别作为分、时、A/P的校对控制端。图8 数字钟子电路3.时控系统的设计时控系统由二一十进制译码电路、时间选择矩阵组成。(1

24、)二十进制译码电路二十进制译码电路采用ABEL-HDL 语言编写而成,其输入端(A0A3)接计数器输出的8421BCD 码,输出端Y0Y9 各对应一组输入BCD 码,高电平有效,其电路模块符号与子程序如图9 所示,用来实现时间选择。图9 二十进制译码电路的模块符号与子程序(2)时间选择矩阵时间选择矩阵子电路如图10 所示,其模块符号见图11 钟控系统中I-1。子电路的输入端FO7:0分别接时钟分计数器输出端Q7Q0,SO4:0分别接时计数器输出Q4Q0,输入端AM接A/P 转换电路的输出端AMO,用“1”和“0”状态来区别上、下午。利用AM 配合时、分译码器的输出,经与门进行选择,可选定24

25、小时内任意时刻(本电路只选择到分)。图10 中人的时间选择矩阵是一个学校上下课自动打铃系统,各与门所选择的时间如图所示,与门输出经或门处理后通过输出端BSH 启动打铃系统。图10 时间选择矩阵子电路图11 钟控系统4.数字钟控系统构成在ISP Synario System 原理图编辑窗口中将数字钟与时间选择矩阵连接后构成的钟控系统如图11 所示。将输入、输出端定义完毕,对系统进行编译并形成JED 文件,然后下载到芯片ispLSI1032E-70PLCC84 中。输入端TAP、TS 和TF 通过外加高电平实现A/P、时、分校正,CD 和CAI 通过外加高电平实现清零和计时容许控制。系统由CLK

26、端输入2Hz 脉冲经D 触发器I47 分频,产生秒脉冲供数字计时。由GP 端输入高频脉冲信号经D 触发器I46 分频在与门I60 控制下推动扬声器发声。BK 端通过输入高电平选通与门I60 实现发声控制端。输出端MQ7MQ0 通过两片74LS48驱动两只7 段显示数码管作秒显示。XF13XF0 直接驱动两只数码管作分显示。SQ7SQ0 通过两片74LS48 驱动两只数码管作时显示。输出端AAAG 驱动一只数码管做A/P 显示。用BSH端定时输出高频脉冲经功放电路驱动扬声器发声模拟打铃。系统上电后,首先将数字钟校准,BK 端输入高电平,当选定时刻到来时时间选择矩阵I1输出端BSH 由低电平上跳为

27、高电平,D 触发器I58 输出高电平,选通与门I60,扬声器发声。发生持续时间由二十进制译码I3 设定,本系统设定时间为5 秒,当发声时间持续至5 秒时,Y5端输出低电平,关闭与门I60,发声停止。三 结束语以上介绍了利用CPLD 器件ispLSI1032E 采用在系统编程技术构成数字钟控系统的基本过程,本系统在东南大学SE-3 型ISP 数字实验机上通过仿真实验,只要设计出印刷电路板即可使该系统成为实际产品。实践证明,在系统编程技术与新型可编程逻辑器件的结合,可以将一个复杂的数字系统大部分功能在一片CPLD 器件内实现,这不仅简化了数字系统的设计过程,而且大大减少了系统所用器件的数量,提高了系统的可靠性与性价比。四 参考文献【1】 侯伯亨 李伯成 CPLD原理及接口技术 西安电子科技大学出版社【2】 张友德等 CPLD应用和实验 复旦大学出版社【3】 夏路易等 电路原理图与电路板设计北京希望电子出版社【4】 马忠梅等 C语言应用程序设计 北京航空航天大学出版社【5】 张志良 CPLD原理与控制技术 机械工业出版社【6】 严蔚敏 数据结构 清华出版社【7】 王 闵 CPLD组成原理 电子工业出版社【8】 方 敏 操作系统教程 电子科大出版社附录一:部分程序清单/*+FHDR-

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!