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