基于RS-485总线技术的DALI照明系统的设计
2012-08-08王鹏鹏刘振兴
王鹏鹏 刘振兴 邓 洁
(武汉科技大学信息科学与工程学院,武汉 430081)
1 引言
照明智能化和照明节能已逐步成为智能建筑和绿色建筑中的一项重要要求[1~2]。人们对照明智能化和照明节能投入越来越多的关注。常用的家用和商用照明设备有白炽灯、荧光灯和LED等。白炽灯寿命较短,且对白炽灯调光的几种主要方式各有其缺陷[3~4];用串联电阻的方式调光无法节能,用变压器调光成本较高,用双向晶闸管易干扰电力线载波通信,不适宜用于楼宇智能照明系统。LED照明在国内还未普及。通过控制电子镇流器来对荧光灯调光,节能效果明显,所以基于DALI协议的调光方案研究是有积极意义的。由于DALI协议主要是覆盖镇流器的电气特性,而镇流器的控制命令和状态信息,并没有涉及与其他控制系统互连的规定,且1个控制单元只能最多控制64个镇流器[5~6]。目前,DALI总线照明系统与其他控制系统互连大都采用基于RS-232的协议转换器来实现,而由于受到RS-232通讯距离和控制数量的影响,使其控制的范围受到影响,给整个建筑物的智能照明控制系统的实现带来不便。为解决这一问题,采用了基于RS-485的通讯协议的DALI总线照明控制系统的实现。
2 DALI简介
DALI采用的是双线差分驱动,当两线电压差值在9.5V~22.5V之间时为高电平,在 -4.5V~4.5V之间时为低电平。低电平的标准值为0V,高电平的标准值为16V。DALI协议规定系统总线上的电流不能超过250mA,每个镇流器消耗的电流不超过2mA。DALI物理层信号采用曼切斯特编码,规定下降沿表示逻辑“0”,上升沿表示逻辑“l”。传输的数据帧分为两类:正向帧和反向帧。正向帧的传输方向是从DALI控制器到电子镇流器,它由19位组成,1个起始位,8个地址位,8个数据位和2个停止位;反向帧由电子镇流器到DALI控制器,由11位组成,1个起始位,8个数据位,2个停止位[7]。
3 基于RS-485的智能照明系统的拓扑结构
整个照明控制系统拓扑结构如图1所示。整个系统是一个基本结构为两层的总线型网络,下层为常规的DALI照明系统,该层网络的主要功能是完成生产现场各个设备的数据采集与控制;上层是采用RS-485协议的总线的管理网络,该层网络的主要功能是完成PC机对各DALI控制器之间的数据传送。采用485协议与232协议相比可以增加信号的传输距离,从而可以控制更多的DALI设备。整个系统包括PC机、RS-232转RS-485转换器、DALI控制器、RS-485总线、DALI电子镇流器和DALI总线构成。PC机通过RS-232转RS-485转换器与RS-485总线相连接,多台控制器挂在RS485总线上,DALI控制器与DALI电子镇流器用DALI控制总线相连。
图1 照明控制系统拓扑图
4 DALI控制器的设计
控制器包括MCU、DALI接口模块、RS-485接口模块、拨码电路模块和相应的单片机外围电路,结构如图2。其主要功能是响应用户的操作,发送DALI指令控制镇流器做出相应的动作,监控DALI电子镇流器的工作状态,如对某一盏灯进行亮度的调节,以及查询DALI系统从设备的工作状态。其中拨码电路是用来设置DALI控制器的ID的电路,当照明系统中要用到多个DALI控制器时,通过拨码电路给他们设置不同的设备ID以便PC机能够方便准确的控制下面的每一个控制器。CPU选用Freescale 的 16 位单片机 MC9S12DG128[8-9]。
图2 控制器结构图
4.1 控制器的硬件设计
首先是DALI接口模块,此部分包含发送电路和接收电路,如图3。主要功能是将单片机的TTL电平与DALI协议规定的电信号相互转换。
图3 控制器电路图
发送电路中主要包含3个三极管,其中T1通过反相器和CPU引脚PE3相连。当引脚PE3输出低电平时,T1导通,T3截止,DALI+端为0V,所以此时DALI输出为0V;当引脚输出高电平时,T1截止,T3导通,DALI+端为15V,DALI-端为R7两端电压,设计时取R6为390欧R7为2.7欧,所以此时DALI-端大约为0.1V。R7是一个限流电阻,因为其阻止为2.7欧,所以当电流大于250mA时,R7两端的电压就能导通Q2,从而使Q3截止,是DALI输出为0,从而保证了最大电流不大于250mA。
接收电路主要包含一个电压比较器LMC7221。当DALI接口收到高电平信号时,通过电压比较器产生低电平输出,再经反相器作用得到高电平信号,送至CPU的PE2引脚;当接口收到低电平信号时,通过比较器产生高电平信号,通过反向器得到低电平信号,送至CPU。从而实现DALI信号转变成TTL信号。
其次就是拨码电路,每个拨码盘的引脚与单片机的PA口的8个引脚相连,单片机初始化的时候读取PA口信息,存入ID变量。PC机则可通过此ID来识别不同的DALI控制器。
RS-485部分采用MAX483的芯片,用I/O引脚PE5,PE6控制芯片的收发是使能,分别上拉和下拉,确保其非工作时间的状态为关闭。接收和发送分别接单片机的串口收发引脚。
4.2 控制器的软件设计
在设计时选用的控制芯片是MC9S12DG128,此芯片不是DALI专用芯片,所以在软件设计时,需要用I/O口来模拟DALI的接口。DALI数据传输速率为 1200 bits/s,每位的传输时间为 833.33μs[10]。软件模拟DALI通信接口需要占用一个计数器,一个通用IO和外部中断IRQ引脚。
DALI指令的发送操作比较简单,只需配置计数器的中断周期为416.67μs(实际采用416μs),在对需要发送的数据进行编码、封装 (加起始位和停止位)并通过格式检测以后,打开定时器中断,每中断一次发送1/2位的数据,直至发送完成。发送过程中,要关闭其他所有中断,防止中断冲突。程序流程图见图4所示。
图4 控制器程序流程图
相比于发送,准确的接收DALI信号一直是一个难点,在设计时采用如下的方法接收DALI指令,当外部中断即IRQ中断第一次中断产生时,定时器的中断周期被设置为一个DALI位时长 (Tbit)的1/4,既1/4Tbit,当定时器中断时,在前半个位的中心位置1/4Tbit处采样,并且将定时器的中断周期设置为1/2Tbit,所以下一次中断采样正好发生在后半个bit的中心位置。在下一个DALI总线的下降沿,在IRQ中断函数中将定时器的中断周期重新设置为1/4Tbit使定时器与DALI总线的下降沿保持同步。所以,在DALI指令的接收过程中,所有的采样点均落在每半个DALI信号的中心位置。所有的采样点被存储在缓冲数组中,通过比较连续的两个采样点数据来实现信息的解码。在数据帧的结尾,DALI总线保持高电平状态,无IRQ中断产生,以此来判断接收结束。此方法可以将采集的时间点准确的锁定在每个bit位的1/4和3/4处 (每半个位的中心位置),提高了指令接收的准确度和DALI通信接口的稳定性。
5 DALI镇流器的设计
5.1 镇流器的硬件设计
DALI镇流器也是采用MC9S12DG128单片机作为主控芯片,主要包含2个模块:DALI接口模块、调光模块。还有关于整流,无功补偿部分的电路就不详细介绍了。电路设计如图5所示。
图5 镇流器电路图
DALI接口模块采用光耦来进行信号隔离和电平转换,分为接收和发送两部分。在接收时,当总线上为高电平时,光耦U1导通,反相器输入端被拉低,输出为高电平,当总线上为低电平时,U1截止,反相器输入端被拉高,输出为低电平。在发送时,当发送数据为高电平时,光耦U2截止,DALI+被上拉为高电平,当输出为低电平时,光耦U2导通,DALI+被拉到与DALI-同电压,输出为低。
调光模块主要采用了IR21592芯片来控制半桥逆变电路[11]。单片机通过控制IR21592的DIM引脚的电压来控制其HO和LO引脚的输出,从而控制灯管的亮度。单片机的引脚PA0与IR21592的SD引脚相连,用来控制IR21592芯片的开关。单片机可以通过读取 IR21592的FMIN引脚状态来判断IR21592的状态,如果 FMIN为低电平,则说明IR2159芯片处在关闭状态;FMIN为高电平,则说明其工作正常。单片机通过PA2脚来判断灯管的状态,正常时PA2读到的应该是低电平,因为灯管正常时,其灯丝的阻值很低,PA2相当于通过灯丝直接与地相连;当灯管损坏时,灯丝相当于开路,PA2读到的是稳压管D4上的电压为高电平。
5.2 镇流器的软件设计
镇流器的软件设计主要是对DALI数据的接收,流程图见图6。接收思路与DALI控制器的思路相同,首先是当总线上有数据时,首先会触发IRQ中断,在IRQ中断中,设置定时器的中短周期,并使能定时器中断。定时器时间到读取DALI数据,并重新设置定时器,准备读取后半位数据。当在定时器中断中连续6次读到DALI数据为高电平时表明数据接收结束,这时候将收到的整帧DALI数据解码判断是否是发给本机的数据,是则存入缓存,不是则丢弃。在主程序中主要是不断查询有没有收到新的指令和查询镇流器和灯的状态。
图6 镇流器程序流程图
6 上位机软件设计
采用VC++进行上位机软件的设计,界面如图7所示主要用到了一个串口控件,本软件每一帧数据包含三个具体的信息,控制器ID,每个DALI控制器的设备号,使RS-485总线上的DALI控制器能够识别PC发来的数据是给哪个控制器的。镇流器地址,这是用来控制电子镇流器的数据,用来表示DALI数据将要传送给某个或者某些镇流器。指令和调光等等级是用来控制镇流器做出相应的控制动作,比如说控制某些镇流器上的灯管开启,关闭或者将该灯管的亮度调到某一个特定的值,详细指令可查询DALI指令表。
图7 DALI控制软件界面
7 DALI控制系统的测试
为验证设计的可行性,搭建了一个简单智能照明系统,一台PC两个DALI控制器,每台DALI控制器控制两个镇流器。使用上位机软件分别给DALI控制器发送各种控制指令和调光亮度,DALI控制器都能很稳定的控制镇流器做出相应的动作;在查询个镇流器的状态时也都能收到正确的应答信息。经测试,整个系统能够长时间的稳定运行。
8 结束语
DALI协议已成为智能照明的重要协议,由于它布线简单、功能强大、灵活性高、价格低,被世界主要的镇流器厂商采用。本文在研究DALI协议的基础上设计了调光系统,达到了调节控制灯光的目的。设计的产品已投入市场,在使用中完全能够达到客户要求。
[1]HEIN P F.DALI-A Digital Addressable Lighting Interface for Lighting Electronics[C]//Industry Applications Conerence,Thirty-Sixth IAS Annual Meeting,Conference Record of the 200l IEEE,2001(2):901~905.
[2]孙立超,马占敖,田牧迪.基于DAL I协议的智能照明控制器在高校教学楼中的应用 [J].吉林建筑工程学院学报.2010,27(3):76~78.
[3]李炳华,李英姿,岳云涛,朱立阳.白炽灯调光的节能研究 [J].建筑电气.2010,29(7):5~11.
[4]周江.基于单片机的调光控制器设计 [J].电子技术.2010,37(1):32~34.
[5]冯燕,李凌宇.DALI总线照明系统以太网控制网关的实现 [J].实验室研究与探索,2010,29(8):50~53.
[6]李化东,吴明光.具有远程和本地控制功能的DALI智能照明控制系统 [J].现代建筑电器.2010,1(1):9~13.
[7]路秋生.数控可寻址照明调光控制接口[J].照明工程学报.2008,19(2):71~77.
[8]王威.HCS12微控制器原理及应用[M].北京:北京航空航天大学出版社.2007.10.
[9]王奇,刘兴春,冯国平.飞思卡尔16位单片机运行模式的分析与实现[J].数字技术与应用.2009,(10):113~115.
[10]张晓威,秦会斌.一种DALI调光控制器的设计与实现[J].电子器件.2010,33(5):45~49.
[11]贾宏.可调光电子镇流器控制芯片IR21592/3[J].电子器件.2005,28(4):51~55.