基于EDA技术的交通灯控制器设计(共18页).doc
-
资源ID:14415304
资源大小:284KB
全文页数:18页
- 资源格式: DOC
下载积分:20金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
基于EDA技术的交通灯控制器设计(共18页).doc
精选优质文档-倾情为你奉上湖 北 民 族 学 院信息工程学院EDA课程设计报告书题目: 基于EDA技术的交通灯控制器设计 专 业: 电气工程及其自动化 班 级: 学 号: 学生姓名: 指导教师: 袁海林 2011年5 月19 日信息工程学院课程设计任务书学 号学生姓名专业(班级)设计题目基于EDA技术的交通控制器设计设计技术参数以EDA为中央处理器,配合FPGA,通过程序进行控制来实现整个过程。设计要求工作量要求:字数在5000左右工作计划参考资料1 徐春娇.基于VHDL状态机设计的智能交通控制灯R.中国地质大学(北京):地球物理与信息技术学院,2007.2 曹敏晖.城市交通存在的问题及对策分析D.河南:郑州轻工业学院,2008.指导教师签字学生姓名: 学号: 班级: 课程设计题目: 基于EDA技术的交通控制设计 指导教师评语: 成绩: 指导教师: 年 月 日 信息工程学院课程设计成绩评定表 年 月 日 摘 要实现路口交通灯系统控制的方法很多,可以用标准逻辑器件、可编程序控制器PLC、单片机等方案来实现。但是这些控制方法的功能修改及调试都需要硬件电路的支持,在一定程度上增加了设计难度。采用EDA技术,应用VHDL硬件电路描述语言实现交通灯系统控制器的设计,利用QUARTUS II集成开发环境进行综合、仿真,并下载到CPLD可编程逻辑器件中,完成系统的控制作用。该灯控制逻辑逻辑可实现3种颜色灯的交替点亮、时间的倒计时,指挥车辆和行人安全通行1关键词:EDA; FPGA; 交通控制器Abstract: The intersection traffic light control system to achieve many ways, you can use standard logic devices, programmable logic controller PLC, SCM and otherprograms to achieve. However, the function of these control methods are required to modify and debug hardware support, to a certain extent, increase the design difficulty.With EDA technologies, applications, hardware description language VHDL traffic signal system controller design, the use of QUARTUS II integrated development environment for synthesis, simulation, and download to the CPLD programmable logicdevices, complete system control function. The light control logic logic can be realizedin 3 colors alternating lights lit, the time of the countdown, command vehicles and pedestrians safe passage 1 Keywords: EDA; FPGA; traffic controller目 录目录1 概述以前普通的交通灯控制器只能根据事先给定的时间进行通道的通禁控制,但由于如今车辆的迅速增多,给城市交通增加了严重的负担,而交通灯在其中正扮演着越来越重要的角色。因此,要求寻找一种可以随时针对通道上车辆的密集度来控制和调节此通道的通禁时间,以期达到自动控制的目的,从而减少不合理的堵车现象的发生。下面的设计中我们融入了这种思想,并将针对VHDL语言描述作具体介绍。VHDL语言是一种全方位的硬件描述语言,包括系统行为级、寄存器传输级和逻辑门级多个设计层次,支持结构描述、数据流描述以及行为描述三种描述形式的混合描述,可完成自顶向下的电路设计过程。 2交通控制器用到的理论知识2.1 EDA技术EDA是(Electronic Design Automation)的缩写,在20世纪90年代初从(CAD)、(CAM)、(CAT)和(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。回顾近30年电子设计技术的发展历程,可将EDA技术分为三个阶段。七十年代为CAD阶段,人们开始用计算机辅助进行IC版图编辑、PCB布局布线,取代了手工操作,产生了计算机辅助设计的概念。八十年代为CAE阶段,与CAD相比,除了纯粹的图形绘制功能外,又增加了电路功能设计和结构设计,并且通过电气连接网络表将两者结合在一起,实现了工程设计,这就是计算机辅助工程的概念。CAE的主要功能是:原理图输入,逻辑仿真,电路分析,自动布局布线,PCB后分析。九十年代为ESDA阶段,尽管CAD/CAE技术取得了巨大的成功,但并没有把人从繁重的设计工作中彻底解放出来。在整个设计过程中,自动化和智能化程度还不高,各种EDA软件界面千差万别,学习使用困难,并且互不兼容,直接影响到设计环节间的衔接。基于以上不足,人们开始追求:贯彻整个设计过程的自动化,这就是ESDA即电子系统设计自动化。2.2硬件FPGAFPGA(FieldProgrammable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点11。FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。FPGA的基本特点主要有: (1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。 (2)FPGA可做其它全定制或半定制ASIC电路的中试样片。 (3)FPGA内部有丰富的触发器和IO引脚。 (4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。 (5) FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。 可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。 FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。 加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。FPGA有多种配置模式:并行主模式为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程6。如何实现快速的时序收敛、降低功耗和成本、优化时钟管理并降低FPGA与PCB并行设计的复杂性等问题,一直是采用FPGA的系统设计工程师需要考虑的关键问题。如今,随着FPGA向更高密度、更大容量、更低功耗和集成更多IP的方向发展,系统设计工程师在从这些优异性能获益的同时,不得不面对由于FPGA前所未有的性能和能力水平而带来的新的设计挑战。3交通控制器的设计3.1系统设计要求R1 Y1 G1R2 Y2 G2甲道乙道图3-1 十字路口交通灯该交通管理器十字路口甲、乙两条道路(如图3-1)的红、黄、绿三色灯,指挥车辆和行人安全通行。3.2系统设计方案3.2.1 交通控制模块(1)S0状态表示乙道绿灯亮,甲道红灯亮,30秒定时器开始计时,且通车时间不超过30秒;(2)S1状态表示乙道通车时间已达到30秒,此时,乙道黄灯亮,甲道红灯亮,5秒定时器开始计时;(3)S2状态表示乙道黄灯时间已超过5秒,此时,乙道红灯亮,甲道绿灯亮,30秒定时器开始计时;(4)S3状态表示甲道通车时间已超过30秒,此时,乙道红灯亮,甲道绿灯亮,5秒定时器开始计时;以后当甲道黄灯亮计时超过5秒时,接S0状态。(5)甲、乙两道红、黄、绿三个灯分别用R1、Y1、G1和R2、Y2、G2表示。灯亮用“1”表示,灯不亮用:“0”表示。则两个方向信号灯的4种状态,如下表所示。 信号灯输出状态表输出状态R1Y1G1R2Y2G2S0100001S1100010S2001100S3010100系统流程图如下:图3-2 交通管理器工作流程图3.2.2定时单元模块本设计中的定时单元模块有三个,分别为count30s, count26s, Count5s,它们定时时间不同。在定时单元count30s, count26s, Count5s的设计中,为设计要求需进行减计数,本设计中使用的是加法计数。33主要VHDL源程序及分析本设计采用层次描述方式,也采用原理图输入和文本输入混合方式建立描述文件。图3-3是交通管理器顶层图形输入文件,它用原理图形式表明系统的组成,即系统由控制器和3个定时计数器组成;3个定时计数器的模分别为26、5、30。图3-3 交通管理器顶层图形文件3.3.1控制器逻辑描述此交通灯控制源程序,利用状态机实现对甲道,乙道指示灯的控制和有关电路的使能控制。程序中clk为脉冲信号的输入端,SM,SB分别为主干道,支干道有车无车的表示信号输入端,1表示有车,0表示无车。R1,Y1,G1分别为甲道红灯,黄灯,绿灯亮暗控制信号的输出端,R2,Y2,G2分别为乙道红灯,黄灯,绿灯控制信号的输出端,其中值为1时控制灯亮,值为0时控制灯灭。程序的状态转换如图3-3所示。 IF reset=1 THEN state<=s0; ELSIF(clkEVENT AND clk=1)THEN程序利用进程的顺序语句,在脉冲信号clk的作用下,由系统复位信号reset,决定state的变化。当reset=1时,state赋值s0状态,如果脉冲信号存在且为1,就进入case语句,如下:CASE state IS WHEN s0=>IF w1=1 THEN 条件信号赋值语句 state<=s1; END IF; WHEN s1=>IF w2=1 THEN state<=s2; END IF; WHEN s2=>IF w3=1 THEN state<=s3;END IF; WHEN s3=>IF w2=1 THEN state<=s0;END IF; END CASE;控制器处于S0状态时,为了实现甲道处于通行状态,而乙道禁止通行的功能,由现时间W1决定次状态而进行相应的跳转。S0状态,乙道绿灯亮,甲道红灯亮,若W1等于1,表示S0状态执行完毕,则转入S1状态;若W1不等于1,表示S0状态正在执行,则继续执行S0状态。当W1=1,即乙道停车,甲道禁止,则执行S1状态,否则继续执行S0状态,直到W1等于1。控制器处于S1状态时,为了实现甲道处于通行状态,而乙道禁止通行的功能,由现时间W2决定次状态而进行相应的跳转。S1状态,甲道红灯亮,乙道黄灯亮,若W2等于1,表示S1状态执行完毕,则转入S2状态;若W2不等于1,表示S1状态正在执行,则继续执行S1状态。当W2=1,即乙道禁止,甲道通行,则执行S2状态,否则继续执行S1状态,直到W2等于1。控制器处于S2状态时,为了实现甲道处于停车状态,而乙道禁止通行的功能,由现时间W3决定次状态而进行相应的跳转。S2状态,甲道绿灯亮,乙道红灯亮,若W3等于1,表示S2状态执行完毕,则转入S3状态;若W3不等于1,表示S2状态正在执行,则继续执行S2状态。当W3=1,即乙道禁止,甲道停车,则执行S3状态,否则继续执行S2状态,直到W3等于1。控制器处于S3状态时,由现时间W2决定次状态而进行相应的跳转。S3状态,甲道黄灯亮,乙道红灯亮,若W2等于1,表示S3状态执行完毕,则转入S0状态;若W3不等于1,表示S3状态正在执行,则继续执行S3状态。当W2=1,即甲道禁止,乙道通行,则执行S0状态,否则继续执行S3状态,直到W3等于1。 c1<=1 WHEN state=s0 ELSE 0; c2<=1 WHEN state=s1 OR state=s3 ELSE 0; c3<=1 WHEN state=s2 ELSE 0; r1<=1 WHEN state=s1 OR state=s0 ELSE 0; y1<=1 WHEN state=s3 ELSE 0;g1<=1 WHEN state=s2 ELSE 0; r2<=1 WHEN state=s2 OR state=s3 ELSE 0; y2<=1 WHEN state=s1 ELSE 0;g2<=1 WHEN state=s0 ELSE 0;END behave;当控制器处于s0状态时,c1=1,g2=1,r1=1,即控制乙道的计数器开始计数,乙道绿灯亮,甲道红灯亮,否则c1、g2、r1清零;当控制器处于s1状态时,c2=1,y2=1,r1=1,即控制公共停车的计数器开始计数,乙道黄灯亮,甲道红灯亮,否则c2、y2、r1清零;当控制器处于s2状态时,c3=1,g1=1,r2=1,即控制甲道的计数器开始计数,甲道绿灯亮,乙道红灯亮,否则c3、g1、r2清零。3.3.2 30 s定时单元的VHDL源程序 30 s定时单元的VHDL源程序,使用加法计数,实现信号值自加。程序中clk为脉冲信号的输入端,enable为甲乙道定时器使能信号输入端,1为开始计数,0表示不计数。BEGIN PROCESS(clk) VARIABLE cnt: INTEGER RANGE 30 DOWNTO 0; BEGIN IF ( clkEVENT AND clk=1)THEN IF enable=1 AND cnt<30 THEN cnt:=cnt+1; ELSE cnt:=0; END IF; END IF; IF cnt=30 THEN c<=1; ELSE c<=0; END IF; END PROCESS;3.3.3 5 s定时单元的VHDL源程序 5 s定时单元的设计原理与30s定时单元的设计原理相同,使用加法计数,实现信号值自加。程序中clk为脉冲信号输入端。enable为甲乙道定时器使能信号输入端,1为开始计数,0表示不计数。BEGIN PROCESS(clk) VARIABLE cnt: INTEGER RANGE 5 DOWNTO 0; BEGIN IF ( clkEVENT AND clk=1)THEN IF enable=1 AND cnt<5 THEN cnt:=cnt+1; ELSE cnt:=0; END IF; END IF; IF cnt=5 THEN c<=1; ELSE c<=0; END IF; END PROCESS;3.3.4 26 s定时单元的VHDL源程序 26 s定时单元的设计原理与30s定时单元的设计原理相同,使用加法计数,实现信号值自加,程序中clk为脉冲信号输入端。enable为甲乙道定时器使能信号输入端,1为开始计数,0表示不计数。BEGIN PROCESS(clk) VARIABLE cnt: INTEGER RANGE 26 DOWNTO 0; BEGIN IF ( clkEVENT AND clk=1)THEN IF enable=1 AND cnt<26 THEN cnt:=cnt+1; ELSE cnt:=0; END IF; END IF; IF cnt=26 THEN c<=1; ELSE c<=0; END IF; END PROCESS;4设计总结本次课程设计对数字电子技术有了更进一步的熟悉,实际操作和课本上的知识有很大联系,但又高于课本,一个看似很简单的电路,要动手把它设计出来就比较困难了,因为是设计要求我们在以后的学习中注意这一点,要把课本上所学到的知识和实际联系起来,同时通过本次电路的设计,不但巩固了所学知识,也使我们把理论与实践从真正意义上结合起来,增强了学习的兴趣,考验了我们借助互联网络搜集、查阅相关文献资料,和组织材料的综合能力。参考文献1 徐春娇.基于VHDL状态机设计的智能交通控制灯R.中国地质大学(北京):地球物理与信息技术学院,2007.2 曹敏晖.城市交通存在的问题及对策分析D.河南:郑州轻工业学院,2008.3 潘松 黄继业.EDA技术实用教程M. 北京:科学出版社,2006.23.4 周润景等.基于Quartus的FPGA/CPLD数字系统设计实例M.北京:电子工业出版社,2007.5 辛春艳.VHDL硬件描述语言M. 北京:国防工业出版社,20026 陆重阳 卢东华 文爱军. IP技术在Soc中的地位及应用J. 微电子技术,2002(8).30-32.7 吴亦锋.可编程序控制器原理与应用速成M. 福州:福建科学技术学出版社,2005.122124.8 周力 李炜.我国智能交通控制系统的发展及展望J.安徽:安徽工程科技学院电气工程系,2009.9 潘松 王国栋. 基于EDA技术CPLD/FPGA应用前景J. 电子与机自动化,1999(3).35-74.10 邢建平 曾繁泰. VHDL程序设计教程M. 北京:清华大学出版社,2005.3847.11 孟庆辉 刘辉.EDA技术实用教程M. 北京:国防工业出版社,2008.263-26612 朱正伟.EDA技术及应用M. 北京:清华大学出版社,2005.215217.13 百度百科专心-专注-专业