用可编程逻辑器件PLD实现交通灯控制系统.doc
《用可编程逻辑器件PLD实现交通灯控制系统.doc》由会员分享,可在线阅读,更多相关《用可编程逻辑器件PLD实现交通灯控制系统.doc(15页珍藏版)》请在沃文网上搜索。
1、 摘要:文章介绍了用VHDL 语言和图形块方综合法设计交通灯控制系统,实现了对路口交通灯系统的控制器的硬件电路描述。这种硬件电路描述在Altera 公司的EDA 软件平台和QuartusII环境下通过了编译,仿真,实现了交通灯系统的控制过程。关键词:VHDL硬件描述语言; EDA; 交通灯控制系统Designing of Traffic light controll system Based on PLDAbstract:This design chooses to use VHDL hardware descripton language and bolck logic which are
2、in extensive use currently to realize the hardware electric circuit description of the control of the street corner traffic light system。Through edition and enulation under the environment of the Altera company EDA software terrace the Quartus II 。The program can be used in the truly traffic light c
3、ontrol system。Key words:VHDL;EDA;Traffic light controll system前言随着我国正在进行现代化建设,交通事业得以蓬勃发展,交通安全管理特别是十字路口的安全管理一直是人们谈论的话题。传统的交通灯控制系统实现方法是中小规模集成电路、计算机控制法和PLC 控制法等,其主要缺点是体积大、功耗大、成本高、实现来较麻烦且功能不齐全。本文介绍一种基于可编程器件(PLD) 来实现的可编程的现代交通灯控制系统的设计方案,该方案的优点是体积小、功耗小、可靠性高、调节灵活、多功能、实现简单、使用灵活方便。该控制系统在东西、南北方向均设红、绿、黄、左拐四盏灯,按
4、照绿黄左拐黄红顺序循环变化,并分别带减法计数显示,可以随时调整东西、南北方向车辆通行和停车时间;该控制系统还可以随时响应中断请求,这时东西、南北方向红灯亮,中断时间可外部预置,可手动结束中断以恢复正常通行,中断期间让特殊车辆通过。现代交通灯控制系统的设计成功对于实现我国交通管理的现代化、自动化、智能化具有重要意义。1 交通灯控制系统设计11 设计分析与要求: 交通灯按照路口交通运行的实际情况,在本系统中,设定系统的工作情况如下:南北方向设红(R1)、黄(Y1)、绿(G1)和左拐(L1),东西方向设红(R2) 、黄( Y2) 、绿( G2) 和左拐(L2)按合理的顺序亮灭,并能将灯亮的时间以倒计
5、时的形式显示出来。两个方向各种灯亮的时间应该能够非常方便地进行设置和修改。其示意图如图1-1 所示。南西北东人行道人行道人行道人行道R1Y1G1L1R1Y1G1L1R2 Y2 G2 L2R2 Y2 G2 L2 图1-1:十字路口交通示意图交通灯状态转换图表示1为灯亮,0表示灯灭。南北方向和东西方向的红、黄、绿和左拐灯分别用R1、Y1、G1、L1 和R2、Y2、G2、L2 来表示。从状态转换表中可以看出,每个方向四种灯依次按如下顺序点亮,并不断循环:绿灯黄灯左拐灯黄灯红灯。并且每个方向红灯亮的时间应该与另一方向绿、黄、左拐、黄灯亮的时间相等。黄灯所起的作用是用来在绿灯和左拐灯后进行缓冲,以提醒行
6、人该方向马上要禁行了。交通灯亮灭状态转换如表1-1所示: 表1-1 交通灯状态图南北方向东西方向绿灯(G1)黄灯(Y1)左拐灯(L1)红灯(R1)绿灯(G2)黄灯(Y2)左拐灯(L2)红灯(R2)1000000101000001001000010100000100011000000101000001001000010100此外,本设计中还设定南北和东西方向红、绿、黄、左拐灯亮的时间分别为55秒、40 秒、5 秒和15秒。如果遇到特殊车辆及紧急情况时有下列定义:Hold=1表示紧急情况,全部红灯亮;Hold=0表示正常情况。Reset=1时,计数器清零,Reset=0时,为正常状态。要求:显示十
7、字路口南北和东西两个方向的红,绿,黄的指示状态。 实现正常的倒计时功能。用四组数码管作为路口南北和东西方向的倒计时显示。 按键Hold能实现特殊的功能,显示倒计时的四组数码管闪烁;计数器停止计数并保持在原来的状态;所有灯显示为红灯状态;特殊状态解除后能继续计数。12 基本原理运用VHDL语言进行系统设计,一般采用自上至下的设计方法。所谓自上至下的设计方法,就是从系统的总体要求出发,自上至下地逐步将设计内容细化,最后完成系统硬件的整体设计。采用自上至下设计方法的时候可以先建立设计的行为描述,建立设计的行为描述之后,可以在设计的早期阶段对设计的行为描述进行仿真,通过对仿真结果进行分析,进而调整、修
8、改设计。原理框图如图1-2所示:第一次分频第二次分频控制器 G1G2Y1Y2Reset L1Hold L2R1R2NumANumB显示模块提取模块 图1-2:交通灯原理框图13 设计流程现场可编程门阵列/复杂可编程逻辑器件FPGA/CPLD (Field Programmable Gate Array/Complex Programmable Logic Device )具有用户可编程、时序可预测、速度高和容易使用等优点。上至高性能CPU,下至简单的74电路,都可以用FPGA/CPLD来实现。而且FPGA/CPLD的可编程性,使修改和产品升级变得十分方便。用户可以根据原理图或硬件描述语言自由地
9、设计一个数字系统,然后通过软件仿真,事先验证设计的正确性。采用VHDL语言进行软件编程,利用QuartusII软件平台进行设计输入、项目处理、项目校验及器件编程等。设计输入可采用原理图输入、文本输入、波形输入或第三方EDA工具生成的设计网表文件等输入方法;设计校验包括功能仿真、时序仿真和定时分析;器件编程是用经过仿真确认的配置文件配置FPGA/CPLD器件;在线校验是对编程后的FPGA/CPLD器件加入实际的激励信号进行测试,检查是否可完成预定功能;最后完成整个系统设计。设计流程图如图1-3所示。设计思路设计输入设计处理设计仿真器件编程系统测试 图1-3:用QuartusII的FPGA/CPL
10、D设计周期14 设计说明 本设计采用从上而下(Topdown)的设计风格,顶层文件采用结构图输入。下面是端口说明: Clk20M:输入,系统输入时钟; Hold:输入,功能键,紧急保持; Reset:输入,功能键,复位; Flash:输出,信号转换期间的闪烁信号; R1 :输出,南北方向显示红灯信号,高电平有效;G1 :输出,南北方向显示绿灯信号,高电平有效;Y1 :输出,南北方向显示黄灯信号,高电平有效;L1 : 输出,南北方向显示左拐灯信号,高电平有效;R2 :输出,东西方向显示红灯信号,高电平有效;G2 :输出,东西方向显示绿灯信号,高电平有效;Y2 : 输出,东西方向显示黄灯信号,高电
11、平有效;L2 :输出,东西方向显示左拐灯信号,高电平有效;DisplayA: 南北方向倒计数时间显示十位;DisplayB: 南北方向倒计数时间显示个位;DisplayC: 东西方向倒计数时间显示十位;DisplayD: 东西方向倒数计时间显示个位; 15 设计模块说明 顶层原理图包含9个子模块:时钟控制模块TO10Hz和TO1Hz对系统时钟进行分频,得到10Hz和1Hz的时钟;Fenwei1和Fenwei2模块对Controller模块输出的计数值NumA和NumB进行分解,得到两路口的倒计时时间显示十位、个位信号;Controller模块是整个设计的核心,实现逻辑和时序控制;Display
12、A、DisplayB、DisplayC、DisplayD显示模块对输入进行译码得到七段显示器驱动信号。各子模块用独立实体构成,独立完成各自功能,它们最为结构图输入的逻辑内核对其行为进行描述。151 顶层设计文件 顶层文件:采用的是结构图输入。结构图输入是自顶向下(Top-Down)的设计方法。设计者首先根据设计结构的需要,在顶层文件中画出图形块(或是器件符号),然后在图形块上输入端口和参数信息,用连线器(信号线或总线、管道)连接各个组件。152 TO10Hz模块 TO10Hz模块功能是实现把输入为20MHz的时钟脉冲变成为10Hz输出。流程图如图1-4所示:20MHz输入计数1万次输出10Hz
13、脉冲noyes 图1-4:TO10Hz模块流程图程序实现过程如下: if (Clk20M event and Clk20M=1)then -当Clk20M时钟上升沿到来时执行 if tout=777777then -计数1000000次,输出翻转一次,由20M的频率分成10Hz tout=0; Clk=not Clk; else tout=tout+1;153 TO1Hz模块 TO1Hz模块功能是实现把输入为10Hz的时钟脉冲变成输出为1Hz的时钟脉冲。模块流程图如图1-5所示:10Hz输入计数5次输出1Hz脉冲noyes 图1-5:TO1Hz模块程序实现过程如下: if (Clk10Hz e
14、vent and Clk10Hz=1)then 10Hz脉冲上升沿到来是执行 if tout=4 then -计数5次,输出翻转一次,对应10分频 tout=0; Clk=not Clk; else tout=tout+1;154 Controller 控制模块 Controller模块是交通灯控制系统的核心部分,主要是控制交通灯的亮灭时间,亮灯顺序为绿灯黄灯左拐灯黄灯红灯。本设计中设定南北和东西方向红、绿、黄、左拐灯亮的时间分别为55秒、40 秒、5 秒和15秒。如果遇到特殊车辆及紧急情况时有下列定义:Hold=1表示紧急情况,全部红灯亮;Hold=0表示正常情况。Reset=1时,计数器清
15、零,Reset=0时,为正常状态。先是南北方向的绿灯亮40秒,然后黄灯亮5秒转左拐灯亮15秒,然后是黄灯亮5秒后紧接着转东西方向绿灯亮40秒南北方向的红灯亮,然后黄灯亮5秒后转左拐灯亮15秒后黄灯亮5秒,再转为南北方向绿灯亮和东西方向红灯亮循环进行。流程图(在正常情况下)如图1-6所示:G1 R2T=40?Y1 R2T=5?L1 R2T=15?Y1 R2T=5?G2 R1T=40?Y2 R1T=5?L2 R1T=15?yesyesyesyesyesyesyesnonononononono 图1-6:Controller模块过程实现程序如下:if (counter=39) then -0到40秒
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可编程 逻辑 器件 PLD 实现 交通灯 控制系统
