1、 本科 毕业 论文 (设计 ) (二零 届) 基于 CPLD 的数字时钟设计 所在学院 专业班级 电气工程及其自动化 学生姓名 学号 指导教师 职称 完成日期 年 月 - 1 - 1 摘 要 随着电子技术的发展,当前数字系统的设计正朝着速度快、容量大、体积小、重量轻的方向发展。电子设计自动化的关键技术之一是要求用形 式化方法来描述系统的硬件电路,即要用所谓硬件描述语言来描述电路。所以硬件描述语言及相关的仿真、综合等技术的研究是当今电子设计自动化领域的一个重要课题。CPLD 具有编程灵活、集成度高、设计开发周期短、适用范围宽、开发工具先进、设计制造成本低、对设计者的硬件经验要求低、标准产品无需测
2、试、保密性强、价格大众化等特点,可实现较大规模的电路设计,因此被广泛应用于产品的原型设计和产品生产之中。 本系统 采用 Altera 公司的 CPLD 芯片 EPM3128A 来完成具有计时、日历、秒表三种功能。编写 VHDL 语言程序下载到 EPM3128A 上。由 EPM3128A 实现对键盘和显示的控制。系统能显示年、月、日、时、分、秒,并具有秒表功能。计时结果通过 6 个 8 字型 LED 显示。通过 4 个设置键,可以对计时系统的参数进行调整。 关键词: CPLD; EPM3128A; VHDL; QUARTUS II - 2 - 2 Abstract With the develo
3、pment of electronic technology, the current design of digital systems is moving fast, large capacity, small size, light weight and direction. Electronic design automation is one of the key technologies required to use formal methods to describe the hardware circuit, which use the so-called hardware
4、description language to describe the circuit. So the hardware description language and associated simulation, and integration of technology in todays electronic design automation is an important issue. CPLD has the programming flexibility, high integration, design and development cycle is short, and
5、 wide application, development tools, advanced design and manufacturing cost is low, the experience of the designers hardware requirements low, standard products without testing, confidentiality, so popular prices, Can achieve large-scale circuit design, so it is widely used in product design and pr
6、oduction prototype into. The system uses Alteras CPLD chip EPM3128A to complete a time, calendar, stopwatch three functions. Write VHDL language program to the EPM3128A on. EPM3128A realized by the keyboard and display control. The system can display year, month, day, hour, minutes, seconds, and has
7、 a stopwatch function. Timing Results 6 8 fonts LED display. Through 4 settings button, you can adjust the timing parameters of the system. Key Words: CPLD;EPM3128A; VHDL; QUARTUS II - 3 - 3 目 录 摘 要 .I ABSTRACT . 2 1 引言 . 1 2 总体设计 . 3 2.1 系统设计要求 . 3 2.1.1 时钟功能 . 3 2.1.2 秒表功能 . 3 2.2 系统框图 . 4 3 硬件设计
8、. 5 3.1 时钟电路及 DSP 片内资源 . 5 3.1.1 时钟电路 . 5 3.1.2 DSP 片内资源 . 5 3.1.3 双访问 RAM( DRAM) . 6 3.1.4 FLASH 程序存储器 . 6 3.2 通用定时器概述 . 6 3.2.1 通用定时器结构 . 7 3.2.2 通用定时器输入 . 8 3.2.3 通用定时计数器的工作模式 . 8 3.3 键盘和显示模块 . 10 3.3.1 LED 数码显示管结构 . 11 3.3.2 显示器工作原理 . 12 3.3.3 数码管,键盘的连接 . 13 3.4 JTAG 仿真接口设计 . 14 3.4.1 F240 仿真接口设
9、计 . 14 3.4.2 3128 仿真接口设计 . 15 4 软件设计 . 16 4.1 VHDL 语言的发展及特点 . 16 4.2 QUARTUSII 开发软件使用说明 . 17 4.3 键盘和显示程序设计流程图 . 20 4.4 分频电路的设计 . 23 4.4.1 CPLD 的介绍 . 23 4.4.2 3128 对 10Mhz的晶振的分频 . 23 4.4.3 3128 对 60 进制的设计 . 23 4.4.4 3128 对 24 进制的设计 . 24 4.4.5 3128 对天的设计 . 24 4.4.6 3128 对月的设计 . 24 4.4.7 3128 对年的设计 . 2
10、5 5 结论 . 26 - 4 - 4 参考文献 . 27 附录 1 实验原理图 . 28 附录 2 软件设计程序 . 29 - 1 - 1 1 引言 20 世纪 70 年代,最早的可编程逻辑器件 -PLD 诞生了。其输出结构是可编程的逻辑宏单元,因为它的硬件结构设计可由 软件 完成,因而它的设计比纯硬件的数字电路具有很强的灵活性,但其过于简单的结构也使它们只能实现规模较小的电路 1。为弥补 PLD只能设计小规模电路这一缺陷,20 世纪 80 年 代中期,推出了复杂可编程逻辑器件 CPLD( Complex Programmable Logic Device) 。目前应用已深入网络、仪器仪表、
11、汽车电子、数控机床、航天测控设备等方面 2。 当今社会是数字化的社会,是数字集成电路广泛应用的社会。数字集成电路本身在不断地进行更新换代。它由早期的电子管、晶体管、小中规模集成电路、发展到超大规模集成电路以及许多具有特定功能的专用集成电路。但是,随着微电子技术的发展,设计与制造集成电路的任务已不完全由半导体厂商来独立承担 1。系统设计师们更愿意自己设计专用集成 电路芯片,而且希望专用集成电路的设计周期尽可能短,最好是在实验室里就能设计出合适的专用集成电路芯片,并且立即投入实际应用之中,因而出现了县城可编程逻辑器件( FPLD),其中应用最广泛的当属县城可编辑门阵列( FPGA)和复杂可编程逻辑
12、器件( CPLD) 3。早期的可编程逻辑器件只由可编程只读存贮器、紫外线可按除存贮器和店可擦除只读存贮器三种。由于结构的限制,它们只能完成简单的数字逻辑功能。其后,出现了一类结构上稍复杂的可编程芯片,即可编程逻辑器件( PLD),它能够完成各种数字逻辑功能。典型的 PLD 由一个“与” 门和一个“或”门阵列组成,而任意一个组合逻辑都可以用“与 或”表达式来描述,所以, PLD 能以乘积和的形式完成大量的组合逻辑功能。这一阶段的产品主要有 PAL(可编程阵列逻辑)和 GAL(通用阵列逻辑)。 PAL 期间是现场可编程的,它的实现工艺有反熔丝技术、 EPROM 技术和 EEPROM 技术。还有一类
13、结构更为灵巧的逻辑期间是可编程逻辑阵列( PLA),它也由一个“与”平面和一个“或”平面构成,但是这两个平面的连接关系是可编程的在 PAL 的基础上,又发展了一种通用阵列逻辑 GAL( Generic Array Logic),它 采用了EEPROM 工艺,实现了电可擦除、电可改写,其输出结构是可编程的逻辑宏单元,因而它的设计具有很强的灵活性,但其过于简单的结构也使它们只能实现- 2 - 2 规模较小的电路。为了弥补这一缺陷, 20 世纪 80 年代中期, Altera 和 Xilinx分别推出了类似于 PAL 结构的扩展型 CPLD( Complex Programmable Logic D
14、evice)和与标准门阵列类似的 FPGA( Field Programmable Gate Array),它们都具有体系结构和逻辑单元灵活、集成度高以及使用范围宽等特点。 1与门阵列等 其他 ASIC( Application Specific Integrated Circuit)相比,它们又具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实时在线检验等优点,因此被广泛应用于产品的原型设计和产品生产之中。几乎所有应用门阵列、 PLD 和中小规模通用数字集成电路的场合均可应用FPGA 和 CPLD 器件。 CPLD/ FPGA、硬件描述语言已成为设计复杂数字
15、系统的重要手段。在用于设计、仿真数字系统的众多 EDA (电子设计自动化)开发软件中 , Altera 公司的 Quartus II 软件以集成化成度高、界面友好、具有在线帮助功能、支持多种器件、易学易用等特点而得到广泛应用。本文以数字钟的设计为例介绍在Quartus II 软件平台上 , 用 VHDL 语言在 CPLD 上 设计数字时钟系统的过程。 硬件描述语言( hardware description language, HDL)是电子系统硬件行为描述、结构描述、数据流描述的语言。目前,利用硬件描述语言可以进行数字电子系统的设计。随着研究的深入,利用硬件描述语言进行模拟电子系统设计或混合
16、电子系统设计也正在探索中。 国外硬件描述语言种类很 多,有的从 Pascal 发展而来,也有一些从 C 语言发展而来。有些 HDL 成为 IEEE 标准,但大部分是企业标准。 VHDL 来源于美国军方,其他的硬件描述语言则多来源于民间公司。可谓百家争鸣,百花齐放。这些不同的语言传播到国内,同样也引起了不同的影响。在我国比较有影响的有两种硬件描述语言: VHDL 语言和 Verilog HDL 语言。这两种语言已成为 IEEE标准语言 4。 - 3 - 3 2 总体设计 本次课题采用 Altera公司的 CPLD芯片 EPM3128A来完成秒表和时钟功能。 2.1 系统设计要求 设计一个综合性的
17、计时系统,要求 能实现年、月、日、时、分、秒及秒表等综合计时功能,同时将计时结果通过 6 个 8 段数码管显示,并且可通过 4 个设置键,对计时系统的有关参数进行调整。 2.1.1 时钟功能 在时钟功能模式下能实现对时、分、秒和年、月、日的显示。 6 个 8 段数码管从左到右依次显示时、分、秒或年、月、日。这两种工作模式可以通过 4个设置键来选择。由于本系统只有 6 个 8 段数码管,所以计年模块只对年份的后两位进行计数,计年的范围是 2000-2099 年。要求计时精度大于 0.1s5。 2.1.2 秒表功能 要求设置复位开关。当按下复位开关时,秒表清零 并做好计时的准备。在任何情况下,只要
18、按下复位开关,秒表都要无条件地进行复位操作,即使是在计时过程中也要无条件地进行清零操作 5。 1 要求设置开始和停止开关。当按下开始开关后,将启动秒表并开始计时,当按下停止开关时,将终止秒表的计时操作,并显示计时结果。 2 要求计时精度大于 0.01s。要求设计的计时器能够显示分( 2 位)、秒( 2位)、 0.01 秒( 2 位)的时间。 3 要求秒表的最长计时时间为 1 小时。 4 输入信号 复位开关信号 rest_sw; 启 /停开关信号 start_on_off; 系统电源复位信号 sysreset; - 4 - 4 外部时钟信号 clk; 2.2 系统框图 本次设计可以分成 CPLD
19、、 DSP 以及键盘和显示 3 大模块。各模块的连接关系如图 2-1 所示。 C P L D D S P键 盘 、 显 示 图 2-1 系统框图 - 5 - 5 3 硬件设计 本次设计用一片 3128 和一片 F240 来完成。 F240 实现对键盘输入信号的处理,控制显示部分,对 CPLD 的输入时钟进行计数。由于外加 10Mhz晶振的频率超过了 F240定时器的外部时钟能接收的最高外部频率。所以用 3128对 10Mhz的晶振进行分频并输出频率为 1Khz和 10hz的时 钟。 3.1 时钟电路及 DSP 片内资源 这里只介绍用 10Mhz晶振作为外部时钟电路及部分 DSP 片内资源。 3.1.1 时钟电路 DSP 的时钟可以用内部时钟或外部时钟。用内部时钟时外接基准晶体和片内的 PLL(锁相环)电路共同组成系统的内部时钟电路,用外部震荡器时钟时,一个独立的外部震荡器产生的时钟接到 XTAL1/CLKIN 引脚,此时内部的震荡器被旁路, XTAL2 的引脚悬空。外部时钟的电路如图 3-1 所示 6。 图 3-1 外部震荡器时钟的连接 3.1.2 DSP 片内资源 F240 具有 16 位地址线,可分别访问 这三个独立的地址空间,每个空间的容量均为 64K 字。 7 1 程序存储器空间为 64K 字。 2 数据存储器空间为 64K 字。 3 I/O 空间为 64K 字。