ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:228.78KB ,
资源ID:6889624      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6889624.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(交通灯控制系统终结版.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

交通灯控制系统终结版.docx

1、交通灯控制系统终结版河南机电高等专科学校可编程逻辑器件原理与应用课程设计报告交通控制器系统设计专业班级: 医电131 姓 名: 徐长伟 学 号: 130411116 时 间: 2015年6月 成 绩: 交通灯控制系统的设计摘要:随着时代的发展交通事故也急剧增加,为了改善交通秩序减少交通事故,交通灯起着越来越重要的作用。交通灯安装在各个路口上,需要交通灯控制器来对它进行控制,所以设计交通灯控制器有着至关重要的作用。随着EDA技术的大力发展,FPGA等数字可编程器件的出现,数字出租车计费器的设计也就变得更加简单,而且性能更稳定、能实现较复杂的功能,且运用EDA软件可方便的在计算机上实现设计与仿真。

2、本设计基于VHDL(FPGA)语言是电子设计领域中最具活力和发展前途的一项技术,未来必定会取代部分落伍的数字元元件。随着电子技术的不断发展与进步,集成电路的设计方法也在不断地更新。键关词:交通灯、控制器、VHDL语言。目录一、概述 4二、课程设计要求 5三、总体构思 6四、硬件电路的设计 8五、软件设计 10六仿真及下载调试 186.1仿真 186.2程序下载 21七总结与展望 24参考文献 251 概述现代社会的标志之一就是信息产品的广泛使用,而且是产品的性能越来越强,复杂程度越来越高,更新步伐越来越快。支撑信息电子产品高速发展的基础就是微电子制造工艺水平的提高和电子产品设计开发技术的发展。

3、前者以微细加工技术为代表,而后者的代表就是电子设计自动化(electronic design automatic,EDA)技术。本设计采用的VHDL是一种全方位的硬件描述语言,具有极强的描述能力,能支持系统行为级、寄存器传输级和逻辑门级三个不同层次的设计;支持结构、数据流、行为三种描述形式的混合描述、覆盖面广、抽象能力强,因此在实际应用中越来越广泛。ASIC是专用的系统集成电路,是一种带有逻辑处理的加速处理器。而FPGA是特殊的ASIC芯片,与其他的ASIC芯片相比,它具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实时在线检测等优点。在控制系统中,键盘是常用

4、的人机交换接口,当所设置的功能键或数字键按下的时候,系统应该完成该键所设置的功能。因此,键信息输入是与软件结构密切相关的过程。根据键盘的结构不同,采用不同的编码方法。但无论有无编码以及采用什么样的编码,最后都要转换成为相应的键值,以实现按键功能程序的转移。现在是一个知识爆炸的新时代。新产品、新技术层出不穷,电子技术的发展更是日新月异。可以毫不夸张的说,电子技术的应用无处不在,电子技术正在不断地改变我们的生活,改变着我们的世界。在这快速发展的年代,时间对人们来说是越来越宝贵,在快节奏的生活时,人们往往忘记了时间,一旦遇到重要的事情而忘记了时间,这将会带来很大的损失。因此我们需要一个定时系统来提醒

5、这些忙碌的人。数字化的钟表给人们带来了极大的方便。近些年,随着科技的发展和社会的进步,人们对数字钟的要求也越来越高,传统的时钟已不能满足人们的需求。多功能数字钟不管在性能还是在样式上都发生了质的变化,有电子闹钟、数字闹钟等等。 2 课程设计要求随着各种交通工具的发展和交通指挥的需要,交通灯的诞生大大改善了城市交通状况。要求设计一个交通灯控制器 ,控制十字路口主、支两条道路的红、绿、黄三色灯,指挥车辆和行人的安全通行。具体要求: 设计一个十字路口的交通灯控制器,能显示十字路口东西、南北两个方向红、黄、绿灯的指示状态。用两组红、黄、 绿三种颜色的灯分别作为东西、南北两个方向 红、黄、绿等。变化规律

6、为:东西绿灯亮,南北红灯亮东西黄灯亮,南北红灯亮东西红灯亮,南北绿灯亮东西红灯亮,南北黄灯亮东西绿灯亮,南北红灯亮,这样循环下去。南北方向是主干道车道,东西方向是支干道车道,要求两条交叉道路上的车辆交替运行,主干道每次通行时间为30秒,支干道每次通行时间为20秒,时间可设置修改。 绿灯转为红灯时,要求黄灯先亮5秒钟,才能变换运行车道。要求交通灯控制器有复位功能,并要求所有交通灯的状态变化在时钟脉冲上升沿处。3 总体构思根据交通灯系统设计要求,可以用一个有限状态机来实现这个交通灯控制器。首先根据功能要求,明确两组交通灯的状态,这两组交通灯总共共有四种状态,我们用ST0,ST1,ST2,ST3 来

7、表示:St0表示主路绿灯亮,支路红灯亮; St1表示主路黄灯亮,支路红灯亮;St2表示主路红灯亮,支路绿灯亮;St3表示主路红灯亮,支路黄灯亮。(1)根据上述四种状态描述列出的状态转换表如表3-1所示。 表3-1交通灯控制器状态转换表当前状态下一状态转换条件St0St1主路绿灯亮了25秒St1St2主路黄灯亮了5 秒St2St3主路绿灯亮了 15秒St3St0支路黄灯亮了5秒St0 or st1 or st2 or st3St0复位信号使能(2)根据状态转换表得到交通灯控制器的状态转移图如图3-1所示。 图3-1交通灯控制器的状态转移图(3)交通灯控制系统的本质就是一个如图3-2所示的控制器模

8、块。 图3-2交通灯控制器结构示意图其中,clk为时钟信号,时钟上升沿有效。Rst为复位信号,高电平有效。lgt1_red,lgt1_yellow、lgt1_green,分别表示主干道的红灯,黄灯,绿灯显示信号,高电平有效。lgt2_red,lgt2_yellow,lgt2_green分别表示支路的红灯,黄灯,绿灯显示信号, 4 硬件电路的设计硬件电路的设计包括状态控制模块、分频器模块、转换器模块、TOP文件模块的图形设计。(1)状态控制模块的图形符号如图4-1所示。图4-1状态控制模块图形(2)分频器的图形模块如图4-2所示。图4-2分频器模块图形实现频率由5MHZ到1Hz的转变,达到我们素

9、需要的1S的要求。(3)转换器的图形模块如图4-3所示。图4-3转换器模块图形实现BCD码转化成数码块中显示的数字。(4)TOP文件的图形模块如图4-4所示。图4-4TOP文件模块图形5软件设计软件的设计包括对控制状态模块、分频器、转换器和顶层模块的设计,以下分别为控制状态模块、分频器、转换器和顶层模块的代码。(1)状态控制模块的代码如下。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY traffic_ctrl IS GENERIC( green1_cnt:INTEGER:=25;

10、 -定义主通道绿灯亮的时间,这里为25秒 yellow1_cnt:INTEGER:=5; -定义主通道黄灯亮的时间,这里为5秒 green2_cnt:INTEGER:=15; -定义支路绿灯亮的时间,这里为15秒 yellow2_cnt:INTEGER:=5 -定义支路黄灯亮的时间,这里为5秒 ); PORT( CLK:IN STD_LOGIC; -时钟信号 rst:IN STD_LOGIC; -复位信号 lgt1_red:OUT STD_LOGIC; -主通道红灯控制信号 lgt1_yellow:OUT STD_LOGIC; -主通道黄灯控制信号 lgt1_green:OUT STD_LOG

11、IC; -主通道绿灯控制信号 lgt2_red:OUT STD_LOGIC; -支路红灯控制信号 lgt2_yellow:OUT STD_LOGIC; -支路黄灯控制信号 lgt2_green:OUT STD_LOGIC -支路绿灯控制信号 );END ENTITY traffic_ctrl;ARCHITECTURE rt1 OF traffic_ctrl IS -定义结构体TYPE STATES IS(st0,st1,st2,st3); -定义控制器各种状态SIGNAL state:states:=st0; -初始化状态SIGNAL cnt:integer range 0 to 30:=1;

12、-定义计数器SIGNAL cnt_enb:std_logic:=0; -初始化计数器使能信号BEGIN PROCESS(CLK,rst) BEGIN IF(rst=1) THEN -复位信号为高电平则执行复位操作 state=st0; cnt=1; ELSIF(rising_edge(CLK) THEN -时钟上升沿 IF(cnt_enb=1) THEN -计数器计数 cnt=cnt+1; ELSE cnt -主通道绿灯亮了一段时间适时转换状态st1 IF(cnt=green1_cnt) THEN state=st1; ELSE state -主通道黄灯亮了一段时间适时转换状态st2 IF(c

13、nt=yellow1_cnt) THEN state=st2; ELSE state -支路绿灯亮了一段时间适时转换状态st3 IF(cnt=green2_cnt) THEN state=st3; ELSE state -支路黄灯亮了一段时间适时转换状态st0 IF(cnt=yellow2_cnt) THEN state=st0; ELSE state -st0表示主路绿灯亮,支路红灯亮 lgt1_red=0; lgt1_yellow=0; lgt1_green=1; lgt2_red=1; lgt2_yellow=0; lgt2_green=0; cnt_enb=1; IF(cnt=gree

14、n1_cnt) THEN cnt_enb -st1表示主路黄灯亮,支路红灯亮 lgt1_red=0; lgt1_yellow=1; lgt1_green=0; lgt2_red=1; lgt2_yellow=0; lgt2_green=0; cnt_enb=1; IF(cnt=yellow1_cnt) THEN cnt_enb -st2表示主路红灯亮,支路绿灯亮 lgt1_red=1; lgt1_yellow=0; lgt1_green=0; lgt2_red=0; lgt2_yellow=0; lgt2_green=1; cnt_enb=1; IF(cnt=green2_cnt) THEN

15、cnt_enb -st3表示主路红灯亮,支路黄灯亮 lgt1_red=1; lgt1_yellow=0; lgt1_green=0; lgt2_red=0; lgt2_yellow=1; lgt2_green=0; cnt_enb=1; IF(cnt=yellow2_cnt) THEN cnt_enb=0; END IF; END CASE; END PROCESS;END rt1;(2)分频器的代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED

16、.ALL; ENTITY fenpin ISPORT(CLK: IN STD_LOGIC; OUTCLK: BUFFER STD_LOGIC);END fenpin;ARCHITECTURE one OF fenpin ISSIGNAL CLK1,CLK2: STD_LOGIC;BEGIN PROCESS(CLK)VARIABLE cnt: INTEGER range 0 to 4; -500khz 50M/500k=100BEGIN IF clkevent AND clk=1 THEN IF cnt=4 THEN OUTCLK= not OUTCLK; cnt:=0; ELSE cnt:=c

17、nt+1; END IF; END IF;END PROCESS;-PROCESS(CLK1)-VARIABLE cnt: INTEGER range 0 to 49; -5khz 500k/5k=100-BEGIN -IF CLK1event AND CLK1=1 THEN - IF cnt=49 THEN CLK2= not CLK2; cnt:=0; -ELSE cnt:=cnt+1; -END IF; - END IF;-END PROCESS;-PROCESS(CLK2)-variable cnt: integer range 0 to 49; -50hz 5k/50=100-BEG

18、IN -IF CLK2event AND CLK2=1 THEN - IF cnt=49 THEN CLK4= not CLK4; cnt:=0; - ELSE cnt:=cnt+1; -END IF; -END IF;-END PROCESS;-PROCESS(CLK3)-variable cnt: integer range 0 to 24; -1hz 50/50=1-BEGIN- IF CLK3event AND CLK3=1 THEN- IF cnt=24 THEN OUTCLK= not OUTCLK; cnt:=0;- ELSE cnt:=cnt+1;- END IF;- END

19、IF;-END PROCESS;END one;(3)转换器的代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_arith.ALL;ENTITY zhuanhuan ISPORT( clk:in std_logic; zhitime:in STD_LOGIC_VECTOR(6 DOWNTO 0); zhutime:in STD_LOGIC_VECTOR(6 DOWNTO 0); outtime: out STD_LOGIC_VECTOR(7 DOWNTO

20、0); scan: out STD_LOGIC_VECTOR(0 to 7 );END zhuanhuan;ARCHITECTURE behavior OF zhuanhuan ISSIGNAL data1: STD_LOGIC_VECTOR (7 DOWNTO 0);SIGNAL data2: STD_LOGIC_VECTOR (7 DOWNTO 0);SIGNAL data: STD_LOGIC_VECTOR (3 DOWNTO 0);SIGNAL datatime1: STD_LOGIC_VECTOR (3 DOWNTO 0);SIGNAL datatime10: STD_LOGIC_V

21、ECTOR (3 DOWNTO 0);SIGNAL datatime2: STD_LOGIC_VECTOR (3 DOWNTO 0);SIGNAL datatime20: STD_LOGIC_VECTOR (3 DOWNTO 0);BEGINdatatime10=data1(7 downto 4);datatime1=data1(3 downto 0);datatime20=data2(7 downto 4);datatime2=data2(3 downto 0); WITH zhitime SELECTdata1 =00000000 WHEN 0000000, 00000001 WHEN 0

22、000001, 00000010 WHEN 0000010, 00000011 WHEN 0000011, 00000100 WHEN 0000100, 00000101 WHEN 0000101, 00000110 WHEN 0000110, 00000111 WHEN 0000111, 00001000 WHEN 0001000, 00001001 WHEN 0001001, 00010000 WHEN 0001010, 00010001 WHEN 0001011, 00010010 WHEN 0001100, 00010011 WHEN 0001101, 00010100 WHEN 00

23、01110, 00010101 WHEN 0001111, 00010110 WHEN 0010000, 00010111 WHEN 0010001, 00011000 WHEN 0010010, 00011001 WHEN 0010011, 00100000 WHEN 0010100, 00100001 WHEN 0010101, 00100010 WHEN 0010110, 00100011 WHEN 0010111, 00100100 WHEN 0011000, 00100101 WHEN 0011001, 00100110 WHEN 0011010, 00100111 WHEN 001

24、1011, 00101000 WHEN 0011100, 00101001 WHEN 0011101, 00110000 WHEN others; WITH zhutime SELECTdata2 data=datatime2; scan data=datatime20; scan data=datatime1; scan data=datatime10; scan outtime outtime outtime outtime outtime outtime outtime outtime outtime outtime outtime=00000000;end case;end process;END behavior;(4)顶层模块的代码:LIBRARY IEEE;USE IEEE.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1