<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設計應用 > 用于照明控制的通信協(xié)議

          用于照明控制的通信協(xié)議

          作者: 時間:2008-06-10 來源:網(wǎng)絡 收藏

          電子是我們可以減少全球能源消耗的最有效途徑之一。在美國,商業(yè)和住宅對能源的消耗占能源總產(chǎn)量的22%。在這方面可以實現(xiàn)大量的節(jié)約,特別是在大型商業(yè)應用中使用了燈光亮度可調(diào)的技術時,更是如此。


          調(diào)光系統(tǒng)的應用需要通過接口將信息傳送給燈具。常用的一種方法是使用0~10V的模擬。但是,如果有很多燈具需要設置和管理,這種方法就不方便了。

          數(shù)字


          使用數(shù)字控制系統(tǒng),通過將照明燈具包含在一個公共的、可尋址的網(wǎng)絡中,可以減輕某些模擬控制的復雜度。MCU技術低廉的價格使得在應用中嵌入一種數(shù)字變得非常簡單。有許多種有線和無線的選擇可以使用在照明控制應用中。那么,選擇哪一種呢?


          首先,設計人員要選擇的媒介――有線還是無線?如果選擇有線,那么我們應該使用雙絞線還是電力線?如果選擇無線,那么我們應該選擇哪個頻段?對于有線和無線的設備,最大的距離是多少?


          此外還必須考慮的應用層。我們可以與多少部燈具進行?有設計專門照明的指令集嗎?如何在網(wǎng)絡中添加或者刪除燈具,如何確定每部燈具的地址?在喪失通信或者供電中斷之后,每部燈具會做出怎樣的反應?照明安裝人員安裝和配置控制系統(tǒng)的難易程度如何?
          可以使用已得到廣泛應用的協(xié)議,比如TCP/IP或者IEEE 802.11,但是需要傳送給每部燈具的數(shù)據(jù)量非常少而且不是頻繁出現(xiàn)。因而我們就需要不時地發(fā)送打開、關閉或亮度信息。因此,明智的做法是選擇一種簡單的協(xié)議來緩解對每臺燈具中MCU的要求。


          因此,我們討論可能適照明控制的兩種協(xié)議,第一個是“數(shù)字可尋址照明接口(DALI)”,它定義在IEC60929規(guī)范中,后者定義了電子熒光鎮(zhèn)流器的性能規(guī)范。

          DALI組網(wǎng)方法


          DALI規(guī)范定義了一種恒定電流總線,它的最大電流是250mA,標稱電壓是16V。每臺設備都通過使用光隔離器電路拉低總線電流(匯電流)的方法向總線發(fā)送數(shù)據(jù)。線路可以位于導線管的內(nèi)部或者外部,而且連接是與極性無關的,這簡化了安裝人員的操作。所有燈具的線路都使用星型或者菊花鏈型的連接接在一起,且使用不間斷交流電源為每部燈具供電。


          DALI協(xié)議非常簡單,但它有一套專門為照明裝置設計的強大指令集。數(shù)據(jù)通過Manchester格式以1200b/s的速率進行傳遞――該速度足夠滿足照明裝置的應用?;镜膮f(xié)議定義包括單個主設備(控制器)以及多達64臺受控設備(鎮(zhèn)流器)。主設備發(fā)出16位的命令或者請求。鎮(zhèn)流器設備可以選擇返回8位的響應。只有在控制設備發(fā)出請求的情況下,鎮(zhèn)流器設備才能夠向總線發(fā)送數(shù)據(jù)。


          控制設備可以包括控制面板、開關、光傳感器、占位傳感器等。每個控制器可以直接向鎮(zhèn)流器設備或者另一個控制器發(fā)送消息。例如,某個占位傳感器(控制設備)可能需要向主控制面板發(fā)送消息,表明房間內(nèi)有活動。


          任何照明控制系統(tǒng)都需要一種通過中央計算機設置節(jié)點地址和位置的方式,但是DALI在安裝過程中不需要任何設置。節(jié)點可以依照任意次序進行添加。指令集包含了一種自動探測、辨別以及向網(wǎng)絡中每臺鎮(zhèn)流器設備指派地址的方法。


          你可能認為DALI控制64臺鎮(zhèn)流器設備的能力是有局限性的,但正是這一局限性可以大大降低購買軟件的開銷并且也將硬件的使用要求保持在很低水平。完整的協(xié)議可以在非常廉價的8位MCU上實現(xiàn),該MCU帶有不超過8KB的程序存儲,且沒有特殊外圍通信部件。


          鎮(zhèn)流器設備的常見實現(xiàn)方法如圖1所示。20引腳、8位的MCU帶有一個調(diào)節(jié)輸入信號的比較器,以及控制鎮(zhèn)流器亮度級別的PWM。如果需要,這個信號可以經(jīng)過過濾向鎮(zhèn)流器電源電路提供控制電壓。

          ZigBee無線解決方案


          最近有很多關于ZigBee無線通信協(xié)議的討論。實際上,ZigBee是基于IEEE 802.15.4規(guī)范所定義的另一無線協(xié)議的一個軟件層。


          IEEE 802.15.4定義了多頻段、低數(shù)據(jù)率無線通信的物理層和媒體訪問層。最常用的頻段是2.4GHz,它的最大數(shù)據(jù)速率是250KB/s。


          最大的通信距離取決于物理環(huán)境,但是通信距離長達250英尺是可能的。IEEE 802.15.4也定義了一種全功能設備(FFD)和一種精簡功能設備(RFD)。FFD用于連續(xù)電源供應,而且始終可在網(wǎng)絡中使用。RFD允許在電池供電、功率消耗要求低的節(jié)點進行備用運轉(zhuǎn)。更高層次的協(xié)議,比如ZigBee,基于IEEE 802.15.4規(guī)范可提供應用層的功能。


          ZigBee協(xié)議提供了創(chuàng)建多達65 536個節(jié)點的自組織、低數(shù)據(jù)率網(wǎng)狀網(wǎng)絡的功能。存在著不同的ZigBee節(jié)點類型。每個網(wǎng)絡都有一個位標器,它包含了網(wǎng)絡中所有設備的信息,形成網(wǎng)絡,并向終端設備分配地址。終端設備接收控制輸入并提供狀態(tài)信息。網(wǎng)絡上的設備可以選擇承擔路由器的功能,它將擴展最大通信距離。
          ZigBee最主要的優(yōu)勢之一在于,它保證了與其他設備之間的互操作性。所有的ZigBee產(chǎn)品都必須經(jīng)過測試和鑒定,而且存在標準的控制配置文件,包括一份用于照明的配置文件。


          這些配置文件定義了用于應用的基本數(shù)據(jù)結(jié)構(gòu),但是不存在指令集,對于該應用如何使用數(shù)據(jù)將由開發(fā)人員來決定。例如,ZigBee照明配置文件包括了一張表格,表格中的標準變量存放著照明亮度傳感器、占位傳感器、燈具照明亮度等狀態(tài)。
          典型的ZigBee網(wǎng)絡節(jié)點(參見圖2)由一個2.4GHz的802.15.4收發(fā)器和一個MCU組成。所實現(xiàn)的ZigBee節(jié)點類型將決定協(xié)議棧所需要的代碼空間,從RFD終端設備需要的20KB到全功能位標器所需要的40KB。


          與DALI協(xié)議相比,ZigBee棧在每臺燈具處需要更多的電子開銷;需要更大、帶有更多程序存儲的MCU以及一個802.15.4收發(fā)器;需要額外的軟件來處理照明命令以及狀態(tài)信息的請求。不過,這些開銷必須與其易于安裝的優(yōu)勢進行權(quán)衡考慮。


          如果你覺得完整的ZigBee協(xié)議實現(xiàn)為電子部件增添了太多的開銷,那么可以使用基于IEEE 802.15.4規(guī)范的其他網(wǎng)絡協(xié)議。MiWi協(xié)議就是一個例子,它提供了精簡的網(wǎng)絡功能并保留了與ZigBee兼容網(wǎng)絡共存的能力。實現(xiàn)簡單的點對點協(xié)議也是可能的,它只需相對較少的軟件開銷,因而將適用于照明控制。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();