eda—交通灯设计
- 格式:doc
- 大小:223.50 KB
- 文档页数:8
eda交通灯课程设计一、教学目标本课程旨在让学生了解和掌握交通灯系统的基本原理和设计方法。
通过本课程的学习,学生将能够:1.知识目标:理解交通灯系统的原理和组成,包括信号灯、控制器、传感器等;掌握交通灯系统的设计和实施方法,包括硬件设计和软件编程。
2.技能目标:能够使用相关工具和软件进行交通灯系统的设计和仿真;具备一定的实际操作能力,能够进行交通灯系统的安装和调试。
3.情感态度价值观目标:培养学生对交通安全和秩序的重视,提高学生的社会责任感和公民意识。
二、教学内容本课程的教学内容主要包括以下几个部分:1.交通灯系统的原理和组成:介绍交通灯系统的工作原理和基本组成,包括信号灯、控制器、传感器等。
2.交通灯系统的设计和实施:讲解交通灯系统的设计方法和步骤,包括硬件设计和软件编程。
3.交通灯系统的仿真和实验:使用相关工具和软件进行交通灯系统的仿真,并进行实际操作和实验。
4.交通安全和秩序的重要性:强调交通安全和秩序对社会的的重要性,培养学生的社会责任感和公民意识。
三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法,包括:1.讲授法:讲解交通灯系统的原理和组成,设计和实施方法等基本知识。
2.讨论法:学生进行小组讨论,分享学习心得和经验,提高学生的思维能力和团队合作能力。
3.案例分析法:分析真实的交通灯系统案例,让学生了解交通灯系统的实际应用和效果。
4.实验法:进行交通灯系统的仿真和实验,让学生亲身体验交通灯系统的设计和实施过程。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:选择一本适合学生水平的交通灯系统设计教材,作为学生学习的基本参考资料。
2.参考书:提供一些相关的参考书籍,供学生深入学习和研究。
3.多媒体资料:制作一些教学PPT、视频等多媒体资料,帮助学生更好地理解和掌握交通灯系统的原理和设计方法。
4.实验设备:准备一些实验设备,包括交通灯控制器、传感器等,供学生进行实际操作和实验。
eda交通灯课程设计一、课程目标知识目标:1. 学生能理解并掌握EDA交通灯的基本原理,包括信号灯的工作原理、时序控制等。
2. 学生能够运用所学知识,分析并设计简单的交通灯控制系统。
3. 学生了解交通灯在现实生活中的应用,认识到其在交通安全中的重要性。
技能目标:1. 学生能够运用EDA软件进行交通灯电路的设计与仿真。
2. 学生通过小组合作,提高沟通协调能力和团队协作能力。
3. 学生掌握基本电路调试方法,具备解决实际问题的能力。
情感态度价值观目标:1. 学生培养对电子设计与应用的兴趣,激发创新意识。
2. 学生认识到交通灯在保障交通安全、提高道路通行效率方面的重要性,增强社会责任感。
3. 学生在学习过程中,培养严谨、细致、勇于探索的科学态度。
本课程针对初中年级学生,结合学科特点,注重理论与实践相结合,以提高学生的动手能力和创新能力。
在教学过程中,教师需关注学生的个体差异,激发学生的学习兴趣,鼓励学生积极参与讨论和实践,培养其团队协作能力。
通过本课程的学习,期望学生能够掌握交通灯的基本原理,提高电子设计与应用能力,并树立正确的价值观。
二、教学内容本章节教学内容主要包括以下三个方面:1. 交通灯基本原理:- 介绍交通灯的起源、发展及其在现代交通中的应用。
- 讲解交通灯的信号控制原理,包括红绿灯的切换机制和时序控制。
2. EDA软件应用:- 介绍EDA软件的基本功能和使用方法。
- 结合教材章节,教授如何使用EDA软件进行交通灯电路设计与仿真。
3. 实践操作与小组讨论:- 安排学生进行交通灯电路设计实践,指导学生完成电路搭建、调试与优化。
- 组织小组讨论,让学生分享设计心得,互相学习,提高团队协作能力。
教学大纲安排如下:第一课时:交通灯基本原理介绍,占总课时的1/4。
第二课时:EDA软件应用教学,占总课时的1/4。
第三课时:实践操作与小组讨论,占总课时的1/2。
教学内容与教材紧密关联,确保科学性和系统性。
在教学过程中,教师需关注学生对知识点的掌握情况,及时调整教学进度,确保教学效果。
eda交通灯控制器课程设计课程设计:EDA交通灯控制器1. 课程背景和目标:EDA交通灯控制器是使用EDA(电子设计自动化)工具进行交通灯控制系统设计的课程。
学习该课程的目标是使学生能够熟练运用EDA工具进行交通灯控制系统设计,并能够理解交通灯控制系统的原理和设计方法。
2. 课程内容和安排:(1) 交通灯控制系统原理介绍:介绍交通灯控制系统的基本原理,包括信号机、信号控制方法和交通流量检测等。
(2) EDA工具介绍:介绍常用的EDA工具,如Verilog、VHDL等,并讲解其基本使用方法。
(3) 交通灯控制器设计流程:介绍交通灯控制器的设计流程,包括需求分析、功能设计、模块设计和系统集成等。
(4) 交通灯控制器设计实践:学生通过实践项目,使用EDA工具设计交通灯控制器。
项目涵盖设计、仿真、验证和生成等环节,学生需要独立完成设计并提交设计报告。
3. 课程教学方法:(1) 理论讲解:通过课堂讲解,介绍交通灯控制系统的原理和设计方法,以及EDA工具的使用方法。
(2) 实践项目:学生通过实践项目,运用所学知识设计交通灯控制器,并进行仿真、验证和生成等环节。
(3) 讨论和案例分析:通过课堂讨论和案例分析,加深学生对交通灯控制系统的理解和应用能力。
(4) 指导和批评:教师对学生的设计进行指导和批评,帮助学生不断提高设计能力。
4. 评估方式:(1) 实践项目报告:学生独立完成实践项目,并提交设计报告,包括设计过程、仿真结果和验证结果等。
(2) 课堂测试:通过课堂测试检验学生对交通灯控制系统原理和EDA工具的理解程度。
(3) 课堂表现:评估学生的课堂出勤情况、学习态度和参与度等。
5. 参考教材:(1) 《交通信号控制原理与技术》高新泽(2) 《EDA与数字电路设计》陈骏等(3) 《数字电路与系统设计》刘敏衡等(4) 《系统设计自动化技术与EDA工具应用》杨学庆等以上是对EDA交通灯控制器课程设计的简要介绍。
课程内容涵盖了交通灯控制系统的原理和设计方法,以及EDA工具的使用方法。
实验五交通灯控制器设计一、实验目的(1)进一步熟练EDA设计流程、系统仿真及硬件测试分析。
(2)学会用分层次设计的方法设计交通灯控制器。
(3)掌握动态数码管的原理,学会用VHDL语言编程使用数码管。
(4)学习较复杂数字电路系统的设计。
二、实验内容与要求一条主干道,一条乡间公路,组成十字路口,要求保证主干道先通行,有MR(主红),MY(主黄),MG(主绿),CR(乡红),CY(乡黄),CG(乡绿)。
六盏交通灯需要控制;交通灯由绿变红有4秒黄灯亮的时间间隔,由红到绿没有时间间隔;系统有MRCY、MRCG、MYCR、MGCR四个状态;乡间公路右侧各埋有一个传感器,当有车辆通过乡间公路时,发出请求信号s=1,其余时间s=0;平时系统停留在MGCR(主干道通行)状态,当s=1时,经MYCR(黄灯)状态转到MRCG状态,但保证MGCR不短于一分钟;一旦s=0系统将脱离MRCG状态。
随即由MRCY进入MGCR状态,即使s一直为1,MRCG持续时间也不得超过20秒。
三、设计思路/原理图图一、交通灯控制器原理图采用分层设计的方法分为其中jishuqi为倒计数器模块预置数有60、3、19三种。
yimaqi 为8位二进制数译码成8421BCD码的译码模块,dongtaism为动态扫描显示模块,deng 为交通灯状态转移模块。
当s=0时系统处以MGCR状态,一旦s=1且一直有效则状态转移:MGCR——>MYCR——>MRCG——>MRCY——>MGCR。
其中MGCR持续时间为61秒,MYCR持续时间为4秒,MRCG最长持续时间为20秒。
MRCY持续时间为4秒。
四、实验程序(程序来源:王鸿亮6100208031 )(1)倒计数器模块jishuqilibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity jishuqi isport(clk,s:in std_logic;count:out std_logic_vector(7 downto 0);state:out std_logic_vector(1 downto 0));end jishuqi;architecture one of jishuqi issignal st:std_logic_vector(1 downto 0):="00";signal cnt:std_logic_vector(7 downto 0);type states is (st0,st1);signal stx:states;beginprocess(clk,s)beginif clk'event and clk='1' thencase st iswhen "00" =>if s='1' then case stx is when st0=>cnt<="00111100";stx<=st1;when st1=>if cnt>0 then cnt<=cnt-1;else cnt<="00000011";st<="01";end if;when others=>null;end case;else cnt<="00000000";stx<=st0;st<="00";end if;when "01" =>if s='1' then case stx is when st1=>if cnt>0 then cnt<=cnt-1;else cnt<="00010011";st<="10";end if;when others=>null;end case;else case stx is when st1=>if cnt>0 then cnt<=cnt-1;else cnt<="00000000";st<="00";end if;when others=>null;end case;end if; when "10"=> if s='1' then case stx is when st1=>if cnt>0 then cnt<=cnt-1;else cnt<="00000011";st<="11";end if;when others=>null;end case;else cnt<="00000011";st<="11";end if;when "11"=> if cnt>0 then cnt<=cnt-1;else cnt<="00000000";st<="00";stx<=st0;end if; when others=>null;end case;end if;end process;state<=st;count<=cnt;end architecture;(2)交通灯状态转移模块denglibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity deng isport(state:in std_logic_vector(1 downto 0);mg,cr,my,cg,mr,cy:out std_logic ) ;end entity deng ;architecture one of deng isbeginprocess(state)begincase state iswhen "00"=>mg<='1';cr<='1';my<='0';mr<='0';cg<='0';cy<='0'; when "01"=>mg<='0';cr<='1';my<='1';mr<='0';cg<='0';cy<='0'; when "10"=>mg<='0';cr<='0';my<='0';mr<='1';cg<='1';cy<='0'; when "11"=>mg<='0';cr<='0';my<='0';mr<='1';cg<='0';cy<='1'; end case;end process;end architecture one;(5) 八位二进制向八位BCD译码的译码模块yimaqi library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity yimaqi isport(count:in std_logic_vector(7 downto 0);p:out std_logic_vector(7 downto 0));end entity yimaqi;architecture one of yimaqi isbeginprocess(count)variable h:std_logic_vector(7 downto 0);beginh:=count;if h<10 then h:=h;elsif h>=10 and h<20 then h:=h+6;elsif h>=20 and h<30 then h:=h+12;elsif h>=30 and h<40 then h:=h+18;elsif h>=40 and h<50 then h:=h+24;elsif h>=50 and h<60 then h:=h+30;elsif h>=60 and h<70 then h:=h+36;end if;p<=h;end process;end architecture one;(6)动态数据选择器模块dongtaismlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity dongtaism isport(clk2:in std_logic;count:in std_logic_vector(7 downto 0);y:out std_logic_vector(2 downto 0);pu:out std_logic_vector(3 downto 0));end entity dongtaism;architecture one of dongtaism issignal y1:std_logic_vector(2 downto 0);type states is (st0,st1);signal stx1:states;beginprocess(clk2)beginif clk2'event and clk2='1' thencase stx1 is when st0=>y1<="000";pu<=count(3 downto 0);stx1<=st1;when st1=>y1<="001";pu<=count(7 downto 4);stx1<=st0;when others=>stx1<=st0;end case;end if;end process;y<=y1; end architecture one ;五、实验步骤1.建立工作库文件夹和编辑设计文件2.编译过程3.系统仿真(1)建立新的波形激励文件。
目录目录 (1)第一章设计思路 (1)1.1、设计内容及要求 (1)1.2、设计构思 (1)1.3、设计构思框图 (2)第二章单元模块设计与仿真 (3)2.1、时钟分频模块 (3)2.2、5秒倒计时计数器模块 (4)2.3、35秒倒数计时计数器模块 (7)2.4、25秒倒计时计数器模块 (9)2.5、40秒倒计时计数器模块 (11)2.6、20秒倒计时计数器模块 (13)2.7、A方向控制模块 (15)2.8、B方向控制模块 (16)2.9、显示模块 (18)2.10、顶层文件的编写 (21)2.11. 总电路图 (25)第三章调试 (26)3.1、硬件实验 (26)3.2、实验现象 (27)心得体会 (28)参考文献 (29)第一章设计思路1.1、设计内容及要求1. 设计制作一块十字路口的交通信号灯的控制电路的专用芯片。
2. A方向和B方向各设置红(R)、黄(Y)、绿(G)三盏灯,三盏灯按合理的顺序亮灭,并能将灯亮的时间以倒计时的方式显示出来。
3. 两个方向各灯的时间可方便地进行设置和修改。
假设A方向为主干道,车流量大,A方向通行时间比B方向长。
设A方向每次至少通行t1秒,B 方向每次至多通行t2秒,黄灯亮t秒。
1.2、设计构思为了方便A、B方向的车流不堵塞,默认A方向先亮绿灯,同时B方向亮红灯,时间以倒数显示出来,在绿灯时间到达时,通过3秒黄灯,过渡到红灯,使得行驶过程中的车辆有足够的时间停下来。
所以,红灯的时间是另一方向的绿灯时间加上黄灯的时间。
用Ga、Ya、Ra依次代表主干道A方向的绿灯、黄灯和红灯。
用Gb、Yb、Rb依次代表支干道B方向的绿灯、黄灯和红灯。
根据A、B方向的车流量大小,令A方向绿灯亮30S,黄灯亮3s,红灯亮28S;B方向绿灯亮25S,黄灯3s,红灯33s。
如图1-1,图中1代表点亮,0代表灭。
A方向(主干道)B方向(支干道)时间Ga Ya Ra Gb Yb Rb 时间35S 1 0 0 0 0 1 40S 5S 0 1 0 1 0 0 20S25S 0 0 1 0 1 0 5S图1-1 交通灯亮灭时间安排1.3、设计构思框图图1-2 设计构思框图如图所示,通过A、B方向控制器分别控制A和B方向各自的时间倒数模块以及时间显示。
EDA 交通灯课程设计一、课程目标知识目标:1. 学生能理解EDA(电子设计自动化)的基本概念,掌握交通灯系统的原理与设计流程。
2. 学生能够运用所学知识,设计并实现一个具备基本功能的交通灯控制系统。
3. 学生了解交通灯控制系统在实际应用中的重要性,理解不同颜色灯亮灭的时间间隔及其意义。
技能目标:1. 学生能够运用EDA软件进行电路设计,完成交通灯控制系统的原理图与PCB布线图绘制。
2. 学生能够通过编程实现对交通灯控制系统的仿真与调试,解决简单问题。
3. 学生能够运用团队协作、沟通技巧,共同完成课程设计任务,提高实践操作能力。
情感态度价值观目标:1. 学生培养对电子设计自动化技术的兴趣,激发创新意识和探索精神。
2. 学生通过实践操作,培养动手能力、问题解决能力和自主学习能力。
3. 学生认识到遵守交通规则的重要性,增强社会责任感和安全意识。
课程性质:本课程设计为实践性课程,注重培养学生的动手能力和团队协作能力。
学生特点:初三学生,具有一定电子基础知识,好奇心强,喜欢动手实践。
教学要求:结合学生特点,课程设计应注重理论与实践相结合,鼓励学生自主探究和团队协作,提高学生的综合能力。
通过分解课程目标为具体学习成果,使学生在完成课程设计的过程中达到预期目标。
二、教学内容1. 电子设计自动化(EDA)基本原理介绍:包括EDA的概念、发展历程、应用领域。
2. 交通灯控制系统原理:讲解交通灯的工作原理、控制逻辑、信号灯颜色时间设置。
3. EDA软件操作:学习并掌握EDA软件的使用,如原理图绘制、PCB布线图设计。
4. 交通灯控制系统设计:根据实际需求,设计具备基本功能的交通灯控制系统。
- 知识点:数字电路、逻辑门、时序逻辑、微控制器应用。
- 教材章节:第四章 电子设计自动化,第三节 数字电路设计。
5. 编程与仿真:学习编程实现对交通灯控制系统的仿真与调试。
- 知识点:基础编程知识、仿真软件使用。
- 教材章节:第五章 嵌入式系统设计,第一节 嵌入式编程基础。
eda 交通控制灯课程设计一、课程目标知识目标:1. 学生能够理解并掌握交通控制灯(红绿灯)的基本原理和工作机制。
2. 学生能够描述EDA(电子设计自动化)工具在交通控制灯设计中的应用。
3. 学生能够解释交通控制灯系统中涉及的基础电子元件及其功能。
技能目标:1. 学生能够运用EDA软件完成交通控制灯电路图的绘制。
2. 学生能够通过编程实现对交通控制灯系统的简单控制逻辑。
3. 学生能够运用团队协作和问题解决技能,设计和优化交通控制灯系统。
情感态度价值观目标:1. 培养学生对电子工程领域的兴趣,激发创新意识和探索精神。
2. 增强学生的环保意识和交通安全意识,认识到交通控制灯在现代社会中的重要性。
3. 培养学生的团队协作意识,学会尊重他人意见,共同解决问题。
课程性质:本课程结合了电子技术与实际应用,注重理论与实践相结合,以项目为导向,提升学生的综合技能。
学生特点:假设学生为初中年级,具有一定的电子元件知识基础,对新技术的学习充满好奇,具备基本的计算机操作能力。
教学要求:课程需注重实践性,通过互动式教学和团队协作,使学生在动手实践中理解和掌握知识,提高问题解决能力。
同时,强调安全意识和责任感,培养符合社会主义核心价值观的技能人才。
二、教学内容1. 交通控制灯基础知识:- 红绿灯工作原理介绍- 交通控制灯系统的组成与功能- 交通控制灯在交通安全中的作用2. EDA工具的应用:- EDA软件的认识与基本操作- 交通控制灯电路图的绘制方法- 电路仿真与调试技巧3. 交通控制灯电路设计与制作:- 基本电子元件的选择与应用- 交通控制灯控制逻辑的编写与实现- 电路板设计与焊接技巧4. 项目实践与优化:- 团队协作设计与制作交通控制灯系统- 控制逻辑优化与功能拓展- 作品展示与评价教学内容安排与进度:第一课时:交通控制灯基础知识学习第二课时:EDA软件的认识与基本操作第三课时:交通控制灯电路图绘制与仿真第四课时:电路设计与制作第五课时:项目实践与优化第六课时:作品展示与评价教材章节关联:教学内容与教材中“电子技术应用”章节相关,涉及电子元件、电路设计、EDA工具应用等方面的知识。
EDA课程设计-交通灯-图文交通信号灯控制电路设计一、概述城市道路交叉口是城市道路网络的基本节点,也是网络交通流的瓶颈。
目前,大部分无控制交叉口都存在高峰小时车流混乱、车速缓慢、延误情况严重、事故多发、通行能力和服务水平低下等问题。
特别是随着城市车流量的快速增长,城市无控制道路交叉口的交通压力越来越大。
因此,做好基于EDA技术平台的交叉口信号控制设计是缓解交通阻塞、提高城市道路交叉口车辆通行效率的有效方法。
交通信号控制的目的是为城市道路交叉口(或交通网络)提供安全可靠和有效的交通流,通常最为常用的原则是车辆在交叉口的通过量最大或车辆在交叉口的延误最小。
交通信号灯控制电路是显示主干道和支干道交替放行时间并用试验箱左上角的彩灯来红黄绿支红代替信号灯的一种实际电路。
设计一个基于FPGA的红绿灯交通信号控制器。
假设某个十干黄绿道字路口是由一条主干道和一条次干道汇合而成,在每个方向设置红绿黄三种信号灯,红灯亮禁止通行,绿灯亮允许通行。
黄灯亮允许行驶中车辆有时间停靠到禁止线以外。
第-1-页共18页二、方案设计与论证在硬件时钟电路的基础上,采用分频器,输出一个1S的时钟信号,在时钟信号的控制下,实现主干道和支干道红绿灯交替显示。
红绿灯交通灯控制器层次设计:EDA技术的基本设计方法有电路级设计方法和系统级设计方法。
电路级设计方法已经不能适应新的形势,本系统采用的是系统级层次设计方法,对整个系统进行方案设计和功能划分,系统的关键电路用一片FPGA芯片实现,首先用VHDL语言编写各个功能模块程序,最后通过综合器和适配器生成最终的目标器件,然后用顶层原理图将各功能模块连接起来。
下面给出各模块的VHDL设计过程和仿真结果。
1、系统时序发生电路clk_gen的VHDL设计在红绿灯交通信号控制系统中,大多数的情况是通过自动控制的方式指挥交通的。
因此,为了避免意外事件的发生,电路必须给一个稳定的时钟(clock)才能让系统正常运作。
eda设计项目_交通灯设计eda设计项目_交通灯设计EDA与VHDL设计实验报告交通灯控制器方案一一、设计任务要求交通灯控制器:用于十字路口的交通灯控制器。
实验要求:1.东西方向各有一组红,黄,绿灯用于指挥交通,红,黄,绿的持续时间分别为25s,5s,20s。
2.当有紧急情况(如消防车)时,两个方向均为红灯亮,计时停止,当特殊情况结束后,控制器恢复原来状态,正常工作。
3.组数码管,以倒计时方式显示两个方向允许通行或禁止通行的时间。
二、设计思路及总体结构框图设计思路:1.硬件:由设计任务要求可知,总体输入电路有:(1)在开始计时之前的等待状态,复位键reset接低电位,接通电源后,首先要将它接高电位,表示计时开始。
(2)当按一下(on_off)键,表示紧急情况发生,两个方向均为红灯亮,计时停止,当再次按下(on_off)键时,控制器恢复原来状态,正常工作。
输出电路:(1)由于东西和南北方向都要显示时间,因此需要4个数码管,这样在设计中就需要四条输出线choose4,用来选通指定一个LED七段显示数码管。
(2)显示器的每一位都采用LED七段显示数码管进行显示,每一个LED七段显示数码管都要有七条输出线控制,一共使用4个七段数码管,故输出电路使用四个七位输出信号:showtime1,showtime2,showtime3,showtime4。
(3)东西和南北方向都有交通灯亮的情况,故输出电路中要有两个状态控制信号state1,state2分别控制东西和南北的灯,每个方向上有4个灯(增加了左、右转弯显示控制功能),所以state1,state2的类型应该是4位数组型的。
东西方向交通灯外部电路图如下:State1 State2 Showtime1 Showtime2 Showtime3 Showtime4 Choose4 clk 4/ stas reset 南北方向交通灯on_off 4/ 7/ 7/ 7/ 7/ 4/ 2.软件:(1)在VHDL设计描述中,采用自顶向下的设计思路,该思路,首先要描述顶层的接口,上面的描述已经规定了交通灯控制的输入输出信号:输入信号:复位开关信号reset;紧急情况控制信号on_off;外部时钟信号clk。
目录一.方案分析与对比 (2)1.1方案分析 (2)1.2方案对比 (2)二.整体设计论述 (3)三.单元模块设计与仿真 (6)3.1时钟分频模块 (6)3.2交通灯控制及计时模块 (7)3.3扫描显示译码模块 (9)3.4顶层文件的编写 (10)四.硬件实验方案及实验结果 (13)4.1硬件实验方案 (13)4.2实验结果 (15)五.收获和体会 (15)六.参考文献 (13)附录(程序代码) (17)一.方案分析与对比§1.1方案分析通过分析可以知道,所要设计的交通信号灯控制电路要能够适用于由一条主干道和一条支干道的汇合点形成的十字交叉路口。
能够做到主、支干道的红绿灯闪亮的时间不完全相同,在绿灯跳变红灯的过程中能够用黄灯进行过渡,使得行驶过程中的车辆有足够的时间停下来。
还要求在主、支干道各设立一组计时显示器,能够显示相应的红、黄、绿倒计时。
可以利用VHDL语言合理设计系统功能,使红黄绿灯的转换有一个准确的时间间隔和转换顺序。
§1.2方案对比实现路口交通灯系统的控制方法很多,可以用标准逻辑器件、可编程序控制器和单片机等方案来实现。
若用单片机方案来实现的话,模型可以由电源电路、单片机主控电路、无线收发控制电路和显示电路四部分组成。
在电源电路中,需要用到+5V的直流稳压电源,无线收发控制电路和显示电路应由编码芯片和数据发射模块两部分组成,主控电路的主要元件为AT89C51。
硬件设计完成后还要利用计算机软件经行软件部分的设计才能够实现相应的功能。
虽然利用单片机系统设计的交通灯控制器相对来说较稳定,能够完成较多功能的实现,但这些控制方法的功能修改及调试都需要硬件电路的支持,在一定程度上增加了功能修改及系统设计与调试的困难。
相反,使用基于FPGA的设计方法具有周期短,设计灵活,易于修改等明显的的优点。
而且,随着FPGA器件、设计语言和电子设计自动化工具的发展和改进,越来越多的电子系统采用FPGA来设计。
交通灯控制器设计一、实验目的1. 学习与日常生活相关且较复杂数字系统设计;2. 进一步熟悉SmartSOPC型实验装置和QuartusⅡ软件的使用方法;3. 学习二进制码到BCD码的转换;4.学习有限状态机的设计应用。
二、实验基本原理本实验中主要应用了状态机以及减法器的设计原理。
在状态连续变化的数字系统设计中,采用状态机的设计思想有利于提高设计效率,增加程序的可读性,减少错误的发生几率。
同时,状态机的设计方法也是数字系统中一种最常用的设计方法。
一般来说,标准状态机可以分为穆尔(Moore)机和米利(Mealy)机两种。
在穆尔机中,其输出仅仅是当前状态值的函数,并且仅在时钟上升沿到来时才发生变化。
米利机的输出则是当前状态值、当前输出值和当前输入值的函数。
三、实验内容完成设计、仿真、调试、下载、硬件测试等环节,在SMARTSOPC型EDA实验装置上实现一个由一条主干道和一条乡间公路的汇合点形成的十字交叉路口的交通灯控制器功能,具体要求如下:1.有MR(主红)、MY(主黄)、MG(主绿)、CR(乡红)、CY(乡黄)、CG(乡绿)六盏交通灯需要控制;2.交通灯由绿转红前有4秒亮黄灯的间隔时间,由红转绿没有间隔时间;3.乡间公路右侧各埋有一个串连传感器,当有车辆准备通过乡间公路时,发出请求信号S=1,其余时间S=0;4.平时系统停留在主干道通行(MGCR)状态,一旦S信号有效,经主道黄灯4秒(MYCR)状态后转入乡间公路通行(MRCG)状态,但要保证主干道通行大于一分钟后才能转换;5.一旦S信号消失,系统脱离MRCG状态,即经乡道黄灯4秒(MRCY)状态进入MGCR状态,即使S信号一直有效,MRCG状态也不得长于20秒钟;6.控制对象除红绿灯之外,还包括分别在主干道和乡间公路各有一个两位十进制倒计时数码管显示。
四、主要仪器设备及耗材1、微机1台2、QuartusII集成开发软件1套3、SmartSOPC型EDA实验装置1套五、实验步骤1.用文本输入法设计交通信号控制器(1)由实验要求写出设计思路如下:a)主、乡道各设有一个绿、黄、红指示灯,两个显示数码管。
b)主干道处于常允许通行状态,而乡道有车来才允许通行。
当主干道允许通行亮绿灯时,乡道亮红灯。
而乡道允许通行亮绿灯时,主干道亮红灯。
c)当主、乡道均有车时,两者交替允许通行,主干道每次放行60s,支干道每次放行20s,在每次由亮绿灯变成亮红灯的转换过程中,要亮4s的黄灯作为过渡,并进行减计时显示。
整个交通控制器的状态转换图如下图示(仅画出主干道状态转换图,乡道类似):主干道状态转换图(2)打开Quartus II软件,进入编辑环境。
(3)充分理解状态转换图,根据状态转换图设计出相应的应用状态机的交通信号控制器程序。
打开Quartus II软件,进入编辑环境。
创建新的文本文件,命名为traffic。
编写文本如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity traffic isport(clk,ena,s: in std_logic;mql,mqh,cql,cqh : buffer std_logic_vector(3 downto 0);mr,my,mg,cr,cy,cg: out std_logic);end traffic;architecture one of traffic issignal mq: integer range 0 to 4;signal cq: integer range 0 to 5;beginprocess (clk, ena, s)beginif ena='1' thenif rising_edge(clk) thencase mq iswhen 0 =>if s='1' thenif mql=0 thenmql<="1001";if mqh>0 thenmqh<=mqh-1;else mq<=1;mql<="1001";mqh<="0101";mr<='0';my<='0';mg<='1'; end if;else mql<=mql-1;end if;else mq<=4;mql<="0011";mqh<="0000";mr<='1';my<='0';mg<='0';end if;when 1 =>case s iswhen '1' =>if mql=0 thenmql<="1001";if mqh>0 thenmqh<=mqh-1;else mq<=2;mql<="0011";mqh<="0000";mr<='0';my<='1';mg<='0'; end if;else mql<=mql-1;end if;when '0' =>if mql=0 thenmql<="1001";if mqh>0 thenmqh<=mqh-1;else mq<=3;mql<="0011";mqh<="0000";mr<='0';my<='0';mg<='1'; end if;else mql<=mql-1;end if;when others =>null;end case;when 2 =>if mql>0 thenmql<=mql-1;else mq<=0;mql<="0011";mqh<="0010";mr<='1';my<='0';mg<='0';end if;when 3 =>if s='0' thenmql<="0011";mqh<="0000";mr<='0';my<='0';mg<='1';else mq<=2;mql<="0011";mqh<="0000";mr<='0';my<='1';mg<='0';end if;when 4 =>if mql>0 thenmql<=mql-1;else mq<=1;mql<="1001";mqh<="0101";mr<='0';my<='0';mg<='1'; end if;when others=>null;end case;case cq iswhen 0 =>cq<=1;cql<="0011";cqh<="0110";cr<='1';cy<='0';cg<='0';when 1 =>case s iswhen '1' =>if cql=0 thencql<="1001";if cqh>0 then cqh<=cqh-1; end if;else cql<=cql-1;if cql="0100" and cqh="0000" thencq<=2;cql<="0011";cqh<="0000";cr<='1';cy<='0';cg<='0'; end if;end if;when '0' =>if cql=0 thencql<="1001";if cqh>0 then cqh<=cqh-1; end if;else cql<=cql-1;if cql="0100" and cqh="0000" thencq<=5;cql<="0011";cqh<="0000";cr<='1';cy<='0';cg<='0'; end if;end if;when others => null;end case;when 2 =>if cql>0 then cql<=cql-1;else cq<=3;cql<="1001";cqh<="0001";cr<='0';cy<='0';cg<='1'; end if;when 3 =>if s='1' thenif cql=0 thencql<="1001";if cqh>0 then cqh<=cqh-1;else cq<=4;cql<="0011";cqh<="0000";cr<='0';cy<='1';cg<='0'; end if;else cql<=cql-1;end if;else cq<=4;cql<="0011";cqh<="0000";cr<='0';cy<='1';cg<='0';end if;when 4 =>if cql>0 then cql<=cql-1;else cq<=1;cql<="0011";cqh<="0110";cr<='1';cy<='0';cg<='0';end if;when 5 =>if s='0' thencql<="0011";cqh<="0000";cr<='1';cy<='0';cg<='0';else cq<=2;cql<="0011";cqh<="0000";cr<='1';cy<='0';cg<='0';end if;when others=>null;end case;end if;end if;end process;end one;(4)对文件保存并进行编译仿真,判断其正确性,并将正确的文件进行元件例化(顶层文件),生成通用符号文件(Create SymbolFiles for Current File)。