基于fpga的数字钟控制器设计_第1页
基于fpga的数字钟控制器设计_第2页
基于fpga的数字钟控制器设计_第3页
基于fpga的数字钟控制器设计_第4页
基于fpga的数字钟控制器设计_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于FPGA的数字钟控制器设计摘要本设计采用EDA技术,利用硬件描述语言VHDL为系统逻辑描述手段设计文件,以QUARTUSII软件为设计平台,进行基于FPGA的数字时钟电路的方案设计、程序设计输入、编译和仿真等操作,该时钟由控制模块、数据译码模块、计时模块、数据译码模块、显示以及报时模块组成,在FPGA可编程逻辑器件上测试系统达到设计要求的各项功能,本设计为一个多功能的数字钟,具有(1)时、分、秒计数显示功能,以24小时循环计时;(2)设计千分频产生1HZ的时钟源;(3)具有清零、调节小时、分钟、整点报时和闹铃功能。关键词数字时钟;EDA;VHDL;FPGA;可编程逻辑器件四川理工学院毕业设计(论文)文献综述基于FPGA的数字钟控制器设计学生史凯学号10210517专业电子信息科学与技术班级电科201指导教师徐金龙四川理工学院自动化与电子信息学院二O一四年三月DESIGNOFDIGITALCLOCKCONTROLLERBASEDONFPGASHIKAISICHUANUNIVERSITYOFSCIENCEANDENGINEERING,ZIGONG,CHINA,643000ABSTRACTTHISDESIGNUSESTHEEDATECHNOLOGY,THEUSEOFHARDWAREDESCRIPTIONLANGUAGEVHDLTODESCRIBEDESIGNDOCUMENTSINTHESYSTEMLOGIC,WITHQUARTUSIISOFTWARE,DIGITALCLOCKCIRCUITFPGADESIGN,PROGRAMDESIGNINPUT,COMPILEANDSIMULATIONBASEDONOPERATION,THECLOCKINTHECONTROLMODULE,DATADECODINGMODULE,TIMINGMODULE,DATADECODINGMODULE,DISPLAYANDBROADCASTMODULE,PROGRAMMABLELOGICDEVICETESTSYSTEMTOACHIEVETHEVARIOUSFUNCTIONSOFTHEDESIGNREQUIREMENTSINFPGA,THEDESIGNFORAMULTIFUNCTIONALDIGITALCLOCK,WITH1,MINUTES,SECONDSCOUNTDISPLAY,WITH24HOURCYCLETIME2THEDESIGNOFTHOUSANDSOFFREQUENCY1HZCLOCKSOURCE3WITHCLEAR,ADJUSTHOURS,MINUTES,THEWHOLEPOINTOFTIMEANDALARMFUNCTIONSKEYWORDSDIGITALCLOCKEDAVHDLFPGAPROGRAMMABLELOGICDEVICE目录摘要ABSTRACT第1章引言112课题研究的意义212方案的比较313芯片的选择414设计方案的概述415毕业设计任务5第二章EDA技术简介621EDA技术的相关发展6211设计反方法7212设计技巧722FPGA概述8221什么是可编程逻辑器件8222工作原理923FPGA基本结构924FPGA系统设计流程1125QUARTUSII设计平台13251软件开发环境及基本流程13252具体设计流程15第三章数字钟的整体设计方案1831数字钟的构成1832数字钟的工作原理2033数字钟的硬件电路设计20第四章单元电路设计2241分频模块电路设计与实现2242键盘控制模块24421按键输入模块24422按键选择模块2743计数模块设计与实现2844闹钟模块设计与实现3345整点报时模块设计与实现3546动态扫描显示模块设计与实现36第五章总结4051实验结论4052研究展望41致谢42参考文献43第1章引言现代社会的标志之一就是信息产品的广泛使用,而且是产品的性能越来越强,复杂程度越来越高,更新步伐越来越快。支撑信息电子产品高速发展的基础就是微电子制造工艺水平的提高和电子产品设计开发技术的发展。前者以微细加工技术为代表,而后者的代表就是电子设计自动化(ELECTRONICDESIGNAUTOMATIC,EDA)技术。本设计采用VHDL硬件描述语言进行设计,VHDL主要用于描述数字系统的结构、行为、功能和接口;支持结构、数据流、行为三种描述形式的混合描述、覆盖面广、抽象能力强,因此在实际应用中越来越广泛。ASIC是一种为专门目的而设计的集成电路,是指应特定用户要求和特定电子系统的需要而设计、制造的集成电路。CPLD是ASIC的近亲,一般通过原理图、VHDL对数字系统建模,运用EDA软件仿真、综合,生成基于一些标准库的网络表,配置到芯片即可使用。它与ASIC的区别是用户不需要介入芯片的布局布线和工艺问题,而且可以随时改变其逻辑功能,使用灵活。在控制系统中,键盘是常用的人机交换接口,当所设置的功能键或数字键按下的时候,系统应该完成该键所设置的功能。因此,键输入是与软件结构密切相关的过程。根据键盘的结构不同,采用不同的编码方法。但无论有无编码以及采用什么样的编码,最后都要转换成为相应的键值,以实现按键功能程序的转移。钟表的数字化给人们的生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。当今电子产品正向功能多元化,体积最小化,功耗最低化的方向发展。它与传统的电子产品在设计上的显著区别是大量使用大规模可编程逻辑器件,使产品的性能提高,体积缩小,功耗降低。同时广泛运用现代计算机技术,提高产品的自动化程度和竞争力,缩短研发周期。EDA技术正是为了适应现代电子技术的要求,吸收众多学科最新科技成果而形成的一门新技术。美国ALTERA公司的可编程逻辑器件采用全新的结构和先进的技术,加上QUARTUS开发环境,更具有高性能,开发周期短等特点,十分方便进行电子产品的开发和设计。EDA技术以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软什,自动完成用软件的方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片。本设计是利用VHDL硬件描述语言结合可编程逻辑器件进行的,并通过数码管动态显示计时结果。数字钟可以由各种技术实现,如单片机等利用可编程逻辑器件具有其他方式没有的特点,它具有易学、方便、新颖、有趣、直观、设计与实验项目成功率高,理论与实践结合紧密,体积小、容量大、I/O口丰富、易编程和加密等特点,并且它还具有开放的界面、丰富的设计库、模块化的工具以及LPM定制等优良性能,应用非常方便。因此,本设计采用可编程逻辑器件实现。现在是一个知识爆炸的新时代。新产品、新技术层出不穷,电子技术的发展更是日新月异。可以毫不夸张的说,电子技术的应用无处不在,电子技术正在不断地改变我们的生活,改变着我们的世界。在这快速发展的年代,时间对人们来说是越来越宝贵,在快节奏的生活时,人们往往忘记了时间,一旦遇到重要的事情而忘记了时间,这将会带来很大的损失。因此我们需要一个定时系统来提醒这些忙碌的人。数字化的钟表给人们带来了极大的方便。近几年,随着科技的发展和社会的进步,人们对数字钟的要求也越来越高,传统的时钟已不能满足人们的需求。多功能数字钟不管在性能还是在样式上都发生了质的变化,有电子闹钟、数字闹钟等等18。12课题研究的意义人们很早以前便有了时间的概念,并发明了一系列技术装置,三千多年前,我国祖先最早发明了用土和石片刻制成的“土圭”和“日规”两种计时器,成为世界上最早发明计时器的国家之一,可见时钟的重要性,现在更是一个注重时间的社会,所以研究数字时钟能够给人们带来极大的便利,对时钟的数字化研究有利于人们更准确的了解时间,更有条不紊的完成工作,智能化数字时钟的研究对丰富人们的生活具有重要意义。近些年,随着科技的发展和社会的进步,人们对数字钟的要求也越来越高,传统的时钟已不能满足人们的需求。多功能数字钟不管在性能还是在样式上都发生了质的变化,有电子闹钟、数字闹钟等等。时间的宝贵是个亘古不变的真理,然而工作的忙碌性和繁杂性很容易让人忘记当前的时间或是工作中不能及时方便地知晓时间。交通上,火车汽车要准时到达,航班要准时起飞;在日常生活中,学校要求上学准时,公司召开的会议要求参加准时,重要约会要求到达准时;在工业生产中,许多工作环节都规定了精准的时间、间隔以及次序。所以说,随时准确地知道时间并且利用时间是学习、工作、生活的必要要求。FPGA是一种集成电路芯片,它将各种功能集成到一块硅片上并且内含完善的微型计算机系统。FPGA的优点有集成度高、功能强、可靠性高、体积小、功耗低、使用方便、价格低廉等,所以本设计讨论的电子时钟系统就是利用FPGA制成。电子时钟与机械时钟相比具有很多优越性,首先,其主要特点是直观性,电子时钟可以通过数字显示反映出当前的时间。其次在使用寿命方面,因为电子钟不是机械驱动,所以使用寿命更长。然后在准确度方面,由于应用了电子集成电路和石英晶体振荡器,数字时钟的精准度远远超过了老式石英钟的石英机芯驱动。最后,电子时钟还能大大扩展老式钟表的功能,在准确显示时间得基础上,还可借助FPGA实现诸如闹铃、定时、自动报警等功能。电子时钟的意义不仅仅在于反应时间本身,这个时间系统还可以当做一个单位模块应用于其他设备中,比如定时广播、定时开关烤箱、定时关闭路灯,以及其他各种定时电气的自动启用等设备,都是内嵌了电子时钟而实现其时间功能的。因此,研究电字时钟及其拓展电路的应用,将会对以后研究其他自动化设备产生积极意义随着现场可编程门阵列(FPGA)的出现,电子系统向集成化,大规模和高速度等方向发展的趋势更加明显,FPGA是特殊的ASIC芯片,ASIC是专用的系统集成电路,是一种带有逻辑处理的加速处理器,FPGA与其他的ASIC芯片相比,它具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实时在线检测等优点,故利用FPGA这一新技术手段俩研究电子钟具有重要意义。12方案的比较本时钟的设计具体有三种方法。一是通过单纯的数字电路来实现;二是使用单片机来控制实现;三是使用可编程逻辑器件(CPLD/FPGA)来实现。由于纯数字电路实现不仅造价很高、设计麻烦,且后期的调试与验证会有很多连线与布局的问题,此方法已经很不实用了,所以放弃此方法;而第二种和第三种方法均是采用一个主控芯片来控制时钟电路,再外接不同的模块来实现完整的功能,需进一步说明两种方法的不同。1单片机单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。2可编程逻辑器件可编程逻辑器件PLD(PROGRAMMABLELOGICDEVICEPLD是做为一种通用集成电路生产的,他的逻辑功能按照用户对器件编程来搞定。一般的PLD的集成度很高,足以满足设计一般的数字系统的需要。这样就可以由设计人员自行编程而把一个数字系统“集成”在一片PLD上,而不必去请芯片制造厂商设计和制作专用的集成电路芯片了。相比较而言,单片机一般用于操作控制,PLD一般用于组合逻辑,功能各不相同,但PLD功能比普通的单片机更强、速度更快、价格也越来越便宜。并且PLD更加高端一些,灵活性更强,近来发展很快,之后的电子技术发展PLD的应用将会非常广泛。选择PLD进行设计会对以后的专业发展有很大的帮助,所以选择第三种方法即采用可编程逻辑器件进行设计。13设计方案的概述本方案以FPGA芯片为核心,将外接时钟信号送至FPGA作为时钟基准信号和动态扫描信号。在芯片内部分别设计出数字钟的各个模块,如分频模块、计时模块、闹钟模块、整点报时模块和动态扫描模块等。将各位信号送出至数码管显示。本方案的电路比较简单,只用外接一个稳压电源为主控芯片和数码管供电,再接一个晶振和一个数码管即可。本设计的电路简单,但功能齐全,可以设置闹钟、时间校对和整点报时,FPGA的设计改动非常方便,只用改变程序设计出相应的内部模块就可以实现一些基本门电路的功能。根据需要可以增添日历、温度显示等功能,所以本设计具有很强的升级前景91414毕业设计任务本设计主要研究基于FPGA的数字钟,要求时间以24小时为一个周期,显示时、分、秒。具有校时、设闹钟及整点报时的功能,可以对时、分、秒进行单独校对,使其校正到标准时间,并能调整闹钟的时间,校对时间的时分秒的按键和设闹钟的时分秒的按键相同,通过另一按键来切换至校对时间或是设闹钟,为保证计时的稳定及准确须由晶体振荡器提供时间基准信号。第2章EDA技术简介20世纪90年代,国际上电子和计算机技术较为先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。21EDA技术的相关发展EDA是电子设计自动化(ELECTRONICDESIGNAUTOMATION)的缩写,在20世纪60年代中期从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。EDA技术的概念EDA技术是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。211设计方法1前端设计系统建模RTL级描述后端设计FPGAASIC系统建模。2IP复用。3前端设计。4系统描述建立系统的数学模型。5功能描述描述系统的行为或各子模块之间的数据流图。6逻辑设计将系统功能结构化,通常以文本、原理图、逻辑图、布尔表达式来表示设计结果。7仿真包括功能仿真和时序仿真,主要验证系统功能的正确性及时序特性。212设计技巧(1)密码锁输入电路KEYB0ARDVHD中对各种分频信号/信号序列的设计有独到之处。该设计中,利用一个自由计数器来产生各种需要的频率,也就是先建立一个N位计数器,N的大小根据电路的需求决定。N的值越大,电路可以除频的次数就越多,这样就可以获得更大的频率变化,以便提供多种不同频率的时钟信号。若输入时钟为CLK,N位计数器的输出为QN1,0,则Q(0)为CLK的2分频脉冲信号,Q(1)为CLK的4分频脉冲信号,Q(2)为CLK的6分频脉冲信号,Q(N1)为CLK的2N分频脉冲信号;Q(5DOWNT04)取得的是一个脉冲波形序列,其值是依00、01、10、11、00、01周期性变化的,其变化频率为CLK的25分频,也就是32分频。我们利用以上规律即可得到各种我们所需要频率的信号或信号序列。(2)键盘输入去抖电路的设计程序DEBOUNCINGVHD在实际系统的开发中有较好的参考价值。(3)密码锁控制电路CTRL,VHD中对于数据的更新及移位方法比较好。程序中使用语句“ACCKEY_CODEKEY_CODEKEY_CODEKEY_CODEKEY_CODEKEY_CODEKEY_CODEKEY_CODEKEY_CODEKEY_CODEKEY_CODEKEY_CODEKEY_CODEKEY_CODEKEY_CODEKEY_CODEENENENENENENENDISPLAYDISPLAYDISPLAYDISPLAYDISPLAYDISPLAYDISPLAYDISPLAYDISPLAYDISPLAYDISPLAY“0000000“ENDCASEENDIFENDPROCESSEND仿真波形如图432所示图432动态扫描显示仿真波形1输入CLK1L有分频器产生的1KHZ时钟信号H_OUT、M_OUT、S_OUT分别表示当前时间的时、分、秒输出EN为位选信号DISPLAY为LED显示器上显示的时间(2)将当前时间在显示器上显示出来,有上图可知,存在一定的延迟,不过总体满足所需要求。动态扫描方式不仅节约了大量的I/O口,而且也节约了软件资源。因为如果使用每个数码管单独显示的话,六个数管将需要68个I/O口;并且每个数码管都需要相应的译码电路模块,很多软件资源就被浪费掉了。所以动态扫描模块是非常实用的,在后期升级时,如果需要显示年、月、日及温度等信息,则可将此模块换成LCD液晶模块,同样非常节省I/O口,并能显示较多的信息。47程序的顶层文件框图第五章总结在基于FPGA的系统设计中,不同电路系统的设计往往采用自顶向下的设计方法,亦即将一个大的系统分解成单元电路。这样做的好处是可以先调试各个单元电路,在每个单元电路设计完成后,采用专门的仿真工具进行功能仿真,确定每个单元电路都没有问题后再连接顶层图形文件,这样整个系统的调试就轻松得多,可节省不少设计时间。51实验结论将设计程序进行仿真后,最终结果与预期效果基本一致,时、分、秒能够正常计数并能由控制键分别显示,整点报时和闹钟响铃功能正常。在此次的数字钟设计过程中,更进一步地熟悉了有关数字电路的知识和具体应用。学会了利用QUARTUS软件进行原理图的绘制,硬件描述语言VHDL的编写,程序的仿真等工作。并能根据仿真结果分析设计的存在的问题和缺陷,从而进行程序的调试和完善。在设计电路中,往往是先仿真后连接实物图,但有时候仿真和电路连接并不是完全一致的,例如在对具体模块的仿真的过程中,往往没有考虑到整体设计的层面以及与上下模块接口的设计。再加上器件对信号的延时等问题,实际下载到电路板上后会出现一系列的问题,因此仿真图和电路连接图还是有一定区别的。此次的数字钟设计的重点在于各个模块代码的编写,虽然能把各个模块的代码编写出来,并能正常显示,但对于各个模块的优化设计还有一定的缺陷和不足。总的来说,通过这次的设计实验更进一步地增强了实验的动手能力,对数字钟的工作原理也有了更加透彻的理解。在本设计调试过程中遇到了一些问题如下1当程序下载到电路板上后,数码管显示全部为零,计数器不工作,经分析得知程序中总的清零信号一直保持有效状态,改动程序后计数器开始计数。2当秒时钟计数到59时变0时,分计数模块滞后计数,考虑到器件的延时,将程序中秒的进位信号提前1秒。3利用控制按键给分模块加计数时,发现的分加到60时,时则在没有按键按下的情况下一直加计数。检查程序后得知,分的进位信号在分为60后变一直有效,其它模块也存在这种情况,改动程序后整个模块工作正常。4在检测按键时,由于扫描按键的时钟频率不是很高,所以控制起来显得稍慢些,但是工作正常,能够满足实际的需要。52研究展望本设计虽然能显示时钟,但是日常使用中常常要用到年、月、日,在实际应用上存在不足。故可提出改进方案增加年月日的显示,甚至是农历、阴历的切换显示,当然这时使用的数码管就更多了,使用的I/O口也会增加,所以最佳方案是使用液晶模块来节省I/0口,并能显示更多的内容。如此便可将本数字钟改进成一个万年历。本设计采用硬件描述语言和FPGA芯片相结合进行的数字钟的研究,从中可以看出EDA技术的发展在一定程度上实现了硬件设计的软件化。设计的过程变的相对简单,容易修改,相信随着电子技术的发展,数字钟的功能会更加多样化,满足人们的各种需要致谢在论文完成之际,我首先要向指导老师表示最真挚的谢意。徐金龙老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我受益匪浅。无论在理论上还是在实践中,都给与我很大的帮助。在理论上,老师耐心讲解电路原理图的绘制,以及元器件的性能;在实际操作中,从

温馨提示

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

评论

0/150

提交评论