張曉威,秦會斌
(杭州電子科技大學(xué)新型電子器件與應(yīng)用研究所,杭州 310037)
由于節(jié)能的需要,在20世紀90年代歐洲開始進行數(shù)字式熒光燈照明控制系統(tǒng)的開發(fā)研究,一些主要的照明生產(chǎn)企業(yè)提出采用標(biāo)準(zhǔn)通信協(xié)議來加速群控、智能照明節(jié)能產(chǎn)品的推廣使用。在此背景下,數(shù)字可尋址照明接口 DALI(Digital Addressable Lighting Interface)應(yīng)運而生。目前, DALI已成為國際標(biāo)準(zhǔn)IEC60929的一部分,并被Osram、Philips、Tridonic、Trilux等世界各大照明設(shè)備廠商所采用[1]。
雖然DALI協(xié)議是開放性的,但是DALI的絕大部分市場被牢固地掌握在歐洲幾大廠商手中[2]。在國內(nèi), DALI主要用于大型建筑的調(diào)光控制,例如國家大劇院、深圳機場[3]等。而對于中小型場所,由于DALI設(shè)備價格不菲等原因,一直沒有得到廣泛應(yīng)用。鑒于此,本文提出了一種適用于中小場所的DALI調(diào)光控制器設(shè)計方案。
數(shù)字可尋址照明接口(DALI)是1999年指定的專門用于熒光燈照明控制的國際標(biāo)準(zhǔn)(IEC60929),以保證不同制造廠商的DALI設(shè)備的互相兼容。它非常適合當(dāng)前照明技術(shù)所要求的簡單、可靠、數(shù)字化的要求,為用戶提供了一個能有效控制和管理的完全可調(diào)光環(huán)境[4]。
DALI是一種雙線照明控制接口方法和通信控制協(xié)議, DALI的基本系統(tǒng)單元由一個主控制器(作為Master)和64個獨立尋址的從設(shè)備(作為Slave)組成。從設(shè)備可分屬16個組,因此每個DALI基本單元可設(shè)置16 種照明場景。 DALI系統(tǒng)支持點播、組播和廣播控制方式,同時還具有淡光、對數(shù)調(diào)光、照明背景和照明故障檢測等控制功能。 DALI采用的是雙線差分驅(qū)動,當(dāng)壓差大于9.5 V時為高電平,低于6.5 V為低電平, 6.5 V~9.5 V之間的區(qū)間沒有定義。DALI協(xié)議的電氣規(guī)則如圖1所示。
圖1 DALI協(xié)議電氣規(guī)則
DALI物理層信號傳輸采用曼切斯特編碼,下降沿表示邏輯“0”,上升沿表示邏輯“1”。傳輸?shù)臄?shù)據(jù)可以分為兩類:前向幀和后向幀。前向幀的傳輸方向是從主控制器到從設(shè)備,它由19位組成, 1個起始位, 8個地址位, 8個數(shù)據(jù)位和2個停止位;后向幀由從設(shè)備到主控制器,由11位組成, 1個起始位, 8個數(shù)據(jù)位, 2個停止位。傳輸速率均為1 200 bits/s。
主控制器采用Atmel公司生產(chǎn)的高性能、低功耗8 bit微處理器ATMega16作為控制單元,該芯片速度快、抗干擾能力強,有32個可編程I/O口和豐富的內(nèi)部資源,完全滿足控制器的需要??刂破麟娐方Y(jié)構(gòu)簡單,主要由按鍵、時鐘電路、紅外發(fā)射接收電路、DALI接口電路、亮度檢測傳感器等幾部分組成。其系統(tǒng)的整體結(jié)構(gòu)如圖2所示。
圖2 調(diào)光控制器系統(tǒng)框圖
發(fā)射電路(遙控器)采用的是普誠科技的紅外發(fā)射編碼芯片PT2221。該芯片采用CMOS工藝,工作電壓為2.0 V-5.5 V,編碼方式為NEC編碼,與NEC公司的μPD6121兼容[5]。數(shù)據(jù)輸出引腳REM可以輸出38 kHz的發(fā)射頻率,發(fā)射字格式如圖3所示。遙控器每次發(fā)送32 bit二進制碼,前16 bit是遙控器辨識碼,
圖3 發(fā)射字編碼格式
主要用于區(qū)別不同遙控器,后16 bit是操作碼。這兩個部分的后8 bit都是前8 bit的反碼,用作數(shù)據(jù)校驗。每幀數(shù)據(jù)以9 ms的脈沖加4.5 ms的間隔作為數(shù)據(jù)頭。當(dāng)鍵盤按下長達108 ms時,發(fā)射端開始發(fā)送連續(xù)信號,與單次發(fā)送一樣,只是header信號是由9 ms的間隔加2.5 ms的脈沖組成的。遙控器共有32個按鍵,可實現(xiàn)對DALI從設(shè)備的開/關(guān)、點播調(diào)光、分組調(diào)光、場景切換,任務(wù)預(yù)設(shè)等操作。
控制器采用一體化接收頭實現(xiàn)數(shù)據(jù)的接收、放大和解調(diào),還原成與同步發(fā)射格式相同,但高、低電位剛好相反的脈沖信號,簡化了接收電路。利用MEGA16的16 bit時鐘單元T/C1的捕獲中斷功能實現(xiàn)數(shù)據(jù)解碼,軟件設(shè)計更加簡潔。
由于DALI電平與CMOS電平標(biāo)準(zhǔn)不同,需要對其進行電平軟換。DALI發(fā)送/接收電路用來實現(xiàn)電平轉(zhuǎn)換功能。DALI發(fā)送/接收電路如圖4所示。
圖4 DALI發(fā)送/接收電路
DALI發(fā)送電路主要由一個控制電源開關(guān)的中功率三極管Q3和調(diào)節(jié)Q3開關(guān)狀態(tài)的兩個小功率三極管Q1、Q2組成。 Q1由單片機通過反相器IC1來控制。當(dāng)PA5輸出為低電平,經(jīng)過IC1轉(zhuǎn)為高電平使Q1導(dǎo)通, Q3截止, DALI口輸出低電平;當(dāng)PA5輸出高電平,經(jīng)過IC1 轉(zhuǎn)為低電平使Q1截止, Q3導(dǎo)通, DALI口輸出高電平。R5為限流電阻,起保護作用,當(dāng)DALI總線上電流超過250 mA時, R5上的分壓使Q2導(dǎo)通, Q3截止, DALI口輸出低電平,當(dāng)DALI總線上電流正常時Q2恢復(fù)截止?fàn)顟B(tài)。 DALI接受電路主要由一個比較器U1,穩(wěn)壓管D1等組成。接收時, DALI口若為低電平,比較器U1輸出高電平,經(jīng)反相器轉(zhuǎn)換為低電平,觸發(fā)單片機外部中斷INTP1;當(dāng)DALI口為高電平, 比較器 U1輸出低電平,經(jīng)反相器轉(zhuǎn)換為高電平。
控制器采用DALLAS公司的DS1302時鐘芯片實現(xiàn)定時功能??刂破髯疃嗫稍O(shè)置8 個定時時間,并可為每個時間點設(shè)置操作任務(wù)。這一功能提高了DALI調(diào)光系統(tǒng)的靈活性,也方便了用戶操作。通過軟件查詢法,控制器可以在特定時間觸發(fā)操作任務(wù),實現(xiàn)對DALI從設(shè)備開/關(guān)、調(diào)光、場景切換等操作。
采用美國微型半導(dǎo)體(Microsem i)公司推出的能實現(xiàn)人眼仿真的集成化可見光亮度傳感器LX1970作為測量單元。 LX1970內(nèi)含PIN型光電二極管、高增益放大器和兩個互補式電流輸出端,該光電二極管陣列的光譜特性及靈敏度都與人眼十分相似,能代替人眼去感受環(huán)境亮度的明暗程度,并將接收到的可見光轉(zhuǎn)換成電流信號,進而實現(xiàn)對亮度的控制。 LX 1970 的電流靈敏度為0.38 Ua/lx,非線性誤差極小,重復(fù)性能好,外圍電路簡單,微功耗,采用2-5.5 V電源,電源電流可低至85 μA(典型值)[7]??刂破鞯墓庹斩葴y量電路如圖5所示。
圖5 光照度測量電路
圖5中,電阻R1和R2用于設(shè)定控制亮度的最小值和最大值,改變電容C1的容值可以調(diào)整響應(yīng)時間并濾除50 Hz電網(wǎng)干擾。設(shè)計中, LX1970 采用5 V供電,假定需用0.5 V-1.5 V的輸出電壓來驅(qū)動控制器, 0.5 V代表室內(nèi)亮度最小值, 1.5 V代表亮度最大值,那么可由式(1)確定 R1與 R2比例關(guān)系。
可根據(jù)LX 1970在給定亮度下的輸出電流最大值(ISRCMAX)來計算R2的值。設(shè)計中,實測最大亮度時ISRCMAX為75 μA。 R2的值可由式(2)計算得到。實際測得,在最大亮度和最小亮度下,輸出電壓分別為1.508 V和0.498 V,接近理論值且呈線性變化。
單片機根據(jù)LX 1970的輸出電壓值來確定光照度的變化。當(dāng)電壓值發(fā)生變化,控制器會自動發(fā)送相應(yīng)的調(diào)光指令,使電壓穩(wěn)定在特定值,實現(xiàn)室內(nèi)光照度的恒定。采用此功能,控制器可根據(jù)不同的自然光條件(白天、夜晚、晴天、陰雨天等)適當(dāng)?shù)刈詣诱{(diào)節(jié)室內(nèi)燈光強度,從而最大限度的利用自然光,降低照明功耗。
DALI通信接口包括DALI指令的發(fā)送和接受兩部分, DALI發(fā)送幀和接受幀的格式如圖6所示。
圖6 DALI發(fā)送幀和接收幀的格式
DALI發(fā)送幀共19 bit,接受幀11 bit,采用曼徹斯特編碼方式,每bit的發(fā)送時間為833.33 μs。
軟件模擬DALI通信接口需要占用一個8 bit的計數(shù)器T/C0、一個普通I/O口和一個帶外部中斷的I/O口。DALI指令的發(fā)送操作比較簡單,只需配置T/C0的中斷周期為416.67 μs(實際采用416 μs),在對需要發(fā)送的數(shù)據(jù)進行編碼、封裝(加起始位和終止位)并通過格式檢測以后,打開T/C0中斷,每中斷一次發(fā)送1/2 bit的數(shù)據(jù),直至發(fā)送完成。發(fā)送過程中,要關(guān)閉其他所有中斷,防止中斷沖突。
與發(fā)送相比,如何正確的采樣DALI_RX端口的狀態(tài),確保DALI指令接受的準(zhǔn)確性一直是一個難點[8]。傳統(tǒng)的方法是,當(dāng)DALI_RX端口接收到下降沿時產(chǎn)生外部中斷,進而開啟T/C0中斷,中斷周期為416.67 μs。 T/C0每中斷一次,進行一次DALI_RX的端口采樣。這種方法有兩個缺點,一是無法保證采樣的時間點落在DALI信號的穩(wěn)定區(qū)域,采樣時間點有可能處在DALI信號的上升沿或者下降沿,造成指令的接受錯誤;二是很多單片機并不能將計數(shù)器的中斷周期精確鎖定在416.67 μs附近,如果中斷周期與此周期偏差較大,采用此方法會造成誤差的積累。
本文提出了一種新的DALI指令的接收采集方法,可以將采集的時間點準(zhǔn)確的鎖定在每個bit的1/4和3/4處(每個?2 bit的中心位置),克服了傳統(tǒng)方法的缺點,提高了指令接收的準(zhǔn)確度和DALI通信接口的穩(wěn)定性。 DALI指令接收的詳細過程如圖7所示。當(dāng)INT1 第一次中斷產(chǎn)生時, T/C0的中斷周期被設(shè)置為T?4bit,當(dāng)T/C0發(fā)生匹配中斷,在前半個bit的中心位置(T?4bit處)采樣,并且將T/C0的中斷周期被設(shè)置為T?2bit,所以下一次中斷采樣正好發(fā)生在后半個bit的中心位置。在下一個DALI總線的下降沿, T/C0的中斷周期重新設(shè)置為T?4bit,使T/C0與DALI總線的下降沿保持同步。所以,在DALI指令的接收過程中,所有的采樣點均落在每個?2 bit的中心位置。所有的采樣點被存儲在緩沖數(shù)組中,通過比較連續(xù)的兩個采樣點數(shù)據(jù)來實現(xiàn)信息的解碼。在數(shù)據(jù)幀的結(jié)尾, DALI總線保持高電平狀態(tài),無INT1中斷產(chǎn)生,以此來判斷接收結(jié)束。
圖7 DALI指令接收詳細過程
本文采用16 bit時鐘單元T/C1 的捕獲中斷來實現(xiàn)紅外線解碼,最大限度的簡化了軟件的編程,解碼過程中無延時程序,提高了單片機的運行效率。
T/C1內(nèi)部的輸入捕獲單元可以應(yīng)用于精確捕獲外部發(fā)生的事情,亦即事件發(fā)生的時間印記。當(dāng)一個輸入捕獲事件發(fā)生使得外部引腳ICPI上的邏輯電平發(fā)生變化時, T/C1的計數(shù)值將被拷貝到捕獲寄存器ICR1并設(shè)置捕獲中斷標(biāo)志,如果捕獲中斷允許并且總中斷IE打開,系統(tǒng)則進入中斷服務(wù)程序。這種捕獲中斷通常用于頻率和周期的精確測量。根據(jù)前述發(fā)射字編碼格式,現(xiàn)以下降沿為觸發(fā)事件進行討論。由于一體化接收頭還原出來的數(shù)據(jù)高、低電位與發(fā)射信號剛好相反,那么一個下降沿到下一個下降沿之間剛好是數(shù)據(jù)頭或者1 bit數(shù)據(jù)的發(fā)送時間,根據(jù)編碼規(guī)則,時間長度所對應(yīng)的信號關(guān)系如下:
數(shù)據(jù)頭的時間:Th=9+4.5 =13.5 ms
數(shù)據(jù)0的時間:T0 =0.565+0.56 =1.125 ms
數(shù)據(jù)1的時間:T1 =1.685+0.56 =2.245 ms
軟件流程如圖8所示。設(shè)置檢測時間為一個范圍,可以提高接收的準(zhǔn)確度,調(diào)節(jié)時間范圍可以調(diào)節(jié)接收靈敏度。
圖8 T/C1捕獲中斷服務(wù)程序
為了驗證DALI調(diào)光控制器和DALI電子鎮(zhèn)流器之間數(shù)字通信的可靠性調(diào),對控制器進行了測試。DALI指令信息采用串口調(diào)試工具 ComTools進行發(fā)送,當(dāng)ComTools發(fā)送數(shù)據(jù)0xFE 0x97時,數(shù)據(jù)經(jīng)過控制器的處理,在DALI輸出接口輸出了滿足DALI協(xié)議時序和電平標(biāo)準(zhǔn)的 DALI調(diào)光指令0xFE 0x97。圖9是DALI調(diào)光指令FE 97的發(fā)送幀波形。圖10是控制器發(fā)送詢問指令后, DALI電子鎮(zhèn)流器的應(yīng)答指令0xFF的波形。在實測過程中, DALI通信穩(wěn)定可靠,通信成功率在99%以上??刂破鬏斎腚妷簽?6 V DC,空載狀態(tài)下功耗僅為1.6 W(無LCD背光)。
圖9 DALI調(diào)光指令FE 97的發(fā)送幀波形
圖10 DALI電子鎮(zhèn)流器的應(yīng)答波形0xFF
測試表明,控制器性能穩(wěn)定、可靠,可以實現(xiàn)對DALI終端設(shè)備的準(zhǔn)確控制。而且, 控制器結(jié)構(gòu)簡單,成本低廉,特別是改進后的DALI通信接口的軟件模擬方法,在實際測試中表現(xiàn)良好,可以方便的移植到其他單片機上。該控制器方案簡便、實用,可以進一步推廣應(yīng)用。
[ 1] DALI AG of ZVEI.DALIManual[S] .Division Luminaries, 2001.
[ 2] 李浩輝.DALI技術(shù)及NEC 78K 0/IX2調(diào)光方案[ EB/OL] .http://www.secomtel.com, 2010-03-23.
[ 3] 傅煒鋼,仲玉芳,吳明光.基于DALI的智能照明系統(tǒng)設(shè)計[ J] .科技通報, 2008, 24(2):242-245.
[ 4] 路秋生.數(shù)字式智能照明DALI控制協(xié)議[ C] //綠色照明技術(shù)與城市夜景及2008工程建設(shè)科技研討會論文集,北京, 2006:12-28.
[ 5] PTC.Infrared Remote Control Transmitter PT2221/2[ EB/OL].http://www.princeton.com.tw, 2000-10.
[ 6] MOTOROLA.Digitally Addressable Lighting Interface(DALI)Unit Using theMC68HC908KX 8[EB/OL].http://www.motorola.com/semiconductorsInformation, 2002-03.
[ 7] Microsemi.LX1970[ EB/OL] .http://www.microsemi.com/catalog/part.asp? id=57729, 2008-01-25.
[ 8] CYPRESS.Implementing a DALIReceiver System Using PowerPSoC[ EB/OL] .http://www.cypress.com, 2009-3-30.