《数字电子技术课程设计报告模板.doc》由会员分享,可在线阅读,更多相关《数字电子技术课程设计报告模板.doc(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、.数字电子技术课程设计题目:基于FPGA的汽车尾灯控制器替换为自己设计的产品设计院 系:工学院专业班级:电子信息工程12秋1班替换为自己的班级,如:通信工程12秋1班姓 名:学 号:小组成员:指导教师:赵兰、周丽婕、徐振完 成 日 期 2015年 1月目 录1 引言12 Quartus II软件、FPGA硬件介绍22.1 Quartus II软件介绍22.2 FPGA硬件介绍23 汽车尾灯控制器的总体方案33.1汽车尾灯控制器的需求分析33.1.1基本要求33.1.2 特色功能33.2汽车尾灯控制器的总体工作原理34 汽车尾灯控制器的各模块仿真34.1 基本模块44.1.1 主控模块44.1.
2、2 左边灯控制模块44.1.3 右边灯控制模块54.2 特色功能模块54.2.1 时钟变频模块54.2.2 定时器模块65 汽车尾灯控制器的整体电路仿真85.1 汽车尾灯控制器的整体框图85.2 汽车尾灯控制器的仿真波形86 程序下载调试96.1 汽车不同状态时的下载调试图96.1.1正常行驶状态96.1.2 汽车左、右转向时96.1.3 刹车状态96.1.4 故障状态97 心得体会11参考文献13附 录141 引言引言内容主要介绍和自己课题相关的背景内容.(1至2页) 汽车作为现代交通工具已大量进入人们的生活,随着电子技术的发展,对于汽车的控制电路,已经从过去的全人工开关控制发展到了智能控制
3、。2 Quartus II软件、FPGA硬件介绍开发平台的介绍.(1至2页) 2.1 Quartus II软件介绍Quartus II 是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程11. 上角标,所有参考文献必须在正文中予以标注。2. 标注在标点符号内部,勿标注在标点符号外部!。2.2 FPGA硬件介绍FPGA(FieldProgrammable Gate Arr
4、ay),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。3 汽车尾灯控制器的总体方案3.1汽车尾灯控制器的需求分析 3.1.1基本要求为了区分汽车尾灯的4种不同的显示模式,我们设置3个状态控制变量。假定用开关K1、K2、K3进行显示模式控制,可列出汽车尾灯显示状态与汽车运行状态的关系,如表3.1所示必须在正文文字中引用到该表。表3.1 汽车尾灯和汽车运行状态1. 表格编号在表格上方;2. 表名中文为五号宋体,英文为五号Times New Roman;3. 表中文字大小不可超过正文字体(5号字体为宜);4. 编号按章节顺序,如在第2章中:按2.1、2.2、
5、2.3,如在第3章中,则按3.1、3.2、3.3; 必须在正文中引用到该表。 开关控制汽车状态左尾灯D1、D2、D3右尾灯D4、D5、D6K1K2K3000正常行驶不亮不亮100左转按D3,D2,D1顺序循环点亮不亮010右转不亮按D4,D5,D6顺序循环点亮110刹车同时点亮同时点亮001故障同时闪烁同时闪烁 3.1.2 特色功能3.2汽车尾灯控制器的总体工作原理本设计分别针对汽车正常行驶、左、右转向、刹车、故障四种状态进行演示。首先,打开总开关。当控制模块输入为00时,车正常行驶,汽车尾灯不亮;当控制模块输入为10时,表示汽车左转,此时数码管显示“LEFt”,定时器开启,汽车左尾灯由3个L
6、ED灯D1、D2、D3显示,从右往左依次闪烁,当定时器到设定时间时,左灯自动熄灭,关掉左转,定时器清零;当控制模块输入为01时,表示汽车右转,此时数码管显示“rgHt”,定时器开启,汽车右尾灯由3个LED灯D4、D5、D6显示,从左往右依次闪烁,当定时器到设定时间时,右灯自动熄灭,关掉右转,定时器清零;当控制模块输入为11时,表示刹车,此时数码管显示“braE”,汽车左右尾灯常亮。当故障控制开关为1时,数码管显示“HELP”,此时左右尾灯同时闪烁。图3.1为总体方案模块构造须在正文文字中引用到该图。50MHz1Hz模块总控开关右边灯控制模块定时器模块字体显示模块左边灯控制模块主控模块数字显示模
7、块图3.1 总体方案模块构造1. 图名在图的下方;2. 图名中文为五号宋体,英文为五号Times New Roman; 3. 图中文字大小不可超过正文字体(5号字体为宜);4. 编号按章节顺序,如在第2章中:按2.1、2.2、2.3,如在第3章中,则按3.1、3.2、3.3;5. 如有分图时,分图用a、b、c、标出。 4 汽车尾灯控制器的各模块仿真4.1 基本模块 4.1.1 主控模块如图4.1 为主控模块,lft、rit、lr为输出端口。left为高电平时,左模块工作,当right为高电平时,右模块工作从而实现对左右控制模块的控制。公式2.1如下所示:必须在正文文字中引用到该公式并顶格。 (
8、2.1)1. 公式须编号,右对齐;2. 编号按章节顺序,如在第2章中:按2.1、2.2、2.3,如在第3章中,则按3.1、3.2、3.3;图4.1 主控模块图4.2主控模块流程图图4.3 主控模块仿真图本模块功能:以left、right为输入端口,高电平有效,lft、rit、lr为输出端口。left为高电平时,左模块工作,当right为高电平时,右模块工作从而实现对左右控制模块的控制。4.1.2 左边灯控制模块图4.4 左车灯控制模块图4.5左边灯控制模块流程图图4.6 左边灯控制模块仿真图左边灯控制模块仿真图如图4.6。本模块功能:以clk、lft、lr、en为输入端口, 高电平有效,l_o
9、ut2、l_out1、l_out0为输出端口。当clk的上升沿到来时,如果三个输入同时为低电平时,则灯不亮;当lr、en为低电平lft为高电平时,l_out2.0依次闪烁,当lft、en为低电平lr为高电平时,l_out2.0常亮;当lr、lft为低电平en为高电平时,l_out2.0三个灯同时闪烁。通过l_out2、l_out1、l_out0的电平信号来控制汽车左边的尾灯。 4.1.3 右边灯控制模块图4.7 左车灯控制模块图4.8 右边灯控制模块流程图图4.9 右边灯控制模块仿真图右边灯控制模块仿真图 如图4.9。本模块功能:以clk、rit、lr、en为输入端口, 高电平有效,r_out
10、2、r_out1、r_out0为输出端口。当clk的上升沿到来时,如果三个输入同时为低电平时,则灯不亮;当lr、en为低电平rit为高电平时,r_out2.0依次闪烁,当rit、en为低电平lr为高电平时,r_out2.0常亮;当lr、rit为低电平en为高电平时,r_out2.0三个灯同时闪烁。通过r_out2、r_out1、r_out0的电平信号来控制汽车右边的尾灯。4.2 特色功能模块 4.2.1 时钟变频模块图4.10 时钟变频模块Q 1Hz作为整个设计的clkCR=1时CP 50MHz开发板内部时钟图4.11 时钟变频模块流程图图中文字不得超过正文字体大小。图4.12 时钟变频模块仿
11、真图本模块功能:将50MHz的脉冲变为1Hz的脉冲,则意味着原来的脉冲周期将变为原先的5千万倍。由于频率过高,所以无法在图中显示,但是经过下载到开发板上验证此模块的功能是能够实现的。具体下载调试图详见第6章图6.1-图6.5。 4.2.2 定时器模块 图4.13(a)定时器模块 图4.13(b)定时器数码管显示模块启动Clk 1Hz的脉冲9s后定时器产生低电平设定了9秒定时en=1时数码管显示09图4.13 定时器模块流程图定时器模块仿真图 如图4.14(a),en=1时,定时器启动,9秒后,定时器不再计时,令输出端f由0变为1.图4.14(a)定时器仿真图图4.14(b)为左灯定时器数码管显
12、示的仿真图,从图中可以看出定时每秒对应的数码管位数。图4.14(b)左灯定时器数码管显示仿真图图4.14(c)右灯定时器数码管显示仿真图(展开)此特色模块的功能为:输入端clk接变频后1Hz的信号,en接左(右)灯控制模块的lft(rit),当en=1时,定时器启动。RST复位键接总控制模块的left(right)经过一个非门后的信号,实现转向控制按键为零时,定时器清零。输出端Q3.0与定时器数码管显示模块的输入端Q3.0相连,通过vhdl语言编写,实现在数码管上按秒显示其对应的数字。此模块的另一个输出端C,则为控制转向灯到规定时间后自动熄灭的功能。5 汽车尾灯控制器的整体电路仿真5.1 汽车
13、尾灯控制器的整体框图汽车尾灯控制器的顶层文件 如图5.1所示图5.1 顶层原理图汽车尾灯控制器总原理图 如图5.2所示图5.2 汽车尾灯控制器总原理图5.2 汽车尾灯控制器的仿真波形汽车尾灯控制器的总仿真波形(不含时钟变频模块) 如图5.3图5.3(a)汽车尾灯控制器的总仿真波形(不含时钟变频模块)图5.3(b)汽车尾灯控制器的总仿真波形(不含时钟变频模块)因为在第4章 4.2.1里对时钟变频信号的仿真可知,由于频率过高,软件无法对其进行显示,所以这里的总原理图的仿真是将时钟变频模块去掉的,通过观察波形得出,其他功能都是可以正常实现的。对于带有时钟变频模块的原理图仿真,就直接下载到开发板中调试
14、。具体下载调试图详见第6章图6.1-图6.5。6 程序下载调试6.1 汽车不同状态时的下载调试图 6.1.1正常行驶状态如图6.1 正常行驶下载调试图。车正常行驶时,车灯不亮。图6.1 正常行驶下载调试图 6.1.2 汽车左、右转向时开左转向,如图6.2,车左转时,左灯亮,定时器此时已到第6秒,数码管显示LEFt字样。图6.2 左转时下载调试图图6.3 右转时下载调试图开右转向时,如图6.3,此图表示,车右转时,右灯亮,定时器此时已到第2秒,数码管显示rgHt字样。 6.1.3 刹车状态图6.4 刹车时下载调试图图6.4表示,车是刹车状态时,左右转向灯同时常亮,数码管显示brAE字样。 6.1
15、.4 故障状态故障时车的下载调试图如图6.5所示。图6.5(a) 故障时车灯亮(瞬间)的下载调试图图6.5(b) 故障时车灯灭(瞬间)的下载调试图以上两个图表示:当开启故障开关的时候,汽车尾灯同时闪烁,并且数码管显示HELP字样。7 心得体会主要是对课题的总结,包括课程设计过程遇到的问题和解决方法,产品的优势和创新,产品的不足,今后需要改进和优化的地方,自己的收获等。(1页)本次课程设计不仅培养了我们实际操作能力,也培养了我们灵活运用课本知识,理论联系实际,分析问题和解决问题的能力。参考文献参考文献至少8篇,参考 文献格式请参考任务书。 1. 参考文献5号宋体,1.5倍行距;2. 不少于8篇,
16、出版或发表时间在5年内;3. 所有参考文献必须在正文中予以标注,上角标;4. 不可全部为专著M! 参考文献编号为单位数的,作者名字前空2格;双位数的,空1格;1朱正伟,王其红,韩学超.EDA技术及应用(第二版)M.北京:清华大学出版社,2013-03-01 第270页至290页2 Gill, R. Mastering English Literature M. London: Macmillan, 1985:42-45.专著类【格式】序号作者.书名M.出版地:出版社,出版年份:起止页码.3 王海粟.浅议会计信息披露模式J.财政研究,2004,21(1):56-58.4 夏鲁惠.高等学校毕业论文
17、教学情况调研报告J.高等理科教育,2004(1):46-52.5 Heider, E.R.& D.C.Oliver. The structure of color space in naming and memory of two languages J. Foreign Language Teaching and Research, 1999, (3):62 67.期刊类【格式】序号作者.篇名J.刊名,出版年份,卷号(期号):起止页码.6 张筑生.微分半动力系统的不变集D.北京:北京大学数学系数学研究所, 1983:1-7.学位论文【格式】序号作者.篇名D.出版地:保存者,出版年份:起始页码
18、. 附 录把课题的主要程序放在附录,要有程序说明,不要超过5页主控模块程序library ieee; use ieee.std_logic_1164.all;entity kz is port(left,right:in std_logic; lft,rit,lr:out std_logic);end kz;architecture kz_arc of kz isbegin process(left,right) variable a:std_logic_vector(1 downto 0); begin a:=left&right; case a is when00=lft=0; rit=0
19、; lrlft=1; rit=0; lrrit=1; lft=0; lrrit=1; lft=1; lr=1; end case; end process;end kz_arc;左灯控制模块程序library ieee;use ieee.std_logic_1164.all;entity lfta is port(en,clk,lr,left:in std_logic; l_out:out std_logic_vector( 2 downto 0);end lfta;architecture lft_arc of lfta isbegin process(clk,en,left) variab
20、le tmp:std_logic_vector(2 downto 0); begin if lr=1 then tmp:=111; elsif clkevent and clk=1 then if en=1 then if tmp=000 then tmp:=111; else tmp:=000; end if; elsif left=0 then tmp:=000; else if tmp=000 then tmp:=001; else tmp:=tmp(1 downto 0)&0; end if; end if; end if; l_out=tmp; end process;end lft
21、_arc;右灯控制模块程序library ieee;use ieee.std_logic_1164.all;entity rita is port(en,clk,lr,right:in std_logic; r_out:out std_logic_vector(2 downto 0);end rita;architecture rit_arc of rita is begin process(clk,en,right) variable tmp:std_logic_vector(2 downto 0); begin if lr=1 then tmp:=111; elsif clkevent a
22、nd clk=1 then if en=1 then if tmp=000 then tmp:=111; else tmp:=000; end if; elsif right=0 then tmp:=000; else if tmp=000 then tmp:=100; else tmp:=0&tmp(2 downto 1); end if; end if; end if;r_out=tmp; end process;end rit_arc;定时器模块程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.A
23、LL;ENTITY count9 ISPORT (clk:IN STD_LOGIC; en: IN STD_LOGIC; RST: IN STD_LOGIC; Q: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); C:OUT STD_LOGIC); END count9;ARCHITECTURE ART OF count9 IS SIGNAL CNT: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS(clk,en,RST) BEGIN IF RST=1 THEN CNT=0000; ELSIF clkEVENT AND clk=1 T
24、HEN IF en=1 THEN IF CNT9 THEN CNT=CNT+1; C=0; ELSE CNT=1001; C=1; END IF; END IF; END IF;END PROCESS;Qseg_lseg_lseg_lseg_lseg_l seg_lseg_eseg_eseg_eseg_eseg_e seg_eseg_fseg_fseg_fseg_fseg_f seg_fseg_tseg_tseg_tseg_tseg_t seg_t=;END CASE;END PROCESS;END four; 时钟变频模块程序module FrequenceDivide (CP,CR,Q); input CP,CR; output Q; reg 31:0CT; reg Q;always (posedge CP or negedge CR)begin if (CR) CT=32d) begin CT=32d0; Q=Q; end else CTseg_x4seg_x4seg_x4seg_x4seg_x4seg_x4seg_x4seg_x4seg_x4seg_x4 seg_x4=;END CASE;END PROCESS;END one;