基于CPLD的智能交通灯控制系统.doc
滨江学院 单片机原理及应用系统设计题 目 院 系 电子工程 专 业 通信工程 学生姓名 学 号 指导教师 二0 一三 年 六 月 五日基于CPLD的智能交通灯控制系统 摘 要:本系统的设计采用ALTERA公司推出的MAX II系列的EPM240TC100C5芯片作为控制核心。选用目前广泛应用的VHDL硬件描述语言实现各模块的描述,在Quartus集成软件平台下通过编译、软件仿真,并在线下载到EPM240TC100C5芯片上进行硬件仿真验证。此系统在设计中充分体现了自顶向下的设计思想和模块化的设计方法,将交通灯控制系统划分成以下模块:分频模块、特殊状态模块、控制模块A、控制模块B、动态显示译码模块,并配合适当的外围电路完成系统设计。该设计可靠性高、体积小、功耗低,体现了EDA技术在数字电路设计中的优越性。 关键词:EPM240TC100C5;VHDL;QuartusII;交通控制系统The system of intelligent traffic controller Based on CPLD Li Xiaoliang ,Wang Dongbo ,Cheng Haiyang Abstract:The design of this system by ALTERA company launched MAX II series of EPM240TC100C5 chip as control core. Choose is now widely application VHDL language realization hardware description of each module in Quartus integration software, compile the workbench software simulation, and, EPM240TC100C5 online download to chip hardware simulation validation. This system in design fully embody the top-down design ideas and modular design method, the traffic lights control system was divided into the following modules: points frequency modules, special status module, control module A, control module B, dynamic display decoding module, and cooperate proper peripheral circuit complete system design. The design high reliability, small volume, low power consumption, reflected the EDA technology in digital circuit design of superiority.Keywords: EPM240TC100C5; VHDL; QuartusII; Traffic control system一、基础介绍随着社会经济的发展,城市机动车量的不断增加,许多城市出现了交通超负荷运行的情况,城市交通问题越来越引起人们的关注。出行交通的协调,已成为交通管理部门需要解决的重要问题之一。因此,缓解主干道与支干道、城区同周边地区的交通拥堵状况,越来越成为亟待解决的主要问题。所以,设计交通灯来完成这个需求就显的越加迫切了。二、设计要求(1)设计一个十字路口的交通灯控制电路,要求南北方向(主干道)车道和东西方向(支干道)车道两条交叉道路上的车辆能够安全交替运行,如图2-1所示。(2)主干道、支干道车道除了有红、黄、绿、转弯指示外,每一种灯亮的时间都用显示器进行显示(采用倒计时的方法)。 (3)有紧急车辆要求通过时,系统要能禁止普通车辆通行,A、B道均为红灯并闪烁,紧急车辆信号由K2 开关模拟,同时启动蜂鸣器模拟紧急鸣笛,等紧急车辆通过后,系统恢复之前的状态。(4)交通灯状态循环周期确定为140s,各个状态的循环转换,如表2-1所示。 表2-1 交通灯循环状态表 主干道绿灯黄灯左转黄灯红 灯60s5s20s5s50s支干道红灯绿灯黄灯左转黄灯90s25s5s15s5s三、系统的设计方案(一)系统的设计方案确定主控芯片采用EPM240TC100C5由于系统规模较小, CPLD中较多的资源完全可以满足系统的设计需求。采用VHDL硬件描述语言,编写智能交通灯系统中的分频模块、特殊状态模块、控制模块A、控制模块B、动态显示译码模块,然后下载到芯片CPLD中,加上按键开关、显示硬件电路和蜂鸣报警装置等外围电路就可以实现其功能。(二)智能交通灯系统的硬件设计 1系统的硬件结构按键模块二极管 EPM240核心板控制模块数码管晶振模块 电源模块图3-1 系统硬件电路框图 2按键模块本系统考虑到机械式开关由于其低成本,高可靠性而被广泛应用。但是,由于此类开关机械弹性的作用,在开关闭合或断开的瞬间会伴随着一连串的随机抖动,使得某些电路误动作,造成整个系统工作的异常。因此,在开关信号送入此类电路前,必须消除开关的抖动。考虑到采用VHDL语言编写软件去抖程序,也可以处理本模块。但是经过尝试发现达不到理想的效果,也许是系统的抗干扰能力弱所致。故最终采用以下简单的硬件消抖动电路,能够到达好的去抖目的。原理图如图3-2所示。3EPM240TC100C5核心板控制模块ALTERA公司的MAXII系列芯片EPM240TC100C5是其推出的基于新型架构的CPLD,此芯片功耗低、成本低、具有240个逻辑门、100个I/0端口,用其作为交通灯系统的主控芯片,完全可以满足设计要求。通过将QuartusII编译、仿真通过的程序,在线下载到此芯片,以此达到控制的过程。图 3-2 硬件去抖原理图 4显示模块采用常见的发光二极管及数码管结合分别达到指示状态和显示计数的功能。由于此系统用到8块数码管,16块指示发光二极管,静态显示占用的的系统芯片的I/O比较多,故采用动态扫描的方法,利用人眼对光的视觉暂留现象,选择合适的频率,即可达到良好的显示效果。 5电源模块由于EPM240TC100C5芯片内部含有电压调整器支持多电压的输入,此处采用普通的+5V稳压电源即可满足供电的要求。(三)智能交通灯系统的软件设计 1分频模块本模块通过EPM240TC100C5核心系统板载48M晶振电路,经分频为系统提供1Hz和1KHz的信号,分别用来控制系统的控制器模块、按键模块和显示模块。先将48MHz信号分频成1MHz信号,再分频成1KHz用于8位数码管的动态扫描,再将1KHz信号分频成1Hz信号用于控制器的输入信号。分频因子 div_param1=19 div_param2=499分频公式为: 48M/2/(div_param1+1)=1MHz 1M/2/( div_param2)=1Hz 2控制模块利用状态机来实现状态的转换和输出信号,因为系统要显示倒计时的功能,所以采用计数器作为其计数模块。部分状态的程序如下: case state is when green=>if s=1thenstate:=green;th:=th;tl:=tl;mg<='0'mr<='1'my<='0'mt<='0' else if (th="0000" and tl="0001") then state:=yellow1;my<='1'mg<='0'mr<='0'mt<='0'th:="0000"tl:="0101" elsif (th/="0000"and tl="0000")then tl:="1001"th:=th-1; else tl:=tl-1; end if; end if; 3特殊状态模块为实现紧急车辆(如消防车)的快速通行,可以采用传感器装置,在消防车上发射信号,交通灯系统可以接受其信号,若是接到有特殊的情况需要紧急处理,立即封锁主干道、支干道保证紧急车辆的顺利通行。此处为了简化,采用按键模拟接收到的信号,通过判断,若得到紧急信号,启动应急程序;反之,不启动应急程序。 4显示译码模块此模块接收控制模块的输出作为输入,可以利用计数器,分时输出经过译码器处理过的数据,到达显示的目的。 由于是8位数码管的显示,要求比较高的扫描频率,来实现循环显示。四、系统的仿真波形及硬件测试由于采用的晶振电路40M频率比较大,软件仿真时,时间的跨度比较大,不太方便观察仿真结果,所以截取两个图形如图4-1和图4-2,共同显示仿真的结果。从图4-1中可以看到几个状态的转换过程,从图4-2中可以看到输出的数据和位选的结果是正确的。图 4-1 状态转换仿真图 图4-2 计数仿真图五、下载与硬件仿真 1.目标芯片引脚锁定(1)时钟信号clk对应系统板目标芯片的pin_12。(2)时钟报警voice,其对应系统板目标芯片的pin_36。(3)复位信号clr,其对应系统板目标芯片的pin_27 。(4)保持信号Alarm,其对应目标芯片EP1k30的引脚号为Pin_26。(5)位选信号为wei7.0, 其对应目标芯片EP1k30的引脚号为pin_1-pin_8。(6)计数信号为disp_out6.0, 其对应目标芯片EP1k30的引脚号为pin_83-pin_89。(7)指示灯信号分别为mr,my,mg,mt,其对应目标芯片EP1k30的引脚号为pin_55-pin_58,替他指示灯引脚依次类推设定即可。 2.下载下载程序至目标芯片,经过相应的硬件调试,调试结果与软件仿真的结果相吻合,验证了设计完成了预定功能。六、总结 本设计能够很好的实现模拟交通灯的状态指示和计数显示,能够通过按键对系统进行复位和模拟紧急特殊状态的情形,总体上能够实现基本的功能,但是在调剂的过程中,由于系统缺乏相应的抗干扰措施,偶尔会出现系统不稳定的状态。参考文献:1 潘松,黄继业EDA技术实用教程(第三版)北京:科学出版社,2006年2 张洪润等FPGA/ CPLD应用设计200例北京:北京航空航天大学出版社,2009年3 闫石主编数字电子技术基础(第四版).北京:高等教育出版社,1998年