knx 协议入门
KNX是Konnex的縮寫。1999年5月,歐洲三大總線協議EIB、BatiBus和EHSA合并成立了Konnex協會,提出了KNX協議。該協議以EIB為基礎,兼顧了BatiBus和EHSA的物理層規范,并吸收了BatiBus和EHSA中配置模式等優點,提供了家庭、樓宇自動化的完整解決方案。
KNX總線是獨立于制造商和應用領域的系統。通過所有的總線設備連接到KNX介質上(這些介質包括雙絞線、射頻、電力線或IP/Ethernet),它們可以進行信息交換。總線設備可以是傳感器也可以是執行器,用于控制樓宇管理裝置如:照明、遮光/百葉窗、保安系統、能源管理、供暖、通風、空調系統、信息和監控系統、服務界面及樓宇控制系統、遠程控制、計量、視頻/音頻控制、大型家電控制等。所有這些功能通過一個統一的系統就可以進行控制、監視和發送信號,不需要額外的控制中心。
KNX通過一條總線將各個分散的設備連接并分組和賦予不同的功能。系統采用串行數據通信進行控制、監測和狀態報告,KNX是基于事件控制的分布式總線系統,只有當總線上有事件發生時和需要傳輸信息時才將報文發送到總線上。
一、KNX簡介
KNX技術的通信模型采用5層結構:物理層、數據鏈路層、網絡層、傳輸層和應用層。KNX物理層支持TP1(雙絞線)、PL110(電力線)、RF(射頻)和Ethernet(以太網),其中TP1介質應用最多。數據鏈路層實現總線設備之間的數據傳輸,并解決網絡中的通信沖突問題,對于小KNX系統中的總線設備,網絡層的功能很小,只是完成了傳輸層和數據鏈路層的通信映射功能。大型KNX系統中有耦合器類產品,作用是在網絡層完成路由功能和跳數(hop)控制功能。傳輸層完成設備之間的傳輸,有四種傳輸模式:點到點無連接、點到點有鏈接、廣播和多播。
KNX傳輸介質主要是雙絞線,比特率為9600bit/s。總線由KNX電源(DC24V)供電,數據傳輸和總線設備電源共用一條電纜,數據報文調制在直流電源上。
KNX系統有兩種配置模型:S-Mode(系統模式)和E-Mode(簡單模式)
S-Mode:該配置機制是為經過良好培訓的KNX安裝者實行復雜的樓宇控制功能。一個由"S-Mode"組件組成的裝置可以由通常的軟件工具(ETS3專業版)再由S-Mode產品制造商提供的產品數據庫的基礎上進行設計:ETS也可以用于連接和設置產品(即設置安裝和下載要求的可用參數)。"S-Mode"提供給實現樓宇控制功能的最高級別的靈活性。
E-Mode:該配置機制是針對經過基本KNX培訓的安裝人員。和S-Mode相比,"E-Mode"兼容產品只提供有限的功能。E-Mode組件是已經預先編程好的并且已經載入默認參數。使用簡單配置,可以部分的重新配置各個組件(主要是它的參數設置和通信連接)。
注:
ETS軟件是系統設計、編程和調試的工具軟件,可能需要購買。KNX系統構建和各種參數設置都需要ETS軟件,ETS軟件安裝好后數據是空的,需要將各個制造商產品的參數導入數據庫,KNX認證過的產品應當會有光盤之類的介質存儲相關的產品信息。
二、KNX總線設備和網絡拓撲
總線耦合器(BCU)
物理外部接口(PEI)
應用模塊(AM)
由上圖可知KNX總線設備主要由三部分組成。總線耦合單元主要由兩部分組成:控制器和收發器,這也是硬件設計的地方。總線耦合單元由自己的MCU并集成了KNX協議棧;BCU會提供已定義的API(應用程序編程接口)函數,供AM通過PEI(一般是串口通訊)調用。KNX總線設備的BCU硬件都是相同的,一個總線設備的功能是有AM模塊的應用程序決定。由BCU和AM可決定總線設備可以是一體或者分離結構。"一體結構"的通信部件和應用部件不可分離,不需要PEI(物理外部接口),"一體結構"產品的總線耦合功能和應用功能是由一個MCU實現;"分離結構"的產品其總線耦合功能和應用功能由不同的中央處理單元分別實現。
由上圖可知KNX總線設備主要分為執行器(制動器)和傳感器,如果KNX系統網絡較大還需要耦合器/路由器
KNX系統拓撲的層次結構是線路、干線(域)、主干線。KNX采用分層結構,分為域和線路;一個系統有15個域,每個域有15條線路,每個線路有64個設備。大型KNX網絡中支線/干線耦合器(路由器)和中斷器和構建整個網絡的關鍵設備。
1、線路
線路是KNX系統最小的單元,可接64個設備;實際可連接的設備數量應取決于總線電源和設備耗電。每條線路最長1000m。如下圖所示:
2、干線(域)
KNX系統可以有15條線路通過線路耦合器(路由器)連接到主線路,如下圖所示:
3、主干線(多個區域)
干線可通過干線耦合器(路由器)組成對個區域,一般情況下,一個KNX系統可接14400(15*15*64)個總線設備。一般KNX系統線路和干線都采用KNX通訊,如下圖所示:
ABB大型KNX網絡再主干線上采用的是以太網通訊,這樣可以提高系統的通信速率,在干線上用以太網,干線和線路的耦合采用的是IP/KNX網關,線路用KNX通訊。這樣的系統在干線網絡中可有大量的狀態信息。如下圖所示:
由上圖兩個KNX系統可知耦合器(路由器)的作用,干線耦合器和線路耦合器作為網絡的節點,作用是為數據傳輸找到合適的路徑和切換鏈路,確保數據包到底目的地。另外對系統線路中的信號進行過濾后才能進入到干線中,這樣可以增加干線的通訊速率。耦合器(路由器)使用兩種不同的路由機制,對于組地址尋址,使用一種過濾算法;對于物理地址尋址,通過解釋接收幀的物理地址進行路由。耦合器接收的組地址只要包含在該過濾表內,就可以被路由;這樣可以保證各個線路獨立工作。
有的大型設備在線路還會增加中繼器,中繼器沒有物理地址,不具有過濾特性,只是確定接收到數據鏈路層上的幀,并在中繼器的另一側發送已接收的幀。這樣可以增加線路的長度。
三、KNX系統通信
KNX總線設備是通過報文傳輸信息。設備發送報文后會收到應答,發送設備若收到NAK(接收錯誤)確認時,通常會重復發送報文三次;若收到BUSY(總線被占用)確認,發送總線設備將會等待一個短時隙,此后重新嘗試發送報文;若發送總線設備未收到確認,則最多重復發送該報文三次,此后,終止發送請求。KNX技術應用CSMA/CA(載波偵聽多路訪問/沖突避免)和報文優先級來控制介質訪問。KNX系統采用單元地址化結構設計,分為物理地址和組地址。
KNX系統通信基本解釋
1、KNX地址類別:物理地址和組地址
KNX基本線路工作示意圖:
上圖中工作流程如下簡述:當物理地址(PA)為1.1.1的開關按下后會發生包含組地址(GA)為5/2/66、操作值"1"的報文;在線路中的所有總線設備都會接受到這個報文,但只有相同組地址的總線設備才會執行。
在KNX網絡中根據系統的等級結構和應用模塊的功能賦予每個總線設備相應的物理地址(用于識別總線設備和反應在網絡中的拓撲位置)和組地址(用于連接傳感器和執行器的功能)。物理地址是KNX系統中總線設備的唯一編碼,它有域地址、線路地址和設備地址組成;物理地址在系統中用于對設備進行管理和配置。組地址是功能相關的地址,在系統中并不唯一;因此總線設備根據功能分配一個或多個組地址,可進行"多控一"或者"一控多"操作。在KNX系統各種功能應該是靠組地址實現。物理地址在系統中主要用于程序下(通過ETS軟件)、診斷、排錯等。物理地址和組地址是通過工具軟件設置的。
2、報文結構
當KNX系統有事件發生,總線設備就會向總線發送報文。經過長達不短于TI的總線空閑時間之后,開始進行傳輸。報文傳輸完畢之后,總線設備將使用T2檢查報文是否已被成功接收。如果沒有總線設備來應答,發送的報文會被重復。報文發送后會收到報文傳輸時間如下圖所示:
標準報文結構圖:
(1)、控制字段
上圖中A表示報文是否重復,B表示報文的優先級
(2)、源地址、目標地址
報文中源地址只能是物理地址,表示報文發送設備自身所在的域和線路;目標滴孩子可以是物理地址或者組地址,它定義了通信的接收對象,可以是一臺或者多臺設備,也可以是在同一條線路或者不同的線路中。目標地址的第17位可由接收方可以判定目標地址為組地址還是物理地址。若為"0",則目標地址為物理地址僅對總線中一個設備進行尋址。若為"1",為組地址,對總線中所有相同組地址的設備尋址。
(3)、路由計數、長度
該字節除了包含LSDU(鏈層服務數據單元)數據的長度還包含一個bit的標志表明地址的屬性,以及3個bit的路由計數信息。數據長度是指報文中實用數據字節的長度。同時在每一個數據報中包含一個3bits的路由計數器。一般總線設備計數器的初始值為6,每經過一個總線耦合器、線路耦合器和中繼器等都減一,當這個計數值減為0時,這個報文就被丟棄,因而避免了死循環的問題。
(4)、實用數據
實用數據的長度根據應用的不同而改變,最少為2字節,最多為16字節。包括各種開關、調光、讀寫地址命令。報文中的每個字符均執行偶校驗,報文中全部字符的每一個位位置均執行奇校驗,字符校驗和報文校驗相結合。
(5)、編碼方式
KNX以雙絞線作為傳輸介質時,"0"和"1"兩個邏輯狀態采用一個bit位表示;邏輯"0"有調制信號到總線上(有6-9v的電壓下降),"1"期間的發生器被禁用沒有調制信號,總線上只有直流信號。因此邏輯"0"的優先級高于邏輯"1'。
總結
- 上一篇: 吞吐量(TPS)、QPS、并发数、响应时
- 下一篇: Hive压缩说明