基于FPGA的路灯控制系统

2012-08-08 08:09
照明工程学报 2012年5期
关键词:高电平框图计数器

万 飞

(武汉职业技术学院,湖北武汉 434000)

在当今城市管理建设中,为保证城市照明系统的正常开关灯和运行,保证当照明控制箱或线路出现问题时,不会造成大面积灭灯,产生较坏的影响,加强实时监测手段,实现故障的及时发现和维修尤为重要。将控制芯片应用到路灯控制系统上,使得控制更加高效和人性化,也更环保和节能,而使用FPGA来设计路灯控制系统,而且器件性价比极高。本设计在传统模拟电路的基础上加入数字电路控制单元,实现模拟电路与数字电路的结合设计,使路灯控制更为节能环保。

1 现场可编程逻辑阵列 FPGA简介

FPGA一般由3种可编程电路和一个用于存放编程数据的静态存储器sram组成。这3种可编程电路是:可编程逻辑模块 (CLB-Configurable Logic Block)、输入/输出模块 (IOB-I/O Block)和互连资源 (IR-Interconnect Resource)。图1是CLB基本结构框图,它主要由逻辑函数发生器、触发器、数据选择器等电路组成。

图1 CLB基本结构框图

输入/输出模块IOB。IOB提供了器件引脚和内部逻辑阵列之间的连接。它主要由输入触发器、输入缓冲器和输出触发/锁存器、输出缓冲器组成。

可编程互连资源IR可以将FPGA内部的CLB和CLB之间、CLB和IOB之间连接起来,构成各种具有复杂功能的系统。IR主要由许多金属线段构成,这些金属线段带有可编程开关,通过自动布线实现各种电路的连接。

VHDL的英文全名是Very-High-Speed Integrated Circuit HardwareDescription Language,即超高速集成电路硬件描述语言。VHDL语言是一种用于电路设计的高级语言。VHDL主要用于描述数字系统的结构,行为,功能和接口。与其他硬件描述语言相比,VHDL具有以下特点:

(1)功能强大、设计灵活;

(2)支持广泛、易于修改;

(3)强大的系统硬件描述能力;

(4)独立于器件的设计、与工艺无关;

(5)很强的移植能力;

(6)易于共享和复用。

2 仿真工具的选择与介绍

(1)Altera QuartusⅡ作为一种可编程逻辑的设计环境,由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎 (见图2)。Altera QuartusⅡ (3.0和更高版本)设计软件是业界唯一提供FPGA和固定功能HardCopy器件统一设计流程的设计工具。

2.0 版QuartusⅡ设计软件现在除了支持Altera的APEX 20KE,APEX 20KC,APEXⅡ,ARM的Excalibur嵌入处理器方案,Mercury,FLEX10KE和ACEX1K之外,还支持MAX3000A,MAX7000系列乘积项器件。MAX3000A和MAX7000设计者现在可以使用QuartusⅡ设计软件中才有的所有强大的功能。QuartusⅡ2.0安装软件不选择Excalibur嵌入处理器,减少了安装所需空间,加快了软件的装载,编译,仿真速度。QuartusⅡ2.0设计软件通过增强层次LogicLock模块级设计方式,将性能平均改善15%;编译速度更快,对设计性能的影响最小;提供了HDL测试模板快速地开发HDL仿真矢量;可以自动地从QuartusⅡ仿真器波形文件中创建完整的HDL测试平台;支持高速I/O设计,生成专用I/O缓冲信息规范 (IBIS)模型导入到常用的EDA信号集成工具中;简化第三方工具的分析。

(2)Proteus是英国Labcenter公司开发的电路分析与实物仿真及印制电路板设计软件,它可以仿真、分析各种模拟电路与集成电路,软件提供了大量模拟与数字元器件及外部设备,各种虚拟仪器,特别是它具有对单片机及其外围电路组成的综合系统的交互仿真功能。Proteus主要由ISIS和ARES两部分组成,ISIS的主要功能是原理图设计及与电路原理图的交互仿真,ARES主要用于印制电路板的设计。

图2 QuartusⅡ设计流程

3 设计方案

3.1 设计要求

基于FPGA的路灯控制系统是通过对路面上各种环境的自动检测,来实现自动控制路灯的开关,以达到节电等目的的 (见图3)。此系统要满足下面的基本要求:

图3

(1)支路控制器有时钟功能,能设定、显示开关灯时间,并控制整条支路按时开灯和关灯。

(2)支路控制器应能根据环境明暗变化,自动开灯和关灯。

(3)支路控制器应能根据交通情况自动调节亮灯状态:当可移动物体M(在物体前端标出定位点,由定位点确定物体位置)由左至右到达S点时(见图4),灯1亮;当物体M到达B点时,灯1灭,灯2亮;若物体M由右至左移动时,则亮灯次序与上相反。

图4

(4)支路控制器能分别独立控制每只路灯的开灯和关灯时间。

(5)当路灯出现故障时 (灯不亮),支路控制器应发出声光报警信号,并显示故障路灯的地址编号。

3.2 设计思路

设计一个基于FPGA的路灯控制系统,实现支路控制器对单元控制器的有效控制。本系统采用FPGA为主控芯片,采用光敏电阻分压的方式感应周围环境明暗的变化,支路控制系统采集分压值经过FPGA芯片处理后控制路灯的变化。采用超声波测距传感器采集由于物体运动所产生的信号,再由FPGA芯片对信号进行处理实现对路灯的合理控制。控制器的时钟通过VHDL编写的电子时钟程序,在FPGA芯片中控制并用字符型液晶显示,利用按键设定、修改时间。当有路灯出现故障后,FPGA会根据返回的电平值进行相应的处理,显示对应的地址编号,显示故障路灯的编号,并触发扬声器报警。

3.3 设计方案

3.3.1 系统的构成

路灯控制系统以FPGA为控制单元,系统的硬件框图如图5所示。

图5 系统的硬件框图

3.3.2 系统的工作原理

系统VHDL编写的时钟程序,对路灯进行定时开关。通过光学传感器采集街道亮度的值经过A/D转换后以电信号的形式传送给FPGA处理器,处理器通过二进制数值的计算判断是否亮灯。使用超声波测距传感器对路灯间有无物体经过进行检测,超声波测距传感器利用信号遇到障碍物距离的不同反射回来的时间也不同的原理,进行障碍物远近的检测。

测距的公式表示为:L=C×T。式中L为测量的距离长度;C为超声波在空气中的传播速度;T为测量距离传播的时间差 (T为发射到接收时间数值的一半)。由于超声波易于定向发射、方向性好、强度易控制、与被测量物体不需要直接接触的优点,是作为液体高度测量的理想手段。在精密的液位测量中需要达到毫米级的测量精度,但是目前国内的超声波测距专用集成电路都是只有厘米级的测量精度。通过分析超声波测距误差产生的原因,提高测量时间差到微秒级,以及用LM92温度传感器进行声波传播速度的补偿后,设计出来的的高精度超声波测距仪能达到毫米级的测量精度。超声波测距的原理是利用超声波在空气中的传播速度为已知,测量声波在发射后遇到障碍物反射回来的时间,根据发射和接收的时间差计算出发射点到障碍物的实际距离,超声波信号反射回来被接收管接收,经过处理之后,通过数字传感器接口返回到FPGA进行判断是否有物体经过,以发出路灯开关信号。故障检测部分的工作原理是通过电流传感器采集路灯电路的工作电流值传给处理器然后将这个值与路灯电路的正常工作电流作比较来判断是否有路灯故障。

3.3.3 系统流程及设计分析 (见图6)

图6 系统流程图

设计分析:本系统的设计主要思路是对路灯实现实时控制,并且可以进行单路控制和总控制。最基本的程序是时钟程序,设定开灯和开灯时间并能对路灯进行实时控制。同时,路上光线明亮程度和移动物体状况也是路灯打开的条件。系统主要是基于这三个条件进行设计。

3.3.4 系统单元模块的设计与实现

(1)时钟控制模块

图7是时钟程序框图。

图7 时钟程序框图

为实现精确的定时开关功能,该设计的时标信号的频率由振荡器产生,由于计时最小单位为1s,所以时标信号经分频器后输出频率为1Hz的秒脉冲clk;而校准信号的频率应该高于1Hz,若取信号经另一分频器后输出频率为2Hz的校准信号脉冲clk1。

在无校准信号作用,校分信号、校时信号为高电平时,整个电路处于正常计数的工作状态。时、分、秒计数器采用同步计数方式,其时钟脉冲端均接由分频器输出的时钟信号clk(1Hz)。en为计数使能端,高电平有效。秒计数器的en端始终是为高电平,所以每来一个秒脉冲clk,秒计数器计一个数,当秒计数器计到60时,其进位输出端输出高电平产生进位,使分计数器的使能端有效,每来一个计数脉冲,分计数器计一个数,这样就满60s进1min;当秒计数器和分计数器都计到60,其相应的秒计数器的进位和分计数器的进位同时输出高电平,使小时计数器的使能端有效时,每来一个计数脉冲,小时计数器计一个数。

(2)信号采集模块 (见图8)

图8 光信号采集电路

信号采集模块包括光信号采集模块和移动物体检测模块,两者功能如下:

光信号采集模块:该模块需要检测周围环境光的明暗程度来进行路灯开关的自动控制。采用由光敏电阻组成的分压电路进行检测,通过adc模数转换器把电压变化量转换为二进制数值,送入FPGA检测并发出控制信号。光敏电阻器又称光导管,特性是在特定光的照射下,其阻值迅速减小,可用于检测可见光。在不同的光强下,光敏电阻的电阻值会发生明显变化,光敏电阻器是利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器;入射光强,电阻减小。

移动物体检测模块:本模块采用T/R-40-12小型超声波传感器作为的检测元件,其中心频率为40Hz,由晶振发出的40kHz脉冲信号驱动超声波传感器发送器发出40kHz的脉冲超声波,该模块检测路灯间物体的移动,超声波信号被障碍物反射回来,由接收器接收,经LM318两级放大,再经带有锁相环的音频解码芯片LM567解码,当LM567的输入信号大于25mV时,输出端由高电平变为低电平,送FPGA处理。

(3)故障报警模块 (见图9)

图9 报警电路

当路灯发生故障,扬声器会发出警报声。当有路灯不亮,将会返回一个低电平到FPGA,通过8-3线译码器功能,FPGA将确定故障路灯的编号并送到数码管显示。

(4)编码器模块

8-3编码器模块用于显示故障路灯的编号。逻辑框图如图10所示。

图10 编码器逻辑框图

(5)三态与非门模块

三态与非门用于综合时间、光线、移动物体三个条件,产生路灯开关信号。

4 结果分析

4.1 分频电路

数字时钟分频电路逻辑框图见图11。

图11 分频电路模块

该模块的时序仿真图如图12所示,满足设计要求。

图12 分频模块仿真图

4.2 秒计数模块

秒计数模块逻辑框图如图13所示。

图13 秒计数模块框图

输入端口ENL是秒时钟使能信号,也是整个数字中的使能信号,高电平有效;RES是异步清零信号;CLK是秒脉冲输入端口;MADD和MDEC是同步校时控制信号,MADD是控制秒信号加一,MDEC是控制秒信号减一;输出端口A[3..0]是秒时钟的低位,B[3..0]是高位;CA端口是进位输出端口,当秒计数到59时输出高电平,其他时候输出低电平。

秒时钟的仿真波形图如图14所示,仿真图满足设计的要求。分计数和时计数模块的设计原理与秒模块的类似。

图14 秒时钟仿真波形

4.3 动态扫描模块

动态扫描电路将计数器输出的8421BCD码转换为数码管需要的逻辑状态,并且输出数码管的片选信号和位选信号。所谓动态扫描显示方式是在显示某一位LED显示块的数据的时候,让其他位不显示,然后在显示下一位的数据,同时关闭其他显示块。这样做可以使每一个显示块显示与自己相对应的数据。只要保证每一位显示的时间间隔不要太大,利用人眼的视觉暂留的现象,就可以造成各位数据同时显示的假象。一般每一位的显示时间为1~10ms。动态扫描逻辑框图如图15所示。

图15 动态扫描逻辑框图

4.4 比较器模块

比较器用于把采集到的光电压信号与预先设定的光照电压值进行比较,以确定出电平的高低,让FPGA送出路灯控制指令。图16为仿真波形。

图16 比较器仿真波形

5 结论

将程序在运行环境上仿真调试成功后,下载入FPGA开发板上运行调试后,结果与预期效果基本一致,定时开关功能正常,光敏电阻采集信号送入FPGA处理后,控制信号基本能实现对系统的控制。

[1]郑亚民,董晓丹.可编程逻辑器件开发软件QUARTUS II[M].北京:国防工业出版社,2006,9.

[2]李云,侯传教,冯永浩.VHDL电路设计实用教程[M].北京:机械工业出版社,2006.

[3]刘欲晓,方强,黄婉宁.EDA技术与VHDL电路开发应用实例[M].北京:电子工业出版社,2009.

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

[5]王智鹏.可编程落脚器原理与程序设计 [M].北京:国防工业出版社,2005,1.

[6]wayne wolf.基于FPGA的系统设计 [M].北京:机械工业出版社,2006.

[7]高有堂.EDA技术及应用实践 [M].北京:清华大学出版社,2006.

[8]clive maxfield,杜生海,邢闻译.FPGA设计指南器件、工具和流程[M].北京:人民邮电出版社,2007.

猜你喜欢
高电平框图计数器
采用虚拟计数器的电子式膜式燃气表
一种基于FPGA的PWM防错输出控制电路
关于74LS90计数器的Multisim仿真分析
捷豹I-PACE纯电动汽车高压蓄电池充电系统(三)
TS-03C全固态PDM中波发射机开关机控制电路原理及故障分析
电路图2017年凯迪拉克XT5
数字电子技术的应用
算法框图的补全
浅谈物理电路与数字电路
SR620型与53230A型计数器的性能测试