电子钟论文全Word文件下载.docx
- 文档编号:21756723
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:53
- 大小:572.76KB
电子钟论文全Word文件下载.docx
《电子钟论文全Word文件下载.docx》由会员分享,可在线阅读,更多相关《电子钟论文全Word文件下载.docx(53页珍藏版)》请在冰豆网上搜索。
第四章单元模块设计及仿真7
4.1键盘输入模块7
4.2预置数模块9
4.3秒钟模块11
4.4分钟模块13
4.5小时模块15
4.6星期模块17
4.7日期模块18
4.8月模块21
4.9年模块23
4.10扫描模块125
4.11扫描模块227
4.12显示选择模块29
4.13数码管扫描模块30
4.14译码模块32
4.15音乐模块33
4.16数字电子钟系统模块仿真图38
4.17数字电子钟系统原理图38
第五章硬件验证40
5.1硬件测试端口功能说明40
5.2数字电子钟引脚图40
5.3数字电子钟硬件显示原理图41
5.3数字电子钟硬件显示PCB图42
5.4数字电子钟硬件验证实物图44
第六章结论46
参考文献47
致谢48
前言
20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。
在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。
这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。
这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。
EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。
利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。
现在对EDA的概念或范畴用得很宽。
包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。
目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。
例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。
第一章EDA技术的现状与发展
1.1EDA技术概述
1.1.1EDA技术的发展历程
EDA技术是伴随着计算机、集成电路、电子系统的设计发展起来的。
回顾近30年电子设计技术的发展历程,将EDA技术由浅到深可分为CAD阶段、CAE阶段、ESDA段这3个阶段。
CAD阶段:
20世纪70年代,随着中小规模集成电路的开发应用,传统的手工制图设计印刷电路板和集成电路的方法已无法满足设计精度和效率的要求,因此这就产生了第1代EDA工具—CAD(计算机辅助设计)。
这是EDA发展的初级阶段。
CAE阶段:
20世纪80年代,为适应电子产品在规模和制作上的需要,应运出现了以计算机仿真和自动布线为核心技术的第2代EDA技术,即CAE计算机辅助工程设计阶段。
这一阶段的主要特征是以逻辑摸拟、定时分析、故障仿真、自动布局布线为核心。
ESDA阶段。
20世纪90年代,尽管CAD/CAE技术取得了巨大的成功,但并没有把人从繁重的设计工作中彻底解放出来。
在整个设计过程中,自动化和智能化程度还不高,各种EDA软件界面千差万别,学习使用比较困难,并且互不兼容,直接影响到设计环节间的衔接。
基于以上不足,EDA技术继续发展,进人了以支持高级语言描述、可进行系统级仿真和综合技术为特征的第3代EDA技术—ESDA电子系统设计自动化阶段。
这一阶段采用一种新的设计概念自顶而下(Top-Down)的设计程式和并行工程(ConcurrentEngineering)的设计方法。
1.1.2EDA技术的发展趋势
电子技术将全方位纳人EDA领域,EDA使得电子领域各学科的界限更加模糊,更加互为包容,突出表现在以下几个方面.C)使电子设计成果以自主知识产权的方式得以明确表达和确认成为可能;
②基于EDA工具的ASIC设计标准单元已涵盖大规模电子系统及IP核模块;
③软硬件IP核在电子行业的产业领域、技术领域和设计应用领域得到进一步确认,SOC高效低成本设计技术的成熟。
1.2EDA技术的主要特征
作为现代电子系统设计的主导技术,EDA具有几个明显特征:
1.2.1用软件设计的方法来设计硬件
硬件系统的转换是由有关的开发软件自动完成的,设计输入可以是原理图VHDL语言,通过软件设计方式的测试,实现对特定功能硬件电路的设计,而硬件设计的修改工作也如同修改软件程序一样快捷方便,设计的整个过程几乎不涉及任何硬件,可操作性、产品互换性强
1.2.2基于芯片的设计方法
EDA设计方法又称为基于芯片的设计方法,集成化程度更高,可实现片上系统集成,进行更加复杂的电路芯片化设计和专用集成电路设计,使产品体积小、功耗低、可靠性高;
可在系统编程或现场编程,使器件编程、重构、修改简单便利,可实现在线升级;
可进行各种仿真,开发周期短,设计成本低,设计灵活性高。
1.2.3自动化程度高
EDA技术根据设计输入文件,将电子产品从电路功能仿真、性能分析、优化设计到结果测试的全过程在计算机上自动处理完成,自动生成目标系统,使设计人员不必学习许多深入的专业知识,也可免除许多推导运算即可获得优化的设计成果,设计自动化程度高,减轻了设计人员的工作量,开发效率高。
EDA技术根据设计输入文件(HDL或电路原理图),自动地进行逻辑编译、化简、综合、仿真、优化、布局、布线、适配以及下载编程以生成目标系统,即将电子产品从电路功能仿真、性能分析、优化设计到结果测试的全过程在计算机上自动处理完成
1.3VHDL语言概述
1.3.1VHDL语言概念
VHDL是超高速集成电路硬件描述语言的英文字头缩写简称,其英文全名是Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage。
它是在70-80年代中由美国国防部资助的VHSIC(超高速集成电路)项目开发的产品,诞生于1982年。
1987年底,VHDL被IEEE(TheInstituteofElectricaland产ElectronicsEngineers)确认为标准硬件描述语言。
1.3.2VHDL语言特征
VHDL的语言特点主要有:
(1)更加类似软件上的高级语言,具备更强的模块化能力并拥有良好的可读性以及程序的移植性。
(2)淡化状态机,与或表达式等更早一代硬件描述语言中的元素,用更类似于高级语言的表达式取代。
(3)拥有高效率的生成代码,能够节省大量的资源。
第二章QUARTUSⅡ概述
2.1QUARTUSⅡ简介
QuartusII是Altera公司推出的CPLD/F[GA开发工具,QuartusII提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性,包括:
可利用原理图、结构框图、VerilogHDL、AHDL和VHDL完成电路描述,并将其保存为设计实体文件。
QuartusII(3.0和更高版本)设计软件是业界唯一提供FPGA和固定功能HardCopy器件统一设计流程的设计工具。
工程师使用同样的低价位工具对StratixFPGA进行功能验证和原型设计,又可以设计HardCopyStratix器件用于批量成品。
系统设计者现在能够用QuartusII软件评估HardCopyStratix器件的性能和功耗,相应地进行最大吞吐量设计。
QuartusII可编程逻辑软件属于第四代PLD开发平台。
该平台支持一个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。
Quartus平台与Cadence、ExemplarLogic、MentorGraphics、Synopsys和Synplicity等EDA供应商的开发工具相兼容。
改进了软件的LogicLock模块设计功能,增添了FastFit编译选项,推进了网络编辑性能,而且提升了调试能力。
2.2QUARTUSⅡ的设计流程
设计输入:
完成期间的硬件描述,包括文本编辑器、块与符号编辑器、MegaWizard插件管理器、约束编辑器和布局编辑器等工具;
综合:
包括分析和综合仪器、辅助工具和RTL查看器等工具;
布局连线:
将设计综合后的网络表文件映射到实体器件的过程,包括Fitter工具、约束编辑器、布局图编辑器、芯片编辑器和增量布局连线工具;
时序分析仿真:
QuartusII提供了功能仿真和时序仿真两种工具;
器件编程与配置:
包括四种编程模式,即被动串行模式、JTAG模式、主动串行模式和插座内编程模式;
第三章数字电子钟系统设计性能要求
3.1系统总体设计要求
本设计主要是采用硬件描述语言(vhdl)来实现数字电子钟的系统设计。
该系统主要的性能要求如下:
数字电子钟,能够进行秒钟、分钟、小时、日、星期、月和年的计时、显示以及预置。
具体来说:
当秒钟模块电路计数满60时,给出进位信号,使分钟模块电路计数增加1。
秒钟模块电路计数清零,从新开始计数;
当分钟模块电路计数满60是,给出进位信号,使得小时模块电路计数增加1,同时触发音乐模块。
音乐模块电路开始音乐输出。
分钟模块电路计数清零,从新开始计数;
当小时模块电路计数满24时,给出进位信号,使得日模块电路计数增加1。
小时模块电路计数清零,从新开始计数;
当日模块电路计数增加1时,给出进位信号,使得星期模块电路计数加1。
当日模块电路计数满7时,给出进位信号,使得星期模块电路计数清零,从新开始计数。
当日模块电路计数满28、29、30、31时,根据控制模块电路的控制信号(闰年,大小月)来给出进位信号,使得月模块电路计数增加1;
当月模块电路的计数满12时,给出进位信号,使得年模块电路计数增加1。
3.2数字电子钟的设计原理
充分利用软件QuartusII软件。
根据数字电子钟,系统的设计要求,综合计时模块可分为计秒模块、计分模块、计小时模块、计星期模块、计日模块、计月模块、计年模块等7个子模块,这7个子模块必须都具有预置、计数和进位功能,以及键盘输入模块,译码驱动模块,译码显示模块,选择性控制模块,报时模块等。
3.2.1键盘输入模块
矩阵式键盘是一种常见的输入装置,在日常的生活中,矩阵式键盘在计算机、电话、手机、微波炉等各式电子产品上已经被广泛应用。
其中数字0~F作为数字输入按键。
主要用于控制时间的预置数。
但是通过控制端的控制,每次只能给一个译码管输入数字。
3.2.2计秒、计分、计小时模块
以直接输入或由分频器产生的秒脉冲作为模块的计数时钟信号,待计数满至,相应模块电路的计数上限值的瞬间,进位信号给出。
相应的被控模块计数加1。
同时该模块电路计数清零,从新开始计数。
3.2.3计日模块
将计时模块产生的进位脉冲信号作为计日模块的计数时钟信号,通过控制模块的辨别,确定本月总天数X(包括28、29、30、31),待计数至X+1瞬间,进位,计月模块加1,而计日模块返回1重新开始计数。
3.2.4计星期模块
将计小时模块产生的进位脉冲信号作为计星期模块的计数时钟信号,待计数至7瞬间,计星期模块返回1重新开始计数。
3.2.3计月模块
将计日模块产生的进位脉冲信号作为计月模块的计数时钟信号,待计数至12瞬间,进位,计年模块加1,而计月模块返回1重新开始计数。
3.2.3计年模块
将计月模块产生的进位脉冲信号作为计年模块的计数时钟信号,待计数至9999瞬间,计年模块返回0重新开始计数。
3.2.3音乐模块
(1)简谱中音名所对应的频率(Hz)如下表1所示。
乘以二就近似提升该声音一个八度音阶,减半则降一个八度
(2)音阶频率的获得
要由硬件实验装置的晶振频率经过适当的分频系数和输出音频整形(对称方波)就可以得到音阶频率。
为了使输出的频率为对称的方波,故在分频系数计算时要除以2,在最后输出到,交流蜂鸣器前要进行将输出频率二分频恢复原音名频率。
例如以8M为基准频率,要将低音3频率为392.6H音频信号送出。
假设硬件实验装置的晶振频率为8M则:
分频系数K=(8M÷
392.6)÷
2=10188=B“10011111001100”将8M基准频率进行10188分频得到的是低音2频率的倍频信号392.6x2=592.4Hz。
在输出到,交流蜂鸣器前再将592.4Hz进行2分频得到的是392.6Hz低音2对称方波信号的频率。
(3)节拍控制器
乐曲节拍1拍定为1秒,2/8拍为0.25秒以此类推,根据节拍将所编辑的音乐输出到,交流蜂鸣器。
一般以一首曲的最低节拍为基准节拍。
基准节拍可通过分频模块获得。
(4)乐曲输入模块
根据所选乐曲将简谱转换成频率信号,根据节拍输出乐曲频率信号。
音名
频率(Hz)
低音1
261.3
中音1
523.3
高音1
1045.5
低音2
293.7
中音2
587.3
高音2
1174.7
低音3
392.6
中音3
659.3
高音3
1318.5
低音4
349.2
中音4
698.5
高音4
1396.9
低音5
392
中音5
784
高音5
1568
低音6
440
中音6
880
高音6
1760
低音7
493.9
中音7
987.8
高音7
1975.5
表1音名与频率对应表
3.3数字电子钟系统总设计原理框图
数字电子钟系统总设计原理框图如图3-1所示
图3-1数字电子钟系统总设计原理框图
第四章单元模块设计及仿真
4.1键盘输入模块
键盘输入模块图如图4-1所示
1.键盘输入模块的作用及接口
作用:
实现数字(0-9)的输入,从而实现对数字电子钟的预置数功能。
引脚:
clk_enter:
时钟信号输入端;
load:
预置数控制端;
Key[3..0]:
键盘输入端;
daout[3..0]:
键盘键入数值输出端;
selenter[2..0]:
显示数码管选择端;
图4-1键盘输入模块图
2.键盘输入模块的实现
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityenteris
port(clk_enter,load:
instd_logic;
key:
instd_logic_vector(3downto0);
selenter:
outstd_logic_vector(2downto0);
daout:
outstd_logic_vector(3downto0));
endenter;
architectureoneofenteris
signalcount:
std_logic_vector(2downto0);
signalcount1:
std_logic_vector(1downto0);
signaljp:
std_logic_vector(6downto0);
signalclk0,test,koff:
std_logic;
begin
test<
=key(3)andkey
(2)andkey
(1)andkey(0);
p1:
process(load,clk_enter)
if(load='
0'
)thencount1<
="
00"
;
elsif(clk_enter'
eventandclk_enter='
1'
)then
count1<
=count1+1;
endif;
endprocessp1;
clk0<
='
whencount1<
01"
else'
p2:
process(clk0,load,test)
)then
count<
000"
elsif(clk0'
eventandclk0='
)then
if(test='
)or(koff='
=count;
else
=count+1;
endprocessp2;
selenter<
jp<
=count&
key;
p3:
process(clk_enter,test)
begin
if(clk_enter'
if(jp="
0001110"
daout<
0000"
elsif(jp="
0011110"
0001"
0101110"
0010"
0111110"
0011"
1101110"
0100"
1111110"
0101"
0001101"
0110"
0011101"
0111"
1001101"
1000"
1011101"
1001"
elsedaout<
=null;
endprocessp3;
endone;
3.键盘输入模块的仿真图
键盘输入模块的仿真图如图4-2所示
图4-2键盘输入模块仿真图
4.2预置数模块
预置数模块图如图4-3所示
1.预置数模块的作用及接口
通过控制端s0-s3的不同组合方式,选择对不同模块进行预置数,从而实现系统的预置数功能。
sin[3..0]:
S0,s1,s2,s3:
选择控制输入端;
Setm[7..0]:
预置分钟模块输出端;
Seth[7..0]:
预置小时模块输出端;
Setw[7..0]:
预置星期模块输出端;
Setd[7..0]:
预置日模块输出端;
图4-3预置数模块
Setmo[7..0]:
预置月模块输出端;
Sety[7..0]:
预置年模块输出端;
entitymux_151is
port(sin:
instd_logic_vector(3downto0);
s3,s2,s1,s0:
setm,seth:
outstd_logic_vector(7downto0);
setw:
outstd_logic_vector(3downto0);
setd,setmo:
sety:
outstd_logic_vector(15downto0));
endmux_151;
architectureoneofmux_1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子钟 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)