当前位置:首页 > 电源 > 电源-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脉宽变化,进而控制功率管的开关时间,减小误差,实现负反馈,最终达到恒功率控制。

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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭