專利名稱:用于數(shù)據(jù)鏈路層的數(shù)據(jù)接收方法以及傳送方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于數(shù)據(jù)鏈路層的數(shù)據(jù)接收方法以及傳送方法,并且更具體地,涉及一種用于基于LnCP(生活網(wǎng)絡(luò)控制協(xié)議)的家庭網(wǎng)絡(luò)系統(tǒng)的數(shù)據(jù)鏈路層的數(shù)據(jù)接收方法以及傳送方法。
背景技術(shù):
家庭網(wǎng)絡(luò)連接各種數(shù)字家庭設(shè)備,使得用戶在室內(nèi)或戶外都能夠一直享受到便捷、安全以及經(jīng)濟(jì)的生活服務(wù)。由于數(shù)字信號處理技術(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)主裝置的請求以及根據(jù)電子設(shè)備的特性或其他因素來通知狀態(tài)變化。典型的電子裝置包括用于生活網(wǎng)絡(luò)服務(wù)的家庭設(shè)備例如洗衣機(jī)和電冰箱,用于數(shù)據(jù)網(wǎng)絡(luò)服務(wù)以及娛樂網(wǎng)絡(luò)服務(wù)的家庭設(shè)備,以及產(chǎn)品例如燃?xì)忾y控制裝置,自動(dòng)門裝置以及電燈。
但是,傳統(tǒng)技術(shù)沒有提出一個(gè)通用的通信標(biāo)準(zhǔn),用于提供對家庭網(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è)目的就是提供在數(shù)據(jù)鏈路層的數(shù)據(jù)接收方法以及傳送方法,用于基于一控制協(xié)議的家庭網(wǎng)絡(luò)系統(tǒng),其中該控制協(xié)議是一個(gè)通用的通信標(biāo)準(zhǔn),用于提供對家庭網(wǎng)絡(luò)系統(tǒng)中的電子裝置進(jìn)行控制和監(jiān)視的功能。
本發(fā)明的另一個(gè)目的就是提供在數(shù)據(jù)鏈路層的數(shù)據(jù)接收方法,用于接收多個(gè)只與要組成的信息包相關(guān)的幀。
本發(fā)明的再另一個(gè)目的就是提供在數(shù)據(jù)鏈路層的數(shù)據(jù)接收方法,用于當(dāng)一個(gè)信息包已經(jīng)由多個(gè)與該信息包相關(guān)的已接收幀組成時(shí),防止接收和/或存儲(chǔ)額外的幀。
本發(fā)明的再另一個(gè)目的就是提供在數(shù)據(jù)鏈路層的數(shù)據(jù)傳輸方法,用于更有效地根據(jù)網(wǎng)絡(luò)狀態(tài)從上層傳輸信息包。
本發(fā)明的再另一個(gè)目的就是提供在數(shù)據(jù)鏈路層的數(shù)據(jù)傳輸方法,用于防止通過網(wǎng)絡(luò)的信息包沖突。
本發(fā)明的再另一個(gè)目的就是提供在數(shù)據(jù)鏈路層的數(shù)據(jù)接收方法,用于根據(jù)信息包傳輸期間的重試計(jì)數(shù)來完成數(shù)據(jù)傳輸。
本發(fā)明的再另一個(gè)目的就是提供在數(shù)據(jù)鏈路層的數(shù)據(jù)接收方法,用于根據(jù)在信息包傳輸中花費(fèi)的傳輸執(zhí)行時(shí)間來完成數(shù)據(jù)傳輸。
本發(fā)明的再另一個(gè)目的就是提供在數(shù)據(jù)鏈路層的數(shù)據(jù)接收方法,用于通過將可變傳輸延時(shí)應(yīng)用于信息包傳輸來增加成功信息包重發(fā)概率。
為了實(shí)現(xiàn)本發(fā)明的上述目的,提供一種用于一個(gè)協(xié)議的數(shù)據(jù)鏈路層的數(shù)據(jù)接收方法,其中該協(xié)議由物理層、數(shù)據(jù)鏈路層以及上層組成,并且該方法包括如下步驟從物理層接收數(shù)據(jù);將接收到的數(shù)據(jù)存儲(chǔ)在信息包緩沖器中;確定自從最后的數(shù)據(jù)被接收以來在預(yù)定的數(shù)據(jù)允許間隔時(shí)間內(nèi)是否已經(jīng)接收到了新數(shù)據(jù);以及根據(jù)該第一確定的結(jié)果,完成對數(shù)據(jù)的接收。
本發(fā)明的另一個(gè)方面提供了一種用于數(shù)據(jù)鏈路層的數(shù)據(jù)傳送方法,其中該數(shù)據(jù)鏈路層屬于一個(gè)協(xié)議,該協(xié)議包括至少物理層、數(shù)據(jù)鏈路層以及上層,并且基于該協(xié)議的網(wǎng)絡(luò)被用于在家庭網(wǎng)絡(luò)系統(tǒng)中的至少一個(gè)電子裝置以及至少一個(gè)網(wǎng)絡(luò)管理器之間進(jìn)行相互通信,并且該數(shù)據(jù)鏈路層將信息包從上層傳輸至物理層,其中該方法包括步驟第一檢查步驟,用于檢查該網(wǎng)絡(luò)狀態(tài)是否為空閑狀態(tài);根據(jù)該第一檢查步驟的結(jié)果,選擇一個(gè)傳輸延遲時(shí)間(RadomDelayTime);第二檢查步驟,用于檢查在被選中的傳輸延遲時(shí)間(RadomDelayTime)期間該網(wǎng)絡(luò)狀態(tài)是否為空閑狀態(tài);以及根據(jù)該第二檢查步驟的結(jié)果,將接收到的信息包傳輸至物理層。
本發(fā)明的再另一個(gè)方面提供了一種用于數(shù)據(jù)鏈路層的數(shù)據(jù)傳送方法,其中該數(shù)據(jù)鏈路層屬于一個(gè)協(xié)議,該協(xié)議包括至少物理層、數(shù)據(jù)鏈路層以及上層,并且基于該協(xié)議的網(wǎng)絡(luò)被用于在家庭網(wǎng)絡(luò)系統(tǒng)中的至少一個(gè)電子裝置以及至少一個(gè)網(wǎng)絡(luò)管理器之間進(jìn)行相互通信,并且該數(shù)據(jù)鏈路層將信息包從上層傳輸至物理層,其中該方法包括如下步驟用于檢查該網(wǎng)絡(luò)狀態(tài)是否處于空閑狀態(tài);根據(jù)該檢查結(jié)果,將接收到的信息包傳送至物理層;以及確定該信息包是否被成功傳輸。
本發(fā)明的再另一個(gè)方面提供了一種用于數(shù)據(jù)鏈路層的數(shù)據(jù)傳送方法,其中該數(shù)據(jù)鏈路層屬于是一個(gè)協(xié)議,該協(xié)議包括至少物理層、數(shù)據(jù)鏈路層以及上層,并且基于該協(xié)議的網(wǎng)絡(luò)被用于在家庭網(wǎng)絡(luò)系統(tǒng)中的至少一個(gè)電子裝置以及至少一個(gè)網(wǎng)絡(luò)管理器之間進(jìn)行相互通信,并且該數(shù)據(jù)鏈路層將信息包從上層傳輸至物理層,其中該方法包括如下步驟第一檢查步驟,用于檢查該網(wǎng)絡(luò)狀態(tài)是否為空閑狀態(tài);根據(jù)該第一檢查步驟的結(jié)果,在預(yù)定的競爭窗口(Wc)范圍內(nèi)選擇一個(gè)傳輸延遲時(shí)間(RadomDelayTime),其中該范圍是根據(jù)接收到的信息包的服務(wù)優(yōu)先權(quán)SvcPriority定義的;第二檢查步驟,用于檢查在被選中的傳輸延遲時(shí)間(RadomDelayTime)期間該網(wǎng)絡(luò)狀態(tài)是否為空閑狀態(tài);以及根據(jù)該第二檢查步驟的結(jié)果,將接收到的信息包傳輸至物理層。
圖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為說明根據(jù)本發(fā)明的用于數(shù)據(jù)鏈路層的數(shù)據(jù)接收方法的流程圖;圖12說明了由根據(jù)本發(fā)明的數(shù)據(jù)接收方法處理的幀;
圖13為說明根據(jù)本發(fā)明的用于數(shù)據(jù)鏈路層的數(shù)據(jù)傳輸方法的流程圖;以及圖14說明了由根據(jù)本發(fā)明的數(shù)據(jù)傳輸方法在每個(gè)電子裝置中處理的幀。
實(shí)現(xiàn)本發(fā)明的最佳模式下面將參照附圖對根據(jù)本發(fā)明用于數(shù)據(jù)鏈路層的數(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訪問LnCP服務(wù)器3,并且客戶端裝置4通過互聯(lián)網(wǎng)訪問LnCP服務(wù)器3。也就是說,該家庭網(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ù)定的登陸和退出過程對家庭網(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對LnCP服務(wù)器3進(jìn)行訪問并下載提供的內(nèi)容。
該家庭網(wǎng)絡(luò)系統(tǒng)1包括家庭網(wǎng)關(guān)10,用于接入互聯(lián)網(wǎng)2,網(wǎng)絡(luò)管理器20-23,用于設(shè)置環(huán)境以及管理電子裝置40-49,LnCP路由器30和31,用于接入在傳輸介質(zhì)之間,LnCP適配器35和36,用于將網(wǎng)絡(luò)管理器22以及電子裝置連接至傳輸介質(zhì),以及多個(gè)電子裝置40-49。
該家庭網(wǎng)絡(luò)系統(tǒng)1的網(wǎng)絡(luò)是通過利用共享傳輸介質(zhì)將電子裝置40-49連接在一塊而形成的。數(shù)據(jù)鏈路層使用非標(biāo)準(zhǔn)化傳輸介質(zhì)例如RS-485或更小的輸出RF,或者標(biāo)準(zhǔn)化的傳輸介質(zhì)例如電源線以及IEEE802.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)于主裝置的請求并通知它們的狀態(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)對電子裝置40-49和/或LnCP路由器30和31和/或LnCP適配器35和36進(jìn)行標(biāo)識。根據(jù)預(yù)定的標(biāo)準(zhǔn)(全部相同的產(chǎn)品,產(chǎn)品的安裝空間,用戶等),一次可以使用一組地址,用于標(biāo)識至少一個(gè)電子裝置40-49和/或至少一個(gè)LnCP路由器30和301和/或至少一個(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,用于提供對共享傳輸介質(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ù),以及對網(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ì)例如電源線,IEEE802.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è)家庭代碼都由64個(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到AL0的長度),成功地具有3個(gè)字節(jié)并且可擴(kuò)展至7個(gè)字節(jié)。在LnCP中,該APDU報(bào)頭可以被擴(kuò)展至7個(gè)字節(jié),用于對消息字段進(jìn)行編碼以及改變應(yīng)用協(xié)議。
應(yīng)用層選項(xiàng)(ALO)字段擴(kuò)展了消息集。例如,當(dāng)ALO字段被設(shè)置為0時(shí),如果ALO字段中含有不同值,則消息處理就被忽略掉。
消息字段對來自用戶的控制消息或事件信息進(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。
目標(biāo)地址(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)于主裝置的請求時(shí),該從裝置從主裝置獲取請求消息的優(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包括請求信息包,響應(yīng)信息包,以及通知信息包。主裝置的NPT字段必須被設(shè)置為請求信息包或通知信息包,從裝置的NPT字段必須被設(shè)置為響應(yīng)信息包或通知信息包。表3根據(jù)信息包的種類示出了NPT數(shù)值。
表3
傳輸計(jì)數(shù)器(TC)字段為2位字段,當(dāng)網(wǎng)絡(luò)層70中出現(xiàn)了通信錯(cuò)誤,使其無法準(zhǔn)確地傳送請求信息包或響應(yīng)信息包時(shí),為了加強(qiáng)通知信息包的傳輸成功率,重新傳輸請求信息包或重復(fù)地傳送通知信息包。表4根據(jù)NPT數(shù)值示出了TC字段的數(shù)值范圍。
表4
信息包號(PN)字段由2個(gè)字節(jié)組成,其與TC一塊使用,用于檢測從裝置中的復(fù)制信息包,并且被用于處理主裝置中的多個(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)為是一個(gè)錯(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ì)例如電源線IEEE802.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的功能就是傳輸和接收物理信號至傳輸介質(zhì)。該數(shù)據(jù)鏈路層80可以使用非標(biāo)準(zhǔn)化傳輸介質(zhì)例如RS-482或更小的輸出RF或者標(biāo)準(zhǔn)化的傳輸介質(zhì)例如電源線或IEEE802.11作為LnCP的物理層90。使用LnCP的家庭網(wǎng)絡(luò)系統(tǒng)1采用通用異步收發(fā)器(UART)幀結(jié)構(gòu)和RS-232信號電平,使得網(wǎng)絡(luò)管理器20-23以及電子裝置40-49能夠與RS-485,LnCP路由器30和31或LnCP適配器35和36連接。當(dāng)UART使用串行總線連接在裝置之間時(shí),該UART控制通信線路上的位信號流。在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)尾。
下面將對在前面的層中使用的節(jié)點(diǎn)參數(shù)進(jìn)行說明。
下面提到的節(jié)點(diǎn)參數(shù)的數(shù)據(jù)類型相當(dāng)于表6的少數(shù)幾個(gè)數(shù)據(jù)類型之一。
表6
數(shù)據(jù)鏈路層80規(guī)定了一個(gè)介質(zhì)訪問控制(MAC)函數(shù),用于接入共享傳輸介質(zhì)。當(dāng)使用非標(biāo)準(zhǔn)化傳輸介質(zhì)例如RS-485時(shí),該數(shù)據(jù)鏈路層80采用了概率延遲載波監(jiān)聽多路訪問(p-DCSMA)作為介質(zhì)訪問控制協(xié)議,并且當(dāng)使用標(biāo)準(zhǔn)化傳輸介質(zhì)例如電源線或IEEE802.11時(shí),通過相應(yīng)的協(xié)議來規(guī)定該數(shù)據(jù)鏈路層80。
表7示出了在使用UART幀的數(shù)據(jù)鏈路層80中使用的節(jié)點(diǎn)參數(shù)值。假設(shè)物理層9的傳輸速率為4800bps設(shè)置每個(gè)參數(shù)的時(shí)間。在此,一個(gè)信息單元時(shí)間被計(jì)算為2.1ms。
表7
圖11為說明根據(jù)本發(fā)明的用于數(shù)據(jù)鏈路層的數(shù)據(jù)接收方法的流程圖。
參看圖11,在步驟S51中,在來自物理層90的幀被傳輸之前或之后,確定數(shù)據(jù)鏈路層80是否已經(jīng)準(zhǔn)備好了接收該幀。如果數(shù)據(jù)鏈路層80已經(jīng)生成了另一個(gè)信息包,其中該信息包具有已經(jīng)接收到的幀,或者處于信息包傳輸期間(即,將要被描述的S56~S58),則可以確定該數(shù)據(jù)鏈路層80沒有準(zhǔn)備好接收該幀。這樣,該被接收的幀就沒有被處理,并且該數(shù)據(jù)接收方法在這里結(jié)束。但是,如果證明是該數(shù)據(jù)鏈路層80已經(jīng)準(zhǔn)備好接收該幀,則該方法進(jìn)行至下一步驟S52。
在步驟S52中,該數(shù)據(jù)鏈路層80從物理層90接收該幀,并將其存儲(chǔ)在信息包緩沖器(未示出)中。實(shí)際上,該數(shù)據(jù)鏈路層80順序地從物理層90接收多個(gè)幀,以便于組成一個(gè)信息包,并將它們存儲(chǔ)在信息包緩沖器中。
在步驟S53中,該數(shù)據(jù)鏈路層80將最后被傳輸幀與新幀的之間的間隔(在下文中被簡稱為“幀間隔”)與幀允許時(shí)間間隔FrameTimeOut進(jìn)行比較。如果該幀間隔小于幀允許時(shí)間間隔FrameTimeOut,即如果自從最后幀以來在幀允許時(shí)間間隔FrameTimeOut之內(nèi)已經(jīng)接收到了新幀,則就意味著最后幀和新幀應(yīng)該被包括在同一信息包中。在這種情況下,數(shù)據(jù)鏈路層80進(jìn)行接收新幀并將其存儲(chǔ)在信息包緩沖器中的步驟(即,S52)。另一方面,如果幀間隔大于或等于幀允許時(shí)間間隔FrameTimeOut,也就是說,如果在幀允許時(shí)間間隔FrameTimeOut期間沒有傳輸新幀,則就意味著最后幀和新幀應(yīng)該被包括在彼此不相同的信息包中。因此,該數(shù)據(jù)鏈路層80將該點(diǎn)之前事先接收到的幀(包括最后幀)存儲(chǔ)到信息包緩沖器中,并且該方法進(jìn)行至下一步驟S54。
在步驟S54中,該數(shù)據(jù)鏈路層80認(rèn)為這些幀屬于同一信息包,其中這些幀的幀間隔小于幀允許時(shí)間間隔FrameTimeOut,并不再從物理層90接收幀。
因此,在步驟S55中,數(shù)據(jù)鏈路層80禁止從物理層90接收幀。這種狀態(tài)在完成接收(所需)幀之后至少保持最小信息包允許時(shí)間間隔MinPktInterval,使得新幀不會(huì)在信息包緩沖器中被重疊。
在步驟S56中,數(shù)據(jù)鏈路層80將存儲(chǔ)在信息包緩沖器中的幀組成信息包NPDU。
在步驟S57中,數(shù)據(jù)鏈路層80將該信息包NPDU傳輸至上面的網(wǎng)絡(luò)層70。
在步驟S58中,數(shù)據(jù)鏈路層80等待,直到完成接收該幀之后經(jīng)過的時(shí)間等于或大于最小信息包允許時(shí)間間隔MinPktInterval。接著,在步驟S59中,該數(shù)據(jù)鏈路層80使能從物理層90接收幀。換句話說,該幀鏈路層80現(xiàn)在能夠接收新幀并組成新的信息包。
這里,最小信息包允許時(shí)間間隔MinPktInterval被設(shè)置為比接收幀的完成時(shí)間與通過網(wǎng)絡(luò)層70將信息包NPDU傳輸至應(yīng)用層60并完成信息包處理的時(shí)間之間的間隔更大的數(shù)值。這就可以確保數(shù)據(jù)鏈路層80沒有準(zhǔn)備好接收新幀或信息包,直到接收到的幀或其信息包被完全處理。通過這種方式,在同一層中接收多個(gè)幀或其信息包,并且沒有同時(shí)進(jìn)行它們的處理和傳輸。因此,可以更穩(wěn)定地接收、處理以及傳輸幀或信息包。
上述的數(shù)據(jù)接收方法以軟件程序的形式被存儲(chǔ)在預(yù)定的存儲(chǔ)裝置或存儲(chǔ)介質(zhì)中。
圖12說明了由根據(jù)本發(fā)明的數(shù)據(jù)接收方法處理的幀。
如圖12中所描述的,信息包A包括幀f1-f16。該數(shù)據(jù)鏈路層80首先接收幀f1(S52),并且該幀f1變成了當(dāng)前被接收的最后幀。在接收幀f1之后,在幀允許時(shí)間間隔FrameTimeout內(nèi)接收另一個(gè)幀f2(S53)。重復(fù)該幀接收過程(即,S52和S53),直到接收到了幀f16。從圖中可以看到,幀f8和f9之間的幀間隔大于其他的幀間隔,但是仍小于幀允許時(shí)間間隔FrameTimeout。這樣,幀f8和f9就被包括在同一信息包A中。
由于在最后幀f16之后的幀允許時(shí)間間隔FrameTimeout內(nèi)沒有接收到新幀‘f1,因此數(shù)據(jù)鏈路層80只將幀f1-f16組成了信息包A(S54)。
隨后,數(shù)據(jù)鏈路層80傳輸組成的信息包A,并且當(dāng)該信息包間隔變得大于最小信息包允許時(shí)間間隔MinPktInterval時(shí),該數(shù)據(jù)鏈路層80接收新幀‘f1,以組成新的信息包B。
圖13為說明根據(jù)本發(fā)明在數(shù)據(jù)鏈路層的數(shù)據(jù)傳輸方法的流程圖。
如上所述,該數(shù)據(jù)鏈路層80從網(wǎng)絡(luò)層70接收信息包NPDU/HCNPDU,并通過增加幀報(bào)頭和幀報(bào)尾來組成一個(gè)幀。接著通過物理層90將該組成的幀傳輸至一個(gè)網(wǎng)絡(luò)(例如圖1中所示的電源線網(wǎng)絡(luò),RS-485網(wǎng)絡(luò),RF網(wǎng)絡(luò)等)。在下面的說明中,當(dāng)說到數(shù)據(jù)鏈路層80傳輸一個(gè)幀的時(shí)候,實(shí)際上就是指數(shù)據(jù)鏈路層80傳輸一個(gè)幀,該幀包括來自網(wǎng)絡(luò)層70的信息包。因此,本發(fā)明的說明書和權(quán)利要求書就是基于如下的假設(shè)該數(shù)據(jù)鏈路層80將信息包從網(wǎng)絡(luò)層70傳輸至物理層90。
對于從網(wǎng)絡(luò)層70傳輸信息包,重試計(jì)數(shù)RetryCount被設(shè)置為‘0’。
現(xiàn)在參看圖13,在步驟S61,數(shù)據(jù)鏈路層80檢查網(wǎng)絡(luò)狀態(tài)LineStatus是否為空閑狀態(tài)LINE_IDLE。為此目的,該數(shù)據(jù)鏈路層80從物理層90接收關(guān)于網(wǎng)絡(luò)狀態(tài)的信息。如果該網(wǎng)絡(luò)狀態(tài)LineStatus為空閑狀態(tài)LINE_IDLE,則該方法進(jìn)行至下一步驟S62,而如果網(wǎng)絡(luò)狀態(tài)LineStatus為忙LINE_BUSY,則該方法進(jìn)行至步驟S71。
在步驟S62中,該數(shù)據(jù)鏈路層80檢查該網(wǎng)絡(luò)狀態(tài)LineStatus在最小信息包允許時(shí)間間隔MinPktInterval內(nèi)是否為空閑狀態(tài)LINE_IDLE。為了當(dāng)網(wǎng)絡(luò)管理器20-23以及電子裝置40-49通過網(wǎng)絡(luò)傳輸數(shù)據(jù)(信息包)時(shí)防止在網(wǎng)絡(luò)上出現(xiàn)數(shù)據(jù)沖突,設(shè)置了最小信息包允許時(shí)間間隔MinPktInterval。因此,為了防止數(shù)據(jù)沖突的相同目的,用于網(wǎng)絡(luò)管理器20-23以及電子裝置40-49的數(shù)據(jù)鏈路層80也在步驟S62中檢查該網(wǎng)絡(luò)狀態(tài)LineStatus在最小信息包允許時(shí)間間隔MinPktInterval內(nèi)是否為空閑狀態(tài)LINE_IDLE。如果該網(wǎng)絡(luò)狀態(tài)LineStatus在最小信息包允許時(shí)間間隔MinPktInterval內(nèi)變?yōu)槊INE_BUSY,則該方法進(jìn)行至步驟S71,否則該方法進(jìn)行至步驟S63。
在步驟S63,該數(shù)據(jù)鏈路層80隨機(jī)地通過接收到的信息包的SvcPriority值在預(yù)定的競爭窗口Wc范圍內(nèi)(參看表8)選擇傳輸延遲時(shí)間RadomDelayTime(前面提到的服務(wù)表示傳輸服務(wù),因此該服務(wù)優(yōu)先權(quán)在下面的說明中將被稱為‘傳輸優(yōu)先權(quán)’)。圖8根據(jù)傳輸優(yōu)先權(quán)示出了競爭窗口Wc范圍。
表8
如表8中所示,優(yōu)先權(quán)數(shù)值越高,即優(yōu)先權(quán)越低,競爭窗口Wc范圍就會(huì)越寬,并且它的下限也會(huì)增加。例如,在高優(yōu)先權(quán)的情況下,Wc范圍的下限為0并且其上限為5。類似地,在一般優(yōu)先權(quán)的情況下,Wc范圍的下限為10并且其上限為30。由于傳輸延遲時(shí)間RadomDelayTime是從競爭窗口Wc范圍內(nèi)隨機(jī)選出的,因此在較小優(yōu)先權(quán)數(shù)值中選擇較小傳輸延遲時(shí)間RadomDelayTime的概率相對就要高一些。
在步驟S64中,該數(shù)據(jù)鏈路層80檢查該網(wǎng)絡(luò)狀態(tài)LineStatus在被選擇的傳輸延遲時(shí)間RadomDelayTime內(nèi)是否為空閑狀態(tài)LINE_IDLE。特別地,為了防止網(wǎng)絡(luò)上的信息包沖突,執(zhí)行了步驟S64。如果該網(wǎng)絡(luò)狀態(tài)LineStatus為忙LINE_BUSY,則該方法進(jìn)行至步驟S68。但是,如果該網(wǎng)絡(luò)狀態(tài)LineStatus在傳輸延遲時(shí)間RadomDelayTime內(nèi)為空閑狀態(tài)LINE_IDLE,則該方法進(jìn)行至步驟S65。
在步驟S65中,該數(shù)據(jù)鏈路層80確定該信息包是否被成功地傳輸。為了得出這個(gè)結(jié)論,該數(shù)據(jù)鏈路層80將來自物理層90的信息包與網(wǎng)絡(luò)層70的信息包進(jìn)行比較。如果這兩個(gè)信息包是相同的,則該數(shù)據(jù)鏈路層80確定該信息包傳輸被成功地進(jìn)行,并且這樣,該方法進(jìn)行至步驟S67。但是,如果信息包不相同,則該方法進(jìn)行至步驟S68。
在步驟S67中,數(shù)據(jù)鏈路層80將傳輸?shù)慕Y(jié)果報(bào)告給網(wǎng)絡(luò)層70,其中該傳輸結(jié)果包括成功消息SEND_OK。
在步驟S68中,如果步驟S64中的網(wǎng)絡(luò)狀態(tài)LineStatus為忙LINE_BUSY或者如果在步驟S66中沒有成功地傳輸信息包,則用于被接收的信息包的重試計(jì)數(shù)RetryCount增加預(yù)定值。例如,雖然開始時(shí)重試計(jì)數(shù)RetryCount被設(shè)置為“0”,但是該重試計(jì)數(shù)RetryCount被增加至‘1’。
在步驟S69中,增加的重試計(jì)數(shù)RetryCount與預(yù)定補(bǔ)償重復(fù)次數(shù)BackOff Retries進(jìn)行比較。該補(bǔ)償重復(fù)次數(shù)BackOffRetries是指從數(shù)據(jù)鏈路層80到物理層90重新傳輸相同信息包的重試計(jì)數(shù)的最大值。還有,在步驟S69中,對于相同信息包的重試計(jì)數(shù)RetryCount被限制為補(bǔ)償重復(fù)次數(shù)BackOffRetries,以便于防止網(wǎng)絡(luò)管理器20-23以及電子裝置40-49只對于相同信息包的傳輸才使用它們的資源。如果該重試計(jì)數(shù)RetryCount大于或等于補(bǔ)償重復(fù)次數(shù)BackOffRetries,則該方法進(jìn)行至步驟S70,否則該方法進(jìn)行至步驟S71。
在步驟S70中,該數(shù)據(jù)鏈路層80將信息包傳輸?shù)慕Y(jié)果報(bào)告給網(wǎng)絡(luò)層70,其中該結(jié)果包括失敗消息SEND_FAILED。
在步驟S71中,該數(shù)據(jù)鏈路層80將接收到的信息包的傳輸執(zhí)行時(shí)間與預(yù)定最大傳輸允許時(shí)間MACExecTime進(jìn)行比較。該傳輸執(zhí)行時(shí)間是指直到該比較為止,信息包傳輸所花費(fèi)時(shí)間的總量。通過將一個(gè)信息包傳輸時(shí)間限制為最大傳輸允許時(shí)間MACExecTime以下的任何值,就可以防止網(wǎng)絡(luò)管理器20-23以及電子裝置40-49只對于相同的信息包才使用它們的資源。如果接收到的信息包的傳輸執(zhí)行時(shí)間大于最大傳輸允許時(shí)間MACExecTime,則數(shù)據(jù)鏈路層80將傳輸失敗消息SEND_FAILED報(bào)告給網(wǎng)絡(luò)層70(S70)。但是,如果接收到的信息包的傳輸執(zhí)行時(shí)間小于最大傳輸允許時(shí)間MACExecTime,則該方法進(jìn)行至步驟S72。
在步驟S72中,根據(jù)接收到的信息包的傳輸優(yōu)先權(quán)SvcPriority將競爭窗口Wc范圍改變預(yù)定偏移,并接著該方法進(jìn)行至步驟S61。
實(shí)際上,改變該Wc范圍就是為了改進(jìn)信息包傳輸?shù)目赡苄?。?A示出了通過根據(jù)傳輸優(yōu)先權(quán)的縮減值WindowShift來縮小競爭窗口Wc范圍。
表9A
假設(shè)如表9A中所示,競爭窗口Wc范圍被縮小。在中間傳輸優(yōu)先權(quán)SvcPriority的情況下,用于第一傳輸?shù)腤c范圍10-20被縮小至用于第二傳輸?shù)姆秶?-19,其上限和下限都被降低。這就意味著即使是比在步驟S63中選擇的傳輸延遲時(shí)間RadomDelayTime還小的數(shù)值也更有可能被選中。因此,可以在更短的時(shí)間內(nèi)再一次檢查網(wǎng)絡(luò)狀態(tài)LineStatus,其依次增加了信息包傳輸可能性。
在步驟S72中,也可以只對下限和上限之一減小上述的縮減值Window Shift。例如,該數(shù)據(jù)鏈路層80根據(jù)重試計(jì)數(shù)RetryCount固定上限,并且只將下限減小預(yù)定的縮減值WindowShift。
在步驟S72中,確保下限沒有跌到預(yù)定的偏移值以下是很重要的。在這種情況下,每個(gè)傳輸優(yōu)先權(quán)SvcPriority的下限能夠保持至少一個(gè)預(yù)定間隔。因此,即使是在重新傳輸(或重試)信息包期間,也根據(jù)傳輸優(yōu)先權(quán)SvcPriority而將傳輸可能性保持為不同值。
另外,在步驟S72中,為了通過網(wǎng)絡(luò)減少信息包沖突(可能性),根據(jù)傳輸優(yōu)先權(quán),競爭窗口Wc范圍被增加了圖9B中所示的縮減值WindowShift。
表9B
假設(shè)如表9B所示來增加競爭窗口Wc范圍。在中間傳輸優(yōu)先權(quán)SvcPriority的情況下,用于第一傳輸?shù)腤c范圍10-20被增加至用于第二傳輸?shù)姆秶?0-40,其上限和下限都增加20。這就意味著即使是比在步驟S63中選擇的傳輸延遲時(shí)間RadomDelayTime還大的數(shù)值也更有可能被選中。因此,可以在一個(gè)長時(shí)間內(nèi)再一次檢查網(wǎng)絡(luò)狀態(tài)LineStatus(Line_Status),其依次減少通過網(wǎng)絡(luò)的信息包沖突。
在步驟S72中,也可以只對下限和上限之一增加上述的增加值Window Shift。例如,該數(shù)據(jù)鏈路層80根據(jù)重試計(jì)數(shù)RetryCount固定下限,并且只將上限增加預(yù)定的增加值WindowShift。
根據(jù)本發(fā)明的數(shù)據(jù)傳輸方法,步驟S63、S64以及S72,步驟S68-S69,或者步驟S71都能夠隨意地被包括在內(nèi)。也就是說,數(shù)據(jù)傳輸方法可以由圖13中所示的全部步驟組成,或者也可以只由它們中的一部分步驟組成。
圖14說明了由根據(jù)本發(fā)明的數(shù)據(jù)傳輸方法在每個(gè)電子裝置中處理的幀。
特別地,圖14說明了4個(gè)電子裝置40-43,這4個(gè)電子裝置通過網(wǎng)絡(luò)同時(shí)傳輸或者準(zhǔn)備傳輸預(yù)定的信息包。例如,電子裝置40已經(jīng)處于傳輸信息包期間,而其他的電子裝置41-43只是準(zhǔn)備好傳輸信息包。
電子裝置41-43中的每一個(gè)都進(jìn)行步驟S61(請參看圖13),用以檢查網(wǎng)絡(luò)狀態(tài)LineState。接著,自從電子裝置40傳輸完成時(shí)間之后的最小信息包允許時(shí)間間隔MinPktInterval,該電子裝置41-43進(jìn)行步驟S62和S63,以根據(jù)它們接收到的信息包傳輸優(yōu)先權(quán)SvcPriority來選擇傳輸延遲時(shí)間RadomDelayTime。
回頭再看圖14,隨著時(shí)間的流逝,結(jié)果是電子裝置42具有最短的傳輸延遲時(shí)間RadomDelayTime。因此,電子裝置42傳輸該信息包(請參看圖13中的步驟S64和S65),并且其他電子裝置41-43在它們的傳輸延遲時(shí)間RadomDelayTime期間檢查網(wǎng)絡(luò)狀態(tài),并進(jìn)行至步驟S68之后的方法。在電子裝置42傳輸了預(yù)定的信息包之后,電子裝置41和43進(jìn)行如上所述的相同步驟。
如到目前為止所說明的,本發(fā)明提供了數(shù)據(jù)鏈路層的數(shù)據(jù)傳輸和接收方法,并根據(jù)控制協(xié)議用于家庭網(wǎng)絡(luò)系統(tǒng)中,其中該控制協(xié)議為普通通信標(biāo)準(zhǔn),用于對家庭網(wǎng)絡(luò)系統(tǒng)中的電子裝置進(jìn)行控制和監(jiān)視。
根據(jù)本發(fā)明,只接收多個(gè)與將要組成的信息包相關(guān)的幀。
另外,本發(fā)明可以被方便地用于當(dāng)一個(gè)信息包已經(jīng)由多個(gè)接收到的與該信息包相關(guān)的幀組成時(shí),防止額外的幀被接收和/或存儲(chǔ)。
根據(jù)本發(fā)明,來自上層的信息包可以被更有效地傳輸,這取決于網(wǎng)絡(luò)的狀態(tài)。
還有,本發(fā)明能夠被方便地用于防止通過網(wǎng)絡(luò)的信息包沖突。
根據(jù)本發(fā)明,根據(jù)信息包傳輸期間的重試計(jì)數(shù)來完成信息包傳輸。因此,可以防止網(wǎng)絡(luò)裝置使用它們的全部資源僅僅用于信息包傳輸。
并且,根據(jù)本發(fā)明,根據(jù)在信息包傳輸中花費(fèi)的傳輸執(zhí)行時(shí)間來完成信息包傳輸。因此可以防止網(wǎng)絡(luò)裝置使用它們的全部資源僅僅用于信息包傳輸。
進(jìn)一步,本發(fā)明可以方便地被用于通過對信息包傳輸采用可變傳輸延遲來增加成功信息包傳輸?shù)目赡苄裕湟来胃鶕?jù)隨機(jī)進(jìn)行的傳輸優(yōu)先權(quán)來進(jìn)行傳輸。
雖然已經(jīng)對本發(fā)明的優(yōu)選實(shí)施例進(jìn)行了描述,但可以理解的是,本發(fā)明應(yīng)該不僅限于這些優(yōu)選實(shí)施例,并且在后面所要求的本發(fā)明的精神和范圍內(nèi),本領(lǐng)域內(nèi)的技術(shù)人員能夠進(jìn)行各種改變和修改。
權(quán)利要求
1.一種用于一個(gè)協(xié)議的數(shù)據(jù)鏈路層的數(shù)據(jù)接收方法,其中該協(xié)議由物理層、數(shù)據(jù)鏈路層以及上層組成,該方法包括步驟從物理層接收數(shù)據(jù);將接收到的數(shù)據(jù)存儲(chǔ)在信息包緩沖器中;確定自從最后的數(shù)據(jù)被接收以來在預(yù)定的數(shù)據(jù)允許間隔時(shí)間內(nèi)是否已經(jīng)接收到了新數(shù)據(jù);以及根據(jù)該第一確定的結(jié)果,完成對數(shù)據(jù)的接收。
2.根據(jù)權(quán)利要求1的方法,其中如果,在確定步驟中,在數(shù)據(jù)允許間隔時(shí)間內(nèi)沒有接收到新數(shù)據(jù),則完成了對數(shù)據(jù)的接收,而如果在數(shù)據(jù)允許間隔時(shí)間內(nèi)接收到了新數(shù)據(jù),則該新數(shù)據(jù)被存儲(chǔ)在信息包緩沖器中。
3.根據(jù)權(quán)利要求1的方法,進(jìn)一步包括步驟在數(shù)據(jù)接收步驟之前確定該數(shù)據(jù)鏈路層是否準(zhǔn)備好接收數(shù)據(jù),并且如果該數(shù)據(jù)鏈路層已經(jīng)準(zhǔn)備好了,則接收該數(shù)據(jù)。
4.根據(jù)權(quán)利要求1-3之一的方法,進(jìn)一步包括步驟將存儲(chǔ)在信息包緩沖器中的數(shù)據(jù)組成一個(gè)信息包;以及將該組成的信息包傳輸該上層。
5.根據(jù)權(quán)利要求4的方法,進(jìn)一步包括步驟在完成接收數(shù)據(jù)之后以及組成信息包之前,禁用數(shù)據(jù)鏈路層的數(shù)據(jù)接收。
6.根據(jù)權(quán)利要求5的方法,進(jìn)一步包括步驟自從信息包傳輸?shù)念A(yù)定時(shí)間間隙之后,使能數(shù)據(jù)鏈路層的數(shù)據(jù)接收。
7.根據(jù)權(quán)利要求6的方法,其中該預(yù)定的時(shí)間為最小信息包允許時(shí)間間隔(MinPktInterval)。
8.根據(jù)權(quán)利要求7的方法,其中該最小信息包允許時(shí)間間隔(MinPkt Interval)大于接收信息包以及完成信息包處理時(shí)在上層花費(fèi)的時(shí)間。
9.根據(jù)權(quán)利要求1的方法,其中該協(xié)議為生活網(wǎng)絡(luò)控制協(xié)議(LnCP)。
10.一種用于數(shù)據(jù)鏈路層的數(shù)據(jù)傳送方法,其中該數(shù)據(jù)鏈路層屬于一個(gè)協(xié)議,該協(xié)議包括至少物理層、數(shù)據(jù)鏈路層以及上層,并且基于該協(xié)議的網(wǎng)絡(luò)被用于在家庭網(wǎng)絡(luò)系統(tǒng)中的至少一個(gè)電子裝置以及至少一個(gè)網(wǎng)絡(luò)管理者之間進(jìn)行相互通信,并且該數(shù)據(jù)鏈路層將信息包從上層傳輸至物理層,該方法包括步驟第一檢查步驟,用于檢查該網(wǎng)絡(luò)狀態(tài)是否為空閑狀態(tài);根據(jù)該第一檢查步驟的結(jié)果,選擇一個(gè)傳輸延遲時(shí)間(RadomDelayTime);第二檢查步驟,用于檢查在被選中的傳輸延遲時(shí)間(RadomDelayTime)期間該網(wǎng)絡(luò)狀態(tài)是否為空閑狀態(tài);以及根據(jù)該第二檢查步驟的結(jié)果,將接收到的信息包傳輸至物理層。
11.根據(jù)權(quán)利要求10的方法,其中在最小信息包允許時(shí)間間隔(MinPktInterval)期間進(jìn)行該第一網(wǎng)絡(luò)狀態(tài)檢查步驟。
12.根據(jù)權(quán)利要求10的方法,進(jìn)一步包括步驟進(jìn)行關(guān)于該信息包是否被成功傳輸?shù)牡谝淮_定。
13.根據(jù)權(quán)利要求12的方法,進(jìn)一步包括步驟根據(jù)第一確定的結(jié)果,將信息包傳輸?shù)慕Y(jié)果報(bào)告給上層。
14.根據(jù)權(quán)利要求13的方法,其中如果,在第一確定步驟中,該信息包被成功傳輸,則該傳輸結(jié)果中包括成功消息(SEND_OK)。
15.根據(jù)權(quán)利要求12的方法,進(jìn)一步包括步驟如果,在第二檢查步驟中,該網(wǎng)絡(luò)狀態(tài)為忙或如果,在第一確定步驟中,該信息包沒有被成功傳輸,則將已接收信息包的重試計(jì)數(shù)(RetryCount)增加預(yù)定值;在增加的重試計(jì)數(shù)(RetryCount)與預(yù)定補(bǔ)償重復(fù)次數(shù)(BackOffRetries)之間進(jìn)行第一比較;以及根據(jù)該第一比較的結(jié)果,將傳輸結(jié)果傳輸至上層。
16.根據(jù)權(quán)利要求15的方法,其中如果,在第一比較步驟中,增加的重試計(jì)數(shù)(RetryCount)大于預(yù)定補(bǔ)償重復(fù)次數(shù)(BackOffRetries),則該傳輸結(jié)果中包括失敗消息(SEND_FAILED)。
17.根據(jù)權(quán)利要求15的方法,其中如果,在第一比較步驟中,增加的重試計(jì)數(shù)(RetryCount)小于或等于預(yù)定補(bǔ)償重復(fù)次數(shù)(BackOffRetries),則再次從第一檢查步驟開始進(jìn)行所有的步驟。
18.根據(jù)權(quán)利要求10-17之一的方法,進(jìn)一步包括步驟在已接收信息包的傳輸執(zhí)行時(shí)間與預(yù)定的最大傳輸允許時(shí)間(MACExecTime)之間進(jìn)行第二比較,其中如果,在第一檢查步驟中,該網(wǎng)絡(luò)狀態(tài)為忙或如果,在第一比較步驟中,該增加的重試計(jì)數(shù)(RetryCount)小于或等于補(bǔ)償重復(fù)次數(shù)(BackOffRetries),則進(jìn)行第二比較步驟。
19.根據(jù)權(quán)利要求18的方法,進(jìn)一步包括步驟根據(jù)第二比較的結(jié)果,將傳輸結(jié)果傳輸至上層。
20.根據(jù)權(quán)利要求19的方法,其中如果,在第二比較步驟中,已接收信息包的傳輸執(zhí)行時(shí)間大于或等于預(yù)定的最大傳輸允許時(shí)間(MACExecTime),則該傳輸結(jié)果中包括失敗消息(SEND_FAILED)。
21.根據(jù)權(quán)利要求19的方法,其中如果,在第二比較步驟中,已接收信息包的傳輸執(zhí)行時(shí)間小于預(yù)定的最大傳輸允許時(shí)間(MACExecTime),則再次從第一檢查步驟開始進(jìn)行所有的步驟。
22.根據(jù)權(quán)利要求21的方法,其中根據(jù)已接收信息包的服務(wù)優(yōu)先權(quán)(SvcPriority)在預(yù)定競爭窗口(Wc)范圍內(nèi)選擇傳輸延遲時(shí)間(RadomDelayTime)。
23.根據(jù)權(quán)利要求23的方法,進(jìn)一步包括步驟在再次進(jìn)行第一檢查步驟之前,將競爭窗口(Wc)范圍改變預(yù)定大小,其中該預(yù)定大小是根據(jù)已接收信息包的服務(wù)優(yōu)先權(quán)(SvcPriority)而被設(shè)置的。
24.根據(jù)權(quán)利要求23的方法,其中,為了增加傳輸可能性,降低競爭窗口(Wc)范圍的下限和/或上限的大小。
25.根據(jù)權(quán)利要求24的方法,其中該下限只被降低至預(yù)定偏移值。
26.根據(jù)權(quán)利要求23的方法,其中,為了縮小傳輸沖突,增加競爭窗口(Wc)范圍的下限和/或上限的大小。
27.根據(jù)權(quán)利要求26的方法,其中該下限是固定的。
28.根據(jù)權(quán)利要求12-14之一的方法,其中該第一確定步驟包括子步驟將已傳輸信息包與已接收信息包進(jìn)行比較,并根據(jù)比較結(jié)果確定該信息包是否被成功傳輸。
29.根據(jù)權(quán)利要求10的方法,其中該協(xié)議為生活網(wǎng)絡(luò)控制協(xié)議(LnCP)。
30.一種用于數(shù)據(jù)鏈路層的數(shù)據(jù)傳送方法,其中該數(shù)據(jù)鏈路層屬于一個(gè)協(xié)議,該協(xié)議包括至少物理層、數(shù)據(jù)鏈路層以及上層,并且基于該協(xié)議的網(wǎng)絡(luò)被用于在家庭網(wǎng)絡(luò)系統(tǒng)中的至少一個(gè)電子裝置以及至少一個(gè)網(wǎng)絡(luò)管理者之間進(jìn)行相互通信,并且該數(shù)據(jù)鏈路層將信息包從上層傳輸至物理層,其中該方法包括如下步驟第一檢查步驟,用于檢查該網(wǎng)絡(luò)狀態(tài)是否為空閑狀態(tài);根據(jù)第一檢查步驟的結(jié)果,將接收到的信息包傳送至物理層;以及進(jìn)行第一確定,關(guān)于該信息包是否被成功傳輸。
31.根據(jù)權(quán)利要求30的方法,其中在最小信息包允許時(shí)間間隔(MinPktInterval)期間進(jìn)行該第一網(wǎng)絡(luò)狀態(tài)檢查步驟。
32.根據(jù)權(quán)利要求12的方法,進(jìn)一步包括步驟根據(jù)第一確定的結(jié)果,將信息包傳輸?shù)慕Y(jié)果報(bào)告給上層。
33.根據(jù)權(quán)利要求32的方法,其中如果,在第一確定步驟中,該信息包被成功傳輸,則該傳輸結(jié)果中包括成功消息(SEND_OK)。
34.根據(jù)權(quán)利要求30的方法,進(jìn)一步包括步驟如果,在第一確定步驟中,該信息包沒有被成功傳輸,則將已接收信息包的重試計(jì)數(shù)(RetryCount)增加預(yù)定值;在增加的重試計(jì)數(shù)(RetryCount)與預(yù)定補(bǔ)償重復(fù)次數(shù)(BackOffRetries)之間進(jìn)行第一比較;以及根據(jù)該第一比較的結(jié)果,將傳輸結(jié)果傳輸至上層。
35.根據(jù)權(quán)利要求34的方法,其中如果,在第一比較步驟中,增加的重試計(jì)數(shù)(RetryCount)大于預(yù)定補(bǔ)償重復(fù)次數(shù)(BackOffRetries),則該傳輸結(jié)果中包括失敗消息(SEND_FAILED)。
36.根據(jù)權(quán)利要求30-35之一的方法,進(jìn)一步包括步驟在已接收信息包的傳輸執(zhí)行時(shí)間與預(yù)定的最大傳輸允許時(shí)間(MACExecTime)之間進(jìn)行第二比較,其中如果,在第一檢查步驟中,該網(wǎng)絡(luò)狀態(tài)為忙或如果,在第一比較步驟中,該增加的重試計(jì)數(shù)(RetryCount)小于或等于補(bǔ)償重復(fù)次數(shù)(BackOffRetries),則進(jìn)行第二比較步驟。
37.根據(jù)權(quán)利要求36的方法,進(jìn)一步包括步驟根據(jù)第二比較的結(jié)果,將傳輸結(jié)果傳輸至上層。
38.根據(jù)權(quán)利要求37的方法,其中如果,在第二比較步驟中,已接收信息包的傳輸執(zhí)行時(shí)間大于或等于預(yù)定的最大傳輸允許時(shí)間(MACExecTime),則該傳輸結(jié)果中包括失敗消息(SEND_FAILED)。
39.根據(jù)權(quán)利要求37的方法,其中如果,在第二比較步驟中,已接收信息包的傳輸執(zhí)行時(shí)間小于預(yù)定的最大傳輸允許時(shí)間(MACExecTime),則再次從第一檢查步驟開始進(jìn)行所有的步驟。
40.根據(jù)權(quán)利要求30的方法,其中該第一確定步驟包括子步驟將已傳輸信息包與已接收信息包進(jìn)行比較,并根據(jù)比較結(jié)果確定該信息包是否被成功傳輸。
41.根據(jù)權(quán)利要求30的方法,其中該協(xié)議為生活網(wǎng)絡(luò)控制協(xié)議(LnCP)。
42.一種用于數(shù)據(jù)鏈路層的數(shù)據(jù)傳送方法,其中該數(shù)據(jù)鏈路層屬于一個(gè)協(xié)議,該協(xié)議包括至少物理層、數(shù)據(jù)鏈路層以及上層,并且基于該協(xié)議的網(wǎng)絡(luò)被用于在家庭網(wǎng)絡(luò)系統(tǒng)中的至少一個(gè)電子裝置以及至少一個(gè)網(wǎng)絡(luò)管理者之間進(jìn)行相互通信,并且該數(shù)據(jù)鏈路層將信息包從上層傳輸至物理層,該方法包括步驟第一檢查步驟,用于檢查該網(wǎng)絡(luò)狀態(tài)是否為空閑狀態(tài);根據(jù)該第一檢查步驟的結(jié)果,在預(yù)定的競爭窗口(Wc)范圍內(nèi)選擇一個(gè)傳輸延遲時(shí)間(RadomDelayTime(隨機(jī)延遲時(shí)間)),其中該范圍是根據(jù)接收到的信息包的服務(wù)優(yōu)先權(quán)SvcPriority定義的;第二檢查步驟,用于檢查在被選中的傳輸延遲時(shí)間(RadomDelayTime(隨機(jī)延遲時(shí)間))期間該網(wǎng)絡(luò)狀態(tài)是否為空閑狀態(tài);以及根據(jù)該第二檢查步驟的結(jié)果,將接收到的信息包傳輸至物理層。
43.根據(jù)權(quán)利要求42的方法,其中在最小信息包允許時(shí)間間隔(MinPktInterval)期間進(jìn)行該第一網(wǎng)絡(luò)狀態(tài)檢查步驟。
44.根據(jù)權(quán)利要求42的方法,進(jìn)一步包括步驟確定該信息包是否被成功傳輸。
45.根據(jù)權(quán)利要求44的方法,進(jìn)一步包括步驟根據(jù)該確定的結(jié)果,將信息包傳輸?shù)慕Y(jié)果報(bào)告給上層。
46.根據(jù)權(quán)利要求44的方法,其中如果該信息包被成功傳輸,則該傳輸結(jié)果中包括成功消息(SEND_OK)。
47.根據(jù)權(quán)利要求42-46之一的方法,進(jìn)一步包括步驟在已接收信息包的傳輸執(zhí)行時(shí)間與預(yù)定的最大傳輸允許時(shí)間(MACExecTime)之間進(jìn)行比較,其中如果,在第一檢查步驟中,該網(wǎng)絡(luò)狀態(tài)為忙或如果,在第一確定步驟中,該信息包沒有被成功傳輸,則進(jìn)行比較步驟。
48.根據(jù)權(quán)利要求47的方法,進(jìn)一步包括步驟根據(jù)該比較的結(jié)果,將傳輸結(jié)果傳輸至上層。
49.根據(jù)權(quán)利要求48的方法,其中如果,在比較步驟中,已接收信息包的傳輸執(zhí)行時(shí)間大于或等于預(yù)定的最大傳輸允許時(shí)間(MACExecTime),則該傳輸結(jié)果中包括失敗消息(SEND_FAILED)。
50.根據(jù)權(quán)利要求48的方法,其中如果,在比較步驟中,已接收信息包的傳輸執(zhí)行時(shí)間小于預(yù)定的最大傳輸允許時(shí)間(MACExecTime),則再次從第一檢查步驟開始進(jìn)行所有的步驟。
51.根據(jù)權(quán)利要求47的方法,進(jìn)一步包括步驟在再次進(jìn)行第一檢查步驟之前,將競爭窗口(Wc)范圍改變預(yù)定大小,其中該預(yù)定大小是根據(jù)已接收信息包的服務(wù)優(yōu)先權(quán)(SvcPriority)而被設(shè)置的。
52.根據(jù)權(quán)利要求51的方法,其中,為了增加傳輸可能性,降低競爭窗口(Wc)范圍的下限和/或上限的大小。
53.根據(jù)權(quán)利要求52的方法,其中該下限只被降低至預(yù)定偏移值。
54.根據(jù)權(quán)利要求51的方法,其中,為了縮小傳輸沖突,增加競爭窗口(Wc)范圍的下限和/或上限的大小。
55.根據(jù)權(quán)利要求54的方法,其中該下限是固定的。
56.根據(jù)權(quán)利要求44-46之一的方法,其中該第一確定步驟包括子步驟將已傳輸信息包與已接收信息包進(jìn)行比較,并根據(jù)比較結(jié)果確定該信息包是否被成功傳輸。
57.根據(jù)權(quán)利要求42的方法,其中該協(xié)議為生活網(wǎng)絡(luò)控制協(xié)議(LnCP)。
全文摘要
本發(fā)明公開了一種在數(shù)據(jù)鏈路層的數(shù)據(jù)傳送和接收方法,用于基于生活網(wǎng)絡(luò)控制協(xié)議的家庭網(wǎng)絡(luò)系統(tǒng)。一個(gè)協(xié)議由物理層、數(shù)據(jù)鏈路層以及上層構(gòu)成,在該協(xié)議的數(shù)據(jù)鏈路層的數(shù)據(jù)接收方法包括步驟從物理層接收數(shù)據(jù);將接收到的數(shù)據(jù)存儲(chǔ)在信息包緩沖器中;確定自從最后的數(shù)據(jù)被接收以來在預(yù)定的數(shù)據(jù)允許間隔時(shí)間內(nèi)是否已經(jīng)接收到了新數(shù)據(jù);以及根據(jù)該第一確定的結(jié)果,完成接收數(shù)據(jù)。
文檔編號H04L29/06GK1939008SQ200580010313
公開日2007年3月28日 申請日期2005年3月31日 優(yōu)先權(quán)日2004年3月31日
發(fā)明者河三喆, 白承勉, 李君錫, 金容臺(tái) 申請人:Lg電子株式會(huì)社