首页 > 技术 > 内容

基于可编程逻辑器件CPLD芯片和VHDL语言实现彩灯控制器系统的设计

时间:2025-11-30  作者:Diven  阅读:0

彩灯作为景观,安装在建筑物的适当地方一是作为装饰增添节日气氛,二是有广告宣传的作用,也可用在舞台上增强晚会灯光效果。实现彩灯控制的方案很多,不同的控制方案,其设计方法和思路也不一样。本文介绍彩灯控制器的设计方法。该系统基于可编程逻辑器件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芯片上,大大简化了外部电路,较以前的传统设计,既减少了所用芯片的种类和数量,缩小了体积,降低了功耗,提高了系统的整体性能,对系统在使用中的故障率大为减少。特别是,对花型设计方案的修改、增加花型数量都很方便,可以在不修改硬件电路的基础上,仅通过更改软件就可实现,具有广阔的应用前景。

猜您喜欢


雨伞架是我们日常生活中常见的物品,虽然功能相似,但在材质、设计和用途上却有诸多区别。从材质来看,雨伞架主要分为塑料、金属和木质三种。塑料雨伞架轻便易携带,适合家...
2013-10-14 00:00:00
你是否曾对着电路板上一颗颗小小的贴片电阻,感到一头雾水?其实,它们的命名规则并不复杂。理解这些代码,能帮助你快速识别元件规格,对于电子爱好者和工程师都非常实用。...
2024-11-26 11:29:39
瓷片电容是常见电子元件。有多种类型和规格。正确读懂瓷片电容很重要。本文将为你详细介绍瓷片电容的读法。瓷片电容基本知识瓷片电容是由陶瓷材料制成的。具有高稳定性和低...
2025-03-24 01:30:02
保险丝是非常重要的配件,确保电路安全,防止过载和短路引发的火灾。Langlu 朗路国际,作为该领域的佼佼者,其产品线丰富,涵盖了多种类型的汽车保险丝,以满足不同...
2020-05-19 03:00:30
测试夹的规格尺寸通常根据不同的应用需求而有所不同。测试夹的宽度、长度和高度是设计的重要参数。常见的宽度范围在10mm到50mm之间,长度通常在20mm到100m...
2015-10-23 00:00:00
你是否想过,你支付的电费中,有一部分实际上并没有被有效利用?这部分隐形的电力浪费,就与功率因数有关。功率因数校正(PFC)技术,就像一位精明的管家,能帮助我们最...
2024-11-15 00:00:00
电阻作为电子元件中不可少的一部分,其性能参数直接影响整个电路的稳定性和安全性。作为全球知名的电子元件品牌,Panasonic(松下)在合金电阻领域拥有丰富的产品...
2013-12-21 12:01:30
扬声器/喇叭的参数是评估其性能和适用性的关键因素。频率响应是一个重要指标,表示扬声器能够重现的音频范围,通常以赫兹(Hz)为单位。理想的频率范围应覆盖人耳可听的...
2011-05-03 00:00:00
贴片电阻E09E是一种广泛应用于电子电路中的小型电子元件。其微小的尺寸和优异的性能使其成为现代电子产品不可或缺的一部分,从智能手机到电脑,从家用电器到汽车电子,...
2024-11-26 11:29:50
贴片排阻作为电子元件中不可少的一部分,应用于各种电路设计中。四川永星作为国内知名的贴片排阻生产厂家,其产品因质量稳定、性能优越而受到市场青睐。在市场上涌现出多种...
2020-01-26 01:56:07