的Buck电得到电压和电流的数字值。运用数字电构成PID算法,对采样数据进行处理,产生PWM脉冲信号,实现对
(2)、将DALI通讯协议融合到FPGA中去,达到主计算机对组群的控制和通信,以实现根据实际和需要对HID灯的精确调光和状态查询。
答:现有HID电子镇流器的控制一般是用MCU加专用控制芯片来实现,然而,现阶段绝大多数比较成熟的电子镇流器的控制芯片都是针对荧光灯的,针对HID灯的电子镇流器的控制芯片几乎呈现空白状态。但我们对HID灯电子镇流器比较熟悉,因此我们认为我们的设计具有可实现性。
经过系内专家及相关资料论证,我们的设计具有可靠性,具体可靠性我们会在整个设计完成后,配合已设计好的外围电加以确认。
以下第一幅图是我们的DALI的系统功能框图,所谓DALI(Digital Addressable Lighting Intece),是一种数字式可寻址照明通讯协议。
由图可知,我们的系统采用放电型上电式复位的结构。上电后正常情况是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。
接着就是发送这一块了。前面对flag(也即dataout1信号)的02的置位,使得发送得以进行。于是,在clk_dali时钟上升沿的触发下,发送环节开始串行输出。在这里,Dali数据传送仍采用以8bit为载体,若前4位为0,后4位为1,则中间的上升沿来表示1;若前4位为1,后4位为0,则中间的下降沿来表示0的传递信号方式(这些在程序中有详细的发送步骤描述,恕不多叙)。值得注意的是:
上图是我们联合主控计算机,运用DALI通讯协议,进行HID灯恒功率工作调节的PID算法框图。
BUCK电是电子镇流器的逆变电,通过对它采样可得灯的工作电压与电流瞬时值,我们先经过滤波网络,LEM隔离和二阶滤波电,而后进行采样并A/D转换,得到十位的数字值,然后用预存储的p与所得的电压值作除法,得到电流参考值,并与所采样的电流值比较作差,得到误差e(k),然后通过图示的pi算法分别进行乘法(*K
),然后将两者所得结果再作加法,所得U(k)经图示步骤为PWM脉宽变化,进而控制功率管的开关时间,减小误差,实现负反馈,最终达到恒功率控制。
答:开发平台:Spartan-3E,50万门。原因:有足够的门,并且自带A/D,D/A,有较高的运行速度,能够对数据进行及时的处理。
先用VHDL在ISE8.2i对DALI和PID模块进行编程描述,并在时序仿真及布局布线后,生成电网表,最终烧写进FPGA实验板中,实现电。
答:按照DALI的通讯协议进行正确的数据接受,发送和处理。对HID进行有效而精确的功率调制,并使其能够稳定工作。
答:子板功能描述:具有十位以上的A/D,D/A转换功能,多个LED,支持JTAG数据传送,20M以上的晶振时钟若干,USB2.0接口。
2.测试设备:万用表、示波器、逻辑分析仪等;250W的HID灯及其电子整流器、mosfet等电元件