当前位置:首页 > 显示光电 > 电源-LED驱动
[导读]  项目背景及可行性分析  项目名称、项目的主要内容及目前的进展情况  答:项目名称为:HID灯电子镇流器控制电路和数字可寻址照明接口(DALI)的通信接口规范的FPGA实现

  项目背景及可行性分析

  项目名称、项目的主要内容及目前的进展情况

  答:项目名称为:HID灯电子镇流器控制电路和数字可寻址照明接口(DALI)的通信接口规范的FPGA实现。

  主要内容:

  (1)、通过A/D采样电子镇流器的Buck电路得到电压和电流的数字值。运用数字电路构成PID算法,对采样数据进行处理,产生PWM脉冲信号,实现对HID灯的恒流和恒功率控制,以达到精确调光和稳定工作。

  (2)、将DALI通讯协议融合到FPGA中去,达到主计算机对HID灯电子镇流器组群的控制和通信,以实现根据实际环境和需要对HID灯的精确调光和状态查询。

  目前进展情况:DALI部分主程序已经完成,编译通过,并正在仿真调试。PID部分正准备开始。

  项目关键技术及创新点的论述;

  答:(1)、用FPGA代替MCU来实现对HID电子镇流器的控制及调光。

  (2)、将DALI通讯协议融入控制芯片,方便外界对电子镇流器的监测和控制。

  (3)、用脉宽调制(PWM)技术实现对HID灯的精确调光。

  技术成熟性和可靠性论述:

  答:现有HID电子镇流器的控制一般是用MCU加专用控制芯片来实现,然而,现阶段绝大多数比较成熟的电子镇流器的控制芯片都是针对荧光灯的,针对HID灯的电子镇流器的控制芯片几乎呈现空白状态。但我们对HID灯电子镇流器比较熟悉,因此我们认为我们的设计具有可实现性。

  经过系内专家及相关资料论证,我们的设计具有可靠性,具体可靠性我们会在整个设计完成后,配合已设计好的外围电路加以确认。

  项目实施方案

  1.方案基本功能框图及描述

  用框图的方式并加以简单的描述简述实施本项目的技术方案。

  以下第一幅图是我们的DALI的系统功能框图,所谓DALI(Digital Addressable Lighting Interface),是一种数字式可寻址照明通讯协议。

 

  由图可知,我们的系统采用放电型上电式复位的结构。上电后正常情况是rst=1,从而对各信号进行赋初值。为了防止正常工作期间,再次发生rst=1的误复位操作,我们进而采用了先对rst采样并检测的措施:如果rst=1,执行200ms的延时,而后再次检测rst,如还为1,则非误触发;否则就有可能是干扰等产生的误触发,对此我们不做响应。

  基于主机在每次发送address 和command之前,会在IRQ引脚对我们的系统进行下降沿触发,因此我们在复位后就等待IRQ下降沿触发信号。如果被触发,我们就开始接收数据,进入接收环节。

  在进行对接收环节的描述之前,我们先来简要地说明一下Dali控制器命令的数据帧结构。Dali控制器命令的数据帧结构包括一个起始位,八个地址位 (第一字节),八个数据/指令位 (第二字节),和两个停止位。第一字节为address字节,第二字节为command字节。可以看出Dali的控制命令异常简单,那么是否能保证不出现错误,并实现精确调光呢?

  答案是令人放心的。因为Dali数据传送采用以8bit为载体,若前4位为0,后4位为1,则中间的上升沿来表示1;若前4位为1,后4位为0,则中间的下降沿来表示0的传递信号方式。因此,对数据0和1的传送非常稳定,不容易受到干扰。此外,每帧数据还包含了:一个上升沿作为起始位,两个字节作为address和command,两位连续的高电平作为结束位(在实际中应为2*8bit的高电平)。总共加起来实际上是发送了152bit的数据。

  进入接收环节,我们才算是开始了真正意义上的Dali程序环节。我们采用rec_bit代表我们已经接收的实际bit数目(也即接收到的addresss和command命令中的位数),采用rec_position作为每一个bit代表的8bit中所接收的数据位。在这个环节中我们逐位接收数据,当接收过程中发生错误,则停止接收,并返回判断IRQ是否触发状态. 如果整个接收过程(起始位,中间位,终止位)全无错误,则向RAM中相应字节写入”00000001”,标志可以进入数据处理阶段(handle_data)。.

  数据处理可根据address 和command的不同分为: 灯调光专用指令, 普通指令, 特殊指令三种 :

  由于我们接收的是一个十六位数据,并且其中前八位表示地址(8bit地址结构为YAAAAAAS),后八位表示command 和调光值,当接收到的十六位数据的最高位,即Y=0时表示为短地址,Y=1时表示为组地址,S为选择标志位,当S=0时表示后面的是调光等级值,S=1时表示后面的是指令

  灯调光专用指令(lamp_setlevel),我们是做成元件例化(component)的形式,因此它并行于其他process。它包含了所要达到的调光值,最大调光值,最小调光值等输入值以及越限错误,现在的调光值(也即前次所达到的调光值),极值调光值判断和tch0,tch1等输出值。当所要达到的调光值为FF时,表示的是demo模式;当为00时,表示的是OFF模式,即关灯;当FE时,表示极值调光值,此时极值调光值判断置1。其他值时,根据所要达到的调光值的不同,tch0或tch1的值也置不同的值,这两个输出将是PWM的输入信号。这里具体的就不说了,请详见程序lamp_setlevel。

  普通指令,(normal command) 则分为间接功率控制命令(indirect arc power control commands),整体配置命令(general configuration),功率参数设置(arc power parameters settings),系统参数设置(system parameters settings),询问相关状态信息(queries related to status information),询问相关功率参数设置(queries related to arc power parameters settings),询问相关系统参数设置(queries related to system parameters settings) 等。

以下我们简单介绍程序中一些二进制代码所对应的命令,列表如下:

Indirect arc power control commands

0000 0000

OFF

0000 0001

UP

0000 0010

DOWN

0000 0011

STEP_UP

0000 0100

STEP_DOWN

0000 0101

RECALL_MAX_LEVEL

0000 0110

RECALL_MIN_LEVEL

0000 0111

STEP_DOWN_AND_OFF

0000 1000

ON_AND_STEP_UP

0001 0000

GO_TO_SCENE

General configuration commands

0010 0000

RESET

0010 0001

STORE_ACTUAL_LEVEL_IN_THE_DTR

Arc power parameters settings

0010 1010

STORE_THE_DTR_AS_MAX_LEVEL

0010 1011

STORE_THE_DTR_AS_MIN_LEVEL

0010 1100

STORE_THE_DTR_AS_SYSTEM_FALLURE_LEVEL

0010 1101

STORE_THE_DTR_AS_POWER_ON_LEVEL

0010 1110

STORE_THE_DTR_AS_FADE_TIME

0010 1111

STORE_THE_DTR_AS_FADE_RATE

0100 0000

STORE_THE_DTR_AS_SCENE

System parameters settings

0101 0000

REMOVE_FROM_SCENE

1000 0000

STORE_DTR_AS_SHORT_ADDRESS

Queries related to status information

1001 0000

QUERY_STATUS

1001 0001

QUERY_BALLAST

1001 0010

QUERY_LAMP_FALLURE

1001 0011

QUERY_POWER_ON

1001 0100

QUERY_LIMIT_ERROR

1001 0101

QUERY_RESET_STATE

1001 0110

QUERY_MISSING_SHORT_ADDRESS

1001 0111

QUERY_VERSION_NUMBER

1001 1000

QUERY_CONTENT_DTR

1001 1001

QUERY_DEVICE_TYPE

1001 1010

QUERY_PHYSICAL_MINIMUM_LEVEL

1001 1011

QUERY_POWER_FALLURE

Queries related to arc power parameters settings

1010 0000

QUERY_ACTUAL_LEVEL

1010 0001

QUERY_MAX_LEVEL

1010 0010

QUERY_MIN_LEVEL

1010 0011

QUERY_POWER_ON_LEVEL

1010 0100

QUERY_SYSTEM_FALLURE_LEVEL

1010 0101

QUERY_FADE

Queries related to system parameters settings

1011 0000

QUERY_SCENE_LEVEL

1100 0010

QUERY_RANDOM_ADDRESS_H

1100 0011

QUERY_RANDOM_ADDRESS_M

1100 0100

QUERY_RANDOM_ADDRESS_L

[!--empirenews.page--]

 

  特殊指令是广播发送的,所有的镇流器都能收到,其形式为address的八位内容为”101XXXX1”或”110XXXX1”.而且每条后边跟随着的八位command中存储的是对应的value(格式为:A1 00; A3 XX;A5 XX;A7 00; A9 00; AB 00;B1 HH;B3 MM;B5 LL;B7 XX;B9 XX; BB 00;BD 00 .共有十三条) 具体说来: A1 00 是终止特殊进程的指令,执行后所有特殊模式的处理进程都会被终止(以address_time<="00000000"的方式实现); A3 XX 将会向DTR中存储command的八位数值”XXXXXXXX “; A5 XX是初始化指令,这一指令在接下来的100毫秒内将被再次接收到; A7 00 是产生随机序列指令,镇流器将根据它产生一个新的随机地址,共有24位,分为高,中,低三个字节存放在三个存储器中.我们采用三个时钟(clk_main, clk_dali, clk_20)驱动的三个循环计数器计数,当需要产生随机地址时,把当时的计数值赋给三个存储器即可; A9 00是比较指令,镇流器会将已存储在search_address_h, search_address_m, search_address_l中的组合寻址地址(由主机发来的)与它的随机地址比较,如果随机地址小于或等于组合寻址地址,则镇流器不被撤销,回答YES(answer<="11111111"); AB 00 是撤销指令,也即随机地址和组合寻址地址相等的镇流器将被撤销(因为短地址已经确定)而不再响应比较指令; B1 HH,B3 MM,B5 LL 分别是将command中的数值存入search_address_h, search_address_m, search_address_l; B7 XX实际为1011 0111 0AAAAAA1,执行时如果镇流器被选中,则会将收到的6位地址保存为它的短地址(被选中的条件是:1.镇流器的随机地址和组合寻址地址相等 或者2.灯具和镇流器之间没有连接,则在接收到指令BD 00后,镇流器就会被物理选择探测到) [注意:当B7 XX为1011 0111 01111111 时,短地址将被删除.]; B9 XX 是确认短地址,当接收到的短地址和镇流器自身的短地址相同则回答YES; BB 00 如果镇流器被选中,则会向主机回发短地址(0AAAAAA1); BD 00 执行此指令时,镇流器被置为物理选择模式(selection<="00000001"),这一模式下不能进行组合寻址地址和随机地址的比较.

  接着就是发送这一块了。前面对flag(也即dataout1信号)的02的置位,使得发送得以进行。于是,在clk_dali时钟上升沿的触发下,发送环节开始串行输出。在这里,Dali数据传送仍采用以8bit为载体,若前4位为0,后4位为1,则中间的上升沿来表示1;若前4位为1,后4位为0,则中间的下降沿来表示0的传递信号方式(这些在程序中有详细的发送步骤描述,恕不多叙)。值得注意的是:

  answer是8bit的输出,它的串行输出必须一步步的执行,因此用temp_value来记录每一位的值,并按照Dali数据传送规则传出。

  send_position与rec_position有些不同,send_position是一直加上去的,没有清零。这样,在send_position=24时,开始起始位上升沿的输出,到27bit结束,在从28到31bit是下降沿的输出。然后从32bit起,开始数据传递。当到达96bit时开始结束位的16bit高电平,然后再在112bit对flag(dataout1)和send_position清零。

  

 

  上图是我们联合主控计算机,运用DALI通讯协议,进行HID灯恒功率工作调节的PID算法框图。

  BUCK电路是电子镇流器的逆变电路,通过对它采样可得灯的工作电压与电流瞬时值,我们先经过滤波网络,LEM隔离和二阶滤波电路,而后进行采样并A/D转换,得到十位的数字值,然后用预存储的pref 与所得的电压值作除法,得到电流参考值,并与所采样的电流值比较作差,得到误差e(k),然后通过图示的pi算法分别进行乘法(*KP)和累加(

)后乘法(*KI),然后将两者所得结果再作加法,所得U(k)经图示步骤转化为PWM脉宽变化,进而控制功率管的开关时间,减小误差,实现负反馈,最终达到恒功率控制。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在当今电子系统设计的复杂领域中,系统架构的选择宛如基石,深刻影响着电源和控制电路的设计,进而全方位塑造系统性能。不同架构在面对从交流电源到负载的能量流动控制任务时,因隔离栅位置、信号处理方式等差异,展现出截然不同的特性。...

关键字: 电子系统 控制电路 架构

以下内容中,小编将对稳压器的相关内容进行着重介绍和阐述,希望本文能帮您增进对稳压器的了解,和小编一起来看看吧。

关键字: 稳压器 限流接线法 控制电路

在当今电子设备多样化和高性能化的发展趋势下,开关稳压电源作为关键的供电部件,其性能优劣直接影响着设备的整体表现。双环反激开关稳压电源凭借独特的电路拓扑和工作特性,在中小功率应用领域占据重要地位。传统控制电路在面对复杂工况...

关键字: 稳压电源 双环反激 控制电路

在当今电子系统设计的复杂领域中,系统架构的选择宛如基石,深刻影响着电源和控制电路的设计,进而全方位塑造系统性能。不同架构在面对从交流电源到负载的能量流动控制任务时,因隔离栅位置、信号处理方式等差异,展现出截然不同的特性。

关键字: 电子系统 系统架构 控制电路

‌主回路和控制回路分开看‌:先看主回路,后看控制回路。主回路动作原理相对简单,可以快速把握整个电路的功能,然后再看控制回路。‌

关键字: 控制电路

在当代电气系统中,高压强电电路与低压控制电路常常需要协同工作,实现高效的能量转换与精确的系统控制。然而,这种高低压并存的架构也带来了潜在的安全风险。一旦高低压电路之间发生电气连接,数千伏的高压电流可能瞬间涌入低压控制端,...

关键字: 电气隔离 控制电路 电气系统

在科技飞速发展的今天,LED 照明以其高效、节能、长寿命等诸多优势,逐渐成为照明领域的主流选择。而在 LED 照明系统中,驱动器作为核心部件,其性能的优劣直接影响着 LED 的发光效果和整体系统的稳定性。TP8151A...

关键字: 照明 TP8151A 降压恒流驱动器

PSRAM,作为一种融合了动态随机存取存储器(DRAM)高密度特性与静态随机存取存储器(SRAM)易用性的存储技术,其重要性不言而喻。从结构上看,PSRAM 内部主要由 DRAM 存储单元负责数据存储,SRAM 接口电路...

关键字: 存储器 接口电路 控制电路

中国昆山2025年3月27日 /美通社/ -- 光宝科技(2301.tw)将于2025年3月26日至28日,盛大参加ALE上海国际汽车灯具展览会(Shanghai International Auto Lamp Exhi...

关键字: 光学 光电 半导体 照明

上海2025年3月11日 /美通社/ -- 3月7日,国际独立第三方检测、检验和认证机构德国莱茵TÜV大中华区(简称"TÜV莱茵&qu...

关键字: 照明 环境影响 电子电气 建模
关闭