1. 引 言
eib 是歐洲安裝匯流排的簡稱,這是一個1990 年誕生於歐洲的專用於建築設備自動化控制的現場匯流排技術標準。誕生時eib 技術僅獲得7 家廠商的支持,到1999 年時會員單位已超過200 家,在歐洲同類產品市場上占據了絕對的優勢地位[1]。然而隨著智慧型家居在人們的生活中扮演著越來越重要的角色,可是在實際套用中因為缺乏規範、統一的行業標準,導致每個廠家的系統只能適應自己的標準,對於外來的產品兼容性差,使得智慧型家居系統的集成性能差。本文就是為了解決eib 系統與智慧型家居系統設備之間套用集成問題,從而提出了eib 網關的設計,實現複雜的eib 協定與簡單的自定義協定at-bus 的相互轉換。
2. eib 協定報文結構
進行 eib 網關的設計,了解eib 協定報文結構是非常重要的。eib 協定報文結構如下圖2-1 所示,通過此圖可以清晰看見eib 的報文結構包括:控制域,源地址,目的地址,長度,數據和校驗共六個部分組成。控制域:主要用來控制是否是重複報文,報文的優先權等;源地址:指傳送報文的匯流排設備的物理地址,在通常操作中沒有特殊意義;目的地址:匯流排設備的物理地址或者對象的組地址;長度:此位元組最高位為目的地址類型選擇標誌,其後3bits 為路由計數器,每經過一個耦合器這個數就會減1,當減為0 時,報文丟棄,最後的4bits 表示數據單元的位元組長度;數據:包含傳送到匯流排上的數據單元,具體說明;校驗位元組:整個報文數據逐位的奇校驗。
下面通過一個具體例子來分析eib 協定報文,例如十六進制格式的eib 協定報文:bc 1425 04 00 e1 00 81 16,通過分析可以知道:控制區域為bc,表示非重複報文,優先權4;源地址為14 25;目標地址為04 00;長度位元組為e1,則說明目的地址為組地址,路由計數值為6,數據長度為1;數據為00 81,報文為無標號類報文,服務類型為寫入對象值,寫入的值為1,校驗位為16。因此本報文的意義是源地址為14 25 的匯流排設備對組地址為04 00 的對象傳送開命令。
上面的例子是eib 的標準數據類型中的開關類型,接下來介紹兩個常用標準數據類型,開關類型和調光類型。
開關類型:開關類型數據只占1bit,用來控制執行器的負載的開關,當值為“1”時,執行開的命令,當值為“0”時,執行關的命令,3. eib 協定外部通信機制上面介紹了 eib 協定報文結構,下面介紹eib 協定外部通信機制,這對eib 網關的設計也是至關重要的。由於匯流排訪問單元bau(bus access unit)的系統程式已經為外部套用定義了外部訊息接口emi(external message interface),使用戶可以通過配置服務原語實現eib 網關對eib 各層的訪問。bau 通過外部接口pei(physical external interface)與eib 網關進行連線通信,pei 的類型有很多種,為了方便此次設計中採用pei-16 類型。
3.1 pei-16 協定格式
pei-16 通訊是串列異步的通信方式,採用的是帶有硬體握手的全雙工傳輸,一共需要接收數據rxd,傳送數據txd,請求傳送rts,清空傳送cts 和地共五根線。pei-16 通信參數為:波特率9600,8 為數據位,1 位停止位[4],無校驗位。pei-16 訊息格式的報文含一個長度位元組,一個訊息代碼位元組和用戶數據三個部分。其中長度位元組包含數據位元組長度信息5bit 和長度位元組的偶校驗位1bit。訊息代碼即為服務代碼,常用服務代碼見。
3.2 pei-16 協定描述
pei-16 協定的數據交換包含如下四個階段:
1) 通信請求(硬體握手)2) 傳輸長度位元組(軟體握手)3) 數據交換4) 暫停(2 條訊息最小時間間隔3ms)下面給出pei-16 通信時序圖:其中為bcu 網關接收數據時序圖,為eib網關傳送數據時序圖。
4. eib 網關總體設計
通過對 eib 系統的報文格式以及eib 的pei-16 訊息格式通信時序進行了詳細的介紹,接著可以進行eib 網關的設計了。由於各個eib 廠家都提供一個rs232 通訊模組,此模組對外部的接口協定為pei-16,網關就利用此模組與eib 匯流排通信。eib 網關的套用拓撲圖如圖4-1 所示,其中pc 可用來監視eib 匯流排數據。
4.1 硬體設計