張曉威,秦會斌
(杭州電子科技大學新型電子器件與應用研究所,杭州 310037)
由于節能的需要,在20世紀90年代歐洲開始進行數字式熒光燈照明控制系統的開發研究,一些主要的照明生產企業提出采用標準通信協議來加速群控、智能照明節能產品的推廣使用。在此背景下,數字可尋址照明接口 DALI(Digital Addressable Lighting Interface)應運而生。目前, DALI已成為國際標準IEC60929的一部分,并被Osram、Philips、Tridonic、Trilux等世界各大照明設備廠商所采用[1]。
雖然DALI協議是開放性的,但是DALI的絕大部分市場被牢固地掌握在歐洲幾大廠商手中[2]。在國內, DALI主要用于大型建筑的調光控制,例如國家大劇院、深圳機場[3]等。而對于中小型場所,由于DALI設備價格不菲等原因,一直沒有得到廣泛應用。鑒于此,本文提出了一種適用于中小場所的DALI調光控制器設計方案。
數字可尋址照明接口(DALI)是1999年指定的專門用于熒光燈照明控制的國際標準(IEC60929),以保證不同制造廠商的DALI設備的互相兼容。它非常適合當前照明技術所要求的簡單、可靠、數字化的要求,為用戶提供了一個能有效控制和管理的完全可調光環境[4]。
DALI是一種雙線照明控制接口方法和通信控制協議, DALI的基本系統單元由一個主控制器(作為Master)和64個獨立尋址的從設備(作為Slave)組成。從設備可分屬16個組,因此每個DALI基本單元可設置16 種照明場景。 DALI系統支持點播、組播和廣播控制方式,同時還具有淡光、對數調光、照明背景和照明故障檢測等控制功能。 DALI采用的是雙線差分驅動,當壓差大于9.5 V時為高電平,低于6.5 V為低電平, 6.5 V~9.5 V之間的區間沒有定義。DALI協議的電氣規則如圖1所示。

圖1 DALI協議電氣規則
DALI物理層信號傳輸采用曼切斯特編碼,下降沿表示邏輯“0”,上升沿表示邏輯“1”。傳輸的數據可以分為兩類:前向幀和后向幀。前向幀的傳輸方向是從主控制器到從設備,它由19位組成, 1個起始位, 8個地址位, 8個數據位和2個停止位;后向幀由從設備到主控制器,由11位組成, 1個起始位, 8個數據位, 2個停止位。傳輸速率均為1 200 bits/s。
主控制器采用Atmel公司生產的高性能、低功耗8 bit微處理器ATMega16作為控制單元,該芯片速度快、抗干擾能力強,有32個可編程I/O口和豐富的內部資源,完全滿足控制器的需要。控制器電路結構簡單,主要由按鍵、時鐘電路、紅外發射接收電路、DALI接口電路、亮度檢測傳感器等幾部分組成。其系統的整體結構如圖2所示。

圖2 調光控制器系統框圖
發射電路(遙控器)采用的是普誠科技的紅外發射編碼芯片PT2221。該芯片采用CMOS工藝,工作電壓為2.0 V-5.5 V,編碼方式為NEC編碼,與NEC公司的μPD6121兼容[5]。數據輸出引腳REM可以輸出38 kHz的發射頻率,發射字格式如圖3所示。遙控器每次發送32 bit二進制碼,前16 bit是遙控器辨識碼,

圖3 發射字編碼格式
主要用于區別不同遙控器,后16 bit是操作碼。這兩個部分的后8 bit都是前8 bit的反碼,用作數據校驗。每幀數據以9 ms的脈沖加4.5 ms的間隔作為數據頭。當鍵盤按下長達108 ms時,發射端開始發送連續信號,與單次發送一樣,只是header信號是由9 ms的間隔加2.5 ms的脈沖組成的。遙控器共有32個按鍵,可實現對DALI從設備的開/關、點播調光、分組調光、場景切換,任務預設等操作。
控制器采用一體化接收頭實現數據的接收、放大和解調,還原成與同步發射格式相同,但高、低電位剛好相反的脈沖信號,簡化了接收電路。利用MEGA16的16 bit時鐘單元T/C1的捕獲中斷功能實現數據解碼,軟件設計更加簡潔。
由于DALI電平與CMOS電平標準不同,需要對其進行電平軟換。DALI發送/接收電路用來實現電平轉換功能。DALI發送/接收電路如圖4所示。

圖4 DALI發送/接收電路
DALI發送電路主要由一個控制電源開關的中功率三極管Q3和調節Q3開關狀態的兩個小功率三極管Q1、Q2組成。 Q1由單片機通過反相器IC1來控制。當PA5輸出為低電平,經過IC1轉為高電平使Q1導通, Q3截止, DALI口輸出低電平;當PA5輸出高電平,經過IC1 轉為低電平使Q1截止, Q3導通, DALI口輸出高電平。R5為限流電阻,起保護作用,當DALI總線上電流超過250 mA時, R5上的分壓使Q2導通, Q3截止, DALI口輸出低電平,當DALI總線上電流正常時Q2恢復截止狀態。 DALI接受電路主要由一個比較器U1,穩壓管D1等組成。接收時, DALI口若為低電平,比較器U1輸出高電平,經反相器轉換為低電平,觸發單片機外部中斷INTP1;當DALI口為高電平, 比較器 U1輸出低電平,經反相器轉換為高電平。
控制器采用DALLAS公司的DS1302時鐘芯片實現定時功能。控制器最多可設置8 個定時時間,并可為每個時間點設置操作任務。這一功能提高了DALI調光系統的靈活性,也方便了用戶操作。通過軟件查詢法,控制器可以在特定時間觸發操作任務,實現對DALI從設備開/關、調光、場景切換等操作。
采用美國微型半導體(Microsem i)公司推出的能實現人眼仿真的集成化可見光亮度傳感器LX1970作為測量單元。 LX1970內含PIN型光電二極管、高增益放大器和兩個互補式電流輸出端,該光電二極管陣列的光譜特性及靈敏度都與人眼十分相似,能代替人眼去感受環境亮度的明暗程度,并將接收到的可見光轉換成電流信號,進而實現對亮度的控制。 LX 1970 的電流靈敏度為0.38 Ua/lx,非線性誤差極小,重復性能好,外圍電路簡單,微功耗,采用2-5.5 V電源,電源電流可低至85 μA(典型值)[7]。控制器的光照度測量電路如圖5所示。

圖5 光照度測量電路
圖5中,電阻R1和R2用于設定控制亮度的最小值和最大值,改變電容C1的容值可以調整響應時間并濾除50 Hz電網干擾。設計中, LX1970 采用5 V供電,假定需用0.5 V-1.5 V的輸出電壓來驅動控制器, 0.5 V代表室內亮度最小值, 1.5 V代表亮度最大值,那么可由式(1)確定 R1與 R2比例關系。

可根據LX 1970在給定亮度下的輸出電流最大值(ISRCMAX)來計算R2的值。設計中,實測最大亮度時ISRCMAX為75 μA。 R2的值可由式(2)計算得到。實際測得,在最大亮度和最小亮度下,輸出電壓分別為1.508 V和0.498 V,接近理論值且呈線性變化。

單片機根據LX 1970的輸出電壓值來確定光照度的變化。當電壓值發生變化,控制器會自動發送相應的調光指令,使電壓穩定在特定值,實現室內光照度的恒定。采用此功能,控制器可根據不同的自然光條件(白天、夜晚、晴天、陰雨天等)適當地自動調節室內燈光強度,從而最大限度的利用自然光,降低照明功耗。
DALI通信接口包括DALI指令的發送和接受兩部分, DALI發送幀和接受幀的格式如圖6所示。

圖6 DALI發送幀和接收幀的格式
DALI發送幀共19 bit,接受幀11 bit,采用曼徹斯特編碼方式,每bit的發送時間為833.33 μs。
軟件模擬DALI通信接口需要占用一個8 bit的計數器T/C0、一個普通I/O口和一個帶外部中斷的I/O口。DALI指令的發送操作比較簡單,只需配置T/C0的中斷周期為416.67 μs(實際采用416 μs),在對需要發送的數據進行編碼、封裝(加起始位和終止位)并通過格式檢測以后,打開T/C0中斷,每中斷一次發送1/2 bit的數據,直至發送完成。發送過程中,要關閉其他所有中斷,防止中斷沖突。
與發送相比,如何正確的采樣DALI_RX端口的狀態,確保DALI指令接受的準確性一直是一個難點[8]。傳統的方法是,當DALI_RX端口接收到下降沿時產生外部中斷,進而開啟T/C0中斷,中斷周期為416.67 μs。 T/C0每中斷一次,進行一次DALI_RX的端口采樣。這種方法有兩個缺點,一是無法保證采樣的時間點落在DALI信號的穩定區域,采樣時間點有可能處在DALI信號的上升沿或者下降沿,造成指令的接受錯誤;二是很多單片機并不能將計數器的中斷周期精確鎖定在416.67 μs附近,如果中斷周期與此周期偏差較大,采用此方法會造成誤差的積累。
本文提出了一種新的DALI指令的接收采集方法,可以將采集的時間點準確的鎖定在每個bit的1/4和3/4處(每個?2 bit的中心位置),克服了傳統方法的缺點,提高了指令接收的準確度和DALI通信接口的穩定性。 DALI指令接收的詳細過程如圖7所示。當INT1 第一次中斷產生時, T/C0的中斷周期被設置為T?4bit,當T/C0發生匹配中斷,在前半個bit的中心位置(T?4bit處)采樣,并且將T/C0的中斷周期被設置為T?2bit,所以下一次中斷采樣正好發生在后半個bit的中心位置。在下一個DALI總線的下降沿, T/C0的中斷周期重新設置為T?4bit,使T/C0與DALI總線的下降沿保持同步。所以,在DALI指令的接收過程中,所有的采樣點均落在每個?2 bit的中心位置。所有的采樣點被存儲在緩沖數組中,通過比較連續的兩個采樣點數據來實現信息的解碼。在數據幀的結尾, DALI總線保持高電平狀態,無INT1中斷產生,以此來判斷接收結束。

圖7 DALI指令接收詳細過程
本文采用16 bit時鐘單元T/C1 的捕獲中斷來實現紅外線解碼,最大限度的簡化了軟件的編程,解碼過程中無延時程序,提高了單片機的運行效率。
T/C1內部的輸入捕獲單元可以應用于精確捕獲外部發生的事情,亦即事件發生的時間印記。當一個輸入捕獲事件發生使得外部引腳ICPI上的邏輯電平發生變化時, T/C1的計數值將被拷貝到捕獲寄存器ICR1并設置捕獲中斷標志,如果捕獲中斷允許并且總中斷IE打開,系統則進入中斷服務程序。這種捕獲中斷通常用于頻率和周期的精確測量。根據前述發射字編碼格式,現以下降沿為觸發事件進行討論。由于一體化接收頭還原出來的數據高、低電位與發射信號剛好相反,那么一個下降沿到下一個下降沿之間剛好是數據頭或者1 bit數據的發送時間,根據編碼規則,時間長度所對應的信號關系如下:
數據頭的時間:Th=9+4.5 =13.5 ms
數據0的時間:T0 =0.565+0.56 =1.125 ms
數據1的時間:T1 =1.685+0.56 =2.245 ms
軟件流程如圖8所示。設置檢測時間為一個范圍,可以提高接收的準確度,調節時間范圍可以調節接收靈敏度。

圖8 T/C1捕獲中斷服務程序
為了驗證DALI調光控制器和DALI電子鎮流器之間數字通信的可靠性調,對控制器進行了測試。DALI指令信息采用串口調試工具 ComTools進行發送,當ComTools發送數據0xFE 0x97時,數據經過控制器的處理,在DALI輸出接口輸出了滿足DALI協議時序和電平標準的 DALI調光指令0xFE 0x97。圖9是DALI調光指令FE 97的發送幀波形。圖10是控制器發送詢問指令后, DALI電子鎮流器的應答指令0xFF的波形。在實測過程中, DALI通信穩定可靠,通信成功率在99%以上。控制器輸入電壓為16 V DC,空載狀態下功耗僅為1.6 W(無LCD背光)。

圖9 DALI調光指令FE 97的發送幀波形

圖10 DALI電子鎮流器的應答波形0xFF
測試表明,控制器性能穩定、可靠,可以實現對DALI終端設備的準確控制。而且, 控制器結構簡單,成本低廉,特別是改進后的DALI通信接口的軟件模擬方法,在實際測試中表現良好,可以方便的移植到其他單片機上。該控制器方案簡便、實用,可以進一步推廣應用。
[ 1] DALI AG of ZVEI.DALIManual[S] .Division Luminaries, 2001.
[ 2] 李浩輝.DALI技術及NEC 78K 0/IX2調光方案[ EB/OL] .http://www.secomtel.com, 2010-03-23.
[ 3] 傅煒鋼,仲玉芳,吳明光.基于DALI的智能照明系統設計[ J] .科技通報, 2008, 24(2):242-245.
[ 4] 路秋生.數字式智能照明DALI控制協議[ C] //綠色照明技術與城市夜景及2008工程建設科技研討會論文集,北京, 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.