版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
FPGA控制的多功能计数器系统设计一、绪论 一、绪论(一)课程设计的内容利用VHDL语言设计基于计算机电路中时钟脉冲原理的数字计数器。该数字计数器能对0秒~99秒范围进行计时,显示最长时间是99秒。计时精度达到10ms。因此计数器可由一个分频器、十进制计数器1/10s、1s、1min、1h以及三个六进制计数器10s、10min、10h组成。设计了复位开关和启停开关。复位开关可以在任何情况下使用,使用以后计时器清零,并做好下一次计时的准备。(二)计数器系统设计目的(1)利用FPGA定时器/计数器中断设计计数器,从而实现秒、十分之一秒的计时。(2)综合运用所学的《FPGA原理与应用》理论知识,通过实践加强对所学知识的理解,具备设计FPGA应用系统的能力。(3)通过本次系统设计加深对FPGA掌握定时器、外部中断的设置和编程原理的全面认识复习和掌握,对FPGA实际的应用作进一步的了解。(4)通过本次系统设计,增强自己的动手能力。认识FPGA在日常生活中的应用的广泛性,实用性。(三)设计要求本设计是基于FPGA控制机的计数器系统设计,它的具体要求有以下几点:(1)用FPGA实现系统设计;(2)以0.1秒为最小单位进行显示;(3)计数器量程0秒~99秒范围进行计,显示最长时间是99秒;(4)有清零、开始、停止功能、每到一秒有声音提示;(5)电路制作与调试:根据需求选择电路的设计单元进行组合,完成系统的原理图设计与PCB设计。(四)系统总体方案本系统采用FPGA为中心器件,利用其定时器/计数器定时和记数的原理,如图1.1所示,结合硬件电路如复位电路,晶振电路,显示电路,以及一些按键电路等来设计计时器,将软、硬件有机地结合起来。设计由控制模块、时基分频模块,计时模块和显示模块四部分组成。其中软件系统采用汇编语言编写程序,包括显示程序,计数程序,中断,在QuartusII软件平台的基础上,基于VHDL语言及图形输入来实现,简单且易于观察,在仿真中就可以观察到实际的工作状态。晶振电路晶振电路复位电路FPGA显示电路键盘电路图1.1系统电路原理图二、数字计数器硬件设计(一)开发板介绍本设计所使用的开发板为黑金ALINX406开发板,其上选取的FPGA芯片是ALERA公司的CYCLONEIV系列FPGA-EP4CE6F17C8(BGA封装,共有256个引脚)。根据Altera官方的数据,CYCLONEIV相对CYCLONEIII来说,功耗减少25%。表2.1开发板主要性能参数资源参数逻辑单元LE6272乘法器LAB392RAM276480bitI/0179个内核电压15V-1.25V工作温度0-850C1、时钟时钟结构的设计一般由晶振来构成,晶振是晶体振荡器的简称,其主要的作用就是能够为系统电路提供基本的时钟信号。如图2.1所示为本系统设计中的时钟电路结构,图中器件Y1为时钟结构中的晶振器件,本次系统设计中系统时钟所采用的晶振为50MHz的有源晶振,该有源晶振主要采用3.3V的直流电源作为系统时钟电路的供电电源。经实际电路测试,该时钟电路可以稳定输出50MHz的时钟频率,在示波器中实际测试观察可以看到频率中的纹波很小几乎可以忽略不计,该时钟电路是FPGA最小系统中常用的系统时钟电路,因此该设计电路非常可行,稳定性也很好。图2.1系统时钟结构2、复位电路FPGA的复位引脚(Reset)连接高电平超过两个机器周期,即可产生复位的动作。以12MHz的始终脉冲为例,每个时钟脉冲为1/12μs,2个机器周期为2μs。在运行中,外界干扰等因素可使FPGA的程序陷入死循环状态或跑飞。为摆脱困境,可将FPGA复位,以重新启动。因此,可在FPGA复位引脚上连接一个可让该引脚上产生一个2μs以上的高电平脉冲,即可产生复位的工作,如图3所示。其中电容两端并接的按钮开关的作用是手动强制复位。图2.2复位电路随时间的增加,电容上面的电压值慢慢增大,而RST引脚上的电压值逐渐降低,当RST引脚的电压值降低至低电平时,FPGA恢复到正常状态,称为上电复位。3、电源模块采用3节5号电池进行供电,由J10接入,其中前后两组电容用来去耦滤波,使其供给芯片的电源更加干净平滑。为了获得标准的3.3伏电压,在电路上加入SPY0029三端稳压器和两个二极管,是为了防止误将电源接反造成不必要损失而设置的。在操作过程中千万不要将电源接反,因为反向电压超过一定值,二极管将会被损坏,达不到保护的目的。图2.3电源模块(二)其他控制硬件模块1、LED显示器模块最简单的显示器可以使LED发光二极管,给出一个简单的开关量信息。以八段共阳管为例,它有8个发光二极管,每个发光二极管的阳极连在一起,如图2.4所示。这样,一个LED数码管就有I根位选线和8根段选线,要想显示一个数值,就要分别对它们的高低电平来加以控制。7段数码管每段的驱动电流和其他单个LED发光二极管一样,一般为5~10mA;正向电压随发光材料不同表现为1.8~2.5V不等。为方便起见,这里共阳八段LED数码显示管。图2.4共阳数码管原理图图2.5显示电路2、蜂鸣器采用压电式蜂鸣器,压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。多谐振荡器由晶体管或集成电路构成,当接通电源后(1.5-15V直流工作电压),多谐振荡器起振,输出1.5~2.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。图2.6音频输出电路图3、中断系统处理完该事件之后,再回到原来被中止的地方,继续原来的工作,这样的过程称为中断。发送:当CPU将一个数据写入发送缓冲器SBUF时,就启动发送,发送完一帧数据由硬件自动将TI置位。[]吴国文.基于FPGA的交通灯控制系统设计与仿真[J].现代电子技术,2012,05:144-146.[]吴国文.基于FPGA的交通灯控制系统设计与仿真[J].现代电子技术,2012,05:144-146.4、输入键盘键盘在系统作用手动设灯亮时间、紧急情况处理。独立式按键是直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O口线,每个按键的工作不会影响其它I/O口线的状态。独立式按键的典型应用如图2.7所示。图2.7独立式按键电路独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口线,因此,在按键较多时,I/O口线浪费较大,不宜采用。[[]郭海丽.基于Proteus与FPGA的交通灯控制系统的设计[J].衡水学院学报,2012,04:126-128.][]郭海丽.基于Proteus与FPGA的交通灯控制系统的设计[J].衡水学院学报,2012,04:126-128.(三)计数模块1、秒信号发生电路信号发生电路由震荡器构成,采用集成块555、1K的电阻R1、R2、0.1u电容C1、330u的电容C2组成多谐振荡器。利用它可以很容易地接成施密特触发器、单稳态触发器和多谐振荡器。信号预处理电路:通常由测量装置来的信号,经放大后可能是不规则波形,那么就必须经过施密特整形,本频率计的信号处理部分采用基于555定时器的施密特触发器,达到波形变换、波形整形的目的。图2.8秒信号发生器电路2、计时控制模块计时系统由74LS192、74LS08、74LS02构成。在个位的74LS192的CU端逐个输入计数脉冲CP,个位的U1计数器开始进行加法计数。当合上B2,计时表进行倒计时。当合上A1,高电平加到U1和U4的输入端RD。用74LS08、74LS00做成反馈电路,使计数器接到第30个CP脉冲作用后,计数器状态由00101001恢复为00000000,完成一次计数循环。图2.9计时控制电路三、数字计数器软件设计(一)汇编VHDL语言简介汇编VHDL语言是FPGA程序设计语言的重要形式,也是当今FPGA开发人员进行程序开发最常用的语言形式。在VHDL中,算术运算符用来执行算术运算操作。操作数可以是INTEGER,SIGNED,UNSIGNED或REAL数据类型,其中REAL类型是不可综合的。如果声明了ieee库中的包集std_logic_signed和std_logic_unsigned。汇编语言是一种用来替代机器语言进行程序设计的语言。汇编语言的特点是每一条指令都给出了助记符。并进行目标程序、检查修改程序中的错误,对程序运行结果进行分析,直到正确为止。(二)运行流程图1、程序流程图根据设计内容,可做出主程序流程图如图3.1所示。YNYN图3.1主程序流程图2、蜂鸣器控制电路蜂鸣器只需在其两引线上加3-15V的直流电压,比电研式蜂鸣器结构简单,耗电少,且更适应于在FPGA系统中应用。压电式蜂鸣器,约需10mA的驱动电流。可以使用一个晶体三极管驱动。报警程序设计如图3.2所示。驱动报警电路驱动报警电路报警鸣音不报警判别触发信号YN图3.2报警程序流程图3、中断处理函数本设计主要用到了FPGA的中断系统。当FPGA扫描到有按键按下时,便会将键值存储起来,并在IRQ引脚输出高电平发出中断,通知FPGA进行相关处理。(如图3.3所示)。图3.3中断处理中的相关操作4、数码显示将采集到的频率转换为十进制数后,还不能直接将这些数送给数码显示,因为七段LED数码管内部由7个条形发光二极管和一个小圆点发光二极管组成,根据各管的亮暗组合成字符。图3.4十进制数转换为显示代码流程图5、1s定时循环的程序设计框图首先设计选用定时器T0完成定时功能,选用方式1时最多也只能定时,显然不能满足定时1的要求,用下面这种方法解决:T0定时10,连续循环定时100次即可完成1定时,用一个计数单元20H存放循环的次数,每一次循环20H单元自减1,当20H单元为零时则1定时到时。程序流程图如图3.5所示。图3.51s定时流程图6、T1计时程序设计中T1采用计数功能,需要注意的一个问题是,输入的待测时钟信号的频率最高可以达到460800Hz,但计数器最多只能计数65536次,显然需要对计数单元进行扩展,扩展的思路是除了计数器T1的TH1和TL1用于计数外,再选用一个计数单元23H,每当计数器T1溢出回零时产生中断,中断程序执行23H单元自增1,这样,当一秒到时时采集的计数数据,23H单元存放的是数据的最高位,TH1存放的是数据的次高位,TL1存放的是数据的最低位。当然,这里所说的“最高位”“次高位”以及“最低位”都是针对十六进制而言的,T1计数程序的流程图如图3.6所示。图3.6T1计数流程图四、仿真演示(一)QuartusⅡ软件工具QuautusII是Altera公司的综合性PLD开发软件,支持原理图、VHDL、Verilog-HDL以及AHDL等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整的PLD设计流程。QuartusII会根据网表的描述进行布局布线将设计具体部署到确定的Altera器件中。编译完成后进行仿真,检查是否达到了设计要求,若未达到要求,需重新检查设计输入及编译过程,不断迭代、收敛直至满足设计要求。最后将设计配置到目标器件中进行硬件验证与测试。(二)各模块仿真演示1、六进制计数器六进制计数器VHDL语言描述详见附件。将VHDL文本文件在Quartus上编译仿真,仿真结果如图4.1所示。六进制计数器symbol,clk为时钟信号、clr为清零端、start为使能信号(start为1时计数器正常计数,否则计数器不工作)、daout[3..0]BCD码输出端口、cout为进位输出端口。图4.1六进制计数器仿真波形2、十进制计数器将VHDL文本文件在Quartus上编译仿真,仿真结果如图4.2所示,端口功能描述参照六进制计数器。图4.2十进制计数器仿真波形3、蜂鸣器控制电路将此VHDL文本文件在Quartus上编译仿真,仿真结果如图4.3所示。然后按照上述步骤将VHDL文件转换成symbol文件并保存。图4.3蜂鸣器控制电路4、显示译码器将此VHDL文本文件在Quartus上编译仿真,仿真结果如图4.4所示。由于输入端信号为BCD码,而且一位BCD码只能表示十进制数的0-9,因此当输入为1010—1111时,无对应的译码输出,即输出为零,这也是编程决定的。图4.4显示译码器五、结论本系统设计用了现在EDA设计手段,基于FPGA采用VHDL语言编程实现数字计数器的设计。VHDL可以更加快速、灵活地设计出符合各种要求的数字计数器,优于其他设计方法,使设计过程达到高度自动化。本文介绍的八路数显计数器基于VHDL语言、以EDA技术作为开发手段、采用FPGA作为控制核心设计而成。与传统设计相比较,不仅简化了接口和控制,也提高了系统的整体性能和工作可靠性,具有电路简单、成本低廉、操作方便、灵敏可靠等优点。该数字计数器还具有报警功能,当计时长度超过设定的长度时,会产生报警信号驱动蜂鸣器报警。实验证明该计数器工作正常,基本上已达到了预期的设计要求。参考文献刘江海.EDA技术[M].华中科技大
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 内蒙古杭锦旗城镇初级中学2026届初三年级模拟考试生物试题试卷含解析
- 2026年玄武岩材料耐腐蚀性能使后期防腐成本降低80%经济性测算
- 2026年波罗的海干散货指数与全球原材料贸易跟踪
- 2025年临床医学阶段测试试卷
- 软件公司客服部门负责人面试问题与技巧
- 日化产品市场推广岗位应聘全攻略
- 企业并购法务专员的面试问题与技巧
- 区块链技术原理及应用案例
- 会议议程范本
- 互联网公司软件工程师面试宝典
- 2025中国国新招聘笔试参考题库附带答案详解
- 2026法律基础常识试题及答案
- 2025年幼儿园初级保育员证考试试题和答案
- 航空航天飞控系统设计手册
- 2026年福建省烟草专卖局第二批招聘(127人)考试参考试题及答案解析
- - 育才中学2026学年春季第二学期初二年级地理实践活动与知识应用教学工作计划
- 2026年永州职业技术学院高职单招职业适应性测试模拟试题带答案解析
- 肥胖课件之针灸治疗
- “十五五规划纲要”解读:双碳引领绿色发展
- 建筑施工安全管理细则范本
- 海信集团AI面试求职者常见疑惑解答
评论
0/150
提交评论