1、 目 录一实验目的3二设计摘要3三关键词3四设计的基本思路及要求31.设计要求32.交通灯控制系统状态表4五设计所需装置和功能61.DE2综合开发板一套,微机一台62.交通信号灯的功能:6六程序代码分析7七实验操作内容及步骤141、打开Quartus,创建jtxhd工程142.引脚分配193产生波形图20八设计心得,体会22九、参考文献23一实验目的1.掌握VHDL设计一个交通等控制器的方法:2.初步掌握VHDL语言的设计方法3.掌握Quartus II软件的使用;二设计摘要本文分析了现代交通控制与管理问题的现状,根据城市交通的实际情况,阐述了交通灯数字控制系统的工作原理,给出了一种简单实用的
2、城市交通灯数字控制系统的电路设计方案。根据交通灯的设计原理及要求,通过总体设计交通灯原理接线图,综合应用单片机原理、微机原理、微机接口技术等方面的知识来系统完成。三关键词控制、计数、译码、显示、时钟信号四设计的基本思路及要求1.设计要求:(1)设计一个交通信号灯控制器,由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行、黄灯亮则给行驶中的车辆有时间停在禁行线外。(2)主干道常允许通行的状态,支干道有车来时才允许通行。主干道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯(3)主、支干道均有车时,两者交替允许通行,主干道每次旅行45秒
3、,支干道每次旅行25秒,设立45秒、25秒计时,显示电路。(4)在每次由绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡,使行驶中的车辆有时间停到禁行线外,设立5秒计时、显示。下图是主、支干道的示意图:主道 支道2.交通灯控制系统状态表:状态主干道支干道时间S0绿灯亮,允许通行红灯亮,禁止通行45秒S1黄灯亮,停车红灯亮,禁止通行5秒S2红灯亮,禁止通行绿灯亮,允许通行25秒S3红灯亮,禁止通行黄灯亮,停车5秒如下图所示的交通信号灯控制器的系统框图:总体电路原理图如下:五设计所需装置和功能1.DE2综合开发板一套,微机一台2.交通信号灯的功能:由主干道A和支干道B的汇合点形成十字交叉路口,在交
4、叉路口处设有红绿黄三色信号灯。红灯亮禁止通行;绿灯亮允许通行;黄灯亮则让行驶到路口的车辆有时间停靠到禁止线外。用两位数码管支干道所处的状态。红黄绿分别用R1/R2,Y1/Y2,G1/G2表示主干道车辆较多,所以绿灯亮灯时间为50s,支干道亮绿灯时间设为30S。当主干道允许通行亮绿灯时则支干道亮红灯;支干道亮绿灯时也相反。每次由绿灯转变为红灯时,期间要亮5s的黄灯。交通灯正常运行时,用7段数码管显示主干道和支干道的倒计时时间。六程序代码分析library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.
5、std_logic_unsigned.all;entity jtxhd is port(Clk : in std_logic; -时钟输入 Rst : in std_logic; -复位输入 R1,R2 : out std_logic; -红灯输出 Y1,Y2 : out std_logic; -黄灯输出 G1,G2 : out std_logic; -绿灯输出 Display : out std_logic_vector(7 downto 0); -七段码管显示输出 SEG_SEL : buffer std_logic_vector(2 downto 0) -七段码管扫描驱动); end j
6、txhd;architecture behave of jtxhd is signal Disp_Temp : integer range 0 to 15; signal Disp_Decode : std_logic_vector(7 downto 0); signal SEC1,SEC10 : integer range 0 to 9; signal Direction : integer range 0 to 15; signal Clk_Count1 : std_logic_vector(9 downto 0); -产生0.5Hz时钟的分频计数器 signal Clk1Hz : std
7、_logic; signal Dir_Flag : std_logic; -方向标志 begin process(Clk) begin if(Clkevent and Clk=1) then if(Clk_Count11000) then Clk_Count1=Clk_Count1+1; else Clk_Count1=0000000001; end if; end if; end process; Clk1Hz=Clk_Count1(9); process(Clk1Hz,Rst) begin if(Rst=0) then SEC1=0; SEC10=2; Dir_Flag=0; elsif(
8、Clk1Hzevent and Clk1Hz=1) then if(SEC1=0) then SEC1=9; if(SEC10=0) then SEC10=1; else SEC10=SEC10-1; end if; else SEC1=SEC1-1; end if; if(SEC1=0 and SEC10=0) then Dir_Flag=not Dir_Flag; end if; end if; end process; process(Clk1Hz,Rst) begin if(Rst=0) then R1=1; G1=0; R2=1; G20 or SEC13) then if(Dir_
9、Flag=0) then -横向通行 R1=0; G1=1; R2=1; G2=0; else R1=1; G1=0; R2=0; G2=1; end if; else if(Dir_Flag=0) then -横向通行 R1=0; G1=0; R2=1; G2=0; else R1=1; G1=0; R2=0; G20 or SEC13) then Y1=0; Y2=0; elsif(Dir_Flag=0) then Y1=Clk1Hz; Y2=0; else Y1=0; Y2=Clk1Hz; end if; end process; process(Dir_Flag) begin if(D
10、ir_Flag=0) then -横向 Direction=10; else -纵向 DirectionDisp_TempDisp_TempDisp_TempDisp_TempDisp_TempDisp_TempDisp_TempDisp_Temp=SEC1; end case; end process; process(Clk) begin if(Clkevent and Clk=1) then -扫描累加 SEG_SEL=SEG_SEL+1; DisplayDisp_DecodeDisp_DecodeDisp_DecodeDisp_DecodeDisp_DecodeDisp_DecodeD
11、isp_DecodeDisp_DecodeDisp_DecodeDisp_DecodeDisp_DecodeDisp_DecodeDisp_Decode“程序”Altera Quartus 6.1(2) 选择FileNew Project Wizard 界面,单击Next按钮,进入工程名称的设定、工程目录的选择,如下图1所示(3) 在上图所示的对话框中,指定工程存放的目录、工程名和顶层实体名,工程名和顶层实体名要求相同,工程目录可以随意设置,但必须是英文的目录,单击Next按钮。(4) 在如下图所示的对话框中,用户指定目标器件,根据开发板所使用的期间来选择,单击Next按钮,见如下步骤: (5
12、)新建一个VHDL语言,见下图 (6)把交通信号灯的程序代码输入,如下图所示:(7)编译、运行程序,单击processingstart comilation,运行程序,见下图:2.引脚分配(1)单击assignmentstiming analysis setting进行引脚分配,(2)直接导入引脚分配,单击assignmentsimport assignments(3)引脚分配完成3产生波形图1)创建波形文件,单击Fileother filesvector waveform file得到(2)点击空白处,点开INSERT-insert node,再点击node finderlist,把元器件添
13、加进去,得到其仿真波形图,如下所示:八设计心得,体会通过这次交通灯控制器课程设计,我不仅加深了对交通灯理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西。这个设计过程中,我们花费了大量的时间和精力,更重要的是,我们在学会创新的基础上,同时还懂得合作精神的重要性,因为做这个设计不仅是我自己一人弄的,加上同学的帮忙,刚开始有很多不会,通过大家的努力,帮助,才能做好。在这次设计中,学会了与他人合作,通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够
14、的,要把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在本次实验中,不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次设计,进一步加深了对SOPC课程的了解对它有了更加浓厚的兴趣。在设计的过程中遇到问题,可以说得是困难重重,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,在同学的帮助下,不断的修改直到符合了自己的要求,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的。最后,对给过我帮助的同学和老师再次表示忠心的感谢!九、参考文献1.华清远见嵌入式培训中心 FPGA应用开发入门与典型实例 20082.杨春玲 张辉 现代可编程逻辑器件及SOPC应用设计 20053.辛春艳 VHDL硬件描述语言 20024.侯建军 郭勇 SOPC技术基础教程 200822
版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。
Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1
陕公网安备 61072602000132号 违法和不良信息举报:0916-4228922