微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > HID灯电子镇流器控制电路和数字可寻址照明接口(DALI)的通信接口规范的FPGA实现

HID灯电子镇流器控制电路和数字可寻址照明接口(DALI)的通信接口规范的FPGA实现

时间:06-12 来源:互联网 点击:

项目背景及可行性分析

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

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

主要内容:

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

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

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

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

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

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

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

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

答:现有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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top