- 733.50 KB
- 2022-05-11 18:33:56 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
XXXXXX课程设计报告电子线路设计课程设计报告[24小时时钟电路设计]小组成员:XXXXXXXXXXXXXX院(系):电气信息工程学院年级专业:20XX级电子信息工程指导老师:XXXXXX联系电话:XXXXXXXXX二〇XX年XX月
电子线路课程设计摘要摘要本设计为24小时时钟设计,具有时、分、秒计数显示功能,以24小时循环计时的时钟电路;具有时、分校准以及清零的功能。本设计采用EDA技术,以硬件描述语言VHDL为系统逻辑描述手段设计文件,在QUARTUSⅡ工具软件环境下,采用自顶向下的设计方法,由各个基本模块共同构建了一个基于FPGA的数字钟。系统由主控模块、分频模块、译码模块以及显示组成。经编译和仿真所设计的程序,在可编程逻辑器件上下载验证,本系统能够完成时、分、秒的分别显示,由按键输入进行数字钟的清零功能。关键词时钟,QUARTUSⅡ,VHDL,FPGA
电子线路课程设计AbstractAbstractThedesignforthe24-hourclockdesign,withhours,minutes,secondscountdisplay,a24-hourcycleoftheclocktimingcircuit;withhours,minutes,andclearedthecalibrationfunction.ThisdesignusesEDAtechnologytohardwaredescriptionlanguageVHDLdescriptionofthemeansforthesystemlogicdesigndocuments,softwaretoolsinQUARTUSⅡenvironment,usingtop-downdesignapproach,fromthevariousmodulestogethertobuildabasicFPGA-baseddigitalclock.Systembythecontrolmodule,frequencymodule,decodingmoduleanddisplaycomponents.Thecompilationandsimulationofthedesignprocess,inthedownloadvalidationofprogrammablelogicdevices,thesystemcancompletethehours,minutes,seconds,respectively,indicatedbythekeyinputforcleardigitalclockfunction.Keywordsclock,QUARTUSⅡ,VHDL,FPGAI
电子线路课程设计目录目录摘要…………………………………………………………………………………ⅠABSTRACT…………………………………………………………………………Ⅱ1绪论………………………………………………………………………………11.1题目意义………………………………………………………………………11.2设计要求…………………………………………………………………………12设计的基本原理…………………………………………………………………22.1设计原理…………………………………………………………………………22.2设计流程…………………………………………………………………………33设计方案…………………………………………………………………………43.1设计思路……………………………………………………………………43.2模块图和功能………………………………………………………………43.2.1分频模块……………………………………………………………………43.2.2主控模块……………………………………………………………………53.2.3译码模块……………………………………………………………………83.2.4顶层模块……………………………………………………………………104测试………………………………………………………………………………114.1模块仿真……………………………………………………………………114.1.1分频模块……………………………………………………………………124.1.2主控模块……………………………………………………………………134.1.3译码模块……………………………………………………………………144.2顶层模块仿真…………………………………………………………………155结论……………………………………………………………………………166参考文献…………………………………………………………………………17
电子线路课程设计绪论1绪论1.1题目意义现在是一个知识爆炸的新时代。新产品、新技术层出不穷,电子技术的发展更是日新月异。可以毫不夸张的说,电子技术的应用无处不在,电子技术正在不断地改变我们的生活,改变着我们的世界。在这快速发展的年代,时间对人们来说是越来越宝贵,在快节奏的生活时,人们往往忘记了时间,一旦遇到重要的事情而忘记了时间,这将会带来很大的损失。因此我们需要一个定时系统来提醒这些忙碌的人。数字化的钟表给人们带来了极大的方便。近些年,随着科技的发展和社会的进步,人们对数字钟的要求也越来越高,传统的时钟已不能满足人们的需求。多功能数字钟不管在性能还是在样式上都发生了质的变化,有电子闹钟、数字闹钟等等。1.2设计要求本设计主要研究基于FPGA的数字钟,要求时间以24小时为一个周期,显示时、分、秒。采用10KHZ的基准信号产生1S的基准时间,秒的个位加到10就向秒的十位进一,秒的十位加到6就向分的个位进一,分的个位加到10就向分的十位进一,分的十位加到6就向时进一。该时钟具有清零功能,可以对时、分及秒进行清零,为了保证计时的稳定及准确须由晶体振荡器提供时间基准信号。该系统是基于FPGA的设计,采用VHDL进行系统功能描述,采用自顶向下的设计方法,用QUARTUSⅡ软件进行仿真测试。0
电子线路课程设计基本原理2设计的基本原理2.1设计原理振荡器产生稳定的高频脉冲信号,作为数字钟的时间基准,然后经过分频器输出标准秒脉冲。秒的个位到9时,十位加1,同时个位归零,若十位为5时,则十位也归零;分和秒一致;时的个位到9时,十位小于2时加1,同时个位归零,若个位到3,十位为2时,则个位和十位都归零。一般说来,一个比较大的完整的项目应该采用层次化的描述方法:分为几个较大的模块,定义好各功能模块之间的接口,然后各个模块再细分去具体实现,这就是TOPDOWN(自顶向下)的设计方法。目前这种高层次的设计方法已被广泛采用。高层次设计只是定义系统的行为特征,可以不涉及实现工艺,因此还可以在厂家综合库的支持下,利用综合优化工具将高层次描述转换成针对某种工艺优化的网络表,使工艺转化变得轻而易举。CPLD/FPGA系统设计的工作流程如图2.1所示。图2.1CPLD/FPGA系统设计流程15
电子线路课程设计基本原理2.2设计流程①工程按照“自顶向下”的设计方法进行系统划分。②输入VHDL代码,这是设计中最为普遍的输入方式。此外,还可以采用图形输入方式(框图、状态图等),这种输入方式具有直观、容易理解的优点。③将以上的设计输入编译成标准的VHDL文件。④进行代码级的功能仿真,主要是检验系统功能设计的正确性。这一步骤适用于大型设计,因为对于大型设计来说,在综合前对源代码仿真,就可以大大减少设计重复的次数和时间。一般情况下,这一仿真步骤可略去。⑤利用综合器对VHDL源代码进行综合优化处理,生成门级描述的网络表文件,这是将高层次描述转化为硬件电路的关键步骤。综合优化是针对ASIC芯片供应商的某一产品系列进行的,所以综合的过程要在相应的厂家综合库的支持下才能完成。⑥利用产生的网络表文件进行适配前的时序仿真,仿真过程不涉及具体器件的硬件特性,是较为粗略的。一般的设计,也可略去这一步骤。⑦利用适配器将综合后的网络表文件针对某一具体的目标器件进行逻辑映射操作,包括底层器件配置、逻辑分割、逻辑优化和布局布线。⑧在适配完成后,产生多项设计结果:(a)适配报告,包括芯片内部资源利用情况,设计的布尔方程描述情况等;(b)适配后的仿真模型;(c)器件编程文件。根据适配后的仿真模型,可以进行适配后时序仿真,因为已经得到器件的实际硬件特性(如时延特性),所以仿真结果能比较精确的预期未来芯片的实际性能。如果仿真结果达不到设计要求,就修改VHDL源代码或选择不同速度和品质的器件,直至满足设计要求。最后将适配器产生的器件编程文件通过编程器或下载电缆载入到目标芯片CPLD/FPGA中。15
电子线路课程设计设计方案3设计方案3.1设计思路采用分模块设计的方法,再用一个顶层文件将各模块联系起来如图3.1所示。图3.1结构图将晶振通过分频器分频后产生1HZ(1S)的基本频率,然后进入主控模块,此时计秒的个位,满十后向秒的十位进一,秒十位采用六进制计数器,计满后向分的个位进一,分个位采用十进制计数器,计满后向分十位进一,分十位采用六进制计数器,计满后向时进一,时采用二十四进制计数器,计满后清零,最后将秒的个、十位,分的个、十位,时的个、十位,用译码器译为数码管显示的七段译码数。3.2模块图和功能3.2.1分频模块晶体振荡器是构成数字式时钟的核心,振荡器的稳定度及频率的精度决定了数字钟计时的准确程度,它保证了时钟的走时准确及稳定。石英晶体的选频特性非常好,只有某一频率点的信号可以通过它,其它频率段的信号均会被它所衰减,而且,振荡信号的频率与振荡电路中的R、C元件的数值无关。因此,这种振荡电路输出的是准确度极高的信号。然后再利用分频电路,将其输出信号转变为秒信号,其组成框图如图3.2。图3.21HZ信号产生框图本系统使用的晶体振荡器电路给数字钟提供一个频率稳定准确的10MHz的方波信号,其输出至分频电路。分频模块的逻辑框图如图3.3所示:15
电子线路课程设计设计方案图3.3分频模块分频模块VHDL程序文件名:FREQ--功能:将石英晶振产生的10MHZ的信号分频为1HZ的信号USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYFREQISPORT(CLK10MHZ:INSTD_LOGIC;--10MHZ输入CLK1HZ:OUTSTD_LOGIC);--1HZ时钟输出ENDFREQ;ARCHITECTUREARTOFFREQISSIGNALTOUT:INTEGERRANGE0TO;SIGNALCLK:STD_LOGIC;BEGINPROCESS(CLK10MHZ)BEGINIFCLK10MHZ="1"ANDCLK10MHZ"EVENTTHENIFTOUT=THENCLK<=NOTCLK;TOUT<=0;ELSETOUT<=TOUT+1;ENDIF;ENDIF;ENDPROCESS;CLK1HZ<=CLK;ENDART;3.2.2主控模块当复位信号RST=‘0’时,时钟输出时、分、秒全部归零;当校准信号S1=‘0’时,时加1;当校准信号S2=‘0’15
电子线路课程设计设计方案时,分加1;秒的个位到9时,十位加1,同时个位归零,若十位为5时,则十位也归零;分和秒一致;时的个位到9时,十位小于2时加1,同时个位归零,若个位到3,十位为2时,则个位和十位都归零。主控模块的逻辑框图如图3.4所示:图3.4主控模块主控模块VHDL程序文件名:CONTROL--功能:输出时、分、秒(十进制),具有复位和校准的功能LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCONTROLISPORT(CLK1HZ:INSTD_LOGIC;--1S时钟输入RST:INSTD_LOGIC;--复位输入S1,S2:INSTD_LOGIC;--时间调节输入SEC1_OUT,SEC10_OUT:OUTINTEGERRANGE0TO9;MIN1_OUT,MIN10_OUT:OUTINTEGERRANGE0TO9;HOUR1_OUT,HOUR10_OUT:OUTINTEGERRANGE0TO9);ENDCONTROL;ARCHITECTUREARTOFCONTROLISSIGNALSEC1,SEC10:INTEGERRANGE0TO9;SIGNALMIN1,MIN10:INTEGERRANGE0TO9;SIGNALHOUR1,HOUR10:INTEGERRANGE0TO9;BEGINPROCESS(CLK1HZ,RST)BEGINIF(RST="0")THEN--系统复位15
电子线路课程设计设计方案SEC1<=0;SEC10<=0;MIN1<=0;MIN10<=0;HOUR1<=0;HOUR10<=0;ELSIF(CLK1HZ"EVENTANDCLK1HZ="1")THEN--正常运行IF(S1="0")THEN--调节小时IF(HOUR1=9)THENHOUR1<=0;HOUR10<=HOUR10+1;ELSIF(HOUR10=2ANDHOUR1=3)THENHOUR1<=0;HOUR10<=0;ELSEHOUR1<=HOUR1+1;ENDIF;ELSIF(S2="0")THEN--调节分钟IF(MIN1=9)THENMIN1<=0;IF(MIN10=5)THENMIN10<=0;ELSEMIN10<=MIN10+1;ENDIF;ELSEMIN1<=MIN1+1;ENDIF;ELSIF(SEC1=9)THENSEC1<=0;IF(SEC10=5)THENSEC10<=0;IF(MIN1=9)THENMIN1<=0;IF(MIN10=5)THENMIN10<=0;15
电子线路课程设计设计方案IF(HOUR1=9)THENHOUR1<=0;HOUR10<=HOUR10+1;ELSIF(HOUR1=2ANDHOUR10=3)THENHOUR1<=0;HOUR10<=0;ELSEHOUR1<=HOUR1+1;ENDIF;ELSEMIN10<=MIN10+1;ENDIF;ELSEMIN1<=MIN1+1;ENDIF;ELSESEC10<=SEC10+1;ENDIF;ELSESEC1<=SEC1+1;ENDIF;ENDIF;ENDPROCESS;SEC1_OUT<=SEC1;SEC10_OUT<=SEC10;MIN1_OUT<=MIN1;MIN10_OUT<=MIN10;HOUR1_OUT<=HOUR1;HOUR10_OUT<=HOUR10;ENDART;3.2.3译码模块将主控模块中时、分、秒输出的十进制译为数码管显示的七段译码数。译码规则:数码管a,b,c,d,e,f,g分别对应DISPLAY[6..0]如输出为‘0’时,译码后的七段译码数为:。15
电子线路课程设计设计方案译码模块的逻辑框图如图3.5所示:图3.5译码模块主控模块VHDL程序文件名:DECODER--功能:将十进制译为数码管显示的七段译码数LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYDECODERISPORT(TIMEIN:ININTEGERRANGE0TO9;DISPLAY:OUTSTD_LOGIC_VECTOR(6DOWNTO0));ENDDECODER;ARCHITECTUREARTOFDECODERISBEGINPROCESS(TIMEIN)BEGINCASETIMEINISWHEN0=>DISPLAY<="";--0WHEN1=>DISPLAY<="";--1WHEN2=>DISPLAY<="";--2WHEN3=>DISPLAY<="";--3WHEN4=>DISPLAY<="";--4WHEN5=>DISPLAY<="";--5WHEN6=>DISPLAY<="";--6WHEN7=>DISPLAY<="";--7WHEN8=>DISPLAY<="";--8WHEN9=>DISPLAY<="";--9WHENOTHERS=>DISPLAY<="";--全灭ENDCASE;15
电子线路课程设计设计方案ENDPROCESS;ENDART;3.2.4顶层模块将各个模块连接起来,实现整个时钟功能。顶层文件的逻辑框图如图3.6所示:图3.6顶层模块15
电子线路课程设计测试4测试4.1模块仿真工程编译通过后,必须对其功能和时序性能进行仿真测试,以验证设计结果是否满足设计要求。整个时序仿真测试流程一般有建立波形文件、输入信号节点、设置波形参数、编辑输入信号、波形文件存盘、运行仿真器和分析方针波形等步骤。以顶层模块为例,步骤如下:①建立仿真测试波形文件。选择QuartusII主窗口的File菜单的New选项,在弹出的文件类型编辑对话框中,选择OtherFiles中的VectorWeaveformFile项,单击OK按钮,即出现如图4.1所示的波形文件编辑窗口。图4.1波形文件编辑窗口②设置仿真时间区域。对于时序仿真测试来说,将仿真时间设置在一个合理的时间区域内是十分必要的,通常设置的时间区域将视具体的设计项目而定。设计中整个仿真时间区域设为80s、时间轴周期为500ms,其设置步骤是在Edit菜单中选择EndTime,在弹出的窗口中Time处填入80,单位选择s,同理在GrideSize中Timeperiod输入500ms,单击OK按钮,设置结束。③输入工程信号节点选择View菜单中的UtilityWindows项的NodeFinder,即可弹出如图4.1.2所示的对话框,在此对话框Filter项中选择Pins:all&Registers:Post-fitting15
电子线路课程设计测试,然后单击List按钮,于是在下方的NodesFound窗口中出现设计中的SZSJ工程的所有端口的引脚名。用鼠标将时钟信号节点CLK10MHZ,RET,S1,S2,SEC1,SEC10,MIN1,MIN10,HOUR1,HOUR10分别拖到波形编辑窗口,如图4.2所示,此后关闭NodesFound窗口即可。图4.2SZSJ波形编辑器输入信号窗口④设计信号波形。单击图4.2左侧的全屏显示按钮,使之全屏显示,并单击放大缩小按钮,再用鼠标在波形编辑窗口单击(右击为放大,左击为缩小),使仿真坐标处于适当位置。单击图4.2窗口的时钟信号CLK10MHZ使之变成蓝色条,再单击右键,选择Value设置中的CountValue项,设置CLK10MHZ为连续变化的二进制值,初始值为“0”,周期为100ns;RST,S1,S2均设为"1"。⑤文件存盘选择File中的Saveas项,将波形文件以默认名SZSJ.vwf存盘即可。⑥所有设置完成后,即可启动仿真器Processing︱StartSimulation直到出现Simulationwassuccessful,仿真结束。4.1.1分频模块仿真设置Endtime为2s进行仿真,结果如图4.3所示。15
电子线路课程设计测试图4.3分频模块仿真4.1.2主控模块仿真1.设仿真时间为100s,仿真结果如图4.4所示。图4.4主控模块仿真2.设仿真时间为100s,设置S1,调节时,如图4.5所示。图4.5时调节仿真15
电子线路课程设计测试3.设仿真时间为100s,设置S2,调节分,如图4.6所示。图4.6分调节仿真4.设仿真时间为100s,设置RST,测试清零,如图4.7所示。图4.7清零仿真4.1.3译码模块仿真设置该模块输入为0到9,进行仿真,仿真结果如图4.8所示。图4.8译码模块仿真15
电子线路课程设计测试4.2顶层模块仿真图4.9顶层模块仿真15
电子线路课程设计结论5结论经过各模块和整体程序的仿真,达到了设计的要求。从秒的个位开始自加一,加到九时,在下一个时钟来临是个位清零又开始自加一,并向秒的十位进一,秒的十位加到六就向分的个位进一,秒的十位清零又开始计数,分的个位加到十就向分的十位进一,分的十位清零又开始计数,分的十位加到六就向时进一,时加到二十四自清零。在此次设计过程中,最大的优点是采用了自顶向下的模块化设计,使程序清晰易懂,在秒和分的计数器的设计时,考虑到分秒都是六十进制,而分秒的显示都是个位和十位分开显示,为了译码方便,采用了六进制和十进制计数器套用的设计方法,看起麻烦实际使程序更易设计。虽然在设计程序时具备一定的有点,同时也有一定的缺点,比如说延时的问题,这使得时钟在实际运行时并不十分精确。在用QuartusⅡ进行仿真时,当显示数据较大较长时可能出现乱码,我一直也没有将这个问题解决掉,自己水平还有限,还需要不断努力,对于延时,则将时钟信号调大一点,延时就会减小,在译码器的仿真时,因为输出的是七段数码管点亮时的代码,会让人误以为是二进制数表示的十进制数,在这里要更加认真仔细,不然很容易出错。在此次的数字钟设计过程中,我更进一步地熟悉有关数字电路的知识和具体应用。学会了利用QuarterII软件进行原理图的绘制,硬件描述语言VHDL的编写,程序的仿真等工作。并能根据仿真结果分析设计的存在的问题和缺陷,从而进行程序的调试和完善。在此,特别感谢指导我设计的刘老师,在这次的设计中,刘老师给了我许多建议,让我的设计更加完善,在仿真时,刘老师给了我许多帮助,每当仿真出问题时,刘老师总是悉心得给我讲解出问题的地方和原因,我也从中学到了许多分析问题的方法,也从中学到了不少其他的东西。再次感谢刘老师的指导!15
电子线路课程设计参考文献参考文献[1]刘爱荣,王振成.EDA技术与CPLD/FPGA开发应用简明教程[M].清华大学出版社,2010.[2]陈忠平,高金定,高见芳.基于QuuartusⅡ的FPGA/CPLD设计与实践[M].电子工业出版社,2010.[3]刘君,常明,秦娟.基于硬件描述语言(VHDL)的数字时钟设计[J].天津理工大学学报,2007:第23卷第4期,40-41.[4]王开军,姜宇柏.面向CPLD/FPGA的VHDL设计[M].机械工业出版社,2006:28-65.16
您可能关注的文档
- 17.采区车场轨道线路设计
- 毕业设计(论文)-x62w万能铣床控制线路设计
- 电子线路设计课程设计-集成稳压可调电源设计
- 电子线路设计与仿真教程综合实验报告
- 传输基础-通信管道线路设计技术基础
- 土木工程毕业设计(论文)-线路大修与铁路无缝线路设计
- 毕业设计(论文)-205t桥式起重机控制线路设计(全套含图纸)
- 毕业设计(论文)-35kv变电所及配电线路设计
- 电子线路设计课程设计实验报告-多功能数字钟设计
- 绥化学院附近水果店调查及配送线路设计
- 课程设计(论文)-基于multisim通信电子线路设计与仿真
- 通信电子线路设计课程设计-高频功率放大器电路设计
- 采区车场轨道线路设计
- 车场轨道线路设计
- m7130平面磨床电气控制线路设计3
- 2011年最新九寨沟黄龙牟尼沟诺尔盖自助游线路设计
- 第八届苏北赛第二题旅游线路设计
- 电子线路设计考试辅导