用FMS7401型功率控制器设计的数字调光荧光灯镇流器
为了控制预热时间、最低与最高驱动频率及正常工作频率等各种参数,模拟电子镇流器的控制器外部必须连接一些阻容元件。这些无源元件的参数存在一些容差,而且随着温度的变化而变化。基于模拟控制集成电路的可调光电子镇流器需要用模拟信号控制。为了发送模拟调光信号,外部微控制器或微处理器必须通过d/a转换器进行数/模转换。
飞兆半导体公司推出的fms7401型数字功率控制器(dpc)为实现镇流器控制、电机控制和电池管理功能提供了理想的解决方案。基于fms7401的简单、低成本、全数字调光电子镇流器能够提供更多的功能。例如荧光灯触发电压监测、无灯检测、灯寿终(eol)识别及最佳预热时间设置等。
2 fms7401的内部结构及引脚功能
fms74采用14引脚pdip、soic和tssop封装,引脚排列如图1所示。
fms7401采用cmos工艺制作,内置8位微控制器内核、1k字节代码eeprom、64字节动态随机读写存储器(dram)、5通道8位adc、带死区时间控制的12位pwm定时器、振荡器、增益为16的自动调零放大器及独立放大器、电平可编程比较器、看门狗复位电路及数字滤波器等。其内部结构如图2所示。表1列出fms7401的引脚功能。
3 fms7401的主要功能与特点
fms7401基于数字硬件提供快速pwm和pfm。数字硬件结构含有所有传统微控制器特点,例如eeprom、ram、adc和可编程参考电压等。为了实现快速控制,fms7401内部还集成了运算放大器和模拟比较器。片内的pll支持内部数字pwm频率高达64mhz。对于250khz的pwm频率有8位的分辨率。
fms7401输出可变频率脉冲,可用作驱动镇流器输出级lc串联谐振网络,对灯丝进行预热。
fms740l监控灯电流,能识别过电流、过电压、过温度、灯触发失败和灯丝断路等故障。
fms740l的片内振荡器外部无需电阻器和电容器。振荡器有1μs的指令周期时间。对于一般用途的i/o脚,可以多输入唤醒。快速12位pwm定时器提供死区时间控制和半桥输出驱动。5通道8位adc有1.2lv的内部参考电压,转换时间为21μs。片内有1ma的电流源产生器。fms7401的可编程读/写具有禁止功能,软件i/o可随意选择。
fm7401支持数据eeprom、代码eeprom和初始化寄存器电路内部编程。电路内部编程由4线串行接口组成。为将器件设置成编程模式,系统复位期间10位操作码必须移位进入器件。器件有100000个数据变化,数据保留期间40年。
4 数字镇流器系统设计
基于fms7401的可编程特点,用其可以设计数字化电子镇流器。用这种电子镇流器驱动biax t/e型32w灯管,工作频率为180khz,预热频率为400khz,系统效率为90%,输入功率为36w。
4.1 设置系统时钟
图3所示为fms7401的时钟与pll电路结构。
fms7401内部时钟fclk可以调节,并通过设置初始寄存器来测试,fclk可设置在2mhz。初始寄存器int2带飞兆公司的感光乳胶与仿真程序工具(tool kit)。fclk是数字倍增器或pll输入时钟。pll的倍增因数利用fs[1:o]的2位可以在4mhz、8mhz、16mhz和32mhz几个点频上调节。其中。fs[1:0]为pscale[6:5],并且pllen的使能输入=pscale[7]。若将fclk设置在2mhz,数字倍增器的输出取决于fs[1:0],可以为8/16/32/64mhz,并到达数字开关输入b。如果fsel=1(fsel=pscale[4]),数字开关y可以是8/16/32/64mhz:如果fsel=0,则y为1mhz。数字开关的输出y变成内部数字pwm计数器的基本时钟频率fpwm。fms7401的时钟控制寄存器pscale的设置如表2所示。
若pllen=“1”,pll使能:若pllen=“0”,pll禁止。
若fsel=“1”,fpwm=fclk×4(fs=#oob),或fpwm=fclk×8(fs=#01b),或fpwm=fclk×16(fs=#1ob),或fpwm=fclk×32(fs=#11b);若fsel=“0”,并且fclk=2mhz,fpwm则为1mhz。
若fm=“1”,软件执行基本时钟coreclk=fclk/2(fs=#oob),或coreclk=fclk(fs=#01b),或coreclk=fclk×2(fs=#为10b),或coreclk=fclk×4(fs=#11b)。若fm=“0”,coreclk=fclk/2。
当fm设置为“1”时,coreclk则为1mhz;当fs=“0”时,coreclk=fpwm/2。从表2可知,fm=pscale[3]。通过设置fm=“1”,软件指令时间变为1μs。如果pscale设置到#11010000b。则pwm频率fpwm变为32mhz,最低输出频率为125khz。基于这些设置,通过减小t1ral寄存器值,可以获得较高的输出驱动频率。表3列出fs1、fs0和fm设置与相关频率。
4.2 设置pwm单元
图4为fms7401的pwm结构框图。来自pll输出的fpwm,通过ps[2:0]=pscal[2:0]寄存器/2n,除法器的输出是自由运行上行计数器TImer1的基本时钟。t1ra是预加载计数器寄存器。当TImer1值等于t1ra时,TImer1自动复位。改变TIra值。可以控制pwm频率。
为了避免半桥中的高/低侧2个功率mosfet“贯通”,fms7401提供死区时间(即非交叠时间),并通过设置dtime寄存器来控制。pwm输出信号和比较功能由寄存器t1cmpa和t1cmpb提供。如果timer1计数值超过t1cmpa值,则数字比较器输出oa变为高电平,如图5所示。
数字比较器输出oa成为与门和或门的输入。比较器输出通过延迟单元(1/2n)按照6位dtime设置值延时。经延时的输出doa成为与门和或门的另一个输入。与门和或门输出oh与ol,成为半桥高/低侧mosfet的栅极驱动信号。由于延迟电路的时钟来自fpwm,利用6位dtime寄存器可以使死区时间从32mhz(周期tpwn=31.25ns),fpwn时钟的0到2n之间进行调节。如果fpwm=32mhz,通过设置pscale=oxdo(#11010000b),可将死区时间控制在0-2μs(64x31.25ns=2μs)。
为了得到适当的oh和ol输出波形,并使数字比较器的ol电平反转,必须利用port-gc和portgd寄存器,设置pgo=“1”。在本设计中,高端和低端输出信号被定义为输出脚。
4.3 镇流器系统设计方案
图6所示为基于fms7401的32w荧光灯全数字调光电子镇器电路。110v的ac输入采用倍压整流电路,220v的ac输入采用全桥整流滤波电路。因此,二种ac输入产生的dc总线电压是相同的(约300v)。ic2和ic3分别为高侧mosfet (v1)和低侧mosfet(v2)的栅极驱动器。l2和cres组成lc串联谐振网络,c6、c7、vd6、c8、vs1、r3、vs2和c9等组成:ic1、ic2和ic3的供电电路。
图7所示为镇流器的驱动频率曲线。在半桥电路启动之后,首先输出预热频率fpre以加热灯丝。预热时间tpre可由ic1根据不同功率和型号的灯管编程设置,不需要任何无源元件。对于ge照明公司的32w biaxt/e灯管,额定电压是100v,额定电流为0.32a。推荐预热时间tpre=2s。预热时间由ic1软件程序中的等待循环设置。在结束预热阶段后,驱动频率通过增加软件程序中的t1ra值降低。随频率向低处扫描,灯电压增加,并接近灯触发电压电平。当 频率接近输出lc电路的谐振频率时,发生lc串联谐振。在cres上产生足够高的电压使灯管击穿而点亮。在l2=330μh和cres=1.5nf下,谐振频率为226khz。
灯一旦触发,驱动频率降至最低值frun-low,镇流器进入调光模式。在频率从frun-low开始向frun-high线性增加过程中,l2的阻抗逐渐增大,灯电流减小,灯光渐暗。
不同工作模式的频率f和周期t由t1ra寄存器设置如下:
#0x50:fpre=400khz,周期tple=2.5μs;
#0x82:fign=246khz,周期tign=4.06μs;
#0x78:frun-low=267khz,周期trun-low=3.75μs;
#0x84:frun-high=178khz,周期trun-high=5.625μs。
为使驱动频率有125khz~500khz的变化范围,ic1的时钟设置在2mhz,死区时间(tdead)设置在0.1μs。在驱动频率为frun-low(178khz)时,灯亮度最大(100%);当驱动频率升至frun-high(267khz)时,灯光最暗。
在故障情况下,ic1输出控制端口被设置到低电平,ic2和ic3的ho脚及lo脚驱动输出被禁止v1和v2截止。
利用fms7401还可以设计f8t15/8w、f15t8/15w、f32t8/32w和f40t12/40w等不同型号和不同功率的荧光灯的数字调光电子镇流器。