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