APP下载

基于FPGA的模拟路灯控制系统的设计

2011-04-10覃洪英长江大学电子信息学院湖北荆州434023

长江大学学报(自科版) 2011年28期
关键词:波形图支路路灯

覃洪英(长江大学电子信息学院,湖北 荆州434023)

模拟路灯控制系统的设计方法很多,可以采用PLC为控制单元实现整个控制,也可以利用单片机实现整个模拟路灯控制系统的控制,还可以采用FPGA进行控制。FPGA具有资源丰富、可灵活编程、运算处理方便、功能扩展容易等特点,为此,笔者基于纯硬件FPGA器件实现了一个模拟路灯系统的控制。

1 模拟路灯控制系统结构与整体设计框图

控制系统结构如图1所示,路灯布置如图2所示。具体功能要求是:①支路控制器有时钟功能,能设定、显示开关灯时间,并控制整条支路按时开灯和关灯。②支路控制器应能根据环境明暗变化,自动开灯和关灯。③支路控制器应能根据交通情况自动调节亮灯状态:当可移动物体M(在物体前端标出定位点,由定位点确定物体位置)由左至右到达S点时(见图2),灯1亮;当物体M到达B点时,灯1灭,灯2亮;若物体M由右至左移动时,则亮灯次序与上相反。④支路控制器能分别独立控制每只路灯的开灯和关灯时间。⑤当路灯出现故障时(灯不亮),支路控制器应发出声光报警信号,并显示有故障路灯的地址编号[1]。

图1 路灯控制系统示意图

图2 路灯布置示意图(单位:cm)

根据设计要求,采用FPGA作为控制单元的模拟路灯系统整体设计框图如图3所示。

系统的外围电路主要包括光线信号采集部分、位置信号采集部分、按键输入部分、路灯指示及故障检测电路、声光报警电路和显示电路部分。FPGA控制电路根据不同的按键输入由光线的亮暗或者目标物体的位置状态或者不同的开关灯时间控制路灯的开关,并将当前的时间和模式显示出来。同时由路灯指示电路中路灯的故障输出信号控制声光报警电路利用声音和灯光进行报警提示[2]。

2 FPGA控制电路中各模块设计

1)模式调节模块 模式调节模块如图4所示,该模块实现根据模式按键MODE_BUTTON所按次数的不同,进行000至100循环计数,当模式为000时进行正常计时及调试,当模式为001时实现路灯同步定时开关灯,当模式为010时实现各支路分别定时开关灯,当模式为011时实现光线亮暗控制开关灯,当模式为100时实现交通状况控制开关灯。调试启动键OPEN_BUTTON实现在不同模式下根据功能要求启动相应的设置。模块中对启动键所按次数进行从00至11循环计数。CLK0为秒脉冲信号,起消除按键抖动的作用[3]。

图3 模拟路灯控制系统整体设计框图

2)正常时间计时及调试模块 正常时间计时及调试模块如图5所示,该模块在秒脉冲CLK0的作用下实现24h制的正常计时(小时、分钟、秒),且在000模式下,利用分钟增加按键INC_MINUTE和小时增加按键INC_HOUR可以进行分钟和小时的调节。CLK1和CLK2是由CLK0分频后产生的分钟和小时的时钟信号[4]。

图4 模式调节模块

图5 正常时间计时及调试模块

3)路灯同步定时开关灯模块 该模块在模式001时实现同步定时开关灯的功能,其输入输出信号较多,这里不给出模块图,其功能流程图如图6所示。

4)各支路路灯分别定时开关灯模块 该模块实现模式为010时且调试状态为00和01两种情况下对一条支路的路灯实现开关灯控制,在模式为010且调试状态为10和11两种情况下对另一条支路的路灯实现开关灯控制。具体调试方法与同步定时开关灯模块相同。

5)光线控制模块 光线控制模块图如图7所示,该模块在模式011时判断光线采集信号的状态,实现光线暗时开灯,光线亮时关灯的功能。

图6 路灯同步定时开关灯模块流程图

6)交通状况控制模块 交通状况控制模块图如图8所示,该模块在模式为100时由物体运动的方向和物体所处的位置控制灯的亮灭状态。当物体从灯LED1向灯LED2方向移动时,LED1和LED2依次点亮,最后都熄灭;当物体从灯LED2向灯LED1方向移动时,LED2和LED1依次点亮,最后都熄灭。

7)译码显示模块 该模块实现对正常时间计时及调试模块、同步定时开关灯模块、支路路灯分别定时开关模块中的时分秒时间信号、正在调试中的时钟和分钟信号、模式信号以及故障路灯编码信号进行动态扫描译码显示,当没有进行时间设置时,显示正常计时时间,在进行时间调试时,动态显示当前调试时间,并显示当前所处的模式[5]。

8)路灯控制模块 路灯控制模块图如图9所示,该模块实现在不同的模式下将不同控制模块的路灯信号分别选择输出以驱动外部路灯电路,根据外部路灯输入的故障信号判断路灯是否故障,且在故障时产生声光报警的控制信号ring输出和故障路灯编码信号输出。

图7 光线控制模块

图8 交通状况控制模块

图9 路灯控制模块

3 顶层设计模块

将前面各子模块连接起来,构成如图10所示的顶层设计模块图。顶层设计协调了各子模块功能的实现,完整地实现了模拟路灯控制系统的所有功能。顶层模块通过FPGA外接的输入输出端口信号说明如下:DIRECTION [1:0]为物体移动方向信号端口,“01”表示右移,“10”表示左移;S1S2S3[2:0]为物体所处位置信号端口,有 “001”“010”“100”3种情况;Clk0为秒时钟信号;CLKH为扫描时钟信号;ENTER_BUTTON为确认按键;INC_MINUTE为分钟调节增加键;INC_HOUR为小时调节增加键;LIGHT为光线状态信号,“0”表示光线亮,“1”表示光线暗;MODE_BUTTON为模式选择按键;OPEN_BUTTON为启动按键;ERR0为路灯1故障控制信号;ERR1为路灯2故障控制信号;Ring为故障报警控制信号;LED1为路灯1控制信号;LED2为路灯2控制信号;LED [6:0]为七段数码管驱动信号。

图10 顶层设计模块

4 仿真结果分析

图11 模式调节模块仿真波形图

这里仅对部分子模块的仿真波形图和顶层模块整体仿真波形图进行分析。图11为模式调节模块的仿真波形图,从该图中可看出,当模式按键 MODE_BUTTON每按下一次,模式MO加1计数,从而实现模式从1到4的循环变化。当启动按键OPEN_BUTTON每按下一次,时间调节TIME_ADJUST加1计数。图12为正常时间计时及调试模块仿真波形图,从该图中可看出,在模式000时,小时和分钟调节键没有按下时(即INC_HOUR和INC_MINUTE均为0时),时分秒正常计时,当进行时间调节时,小时和分钟调节键每按下一次(即INC_HOUR和INC_MINUTE分别为1时),小时和分钟各增加1进行时间调节。从图13所示的顶层模块整体仿真波形图可看出,整个路灯系统控制完全符合设计要求。当模式为011时路灯的状态由光线的亮暗进行控制,因LIGHT为1,光线暗,所以路灯LED1和LED2全开(即为1);当扫描时钟被计数到110时,动态显示故障路灯的编号,当前路灯无故障(即ERR0和ERR1均为0),故共阴极七段显示器LED的七段gfedcba为0111111,显示数字0;当扫描时钟被计数到111时,动态显示模式的编号,共阴极七段显示器LED的七段gfedcba为1001111,显示数字3;当扫描时钟被计数到000时,动态显示秒信号的个位,前一个状态LED为1111111,显示数字8,后一个000时对应LED为1101111,显示数字9,秒信号进行了加1计数。

图12 正常时间计时及调试模块仿真波形图

图13 顶层模块整体仿真波形图

6 结 语

以FPGA为控制核心,介绍了FPGA实现模拟路灯控制系统的过程。经过多次调试与仿真,该控制系统能够根据不同的按键设置准确地实现正常的时间调整和显示,能同时设定开关灯时间,各支路能分别设定开关灯时间,能根据环境明暗自动开关灯,能根据交通情况自动开关灯,且能显示控制系统的当前模式及故障路灯的编号,同时在路灯故障时发出报警信号。采用FPGA纯硬件控制,路灯控制更准确及时且系统调试修改也非常方便。

[1]杨宇,曾谢华,谭可,等 .模拟路灯控制系统软件设计 [J].昆明冶金高等专科学校学报,2011,20(1):35-40.

[2]钱海月,王海浩,王海洋 .模拟路灯控制系统设计 [J].宁夏工程技术,2011,10(1):20-24.

[3]黄智伟.FPGA系统设计与实践 [M].北京:电子工业出版社,2007.

[4]康华光 .电子技术基础(数字部分)[M].第5版 .北京:高等教育出版社,2006.

[5]刘韬,楼兴华.FPGA数字电子系统设计与开发实例导航 [M].北京:人民邮电出版社,2005.

猜你喜欢

波形图支路路灯
一种新的生成树组随机求取算法
由波形图领悟声音特性
浅析CH-γ方程中解的求法
路灯
浅谈轨道动态检测资料在线路维修中的应用
为什么高速公路上不用路灯照明
轨道几何动态检测项目及病害成因分析
多支路两跳PF协作系统的误码性能
利用支路参数的状态估计法辨识拓扑错误
多并联支路型可控电抗器短路电抗对支路电抗和电流的影响