專利名稱:用于應(yīng)用層的數(shù)據(jù)處理方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及一種數(shù)據(jù)處理方法,并且更具體地,涉及一種使用生活網(wǎng)絡(luò)控制協(xié)議用于應(yīng)用層的數(shù)據(jù)處理方法。
背景技術(shù):
家庭網(wǎng)絡(luò)連接各種數(shù)字家庭設(shè)備,使得用戶在室內(nèi)或戶外都能夠一直享受到便捷、安全以及經(jīng)濟(jì)的生活服務(wù)。由于數(shù)字信號(hào)處理技術(shù)的發(fā)展,家庭設(shè)備操作系統(tǒng)技術(shù)以及高速多媒體通信技術(shù)已經(jīng)被集成在數(shù)字家庭設(shè)備上,因此被稱為白色家庭設(shè)備的電冰箱或洗衣機(jī)已經(jīng)被逐步地?cái)?shù)字化,并且已經(jīng)開發(fā)出了新的信息家庭設(shè)備,用以改進(jìn)家庭網(wǎng)絡(luò)。
如表1中所示,家庭網(wǎng)絡(luò)按照服務(wù)類型被分為數(shù)據(jù)網(wǎng)絡(luò),娛樂網(wǎng)絡(luò)以及生活網(wǎng)絡(luò)。
表1
這里,建立數(shù)據(jù)網(wǎng)絡(luò),用以在PC與外圍裝置之間交換數(shù)據(jù)或者提供互聯(lián)網(wǎng)服務(wù),并且在使用音頻或視頻信息的家庭設(shè)備之間建立娛樂網(wǎng)絡(luò)。另外,建立生活網(wǎng)絡(luò)僅僅是用于控制家庭設(shè)備,例如家庭自動(dòng)化或遠(yuǎn)程儀表讀數(shù)。
傳統(tǒng)的家庭網(wǎng)絡(luò)系統(tǒng)包括一個(gè)主裝置,該主裝置是電子裝置,用于控制其他電子裝置的操作或者監(jiān)視其狀態(tài),以及一個(gè)從裝置,該從裝置也是一個(gè)電子設(shè)備,它的功能就是響應(yīng)主裝置的請(qǐng)求以及根據(jù)電子設(shè)備的特性或其他因素來通知狀態(tài)變化。典型的電子裝置包括用于生活網(wǎng)絡(luò)服務(wù)的家庭設(shè)備例如洗衣機(jī)和電冰箱,用于數(shù)據(jù)網(wǎng)絡(luò)服務(wù)以及娛樂網(wǎng)絡(luò)服務(wù)的家庭設(shè)備,以及產(chǎn)品例如氣閥控制裝置,自動(dòng)門裝置以及電燈。
但是,傳統(tǒng)技術(shù)沒有提出一個(gè)通用的通信標(biāo)準(zhǔn),用于提供對(duì)家庭網(wǎng)絡(luò)系統(tǒng)中的電子裝置進(jìn)行控制和監(jiān)視的功能。還有,傳統(tǒng)技術(shù)家庭網(wǎng)絡(luò)系統(tǒng)中的網(wǎng)絡(luò)協(xié)議也沒有提出一個(gè)有效的方法,用于發(fā)送以及接收信息包。
發(fā)明內(nèi)容
本發(fā)明成功地解決了上述問題。本發(fā)明的一個(gè)目的就是提供一種使用控制協(xié)議用于應(yīng)用層的數(shù)據(jù)處理方法,其中該控制協(xié)議是一個(gè)通用的通信標(biāo)準(zhǔn),用于提供對(duì)家庭網(wǎng)絡(luò)系統(tǒng)中的電子裝置進(jìn)行控制和監(jiān)視的功能。
本發(fā)明的另一個(gè)目的就是提供一種用于應(yīng)用層的數(shù)據(jù)處理方法,使用生活網(wǎng)絡(luò)控制協(xié)議作為通用通信標(biāo)準(zhǔn)。
本發(fā)明還有另一個(gè)目的就是提供多個(gè)統(tǒng)一的原語,用于在生活網(wǎng)絡(luò)控制協(xié)議中傳輸數(shù)據(jù)。
本發(fā)明還有另一個(gè)目的就是提供一種用于應(yīng)用層的數(shù)據(jù)處理方法,其中包括該應(yīng)用層的上層生成、傳輸以及處理消息。
本發(fā)明還有另一個(gè)目的就是提供一種用于應(yīng)用層的數(shù)據(jù)處理方法,其根據(jù)消息特性執(zhí)行一個(gè)或者多個(gè)通信周期。
本發(fā)明還有另一個(gè)目的就是提供一種用于應(yīng)用層的數(shù)據(jù)處理方法,其中該應(yīng)用層能夠通過預(yù)定的參數(shù)(通信周期控制)來控制數(shù)據(jù)接收處理。
本發(fā)明還有另一個(gè)目的就是提供一種用于從裝置的應(yīng)用層的數(shù)據(jù)處理方法,其中包括該應(yīng)用層的上層生成、傳輸以及處理消息。
本發(fā)明還有另一個(gè)目的就是提供一種用于應(yīng)用層的數(shù)據(jù)處理方法,其中該應(yīng)用層能夠通過使能或禁用數(shù)據(jù)接收來控制數(shù)據(jù)接收處理。
本發(fā)明還有另一個(gè)目的就是提供一種用于主裝置的應(yīng)用層的數(shù)據(jù)處理方法,其中包括該應(yīng)用層的上層生成、傳輸以及處理消息。
本發(fā)明還有另一個(gè)目的就是提供一種用于應(yīng)用層的數(shù)據(jù)處理方法,其中該應(yīng)用層能夠根據(jù)消息的特性來處理數(shù)據(jù)。
為了實(shí)現(xiàn)本發(fā)明的上述目的,提供了一種用于基于預(yù)定協(xié)議的用于應(yīng)用層的數(shù)據(jù)處理方法,其中該預(yù)定協(xié)議由至少下層和應(yīng)用層組成,該方法包括步驟從上層應(yīng)用軟件接收預(yù)定原語;根據(jù)該原語生成通信周期標(biāo)識(shí)符(CycleID);根據(jù)該原語和通信周期標(biāo)識(shí)符(CycleID)生成服務(wù)說明;組成包括該原語的應(yīng)用層協(xié)議數(shù)據(jù)單元(APDU);以及將該APDU傳輸至下層。
圖1為示例根據(jù)本發(fā)明的家庭網(wǎng)絡(luò)系統(tǒng)的結(jié)構(gòu)圖;圖2為示例根據(jù)本發(fā)明的生活網(wǎng)絡(luò)控制協(xié)議堆棧的結(jié)構(gòu)圖;圖3和4分別為示例圖2的各層之間的接口的結(jié)構(gòu)圖;圖5-10分別為示例圖3和4的接口的詳細(xì)結(jié)構(gòu)圖;
圖11和12為示例用于傳輸在各層之間被交換的數(shù)據(jù)的原語的結(jié)構(gòu)圖;圖13-15分別示例了請(qǐng)求消息的結(jié)構(gòu);圖16-18分別示例了響應(yīng)消息的結(jié)構(gòu);圖19示例了事件消息的結(jié)構(gòu);圖20為示例根據(jù)本發(fā)明第一實(shí)施例用于應(yīng)用層的數(shù)據(jù)處理方法的流程圖;圖21為示例根據(jù)本發(fā)明第二實(shí)施例用于應(yīng)用層的數(shù)據(jù)處理方法的流程圖;圖22示例了根據(jù)本發(fā)明的通信周期標(biāo)識(shí)符CycleID的結(jié)構(gòu);圖23為示例根據(jù)本發(fā)明第三實(shí)施例用于應(yīng)用層的數(shù)據(jù)處理方法的流程圖;圖24為示例根據(jù)本發(fā)明第四實(shí)施例用于應(yīng)用層的數(shù)據(jù)處理方法的流程圖;以及圖25為示例根據(jù)本發(fā)明第五實(shí)施例用于應(yīng)用層的數(shù)據(jù)處理方法的流程圖。
具體實(shí)施例方式
下面將參照附圖對(duì)根據(jù)本發(fā)明用于應(yīng)用層的數(shù)據(jù)處理方法進(jìn)行詳細(xì)地描述。
圖1為示例根據(jù)本發(fā)明的家庭網(wǎng)絡(luò)系統(tǒng)的結(jié)構(gòu)圖。
參看圖1,該家庭網(wǎng)絡(luò)系統(tǒng)1通過互聯(lián)網(wǎng)2對(duì)LnCP服務(wù)器3進(jìn)行訪問,并且客戶端裝置4通過互聯(lián)網(wǎng)2對(duì)LnCP服務(wù)器3進(jìn)行訪問。也就是說,該家庭網(wǎng)絡(luò)系統(tǒng)1與LnCP服務(wù)器3和/或客戶端裝置4相連并進(jìn)行通信。
該家庭網(wǎng)絡(luò)系統(tǒng)1的外部網(wǎng)絡(luò),例如互聯(lián)網(wǎng)2包括根據(jù)一種客戶端裝置4的附加組成元件。例如,當(dāng)客戶端裝置4為計(jì)算機(jī)時(shí),該互聯(lián)網(wǎng)2就包括Web服務(wù)器(未示出),并且當(dāng)客戶端裝置4為互聯(lián)網(wǎng)電話時(shí),該互聯(lián)網(wǎng)2就包括Wap服務(wù)器(未示出)。
該LnCP服務(wù)器3分別根據(jù)預(yù)定的登陸和退出過程對(duì)家庭網(wǎng)絡(luò)系統(tǒng)1和客戶端裝置4進(jìn)行訪問,從客戶端裝置4接收監(jiān)視和控制命令,并將該命令按照預(yù)定類型消息的形式通過互聯(lián)網(wǎng)2傳輸給網(wǎng)絡(luò)系統(tǒng)1。另外,該LnCP服務(wù)器3從家庭網(wǎng)絡(luò)系統(tǒng)1接收預(yù)定類型的消息,并將該消息存儲(chǔ)和/或傳輸至客戶端裝置4。該LnCP服務(wù)器3也存儲(chǔ)或生成一個(gè)消息,并將該消息傳輸給家庭網(wǎng)絡(luò)系統(tǒng)1。也就是說,該家庭網(wǎng)絡(luò)系統(tǒng)1對(duì)LnCP服務(wù)器3進(jìn)行訪問并下載提供的內(nèi)容。
該家庭網(wǎng)絡(luò)系統(tǒng)1包括用于接入互聯(lián)網(wǎng)2的家庭網(wǎng)關(guān)10,用于設(shè)置環(huán)境以及管理電子裝置40至49的網(wǎng)絡(luò)管理器20至23,40至49,用于接入在傳輸介質(zhì)之間的LnCP路由器30和31,用于將網(wǎng)絡(luò)管理器22以及電子裝置連接至傳輸介質(zhì)的LnCP適配器35和36,以及多個(gè)電子裝置40至49。
該家庭網(wǎng)絡(luò)系統(tǒng)1的網(wǎng)絡(luò)是經(jīng)由共享傳輸介質(zhì)將電子裝置40至49連接在一塊而形成的。數(shù)據(jù)鏈路層使用非標(biāo)準(zhǔn)化傳輸介質(zhì)例如RS-485或小的輸出RF,或者標(biāo)準(zhǔn)化的傳輸介質(zhì)例如電源線以及IEEE 802.11作為傳輸介質(zhì)。
該家庭網(wǎng)絡(luò)系統(tǒng)1的網(wǎng)絡(luò)與互聯(lián)網(wǎng)2分割,用于組成一個(gè)獨(dú)立的網(wǎng)絡(luò),通過有線或無線傳輸介質(zhì)將電子裝置連接在一塊。這里,該獨(dú)立的網(wǎng)絡(luò)包括物理上連接、但邏輯上被分割的網(wǎng)絡(luò)。
該家庭網(wǎng)絡(luò)系統(tǒng)1包括主裝置,用于控制其他電子裝置40至49的操作或者監(jiān)視其狀態(tài),以及從裝置,用于響應(yīng)于主裝置的請(qǐng)求并通知它們的狀態(tài)改變信息。該主裝置包括網(wǎng)絡(luò)管理器20至23,并且從裝置包括電子裝置40至49。該網(wǎng)絡(luò)管理器20至23包括被控制電子裝置40至49的信息以及控制代碼,并根據(jù)編程方法或通過接收來自LnCP服務(wù)器3和/或客戶端裝置4的輸入來控制電子裝置40至49。仍舊參看圖1,當(dāng)連接有多個(gè)網(wǎng)絡(luò)管理器20至23時(shí),每個(gè)網(wǎng)絡(luò)管理器20至23必須都是主裝置和從裝置,即物理上是一個(gè)裝置,但邏輯上該裝置(混合裝置)同時(shí)進(jìn)行主和從功能,以便于與其他網(wǎng)絡(luò)管理器20至23進(jìn)行信息交換,數(shù)據(jù)同步和控制。
另外,該網(wǎng)絡(luò)管理器20至23以及電子裝置40至49可以直接或者通過LnCP路由器30和31和/或LnCP適配器35和36與網(wǎng)絡(luò)(電源線網(wǎng)絡(luò),RS-485網(wǎng)絡(luò)以及RF網(wǎng)絡(luò))相連。
該電子裝置40至49和/或LnCP路由器30和31和/或LnCP適配器35和36被登記在網(wǎng)絡(luò)管理器20至23中,并且由產(chǎn)品提供內(nèi)在邏輯地址(例如0x00,0x00等)。該邏輯地址與產(chǎn)品代碼(例如空調(diào)0x02,洗衣機(jī)0x01)組合,并被用作節(jié)點(diǎn)地址。例如,用節(jié)點(diǎn)地址例如0x0200(空調(diào)1)和0x0201(空調(diào)2)對(duì)電子裝置40至49和/或LnCP路由器30和31和/或LnCP適配器35和36進(jìn)行標(biāo)識(shí)。根據(jù)預(yù)定的標(biāo)準(zhǔn)(全部相同的產(chǎn)品,產(chǎn)品的安裝空間,用戶等),一次可以使用一組地址,用于標(biāo)識(shí)至少一個(gè)電子裝置40至49和/或至少一個(gè)LnCP路由器30和31和/或至少一個(gè)LnCP適配器35和36。在該組地址中,顯式組地址是一個(gè)簇,用于通過將地址選項(xiàng)值(將在下面提到的標(biāo)記)設(shè)置為1來指定多個(gè)裝置,隱式組地址通過將邏輯地址和/或產(chǎn)品代碼的全部位值都添上1來指定多個(gè)裝置。特別地,該隱式組地址被稱為簇代碼。
圖2為示例根據(jù)本發(fā)明的生活網(wǎng)絡(luò)控制協(xié)議堆棧的結(jié)構(gòu)圖。該家庭網(wǎng)絡(luò)系統(tǒng)1使得網(wǎng)絡(luò)管理器20至23,LnCP路由器30和31,LnCP適配器35和36以及電子裝置40至49根據(jù)圖2的生活網(wǎng)絡(luò)控制協(xié)議(LnCP)彼此相互通信。因此,網(wǎng)絡(luò)管理器20至23,LnCP路由器30和31,LnCP適配器35和36以及電子裝置40至49根據(jù)該LnCP進(jìn)行網(wǎng)絡(luò)通信。
如圖2中所示,該LnCP包括應(yīng)用軟件50,用于執(zhí)行網(wǎng)絡(luò)管理器20至23,LnCP路由器30和31,LnCP適配器35和36以及電子裝置40至49的內(nèi)部功能,并提供與應(yīng)用層60的接口功能,用于遠(yuǎn)程控制和監(jiān)視該網(wǎng)絡(luò);應(yīng)用層60,用于向用戶提供服務(wù),并且還提供一個(gè)功能,用于以消息的形式從用戶形成信息或命令并將該消息傳輸至下層;網(wǎng)絡(luò)層70,用于可靠地將網(wǎng)絡(luò)管理器20至23,LnCP路由器30和31,LnCP適配器35和36以及電子裝置40至49網(wǎng)絡(luò)連接在一塊;數(shù)據(jù)鏈路層80,用于提供對(duì)共享傳輸介質(zhì)進(jìn)行訪問的介質(zhì)訪問控制功能;物理層90,用于提供網(wǎng)絡(luò)管理器20至23,LnCP路由器30和31,LnCP適配器35和36以及電子裝置40至49之間的物理接口,以及被傳輸位的規(guī)則;以及參數(shù)管理層100,用于設(shè)置和管理在每層中使用的節(jié)點(diǎn)參數(shù)。
更詳細(xì)地,該應(yīng)用軟件50進(jìn)一步包括網(wǎng)絡(luò)管理子層51,用于管理節(jié)點(diǎn)參數(shù),以及對(duì)網(wǎng)絡(luò)進(jìn)行訪問的網(wǎng)絡(luò)管理器20至23,LnCP路由器30和31,LnCP適配器35和36以及電子裝置40至49。也就是說,該網(wǎng)絡(luò)管理子層51執(zhí)行參數(shù)管理功能,用于通過參數(shù)管理層100設(shè)置或使用節(jié)點(diǎn)參數(shù)值;以及網(wǎng)絡(luò)管理功能,用于當(dāng)使用LnCP的裝置為主裝置時(shí)組成或管理該網(wǎng)絡(luò)。
當(dāng)網(wǎng)絡(luò)管理器20至23,LnCP路由器30和31,LnCP適配器35和36以及電子裝置40至49訪問的網(wǎng)絡(luò)是一個(gè)非獨(dú)立傳輸介質(zhì)例如電源線,IEEE 802.11以及無線(例如,當(dāng)LnCP包括PLC協(xié)議和/或無線協(xié)議時(shí))時(shí),該網(wǎng)絡(luò)層70還包括家庭代碼控制子層71,用于設(shè)置、管理以及處理用于在邏輯上劃分每個(gè)單獨(dú)的網(wǎng)絡(luò)的家庭代碼,。當(dāng)通過獨(dú)立的傳輸介質(zhì)例如RS-485在物理上劃分單獨(dú)的網(wǎng)絡(luò)時(shí),該家庭代碼控制子層71并不包括在LnCP中。每個(gè)家庭代碼都由4個(gè)字節(jié)組成,并且被設(shè)置作為用戶的隨機(jī)值或指定值。
圖3和4分別為示例圖2的各層之間的接口的結(jié)構(gòu)圖。
圖3示例了當(dāng)物理層90與非獨(dú)立傳輸介質(zhì)相連時(shí)各層之間的接口,圖4示例了當(dāng)物理層90與獨(dú)立傳輸介質(zhì)相連時(shí)各層之間的接口。
該家庭網(wǎng)絡(luò)系統(tǒng)1將每層需要的報(bào)頭和報(bào)尾加給來自上層的協(xié)議數(shù)據(jù)單元(PDU),并將它們傳輸給下層。
如圖3和4所示,應(yīng)用層PDU(APDU)就是在應(yīng)用層60與網(wǎng)絡(luò)層70之間傳輸?shù)臄?shù)據(jù),網(wǎng)絡(luò)層PDU(NPDU)就是在網(wǎng)絡(luò)層70與數(shù)據(jù)鏈路層80或家庭代碼控制子層71之間傳輸?shù)臄?shù)據(jù),并且家庭代碼控制子層PDU(HCNPDU)就是在網(wǎng)絡(luò)層70(準(zhǔn)確的說,家庭代碼控制子層71)與數(shù)據(jù)鏈路層80之間傳輸?shù)臄?shù)據(jù)。在數(shù)據(jù)鏈路層80與物理層90之間的數(shù)據(jù)幀單元中形成該接口。
圖5-10分別為示例圖3和4的接口的詳細(xì)結(jié)構(gòu)圖。
圖5示例了應(yīng)用層60中的APDU結(jié)構(gòu)。
APDU長度(AL)字段示出了APDU的長度(從AL到消息字段的長度),并最小值為4,最大值為77。
APDU報(bào)頭長度(AHL)字段示出了APDU報(bào)頭的長度(從AL到ALO的長度),有效具有3個(gè)字節(jié)并且可擴(kuò)展至7個(gè)字節(jié)。在LnCP中,該APDU報(bào)頭可以被擴(kuò)展至7個(gè)字節(jié),用于對(duì)消息字段進(jìn)行編碼以及改變應(yīng)用協(xié)議。
應(yīng)用層選項(xiàng)(ALO)字段擴(kuò)展了消息集。例如,當(dāng)ALO字段被設(shè)置為0時(shí),如果ALO字段中含有不同值,則忽略消息處理。
消息字段對(duì)事件信息或來自用戶的控制消息進(jìn)行處理,并根據(jù)ALO字段的數(shù)值而被改變。
圖6示例了網(wǎng)絡(luò)層70中的NPDU結(jié)構(gòu),并且圖7示例了NPDU的詳細(xì)NLC結(jié)構(gòu)。
LnCP信息包字段起始(SLP)表示信息包的起始,并且具有數(shù)值0x02。
目的地址(DA)和源地址(SA)字段分別為信息包的接收者和發(fā)送者的節(jié)點(diǎn)地址,并都是16位。最有效1位包括一個(gè)標(biāo)記,該標(biāo)記表示組地址,隨后的7位包括一種產(chǎn)品(產(chǎn)品代碼),并且較低的8位包括邏輯地址,用于區(qū)分相同種類的多個(gè)網(wǎng)絡(luò)管理器20至23以及相同種類的多個(gè)電子于裝置40至49。信息包長度(PL)字段示出了將要被傳送的NPDU的整個(gè)長度,并且它的初始長度為15個(gè)字節(jié),最大長度為120個(gè)字節(jié)。
服務(wù)優(yōu)先權(quán)(SP)字段給出了傳輸消息的傳輸優(yōu)先權(quán)并具有3位。表2示出了每個(gè)傳輸消息的優(yōu)先權(quán)。
當(dāng)從裝置響應(yīng)于主裝置的請(qǐng)求時(shí),該從裝置從主裝置獲取請(qǐng)求消息的優(yōu)先權(quán)。
表2
NPDU報(bào)頭長度(NHL)字段擴(kuò)展了NPDU報(bào)頭(SLP的NLC字段),有效具有9個(gè)字節(jié),并且可擴(kuò)展至最大值17個(gè)字節(jié)。
協(xié)議版本(PV)字段表示被采用的協(xié)議版本,并且其長度為1個(gè)字節(jié)。較高的4位示出了版本,并且較低的4位示出了子版本。版本和子版本分別使用HEX來表示它們的數(shù)值。
網(wǎng)絡(luò)層信息包類型(NPT)字段為4位字段,用于區(qū)分網(wǎng)絡(luò)層70中的一種信息包。該LnCP包括請(qǐng)求信息包,響應(yīng)信息包,以及通知信息包。主裝置的NPT字段必須被設(shè)置為請(qǐng)求信息包或通知信息包,從裝置的NPT字段必須被設(shè)置為響應(yīng)信息包或通知信息包。表3根據(jù)信息包的種類示出了NPT數(shù)值。
表3
傳輸計(jì)數(shù)器(TC)字段為2位字段,當(dāng)網(wǎng)絡(luò)層70中出現(xiàn)了通信錯(cuò)誤,使其無法準(zhǔn)確地傳送請(qǐng)求信息包或響應(yīng)信息包時(shí),為了加強(qiáng)通知信息包的傳輸成功率,重新傳輸請(qǐng)求信息包或重復(fù)地傳送通知信息包。表4根據(jù)NPT數(shù)值示出了TC字段的數(shù)值范圍。
表4
信息包號(hào)(PN)字段由2個(gè)字節(jié)組成,其與TC一塊使用,用于檢測從裝置中的重樣信息包,并且被用于處理主裝置中的多個(gè)通信周期。圖5根據(jù)NPT數(shù)值示出了PN字段的數(shù)值范圍。
表5
APDU字段為在應(yīng)用層60和網(wǎng)絡(luò)層70之間傳輸?shù)膽?yīng)用層60的協(xié)議數(shù)據(jù)單元。該APDU字段的最小值為0字節(jié),最大值為88個(gè)字節(jié)。
循環(huán)冗余檢驗(yàn)(CRC)字段為16位字段,用于檢查已接收的信息包(從SLP到APDU)的錯(cuò)誤。
LnCP信息包結(jié)束(ELP)字段為信息包的末端,其數(shù)值為0x03。如果沒有檢測到該ELP字段,即使接收到的數(shù)據(jù)的字節(jié)長度與信息包的長度字段的數(shù)值相同,也認(rèn)為該信息包是錯(cuò)誤信息包。
圖8示例了家庭代碼控制子層71中的HCNPDU結(jié)構(gòu)。
如圖8中所示,家庭代碼(HC)字段被加到NPDU的上部。
該家庭代碼由4個(gè)字節(jié)組成,并且在信息包能夠被傳輸?shù)木€路長度中具有唯一的數(shù)值。
圖9示例了數(shù)據(jù)鏈路層80中的幀結(jié)構(gòu)。
根據(jù)傳輸介質(zhì)改變LnCP的數(shù)據(jù)鏈路層幀的報(bào)頭和報(bào)尾結(jié)構(gòu)。當(dāng)數(shù)據(jù)鏈路層80使用非標(biāo)準(zhǔn)化傳輸介質(zhì)時(shí),該幀的報(bào)頭和報(bào)尾必須具備空字段,并且當(dāng)數(shù)據(jù)鏈路層80使用標(biāo)準(zhǔn)化傳輸介質(zhì)時(shí),該幀的報(bào)頭和報(bào)尾按照如協(xié)議所描述的形成。當(dāng)物理層90為非獨(dú)立的傳輸介質(zhì)例如電源線或者IEEE 802.11時(shí),NPDU字段為從上層網(wǎng)絡(luò)層70傳輸?shù)臄?shù)據(jù)單元,并且HCNPDU為通過將家庭代碼的4個(gè)字節(jié)加到NPDU的前部而得到的數(shù)據(jù)單元。該數(shù)據(jù)鏈路層80按照相同的方式處理NPDU以及HCNPDU。
圖10示例了物理層90中的幀結(jié)構(gòu)。
該LnCP的物理層90的功能是傳輸和接收物理信號(hào)至傳輸介質(zhì)。該數(shù)據(jù)鏈路層80可以使用非標(biāo)準(zhǔn)化傳輸介質(zhì)例如RS-485或小的輸出RF或者標(biāo)準(zhǔn)化的傳輸介質(zhì)例如電源線或IEEE.802.11作為LnCP的物理層90。使用LnCP的家庭網(wǎng)絡(luò)系統(tǒng)1采用通用異步收發(fā)器(UART)幀結(jié)構(gòu)和RS-232信號(hào)電平,使得網(wǎng)絡(luò)管理器20至23以及電子裝置40至49能夠與RS-485,LnCP路由器30和31或LnCP適配器35和36連接。當(dāng)UART使用串行總線連接在裝置之間時(shí),該UART控制通信線路上的位信號(hào)流。在LnCP中,來自上層的信息包轉(zhuǎn)化為如圖10所示的10位UART幀單元,并通過傳輸介質(zhì)進(jìn)行傳輸。該UART包括1位的起始位,8位的數(shù)據(jù),以及1位的結(jié)束位,沒有任何校驗(yàn)位。首先傳輸該起始位,接著傳輸數(shù)據(jù)位和結(jié)束位。當(dāng)使用LnCP的家庭網(wǎng)絡(luò)系統(tǒng)1采用了UART時(shí),它就不具有額外的幀報(bào)頭和幀報(bào)尾。下面將對(duì)在前面的層中使用的節(jié)點(diǎn)參數(shù)進(jìn)行說明。
下面提到的節(jié)點(diǎn)參數(shù)的數(shù)據(jù)類型相當(dāng)于表6的少數(shù)幾個(gè)數(shù)據(jù)類型之一。
表6
首先,應(yīng)用層60通過使用利用應(yīng)用軟件50從用戶傳輸來的信息或命令生成消息和APDU,將該消息和APDU傳輸給較低網(wǎng)絡(luò)層70,解釋來自較低網(wǎng)絡(luò)層70的APDU,以及將該APDU傳輸給應(yīng)用軟件50。
表7示出了在應(yīng)用軟件60中使用的節(jié)點(diǎn)參數(shù)值。
表7
網(wǎng)絡(luò)層70執(zhí)行下面的功能。
第一,網(wǎng)絡(luò)層70執(zhí)行地址管理功能,即存儲(chǔ)它的地址以及目標(biāo)網(wǎng)絡(luò)管理器20至23或目標(biāo)電子裝置40至49的地址。這里,網(wǎng)絡(luò)層70可以通過使用包括在地址中的網(wǎng)絡(luò)管理器20至23或電子裝置40至49的信息和地址信息來指定一個(gè)串地址,并支持多信道廣播和廣播通信。
第二,網(wǎng)絡(luò)層70執(zhí)行流動(dòng)控制功能,即管理通信周期和控制信息包的流動(dòng)。
第三,網(wǎng)絡(luò)層70執(zhí)行錯(cuò)誤控制功能。也就是說,當(dāng)網(wǎng)絡(luò)層70在一規(guī)定時(shí)間內(nèi)沒有接收響應(yīng)信息包時(shí),該網(wǎng)絡(luò)層70就會(huì)重新嘗試數(shù)據(jù)。重試計(jì)數(shù)最大為3。
第四,網(wǎng)絡(luò)層70執(zhí)行事務(wù)控制功能,即通過檢查重樣的信息包來防止相同消息的重樣事務(wù),并控制同步通信周期。
第五,網(wǎng)絡(luò)層70執(zhí)行路由選擇控制功能,即在至少兩個(gè)獨(dú)立的傳輸介質(zhì)之間傳輸信息包,并控制信息包的流動(dòng),以防止LnCP路由器30和31以及LnCP適配器35和36之間的死循環(huán)。
該網(wǎng)絡(luò)層70以通信周圍為單元提供服務(wù)。該通信周期被分為{1-Request,1-Response}(1-請(qǐng)求,1-響應(yīng)),{1-Request,Multi-Response}(1-請(qǐng)求,多-響應(yīng)),{1-Notification}(1-通知),以及{Repeated-Notification}(重復(fù)-通知)。
在{1-Request,1-Response}通信周期內(nèi),一個(gè)主裝置向一個(gè)從裝置傳輸一個(gè)請(qǐng)求信息包,并且該從裝置向主裝置傳輸一個(gè)響應(yīng)信息包作為響應(yīng)。
在{1-Request,Multi-Response}通信周期內(nèi),一個(gè)主裝置向多個(gè)從裝置傳輸一個(gè)請(qǐng)求信息包,并且每個(gè)從裝置都順序地傳輸對(duì)應(yīng)于該請(qǐng)求信息包的響應(yīng)信息包。
在{1-Notification}通信周期內(nèi),(主或從)裝置傳輸一個(gè)通知信息包給一個(gè)或多個(gè)(主或從)裝置,并直接結(jié)束通信。
在{Repeated-Notification}通信周期內(nèi),為了獲得{1-Notification}通信周期內(nèi)的傳輸可靠性,重復(fù)傳輸相同的信息包,并結(jié)束通信。
表8示出了上面提到的通信周期,信息包類型,以及傳輸服務(wù)(或網(wǎng)絡(luò)層服務(wù))之間的關(guān)系。
表8
圖11和12為示例用于傳輸在各層之間被交換的數(shù)據(jù)的原語的結(jié)構(gòu)圖。
圖11示例了在主裝置的各層之間傳輸原語。
如圖11中所示,應(yīng)用軟件50和應(yīng)用層60之間的原語包括UserReq,UserDLReq,UserULReq,ALCompleted,UserRes以及UserEventRcv。
用戶請(qǐng)求原語UserReq是由來自于主裝置的應(yīng)用軟件50的單個(gè)通信周期形成的服務(wù)請(qǐng)求原語,用于控制和監(jiān)測。該用戶請(qǐng)求原語UserReq包括表9A的組成要素。
表9A
在應(yīng)用層服務(wù)(AL服務(wù))中,請(qǐng)求-響應(yīng)-消息是請(qǐng)求消息和響應(yīng)消息的組合。這里,主裝置傳輸請(qǐng)求消息,并且接收該請(qǐng)求消息的從裝置一直傳輸響應(yīng)消息。在只-請(qǐng)求-消息中,只提供請(qǐng)求消息。這里,接收請(qǐng)求消息的從裝置并不傳輸響應(yīng)消息。在重復(fù)-消息中,只連續(xù)地提供請(qǐng)求消息或事件消息。這里,從裝置并不傳輸響應(yīng)消息。在只-事件-消息中,只提供事件消息。這里,從裝置并不傳輸響應(yīng)消息。
用戶下載請(qǐng)求原語UserDLReq為從主裝置的應(yīng)用軟件50傳輸?shù)南螺d服務(wù)請(qǐng)求原語,并且包括表9B的組成要素。
表9B
用戶上傳請(qǐng)求原語UserULReq為從主裝置的應(yīng)用軟件50傳輸?shù)纳蟼鞣?wù)請(qǐng)求原語,并且包括表9C的組成要素。
表9C
用戶響應(yīng)原語UserRes為用于將主裝置的服務(wù)執(zhí)行結(jié)果傳輸給應(yīng)用軟件50的原語,并且包括表9D的組成要素。
表9D
用戶事件接收原語UserEventRcv為被傳輸給主裝置的應(yīng)用軟件50的事件服務(wù)原語,并且包括表9E的組成要素。
表9E
應(yīng)用層完成原語ALCompleted為將主裝置的應(yīng)用層60的執(zhí)行結(jié)果傳輸給應(yīng)用軟件50的原語,并且包括表9F的組成要素。
表9F
仍舊參看圖11,應(yīng)用層60與網(wǎng)絡(luò)層70之間的原語包括ReqMsgSend,NLCompleted以及MsgRev。
該請(qǐng)求消息發(fā)送原語ReqMsgSend為用于將消息從主裝置的應(yīng)用層60傳輸至網(wǎng)絡(luò)層70的原語,并且包括表10A的組成要素。
表10A
這里,通過將應(yīng)用服務(wù)代碼ALSvcCode與接收器裝置的節(jié)點(diǎn)地址組合來生成通信周期標(biāo)識(shí)符CycleID。
消息接收原語MsgRcv為將信息包從主裝置的網(wǎng)絡(luò)層70傳輸至應(yīng)用層60的原語,并且包括表1OB的組成要素。
表10B
通信周期標(biāo)識(shí)符CycleID的結(jié)構(gòu)將在后面說明。
網(wǎng)絡(luò)層完成原語NLCompleted為用于將信息包處理狀態(tài)從網(wǎng)絡(luò)層70通知給應(yīng)用層60的原語,并且包括表10C的組成要素。
表10C
下面將不再說明其余層之間的原語。
圖12示例了從裝置各層之間原語的傳輸。
首先,應(yīng)用軟件50a與應(yīng)用層60a之間的原語包括UserReqRcv,UserResSend以及UserEventSend。
用戶請(qǐng)求接收原語UserReqRcv為用于將請(qǐng)求消息(包括下載和上傳)從主裝置傳輸至從裝置的應(yīng)用軟件50a的原語,并且包括表11A的組成要素。
表11A
用戶響應(yīng)發(fā)送原語UserResSend為用于將對(duì)應(yīng)于主裝置的請(qǐng)求消息的響應(yīng)消息傳輸給從裝置的應(yīng)用層60a的原語,并且包括表11B的組成要素。
表11B
用戶事件發(fā)送原語UserEventSend為用于將要被傳輸至主裝置的從裝置的事件消息的狀態(tài)變量值傳輸給應(yīng)用層60a的原語,并且包括表11C的組成要素。
表11C
仍舊參看圖12,應(yīng)用層60a與網(wǎng)絡(luò)層70a之間的原語包括ReqMsgRcv,ResMsgSend,EventMsgSend以及NLCompleted。
請(qǐng)求消息接收原語ReqMsgRcv為用于將從網(wǎng)絡(luò)層70a接收到的請(qǐng)求消息傳輸至應(yīng)用層60a的原語,并且包括表12A的組成要素。
表12A
響應(yīng)消息發(fā)送原語ResMsgSend為用于將響應(yīng)消息從應(yīng)用層60a傳輸至網(wǎng)絡(luò)層70a的原語,并且包括表12B的組成要素。
表12B
事件消息發(fā)送原語EventMsgSend為用于將事件消息從應(yīng)用層60a傳輸至網(wǎng)絡(luò)層70a的原語,并且包括表12C的組成要素。
表12C
網(wǎng)絡(luò)層完成原語NLCompleted為用于將信息包處理狀態(tài)從網(wǎng)絡(luò)層70a通知給應(yīng)用層60a,并且包括表12D的組成要素。
表12D
下面將不再說明其余層之間的原語。
根據(jù)在消息上排列的字節(jié)(或位)數(shù)據(jù),數(shù)據(jù)的高字節(jié)(或位)位于消息的左側(cè),而數(shù)據(jù)的低字節(jié)(或位)位于消息的右側(cè)。下面描述應(yīng)用層60和60a對(duì)該消息進(jìn)行處理。
*Request Message(請(qǐng)求消息)將在從裝置中進(jìn)行的命令執(zhí)行消息,其被從主裝置的應(yīng)用層60傳送至網(wǎng)絡(luò)層70,或者從從裝置的網(wǎng)絡(luò)層70a傳送至應(yīng)用層60a。根據(jù)來自網(wǎng)絡(luò)層70a的傳輸模式,從裝置的應(yīng)用層60a能夠發(fā)送響應(yīng)消息(將要被描述);*Response Message(響應(yīng)消息)傳達(dá)從裝置中命令執(zhí)行結(jié)果的消息,其被從主裝置的網(wǎng)絡(luò)層70傳送至應(yīng)用層60,或者被從從裝置的應(yīng)用層60a傳送至網(wǎng)絡(luò)層70a。響應(yīng)于請(qǐng)求消息而發(fā)出該消息;以及*Event Message(事件消息)傳達(dá)裝置狀態(tài)變化的消息,其被從網(wǎng)絡(luò)層傳送至應(yīng)用層(在被發(fā)送側(cè)的情況下),或者被從應(yīng)用層傳送至網(wǎng)絡(luò)層(在接收側(cè)的情況下)。該接收側(cè)并不對(duì)該消息作出響應(yīng)。
圖13-15分別示例了請(qǐng)求消息的結(jié)構(gòu)。
圖13示出了一個(gè)基本請(qǐng)求消息,其由命令代碼CC以及自變量arg1,arg2,...構(gòu)成。通常,發(fā)出請(qǐng)求消息就是用于控制裝置,檢查裝置狀態(tài),以及檢查裝置的信息。
圖14示出了一個(gè)下載請(qǐng)求消息,其中包括全部頁TotalPage字段以及當(dāng)前頁CurrentPage字段作為輸入自變量,所述的輸入自變量用于分割數(shù)據(jù)并將其傳輸給裝置。圖15示出了一個(gè)上傳請(qǐng)求消息,其中包括頁數(shù)PageNo和數(shù)據(jù)大小DataNo作為輸入自變量,所述的輸入自變量用于分割以及從裝置獲取數(shù)據(jù)。
更詳細(xì)地,當(dāng)具有預(yù)定數(shù)據(jù)的主裝置想要將該數(shù)據(jù)傳輸給從裝置和/或另一個(gè)主裝置時(shí),發(fā)出該下載請(qǐng)求消息。按照預(yù)定數(shù)據(jù)大小對(duì)該數(shù)據(jù)進(jìn)行分割,并且被分割數(shù)據(jù)的總數(shù)成為總頁數(shù),并且包括在當(dāng)前請(qǐng)求消息中并被傳輸?shù)奶囟摮蔀楫?dāng)前頁。
當(dāng)主裝置想要上傳被保留在從裝置和/或另一個(gè)主裝置中的數(shù)據(jù)時(shí),發(fā)出該上傳請(qǐng)求消息。該主裝置請(qǐng)求具備相同大小的部分?jǐn)?shù)據(jù),并且該部分?jǐn)?shù)據(jù)成為具備相同頁數(shù)的被分割數(shù)據(jù)。
圖16-18分別示例了響應(yīng)消息的結(jié)構(gòu)。
主要有兩種類型的響應(yīng)消息如果來自主裝置的請(qǐng)求被成功執(zhí)行,就會(huì)生成ACK-響應(yīng)消息,以及如果該請(qǐng)求失敗了,就會(huì)生成NAK-響應(yīng)消息。
圖16示出了ACK-響應(yīng)消息的結(jié)構(gòu)。從圖中可以看出,ACK-響應(yīng)消息由表示請(qǐng)求執(zhí)行的結(jié)果的命令代碼CC,ACK(例如0x06),以及自變量(arg1,arg2,...)構(gòu)成。當(dāng)從裝置成功地執(zhí)行來自主裝置的請(qǐng)求時(shí),傳輸該ACK-響應(yīng)消息。
圖17示出了NAK-響應(yīng)消息的結(jié)構(gòu)。從圖中可以看出,該NAK-響應(yīng)消息由命令代碼CC,NAK(例如0x15),以及1字節(jié)NAK_code構(gòu)成。當(dāng)從裝置執(zhí)行來自主裝置的請(qǐng)求失敗時(shí),傳輸該NAK-響應(yīng)消息。該NAK_code應(yīng)該與涉及產(chǎn)品操作失敗的錯(cuò)誤區(qū)別開來,這是對(duì)請(qǐng)求失敗的原因進(jìn)行分類的代碼值,特別是由于在主裝置與從裝置之間進(jìn)行通信期間的錯(cuò)誤命令代碼或錯(cuò)誤自變量而引起的。
圖18示出了包括錯(cuò)誤代碼Error_code的NAK-響應(yīng)消息。該錯(cuò)誤代碼Error_code為涉及產(chǎn)品操作的錯(cuò)誤。如果從裝置主要是因?yàn)檫@種類型的錯(cuò)誤而未能執(zhí)行請(qǐng)求,則該NAK_code值就被固定為預(yù)定值,也就是說例如‘0x63’,并且Error_code值跟在NAK_code之后。
圖19示例了事件消息的結(jié)構(gòu)。
當(dāng)裝置狀態(tài)改變時(shí),生成事件消息。從圖中可以看出,事件消息由命令代碼(例如Ox11),2字節(jié)的事件代碼,以及4個(gè)字節(jié)的狀態(tài)值構(gòu)成。在事件代碼中,較高字節(jié)表示產(chǎn)品代碼,低字節(jié)表示狀態(tài)變量。
圖20為說明根據(jù)本發(fā)明第一實(shí)施例用于應(yīng)用層的數(shù)據(jù)處理方法的流程圖。簡言之,主裝置的應(yīng)用層60從應(yīng)用軟件50接收預(yù)定的原語,組成APDU,并將該APDU傳輸給網(wǎng)絡(luò)層70。
現(xiàn)在參看圖20,在步驟S61中,主裝置的應(yīng)用層60接收用戶請(qǐng)求原語UserReq,用戶下載請(qǐng)求原語UserDLReq,或者用戶上傳請(qǐng)求原語UserULReq。
在步驟S62中,由于在包括在用戶請(qǐng)求原語UserReq中的應(yīng)用層服務(wù)代碼ALSvcCode中指定的服務(wù)由單個(gè)通信周期形成,因此主裝置的應(yīng)用層60分割出用于處理的單個(gè)通信周期。
類似地,由于在包括在用戶下載請(qǐng)求原語UserDLReq或用戶上傳請(qǐng)求原語UserULReq中的應(yīng)用層服務(wù)代碼ALSvcCode中指定的服務(wù)由多個(gè)通信周期CycleNo形成,因此主裝置的應(yīng)用層60將該通信周期CycleNo分為單個(gè)通信周期,并且連續(xù)地處理每個(gè)通信周期,使得能夠處理整個(gè)通信周期CycleNo。
在步驟S63中,主裝置的應(yīng)用層60生成請(qǐng)求或通知消息,以便于執(zhí)行由用戶請(qǐng)求原語UserReq的單個(gè)通信周期形成的服務(wù)。同時(shí),主裝置的應(yīng)用層60根據(jù)下載或上傳過程生成多個(gè)請(qǐng)求消息(生成的請(qǐng)求消息的數(shù)量等于預(yù)定數(shù)據(jù)中被分割數(shù)據(jù)的數(shù)量),以便于執(zhí)行由用戶下載請(qǐng)求原語UserDLReq或用戶上傳請(qǐng)求原語UserULReq的多個(gè)通信周期CycleNo形成的服務(wù)。
在步驟S64中,主裝置的應(yīng)用層60生成通信周期標(biāo)識(shí)符CycleID,用于已生成的請(qǐng)求或通知消息。實(shí)際上,主裝置的應(yīng)用層60將相同的通信周期標(biāo)識(shí)符CycleID給予用戶下載請(qǐng)求原語UserDLReq或用戶上傳請(qǐng)求原語UserULReq的多個(gè)請(qǐng)求消息(即,具備一致的CycleID的消息),并且連續(xù)地執(zhí)行由單個(gè)通信周期形成的各個(gè)服務(wù)。下文中,圖20中描述的原語包括用戶請(qǐng)求原語UserReq,用戶下載請(qǐng)求原語UserDLReq,以及用戶上傳請(qǐng)求原語UserULReq。
如圖22中所示,該通信周期標(biāo)識(shí)符為4字節(jié)字段,其由目的地址DstAddress以及命令代碼組成。也就是說,主裝置的應(yīng)用層60通過將包括在來自應(yīng)用層50的原語中的應(yīng)用層服務(wù)代碼ALSvcCode與目的地址DstAddress組合而生成通信周期標(biāo)識(shí)符CycleID。
返回至圖20,在步驟S65中,由于主裝置的應(yīng)用層60無法給出相同的通信周期標(biāo)識(shí)符CycleID,直到完成該通信周期,因此取而代之的是它就會(huì)查找預(yù)存的服務(wù)說明(即將描述)。如果存在與步驟S64中生成的新通信周期標(biāo)識(shí)符CycleID相同的ID值,則該主裝置的應(yīng)用層60就會(huì)忽略掉新的通信周期標(biāo)識(shí)符CycleID,并且直接進(jìn)行至步驟S67,而不會(huì)生成任何它的服務(wù)說明。
在步驟S66中,當(dāng)主裝置的應(yīng)用層60接收到原語時(shí),它就會(huì)生成一個(gè)具有表13中所示結(jié)構(gòu)的服務(wù)說明。
表13
下面將更詳細(xì)地描述如何設(shè)置表13中的每個(gè)變量。
*設(shè)置應(yīng)用層服務(wù)代碼ALSvcCode為包括在原語中的應(yīng)用層服務(wù)代碼ALSvcCode;*設(shè)置應(yīng)用層服務(wù)類型ALSvcType為包括在原語中的應(yīng)用層服務(wù)代碼,例如‘0’表示請(qǐng)求-響應(yīng)-消息,‘1’表示只-請(qǐng)求-消息,‘2’表示重復(fù)-消息,并且‘3’表示只-事件-消息;*通信周期號(hào)在用戶請(qǐng)求原語UserReq的情況下設(shè)置通信周期號(hào)CycleNo為‘1’,并且在用戶下載請(qǐng)求原語UserDLReq或用戶上傳請(qǐng)求原語UserULReq的情況下設(shè)置為相應(yīng)于被分割消息(或數(shù)據(jù))的值;以及*通信周期標(biāo)識(shí)符CycleID是根據(jù)節(jié)點(diǎn)地址以及應(yīng)用層服務(wù)代碼ALSvcCode而設(shè)置的。
在圖20的步驟S67中,主裝置的應(yīng)用層60通過將報(bào)頭加給傳輸至網(wǎng)絡(luò)層70的消息而組成APDU。這時(shí),報(bào)頭中字段值設(shè)置如下。
*AL=傳輸消息的字節(jié)數(shù)+3;*AHL=3;以及*ALO=0(如果沒有應(yīng)用層選項(xiàng))。
在步驟S68中,主裝置的應(yīng)用層使用請(qǐng)求消息發(fā)送原語ReqMsgSend將APDU傳輸至網(wǎng)絡(luò)層70。
步驟S69之后的數(shù)據(jù)處理方法執(zhí)行完成所涉及的通信周期和服務(wù)。
在步驟S69中,為了確定該通信周期是否已經(jīng)完成了,主裝置的應(yīng)用層60確定在服務(wù)執(zhí)行開始后服務(wù)超時(shí)SvcTimeOut內(nèi)該網(wǎng)絡(luò)層完成原語NLCompleted是否已經(jīng)被從網(wǎng)絡(luò)層傳出。如果是,則主裝置的應(yīng)用層60確定該通信周期已經(jīng)完成并且進(jìn)行至步驟S70。在步驟S70中,主裝置的應(yīng)用層60將在服務(wù)說明中定義的通信周期號(hào)CycleNo減少預(yù)定值(例如,‘1’)。另一方面,如果在服務(wù)超時(shí)SvcTimeOut內(nèi)并沒有傳輸網(wǎng)絡(luò)層完成原語NLCompleted,則主裝置的應(yīng)用層60進(jìn)行至步驟S71,并將通信周期號(hào)CycleNo設(shè)置為‘0’。例如,有時(shí)候由于消息的傳輸錯(cuò)誤或從裝置失效,該網(wǎng)絡(luò)層完成原語NLCompleted并沒有傳輸。除了上述的方案以外,應(yīng)用層60還能夠通過檢查NAK響應(yīng)消息來確定該通信周期是否已經(jīng)完成。如果接收到了NAK響應(yīng)消息,則該數(shù)據(jù)處理方法進(jìn)行至步驟S71,這里,該應(yīng)用層60將通信周期號(hào)CycleNo設(shè)置為‘0’。這樣進(jìn)行的原因是因?yàn)楫?dāng)響應(yīng)于由多個(gè)通信周期形成的服務(wù)(例如下載和上傳服務(wù))而接收NAK響應(yīng)消息時(shí),整個(gè)服務(wù)必須被終止。
在步驟S72中,主裝置的應(yīng)用層60確定整個(gè)周期是否被完全執(zhí)行。例如,當(dāng)通信周期號(hào)CycleNo為‘0’時(shí),主裝置的應(yīng)用層60就會(huì)認(rèn)為服務(wù)已經(jīng)完成,否則,該數(shù)據(jù)處理方法就會(huì)進(jìn)行至用于執(zhí)行剩余消息的通信周期的步驟S65或S67,使得多個(gè)通信周期CycleNo能夠被完成。
在步驟S73中,主裝置的應(yīng)用層60刪除相應(yīng)的服務(wù)說明,并且在步驟S74中,主裝置的應(yīng)用層60將包括服務(wù)執(zhí)行結(jié)果的應(yīng)用層完成原語ALCompleted傳輸至應(yīng)用軟件50。
圖21為說明根據(jù)本發(fā)明第二實(shí)施例用于應(yīng)用層的數(shù)據(jù)處理方法的流程圖??偠灾瑥难b置的應(yīng)用層60a從應(yīng)用軟件50a接收預(yù)定原語,組成APDU,并將該APDU傳輸至網(wǎng)絡(luò)層70a。
在步驟S81中,從裝置的應(yīng)用層60a從應(yīng)用軟件50a接收用戶事件發(fā)送原語UserEventSend。
在步驟S82中,從裝置的應(yīng)用層60a的數(shù)據(jù)接收功能禁用,無法從網(wǎng)絡(luò)層70a接收任何數(shù)據(jù)。這里,通過預(yù)定的參數(shù)(未示出)或預(yù)定的邏輯能夠使能該數(shù)據(jù)接收功能。
在步驟S83中,從裝置的應(yīng)用層60a組成并生成事件消息,該事件消息包括事件代碼EventCode和狀態(tài)變量StateVariable,并被包括在用戶事件發(fā)送原語UserEventSend中。
在步驟S84中,從裝置的應(yīng)用層60a根據(jù)所有主裝置(即網(wǎng)絡(luò)管理器20至23)的目的地址(例如,0x00FF)以及事件消息的命令代碼(例如,0x11)生成通信周期標(biāo)識(shí)符。因此,由用戶事件發(fā)送原語UserEventSend生成的每個(gè)通信周期標(biāo)識(shí)符CycleID都具有相同值。
在步驟S85中,由于從裝置的應(yīng)用層60a一次只能處理一個(gè)通信周期,因此如果預(yù)存儲(chǔ)的服務(wù)說明當(dāng)前正在進(jìn)行,就必須等待,直到該服務(wù)完成以及該服務(wù)說明被刪除。
在步驟S86中,從裝置的應(yīng)用層60a生成一個(gè)服務(wù)說明,該服務(wù)說明具有如下與表13中所示類似的結(jié)構(gòu)。
*應(yīng)用層服務(wù)代碼ALSvcCode被設(shè)置為包括在用戶事件發(fā)送原語UserEventSend中的應(yīng)用層的應(yīng)用層服務(wù)代碼ALSvcCode;*應(yīng)用層服務(wù)類型ALSvcType設(shè)置為重復(fù)-消息(2)或只-事件-消息(3);*通信周期號(hào)CycleNo一直固定為‘1’;以及*通信周期標(biāo)識(shí)符CycleID固定為例如‘0x00FF0011’。
在步驟S87中,從裝置的應(yīng)用層60a組成一個(gè)APDU,該APDU包括在步驟S83中生成的事件消息,并且在步驟S88中,從裝置的應(yīng)用層60a通過使用事件消息發(fā)送原語EventMsgSend將該APDU傳輸給網(wǎng)絡(luò)層70a。
步驟S89之后的數(shù)據(jù)處理方法執(zhí)行完成所涉及的當(dāng)前通信周期和服務(wù)。
在步驟S89中,從裝置的應(yīng)用層60a確定自從服務(wù)執(zhí)行開始后該服務(wù)超時(shí)SvcTimeOut是否已經(jīng)失效。如果是,則應(yīng)用層60a進(jìn)行至步驟S91,否則,該應(yīng)用層60a進(jìn)行至步驟S90。
在步驟S90中,從裝置的應(yīng)用層60a確定該網(wǎng)絡(luò)層完成原語NLCompleted是否從網(wǎng)絡(luò)層70傳出。如果不是,則應(yīng)用層60a進(jìn)行至步驟S89,如果是,則該應(yīng)用層60a進(jìn)行至步驟S91。
在步驟S89和S90中,雖然該服務(wù)超時(shí)SvcTimeOut還沒有失效,但是如果該網(wǎng)絡(luò)層完成原語NLCompleted被傳輸,則從裝置的應(yīng)用層60a可以進(jìn)行至步驟S91。當(dāng)然,當(dāng)服務(wù)超時(shí)SvcTimeOut失效時(shí),從裝置的應(yīng)用層60a一直進(jìn)行至步驟S91。
在步驟S91中,從裝置的應(yīng)用層60a刪除了服務(wù)說明,并且在步驟S92中,使能從裝置的應(yīng)用層60a的數(shù)據(jù)接收功能,準(zhǔn)備好從網(wǎng)絡(luò)層70a接收數(shù)據(jù)。
圖23為說明根據(jù)本發(fā)明第三實(shí)施例用于應(yīng)用層的數(shù)據(jù)處理方法的流程圖。簡而言之,從裝置的應(yīng)用層60a從網(wǎng)絡(luò)層70a接收請(qǐng)求消息接收原語ReqMsgRcv,提取出消息,并將該消息傳輸給應(yīng)用軟件50a。
在步驟S101中,從裝置的應(yīng)用層60a從網(wǎng)絡(luò)層70a接收請(qǐng)求消息接收原語ReqMsgRcv。
在步驟S102中,從裝置的應(yīng)用層60a的數(shù)據(jù)接收功能禁用,無法從網(wǎng)絡(luò)層70a接收任何數(shù)據(jù)。這里,通過預(yù)定的參數(shù)(未示出)或預(yù)定的邏輯能夠完成該數(shù)據(jù)接收功能。
在步驟S103中,如果包括在來自網(wǎng)絡(luò)層70a的請(qǐng)求消息接收原語ReqMsgRcv中的APDU的ALO字段值不等于預(yù)定值(例如,‘1’),則從裝置的應(yīng)用層60a進(jìn)行至步驟S104,并忽略接收到的APDU。接著,在步驟S105中,使能應(yīng)用層60a的數(shù)據(jù)接收功能,準(zhǔn)備好接收數(shù)據(jù)。
在步驟S106中,從裝置的應(yīng)用層60a使用AHL字段的值從APDU中提取出消息。即使可能將未定義的新字段添加至接收到的APDU的報(bào)頭,該從裝置的應(yīng)用層60a也應(yīng)該能夠通過AHL字段的被指定字節(jié)將其識(shí)別為報(bào)頭,并從中提取出消息。
在步驟S107中,從裝置的應(yīng)用層60a確定是否根據(jù)網(wǎng)絡(luò)層服務(wù)NLService生成服務(wù)說明。當(dāng)包括在請(qǐng)求消息接收原語ReqMsgRcv中的消息的網(wǎng)絡(luò)層服務(wù)NLService為否定應(yīng)答(即,事件或通知消息)時(shí),則不需要額外的操作(例如,生成和傳輸響應(yīng)消息)。這樣,從裝置的應(yīng)用層60a可以進(jìn)行至步驟S109,而不生成服務(wù)說明。但是,當(dāng)網(wǎng)絡(luò)層服務(wù)NLService為肯定應(yīng)答(即,請(qǐng)求消息)時(shí),該從裝置的應(yīng)用層60a就會(huì)生成服務(wù)說明,該服務(wù)說明具有與表13所示類似的結(jié)構(gòu)。
*應(yīng)用層服務(wù)代碼ALSvcCode包括包括在用戶事件接收原語UserEventRcv中的目的地址DstAddress以及包括在被提取消息中的命令代碼;*應(yīng)用層服務(wù)類型ALSvcType固定為‘0’(請(qǐng)求-響應(yīng));*通信周期號(hào)CycleNo固定為‘1’;以及*通信周期標(biāo)識(shí)符CycleID,通過將包括在用戶事件接收原語UserEventRcv中的目的地址DstAddress與應(yīng)用層服務(wù)代碼ALSvcCode組合而設(shè)置或生成。
這樣生成的通信周期標(biāo)識(shí)符CycleID與圖22中的一樣。
返回至圖23,在步驟S109中,從裝置的應(yīng)用層60a生成包括被提取消息的用戶請(qǐng)求接收原語UserReqRcv,并將其傳輸給應(yīng)用軟件50a。
在步驟S110中,從裝置的應(yīng)用層60a確定包括在請(qǐng)求消息接收原語ReqMsgRcv中的網(wǎng)絡(luò)層服務(wù)NLService是否為否定應(yīng)答。如果是,則提取出的消息被傳輸至應(yīng)用軟件50a,并且不需要額外的操作(例如,生成和傳輸響應(yīng)消息)。這樣,使能應(yīng)用層60a的數(shù)據(jù)接收功能,準(zhǔn)備好從網(wǎng)絡(luò)層70a接收數(shù)據(jù)。
圖24為說明根據(jù)本發(fā)明第四實(shí)施例用于應(yīng)用層的數(shù)據(jù)處理方法的流程圖。概述該實(shí)施例的數(shù)據(jù)處理方法,從裝置的應(yīng)用層60a從應(yīng)用軟件50a接收用戶響應(yīng)發(fā)送原語UserResSend,組成APDU,并將該APDU傳輸給網(wǎng)絡(luò)層70a。
在步驟S121中,從裝置的應(yīng)用層60a從應(yīng)用軟件50a接收用戶響應(yīng)發(fā)送原語UserResSend,并且在步驟S122中,使用包括在該原語中的響應(yīng)數(shù)據(jù)組成響應(yīng)消息。
在步驟S123中,從裝置的應(yīng)用層60a通過將報(bào)頭加給傳輸至網(wǎng)絡(luò)層70a的消息而組成APDU。這時(shí),報(bào)頭中字段值被設(shè)置如下。
*AL=傳輸消息的字節(jié)數(shù)+3;*AHL=3;以及*ALO=0(如果沒有應(yīng)用層選項(xiàng))。
在步驟S124中,從裝置的應(yīng)用層60a使用響應(yīng)消息發(fā)送原語ReqMsgSend將該APDU傳輸至網(wǎng)絡(luò)層70a。
在步驟S125中,為了確定該通信周期是否已經(jīng)完成,從裝置的應(yīng)用層60a確定該服務(wù)執(zhí)行時(shí)間是否短于服務(wù)超時(shí)SvcTimeOut。如果是,則從裝置的應(yīng)用層60a進(jìn)行至步驟S126,如果不是,則從裝置的應(yīng)用層60a進(jìn)行至步驟S127。在步驟S126中,如果接收到了網(wǎng)絡(luò)層完成原語NLCompleted,則從裝置的應(yīng)用層60a進(jìn)行至步驟S127,如果沒有,從裝置的應(yīng)用層60a進(jìn)行至步驟S125。即使服務(wù)超時(shí)SvcTimeOut還沒有失效,但是如果接收到了網(wǎng)絡(luò)層完成原語NLCompleted,從裝置的應(yīng)用層60a也能夠進(jìn)行至步驟S127。無須諱言,當(dāng)服務(wù)超時(shí)SvcTimeOut失效時(shí),從裝置的應(yīng)用層60a一直進(jìn)行至步驟S127。
在步驟S127中,從裝置的應(yīng)用層60a刪除預(yù)生成和存儲(chǔ)的服務(wù)說明(參看圖23的S108)。
在步驟S128中,使能從裝置的應(yīng)用層60a的數(shù)據(jù)接收功能,準(zhǔn)備好從網(wǎng)絡(luò)層70a接收數(shù)據(jù)。
圖25為說明根據(jù)本發(fā)明第五實(shí)施例用于應(yīng)用層的數(shù)據(jù)處理方法的流程圖。簡要地說明該實(shí)施例的數(shù)據(jù)處理方法,主裝置的應(yīng)用層60從網(wǎng)絡(luò)層70接收請(qǐng)求消息接收原語ReqMsgRcv,從中提取消息,并將該消息傳送至應(yīng)用軟件50a。
在步驟S141中,主裝置的應(yīng)用層60從網(wǎng)絡(luò)層70接收消息接收原語MsgRcv。
在步驟S142中,如果包括在接收到的消息接收原語MsgRcv中的APDU的ALO字段值不等于預(yù)定值(例如‘0’),則主裝置的應(yīng)用層60進(jìn)行至步驟S143并忽略接收到的APDU。但是,如果ALO字段值等于預(yù)定值,則主裝置的應(yīng)用層60進(jìn)行至步驟S144。
在步驟S144中,主裝置的應(yīng)用層60使用AHL字段的值從APDU提取出消息。即使可能將未定義的新字段添加至接收到的APDU的報(bào)頭,該主裝置的應(yīng)用層60也應(yīng)該能夠通過用于AHL字段的被指定字節(jié)將其識(shí)別為報(bào)頭,并從中提取出消息。
在步驟S145中,主裝置的應(yīng)用層60檢查對(duì)應(yīng)于接收到的消息接收原語MsgRcv的服務(wù)說明。如果存在與包括在消息接收原語MsgRcv中的通信周期標(biāo)識(shí)符CycleID相同數(shù)值的服務(wù)說明,則主裝置的應(yīng)用層60進(jìn)行至步驟S146。但是,如果沒有這種服務(wù)說明,則主裝置的應(yīng)用層60進(jìn)行至步驟S147。在步驟S145中檢查服務(wù)說明的原因就是要確定包括在消息接收原語MsgRcv中的消息是否為響應(yīng)消息。如果存在相應(yīng)的服務(wù)說明時(shí),就意味著必定已經(jīng)存在對(duì)應(yīng)于響應(yīng)消息的請(qǐng)求消息(為了說明后面的原則,當(dāng)主裝置的應(yīng)用層60從應(yīng)用軟件50接收請(qǐng)求消息,并生成和傳輸一個(gè)用戶請(qǐng)求原語UserReq至另一個(gè)裝置例如主裝置和/或從裝置時(shí),它也生成和存儲(chǔ)一個(gè)用于請(qǐng)求消息的服務(wù)說明)。這里,該服務(wù)說明具有與表13中所示類似的結(jié)構(gòu)。
在步驟S146中,主裝置的應(yīng)用層60生成包括被提取消息的用戶響應(yīng)原語UserRes,并將該UserRes傳輸至應(yīng)用軟件50。
在步驟S147中,主裝置的應(yīng)用層60檢查該提取出的消息是否為事件消息。由于事件消息通常包括預(yù)定的命令代碼(例如0x11),因此主裝置的應(yīng)用層60能夠容易地檢查出提取出的消息是否包括該命令代碼。如果證明得出該提取出的消息就是事件消息,則主裝置的應(yīng)用層60進(jìn)行至步驟S148,并生成包括被提取出消息的用戶事件接收原語UserEventRcv,并將該UserEventRcv傳輸給應(yīng)用軟件50。同時(shí),如果提取出的消息被證明是請(qǐng)求消息而不是事件消息,則主裝置的應(yīng)用層60進(jìn)行至步驟S149,并且忽略和丟棄該消息。
如前面所說明的,根據(jù)本發(fā)明的用于應(yīng)用層的數(shù)據(jù)處理方法使用控制協(xié)議,其中該控制協(xié)議為用于對(duì)家庭網(wǎng)絡(luò)系統(tǒng)中的電子裝置提供控制和監(jiān)視功能的通用通信標(biāo)準(zhǔn)。
還有,根據(jù)本發(fā)明的用于應(yīng)用層的數(shù)據(jù)處理方法使用生活網(wǎng)絡(luò)控制協(xié)議作為通用通信標(biāo)準(zhǔn)。
根據(jù)本發(fā)明的用于應(yīng)用層的數(shù)據(jù)處理方法使用多個(gè)統(tǒng)一的原語,用于在生活網(wǎng)絡(luò)控制協(xié)議中傳輸數(shù)據(jù)。
還有,包括應(yīng)用層的上層生成、傳輸以及處理消息。
還有,根據(jù)消息的特性,執(zhí)行一個(gè)或多個(gè)通信周期。
還有,在預(yù)定消息和信息包處理期間控制該數(shù)據(jù)接收處理。
還有,包括從裝置應(yīng)用層的的上層生成、傳輸以及處理消息。
還有,通過將數(shù)據(jù)接收功能設(shè)置為使能或禁用狀態(tài)來控制輸出處理。
還有,包括主裝置應(yīng)用層的的上層生成、傳輸以及處理消息。
還有,根據(jù)消息的特性來處理數(shù)據(jù)。
雖然已經(jīng)對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行了描述,但可以理解的是,本發(fā)明應(yīng)該不僅限于這些優(yōu)選實(shí)施例,并且在隨后的權(quán)利要求書所規(guī)定的本發(fā)明的精神和范圍內(nèi),本領(lǐng)域內(nèi)的技術(shù)人員能夠進(jìn)行各種改變和修改。
權(quán)利要求
1.一種基于預(yù)定協(xié)議用于應(yīng)用層的數(shù)據(jù)處理方法,其中該預(yù)定協(xié)議由至少下層和應(yīng)用層組成,該方法包括步驟從上層應(yīng)用軟件接收預(yù)定原語;根據(jù)該原語生成通信周期標(biāo)識(shí)符(CycleID);根據(jù)該原語和通信周期標(biāo)識(shí)符(CycleID)生成服務(wù)說明;組成包括該原語的應(yīng)用層協(xié)議數(shù)據(jù)單元(APDU);以及將該APDU傳輸至下層。
2.根據(jù)權(quán)利要求1的方法,其中通過將包括在原語中的應(yīng)用層服務(wù)代碼(ALSvcCode)與目的地址(DstAddress)組合來生成通信周期標(biāo)識(shí)符(CycleID)。
3.根據(jù)權(quán)利要求2的方法,其中該應(yīng)用層服務(wù)代碼(ALSvcCode)至少包括產(chǎn)品代碼和命令代碼。
4.根據(jù)權(quán)利要求2的方法,其中該通信周期標(biāo)識(shí)符CycleID為4個(gè)字節(jié)。
5.根據(jù)權(quán)利要求1的方法,其中該服務(wù)說明包括包括在原語中的應(yīng)用層服務(wù)代碼(ALSvcCode)。
6.根據(jù)權(quán)利要求1的方法,其中該服務(wù)說明至少包括包括在原語中的應(yīng)用層服務(wù)(ALService),以及根據(jù)應(yīng)用層服務(wù)代碼(ALSvcCode)的應(yīng)用層服務(wù)類型(ALSvcType)。
7.根據(jù)權(quán)利要求6的方法,其中該應(yīng)用層服務(wù)類型(ALSvcType)為請(qǐng)求-響應(yīng)-消息,只-請(qǐng)求-消息,重復(fù)-消息以及只-事件-消息之一。
8.根據(jù)權(quán)利要求7的方法,其中該應(yīng)用層服務(wù)類型(ALSvcType)包括第一代碼,如果應(yīng)用層服務(wù)(ALService)為請(qǐng)求-響應(yīng)-消息;第二代碼,如果應(yīng)用層服務(wù)(ALService)為只-請(qǐng)求-消息;第三代碼,如果應(yīng)用層服務(wù)(ALService)為重復(fù)-消息;以及第四代碼,如果應(yīng)用層服務(wù)(ALService)為只-事件-消息。
9.根據(jù)權(quán)利要求7的方法,其中該第一代碼為‘0’,第二代碼為‘1’,第三代碼為‘2’并且第四代碼為‘3’。
10.根據(jù)權(quán)利要求1的方法,其中該服務(wù)說明包括通信周期號(hào)(CycleNo),該通信周期號(hào)(CycleNo)表示根據(jù)一種原語的多個(gè)通信周期。
11.根據(jù)權(quán)利要求1的方法,其中該服務(wù)說明包括通信周期標(biāo)識(shí)符(CycleID)。
12.根據(jù)權(quán)利要求1的方法,進(jìn)一步包括步驟完成通信周期。
13.根據(jù)權(quán)利要求12的方法,其中該完成步驟包括子步驟進(jìn)行第一確定,關(guān)于在從服務(wù)執(zhí)行開始的服務(wù)超時(shí)(SvcTimeOut)內(nèi)是否接收到了網(wǎng)絡(luò)層完成原語(NLCompleted)。
14.根據(jù)權(quán)利要求13的方法,其中如果,在第一確定步驟中,在服務(wù)超時(shí)(SvcTimeOut)內(nèi)接收到了網(wǎng)絡(luò)層完成原語(NLCompleted),則通信周期號(hào)(CycleNo)減少預(yù)定值,并且如果沒有,則將通信周期號(hào)(CycleNo)設(shè)置為‘0’。
15.根據(jù)權(quán)利要求11的方法,其中該完成步驟進(jìn)一步包括子步驟進(jìn)行第二確定,關(guān)于該通信周期號(hào)(CycleNo)是否為‘0’。
16.根據(jù)權(quán)利要求15的方法,其中如果,在第二確定步驟中,該通信周期號(hào)(CycleNo)為‘0’,則刪除該服務(wù)說明,并且如果不是,則生成通信周期標(biāo)識(shí)符(CycleID)或組成APDU。
17.根據(jù)權(quán)利要求13的方法,其中該完成步驟進(jìn)一步包括步驟如果,在第一確定步驟的完成中,在服務(wù)超時(shí)(SvcTimeOut)失效之前接收到了網(wǎng)絡(luò)層完成原語(NLCompleted)或者如果該服務(wù)超時(shí)(SvcTimeOut)失效了,則刪除該服務(wù)說明。
18.根據(jù)權(quán)利要求1至16之一的方法,其中應(yīng)用該協(xié)議于主裝置。
19.根據(jù)權(quán)利要求18的方法,進(jìn)一步包括步驟在服務(wù)說明被刪除之后,將應(yīng)用層完成原語(ALCompleted)傳輸至應(yīng)用軟件。
20.根據(jù)權(quán)利要求18的方法,進(jìn)一步包括步驟在生成通信周期標(biāo)識(shí)符(CycleID)之后,查找對(duì)應(yīng)于該生成的通信周期標(biāo)識(shí)符(CycleID)的預(yù)存服務(wù)說明,以便于根據(jù)該查找結(jié)果確定是否生成服務(wù)說明。
21.根據(jù)權(quán)利要求18的方法,進(jìn)一步包括步驟在接收到原語之后,根據(jù)包括在該原語中的應(yīng)用層服務(wù)代碼(ALSvcCode)分割通信周期;以及根據(jù)分割后的通信周期生成請(qǐng)求或通知消息,其中在APDU的組成步驟期間分割通信周期以及生成請(qǐng)求或通知消息。
22.根據(jù)權(quán)利要求21的方法,其中該原語為用戶請(qǐng)求原語(UserReq)。
23.根據(jù)權(quán)利要求22的方法,其中,在分割步驟中分割出對(duì)應(yīng)于用戶請(qǐng)求原語(UserReq)的單個(gè)通信周期,并且在請(qǐng)求消息生成步驟中生成單個(gè)請(qǐng)求消息。
24.根據(jù)權(quán)利要求22的方法,其中該通信周期號(hào)(CycleNo)包括‘1’。
25.根據(jù)權(quán)利要求21的方法,其中該原語為用戶下載請(qǐng)求原語(UserDLReq)或用戶上傳請(qǐng)求原語(UserULReq)。
26.根據(jù)權(quán)利要求23的方法,其中在分割步驟中分割出對(duì)應(yīng)于該原語的多個(gè)通信周期,并且在請(qǐng)求消息生成步驟中生成多個(gè)請(qǐng)求消息;以及其中在完成一個(gè)請(qǐng)求消息的通信周期時(shí)就進(jìn)行下一請(qǐng)求消息的通信周期的處理。
27.根據(jù)權(quán)利要求26的方法,其中該通信周期號(hào)(CycleNo)包括根據(jù)下載或上傳過程的被分割數(shù)據(jù)的數(shù)量。
28.根據(jù)權(quán)利要求1至12以及17之一的方法,其中該協(xié)議被應(yīng)用于從裝置。
29.根據(jù)權(quán)利要求28的方法,進(jìn)一步包括步驟在生成通信周期標(biāo)識(shí)符(CycleID)之后,查找對(duì)應(yīng)于已生成的通信周期標(biāo)識(shí)符(CycleID)的預(yù)存服務(wù)說明;以及根據(jù)該查找結(jié)果,等待直到刪除該被查找的服務(wù)說明。
30.根據(jù)權(quán)利要求28的方法,進(jìn)一步包括步驟在接收到原語之后,將數(shù)據(jù)接收功能設(shè)置為禁用狀態(tài);以及生成包括原語中的事件代碼(EventCode)以及狀態(tài)變量(StateVariable)的事件消息,其中該事件消息被包括在組成APDU中。
31.根據(jù)權(quán)利要求28的方法,其中通信周期標(biāo)識(shí)符(CycleID)的節(jié)點(diǎn)地址包括每個(gè)主裝置的節(jié)點(diǎn)地址。
32.根據(jù)權(quán)利要求30的方法,進(jìn)一步包括步驟在刪除了服務(wù)說明之后,將數(shù)據(jù)接收功能設(shè)置為使能狀態(tài)。
33.根據(jù)權(quán)利要求1的方法,其中該協(xié)議為生活網(wǎng)絡(luò)控制協(xié)議(LnCP)。
34.一種基于一協(xié)議用于應(yīng)用層的數(shù)據(jù)處理方法,其中該預(yù)定協(xié)議由至少下層和應(yīng)用層組成,該方法包括步驟從下層接收包括應(yīng)用層協(xié)議數(shù)據(jù)單元(APDU)的請(qǐng)求消息接收原語(ReqMsgRcv);進(jìn)行關(guān)于是否處理該APDU的第一確定;根據(jù)第一確定的結(jié)果,從APDU中提取出消息;根據(jù)請(qǐng)求消息接收原語(ReqMsgRcv)進(jìn)行關(guān)于是否生成服務(wù)說明的第二確定;根據(jù)第二確定的結(jié)果,生成服務(wù)說明;生成包括該消息的用戶請(qǐng)求接收原語(UserReqRcv);以及將生成的用戶請(qǐng)求接收原語(UserReqRcv)傳輸給應(yīng)用軟件。
35.根據(jù)權(quán)利要求34的方法,進(jìn)一步包括步驟在原語接收步驟之后,將數(shù)據(jù)接收功能設(shè)置為禁用狀態(tài)。
36.根據(jù)權(quán)利要求34的方法,其中根據(jù)APDU中應(yīng)用層選項(xiàng)(ALO)字段的值是否包括預(yù)定值來進(jìn)行第一確定。
37.根據(jù)權(quán)利要求36的方法,其中使用APDU中APDU報(bào)頭長度(AHL)字段的值來提取消息。
38.根據(jù)權(quán)利要求34的方法,其中根據(jù)包括在請(qǐng)求消息接收原語(ReqMsgRcv)中的網(wǎng)絡(luò)層服務(wù)(NLService)來進(jìn)行第二確定。
39.根據(jù)權(quán)利要求38的方法,其中如果,在第二確定步驟中,該網(wǎng)絡(luò)層服務(wù)(NLService)為肯定應(yīng)答,則生成服務(wù)說明,并且如果該網(wǎng)絡(luò)層服務(wù)(NLService)為否定應(yīng)答,則不生成服務(wù)說明。
40.根據(jù)權(quán)利要求34的方法,其中該服務(wù)說明包括應(yīng)用層服務(wù)代碼(ALSvcCode),應(yīng)用層服務(wù)類型(ALSvcType),通信周期號(hào)(CycleNo),以及通信周期標(biāo)識(shí)符(CycleID)。
41.根據(jù)權(quán)利要求40的方法,其中該應(yīng)用層服務(wù)類型(ALSvcType)包括請(qǐng)求-響應(yīng)-消息。
42.根據(jù)權(quán)利要求40的方法,其中該應(yīng)用層服務(wù)代碼(ALSvcCode)包括包括在原語中的目的地址(DstAddress)以及包括在被提取消息中的命令代碼;其中該應(yīng)用層服務(wù)類型(ALSvcType)包括應(yīng)用層服務(wù)代碼(ALSvcCode)值以及包括在原語中的網(wǎng)絡(luò)層服務(wù)(NLService);其中該通信周期號(hào)(CycleNo)包括一種原語的固定值;其中該通信周期標(biāo)識(shí)符(CycleID)包括已生成的通信周期標(biāo)識(shí)符(CycleID)。
43.根據(jù)權(quán)利要求42的方法,其中該應(yīng)用層服務(wù)類型(ALSvcType)包括表示肯定應(yīng)答服務(wù)的代碼。
44.根據(jù)權(quán)利要求35或39的方法,進(jìn)一步包括步驟如果請(qǐng)求消息接收原語(ReqMsgRcv)的網(wǎng)絡(luò)層服務(wù)(NLService)為否定應(yīng)答,在傳輸了用戶請(qǐng)求接收原語(UserReqRcv)之后將數(shù)據(jù)接收功能設(shè)置為使能狀態(tài)。
45.根據(jù)權(quán)利要求34的方法,其中該協(xié)議為生活網(wǎng)絡(luò)控制協(xié)議(LnCP)。
46.一種基于一協(xié)議用于應(yīng)用層的數(shù)據(jù)處理方法,其中該預(yù)定協(xié)議由至少下層和應(yīng)用層組成,該方法包括步驟從上層應(yīng)用軟件接收用戶響應(yīng)發(fā)送原語(UserResSend);根據(jù)該用戶響應(yīng)發(fā)送原語(UserResSend)生成響應(yīng)消息;組成包括該響應(yīng)消息的應(yīng)用層協(xié)議數(shù)據(jù)單元(APDU);以及使用預(yù)存服務(wù)說明將該APDU傳輸至網(wǎng)絡(luò)層。
47.根據(jù)權(quán)利要求46的方法,進(jìn)一步包括步驟完成通信周期。
48.根據(jù)權(quán)利要求47的方法,其中該完成步驟包括子步驟進(jìn)行第一確定,關(guān)于來自網(wǎng)絡(luò)層的服務(wù)執(zhí)行時(shí)間是否在服務(wù)超時(shí)(SvcTimeOut)之內(nèi);以及根據(jù)第一確定的結(jié)果,進(jìn)行第二確定,關(guān)于是否接收網(wǎng)絡(luò)層完成原語(NLCompleted)。
49.根據(jù)權(quán)利要求48的方法,進(jìn)一步包括子步驟刪除服務(wù)說明。
50.根據(jù)權(quán)利要求48或49的方法,其中如果,在第一確定步驟中,該服務(wù)執(zhí)行時(shí)間在服務(wù)超時(shí)(SvcTimeOut)之內(nèi),則進(jìn)行第二確定步驟,并且如果不是,則刪除服務(wù)說明;其中如果,在第二確定步驟中,接收到了網(wǎng)絡(luò)層完成原語(NLCompleted),則刪除服務(wù)說明,并且如果不是,則執(zhí)行第一確定步驟。
51.根據(jù)權(quán)利要求49的方法,進(jìn)一步包括步驟在刪除了服務(wù)說明之后,將數(shù)據(jù)接收功能設(shè)置為使能狀態(tài)。
52.根據(jù)權(quán)利要求46的方法,其中使用包括在用戶響應(yīng)發(fā)送原語(UserResSend)中的響應(yīng)數(shù)據(jù)(ResData)來生成響應(yīng)消息。
53.根據(jù)權(quán)利要求46的方法,其中該協(xié)議為生活網(wǎng)絡(luò)控制協(xié)議(LnCP)。
54.一種基于一協(xié)議用于應(yīng)用層的數(shù)據(jù)處理方法,其中該預(yù)定協(xié)議至少由下層和應(yīng)用層組成,該方法包括步驟從下層接收包括應(yīng)用層協(xié)議數(shù)據(jù)單元(APDU)的消息接收原語(MsgRcv);進(jìn)行關(guān)于是否處理該APDU的第一確定;根據(jù)第一確定的結(jié)果,從APDU中提取出消息;進(jìn)行關(guān)于是否存在相應(yīng)的服務(wù)說明的第二確定;根據(jù)第二確定的結(jié)果,生成預(yù)定原語;以及將生成的原語傳輸給上層的應(yīng)用軟件。
55.根據(jù)權(quán)利要求54的方法,其中根據(jù)APDU中應(yīng)用層選項(xiàng)(ALO)字段的值是否包括預(yù)定值來進(jìn)行第一確定。
56.根據(jù)權(quán)利要求55的方法,其中使用APDU中APDU報(bào)頭長度(AHL)字段的值來提取消息。
57.根據(jù)權(quán)利要求54的方法,其中如果,在第二確定步驟中,查找到了對(duì)應(yīng)于包括在消息接收原語(MsgRcv)中的通信周期標(biāo)識(shí)符(CycleID)的服務(wù)說明,則該消息接收原語(MsgRcv)包括響應(yīng)消息。
58.根據(jù)權(quán)利要求57的方法,其中在原語生成步驟中生成用戶響應(yīng)原語(UserRes)。
59.根據(jù)權(quán)利要求54的方法,進(jìn)一步包括步驟進(jìn)行關(guān)于該提取出的消息是否為事件消息的第三確定,其中如果,在第二確定步驟中,沒有查找到對(duì)應(yīng)于包括在消息接收原語(MsgRcv)中的通信周期標(biāo)識(shí)符(CycleID)的服務(wù)說明,則執(zhí)行第三確定步驟。
60.根據(jù)權(quán)利要求59的方法,其中如果,在第三確定步驟中,該提取出的消息就是事件消息,則在原語生成步驟中生成用戶事件接收原語(UserEventRcv)。
61.根據(jù)權(quán)利要求59的方法,進(jìn)一步包括步驟如果提取出的消息不是事件消息,則忽略提取出的消息。
62.根據(jù)權(quán)利要求59至61之一的方法,其中通過比較和確定提取出的消息的命令代碼是否等于事件消息的預(yù)定值來進(jìn)行第三確定。
63.根據(jù)權(quán)利要求54的方法,其中該協(xié)議為生活網(wǎng)絡(luò)控制協(xié)議(LnCP)。
全文摘要
本發(fā)明公開了一種基于生活網(wǎng)絡(luò)控制協(xié)議用于應(yīng)用層的數(shù)據(jù)處理方法。該用于應(yīng)用層的數(shù)據(jù)處理方法基于預(yù)定協(xié)議,其中該預(yù)定協(xié)議由至少下層和應(yīng)用層組成,該方法包括步驟從上層應(yīng)用軟件接收預(yù)定原語;根據(jù)該原語生成通信周期標(biāo)識(shí)符(CycleID);根據(jù)該原語和通信周期標(biāo)識(shí)符(CycleID)生成服務(wù)說明;組成包括該原語的應(yīng)用層協(xié)議數(shù)據(jù)單元(APDU);以及將該APDU傳輸至下層。
文檔編號(hào)H04L12/16GK1938986SQ200580010460
公開日2007年3月28日 申請(qǐng)日期2005年3月31日 優(yōu)先權(quán)日2004年3月31日
發(fā)明者白承勉, 李君錫, 金容臺(tái) 申請(qǐng)人:Lg電子株式會(huì)社