eda课程设计交通信号灯.docx
- 文档编号:9553577
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:20
- 大小:440.96KB
eda课程设计交通信号灯.docx
《eda课程设计交通信号灯.docx》由会员分享,可在线阅读,更多相关《eda课程设计交通信号灯.docx(20页珍藏版)》请在冰豆网上搜索。
eda课程设计交通信号灯
课程设计说明书
课程设计名称:
EDA交通信号灯
题目:
学生姓名:
专业:
学号:
指导教师:
日期:
年月日
1前言....................................................................1
2总体方案设计............................................................2
2.1方案分析与选择.................................................2
2.2实现方案.......................................................3
3单元模块设计............................................................6
3.1晶体振荡器.....................................................6
3.2供电电路.......................................................7
3.3LED灯输出......................................................8
1前言
随着电子技术的发展,人们的生活水平和质量不断提高,生活设备的智能化程度也越来越高,这些都离不开电子产品的进步。
现代电子产品在性能提高、复杂度增大的同时,价格却一直呈下降趋势,而且产品更新换代的步伐也越来越快,实现这种进步的主要因素是生产制造技术和电子设计技术的发展。
前者以微细加工技术为代表,目前已进展到深亚微米阶段,可以在几平方厘米的芯片上集成数千万个晶体管。
后者的核心就是EDA技术,EDA是指以计算机为工作平台,融合应用电子技术、计算机技术、智能化技术最新成果而研制成的电子CAD通用软件包。
特别是近年来科技的飞速发展,EDA技术的应用不断深入,不仅带动传统控制检测技术日益更新,更在电子信息,通信,自动,控制及计算机应用等领域越显重要。
没有EDA技术的支持,想要完成上述超大规模集成电路的设计制造是不可想象的,反过来,生产制造技术的不断进步又必将对EDA技术提出新的要求。
随着电子技术的发展和人们对电子设计开发的难度及周期要求,EDA技术必将广发应用于电子设计的各个领域,因此本设计也采用了EDA的设计方法,其设计的优越性明显高于传统的设计方法。
在现代城市中,人口和汽车日益增长,市区交通也日益拥挤,人们的安全问题也日益重要。
因此,红绿交通信号灯成为了交管部门管理交通的重要手段。
那么,要想在十字路口中做到车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊,要靠什么来实现这井然秩序呢?
靠的就是交通信号灯的自动指挥系统。
传统的交通信号灯控制电路是由振荡电路、三进制计数器、译码电路、显示驱动电路和开关控制电路等电路组成。
在本课程设计中,通过EDA设计程序使十字路口的工作顺序为B方向红灯亮65秒,前40秒A方向绿灯亮,后5秒黄灯亮,接着15秒左转灯亮,最后5秒亮黄灯。
然后A方向红灯亮55秒,前30秒B方向绿灯亮,后5秒黄灯亮,接着15秒左转灯亮,最后5秒亮黄灯,依次重复。
本设计立足系统可靠性及稳定性等高技术要求,采用FPGA芯片实现汽车尾灯控制电路,其电路设计比较简单,外围电路少,易于控制和检查。
2总体方案设计
2.1方案分析和选择
通过分析可以知道,所要设计的交通灯信号控制电路要能够适用于十字交叉路口。
其示意图如下图所示,A方向和B方向各设红(R)、黄(Y)、绿(G)和左拐(L)四盏灯,四种灯按合理的顺序亮灭,在跳变过程中,使得行驶的车辆有足够的时间停下来。
还要求在A和B方向各设立一组计时显示器将各灯亮的时间以倒计时的形式显示出来。
图2.1十字交叉路口交通灯简略图
要实现路口交通灯系统的控制方法很多,可以用标准逻辑器件、单片机和可编程序控制器等方法。
若用单片机来实现的话,其模型可以由电源电路、单片机主控电路、无线收发控制电路四部分组成。
在电源电路中,需要用到+5v的直流稳压电源,无线收发控制电路和显示电路可有编码芯片和数据发射模块两部分组成,主控电路元件为AT89C51.硬件设计完成后还要利用计算机软件进行软件部分设计才能够实现相应的功能,虽然由此设计的控制器比较稳定,但这些控制方法的功能修改及调试都需要硬件电路的支持。
因此,在一点程度上增加了功能修改和系统设计与调试的困难。
然而,若使用基于FPGA的设计方法则具有周期短,设计灵活,易于修改等明显的优点,随着FPGA器件、设计语言和电子设计自动化工具的发展和改进,越来越多的电子系统采用FPGA来设计。
未来,使用FPGA器件设计的产品将应用于各个领域。
因此,此次的交通信号灯控制设计选择采用基于FPGA的设计方案来实现所需求的功能和要求。
2.2实现方案
2.2.1交通灯系统控制框图如图2所示:
T1
CLK1HZ
CLK1HZ
图2.1系统框图
2.2.2计数值与交通灯亮灭关系图:
设A方向的车流量较B方向大,因此设A方向红、黄、绿、左拐灯亮时长分别为55、5、40、15秒,B方向红、黄、绿、左拐灯亮时长分别为65、5、30、15秒,与此同时由数码管指示当前状态(红、黄、绿、左拐)的剩余时间。
AG40sY5sL15sY5sR55s
BR65sG30sY5sL15sY5s
图2.2交通灯亮灭关系图
2.2.3环形计数状态图
环形计数器是由移位寄存器加上一定的反馈电路构成的,用移位寄存器构成环形计数器是由一个移位寄存器和一个组合反馈逻辑电路闭环构成,反馈电路的输出接向移位寄存器的串行输入端,反馈电路的输入端根据移位寄存器计数器类型的不同,可接向移位寄存器的串行输出端或某些触发器的输出端。
环形计数器,是把移位寄存器最低一位的串行输出端Q1反馈到最高位的串行输入端(即D触发器的数据端)而构成的。
reset
图2.3环形计数状态图
S=8’(A)GYLR(B)GYLR
S0=10000001;S1=01000001
S2=00100001;S3=00011000
S4=00010100;S5=00010010
在此设计中我们用到得为三位环形计数器,在移位脉冲(时钟)的作用下,反复在三位移位寄存器中不断循环。
该环形计数的计数长度为N=n。
和二进制计数器相比,它有2n-n个状态没有利用,它利用的有效状态是少的。
要想使环形计器在选定的时序中工作,就必须防止异常时序和死态的出现,因此我们必须对其余无效的状态全部回到有效状态中去。
2.2.4交通灯控制状态转换
通过至顶向下(TOP--DOWN)的设计方法,我们对电路的设计要求作了分析,从电路要实现的功能着手,逐层分析电路设计的步骤,再具体到各个模块的设计实现以及各模块实现方案的选择。
从本设计的电路要求,我们分析了需要实现一个输入状态的编码,以及对循环点亮灯的方式的选择,综合这两种状态控制输出信号的状态变化。
表2.4十字交叉路口逻辑关系图
A方向
B方向
绿灯G
黄灯Y
左拐L
红灯R
绿灯G
黄灯Y
左拐L
红灯R
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
1
0
1
0
0
3单元模块设计
本设计由现场可编程门矩阵(FPGA)作为控制芯片,通过VreilogHDL硬件描述语言设计,运用自顶而下的设计思想,按功能逐层分割实现层次化的设计。
总体设计方案为由R、G、Y、L作为模拟汽车的行驶状态输入,通过优先级编码器编码为具有优先级的A1、A0状态量;而尾灯的循环点亮状态由环形计数器来实现,与时钟频率同步闪烁状态按时钟状态取反来实现。
下面介绍主要模块的功能及作用。
3.1晶体振荡器
图3.1晶振电路
采用有源晶振作为时钟信号源,它是一个完整的振荡器,其内部除了石英晶体外还有阻容软件和晶体管,有源晶振信号质量好,比较稳定,而且连接方式比较简单。
主要是作为电源滤波,通常使用的为一个电容和电感组成的PI型滤波网络,输出端使用一个小阻值电阻过滤信号。
串电阻可减小反射波,避免反射波叠加引起过冲,减少谐波以及阻抗匹配,减小回波干扰及导致的信号过冲。
由于本设计选用32768HZ的晶振,因其内部有15级2分频电路,所以输出端正好可以得到1HZ的标准脉冲。
20MHz以上的大多是谐波的,其稳定度差。
因此我们使选用基频的器件,毕竟倍频用的PLL电路需要的周边配置主要是电容、电阻、电感,其稳定度和价格方面远远好于晶体晶振器件。
3.2供电电路
图3.2供电电路
本设计中使用到的+5V电源,可用于为上拉电阻提供电压;+3.3V电源,用于为FPGA芯片提供工作电压;在FPGA芯片管脚上,而VCCIO是芯片输入输出引脚工作电源,根据输入输出的设备不同,可以接2.5V、3.3V或5.0V。
三端稳压器输入端接电容Ci可以进一步滤除纹波,输出端接电容C0可以改善负载的瞬态影响,使电路稳定工作。
3.3LED灯输出电路
图3.3LED灯输出电路
本电路设计由若干个LED灯来模拟十字路口红、黄、绿、左拐灯的亮灭状态,图中以Vcc3.3V作为控制电压当PS口为低电平时其所在的LED灯按时钟频率同步点亮,同时指示汽车的安全行驶。
在LED电路上串联一个电阻,可以分压限流对LED灯起保护作用。
考虑到不同颜色灯的正向压降不同,如图中用3.3V点亮RLED时,电阻RLED=(3.3-ULED)/ILED,ULED为正向压降,ILED为通过电流,一般不允许大于20mA,可见各LED所需的串联电阻大小也应有所区别。
3.4数码管输出电路
发光二极管(LED是一种由磷化镓(GaP)等半导体材料制成的,能直接将电能转变成光能的发光显示器件。
当其内部有一一电流通过时,它就会发光。
7段数码管一般由
8个发光二极管组成,其中由7个细长的发光二极管组成数字显示,另外一个圆形的发光二极管显示小数点。
当发光二极管导通时,相应的一个点或一个笔画发光。
控制相应的二极管导通,就能显示出各种字符,尽管显示的字符形状有些失真,能显示的数符数量也有限,但其控制简单,使有也方便。
此次设计采用动态显示方法一位一位地轮流点亮各位显示器(扫描),对于显示器的每一位而言,每隔一段时间点亮一次。
虽然在同一时刻只有一位显示器在工作(点亮),但利用人眼的视觉暂留效应和发光二极管熄灭时的余辉效应,看到的却是多个字符“同时”显示。
显示器亮度既与点亮时的导通电流有关,也与点亮时间和间隔时间的比例有关。
调整电流和时间参烽,可实现亮度较高较稳定的显示。
动态显示器的优点是节省硬件资源,成本较低,但在控制系统运行过程中,要保证显示器正常显示,CPU必须每隔一段时间执行一次显示子程序,这占用了CPU的大量时间,降低了CPU工作效率,同时显示亮度较静态显示器低。
图3.4数码管输出电路
4特殊器件的介绍
4.1CPLD器件介绍
CPLD是ComplexProgrammableLogicDevice的缩写,它是有最早的PLD器件发展形成的高密度可编程逻辑器件,它具有编程灵活、集成度高、设计开发周期短、适用范围宽、开发工具先进、设计制造成本低、对设计者的硬件经验要求低、标准产品无需测试、保密性强、价格大众化等特点。
CPLD是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。
其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。
许多公司都开发出了CPLD可编程逻辑器件。
比较典型的就是Altera、Lattice、Xilinx世界三大权威公司的产品。
如Altera公司的MAXII器件,就是其极具代表性的一类CPLD器件,是有史以来功耗最低、成本最低的CPLD。
MAXIICPLD基于突破性的体系结构,在所有CPLD系列中,其单位I/O引脚的功耗和成本都是最低的。
Altera公司的MAX7000A系列器件是高密度、高性能的EPLD,它是基于第二代MAX结构,采用CMOSEPROM工艺制造的。
该系列的器件具有一定得典型性,其他结构都与此结构非常的类似。
它包括逻辑阵列块、宏单元、扩展乘积项、可编程连线阵列和IO控制部分。
由于大多数CPLD是基于乘积项的“与或”结构,故适合设计组合逻辑电路。
4.2FPGA器件介绍
FPGA(Field-ProgrammableGateArray)可以达到比PLD更高的集成度,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展起来的,具有更复杂的布线结构和逻辑实现。
PLD器件和FPGA的主要区别在于PLD是通过修改具有固定内连电路得逻辑功能来进行编程,而FPGA是通过修改一根或多根分割宏单元的基本功能块的内连线的布线来进行编程。
它一般由可嵌入式阵列块(EAB)、逻辑阵列块(LAB)、快速互联通道(FastTrack)、IO单元(IOE)组成。
AlteraCycloneII采用全铜层、低K值、1.2伏SRAM工艺设计,裸片尺寸被尽可
能最小的优化。
采用300毫米晶圆,以TSMC成功的90nm工艺技术为基础,CycloneII器件提供了4,608到68,416个逻辑单元(LE),并具有一整套最佳的功能,包括嵌入式18比特x18比特乘法器、专用外部存储器接口电路、4kbit嵌入式存储器块、锁相环(PLL)和高速差分I/O能力。
CycloneII器件扩展了FPGA在成本敏感性、大批量应用领域的影响力,延续了第一代Cyclone器件系列的成功。
4.3EPF10K系列器件介绍
FLEX10K系列器件是工业界第一个嵌入式FPGA,具有高密度低成本、低功耗等特点。
该系列器件有PLCC、TQFP、PQFP三种封装形式,EPF10K10是一种常见的器件,其典型门数为10000门。
576个逻辑单元,72个逻辑整列块,3个嵌入式整列块,6144个RAM,720个寄存器,最大I/O数目134,EPF10K10LC84-4中84代表管脚数。
5软件仿真与调试
5.1源代码及说明
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_ARITH.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYtrafficIS
PORT(clk:
instd_logic;
m_r_y_g:
outstd_logic_vector(2downto0);
s_r_y_g:
outstd_logic_vector(2downto0)
);
ENDtraffic;
ARCHITECTUREexOFtrafficIS
COMPONENTdecoderIS
PORT(q_in:
instd_logic_vector(1downto0);
m_r_y_g:
outstd_logic_vector(2downto0);
s_r_y_g:
outstd_logic_vector(2downto0));
ENDCOMPONENT;
COMPONENTcontrolIS
PORT(clk:
INSTD_LOGIC;
m,s,i:
INSTD_LOGIC;
em,es,ei:
OUTSTD_LOGIC;
q:
OUTSTD_LOGIC_vector(1downto0));
ENDCOMPONENT;
COMPONENTcount50IS
PORT(clk:
INSTD_LOGIC;
em:
INSTD_LOGIC;
m:
OUTSTD_LOGIC);
ENDCOMPONENT;
COMPONENTcount30IS
PORT(clk:
INSTD_LOGIC;
es:
INSTD_LOGIC;
s:
OUTSTD_LOGIC);
ENDCOMPONENT;
COMPONENTcount5IS
PORT(clk:
INSTD_LOGIC;
ei:
INSTD_LOGIC;
i:
OUTSTD_LOGIC);
ENDCOMPONENT;
signaltem,tei,tes,tm,ti,ts:
std_logic;
signalstate:
std_logic_vector(1downto0);
BEGIN
u0:
count50PORTMAP(clk,tem,tm);
u1:
count30PORTMAP(clk,tes,ts);
u2:
count5PORTMAP(clk,tei,ti);
u3:
controlPORTMAP(clk,tm,ts,ti,tem,tes,tei,state);
u4:
decoderPORTMAP(state,m_r_y_g,s_r_y_g);
ENDex;
5.2仿真结果
通过QuartusII软件,我们进行了仿真,其仿真波形如下图:
图5.1波形仿真图
(一)
图5.2波形仿真图
(二)
通过对上述语言进行编译、仿真,仿真成功后,将各单元生成对应的元件,让后再由这些元件构成整个交通信号灯控制器电路。
其仿真电路为:
图5.3交通信号灯仿真电路
5.3调试
在QuartusII软件中,通过对所设计的硬件描述语言代码进行波形仿真后,达到了预期效果,于是,我们在该软件上进行下载配置设置。
在Assignments菜单下选中Devices,在Family栏选择ACEX1K,选中EPF10K10LC84-4器件。
再在Assignments菜单下选中Pins按照相应要求对管脚进行锁定。
最后在Tools菜单下,选中Programmer,对配置方式进行设置,这里选择PassiveSeril(PS)被动串行模式。
选择好要下载的硬件设备后点击Start即可开始编程下载了。
调试过程为在线调试。
在通过调试中,我们发现了很多问题.在软件上能实现仿真的程序不一定在硬件电路上就能运行,原因有很多,这里是由于电路中的时钟频率太快,若不增加一个分频电路,灯闪烁时间太快,肉眼无法观察,故设计了一个20MHZ到2HZ的分频电路。
调试中的实际问题需要考虑,人同时按多个键的同步性,不能达到时钟的精度,比如模拟键盘的输入状态是高电平有效,由于分频的运算很大,故增加分频电路后,在QuartusII软件中则不能进行正确的仿真,可以直接将程序下载到电路板上去调试。
6总结
6.1设计收获
两周的课程设计结束了,通过这次设计,我的理论知识掌握得更扎实,动手能力明显提高。
同时,通过网上搜索图书馆查阅资料等方式认识到了自己知识的局限性。
我学到许多知识,也认识到理论联系实践的重要。
在设计当中遇到了许多以前没遇到的困难。
学会了利用许多的方法去解决所遇到的问题。
编好程序后,虽然总是出错,比如说状态不能改变,绿灯不能按时闪烁等,但是经过多次研究在老师和同学的帮助下终于找到问题所在并纠正。
这次设计,让我感受最深是:
在仿真的阶段遇到很多的问题,我们一定要具备一定的检查、排除错误的能力。
我深刻认识到了“理论联系实际”的这句话的重要性与真实性。
而且通过对此课程的设计,我不但知道了以前不知道的理论知识,而且也巩固了以前知道的知识。
在本次设计中,我们完成本系统设计的要求及功能。
在设计开始前我们对各个模块进行了详细的分析和设计准备工作,设计过程中,我们相互协调,积极参与完成各个技术实现的难点。
6.2设计改进
由于时间仓促和我们自身知识水平有限,本设计在功能上也只是完成了一些基本功能,对于电路的可靠性,稳定性等参数也还未做过详细的测试。
在交通的人性化控制方面也还未做周全的考虑,若在行驶过程中出现交通信号灯损坏或是电源断电的情况,则应有紧急状态灯来控制交通的管理,好提醒司机们或是行人注意保持车距,避免交通事故的发生。
当出现交通事故或有紧急状况时,应启动紧急状态,比如增设一个控制信号使其出发交通灯东西南北四个方向红灯同时点亮,从而避免连环的交通事故发生。
对我而言,知识上的收获重要,精神上的丰收更加可喜。
挫折是一份财富,经历是一份拥有。
这次设计必将成为我人生旅途上一个非常美好的回忆!
参考文献
[1]谢自美.电子线路设计(第二版)[M].华中科技大学出版社.2000
[2]卢毅编著.VHDL与数字电路设计[M].北京.科技大学出版.2001
[3]侯佰亨,顾新编著.VHDL硬件描述语言与实际应用[M].西安电子科社.2000
[4]康华光陈大钦.电子技术基础模拟部分(第四版)[M].高等教育出版社.1987
[5](美)J.Bhasker.VerilogHDL硬件描述语言[M].机械工业出版社.2000
[6]周明德.微型计算机系统原理及应用(第四版)[M].清华大学出版社.2002
[7]张洪润等.电子线路及应用.北京.科学出版社.2002
[8]杨宝清.实用电路手册.北京.机械工业出版社.2002
1附录一:
电路原理图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- eda 课程设计 交通 信号灯
![提示](https://static.bdocx.com/images/bang_tan.gif)