LonTalk協議提供一整套通信服務,這使得設備中的應用程序能夠在網絡上同其他設備發送和接收報文而無需知道網絡的拓撲結構或者網絡的名稱、地址,或其他設備的功能。LonWorks協議能夠有選擇地提供端到端的報文確認、報文證實和優先級發送,以提供規定受限制的事務處理次數。對網絡管理服務的支持使得遠程網絡管理工具能夠通過網絡和其他設備相互作用,這包括網絡地址和參數的重新配置、下載應用程序、報告網絡問題和啟動/停止/復位設備的應用程序。
LonTalk——也就是LonWorks系統——可以在任何物理媒介上通信,這包括電力線,雙絞線,無線(RF),紅外(IR),同軸電纜和光纖。
雖然組建控制網絡的方法有很多,但是對于自動化控制而言,平坦的、對等式(P2P)體系結構是最好的。P2P體系結構和其它任何一種分級的體系結構相比,不再具有分級體系結構與生俱來的單點故障。在傳統的體系結構中,來自某一個設備的信息要傳遞給目標設備,必須先傳送到中央設備或者網關。因此,每兩個非中央設備之間的通信包括了一個額外的步驟,或者說增加了故障的可能性。P2P體系結構的設計相比之下,它允許兩個設備之間直接通信,這避免了中央控制器的故障可能性,并且排除了瓶頸效應。此外,在P2P設計中,設備的故障更多的可能是只影響到一個設備,而不象非平坦的、非對等式體系結構中潛在的影響到許多設備。
LonTalk采用改進的CSMA介質訪問控制協議:
1、帶預測的、P一堅持CSMA;
2、首先監聽、在監聽到網絡空閑后,所有的節點都根據網絡積壓參數等待一個隨機時間后訪問介質,以有效避免網絡的頻繁碰撞;
3、任一節點在發送普通報文前平均插入W/2個隨機時間片,W隨網絡積壓狀況變化動態調整,W=16*BLB為對網絡積壓的估計值,估計當前發送周期會有多少個節點需要發送報文;
4、當延時結束時,若網絡仍為空閑,則節點發送報文,否則節點繼續監聽檢測網絡是否有空閑每個節點都有一個對網絡積壓的估計值BL,這樣減小了沖突的可能性;
5、網絡負荷輕時,插入的時間片少,節點發送前的等待時間短,否則等待時間長。
LonTalk通信協議分層結構
1、物理層
物理層的功能是在兩個結點之間通過傳輸媒介物理通道,并向上面的數據鏈路提供透明的位流傳輸.LonTalk協議支持雙絞線、電力線、無線射頻、紅外線、同軸電纜以及光纜等不同類型的傳輸媒介。協議還支持網絡分段,并且網絡各段可使用不同的傳輸媒介,不同的傳輸媒介之間用路由器相連.Lonworks的標準產品收發器是Neuron芯片和傳輸媒介之間通信接口,不同類型的傳輸介質有不同類型的收發器。
對同一種傳輸媒介,可以設計多種不同傳輸速率的收發器
2、數據鏈路層
數據鏈路層的功能是保證物理鏈路上數據的可靠傳送,它負責數據幀的傳送,并進行必要的同步控制、差錯控制和流量控制,并向上層(網絡層)提供無差錯的數據傳輸。數據鏈路層還可細分為介質訪問控制(MAC)和邏輯鏈路控制(LLC)兩個子層。
1)介質訪問控制協議(MAC協議)
MAC協議是數據鏈路層協議的一部分.LonTalk協議采用可預測P)堅持CSMA.CSMA是載波偵聽多路訪問的英文縮寫,是一種隨機訪問方法。其含義是:任何結點要訪問傳輸介質發送消息時,首先要偵聽介質上是否有其它結點正在傳送信息(即有無載波,如果介質無載波,未被占用,則可以利用信道進行信息傳送,如果其它結點正在利用傳輸介質進行通信,則必須等待信道空閑之后才能進行傳送.CSMA方案有許多處理方法,主要區別在于檢測出信道上的情況之后,發送時間的確定。所謂可預測P)堅持CSMA的意思是:要求發送數據的節點監聽信道,若信道閑,則以概率P發送信息包,并以1)P的概率延遲一個時隙重新監聽信道,若信道仍然閑,則重復上述過程。若發送節點一開始就監聽到信道忙,則繼續監聽,直到信道由忙變閑后以概率P發送信息包,以1-P的概率延遲一個時隙再監聽。關鍵在于P的選擇。若有N個站有數據等待發送,如果選擇P過大,會使N@P》1,則沖突不可避,導致吞吐量下降。不過P值也不能過小,致使1-P過大,信道利用率則會大大降低.LonTalk協議中的概率P根據網絡負載的輕重是可預測的。在網絡重載的情況下,P值調小以降低網絡沖突的可能性,避免網絡擁塞現象。在網絡輕載的情況,P值調大,減小媒介的訪問延時。某一個時刻的網絡負載就是該時刻網上將要發送的消息包的數目D.采用CSMA的控制方法進行信息傳送,在對方收到消息之后,還需要向發送結點送回一個肯定回答信息,以表示接收節點已經全部正確地接收到該消息。因此,LonTalk協議規定,某個要發送消息的結點要在它發送的消息包中插入將要回送該消息的應答信息的接收節點的數目。這樣所有收到該消息包的結點將其原來的D值加上該應答數,使節點的D值得到更新從而實現預測。每個節點在消息包發送結束,它的D值自動減1.由此,每一個節點都能動態地預測某一時刻網絡負載的輕重,并以D值表示,D的取值范圍是1~63.有了D值,則發送概率P=1P(D@16)=1/R,R=16@D,其中R就是數據傳送完成后給網上節點分配的隨機時隙的數目。顯然,網絡重載,D大,R多,以減少各節點因同時發送消息帶來的沖突。相反,網絡輕載,D小,R少,以減少各節點媒介訪問延時。
另外,如果選用的收發器支持硬件沖突檢測,Lon-Talk協議就支持沖突檢測(CD)以及自動重發。
LonTalk協議通過提供優先服務機制以改善對重要消息包的響應時間。優先級時隙的數目M可以是0~27.較小的M數代表較高的優先級。優先級時隙1預留給網絡管理器,因而網絡管理器是優先級最高的節點。當某個節點產生一優先級消息包A時,包A將按優先級排隊輸出,但是將插在已緩存在隨機時隙還未輸出的非優先級消息包之前。
總之,節點在發送兩個消息包之間有一個段空閑時間,稱為休閑期。休閑期包括兩部分,Betal時間和Beta2時隙.Beta2時間是一固定的時間段。如果消息包的長度為12個字節,傳輸速率為1.25Mbps則Beta1370Ls.Beta2時隙包括上述隨機時隙和優先級時隙。發送節點被分配到某個時隙中,等待順序發送消息。
2)消息包數據格式
一個消息包包括三部分:開頭的同步頭(至少6bit),末尾的傳輸結束碼(至少2bit),中間是數據和16bit的CRC.通信端口采用差分曼徹期特編、解碼技術來編、解碼發送及接收的數據。其編碼規則為:每個位單元內至少有一次跳變,在位單元中心上跳變為/10,下跳變為/00.這種編碼可用來指示信道是否有信息正在傳輸,便于載波偵聽.16bitCRC是差錯控制中的循環冗佘校驗碼,檢錯能力相當強。
消息包的平均包長為10~16個字節。包中數據由三部分組成:網絡域名對應的字節,采用不同的編址方式對應的地址碼字節,以及網絡變量或一個顯性消息中數據部分的數據字節。最大消息包長度為255字節,包括數據字節、地址字節和協議開銷。
3、網絡層
網絡層有時也稱通信子網層,其功能可簡單歸結為控制通信子網的運行。為簡化路由,LonTalk協議定義了一種分層編址方式。最高層為域地址,下面為子網地址,再下是節點地址。每個域最多可有255個子網,每個子網的節點數最多為127個,顯然一個單獨的域中可容納的最多節點數是255@127=32385個。而一個系統又可以由很多這樣的域構成,因而人們可以構成很宏大復雜的網絡。子網中的所有節點必須在同一區段上,子網不能跨越智能路由器。智能路由器的作用是決定子網相對智能路由器所處的位置,從而據此傳送消息包。不同的通信媒介之間用路由器連接。
另外,為了使同一組中的多個節點可同時接收網上發出的單個消息及降低隨同消息發送的地址信息的字節數,域中的節點可進行組編址。一個域中最多可指定256個組,而且對采用應答服務或請求P響應服務的組節點最多為64個,但對采用非應答服務的組節點數不限制。節點的組不僅可跨越同一域中的多個子網,而且可跨越多個通道。
神經元芯片的標識符ID可用作地址。
LonWorks數據包中的源地址一般由域字段(長度為0,1或3字節)、子網號(2~255)和節點號(1~127)組成。域和地址表駐留在Neuron芯片的EEPROM內.LonWorks數據包中的目的地址通常有域號、單個子網號、組號、子網和節點號或48位ID等。如此地址表中存放有消息的目的地址,則該消息使用的是隱式編址方式。相反則是顯式編址。
在LonTalk協議中,節點使用網絡變量(產生隱式消息)顯式消息或組消息進行相互間的通信。網絡變量消息的構造及發送在后臺進行。網絡層將地址消息附加到消息中后將該消息傳遞到MAC層。因為發送、接收是自動的,所以把網絡變量消息稱為隱式消息,以與顯式消息區別。顯式消息一般在網絡變量不適合使用的場合才使用。通過使用(msg-addr.h)t(addrdefs.h)兩個文件,可以實現顯式消息及網絡變量的顯式尋址。
4、傳輸層協議
傳輸層協議在OSI上層模型中是低三層與高三層之間銜接的接口,為用戶提供進程與進程之間的通信。它從下層獲及的服務是發送和接收順序正確的數據塊。它向上層提供的服務是為無差錯的報文收發提供傳輸道路和傳輸地址。
針對消息服務的可靠性及有效性,LonTalk協議提供有應答服務、非應答服務。應答服務也被稱為端對端的應答服務,最可靠。當一消息發送到一個節點或一組節點時,發送節點將等待所有應收到該消息的節點發回應答。發送節點在預定的某個時間內未收到所有應收應答,則發送節點時間溢出,并重發該消息。重發消息的次數及時間溢出值可選擇設定。應答由網絡CPU產生.LonTalk協議采用事務標識符ID值來跟蹤消息及其應答。同一個消息具有同樣的事務標識符,從而能避免某個應用程序重復接收某一個消息。
LonTalk協議還提供非應答服務,可靠性最差,某個消息一次性發往某個某組節點,無應答或響應,又無重發機制。這種服務類型,通常在需極高的傳送速率或有大量數據要發送時采用。
LonTalk協議的傳輸層有5個定時器:事務定時器、重發定時器、組接收定時器、非組接收定時器和等待空閑緩存定時器。其值由網絡管理工具LonBulder或LonMaker自動計算并配置。應答服務使用事務定時器和接收定時器。事務定時器用于確定重發之前允許等待應答的時間,重發次數在地址表中配置。重發動作將在重發次數達到設定值或所有的應答都收到的情況下停止。接收定時器用于防止同一消息的重復接收。如果來自同一源地址且具有同一個事務ID的消息在接收定時器溢出之前被接收,則被認為是前一消息的重發。反之,則被認為是新的事務。接收定時器在接收節點接收到有效事務記錄的同時被啟動。
非應答服務使用等待空閑緩存器定時器,該定時器確定節點發送消息時等待空閑緩存器的最長時間。如果在設定的時間內不能獲得空閑緩存器,節點將認為出現嚴重錯誤并復位。
5、會話層協議
會話層協議的功能是在兩個節點或用戶之間進行原始的報文傳輸,并增加了一些面向用戶的服務。這些服務包括用戶標識識別,履行注冊手續、對話管理及故障恢復等。
LonTalk協議除了提供應答P非應答服務外,還提供了請求P響應服務類型。當一請求發送到某節點或某組節點時,發送節點等待所有應收到該消息的節點發回響應。響應可包括數據。所以這種服務類型特別適合于遠程過程調用或客戶機P服務器應用。使用請求P響應機制,使得運行在某個節點上的應用程序,可以從運行在其它節點上的應用程序得到數據。神經元芯片中的固件自動使用請求P響應機制輪詢輸入網絡變量。所謂輪詢是從調度程序中獲得某一網絡變量的最近值,應用程序不介入。使用顯式消息的應用程序也可以使用請求P響應機制。
6、表示層協議
表示層協議的目的是對應用層輸入的命令和數據內容加以解釋說明,并賦予各種語法以應有的含義,使從應用層送入的各種信息具有明確的表示意義。
LonTalk協議表示層中的數據被稱為網絡變量。它可以是單字節或多字節的數據項或數據結構(最多31字節),代表了網上節點間可共享的信息。用戶可以完全自由地去應用程序中定義各種類型的網絡變量。為增加網絡的互操作性,LonTalk協議中定義了255種標準網絡變量,將某些數據類型如溫度、壓力、流量等規范化。當然用戶不一定要使用標準網絡變量(SNVT)。用戶在應用程序中聲明網絡變量,經過編譯,網絡節點中就建立了相應的數據結構和輸入P輸出緩沖區。在網絡建立時,將不同的節點中的輸入P輸出緩沖區連接起來就完成了網絡變量間的連接。當在應用程序中通過賦值改變某個輸出網絡變量的值時,調度程序構造一個網絡變量消息并將該消息傳遞到網絡層,網絡層將地址信息附加到消息中后將消息傳遞到MAC子層,
MAC子層再將該層的信息附加到網絡變量消息中,最后將消息發送到通道上。接收節點的過程正相反。發送和接收都是由神經元芯片的固件自動進行的。網絡變量可以被賦予鑒別服務,也可以被指定優先級,也可以指定為同步網絡變量。
除網量變量外,LonTalk協議還提供了另外一種數據類型,顯式消息。網絡變量有一定的局限性,長度一經確定就不能改變,且最多只有31字節。顯式消息的數據長度是可變的,且最長可以是228字節。節點使用消息標簽發送和接收顯式消息。
LonTalk協議有一部分專門保留的消息代碼用于實現對外來幀的傳送。外來幀中的數據字節最多是229字節。應用程序可以按其需要以任何方式來解釋數據。
LonTalk協議內有一網絡接口協議可選擇用來實現LONWORKS應用在各類主處理器上的運行.LonTalk網絡接口協議定義了網絡接口與主機之間的包格式交換。
7、應用層協議
應用層是參考模型的最高層,直接為用戶服務,是發送和接收用戶應用進程,進行信息交換的執行機構。一般來說各種資源的外部屬性及其管理功能劃歸應用層。而各種資源的內部屬性及其有關管理功能劃歸表示層。
LON網絡由LON節點組成.LON節點是同物理上與之相連的IPO設備交互作用并在網上使用LonTalk協議與其它節點相互通信的一類對象.LON節點有兩種類型,即基于神經元芯片的節點和基于主機的節點。不論哪種類型的節點都有一片神經元芯片用于通訊和控制,一個IPO接口用于連接若干個IPO設備,另外還有一個收發器將節點連接上網。節點的具體工作由節點中的應用程序以及配置信息來定義.LonTalk協議的應用層增加了四類對象:IPO對象、定時器、網絡變量和消息標簽。這也是NeuronC語言所附加的對象。神經元芯片通過11只IPO引腳與外部物理設備相連.11只引腳共可組成34種不同的IPO對象,可分為輸入、輸出和雙向三大類別,用戶可根據需要靈活配置,使用十分方便。采用NeuronC語言,編程人員可以定義一個或多個引腳作為輸入P輸出對象。一個IPO對象就是一個定義的輸入或輸出波形,也可看成是存放在ROM供用戶應用程序訪問的已編寫的固件例程。用戶程序可通io-in( )和io-out( )系統調用這樣簡單的方法來訪問這樣IPO對象,并在程序執行期間完成輸入P輸出操作。用戶無需關心其中的物理過程。
LonTalk協議的應用層還規定了節點和網絡的配置特性。這些配置信息固化在神經元芯片的存儲器中。節點的存儲映像包括系統映像、應用映像和網絡映像三部分。應用映像和網絡映像是用戶定義部分。它們最終以7個數據結構下載到EEPROM中。
LonTalk協議的用戶層面
LONWORKS技術的一個很重要特點是為用戶提供了一整套LON網的開發、安裝、維護和管理的工具平臺。它們是開發工具LonBuider和NodeBuider,安裝工具LonManager和LonMaker.使用LonMaker安裝LON網是最有效的方法。它的操作過程是,首先定義網絡的子域,然后定義域外、通道介質、節點設備。接著進行節點設備的安裝,然后對節點中和節點之間的網絡變量進行連接,并將這種變量的連接下載到神經元芯片的EEPROM中。安裝工具自動操作復雜程序,確保所有LonTalk規則的執行,用戶不需要了解太底層的東西。這是在應用程序中僅使用網絡變量的情況。與網絡變量相比,顯式消息是實現節點之間交換信息的更為復雜的方法,編程人員必須在應用程序中生成、發送和接收顯式消息,因而要求編程人員了解例如分配消息緩存區、節點地址、請求P響應及消息重發處理等更底層的知識,因而對LonTalk協議有比較深入的了解是必要的。
評論
查看更多