專利名稱:用于在i2c物理層連接上建立數(shù)據(jù)鏈路層協(xié)議的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于建立一個(gè)數(shù)據(jù)鏈路層連接從而使能系統(tǒng)內(nèi)與I2CTM-總線相連的多個(gè)模塊之間的數(shù)據(jù)通信的方法。該模塊可以是諸如蜂窩式或移動(dòng)電話的移動(dòng)通信裝置,和諸如功能蓋、照相機(jī)或類似物的外圍設(shè)備。另外,本發(fā)明涉及一種根據(jù)I2CTM技術(shù)規(guī)范以及根據(jù)數(shù)據(jù)鏈路層協(xié)議配置的數(shù)據(jù)包。
背景技術(shù):
由飛利浦半導(dǎo)體(Philips Semiconductors)發(fā)布的、并在此并入以作為參考的I2CTM-總線技術(shù)規(guī)范(I2CTM是飛利浦的商標(biāo)),是用于提供物理層以用于多個(gè)已連接的集成電路(IC)之間的數(shù)據(jù)通信的事實(shí)上的世界標(biāo)準(zhǔn)。該I2CTM-總線支持任何IC制作工藝,并包括一個(gè)用于傳送串行數(shù)據(jù)(SDA)的第一線路和一個(gè)用于傳送串行時(shí)鐘(SCL)的第二線路。每個(gè)與該I2CTM-總線相連接的IC都由唯一地址進(jìn)行識別,并取決于每個(gè)IC的操作,它們可以在該I2CTM-總線上作為傳送器或是接收器。該已連接的IC可以作為從方或主方,其中主方確定何時(shí)與從方通信,并且其中該主方確定從方何時(shí)與主方通信。該I2CTM-總線技術(shù)規(guī)范規(guī)定了一個(gè)數(shù)據(jù)幀10,如圖1a所示,用于在該I2CTM-總線上進(jìn)行數(shù)據(jù)通信,其中數(shù)據(jù)幀在該I2CTM-總線上傳輸之前要求“起始條件”12,并且由該接收IC的7位“地址”14組成。該地址14之后為數(shù)據(jù)方向位16,其中“0”表示“寫入”,而“1”表示“讀取”,并且該數(shù)據(jù)幀10由“停止條件”18結(jié)束。在接收該數(shù)據(jù)方向位16之后,該I2CTM技術(shù)規(guī)范要求該數(shù)據(jù)接收IC通過發(fā)送確認(rèn)位20來確認(rèn)地址14和數(shù)據(jù)方向位16的接收,伴隨以對I2CTM-數(shù)據(jù)總線的第一線路拉“0”來完成。跟隨著該確認(rèn)位20的接收,該數(shù)據(jù)傳送IC開始數(shù)據(jù)22的傳送。每個(gè)數(shù)據(jù)字節(jié)的傳送都被跟隨以來自于該數(shù)據(jù)接收IC的另外的確認(rèn)位,在圖1a中示為確認(rèn)位24和數(shù)據(jù)26。最終,最后的數(shù)據(jù)字節(jié)26由最后的確認(rèn)位28來確認(rèn)。
在高速傳送模式下的數(shù)據(jù)幀30,如圖1b所示,進(jìn)一步包括另一個(gè)“起始條件”32、一個(gè)8比特的“編碼”34和在“起始條件”38之前的“未確認(rèn)位”36,其中該“起始條件”38取代了上述的“起始條件”12。另外,在高速傳送模式下,數(shù)據(jù)字節(jié)只在最后的數(shù)據(jù)字節(jié)傳送之后被確認(rèn)。
“停止條件”18可以由另一個(gè)“起始條件”38所替代,以便考慮到在一個(gè)特定模式下要被發(fā)送到多個(gè)從的和/或主的IC的一連串?dāng)?shù)據(jù)。
I2CTM-總線提供用于在很多種電子設(shè)備中建立數(shù)據(jù)交換的手段,但是該I2CTM-總線技術(shù)規(guī)范未能提供用于鏈接具有不同傳輸層要求的電子系統(tǒng)的各種類型模塊的技術(shù)規(guī)范。因此,無論何時(shí)數(shù)據(jù)要經(jīng)過該I2CTM-總線傳送,都需要在舊的和新增加的模塊,或是使用不同傳輸層協(xié)議的模塊之間建立兼容性。也就是說,當(dāng)一組新的電子模塊要與使用I2CTM-總線的、按照第一組數(shù)據(jù)交換規(guī)則進(jìn)行操作的現(xiàn)有電子系統(tǒng)相連接時(shí),該組新的電子模塊在與現(xiàn)有的電子模塊進(jìn)行通信時(shí),需要根據(jù)該第一組數(shù)據(jù)交換規(guī)則來進(jìn)行通信。因此,需要許多組數(shù)據(jù)交換規(guī)則,或是可選擇地,由最老的數(shù)據(jù)交換規(guī)則組確定應(yīng)該使用哪一個(gè),從而嚴(yán)重地限制了進(jìn)一步的發(fā)展。
發(fā)明內(nèi)容
本發(fā)明的一個(gè)目的在于提供一種用于解決上述問題和現(xiàn)有技術(shù)中的I2CTM技術(shù)規(guī)范的缺點(diǎn)的方法和系統(tǒng),以及提供一種數(shù)據(jù)鏈路層協(xié)議,其在I2CTM-總線類型的網(wǎng)絡(luò)中提供后向和前向的兼容性。
進(jìn)一步的,本發(fā)明的目的在于提供一種使能在使用各種傳輸層協(xié)議并與I2CTM-總線相連接的模塊之間的數(shù)據(jù)通信的數(shù)據(jù)鏈路層協(xié)議。
本發(fā)明一個(gè)特別的優(yōu)點(diǎn)在于I2CTM數(shù)據(jù)幀內(nèi)的數(shù)據(jù)包的提供,其中數(shù)據(jù)包可以在I2CTM-總線上載送任何類型的傳輸數(shù)據(jù)。
本發(fā)明一個(gè)特別的特征涉及根據(jù)本發(fā)明的數(shù)據(jù)鏈路層協(xié)議在該I2CTM-總線上不需要任何特殊的I2CTM運(yùn)行“模式”的事實(shí)。
上述目的、優(yōu)點(diǎn)和特征與眾多其它目的、優(yōu)點(diǎn)和特征一起將通過下文的詳細(xì)描述變得明顯,并根據(jù)本發(fā)明的第一方面通過用于在多個(gè)與I2CTM-總線相連接的電子模塊之間提供數(shù)據(jù)通信的系統(tǒng)來獲得,其中所述多個(gè)電子模塊的每一個(gè)都適于進(jìn)行數(shù)據(jù)包通信,該數(shù)據(jù)包以分層的結(jié)構(gòu)包括遵循I2CTM技術(shù)規(guī)范的物理層,包括用于數(shù)據(jù)有效載荷類型的第一頭標(biāo)字段和用于數(shù)據(jù)鏈路層版本的第二頭標(biāo)字段的數(shù)據(jù)鏈路層,以及包括用于一進(jìn)行傳送的電子模塊的地址的第三頭標(biāo)字段、用于所述數(shù)據(jù)包長度的第四頭標(biāo)字段的網(wǎng)絡(luò)/傳輸層,并包括數(shù)據(jù)有效載荷。
通過在I2CTM物理層上添加更多的層,可以實(shí)現(xiàn)數(shù)據(jù)幀的重大進(jìn)步。通過將要在I2CTM-總線上傳送的有效載荷,與包含參考模型中用于更多層的數(shù)據(jù)的附加頭標(biāo)部分一起封包,可以獲得結(jié)構(gòu)化的方案,其中數(shù)據(jù)包可以由根據(jù)很多種(根據(jù)協(xié)議的)有效載荷類型配置的數(shù)據(jù)組成,其中有效載荷類型可以由接收模塊適當(dāng)?shù)刈R別。也就是說,系統(tǒng)使利用多種協(xié)議的不同電子模塊能夠與I2CTM總線連接,因而提供前向和后向的兼容性。
在本上下文中,術(shù)語通信被解釋為在任何結(jié)構(gòu)中,例如主/從結(jié)構(gòu)中接收或傳送數(shù)據(jù)包。
另外,在本上下文中,術(shù)語第一,第二等等被解釋為識別號碼,而不是時(shí)間線本身上的物理位置。但是,該術(shù)語應(yīng)該被解釋為在時(shí)間線上包含一個(gè)位置。
另外,在本上下文中,術(shù)語數(shù)據(jù)包被解釋為數(shù)據(jù)報(bào)或數(shù)據(jù)分組,即,要經(jīng)由諸如總線的網(wǎng)絡(luò)連接進(jìn)行通信的包,其中包一般包括頭標(biāo)部分和有效載荷部分以及終止部分。包含在頭標(biāo)部分中的信息可以解釋為一連串的層,其中在本上下文中的術(shù)語分層結(jié)構(gòu)被解釋為諸如開放系統(tǒng)互聯(lián)(OSI)的參考模型,其主旨在于網(wǎng)絡(luò)中兩個(gè)端點(diǎn)之間的通信處理可以被分成層,而每一層都添加它自己特殊的、相關(guān)功能的組。
根據(jù)本發(fā)明第一方面的電子模塊可以包括移動(dòng)通信裝置,諸如蜂窩、移動(dòng)或衛(wèi)星電話、個(gè)人數(shù)字助理,或另外的外圍設(shè)備。但是在本上下文中,術(shù)語模塊被廣泛地解釋為諸如集成電路(IC)或作為集成電路組的電子元件。
根據(jù)本發(fā)明第一方面的數(shù)據(jù)有效載荷類型可以包括OBEX(允許數(shù)據(jù)在裝置之間共享的裝置無關(guān)的通信協(xié)議)、TCP(傳輸控制協(xié)議)、IP(因特網(wǎng)協(xié)議)、HTTP(超文本傳輸協(xié)議)、或是任何專有的有效載荷類型。事實(shí)上,該系統(tǒng)如前所述是后向以及前向兼容的,因此有效載荷類型(協(xié)議)更遠(yuǎn)的將來的類型可以合并入該系統(tǒng)中。
根據(jù)本發(fā)明第一方面的數(shù)據(jù)鏈路層版本可以包括不兼容二進(jìn)制的主版本,和兼容二進(jìn)制的較小版本。
根據(jù)本發(fā)明第一方面的數(shù)據(jù)包可以在所述網(wǎng)絡(luò)/傳輸層中進(jìn)一步包括第五頭標(biāo)字段,用于確定所述數(shù)據(jù)包中的數(shù)據(jù)有效載荷的起始的偏移值。該偏移值提供用于補(bǔ)償該網(wǎng)絡(luò)/傳輸協(xié)議將來的改變的手段,因此當(dāng)該接收模塊不要求來自頭標(biāo)的潛在數(shù)據(jù)時(shí),該接收模塊通過該偏移值可以直接跳轉(zhuǎn)到該有效載荷的起始。
根據(jù)本發(fā)明第一方面的數(shù)據(jù)包可以在所述網(wǎng)絡(luò)/傳輸層中進(jìn)一步包括在所述數(shù)據(jù)包中位于所述數(shù)據(jù)有效載荷起始之前的第六頭標(biāo)字段以用于緩沖。在該網(wǎng)絡(luò)/傳輸層中的第六頭標(biāo)字段在要合并該頭標(biāo)將來的擴(kuò)展時(shí)特別地有利。該偏移值補(bǔ)償數(shù)據(jù)有效載荷起始的潛在地偏移。
根據(jù)本發(fā)明第一方面的數(shù)據(jù)包可以進(jìn)一步包括跟隨在數(shù)據(jù)有效載荷后的校驗(yàn)和字段。該校驗(yàn)和為處理器提供計(jì)算所接收的數(shù)據(jù)有效載荷是否被正確接收的手段。
根據(jù)本發(fā)明第一方面的數(shù)據(jù)包可以在所述網(wǎng)絡(luò)/傳輸層中進(jìn)一步包括第七頭標(biāo)字段,用作數(shù)據(jù)包號碼,并且可以在所述網(wǎng)絡(luò)/傳輸層中進(jìn)一步包括第八頭標(biāo)字段,用作數(shù)據(jù)包片段序列號碼。該數(shù)據(jù)包號碼提供用于將數(shù)據(jù)消息分割成許多數(shù)據(jù)包的手段,而該數(shù)據(jù)包片段序列號碼提供用于將所分割的數(shù)據(jù)消息重新接合成特定順序的手段。
上述目的、優(yōu)點(diǎn)和特征與眾多其它目的、優(yōu)點(diǎn)和特征一起將通過下文的詳細(xì)描述變得明顯,并根據(jù)本發(fā)明的第二方面通過用于在多個(gè)與I2CTM-總線相連接的電子模塊之間進(jìn)行通信的數(shù)據(jù)包來獲得,其中所述數(shù)據(jù)包以分層的結(jié)構(gòu)包括遵循I2CTM技術(shù)規(guī)范的物理層數(shù)據(jù),在第一頭標(biāo)字段中包括數(shù)據(jù)有效載荷類型并且在第二頭標(biāo)字段中包括數(shù)據(jù)鏈路層版本的數(shù)據(jù)鏈路層數(shù)據(jù),以及在第三頭標(biāo)字段中包括一進(jìn)行傳送的電子模塊的地址、在第四頭標(biāo)字段中包括所述數(shù)據(jù)包的長度的網(wǎng)絡(luò)/傳輸層數(shù)據(jù),并包括數(shù)據(jù)有效載荷。
根據(jù)本發(fā)明第二方面的數(shù)據(jù)包可以合并根據(jù)本發(fā)明第一方面的系統(tǒng)的任何特征。
上述目的、優(yōu)點(diǎn)和特征與眾多其它目的、優(yōu)點(diǎn)和特征一起將通過下文的詳細(xì)描述變得明顯,并根據(jù)本發(fā)明的第三方面通過適于接收根據(jù)本發(fā)明第二方面的數(shù)據(jù)包的接收器單元來獲得。
上述目的、優(yōu)點(diǎn)和特征與眾多其它目的、優(yōu)點(diǎn)和特征一起將通過下文的詳細(xì)描述變得明顯,并根據(jù)本發(fā)明的第四方面通過適于傳送根據(jù)本發(fā)明第二方面的數(shù)據(jù)包的傳送器單元來獲得。
上述目的、優(yōu)點(diǎn)和特征與眾多其它目的、優(yōu)點(diǎn)和特征一起將通過下文的詳細(xì)描述變得明顯,并根據(jù)本發(fā)明的第五方面通過用于在多個(gè)與I2CTM-總線相連接的電子模塊之間建立數(shù)據(jù)通信的方法來獲得,其中所述多個(gè)電子模塊的每一個(gè)都可以進(jìn)行數(shù)據(jù)包通信,該數(shù)據(jù)包以分層的結(jié)構(gòu)包括遵循I2CTM技術(shù)規(guī)范的物理層,并且其中所述方法包括在所述數(shù)據(jù)包中在數(shù)據(jù)鏈路層中提供用于數(shù)據(jù)有效載荷類型的第一頭標(biāo)字段和用于數(shù)據(jù)鏈路層版本的第二頭標(biāo)字段,并且在所述數(shù)據(jù)包中在網(wǎng)絡(luò)/傳輸層中提供用于一進(jìn)行傳送的電子模塊的地址的第三頭標(biāo)字段,和用于所述數(shù)據(jù)包長度的第四頭標(biāo)字段,并在所述數(shù)據(jù)包中提供數(shù)據(jù)有效載荷。
根據(jù)本發(fā)明第五方面的方法可以合并根據(jù)本發(fā)明第一方面的系統(tǒng)的任何特征,根據(jù)本發(fā)明第二方面的數(shù)據(jù)包的任何特征,根據(jù)本發(fā)明第三方面的接收器單元的任何特征,以及根據(jù)本發(fā)明第四方面的傳送器的任何特征。
上述目的、優(yōu)點(diǎn)和特征與眾多其它目的、優(yōu)點(diǎn)和特征一起將通過下文的詳細(xì)描述變得明顯,并根據(jù)本發(fā)明的第六方面通過由適于執(zhí)行下面步驟的代碼組成的計(jì)算機(jī)程序來獲得,當(dāng)所述程序在數(shù)據(jù)處理器中運(yùn)行時(shí),適于在多個(gè)與I2CTM-總線相連接的電子模塊之間建立數(shù)據(jù)通信,其中所述多個(gè)電子模塊的每一個(gè)都可以進(jìn)行數(shù)據(jù)包通信,該數(shù)據(jù)包以分層的結(jié)構(gòu)包括/具有遵循I2CTM技術(shù)規(guī)范的物理層,并且其中所述程序在所述數(shù)據(jù)包中在數(shù)據(jù)鏈路層中提供用于數(shù)據(jù)有效載荷類型的第一頭標(biāo)字段和用于數(shù)據(jù)鏈路層版本的第二頭標(biāo)字段,并且在所述數(shù)據(jù)包中在網(wǎng)絡(luò)/傳輸層中提供用于一進(jìn)行傳送的電子模塊的地址的第三頭標(biāo)字段,和用于所述數(shù)據(jù)包長度的第四頭標(biāo)字段,并在所述數(shù)據(jù)包中提供數(shù)據(jù)有效載荷。
根據(jù)本發(fā)明第六方面的計(jì)算機(jī)程序可以合并根據(jù)本發(fā)明第一方面的系統(tǒng)的任何特征,根據(jù)本發(fā)明第二方面的數(shù)據(jù)包的任何特征,以及根據(jù)本發(fā)明第三方面的方法的任何特征。
本發(fā)明的上述和另外的目的、特征和優(yōu)點(diǎn),將通過下述的說明性的而非限制性的對本發(fā)明優(yōu)選實(shí)施例的詳細(xì)描述,并參考附圖而得到更好的理解,其中圖1a和1b,示出了現(xiàn)有技術(shù)中要在I2CTM-總線上傳輸?shù)臄?shù)據(jù)的I2CTM具體配置;圖1c,示出了根據(jù)本發(fā)明優(yōu)選實(shí)施例的數(shù)據(jù)包;圖2,示出了對功能蓋和移動(dòng)通信裝置建立通信的數(shù)據(jù)鏈路層;圖3,示出了應(yīng)用層的通信,第一連接的建立,隨后通信的兩個(gè)例子;圖4,示出了功能蓋如何檢查在移動(dòng)通信裝置上安裝了哪個(gè)midlet;圖5,示出了從功能蓋到移動(dòng)通信裝置的midlet的傳輸;圖6,示出了功能蓋如何開始midlet,而不需要任何用戶交互;以及圖7,示出了用戶如何從應(yīng)用菜單中開始midlet。
具體實(shí)施例方式
在下面各種實(shí)施例的描述中,對附圖進(jìn)行參考,其在此構(gòu)成了一部分,并且其中示出了作為各種實(shí)施例的圖例,在其中可以實(shí)施本發(fā)明。應(yīng)該了解的是也可以利用其它實(shí)施例,并且可以在不背離本發(fā)明的范圍內(nèi)作出結(jié)構(gòu)和功能上的修改。
本描述中所應(yīng)用的定義是可以配置成一個(gè)或更多數(shù)據(jù)包的消息,其中每個(gè)數(shù)據(jù)包都包括一個(gè)指定了低級通信規(guī)則的數(shù)據(jù)幀(物理層),即,何時(shí)傳送關(guān)于誰是數(shù)據(jù)包的預(yù)定接收器的信息,以及何時(shí)傳送實(shí)際數(shù)據(jù)分段。該數(shù)據(jù)分段可以根據(jù)本發(fā)明的優(yōu)選實(shí)施例進(jìn)一步包括一個(gè)頭標(biāo)部分、一個(gè)數(shù)據(jù)有效載荷部分、以及一個(gè)終止部分。然而,通常數(shù)據(jù)包的整個(gè)結(jié)構(gòu)同樣是這樣的一個(gè)頭標(biāo)部分(包括物理層數(shù)據(jù)和更高層數(shù)據(jù))、一個(gè)有效載荷部分和一個(gè)終止部分,但是在本上下文中,當(dāng)提到頭標(biāo)部分時(shí),指該數(shù)據(jù)分段的頭標(biāo)部分,除非另外特別說明的。
根據(jù)本發(fā)明優(yōu)選實(shí)施例的數(shù)據(jù)包,如圖1c所示,利用I2CTM技術(shù)規(guī)范的數(shù)據(jù)幀10、30作為參考模型中的物理層。因此涉及本發(fā)明的更多的層通過在數(shù)據(jù)分段22、26中構(gòu)成數(shù)據(jù)而被合并入該數(shù)據(jù)幀10、30中。該數(shù)據(jù)分段22、26通過以下表1中所示的格式封包為將要被傳送的數(shù)據(jù),而在諸如移動(dòng)通信裝置的電子模塊和外圍設(shè)備之間載送通信。
表1-在I2CTM媒體中所使用的頭標(biāo)在消息的數(shù)據(jù)量超過了數(shù)據(jù)幀的限制的情況下,另外的信息被合并入頭標(biāo)部分。
如下表2中和圖1c中所示,在需要分割消息的情況下,頭標(biāo)進(jìn)一步合并以數(shù)據(jù)包號碼和數(shù)據(jù)片段號碼,以使得接收電子模塊能夠識別該消息要被重新組合的正確順序。
表2-在I2CTM媒體上所使用的頭標(biāo)I2C_協(xié)議22a本字段描述了哪個(gè)協(xié)議被用于要在I2CTM-總線上通信的消息?,F(xiàn)在定義了三個(gè)協(xié)議I2C_NEG用于數(shù)據(jù)鏈路層協(xié)議設(shè)定的協(xié)商協(xié)議,I2C_OBEX用于OBEX-類型通知。另外,也可以編碼TCP/IP、HTTP、和/或任何產(chǎn)品專有協(xié)議。
I2C_版本22b本字段描述了頭標(biāo)部分的版本。應(yīng)該注意的是這不是用于數(shù)據(jù)包的協(xié)議的版本。該版本以XXX.YYY的格式進(jìn)行傳送,其中XXX是主版本(不兼容二進(jìn)制),而YYY是較小版本(兼容二進(jìn)制的改變)。例如,如果I2C_版本的第一個(gè)八位字節(jié)是“0”,那么初始地應(yīng)用下面的條件傳輸速度是100kbps,I2CTM模式是單主方的,以及從來自I2C_協(xié)議的和向前的所有在前字節(jié)字段中和值的最低有效字節(jié)來計(jì)算校驗(yàn)和。如果I2C_版本的第二個(gè)八位字節(jié)不同于“0”,那么仍然應(yīng)用上述條件。
I2C_長度22c本字段包括整個(gè)數(shù)據(jù)包的長度。
I2C_裝置22d本字段包括發(fā)送數(shù)據(jù)包的電子模塊的I2CTM地址。本字段在該I2CTM-總線上發(fā)送數(shù)據(jù)包時(shí)是必需的,因?yàn)镮2CTM技術(shù)規(guī)范沒有包括這個(gè)。需要知道該數(shù)據(jù)包是來自于哪個(gè)電子模塊的,以將響應(yīng)發(fā)送回該進(jìn)行傳送的電子模塊。
I2C_偏移22e本字段包括在數(shù)據(jù)包中有效載荷數(shù)據(jù)起始處字節(jié)的偏移??蛇x擇地,該偏移字段包括在該數(shù)據(jù)包中用于有效載荷數(shù)據(jù)起始的地址。本字段被合并入頭標(biāo)部分中,以使該頭標(biāo)后向兼容。當(dāng)將來的字段被添加到頭標(biāo)中時(shí),任何軟件可以轉(zhuǎn)發(fā)有效載荷數(shù)據(jù),即使該軟件知道附加的字段,因?yàn)樵撥浖梢曰谠撈?OFFSET)和版本(VERSION)字段轉(zhuǎn)發(fā)該數(shù)據(jù)包。
I2C_分組_號碼22f對于已經(jīng)被分成多個(gè)數(shù)據(jù)鏈路協(xié)議消息的傳輸協(xié)議消息,本字段確定數(shù)據(jù)鏈路片段屬于哪個(gè)傳輸協(xié)議消息。
I2C-片段_號碼22g對于已經(jīng)被分成多個(gè)數(shù)據(jù)鏈路協(xié)議消息的傳輸協(xié)議消息,本字段確定該片段的序列號。
用于擴(kuò)展22h本字段打算用于補(bǔ)償頭標(biāo)部分將來的擴(kuò)展。將來可能在頭標(biāo)中需要另外的字段。這些擴(kuò)展可以進(jìn)行添加而仍然后向兼容,偏移(OFFSET)字段將告訴接收實(shí)體實(shí)際數(shù)據(jù)包從哪兒開始。
I2C_數(shù)據(jù)22i本字段包括實(shí)際有效載荷。這可以是例如OBEX信息、IP包或是其它任何的包格式。
校驗(yàn)和22i校驗(yàn)和被計(jì)算為從I2C_協(xié)議字段和向前的消息幀中所有在前字節(jié)字段的和值的最低有效字節(jié)。
例子本發(fā)明在下面通過例子進(jìn)行描述,其中移動(dòng)通信裝置通過I2CTM-總線并利用如上所述的數(shù)據(jù)鏈路層結(jié)構(gòu)與功能蓋進(jìn)行通信。
圖2示出了為功能蓋(functional cover)52和移動(dòng)通信裝置建立通信的數(shù)據(jù)鏈路層,其中通信整體上由參考標(biāo)記50指代。該功能蓋52是遵從該移動(dòng)通信裝置的操作系統(tǒng)的部件,但是,其不由該操作系統(tǒng)設(shè)計(jì)或維持。
功能蓋52控制該功能蓋52功能性的開啟和關(guān)閉,它依靠所實(shí)施的實(shí)際應(yīng)用程序而將有關(guān)于信息位置等等的信息提供給java服務(wù)器。該Java服務(wù)器提供用于從應(yīng)用程序菜單中開始midlet的手段,其中midlet是運(yùn)行在移動(dòng)通信裝置中的標(biāo)準(zhǔn)的Java編碼模塊。另外,該Java服務(wù)器提供用于當(dāng)需要連接時(shí)執(zhí)行要被連接的功能蓋的注冊通知的手段,以及用于存儲連接識別的手段,例如要連同管理該連接而使用的裝置識別(devID)和對象識別(objID)。
midlet例如可以是示出了用戶GPS的全球定位系統(tǒng)(GPS)midlet。應(yīng)該注意的是該GPS midlet不是該移動(dòng)通信裝置的操作系統(tǒng)軟件的一部分。
GPS midlet是GPS功能蓋特征的“大腦”。在連接已經(jīng)被設(shè)立以后(即應(yīng)用層下所有的層都已準(zhǔn)備好),該midlet是該移動(dòng)通信裝置中僅有的做出決定和控制什么應(yīng)該發(fā)生的實(shí)體。
GPS midlet存儲在移動(dòng)通信裝置的文件系統(tǒng)中,類似于從空中(OTA)設(shè)施下載或使用PC組(PC Suite)上載的midlet。
當(dāng)功能蓋52與移動(dòng)通信裝置相連接時(shí),由于該功能蓋52引起了54中斷信號,而在核心服務(wù)器56中注冊硬件中斷。
核心服務(wù)器56處理低級功能蓋的特定問題,例如附件中斷、加電、連接器故障、移動(dòng)通信裝置休眠、功能蓋休眠、以及重置處理。
核心服務(wù)器56包括所有I2CTM專有信息,例如用于不同電子模塊或芯片的地址范圍,以及涉及已連接的I2CTM電子模塊的廣播信息。
核心服務(wù)器56從庫60中請求58功能蓋52的鑒權(quán),其隨后質(zhì)詢62該功能蓋52。如果該質(zhì)詢62被適當(dāng)?shù)仨憫?yīng)64,該庫60轉(zhuǎn)發(fā)66一個(gè)OK(好)-信號給核心服務(wù)器56,之后該核心服務(wù)器請求68從媒體模塊70中激活。
媒體模塊70能夠依據(jù)來自于核心服務(wù)器56上的請求,確定什么I2CTM電子模塊被連接到I2CTM-總線上。
媒體模塊70實(shí)施數(shù)據(jù)鏈路層協(xié)議,并且可以處理多于一個(gè)的I2CTM硬件端口。
媒體模塊70通過協(xié)商請求72的通信并接收協(xié)商響應(yīng)74而與功能蓋52進(jìn)行協(xié)商。最終,該媒體模塊70將激活響應(yīng)轉(zhuǎn)發(fā)76到核心服務(wù)器56。
圖3示出了應(yīng)用層通信,第一連接建立,隨后是通信的兩個(gè)例子。正如參考圖2描述的,緊隨數(shù)據(jù)鏈路層的建立,功能蓋52將包括裝置識別和對象識別的注冊信號轉(zhuǎn)發(fā)78到Java服務(wù)器80。該Java服務(wù)器80在步驟82期間注冊該裝置和對象識別,并將OK-信號轉(zhuǎn)發(fā)84到該功能蓋52中。
在某個(gè)點(diǎn)上midlet 86在移動(dòng)通信裝置中被激活,并且該midlet86請求88Java服務(wù)器80的open()(打開)-函數(shù)。該Java服務(wù)器80通過轉(zhuǎn)發(fā)90請求信號而請求該功能蓋52打開連接。當(dāng)該功能蓋52將OK-信號提供92給該Java服務(wù)器80時(shí),該Java服務(wù)器80將open()-函數(shù)返回94給該midlet 86。
現(xiàn)在midlet 86可以通過從Java服務(wù)器中請求96利用send()(發(fā)送)-函數(shù)而將數(shù)據(jù)傳送到功能蓋52中,該Java服務(wù)器將包括消息的數(shù)據(jù)通知轉(zhuǎn)發(fā)98到該功能蓋52,并將該send()-函數(shù)的結(jié)果返回100到該midlet 86中。
功能蓋52可以將數(shù)據(jù)轉(zhuǎn)發(fā)到midlet86中,其使用Java服務(wù)器82的read()(讀)-函數(shù)來接收數(shù)據(jù)。該功能蓋52將數(shù)據(jù)通知轉(zhuǎn)發(fā)102到該Java服務(wù)器中,該數(shù)據(jù)通知由該midlet86讀取104。這個(gè)過程可以持續(xù)達(dá)任何數(shù)量的周期,直到所請求的所有數(shù)據(jù)都在該midlet86和功能蓋52之間完全地交換。
圖4示出了功能蓋52如何檢查在該移動(dòng)通信裝置上安裝了哪個(gè)midlet。該功能蓋52為特殊的文件夾中的midlet列表而請求106文件系統(tǒng)108。該文件系統(tǒng)108隨后檢查哪些midlet在該特殊的文件夾中,并將midlet列表轉(zhuǎn)發(fā)110到該功能蓋52中。該功能蓋52現(xiàn)在可以決定是否需要將midlet推送給移動(dòng)通信裝置。
圖5示出了midlet從功能蓋52到移動(dòng)通信裝置的midlet的傳輸。該功能蓋52通過利用包括mime類型和文件名的信息的SendFile()(發(fā)送文件)-函數(shù)將midlet轉(zhuǎn)發(fā)115到調(diào)度器114。在該功能蓋52啟動(dòng)了文件的傳送之后,該調(diào)度器114基于SendFile指令的接收,將OK-信號轉(zhuǎn)發(fā)116到該功能蓋52,其中該文件如圖5中的例子所示,包括多于一個(gè)的片段。數(shù)據(jù)包的大小確定何時(shí)利用分段程序。
功能蓋52利用118 SendFragment()(發(fā)送片斷)-函數(shù)用于轉(zhuǎn)發(fā)文件的第一片段,其中片段進(jìn)一步通過調(diào)度器114被轉(zhuǎn)發(fā)120到文件系統(tǒng)122中。該文件系統(tǒng)122基于該第一片段的安全接收,將第一OK-信號轉(zhuǎn)發(fā)124到該調(diào)度器114中。隨后,該調(diào)度器114將第一OK-信號轉(zhuǎn)發(fā)126到該功能蓋52中,基于接收而將文件的第二片段轉(zhuǎn)發(fā)128到該調(diào)度器114中。類似地,該調(diào)度器114將該第二片段轉(zhuǎn)發(fā)130到該文件系統(tǒng)122中。該文件系統(tǒng)122基于該第二片段地安全接收,將第二OK-信號轉(zhuǎn)發(fā)132到該調(diào)度器114中。隨后,該調(diào)度器114將第二OK-信號134轉(zhuǎn)發(fā)到該功能蓋52中。
明顯地,這個(gè)過程可以依照要在電子模塊之間進(jìn)行傳送的文件的大小而繼續(xù)。
圖6示出了功能蓋如何開始midlet,而不需要任何用戶交互。該功能蓋52利用136Java服務(wù)器80的函數(shù)調(diào)用,LaunchMidlet()(起動(dòng)Midlet),該Java服務(wù)器80轉(zhuǎn)發(fā)138OK-信號并通過利用Open()-函數(shù)來執(zhí)行該midlet。
圖7示出了用戶如何從應(yīng)用菜單140中開始midlet。用戶點(diǎn)擊功能蓋菜單項(xiàng)目,并且應(yīng)用菜單140利用142Java服務(wù)器80的LaunchMidlet()-函數(shù)調(diào)用。該Java服務(wù)器80將OK-信號轉(zhuǎn)發(fā)144到應(yīng)用程序菜單140,其隨后執(zhí)行該midlet。
權(quán)利要求
1.一種用于在多個(gè)與I2CTM-總線相連接的電子模塊之間提供數(shù)據(jù)通信的系統(tǒng),其中所述多個(gè)電子模塊的每一個(gè)都適于進(jìn)行數(shù)據(jù)包通信,該數(shù)據(jù)包以分層的結(jié)構(gòu)包括遵循I2CTM技術(shù)規(guī)范的物理層,包括用于數(shù)據(jù)有效載荷類型的第一頭標(biāo)字段和用于數(shù)據(jù)鏈路層版本的第二頭標(biāo)字段的數(shù)據(jù)鏈路層,以及包括用于一進(jìn)行傳送的電子模塊的地址的第三頭標(biāo)字段和用于所述數(shù)據(jù)包長度的第四頭標(biāo)字段的網(wǎng)絡(luò)/傳輸層,并且包括數(shù)據(jù)有效載荷。
2.根據(jù)權(quán)利要求1的系統(tǒng),其中所述電子模塊包括移動(dòng)通信裝置,例如蜂窩、移動(dòng)或衛(wèi)星電話,個(gè)人數(shù)字助理,或另外的外圍設(shè)備。
3.根據(jù)權(quán)利要求1的系統(tǒng),其中所述數(shù)據(jù)有效載荷類型包括OBEX、TCP、IP、HTTP、或任何專有的有效載荷類型。
4.根據(jù)權(quán)利要求1的系統(tǒng),其中所述數(shù)據(jù)鏈路層版本包括不兼容二進(jìn)制的主版本,以及兼容二進(jìn)制的較小版本。
5.根據(jù)權(quán)利要求1的系統(tǒng),其中所述數(shù)據(jù)包在所述網(wǎng)絡(luò)/傳輸層中進(jìn)一步包括第五頭標(biāo)字段,其用于確定所述數(shù)據(jù)包中的數(shù)據(jù)有效載荷的起始的偏移值。
6.根據(jù)權(quán)利要求1的系統(tǒng),其中所述數(shù)據(jù)包在所述網(wǎng)絡(luò)/傳輸層中進(jìn)一步包括第六頭標(biāo)字段,其在所述數(shù)據(jù)包中位于所述數(shù)據(jù)有效載荷起始之前以用于緩沖。
7.根據(jù)權(quán)利要求1的系統(tǒng),其中所述數(shù)據(jù)包進(jìn)一步包括跟隨在該數(shù)據(jù)有效載荷后的校驗(yàn)和字段。
8.根據(jù)權(quán)利要求1的系統(tǒng),其中所述數(shù)據(jù)包在所述網(wǎng)絡(luò)/傳輸層中進(jìn)一步包括第七頭標(biāo)字段,用作數(shù)據(jù)包號碼。
9.根據(jù)權(quán)利要求1的系統(tǒng),其中所述數(shù)據(jù)包在所述網(wǎng)絡(luò)/傳輸層中進(jìn)一步包括第八頭標(biāo)字段,用作數(shù)據(jù)包片段序列號碼。
10.一種用于在多個(gè)與I2CTM-總線相連接的電子模塊之間進(jìn)行通信的數(shù)據(jù)包,其中所述數(shù)據(jù)包以分層的結(jié)構(gòu)包括遵循I2CTM技術(shù)規(guī)范的物理層數(shù)據(jù),在第一頭標(biāo)字段中包括數(shù)據(jù)有效載荷類型且在第二頭標(biāo)字段中包括數(shù)據(jù)鏈路層版本的數(shù)據(jù)鏈路層數(shù)據(jù),以及在第三頭標(biāo)字段中包括一進(jìn)行傳送的電子模塊的地址和在第四頭標(biāo)字段中包括所述數(shù)據(jù)包的長度的網(wǎng)絡(luò)/傳輸層數(shù)據(jù),并包括數(shù)據(jù)有效載荷。
11.根據(jù)權(quán)利要求10的數(shù)據(jù)包,在所述網(wǎng)絡(luò)/傳輸層中進(jìn)一步包括第五頭標(biāo)字段,其用于確定所述數(shù)據(jù)包中的數(shù)據(jù)有效載荷的起始的偏移值。
12.根據(jù)權(quán)利要求10的數(shù)據(jù)包,其中所述數(shù)據(jù)有效載荷類型包括OBEX、TCP、IP、HTTP、或任何專有的有效載荷類型。
13.根據(jù)權(quán)利要求10的數(shù)據(jù)包,在所述網(wǎng)絡(luò)/傳輸層中進(jìn)一步包括第六頭標(biāo)字段,其在所述數(shù)據(jù)包中位于所述數(shù)據(jù)有效載荷起始之前以用于緩沖。
14.根據(jù)權(quán)利要求10的數(shù)據(jù)包,進(jìn)一步包括跟隨在該數(shù)據(jù)有效載荷后的校驗(yàn)和字段。
15.根據(jù)權(quán)利要求10的數(shù)據(jù)包,在所述網(wǎng)絡(luò)/傳輸層中進(jìn)一步包括第七頭標(biāo)字段,用作數(shù)據(jù)包號碼。
16.根據(jù)權(quán)利要求10的數(shù)據(jù)包,在所述網(wǎng)絡(luò)/傳輸層中進(jìn)一步包括第八頭標(biāo)字段,用作數(shù)據(jù)包片段序列號碼。
17.一種適于接收根據(jù)權(quán)利要求10到16中任意一個(gè)的數(shù)據(jù)包的接收器單元。
18.一種適于轉(zhuǎn)發(fā)根據(jù)權(quán)利要求10到16中任意一個(gè)的數(shù)據(jù)包的轉(zhuǎn)發(fā)器單元。
19.一種用于在多個(gè)與I2CTM-總線相連接的電子模塊之間建立數(shù)據(jù)通信的方法,其中所述多個(gè)電子模塊的每一個(gè)都進(jìn)行數(shù)據(jù)包通信,該數(shù)據(jù)包以分層的結(jié)構(gòu)包括遵循I2CTM技術(shù)規(guī)范的物理層,并且其中所述方法包括在所述數(shù)據(jù)包中在數(shù)據(jù)鏈路層中提供用于數(shù)據(jù)有效載荷類型的第一頭標(biāo)字段和用于數(shù)據(jù)鏈路層版本的第二頭標(biāo)字段,并且在所述數(shù)據(jù)包中在網(wǎng)絡(luò)/傳輸層中提供用于一進(jìn)行傳送的電子模塊的地址的第三頭標(biāo)字段,和用于所述數(shù)據(jù)包長度的第四頭標(biāo)字段,并在所述數(shù)據(jù)包中提供數(shù)據(jù)有效載荷。
20.一種包括適于執(zhí)行下面步驟的代碼的計(jì)算機(jī)程序,當(dāng)所述程序在數(shù)據(jù)處理器中運(yùn)行時(shí),適于在多個(gè)與I2CTM-總線相連接的電子模塊之間建立數(shù)據(jù)通信,其中所述多個(gè)電子模塊的每一個(gè)都進(jìn)行數(shù)據(jù)包通信,該數(shù)據(jù)包以分層的結(jié)構(gòu)包括,具有遵循I2CTM技術(shù)規(guī)范的物理層,并且其中所述程序在所述數(shù)據(jù)包中在數(shù)據(jù)鏈路層中提供用于數(shù)據(jù)有效載荷類型的第一頭標(biāo)字段和用于數(shù)據(jù)鏈路層版本的第二頭標(biāo)字段,并且在所述數(shù)據(jù)包中在網(wǎng)絡(luò)/傳輸層中提供用于一進(jìn)行傳送的電子模塊的地址的第三頭標(biāo)字段和用于所述數(shù)據(jù)包長度的第四頭標(biāo)字段,并在所述數(shù)據(jù)包中提供數(shù)據(jù)有效載荷。
全文摘要
本發(fā)明涉及一種用于在系統(tǒng)中的多個(gè)與I
文檔編號H04L29/08GK1813456SQ200480018041
公開日2006年8月2日 申請日期2004年6月22日 優(yōu)先權(quán)日2003年6月26日
發(fā)明者R·維萊弗蘭斯, J·桑伯格 申請人:諾基亞有限公司