彩灯作为一种景观,安装在建筑物的适当地方一是作为装饰增添节日气氛,二是有一种广告宣传的作用,也可用在舞台上增强晚会灯光效果。实现彩灯控制的方案很多,不同的控制方案,其设计方法和思路也不一样。本文介绍一种彩灯控制器的设计方法。该系统基于可编程逻辑器件cpld(complex programmable logic device)芯片,利用vhdl硬件描述语言设计系统核心部件,再配以适当的外围电路构成。输出为32路数字信号,控制32路彩灯输出,上电后,彩灯系统无需外加输入信号,能自动循环演示十六种花型,彩灯明暗变换节拍为0.25秒和0.5秒,快慢两种节拍自动交替运行。该系统较以前的传统设计,选用硬件电路简单、花型容量大,体积小,功耗低,可靠性高,特别是可以在使用一段时间后,不修改硬件电路的基础上,仅通过更改软件就可实现修改花型的编程控制方案。
1、 系统组成
该彩灯控制器系统组成框图如图1所示。系统工作原理:彩灯控制器是以高、低电平控制灯的亮灭,按节拍改变送给各路的高、低电平,即l、0编码,就可控制彩灯按预定的规律亮灭,从而显示花型。彩灯控制器包括下列几部分。振荡器:提供系统工作的主时钟。节拍产生器:产生系统要求的快、慢节拍脉冲ph、pl,并根据系统运行情况,提供相应节拍,使彩灯明暗变换以快、慢两种节拍自动交替运行。地址码产生器:为编码发生器提供合适的地址码,以保证按节拍读出规定的编码,复现预定的花型,并根据系统运行情况,送节拍产生器反馈信号,控制节拍按快慢两种自动交替运行。编码发生器:根据花型要求按节拍输出32位状态编码信号,以控制彩灯按规律亮灭。缓冲驱动器:为彩灯提供需要的工作电压和电流,隔离负载对系统工作的影响。
2、系统各单元设计
2.1 振荡器
振荡器提供系统工作的主时钟。因彩灯控制器对定时要求不高,故选用简单易行的555定时振荡器。系统彩灯明暗变换节拍为0.25秒和0.5秒,我们使振荡器振荡频率为f = 4hz,电路原理图如图2所示。图中电阻r1=8k,rw=4.7k, r2=47k,电容c1=3.3 uf,振荡频率输出端out送“节拍产生器”的输入端。
2.2节拍产生器
其作用产生系统要求的快、慢节拍脉冲,快节拍ph=0.25秒、慢节拍pl= 0.5秒。快节拍频率直接由振荡器的频率传入,慢节拍频率将振荡器输出的频率进行二分频得到。节拍选择信号pc由地址码产生器产生,若第一轮花型循环输出为慢节拍,pc为低电平,则第二轮花型循环,pc为高电平,第三轮花型循环,pc又为低电平,如此反复。节拍产生器输出节拍脉冲pp由pl和ph合成,。输出节拍频率pp送地址码产生器。
该模块vhdl程序如下(略去声明部分):
entity jpxz is --节拍产生器
port ( clk: in std_logic; --传入振荡器频率
pc : in std_logic; --节拍选择信号
pp : out std_logic);--输出节拍频率
end;
architecture jiep of jpxz is
signal ppl: std_logic;
signal ph: std_logic;--快节拍信号
signal pl: std_logic;--慢节拍信号
begin
fenp: process(clk) -- 将clk时钟二分频,得到节拍为0.5秒的慢节拍
begin
if clk‘event and clk = ’1‘
then ppl 《= not ppl;
end if;
end process;
ph 《= clk;-- 快节拍的频率等于振荡器输出的频率
pl 《= ppl; -- 慢节拍
pp 《= (not pc and pl) or (pc and ph);
-- pp为输出节拍信号,pc为高电平输出快节拍,pc为低电平输出慢节拍
end;
2.3 地址码产生器
其作用一是为编码发生器提供合适的地址码,二是为节拍产生器提供节拍控制信号。
该部分主要电路,一部分为地址计数器,利用进程p01: process(ppclk)根据节拍产生器提供的节拍频率pp产生地址码,完成地址累加,实现预定花型的循环显示,同时利用jiep信号记录系统运行情况,该32路彩灯控制器演示花型共16种,花型循环一周共243拍,地址计数器将地址码累加到244,jiep值为‘1’,地址码为其它值时,jiep值为‘0’;另一部分内容为利用进程p02:process( jiep )将jiep信号进行二分频,使输出花型在第一轮循环时, 节拍选择信号pc为低电平,则第二轮花型循环时,pc为高电平,第三轮花型循环,pc又为低电平,如此反复。该模块vhdl程序如下(略去声明部分):
entity cai_lizi is --地址码产生器;
port ( ppclk: in std_logic; --节拍脉冲信号,由节拍产生器传入
dzout : out integer range 0 to 245;-- 地址码输出,16种花型运行一次共243拍
pc: out std_logic);--节拍选择信号,送节拍产生器
end;
architecture lizi of cai_lizi is
signal count: integer range 0 to 245;
signal jiep: std_logic;
begin
p01: process(ppclk) --产生地址码
begin
if count=244 then count 《= 0; jiep 《= ’1‘; --16种花型运行一次共243拍
elsif rising_edge(ppclk) then count 《= count + 1; jiep 《= ’0‘;
end if;
end process;
p02:process( jiep ) --将jiep信号进行二分频,产生节拍选择信号pc值
variable count2 : std_logic;
begin
if jiep’event and jiep = ‘1’
then count2 := not count2;
end if;
if count2 = ‘1’ then pc 《= ‘1’;
else pc 《= ‘0’;
end if;
end process;
dzout 《= count;
end;
2.4 编码发生器
地址码产生器将输出的地址码送入编码发生器,编码发生器根据高、低电平控制灯的亮灭,即l、0编码,依据花型要求按节拍输出32位状态编码信号,以控制彩灯按规律亮灭。
该模块vhdl程序如下(略去声明部分):
entity cai_bmq is
port ( dzout: in integer range 0 to 245;-- 由地址码产生器传入地址码
qout : out std_logic_vector(31 downto 0));-- 输出32位状态编码
end;
architecture bianma of cai_bmq is
begin
process(dzout)
begin
case dzout is
when 0 =》 qout 《= “10000000000000000000000000000000”;
when 1 =》 qout 《= “11000000000000000000000000000000”;
when 2 =》 qout 《= “11100000000000000000000000000000”;
……
when 241 =》 qout 《= “10010010010010010010010010010010”;
when 242 =》 qout 《= “01001001001001001001001001001001”;
when 243 =》 qout 《= “00100100100100100100100100100100”;
when others =》 qout 《= “10010010010010010010010010010010”;
end case;
end process;
end;
2.5 在cpld芯片中顶层文件的原理图,如图3所示。
图中jpxz模块为节拍产生器,输入端clk接振荡器的输出时钟,频率为4hz,pc为节拍选择信号,pp为输出节拍。cai_lizi模块为地址码产生器,cai_bmq模块为编码发生器,输出端qout[31..0] 输出32位状态编码信号, 接缓冲驱动电路。
2.6 缓冲驱动电路
该模块为彩灯提供需要的工作电压和电流,隔离负载对系统工作的影响。首先根据每路彩灯的功率选择继电器或双向可控硅,再根据继电器或双向可控硅所需驱动电压和电流设计驱动电路。详细设计此处不再介绍。
3、系统仿真测试与实物测试
在基于max+plusⅱ软件平台,对该系统程序各模块进行仿真测试,图4所示为彩灯控制器顶层文件仿真波形图。
图中clk为振荡器产生系统的主时钟,周期为0.25秒,qout[31..0]为彩灯控制器输出的32路数字控制信号(32位状态编码),图中所示当系统以慢节拍(0.5秒,2个周期一拍)输出最后一组编码后,马上以快节拍(0.25秒,1个周期一拍)开始下一轮花型循环,达到设计要求。
将该系统程序下载到max7000s系列的epm7128slc84-15目标芯片上,并配以外围电路进行实物测试( 以led灯代替彩灯),满足到设计要求。
4、结束语
本文作者创新点:以vhdl 硬件描述语言进行设计,将彩灯控制器的核心部分集成在可编程逻辑器件cpld芯片上,大大简化了外部电路,较以前的传统设计,既减少了所用芯片的种类和数量,缩小了体积,降低了功耗,提高了系统的整体性能,对系统在使用中的故障率大为减少。特别是,对花型设计方案的修改、增加花型数量都很方便,可以在不修改硬件电路的基础上,仅通过更改软件就可实现,具有广阔的应用前景。
瑞丰光电CSP柔性灯丝灯具备极佳视觉体验
太阳光发电的利用-蓄电池与充电电路,太阳能充电
Rotronic 环境试箱使用 耐高温 高精度 湿度传感器XB32A-OEM
什么是CANBUS设备
集团将打造制造业实体经济加虚拟互联网的转型计划
基于可编程逻辑器件CPLD芯片和VHDL语言实现彩灯控制器系统的设计
未来20年,我国军用飞机的增量将在3500架左右
紫光展锐独家中标中国联通Cat1项目 中移动2022年将商用5G毫米波
电子制动系统概述
让特斯拉最害怕也最值得尊敬的中国对手
腾锐,数据中心性能监测系统的好帮手
OpenHarmony轻量系统开发—【3】代码编译和烧录
英特尔十代酷睿在游戏中的应用优势,更高频率与更强性能
奥迪e-tron GT量产版曝光0-100km/h加速时间仅为3.5s极速可达240km/h
开关电源谐波如何解决
全球感知体验领导者瑞声科技与UltraSense达成战略合作
RC滞后和RC延迟是同一种电路吗?
摩托车电子点火器的制作
DC电源模块属于哪一类元器件?
变频器的散热风扇要定期更换的原因