EDA课程设计报告(交通信号控制器的VHDL的设计)_第1页
EDA课程设计报告(交通信号控制器的VHDL的设计)_第2页
EDA课程设计报告(交通信号控制器的VHDL的设计)_第3页
EDA课程设计报告(交通信号控制器的VHDL的设计)_第4页
EDA课程设计报告(交通信号控制器的VHDL的设计)_第5页
已阅读5页,还剩2页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、交通信号控制器的VHDL的设计 一、设计任务模拟十字路口交通信号灯的工作过程,利用实验板上的两组红、黄、绿LED作为交通信号灯,设计一个交通信号灯控制器。能达到的要求:(1) 交通灯从绿变红时,有4秒黄灯亮的间隔时间;(2) 交通灯红变绿是直接进行的,没有间隔时间;(3) 主干道上的绿灯时间为40秒,支干道的绿灯时间为20秒;(4) 在任意时间,显示每个状态到该状态结束所需的时间。 支干道 主干道图1 路口交通管理示意图ABCD主干道交通灯绿(40秒)黄(4秒)红(20秒)红(4秒)支干道交通灯红红绿黄表1 交通信号灯的4种状态 二、设计原理 1、设计目的:学习DEA开发软件和QuartusI

2、I的使用方法,熟悉可编程逻辑器件的使用。通过制作来了解交通灯控制系统,交通灯控制系统主要是实现城市十字交叉路口红绿灯的控制2、设计说明(1)第一模块:clk时钟秒脉冲发生电路在红绿灯交通信号系统中,大多数情况是通过自动控制的方式指挥交通的。因此为了避免意外事件的发生,电路必须给一个稳定的时钟(clock)才能让系统正常运作。模块说明:系统输入信号: Clk: 由外接信号发生器提供256的时钟信号; 系统输出信号: full:产生每秒一个脉冲的信号;(2)第二模块:计数秒数选择电路计数电路最主要的功能就是记数负责显示倒数的计数值,对下一个模块提供状态转换信号。模块说明:系统输入:full: 接收

3、由clk电路的提供的1hz的时钟脉冲信号;系统输出信号: tm: 产生显示电路状态转换信号 tl:倒计数值 秒数个位变化控制信号 th:倒计数值 秒数十位变化控制信号(3)第三模块:红绿灯状态转换电路 本电路负责红绿灯的转换。模块说明:系统输入信号:full: 接收由clk电路的提供的1hz的时钟脉冲信号; tm: 接收计数秒数选择电路状态转换信号;系统输出信号: comb_out: 负责红绿灯的状态显示。 (4)第四模块:时间显示电路本电路负责红绿灯的计数时间的显示。模块说明:系统输入信号:tl:倒计数值 秒数个位变化控制信号; th:倒计数值 秒数十位变化控制信号;系统输出信号: led7

4、s1: 负责红绿灯的显示秒数个位。 led7s2: 负责红绿灯的显示秒数十位。三、设计方案定时时间到检测电路计时器预置数产生电路状态发生器(两位二进制计数器) 时间显示数据输出红黄绿灯输出控制电路(RYG) 红黄绿灯信号输出1秒时钟脉冲信号发生器 图2 交通信号灯控制器的原理框图采用VHDL语言输入的方式实现交通信号灯控制器秒脉冲信号发生器(进程P1和P2)状态寄存器(进程P6)计数器(进程P3、P4和P5)CLK 时间显示数据输出 次态发生器信号灯输出信号(进程P7) 信号灯输出 图3 交通信号灯控制器程序原理框图 该程序由7个进程组成,进程P1和P2将CLK信号分频后产生1秒信号,进程P3

5、、P4、P5构成两个带有预置数功能的十进制计数器,其中P4产生允许十位计数器计数的控制信号。进程P6实现状态转换和产生状态转换的控制信号,进程P7产生次态信号和信号灯输出信号,以及每一个状态的时间值。四、VHDL程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY traffic IS PORT (clk:in std_logic; led7s1:out std_logic_vector(6 downto 0); led7s2:out std_logic_vector(6 downt

6、o 0); comb_out:out std_logic_vector(5 downto 0); END;ARCHITECTURE one OF traffic ISTYPE dm IS (s0,s1,s2,s3); SIgnal current_state,next_state:dm; SIGNAL FULL : STD_LOGIC; SIGNAL tl :STD_LOGIC_VECTOR(6 DOWNTO 0); SIGNAL th:STD_LOGIC_VECTOR(1 DOWNTO 0); SIGNAL tm :STD_LOGIC_VECTOR(6 DOWNTO 0); SIGNAL T

7、IME :STD_LOGIC_VECTOR(6 DOWNTO 0);BEGIN P_REG: PROCESS(CLK) VARIABLE CNT8:STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN IF CLK'EVENT AND CLK='1' THEN IF CNT8 = "11111111" THEN CNT8:="01111111" FULL<='1' ELSE CNT8 := CNT8+1; FULL <= '0' END IF; END IF; END

8、PROCESS P_REG;PROCESS(full)BEGINIF full'EVENT AND full='1' THEN IF TIME<"1000011" THEN TIME<=TIME+1; ELSe TIME <="0000000" END IF;END IF;END PROCESS; REG:process( full,current_state) BEGIN IF full='1' AND full'EVENT THEN current_state<=next_sta

9、te; END IF; END process; COM:process(current_state, time) begincase current_state iswhen s0=>comb_out<="001100"tm<=39-time; if time=39 then next_state<=s1; else next_state<=s0; end if;when s1=>comb_out<="010100"tm<=43-time; if time=43 then next_state<=s

10、2; else next_state<=s1; end if;when s2=>comb_out<="100010"tm<=63-time; if time=63 then next_state<=s3; else next_state<=s2; end if;when s3=>comb_out<="100001"tm<=67-time; if time=67 then next_state<=s0; else next_state<=s3; end if; end case;end pr

11、ocess;PROCESS(tm)BEGIN IF tm>=30 THEN th<="11"tl<=tm-30;ELSIF tm>=20 THEN th<="10"tl<=tm-20;ELSIF tm>=10 THEN th<="01"tl<=tm-10;ELSE th<="00"tl<=tm;END IF;END PROCESS;process(th,tl) begincase th is when"00"=>led7s1

12、<="0111111" when"01"=>led7s1<="0000110" when"10"=>led7s1<="1011011" when"11"=>led7s1<="1001111" when others=>null; end case;case tl is when "0000000"=>led7s2<="0111111" when"0

13、000001"=>led7s2<="0000110" when "0000010"=>led7s2<="1011011" when"0000011"=>led7s2<="1001111" when"0000100"=>led7s2<="1100110" when "0000101"=>led7s2<="1101101" when "000

14、0110"=>led7s2<="1111101" when"0000111"=>led7s2<="0000111" when "0001000"=>led7s2<="1111111" when "0001001"=>led7s2<="1101111" when others=>null; end case; end process;end;五、仿真结果(如下图)六 引脚设置选择的引脚锁定方法如下图所示。将未使用的管脚设置为三态输入调试过程中,由于在实验室时间仓促,未能达到理想效果,程序有待改进。七、实验心得体会 通过这次课程设计,我进一步加深了对电子设计自动化的了解。并进一步熟练了对QuartusII软件的操作。在编写程序的过程中,遇到了很多问题,使我发现自己以前学习上存在的不足。通过与

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论