综合电子实践quartus ii课程设计报告

综合电子实践quartus ii课程设计报告

ID:20253462

大小:677.94 KB

页数:28页

时间:2018-10-11

综合电子实践quartus ii课程设计报告_第1页
综合电子实践quartus ii课程设计报告_第2页
综合电子实践quartus ii课程设计报告_第3页
综合电子实践quartus ii课程设计报告_第4页
综合电子实践quartus ii课程设计报告_第5页
资源描述:

《综合电子实践quartus ii课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、综合电子实践Quartusii课程设计报告姓名:刘保帅学号:22011127报告日期:2013/9/4A交通控制灯设计1.系统设计要求(1)在十字路口的两个方向上各设一组红、绿、黄灯,显示顺序为其中一个方向是(东西方向)是绿灯、黄灯、红灯;另一方向(南北方向)是红灯、绿灯、黄灯。(2)设置一组数码管,以倒计时的方式显示允许通行或禁止通行的时间。其中绿灯、黄灯、红灯的持续时间分别是20s、5s和25s。(3)当各条路上任意一条上出现特殊情况时,如当消防车、救护车或其他需要优先放行的车辆通过时,各方向上均是红灯,倒计时停止,且显示数字在闪烁。当特殊运行状态结

2、束时,控制器恢复原来状态,继续正常运行。2.系统设计方案2.1系统设计思路(1)本系统设计中均采用混合设计的方法,将整体方案划分成若干个模块进行设计。采用VHDL硬件描述语言和原理图描述相结合的方式,对多种应用电路进行设计,其中底层电路(即模块电路)采用VHDL硬件描述语言方式实现,顶层电路采用原理图描述方式实现。(1)系统设计流程提出系统设计要求需求分析模块化方案设计底层电路设计----VHDL模块电路设计顶层电路设计----原理图描述+各模块连接FPGA整体方案设计实现FPGA整体方案编译仿真时序仿真功能仿真硬件搭接和运行FPGA整体方案设计完成图1

3、系统设计流程1.1系统设计方案分析根据任务要求,计数器的值和交通灯亮灭关系如图1所示。显然,此任务设计的核心是一个技术范围为0~50s的计数器和一个根据计数值作出规定反应的控制器。假设现有晶振为20MHz,因此还需要分频电路来得到10Hz和1Hz的时钟,最后要驱动七段数码管,还需要一个译码电路。红灯亮绿灯亮黄灯亮计数值504525200红灯亮绿灯亮黄灯亮图2计数值和交通灯亮灭关系根据上面的分析,交通控制灯系统框图如图3所示;HoldReset计数器红、黄、绿发光二极管控制器倒计时数字及“闪烁控制信号”Clk1Hz分频电路20MHz分位译码电路Clk10H

4、zCPLD/FPGA七段数码管七段数码管驱动电路图3交通控制等系统框图3.交通控制灯各模块电路设计3.1控制模块controller(1)控制模块的作用是根据计数器的数值控制发光二极管的亮、灭,以及输出倒计时数值给七段数码管的分位译码电路。计数范围为0~50。计数到50后,下一个时钟沿回复到0,开始下一计数。此外当检测到特殊情况(hold=”1”)发生时,计数器暂停计数,无条件点亮红色的发光二极管。而系统复位信号reset则使计数器异步清零。控制模块controller外部端口如图4所示。图4控制模块controller外部端口(2)控制模块的VHDL程

5、序程序说明:控制模块描述了功能键hold和reset的功能;同时对频率为1Hz的时钟进行计数,通过计数值,对各个时间段内交通灯信号进行描述;此外,模块还给出了下一步用于倒计时的信号numa[4..0]和numb[4..0]。libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitycontrollerisport(clock:instd_logic;reset:instd_logic;hold:instd_logic;flash:outstd_logic;num

6、a,numb:outintegerrange0to25;reda,greena,yellowa:outstd_logic;redb,greenb,yellowb:outstd_logic);end;architecturecontrolofcontrollerissignalcountnum:integerrange0to50;beginprocess(clock)beginifreset='1'thencountnum<=0;elsifrising_edge(clock)thenifhold='1'thenflash<='1';elseflash<='

7、0';ifcountnum=47thencountnum<=0;elsecountnum<=countnum+1;endif;endif;endif;endprocess;process(clock)beginifrising_edge(clock)thenifhold='1'thenreda<='1';redb<='1';greena<='0';greenb<='0';yellowa<='0';yellowb<='0';elseifcountnum<=17thennuma<=20-countnum;reda<='0';greena<='1';yello

8、wa<='0';elsif(countnum<=24)thennuma<=25-

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。