课程设计报告。
课程。题目。
院系。年级专业。
班级学号。学生姓名。
指导教师。设计时间。
摘要。交通灯信号控制器通常要实现自动控制和手动控制其红绿灯的变化,基于fpga设计的交通灯信号控制器电路简单、可靠性好。本设计可控制2个路口的红、黄、绿三盏灯.让其按特定的规律进行变化。
利用quartusⅱ对设计结果进行**,发现系统工作性能良好。据此设计而成的硬件电路,也实现了控制要求。
关键词:交通灯自动控制手动控制。
目录。摘要 1
1.概述 3
1.1课程设计目的 3
1.2 课程设计题目及要求 3
1.3 实验环境 3
2. 系统总体设计 4
2.2系统组成 4
3. 系统层次化设计与软件** 5
3.1 系统时序发生电路 5
3.1.2系统时序发生电路clk_gen的**输出波形和元件符号 6
3.2 红绿灯计数时间选择模块 7
3.2.1 vhdl源**: 7
3.2.2计数时间选择模块traffic_mux的**输出波形和元件符号 8
3.3定时控制电路 8
3.3.1 vhdl源**: 9
3.3.2 定时控制电路count_down的**输出波形和元件符号 10
3.4 红绿灯信号译码电路 10
3.4.1 vhdl源** 11
3.4.2 信号译码电路 14
3.5 红绿灯交通控制器顶层电路 15
3.5.1 vhdl源**: 15
3.5.2 交通控制器顶层电路traffic_top的**输出波形和元件符号 17
4. 系统硬件** 19
5.结论与体会 21
参考文献 22
1.概述。此次课程设计是根据《vhdl程序设计》这门课程开设的综合设计课程,要求学生利用vhdl编程语言,基于eda开发平台quartus,设计相应的数字系统,通过对系统进行编程、**、调试与实现,体验设计的全过程,进一步加深对所学基础知识的理解,培养学生将理论知识应用于实践的能力、学生自学与创新能力和分析解决实际问题的能力。
培养学生设计、绘图、计算机应用、文献查阅、实验研究、报告撰写等基本技能;提高学生独立分析和解决工程实际问题的能力;增强学生的团队协作精神、创新意识、严肃认真的治学态度和严谨求实的工作作风。
交通灯控制器的设计:
随着各种交通工具的发展和交通指挥的需要,交通灯的诞生大大改善了城市交通状况。要求设计一个交通灯控制器,假设某个交通十字路口是由一条主干道和一条次干道汇合而成,在每个方向设置红绿黄灯3种信号灯,红灯亮禁止通行,绿灯亮允许通行。黄灯亮允许车辆有时间停靠到禁止线以外。
在自动控制模式时,主干道(东西)每次放行时间为30s,次干道(南北)每次放行时间为20s,主干道红灯、次干道黄灯、主干道黄灯、次干道红灯持续时间为5s。
绿灯转为红灯时,要求黄灯先亮5s,才能变换运行车道。
要求交通灯控制器有复位功能,并要求所有交通灯的状态变化在时钟脉冲上升沿处。
软件**采用quartusii 6.0;
硬件**采用kfh-1型 cpld/fpga实验开发系统;
根据设计要求和系统所具有的功能,并参考相关的文献资料,经行方案设计,可以画出如下述所示的交通信号灯控制器的系统流程图与系统框图。我们选择按照自顶向下的层次化设计方法,整个系统可分为4个模块,系统时序发生电路、红绿灯计数时间选择模块、定时控制电路、红绿灯信号译码电路。
其中系统时序发生电路最主要的功能就是产生一些额外的输出信号,它们是为红绿灯信号译码电路提供的频率39khz的扫描信号,为定时控制电路提供的使能(enable)控制信号,为红绿灯信号译码电路提供的占空比为50%的秒闪烁信号;红绿灯计数时间选择模块是负责输出显示器需要的值(即倒数的秒数值),作为定时控制电路的倒计时秒数,在该模块中可设置东西路口河南北路口的信号灯维持秒数;定时控制电路功能就是负责接收红绿灯计数时间选择模块输出的值(即倒数的秒数值),然后将其转换成bcd码,利用七段显示器显示出来,让新人能清楚的知道再过多久就会变成红灯;红绿灯信号译码电路除了负责控制路口红绿灯的显示外,最主要的功能就是能够利用开关来切换手动与自动的模式,让交警能够通过外部输入的方式指挥交通的,但为了配合高峰时段,防止交通拥挤,有时还必须使用手动红字,即让交警执行指挥交通。
为了系统正常运作,整个控制器采用同步工作方式,由外接信号发生器(该电路的设计可参见本章)提供1hz的时钟信号clk。
eda技术的基本设计方法有电路设计方法和系统设计方法。电路级设计方法已经不能适应新的形势,本系统采用的是系统级层次设计方法,对整个系统进行方案设计和功能划分,系统的关键电路用一片fpga芯片实现,首先用vhdl语言编写各个功能模块程序,最后通过综合器和适配器生成最终的目标器件,然后用顶层原理图将各功能模块连接起来。下面给出各模块的vhdl设计过程和**结果。
在红绿灯交通信号控制系统中,大多数的情况是通过自动控制的方式指挥交通的。因此,为了避免意外事件的发生,电路必须有一个稳定的时钟(clock)才能让系统正常工作。但为了配合高峰时段,防止交通拥挤,有时也必须使用手动可能工资,即让交警能够顺利的指挥交通。
clk_gen电路最主要的功能就是产生一些额外的输出信号,并将其用作后续几个电路的使用(enable)控制与同步信号处理。
该电路的核心部分就是分频电路,通过对外接信号发生器提供1hz的时钟信号进行1000分频,得到一个周期1s的输出使能信号ena_1hz(占空比1:1000)和flash_hz(占空比1:1);1024分频后得到红绿灯信号译码电路所需要的频率为39khz的显示使能信号ena_scan。
3.1.1 vhdl源**:
library ieee;
use use
use entity clk_gen is
port(reset:in std_logic;
clk:in std_logic;
ena_scan:out std_logic;
ena_1hz:out std_logic;
flash_1hz:out std_logic);
end;architecture beh**ior of clk_gen is
constant scan_bit:positive:=10;
constant scan_val:positive:=1024;
constant two_hz_bit:positive:=15;
constant two_hz_val:positive:=19532;
signal clk_scan_ff:std_logic_vector(scan_bit-1 downto 0);
signal clk_2hz_ff:std_logic_vector(two_hz_bit-1 downto 0);
signal ena_s,ena_one,ena_two:std_logic;
beginscan:process(clk,reset)
beginif reset='1'then
clk_scan_ff<="000000000";
ena_s<='0';
elsif(clk'event and clk='1')then
if clk_scan_ff>=scan_val-1 then
clk_scan_ff<="000000000";
ena_s<='1';
elseclk_scan_ff<=clk_scan_ff+1;
ena_s<='0';
end if;
end if;
end process;
ena_scan<=ena_s;
two_hz:process(reset,clk,ena_s)
begin
EDA课程设计报告
eda 课程设计报告。时间 2014年12月21日 学院自动化。专业班级自1204 姓名。学号。指导教师王丽君老师 成绩。2014年 12月。目录。卷烟机烟支漏气跟踪自检装置设计 1 一 设计背景及设计目的 3 1.1设计背景 3 1.2设计目的 3 二 设计原理 3 三 设计步骤 5 3.1模块分...
EDA课程设计报告
设计一个出租车自动计费器,计费包括起步价 行车里程计费 等待时间计费三部分,用四位数码管显示金额,最大值为999.9元,最小计价单元为 0.1元,行程 3公里内,且等待累计时间3分钟内,起步费为8元,超过3公里,以每公里1.6元计费,等待时间单价为每分钟1元。用两位数码管显示总里程,最大为99公里。...
EDA课程设计报告
课程名称eda技术。设计项目多功能数字钟。系 部 班级姓名学号 指导老师日期2010 06 09 电子系电子仪器仪表与维修仪表z082王叁少安老师。1 数字钟的设计要求。多功能数字钟具有计时功能和时钟的校时基本功能。计时功能采用24小时计时,显示时,分,秒。采用时校时,对于分钟和秒模块采用60进制实...