王鵬鵬 劉振興 鄧 潔
(武漢科技大學(xué)信息科學(xué)與工程學(xué)院,武漢 430081)
照明智能化和照明節(jié)能已逐步成為智能建筑和綠色建筑中的一項重要要求[1~2]。人們對照明智能化和照明節(jié)能投入越來越多的關(guān)注。常用的家用和商用照明設(shè)備有白熾燈、熒光燈和LED等。白熾燈壽命較短,且對白熾燈調(diào)光的幾種主要方式各有其缺陷[3~4];用串聯(lián)電阻的方式調(diào)光無法節(jié)能,用變壓器調(diào)光成本較高,用雙向晶閘管易干擾電力線載波通信,不適宜用于樓宇智能照明系統(tǒng)。LED照明在國內(nèi)還未普及。通過控制電子鎮(zhèn)流器來對熒光燈調(diào)光,節(jié)能效果明顯,所以基于DALI協(xié)議的調(diào)光方案研究是有積極意義的。由于DALI協(xié)議主要是覆蓋鎮(zhèn)流器的電氣特性,而鎮(zhèn)流器的控制命令和狀態(tài)信息,并沒有涉及與其他控制系統(tǒng)互連的規(guī)定,且1個控制單元只能最多控制64個鎮(zhèn)流器[5~6]。目前,DALI總線照明系統(tǒng)與其他控制系統(tǒng)互連大都采用基于RS-232的協(xié)議轉(zhuǎn)換器來實現(xiàn),而由于受到RS-232通訊距離和控制數(shù)量的影響,使其控制的范圍受到影響,給整個建筑物的智能照明控制系統(tǒng)的實現(xiàn)帶來不便。為解決這一問題,采用了基于RS-485的通訊協(xié)議的DALI總線照明控制系統(tǒng)的實現(xiàn)。
DALI采用的是雙線差分驅(qū)動,當(dāng)兩線電壓差值在9.5V~22.5V之間時為高電平,在 -4.5V~4.5V之間時為低電平。低電平的標(biāo)準(zhǔn)值為0V,高電平的標(biāo)準(zhǔn)值為16V。DALI協(xié)議規(guī)定系統(tǒng)總線上的電流不能超過250mA,每個鎮(zhèn)流器消耗的電流不超過2mA。DALI物理層信號采用曼切斯特編碼,規(guī)定下降沿表示邏輯“0”,上升沿表示邏輯“l(fā)”。傳輸?shù)臄?shù)據(jù)幀分為兩類:正向幀和反向幀。正向幀的傳輸方向是從DALI控制器到電子鎮(zhèn)流器,它由19位組成,1個起始位,8個地址位,8個數(shù)據(jù)位和2個停止位;反向幀由電子鎮(zhèn)流器到DALI控制器,由11位組成,1個起始位,8個數(shù)據(jù)位,2個停止位[7]。
整個照明控制系統(tǒng)拓撲結(jié)構(gòu)如圖1所示。整個系統(tǒng)是一個基本結(jié)構(gòu)為兩層的總線型網(wǎng)絡(luò),下層為常規(guī)的DALI照明系統(tǒng),該層網(wǎng)絡(luò)的主要功能是完成生產(chǎn)現(xiàn)場各個設(shè)備的數(shù)據(jù)采集與控制;上層是采用RS-485協(xié)議的總線的管理網(wǎng)絡(luò),該層網(wǎng)絡(luò)的主要功能是完成PC機對各DALI控制器之間的數(shù)據(jù)傳送。采用485協(xié)議與232協(xié)議相比可以增加信號的傳輸距離,從而可以控制更多的DALI設(shè)備。整個系統(tǒng)包括PC機、RS-232轉(zhuǎn)RS-485轉(zhuǎn)換器、DALI控制器、RS-485總線、DALI電子鎮(zhèn)流器和DALI總線構(gòu)成。PC機通過RS-232轉(zhuǎn)RS-485轉(zhuǎn)換器與RS-485總線相連接,多臺控制器掛在RS485總線上,DALI控制器與DALI電子鎮(zhèn)流器用DALI控制總線相連。
圖1 照明控制系統(tǒng)拓撲圖
控制器包括MCU、DALI接口模塊、RS-485接口模塊、撥碼電路模塊和相應(yīng)的單片機外圍電路,結(jié)構(gòu)如圖2。其主要功能是響應(yīng)用戶的操作,發(fā)送DALI指令控制鎮(zhèn)流器做出相應(yīng)的動作,監(jiān)控DALI電子鎮(zhèn)流器的工作狀態(tài),如對某一盞燈進行亮度的調(diào)節(jié),以及查詢DALI系統(tǒng)從設(shè)備的工作狀態(tài)。其中撥碼電路是用來設(shè)置DALI控制器的ID的電路,當(dāng)照明系統(tǒng)中要用到多個DALI控制器時,通過撥碼電路給他們設(shè)置不同的設(shè)備ID以便PC機能夠方便準(zhǔn)確的控制下面的每一個控制器。CPU選用Freescale 的 16 位單片機 MC9S12DG128[8-9]。
圖2 控制器結(jié)構(gòu)圖
首先是DALI接口模塊,此部分包含發(fā)送電路和接收電路,如圖3。主要功能是將單片機的TTL電平與DALI協(xié)議規(guī)定的電信號相互轉(zhuǎn)換。
圖3 控制器電路圖
發(fā)送電路中主要包含3個三極管,其中T1通過反相器和CPU引腳PE3相連。當(dāng)引腳PE3輸出低電平時,T1導(dǎo)通,T3截止,DALI+端為0V,所以此時DALI輸出為0V;當(dāng)引腳輸出高電平時,T1截止,T3導(dǎo)通,DALI+端為15V,DALI-端為R7兩端電壓,設(shè)計時取R6為390歐R7為2.7歐,所以此時DALI-端大約為0.1V。R7是一個限流電阻,因為其阻止為2.7歐,所以當(dāng)電流大于250mA時,R7兩端的電壓就能導(dǎo)通Q2,從而使Q3截止,是DALI輸出為0,從而保證了最大電流不大于250mA。
接收電路主要包含一個電壓比較器LMC7221。當(dāng)DALI接口收到高電平信號時,通過電壓比較器產(chǎn)生低電平輸出,再經(jīng)反相器作用得到高電平信號,送至CPU的PE2引腳;當(dāng)接口收到低電平信號時,通過比較器產(chǎn)生高電平信號,通過反向器得到低電平信號,送至CPU。從而實現(xiàn)DALI信號轉(zhuǎn)變成TTL信號。
其次就是撥碼電路,每個撥碼盤的引腳與單片機的PA口的8個引腳相連,單片機初始化的時候讀取PA口信息,存入ID變量。PC機則可通過此ID來識別不同的DALI控制器。
RS-485部分采用MAX483的芯片,用I/O引腳PE5,PE6控制芯片的收發(fā)是使能,分別上拉和下拉,確保其非工作時間的狀態(tài)為關(guān)閉。接收和發(fā)送分別接單片機的串口收發(fā)引腳。
在設(shè)計時選用的控制芯片是MC9S12DG128,此芯片不是DALI專用芯片,所以在軟件設(shè)計時,需要用I/O口來模擬DALI的接口。DALI數(shù)據(jù)傳輸速率為 1200 bits/s,每位的傳輸時間為 833.33μs[10]。軟件模擬DALI通信接口需要占用一個計數(shù)器,一個通用IO和外部中斷IRQ引腳。
DALI指令的發(fā)送操作比較簡單,只需配置計數(shù)器的中斷周期為416.67μs(實際采用416μs),在對需要發(fā)送的數(shù)據(jù)進行編碼、封裝 (加起始位和停止位)并通過格式檢測以后,打開定時器中斷,每中斷一次發(fā)送1/2位的數(shù)據(jù),直至發(fā)送完成。發(fā)送過程中,要關(guān)閉其他所有中斷,防止中斷沖突。程序流程圖見圖4所示。
圖4 控制器程序流程圖
相比于發(fā)送,準(zhǔn)確的接收DALI信號一直是一個難點,在設(shè)計時采用如下的方法接收DALI指令,當(dāng)外部中斷即IRQ中斷第一次中斷產(chǎn)生時,定時器的中斷周期被設(shè)置為一個DALI位時長 (Tbit)的1/4,既1/4Tbit,當(dāng)定時器中斷時,在前半個位的中心位置1/4Tbit處采樣,并且將定時器的中斷周期設(shè)置為1/2Tbit,所以下一次中斷采樣正好發(fā)生在后半個bit的中心位置。在下一個DALI總線的下降沿,在IRQ中斷函數(shù)中將定時器的中斷周期重新設(shè)置為1/4Tbit使定時器與DALI總線的下降沿保持同步。所以,在DALI指令的接收過程中,所有的采樣點均落在每半個DALI信號的中心位置。所有的采樣點被存儲在緩沖數(shù)組中,通過比較連續(xù)的兩個采樣點數(shù)據(jù)來實現(xiàn)信息的解碼。在數(shù)據(jù)幀的結(jié)尾,DALI總線保持高電平狀態(tài),無IRQ中斷產(chǎn)生,以此來判斷接收結(jié)束。此方法可以將采集的時間點準(zhǔn)確的鎖定在每個bit位的1/4和3/4處 (每半個位的中心位置),提高了指令接收的準(zhǔn)確度和DALI通信接口的穩(wěn)定性。
DALI鎮(zhèn)流器也是采用MC9S12DG128單片機作為主控芯片,主要包含2個模塊:DALI接口模塊、調(diào)光模塊。還有關(guān)于整流,無功補償部分的電路就不詳細介紹了。電路設(shè)計如圖5所示。
圖5 鎮(zhèn)流器電路圖
DALI接口模塊采用光耦來進行信號隔離和電平轉(zhuǎn)換,分為接收和發(fā)送兩部分。在接收時,當(dāng)總線上為高電平時,光耦U1導(dǎo)通,反相器輸入端被拉低,輸出為高電平,當(dāng)總線上為低電平時,U1截止,反相器輸入端被拉高,輸出為低電平。在發(fā)送時,當(dāng)發(fā)送數(shù)據(jù)為高電平時,光耦U2截止,DALI+被上拉為高電平,當(dāng)輸出為低電平時,光耦U2導(dǎo)通,DALI+被拉到與DALI-同電壓,輸出為低。
調(diào)光模塊主要采用了IR21592芯片來控制半橋逆變電路[11]。單片機通過控制IR21592的DIM引腳的電壓來控制其HO和LO引腳的輸出,從而控制燈管的亮度。單片機的引腳PA0與IR21592的SD引腳相連,用來控制IR21592芯片的開關(guān)。單片機可以通過讀取 IR21592的FMIN引腳狀態(tài)來判斷IR21592的狀態(tài),如果 FMIN為低電平,則說明IR2159芯片處在關(guān)閉狀態(tài);FMIN為高電平,則說明其工作正常。單片機通過PA2腳來判斷燈管的狀態(tài),正常時PA2讀到的應(yīng)該是低電平,因為燈管正常時,其燈絲的阻值很低,PA2相當(dāng)于通過燈絲直接與地相連;當(dāng)燈管損壞時,燈絲相當(dāng)于開路,PA2讀到的是穩(wěn)壓管D4上的電壓為高電平。
鎮(zhèn)流器的軟件設(shè)計主要是對DALI數(shù)據(jù)的接收,流程圖見圖6。接收思路與DALI控制器的思路相同,首先是當(dāng)總線上有數(shù)據(jù)時,首先會觸發(fā)IRQ中斷,在IRQ中斷中,設(shè)置定時器的中短周期,并使能定時器中斷。定時器時間到讀取DALI數(shù)據(jù),并重新設(shè)置定時器,準(zhǔn)備讀取后半位數(shù)據(jù)。當(dāng)在定時器中斷中連續(xù)6次讀到DALI數(shù)據(jù)為高電平時表明數(shù)據(jù)接收結(jié)束,這時候?qū)⑹盏降恼麕珼ALI數(shù)據(jù)解碼判斷是否是發(fā)給本機的數(shù)據(jù),是則存入緩存,不是則丟棄。在主程序中主要是不斷查詢有沒有收到新的指令和查詢鎮(zhèn)流器和燈的狀態(tài)。
圖6 鎮(zhèn)流器程序流程圖
采用VC++進行上位機軟件的設(shè)計,界面如圖7所示主要用到了一個串口控件,本軟件每一幀數(shù)據(jù)包含三個具體的信息,控制器ID,每個DALI控制器的設(shè)備號,使RS-485總線上的DALI控制器能夠識別PC發(fā)來的數(shù)據(jù)是給哪個控制器的。鎮(zhèn)流器地址,這是用來控制電子鎮(zhèn)流器的數(shù)據(jù),用來表示DALI數(shù)據(jù)將要傳送給某個或者某些鎮(zhèn)流器。指令和調(diào)光等等級是用來控制鎮(zhèn)流器做出相應(yīng)的控制動作,比如說控制某些鎮(zhèn)流器上的燈管開啟,關(guān)閉或者將該燈管的亮度調(diào)到某一個特定的值,詳細指令可查詢DALI指令表。
圖7 DALI控制軟件界面
為驗證設(shè)計的可行性,搭建了一個簡單智能照明系統(tǒng),一臺PC兩個DALI控制器,每臺DALI控制器控制兩個鎮(zhèn)流器。使用上位機軟件分別給DALI控制器發(fā)送各種控制指令和調(diào)光亮度,DALI控制器都能很穩(wěn)定的控制鎮(zhèn)流器做出相應(yīng)的動作;在查詢個鎮(zhèn)流器的狀態(tài)時也都能收到正確的應(yīng)答信息。經(jīng)測試,整個系統(tǒng)能夠長時間的穩(wěn)定運行。
DALI協(xié)議已成為智能照明的重要協(xié)議,由于它布線簡單、功能強大、靈活性高、價格低,被世界主要的鎮(zhèn)流器廠商采用。本文在研究DALI協(xié)議的基礎(chǔ)上設(shè)計了調(diào)光系統(tǒng),達到了調(diào)節(jié)控制燈光的目的。設(shè)計的產(chǎn)品已投入市場,在使用中完全能夠達到客戶要求。
[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協(xié)議的智能照明控制器在高校教學(xué)樓中的應(yīng)用 [J].吉林建筑工程學(xué)院學(xué)報.2010,27(3):76~78.
[3]李炳華,李英姿,岳云濤,朱立陽.白熾燈調(diào)光的節(jié)能研究 [J].建筑電氣.2010,29(7):5~11.
[4]周江.基于單片機的調(diào)光控制器設(shè)計 [J].電子技術(shù).2010,37(1):32~34.
[5]馮燕,李凌宇.DALI總線照明系統(tǒng)以太網(wǎng)控制網(wǎng)關(guān)的實現(xiàn) [J].實驗室研究與探索,2010,29(8):50~53.
[6]李化東,吳明光.具有遠程和本地控制功能的DALI智能照明控制系統(tǒng) [J].現(xiàn)代建筑電器.2010,1(1):9~13.
[7]路秋生.?dāng)?shù)控可尋址照明調(diào)光控制接口[J].照明工程學(xué)報.2008,19(2):71~77.
[8]王威.HCS12微控制器原理及應(yīng)用[M].北京:北京航空航天大學(xué)出版社.2007.10.
[9]王奇,劉興春,馮國平.飛思卡爾16位單片機運行模式的分析與實現(xiàn)[J].?dāng)?shù)字技術(shù)與應(yīng)用.2009,(10):113~115.
[10]張曉威,秦會斌.一種DALI調(diào)光控制器的設(shè)計與實現(xiàn)[J].電子器件.2010,33(5):45~49.
[11]賈宏.可調(diào)光電子鎮(zhèn)流器控制芯片IR21592/3[J].電子器件.2005,28(4):51~55.