基于fpga的数字秒表的设计内容摘要:
0 年代初,从CAD(计算机辅助没计)、 CAM(算机辅助制造)、 CAT(计算机辅助测试 )和 CAE(计算机辅助工程 )的概念发展而来的。 EDA 技术就是以计算机为工具,在EDA 软件平台上,对以硬件描述语言 VHDL 为系统逻辑描述手段完成的设计文件自动地完成逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑行局布线、逻辑仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工 作 [2]。 设计者的工作仅限于利用软件的方式,即利用硬件描述语言来完成对 系统硬件功能的描述,在 EDA 工具的帮助下就可以得到最后的设计结果。 尽管目标系统是硬件,但整个设计和修改过程如同完成软件设计一样方便和高效。 EDA 技术中最为瞩目的功能,即最具现代电子设计技术特征的功能就是日益强大的逻辑设计仿真测试技术。 EDA 仿真测试技术只需通过计算机就能对所设计的电子系统从各种不同层次的系统性能特点完成一系列准确的测试与仿真操作,在完成实际系统的安装后还能对系统上的目标器件进行所谓边界扫锚测试。 这一切都极大地提高了大规模系统电子设计的自动化程度。 另一方面,高速发展的 CPLD/FPGA 器件又 为 EDA 技术的不断进步奠定可坚实的物质基础。 CPLD/FPGA 器件更广泛的应用及厂商间的竞争,使得普通的设计人员获得廉价的器件和 EDA 软件成为可能。 现代的 EDA 工具软件已突破了早期仅能进行 PCB 版图设计,或类似某些仅限于电路功能模拟的、纯软件范围的局限,以最终实现可靠的硬件系统为目标,配备了系统设计自动化的全部工具。 如配置了各种常用的硬件 描述 平台 VHDL、Verilog HDL、 ABEL HDL 等;配置了多种能兼用和混合使用的逻辑描述输入工具,如硬件描述语言文本输入法(其中包括布尔方程描述方式、原理图描述 方式、状态图描述方式等)以及原理图输入法、波形输入法等;同时还配置了高性能的逻辑综合、优化和仿真模拟工具 [3]。 硬件描述语言 —— VHDL VHDL 的简介 VHDL 语言是一种用于电路设计的高级语言。 它在 80 年代的后期出现。 最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言。 但是,由于它在一定程度上满足了当时的设计需求,于是他在 1987 年成为 A I/IEEE 的标准( IEEE STD 10761987)。 1993 年更进一步修订,变得更加完备,成为 A I/IEEE 的 A I/IEEE STD 10761993 标准。 目前,大多数的 CAD 厂商出品的 EDA 软件都兼容了这种标准。 自 IEEE 公布了VHDL 的标准版本, IEEE1076(简称 87 版 )之后,各 EDA 公司相继推出了自己的 VHDL 设计环境,或宣布自己的设计工具可以和 VHDL 接口。 此后 VHDL 在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。 1993 年, IEEE 对 VHDL 进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL 的内容,公布了新版本的 VHDL,即 IEEE 标准的 10761993 版本,(简称 93 版)。 现在, VHDL 和 Verilog 作为 IEEE 的工业标准硬件描述语言,又得到众多 EDA 公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。 有专家认为,在新的世纪中, VHDL 语言将承担起大部分的数字系统设计任务 [4]。 VHDL 语言的特点 VHDL 的程序结构特点是将一项工程设计,关于用 VHDL 和原理图输入进行 CPLD/FPGA 设计的粗略比较:在设计中,如果采用原理图输入的设计方式是比较直观的。 你要设计的是什么,你就直接从库中调出来用就行了。 这样比较符合人们的习 惯。 在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。 这种将设计实体分成内外部分的概念是VHDL 系统设计的基本点。 应用 VHDL 进行工程设计的优点是多方面的。 (1) 与其他的硬件描述语言相比, VHDL 具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。 强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。 (2) VHDL 丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进 行仿真模拟。 (3) VHDL 语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。 符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。 (4) 对于用 VHDL 完成的一个确定的设计,可以利用 EDA 工具进行逻辑综合和优化,并自动的把 VHDL 描述设计转变成门级网表。 (5) VHDL 对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。 VHDL 的设计流程 它主要包括以下几个步 骤: (1) 文本编辑: 用任何文本编辑器都可以进行,也可以用专用的 VHDL 编辑环境。 通常VHDL 文件保存为 .vhd 文件。 (2) 功能仿真: 将文件调入 VHDL 仿真软件进行功能仿真,检查逻辑功能是否正确(也叫前仿真,对简单的设计可以跳过这一步,只在布线完成以后,进行时序仿真) (3) 逻辑综合: 将源文件调入逻辑综合软件进行综合,即把语言综合成最简的布尔表达式。 逻辑综合软件会生成 .edf 或 .edif 的 EDA 工业标准文件。 (4) 布局布线: 将 .edf 文件调入 PLD 厂家提供的软件中进行布线,即把设计好的 逻辑安放PLD/FPGA 内。 (5) 时序仿真: 需要利用在布局布线中获得的精确参数,用仿真软件验证电路的时序。 (也叫后仿真) 通常以上过程可以都在 PLD/FPGA 厂家提供的开发工具。 (6) 器件编程 数字秒表的 设计 的 要求 设计一个基于 FPGA 的数字秒表的具体化技术指标如下: (1) 能对 0 秒~ 12 小时 范围进行计时; (2) 计时精度达到 10ms; (3) 设计复位开关和启停开关,复位开关可以在任何情况下使用,使用以后计时器清零,并做好下一次计时的准备。 (4)用 FPGA 器件实现,用 VHDL 语言编 程,并进行下载,仿真。 数字秒表设计的目的 本次设计的目的就是在掌握 VHDL 语言 的基础上,了解 EDA 技术,掌握状态机工作原理,同时了解计算机时钟脉冲是怎么产生和工作的。 在 掌握所学的计算机组成与结构课程理论知识时。 通过对 数字秒表的 设计,进行理论与实际的结合,提高与计算机有关设计能力,提高分析、解决计算机技术实际问题的能力。 通过 毕业设计 深入理解计算机结构与控制实现的技术,达到课程设计的目标。 第 二 章 设计思想与方法论证 实现数字秒表的方法有多种,可以用单片机作为控制芯片, 采用 AT89C52 单片机 ,数字显示采用共阳七段 LED 显示器。 也可以用 FPGA 作为控制芯片,采用 EDA 技术用 VHDL 语言实现硬件电路。 当然每一种方案都有其各自的优点。 本章列举、说明了 三 种不同实现数字秒表 的方案,对两种方案的优缺点进行了对比,选出了最佳方案。 设计思想 方案 一 : 采用 74LS163 和 CD4046 设计秒表 晶体 振荡器电路给数字秒表提供一个频率稳定准确的方波信号,可保证数字秒表的走时准确及稳定。 不管是指针式的秒表还是数字显示的秒表豆使用了晶体振荡器的方波信号经过 D 触发器二分频得到秒信号供秒计算器进行计数。 分频器实际上也就是计算器。 时间计数电路由 秒, 秒,秒的个位,秒的十位,分的个位,分的十位,时的个位,时的十位计算器电路构成,其中 秒, 秒构成 100 进制,秒的个位跟秒的十位构成 60 进制,分的个位和分的十位构成60 进制。 时间计算器由 74LS163 组成,译码驱动电路将计算器数钱的 8421BCD码转换成数码管需要的逻辑状态,并且为保证数码管正常工作提供足够的工作电流。 数码管通常有发光二极管数码管和液晶数码管,本设计提供的是发光俄二极管。 方案 二 : 基于单片机的数字秒表的设计 本方案 采用 AT89C52 单片机,单片机的 P1 口杰数码管显示电路, P0 口杰键控数码管的显示, 口接入整点报时电路, RESET 接入复位和晶振电路。 该电路能否成功,关键在于诚信的编写而对元器件的要求不搞。 用 C 语言编写的数字秒表电路,采用分支结构编写,利用跳转指令与大量的中断指令,当按键扫描没有按键按下是,程序正常计数,当检测到有按键按下是,程序运转到相应的中断程序进行响应处理,从而实现了分支程序的处理。 三 :基于 FPGA 的数字秒表的设计 其设计思路为:通过分频器将晶振所提供的信号分频成 脉 冲作为计时信号,经计数器累加计数,形成一百进制 的计数器,六十进制的计数器的计数器。 经译码器译码后,分位输出给八 个 7 段 LED 数码管显示。 设计采用八位 LED 数码管显示时,分、秒, , 计时方式。 使用按键开关可实现 开始 /结束计时操作 ,及复位清零操作和计时长度模式选择。 一.设计要求 (秒表的功能描述 ) (1)要求设置复位开关。 当按下复位开关时,秒表清零并做好计时准备。 在任何情况下只要按下复位开关,秒表都要无条件地进行复位操作,即使是在计时过程中也要无条件地进行清零操作。 (2)要求设置启 /停开关。 当按下启 /停开关后,将启动秒表并开始计时,当再按一下启 /停开关时,将终止秒表的计时操作。 (3)要求计时精确度大于 秒。 要求设计的计时器能够显示时( 2 位),分 (2 位 )、秒( 2 位)、 秒( 1 位), 秒的时间。 二.秒表的面板包括 : (1)显示屏:由 8 个 7 段数码管组成 ,用于显示当前时间 (2)QT(启 /停键):用于开始 /结束计时操作 . (3)CLR(复位键):用于秒表计时系统的复位操作 (4)CD4511:用于数码管译码。 论证分析 课题的角度来说可以选用 硬件电路, 单片机和 FPGA 芯片作为系统的 MCU,从优势上 硬件电路 所用的元器件便宜,不过电路较复杂,调试较难。 而 利用单片机作为控制系统的核心元器件,其最大的优势是电路简单,价格便宜,实验所需仪器少。 而 FPGA 是英文 Field Programmable Gate Array 的缩写,即现场可编程门阵列,它是在 PAL、 GAL、 EPLD 等可编程器件的基础上进一步发展的产物。 它是作为专用集成电路( ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。 可在有现成的条件下, FPGA 还是有其具大的优势比如它的高速性,让我们更清 楚地认识到硬件的性能及硬件描述语言对硬件的驱动。 FPGA 是 ASIC 电路中设计周期最短、开发费用最低、风险最小的器件之一。 所以本方案选用以 FPGA 作为核心器件来设计。 第三章 软件设计 与仿真 整个系统 软件 设计 是采用自顶向下分析,自底向上设计。 将数字 秒表 系统的整体分解为各个模块 电路。 本章详细介绍了数字秒表系统的各个模块的设计,并对各个模块的每一个部分进行了分析,在后半部分还对系统模型进行了访真与程序调试。 各模块之间的每一个坏节都是深思熟虑而成,各自完成相应的功能并组成一个统一的整体。 系统的总体设计 数字 秒表 的顶层电路图及时序分析采用硬件描述语言设计一个复杂电路系统, 其中包括时钟分频模块、按键去抖模块、计数模块、显示模块四个主要部分,运用自顶向下的设计思想,将系统按功能逐层分割的层次化设计方法。 在顶层设计中,要对内部各功能块的连接关系和对外的接口关系进行描述,而功能块实际的逻辑功能和具体的实现形式则由下一层模块来描述。 本系统设计采用自顶向下的设计方案, 根据数字 秒表 的系统原理框图 如图, 设计系统的顶层 RTL 电路图如图 所 示。 根据图所示的数字 秒表 系统顶层电路图 , 按照自顶向下的设计思路 , 编写各个模块的源程序 , 最后再对各个模块进行组合 , 编写顶层描述的源程序 [5]。 按 键 按键消抖处理 分频电路 主控电路 计 时 电 路 七段数码管译码电路 CLK 输入 FPGA 图 数字秒表原理框图 图 数字秒表的顶层 RTL 电路图 FPGA 内部 各 单元 模块设计 与仿真 分频电路模块 的设计 在基于 EDA 技术的数字电路系统设计中,分频电路应用十分广泛。 常常使用分频电路来得到数字系统中各种不同频率的控制信号。 所谓分频电路,就是将一个给定的频率较高的数字输入信号经过适当处理后,产生一个或数个频率较低的数 字输出信号。 分频电路本质上是加法计数器的变种,其计数值有分频常数N=fin/fout 决定,其输出不是一般计数器的计数结果,而是根据分频常数对输出信号的高,低电平控制。 本设计需要一个计时范围为 秒 - 12 小时的秒表,首先需要获得一个比较精确的计时基准信号,这里时周期为 1/100 s的计。基于fpga的数字秒表的设计
相关推荐
使用一些简单的算法。 这些优势使得 FIR 数字滤波器已成为设计工程师的首选。 采用 VHDL 硬件描述语言或用 VerilogHDL 设计数字滤波器。 自写程序往往不能达到很好的优化,使得在性能 一般 ,但良好的IPcore Altera 公司需要 收费的。 因此, 使用 DSP Builder 的 FPGA 设计方法, FIR滤波器设计的基础上更加简单,同时也能满足设计要求。 FIR 滤波器
ess(clk) begin if clk39。 event and clk=39。 139。 then if (sec1=0101 and sec2=1001)then sec1=0000。 else if sec2=1001then sec1=sec1+1。 end if。 end if。 end if。 end process s110。 秒个位 s220:process(clk)
SRAM组成。 这 3种可编程电路是:可编程逻辑模块( CLBConfigurable Logic Block) 、输入 /输出模块( IOBI/O Block)和互连资源( IR—Interconnect Resource)。 可编程逻辑模块 CLB是实现逻辑功能的 基本单元,它们通常规则的排列成一个阵列,散布于整个芯片;可编程输入 /输出模块( IOB)主要完成芯片上的逻辑与外部封装脚的接口
,具有灵活性和及时面市优势的 FPGA与 ASIC 相比更有竞争性,在数字 消费市场上的应用也急剧增加。 第一代 Cyclone 系列迄今发售了 3百多万片,在全球拥有 3,000 多位客户,对大批量低成本数字消费市场有着巨大的影响,该市场消纳了三分之一的器件。 根据 Gartner Dataquest 调查,显示 通信 系统时钟分频 A/D 转换 开始 . . 在 2020 年仅消费电子市场对
有多个稳定的中间电流状态。 如 图 22 所示为 四 相 八 拍四细分时各相电流波形 , 各相电流均以最大电流值的 1/4 上升和下降。 与单双 八 拍方式相比 ,α值从 2 增加到 8, 步距角 θ b 为 四 相 八 拍运行方式时的 1/4。 所以步进电机细分驱动的关键在于控制电机各相励磁绕组中的电流大小及其稳定性。 而 如图 22 所示 我们可以分析得各相电流是以 1/4
尽管下面的描述仅限于 CRT, LCD已经发展到可以同 CRT使用同样的时序信号了。 因此,下面的讨论均适合 CRT和 LCD。 在 CRT显示器中,电流的波形通过蹄形磁铁产生磁场,使得电子束偏转,光栅在显示屏上横向显示,水平方向从左至右,垂直方向从上至下。 当电子束向正方向移动时,信息才显示,即从左至右、从上至下。 如果电子束从后返回左或顶边,显示屏并不显示任何信息。 在消隐周期 ——