TW202011718A - 用於使用非同步無連接通訊鏈路發送的資料封包的糾錯 - Google Patents
用於使用非同步無連接通訊鏈路發送的資料封包的糾錯 Download PDFInfo
- Publication number
- TW202011718A TW202011718A TW107130480A TW107130480A TW202011718A TW 202011718 A TW202011718 A TW 202011718A TW 107130480 A TW107130480 A TW 107130480A TW 107130480 A TW107130480 A TW 107130480A TW 202011718 A TW202011718 A TW 202011718A
- Authority
- TW
- Taiwan
- Prior art keywords
- data packet
- maintained
- packet
- crc
- data packets
- Prior art date
Links
Images
Landscapes
- Detection And Prevention Of Errors In Transmission (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
由於諸如結合蜂巢式電話使用的無線耳機之類的很多應用需要大部分無錯誤資料來準確地再現電話通信期,因此未校正的錯誤資料封包可能影響給定應用的感知品質。本案內容的糾錯技術促進了關於資料封包的一或多個部分缺少FEC的通訊系統中的糾錯。因此,這些技術提供了用於整個封包(其包括任何嵌入的糾錯機制沒有保護的那些部分)的糾錯。結果,由於這些技術可以減少位元差錯率,增加接收設備的靈敏度,使得可以減少資料封包的發射功率,因此改進了雜訊通訊媒體上的資料通訊。對於語音封包或者其他串流資料封包而言,相對於不使用本案內容中所描述的技術的系統,這些技術促進了改進的音訊品質。
Description
概括地說,本案內容係關於通訊系統,具體地說,本案內容係關於經由非同步無連接(ACL)通訊鏈路接收的資料封包的糾錯。
無線個人區域網路(WPAN)是用於互連以與使用者的特定距離為中心的設備的個人短距離區域無線網路。由於WPAN提供的連接的靈活性和便利性而使WPAN已經普及。WPAN(例如,基於短距離通訊協定(例如,藍芽®(BT)協定、藍芽®低能耗(BLE)協定、Zigbee®協定等等)的WPAN)經由提供允許特定距離(例如,5米、10米、20米、100米等等)內的連接的短距離無線鏈路,來提供到周邊設備的無線連接。
BT是支援中央設備(例如,主設備)與至少一個周邊設備(例如,從設備)之間的WPAN的短距離無線通訊協定。與BT通訊相關聯的功耗可能使BT在某些應用中無法實施。
為了解決與BT相關的功耗問題,在各種應用中開發並且採用了BLE。BLE使用低工作週期操作(與BT相比),並且在資料傳輸之間將中央設備及/或周邊設備中的至少一個切換到休眠模式。使用BLE的實例應用包括:連接到諸如支援BLE的智慧型電話、平板設備和膝上型電腦之類的設備的各種醫療、工業、消費者和健身應用中的電池供電的感測器和致動器。儘管傳統的BLE提供某些優點,但是BLE可能不能執行前向糾錯(FEC)來糾正接收設備所接收的錯誤資料封包。由於許多應用(例如,結合蜂巢式電話使用的無線耳機)需要大部分無錯誤資料來準確地再現電話通信期,因此未校正的錯誤資料封包可能在實質上影響給定應用的感知品質。
因此,需要用於增加例如語音或其他資料的輸出品質的針對BLE通訊的糾錯技術。
為了對本發明的一或多個態樣有一個基本的理解,下面提供了這些態樣的簡單概括。該概括部分不是對所有預期態樣的詳盡概述,也不是意欲標識所有態樣的關鍵或重要元素,或者描述任意或全部態樣的範疇。其唯一目的是用簡單的形式呈現一或多個態樣的一些概念,以此作為後面的詳細說明的前奏。
在不頻繁地發生資料傳輸的各種應用中,開發並且採納了BLE。BLE經由使用低工作週期操作來利用不頻繁的資料傳輸,在資料傳輸之間將中央設備及/或周邊設備中的至少一個切換到休眠模式。使用BLE的實例應用包括:各種醫療、工業、消費者和健身應用中的電池供電的感測器和致動器。BLE應用程式通常連接到諸如支援BLE的智慧型電話、平板設備和膝上型電腦之類的設備。
儘管傳統的BLE提供某些優點,但傳統的BLE協定僅經由使用循環冗餘檢查(CRC)來提供資料封包的有效載荷中的錯誤偵測。因此,根據傳統的BLE協定,重傳是可以對有效載荷中的差錯進行「校正」的方式,其中經由重傳的校正不同於經由FEC來實現的相同資料封包的動態校正。亦即,FEC實際上對相同資料封包中的差錯進行校正,而重傳經由使用另一版本的資料有效載荷(其可能包括差錯,亦可能不包括差錯)替換當前資料封包來校正當前資料封包的差錯。
在傳統BLE協定中的失敗糾錯中,可以使用實際上定義了靜音或封包丟失隱藏的特殊封包來代替錯誤資料封包。靜音封包及/或封包丟失隱藏可能降低通訊品質,這是因為可能省略了部分的通訊(例如,語音撥叫期間的語音中斷)。
由於很多應用(例如,結合蜂巢式電話使用的無線耳機)需要大部分無錯誤(例如,低差錯率資料串流)資料來準確地再現電話通信期,因此未校正的錯誤資料封包可能影響給定應用的感知品質。
另外,使用傳統BLE的糾錯技術不僅可能降低給定應用的感知音訊品質,而且亦可能限制由於接收設備處的有限靈敏度導致的BLE空中介面封包的發射功率降低。接收設備靈敏度可以與最低信號功率位準相關,接收設備可以從該最低信號功率位準獲得來自BLE空中介面封包的資訊,而無需滿足位元差錯率(BER)閥值。因此,接收設備靈敏度可能限制BLE空中介面封包的發射功率降低。
需要一種BLE糾錯技術,以便在不使用靜音封包及/或封包丟失隱藏的情況下提高(例如,增加)語音或其他流式音訊資料的音訊品質,並且增加接收設備的靈敏度。
本案內容的糾錯技術經由以下方式,促進了關於資料封包的一或多個部分缺少FEC或者其他嵌入式糾錯機制的通訊系統中的糾錯:維持多個資料封包重傳、應用封包標頭遮罩、以及執行多數表決來校正至少標頭和有效載荷中的差錯。因此,這些技術提供了用於整個封包(其包括任何嵌入的糾錯機制沒有保護的那些部分)的糾錯。結果,由於這些技術可以減少位元差錯率,並且增加接收設備的靈敏度,使得可以減少資料封包的發射功率,因此改進了雜訊通訊媒體上的資料通訊。對於涉及語音或者其他流資料的資料通訊而言,相對於不使用本案內容中所描述的技術的系統,這些技術促進了改進的音訊品質。
在本案內容的一個態樣,提供了一種方法、電腦可讀取媒體和裝置。當第一設備未對來自第二設備的資料封包的先前資料封包傳輸進行確認時,從第二設備接收資料封包重傳。在一個態樣,該資料封包可以至少包括封包標頭和有效載荷。當第一設備未對該資料封包進行確認時,該裝置可以維持該資料封包的每次傳輸直到維持的資料封包的閥值數量。當達到維持的資料封包的閥值數量時,該裝置可以向所維持的資料封包之每一者資料封包中的封包標頭應用封包標頭遮罩。在應用了封包標頭遮罩之後,該裝置可以決定所維持的資料封包之每一者資料封包中的封包標頭是否相同。當在應用了封包標頭遮罩之後,決定所維持的資料封包之每一者資料封包中的封包標頭相同時,該裝置可以決定所維持的資料封包的每個配對的組合中的有效載荷之間的差異的數量是否滿足閥值標準。當決定所維持的資料封包的每個配對的組合的有效載荷之間的差異的數量不滿足閥值標準時,該裝置可以關於所維持的資料封包中的至少一個,對有效載荷執行逐位多數表決以決定糾錯的資料封包。在一個態樣,該經糾錯的資料封包可以包括多數表決的有效載荷。
為了實現前述和有關的目的,一或多個態樣包括下文所詳細描述和申請專利範圍中具體指出的特徵。下文描述和附圖詳細描述了一或多個態樣的某些示例性特徵。但是,這些特徵僅僅說明可採用這些各個態樣之基本原理的各種方法中的一些方法,並且該描述意欲包括所有這些態樣及其均等物。
下面結合附圖描述的具體實施方式,僅僅意欲對各種配置進行描述,而不是意欲表示僅在該等配置中才可以實現本文所描述的概念。為了對各種概念有一個透徹理解,具體實施方式包括特定的細節。但是,對於本發明所屬領域中具有通常知識者來說顯而易見的是,可以在不使用這些特定細節的情況下實現這些概念。在一些實例中,為了避免對這些概念造成模糊,公知的結構和部件以方塊圖形式示出。
現在參照各種裝置和方法來提供電信系統的一些態樣。這些裝置和方法將在下面的具體實施方式中進行描述,並在附圖中經由各種方塊、部件、電路、處理、演算法等等(其統稱為「元素」)來進行圖示。可以使用電子硬體、電腦軟體或者其任意組合來實現這些元素。至於這些元素是實現成硬體還是實現成軟體,取決於特定的應用和對整個系統所施加的設計約束條件。
舉例而言,元素或者元素的任何部分或者元素的任意組合,可以實現成包括一或多個處理器的「處理系統」。處理器的實例係包括微處理器、微控制器、圖形處理單元(GPU)、中央處理單元(CPU)、應用處理器、數位訊號處理器(DSP)、精簡指令集計算(RISC)處理器、片上系統(SoC)、基頻處理器、現場可程式設計閘陣列(FPGA)、可程式設計邏輯裝置(PLD)、狀態機、門邏輯、分離硬體電路和被配置為執行貫穿本案內容描述的各種功能的其他適當硬體。處理系統中的一或多個處理器可以執行軟體。軟體應當被廣泛地解釋為意味著指令、指令集、代碼、程式碼片段、程式碼、程式、副程式、軟體部件、應用、軟體應用、套裝軟體、例行程式、子例行程式、物件、可執行檔、執行的執行緒、程序、函數等等,無論其被稱為軟體、韌體、中介軟體、微代碼、硬體描述語言還是其他術語。
因此,在一或多個實例實施例中,本文所描述的功能可以用硬體、軟體或者其任意組合來實現。當使用軟體實現時,可以將這些功能儲存或編碼成電腦可讀取媒體上的一或多個指令或代碼。電腦可讀取媒體包括電腦儲存媒體。儲存媒體可以是電腦能夠存取的任何可用媒體。經由實例的方式而不是限制的方式,這種電腦可讀取媒體可以包括隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電子可抹除可程式設計ROM(EEPROM)、光碟儲存、磁碟儲存、其他磁存放裝置、前述類型的電腦可讀取媒體的組合、或者能夠用於儲存具有指令或資料結構形式的電腦可執行代碼並能夠由電腦存取的任何其他媒體。
圖1圖示根據本案內容的某些態樣的示例性WPAN 100。在WPAN 100中,中央設備102可以利用BLE協定,使用ACL通訊鏈路116與一或多個周邊設備104、106、108、110、112、114進行通訊。BLE協定是在全球接受的2.4 GHz工業、科學&醫療(ISM)頻帶中實現無線電頻率通訊操作的規範。
BLE協定可以使用稱為「跳頻」展頻的特定類型的展頻資料通訊來實現無線通訊。跳頻展頻可以將經由無線通訊媒體傳輸的資料封包分成離散部分,將這些部分之每一者部分發送成多達例如79個不同頻率的信號。通常,BLE協定提供ACL通訊鏈路,其中第一設備與第二設備連接(或者在「藍芽TM規範」的術語中「配對」)。該連接是非同步的,因為這兩個設備不需要在時間上彼此同步資料通訊,以允許經由ACL通訊鏈路116來傳輸資料封包。
由於正在使用的無線設備的數量增加,無線設備可能超出用於ACL通訊鏈路116的頻率。因此,這些無線通訊通道(例如,ACL通訊鏈路116)在某種意義上可能是「嘈雜的」:靜態或其他干擾可能引入與經由建立的ACL通訊鏈路116進行通訊所保留的頻帶相同的頻帶的隨機信號。靜態、干擾及/或隨機信號可能對經由ACL通訊鏈路116發送的資料封包造成錯誤。經由經由ACL通訊鏈路116提供原始資料封包的重傳,可以增加接收無錯誤封包的概率。
儘管傳統的BLE提供某些優點,但傳統的BLE協定僅經由使用CRC來提供資料封包的有效載荷中的錯誤偵測。因此,根據傳統的BLE協定,重傳是可以對有效載荷中的差錯進行「校正」的方式,其中經由重傳的校正不同於經由FEC來實現的相同資料封包的動態校正。亦即,FEC對相同資料封包中的差錯進行校正,而重傳經由使用具有另一版本的資料有效載荷的資料封包(其可能包括差錯,也可能不包括差錯)替換當前資料封包來校正當前資料封包的差錯。
在傳統BLE協定中的失敗糾錯中,可以使用實際上定義了靜音封包或封包丟失隱藏的特殊封包來代替錯誤資料封包。靜音封包及/或封包丟失隱藏可能降低通訊品質,這是因為省略了部分的通訊(例如,語音撥叫期間的語音中斷)。
根據本案內容的技術的一個態樣,第一設備(例如,耳機112)可以經由耳機112與第二設備(例如,BLE行動電話102)之間的ACL通訊鏈路116來接收資料封包的多次重傳。因此,耳機112可以經由ACL通訊鏈路116來接收資料封包的原始傳輸,並且執行錯誤偵測以決定資料封包是否包含錯誤。若資料封包包含錯誤,則耳機112可以首先嘗試對該錯誤進行校正。但是,假設不能校正該錯誤,耳機112將不會回應於資料封包的第一次傳輸來向行動設備102發送確認封包。
當未對資料封包的原始傳輸進行確認時,耳機112可以接收資料封包的第二次傳輸。耳機112可以決定資料封包的第二次傳輸是否包含錯誤。假設資料封包的第二次傳輸包含無法校正的錯誤,則耳機112將不會回應於資料封包的第二次傳輸來向行動設備102發送確認封包。
當未對資料封包的第二次傳輸進行確認時,耳機112可以接收資料封包的第三次傳輸。耳機112可以決定資料封包的第三次傳輸是否包含無法校正的錯誤。
根據本案內容的某些態樣,回應於偵測到資料封包的第三次傳輸中的另一個不可校正的錯誤,耳機112可以對資料封包的第一次傳輸、資料封包的第二次傳輸以及資料封包的第三次傳輸的相應有效載荷位元執行逐位多數表決以產生至少部分糾錯的通訊,而不是使用指定靜音或封包丟失隱藏的特殊通訊來替換資料封包的第三傳輸。耳機112可以經由例如比較資料封包的第一次傳輸、資料封包的第二次傳輸和資料封包的第三次傳輸中的每一個的有效載荷的第一位元來執行逐位多數表決,為了說明起見,其可以分別包括第一位元值1、1和0。當兩個1形成多數時,第一設備可以選擇「1」,從而實現逐位元多數表決來校正資料封包的第三次傳輸中的假設的「0」錯誤。可以對資料封包的第一次傳輸、資料封包的第二次傳輸和資料封包的第三次傳輸的資料封包有效載荷的每個相應位元執行多數表決程序。
此外,本案內容中描述的糾錯技術亦可以包括:耳機112可以檢查資料封包的標頭是否有錯誤(因為標頭缺少CRC),以及經由對包含具有最多差錯的有效載荷的資料封包重傳進行清除來持續地維持一定數量的資料封包重傳。與使用傳統糾錯技術所經歷的品質相比(其中傳統糾錯技術使用指定靜音或封包丟失隱藏的特殊封包來替換錯誤資料封包),本案內容的糾錯技術經由執行多數表決程序、檢查標頭、以及經由對包含具有最多差錯的有效載荷的資料封包重傳進行清除來持續地維持具有最少錯誤的重傳的資料封包,可以提高ACL通訊鏈路116上的通訊的品質。
中央設備102可以包括用於使用如下面參照圖2到圖8所描述的糾錯技術,與一或多個周邊設備104、106、108、110、112、114進行通訊的適當邏輯、電路、介面、處理器及/或代碼。中央設備102可以操作成發起者,以請求與預期的周邊設備104、106、108、110、112、114建立鏈路層(LL)連接(例如,ACL通訊鏈路116)。
與BT相比,BLE協定堆疊中的LL(例如,參見圖3)提供超低功率閒置模式操作、簡單設備發現、以及具有高級省電和加密功能的可靠的點對多點資料傳輸。在建立所請求的LL連接之後,中央設備102可以變成主設備,預期的周邊設備104、106、108、110、112、114可以變成用於建立的LL連接的從設備,反之亦然。作為主設備,中央設備102能夠一次支援到各個周邊設備104、106、108、110、112、114(從設備)的多個LL連接。中央設備102(主設備)可以用於管理與相關聯周邊設備104、106、108、110、112、114(從設備)的LL連接中的資料封包通訊的各個態樣。例如,中央設備102可以用於決定與周邊設備104、106、108、110、112、114(從設備)的LL連接中的操作排程。中央設備102可以用於在LL連接中發起資料封包交換序列。LL連接可以被配置為在資料通道中執行定期連接事件。資料封包傳輸可以在連接事件中發生。
在某些配置中,中央設備102可以被配置為在每個連接事件中向預期的周邊設備104、106、108、110、112、114發送第一資料封包。中央設備102可以使用輪詢方案,在連接事件中輪詢預期的周邊設備104、106、108、110、112、114以進行資料封包傳輸。當對中央設備102發送的資料封包進行正確地接收及/或解碼(例如,CRC通過)時,預期的周邊設備104、106、108、110、112、114可以發送確認。
中央設備102的實例包括蜂巢式電話、智慧型電話、對話啟動協定(SIP)電話、行動站(STA)、膝上型電腦、個人電腦(PC)、桌面型電腦、個人數位助理(PDA)、衛星無線電裝置、全球定位系統、多媒體設備、視訊設備、數位音訊播放機(例如,MP3播放機)、照相機、遊戲控制台、平板設備、智慧設備、可穿戴設備、車輛、電錶、氣泵、烤麵包機、恒溫器、助聽器、無線耳機、血糖體上單元、物聯網路(IoT)設備或者任何其他類似功能的設備。
一或多個周邊設備104、106、108、110、112、114的實例包括蜂巢式電話、智慧型電話、SIP電話、STA、膝上型電腦、PC、桌面型電腦、PDA、衛星無線電裝置、全球定位系統、多媒體設備、視訊設備、數位音訊播放機(例如,MP3播放機)、照相機、遊戲控制台、平板設備、智慧設備、可穿戴設備、車輛、電錶、氣泵、烤麵包機、恒溫器、助聽器、無線頭戴、血糖體上單元、IoT設備或者任何其他類似功能的設備。儘管將中央設備102示出成與WPAN 100中的六個周邊設備104、106、108、110、112、114進行通訊,但是中央設備102可以與WPAN 100內的多於或少於六個周邊設備進行通訊,而不脫離本案內容的保護範疇。
再次參見圖1,在某些態樣,中央設備102及/或周邊設備(例如,周邊設備112)可以被配置為對經由ACL通訊鏈路(120)接收的資料封包執行糾錯。
圖2是根據本案內容的某些態樣的無線設備200的方塊圖。無線設備200可以對應於例如圖1中的中央設備102及/或周邊設備104、106、108、110、112、114中的一個。在某些配置中,無線設備200可以是例如BLE設備,其被配置為對經由ACL通訊鏈路接收的資料封包執行糾錯。
如圖2中所示,無線設備200可以包括處理部件(例如,處理器202),其可以執行用於無線設備200的程式指令。無線設備200亦可以包括顯示電路204,後者可以執行圖形處理,向顯示器242提供顯示信號。處理器202亦可以耦合到記憶體管理單元(MMU)240,後者可以被配置為從處理器202接收位址,將該等位址轉換成記憶體(例如,記憶體206、ROM 208、快閃記憶體210)中的位置及/或其他電路或設備(例如,顯示電路204、無線電裝置230、連接器介面220及/或顯示器242)。MMU 240可以被配置為執行記憶體保護和頁面表轉換或設置。在一些實施例中,可以將MMU 240包括成處理器202的一部分。
如圖所示,處理器202可以耦合到無線設備200的各種其他電路。例如,無線設備200可以包括各種類型的記憶體、連接器介面220(例如,用於耦合到電腦系統)、顯示器242和無線通訊電路(例如,用於Wi-Fi、BT、BLE等等)。無線設備200可以包括複數個天線235a、235b、235c、235d,以用於與其他BLE設備進行無線通訊。
在某些態樣,無線設備200可以包括被配置為例如使用下面參照圖3到圖8所描述的技術,單獨地檢查資料封包的標頭是否有錯誤並且執行資料封包的多數表決的硬體和軟體部件(處理部件)。無線設備200亦可以包括BLE韌體或者用於控制BLE操作的其他硬體/軟體。另外,無線設備200可以儲存並且執行用於控制WLAN操作的WLAN軟體驅動器。
無線設備200可以被配置為實現下面參照圖3到圖8描述的糾錯技術的一部分或全部,例如,經由執行儲存在儲存媒體(例如,非臨時性電腦可讀取儲存媒體)上的程式指令及/或經由硬體或韌體操作。在其他實施例中,下面參照圖3到圖8所描述的糾錯技術可以至少部分地由可程式設計硬體部件(例如,現場可程式設計閘陣列(FPGA)及/或特殊應用積體電路(ASIC))來實現。
在某些態樣,無線電裝置230可以包括:被配置為控制各種相應無線電存取技術(RAT)協定的通訊的單獨控制器。例如,如圖2中所示,無線電裝置230可以包括被配置為控制無線區域網路(WLAN)通訊的WLAN控制器250和被配置為控制短距離通訊(例如,BLE通訊)的短距離通訊控制器252。共存介面254(例如,有線介面)可以用於在WLAN控制器250和短距離通訊控制器252之間發送資訊。
在一些態樣,WLAN控制器250及/或短距離通訊控制器252中的一或多個可以實現成硬體、軟體、韌體或者其某種組合。
在某些態樣,WLAN控制器250可以被配置為使用所有天線235a、235b、235c、235d,利用WLAN鏈路與第二設備進行通訊。在某些配置中,短距離通訊控制器252可以被配置為實現BLE協定堆疊(參見圖3),並且使用天線235a、235b、235c、235d中的一或多個與至少一個第二設備進行通訊。短距離通訊控制器252可以被配置為單獨地檢查資料封包的標頭是否有錯誤,並且執行資料封包的多數表決。
圖3圖示可以在BLE設備中實現的BLE協定堆疊300。例如,BLE協定堆疊300可以由例如圖2中所示出的處理器202、記憶體206、快閃記憶體210、ROM 208、無線電裝置230及/或短距離通訊控制器252中的一或多個來實現。
參見圖3,將BLE協定堆疊300組織成三個塊,即:應用302、主機304和控制器306。應用302是與BLE協定堆疊300的其他塊及/或層介面的使用者應用。主機304包括BLE協定堆疊300的上層,控制器306包括BLE協定堆疊300的下層。
主機304可以使用主機控制器介面(HCI)(圖3中未圖示)與無線設備中的BLE控制器(例如,圖2中的短距離通訊控制器252)進行通訊。HCI亦可以用於將控制器306與主機304進行介面。使控制器306與主機304進行介面,並且可以使較大範圍的主機能夠與控制器306進行介面。
應用302可以包括更高層的應用層(App)308,並且BLE協定堆疊300可以在App 308下執行。主機304可以包括通用存取簡檔(GAP)310、通用屬性協定(GATT)312、安全管理器(SM)314、屬性協定(ATT)316、以及邏輯鏈路控制和適配協定(L2CAP)318。控制器306可以包括LL 320和實體層(PHY)322。
PHY 322可以定義用於經由連接BLE設備的實體鏈路來發送位元串流的機制。可以將位元串流組合成編碼字元或符號,轉換為經由傳輸媒體來傳輸的資料封包。PHY 322可以為傳輸媒體提供電、機械和程式介面。PHY 322可以指定電連接器的形狀和特性、用於傳輸的頻帶、調制方案和類似的低層參數。
LL 320負責PHY 322上的低層通訊。LL 320管理用於發送和接收資料封包的序列和定時,使用LL協定與其他設備關於連接參數和資料串流控制進行通訊。此外,LL 320亦提供閥值保持功能,以限制曝光和與其他設備的資料交換。若配置了過濾,則LL 320維護允許的設備清單,將忽略來自不在該清單上的設備的所有資料交換請求。LL 320亦可以降低功耗。LL 320可以使用HCI(圖3中未圖示)與BLE協定堆疊300的上層進行通訊。LL 320可以包括公司的專有LL,其可以用於發現對等設備(例如,與公司相關聯的其他設備),並且與之建立安全的通訊通道。
在某些態樣,LL 320可以負責在WPAN中的設備之間傳輸資料封包。每個資料封包可以包括標頭欄位中的邏輯傳輸位址LT_ADDR,其指定用於攜帶資料封包的邏輯傳輸的類型。主設備和從設備之間可能存在邏輯傳輸。另外,一些邏輯傳輸可以攜帶多個邏輯鏈路。
一種類型的邏輯傳輸是ACL邏輯傳輸。ACL邏輯傳輸可以用於攜帶資料封包(例如,下面參照圖4所描述的資料封包)。當每個設備加入WPAN時,該設備可以接收預設的ACL邏輯傳輸。每個ACL邏輯傳輸可以攜帶一或多個ACL通訊鏈路,它們經由標頭的邏輯鏈路ID(LLID)欄位來區分。若接收器設備未進行確認的話,則可以自動地接收經由ACL通訊鏈路攜帶的重傳資料封包,從而允許校正受到干擾的無線電鏈路。ACL邏輯傳輸可以允許時間敏感型或時間限制型應用(例如,串流服務、包括網際網路協定語音(VoIP)和更多標準的語音應用、蜂巢式電話撥叫)的資料通訊。在實現傳統的BLE協定時,可以使用特殊的通訊封包來替代失敗的糾錯、經由ACL通訊鏈路攜帶的錯誤資料封包,該特殊的通訊封包實際上定義了靜音或封包丟失隱藏。因為省略了部分通訊(例如,語音撥叫期間的語音中斷),因此該特殊靜音通訊封包及/或封包丟失隱藏可以降低在ACL通訊鏈路上經歷的通訊品質。
例如,本案內容中描述的糾錯技術可以包括:檢查資料封包的標頭是否有錯誤(因為標頭缺少CRC),經由清除包括有最多差錯的有效載荷的資料封包和執行多數表決程序以糾正有效載荷來持續地維持資料封包重傳。與使用傳統糾錯技術所經歷的品質相比(其中傳統糾錯技術使用指定靜音或封包丟失隱藏的特殊封包來替換錯誤資料封包),本案內容的糾錯技術經由檢查標頭、經由對包含具有最多差錯的有效載荷的資料封包進行清除來持續地維持新重傳的資料封包、以及執行多數表決程序,可以提高ACL通訊鏈路上的通訊的品質。
L2CAP 318可以將來自上層的多個協定封裝成資料封包格式(反之亦然)。此外,L2CAP 318亦可以將具有來自上層的大資料有效載荷的封包拆分成多個封包,其中將資料有效載荷分段為適合發送側的最大有效載荷大小(例如,27個位元組)的較小大小的資料有效載荷。類似地,L2CAP 318可以接收攜帶有已經被分段的資料有效載荷的多個資料封包,L2CAP 318可以將分段的資料有效載荷組合成單個資料封包,其中該單個資料封包攜帶將發送到上層的資料有效載荷。
ATT 316是基於與為特定目的(例如,監視心率、溫度、廣播廣告等)而配置的BLE設備相關聯的屬性的客戶端/伺服器協定。可以由對等設備發現、讀取和寫入這些屬性。經由ATT 316執行的一組操作可以包括但不限於:錯誤處理、伺服器配置、檢視資訊、讀取操作、寫入操作、排隊寫入等等。ATT 316可以形成BLE設備之間的資料交換的基礎。
SM 314負責設備配對和金鑰分發。由SM 314實現的安全管理器協定可以定義如何執行與對方BLE設備的SM的通訊。SM 314提供可以由BLE協定堆疊300的其他部件使用的額外加密功能。將BLE中使用的SM 314的架構設計為經由將工作轉移到假設更強大的中央設備,來使周邊設備的資源要求減到最小。BLE使用配對機制進行金鑰分發。SM 314提供不僅對資料進行加密而且亦提供資料認證的機制。
GATT 312描述了使用屬性協定來發現服務、以及用於在對等設備上讀取和寫入特徵值的服務框架。GATT 312經由App的設定檔與App 308進行介面。App 308設定檔定義了屬性集合以及在BLE通訊中使用的屬性所需要的任何許可權。
GAP 310為App 308提供用於發起、建立和管理與其他BLE設備的連接的介面。
圖4是示出根據本案內容的某些態樣的資料封包400的圖。如圖4中所示,資料封包400可以包括前導402、編碼的存取位址404、存取碼尾部406、速率指示符408、標頭410、有效載荷412和CRC 414。在某些配置中,資料封包400可以不包括CRC 414。在某些其他配置中,有效載荷412可以包括訊息完整性檢查(MIC)。MIC包括可以用於驗證資料封包的資訊。換言之,接收設備可以使用MIC來確認訊息來自所陳述的發送設備(例如,資料封包真實性),確認有效載荷412沒有被改變(例如,資料封包完整性)。MIC經由使亦具有安全金鑰的接收設備能夠偵測有效載荷412的任何變化,來保護有效載荷完整性和資料封包400的真實性。
資料封包400可以包括m位元序列b0
、b1
、…、bm-2
、bm-1
,進行發送或者連續處理的第一位元可以是最左邊的位元b0
。該序列的數位表示bm-1
bm-2
…b1
b0
具有作為LSB的b0
和作為最高有效位(MSB)的bm-1
。在傳輸期間,可能在例如標頭410、有效載荷412及/或CRC 414內發生一或多個差錯。當資料封包400包括差錯時,可以使用例如下面參照圖5A、5B、5C、5D、6、7及/或圖8所描述的技術來校正資料封包400。
圖5A到圖5D根據本案內容的某些態樣,圖示可以用於對非同步無連接(ACL)通訊鏈路接收的錯誤資料封包進行校正的資料串流500。資料封包可以由第二設備504發送,由第一設備502進行接收。例如,可以經由ACL通訊鏈路來接收資料封包,第一設備502可以使用下面所描述的技術,對所接收的資料封包中的差錯進行校正。在某些態樣,第一設備502和第二設備504可以是支援BLE的設備。第一設備502可以對應於例如中央設備102、周邊設備104、106、108、110、112、114、無線設備200、裝置702/702'。 第二設備504可以對應於例如中央設備102、周邊設備104、106、108、110、112、114、無線設備200、第二設備750。在圖5A到圖5D中,使用虛線來指示可選的操作。
參見圖5A,第一設備502可以從第二設備504接收(在501a處)資料封包的第一次傳輸。第一設備502可以決定資料封包的第一次傳輸的標頭、有效載荷及/或CRC中的一或多個包含至少一個不可糾正的錯誤。不可糾正的錯誤可以是:例如,阻止第一設備502對資料封包的至少一部分進行解碼的錯誤。在某些態樣,第一設備502可以在第一緩衝區中維持(在503a處)資料封包的第一次傳輸。例如,可以維持資料封包的第一次傳輸,使得可以使用相同資料封包的多次傳輸來執行糾錯,其中每次傳輸都可能具有不可糾正的錯誤。當第一設備502決定資料封包的第一次傳輸包括不可糾正的錯誤時,可以不向第二設備504發送對資料封包的第一次傳輸的確認。因此,第二設備504可以向第一設備502發送資料封包的第二次傳輸。
在某些態樣,第一設備502可以從第二設備504接收(在501b處)資料封包的第二傳輸。第一設備502可以決定資料封包的第二次傳輸的標頭、有效載荷及/或CRC中的一或多個包含至少一個不可糾正的錯誤。在某些態樣,第一設備502可以在第二緩衝區中維持(在503b處)資料封包的第二次傳輸。當第一設備502決定資料封包的第二傳輸包括不可糾正的錯誤時,可以不向第二設備504發送對資料封包的第二次傳輸的確認。因此,第二設備504可以向向第一設備502發送資料封包的第三次傳輸。
在某些其他態樣,第一設備502可以從第二設備504接收(在501c處)資料封包的第三次傳輸。第一設備502可以決定資料封包的第三次傳輸的標頭、有效載荷及/或CRC中的一或多個包含至少一個不可糾正的錯誤。在某些態樣,第一設備502可以在第三緩衝區中維持(在503c處)資料封包的第三次傳輸。
在某些配置中,第一設備502可以繼續嘗試對資料封包的重傳進行解碼,直到達到維持資料封包的閥值數量為止。當達到維持資料封包的閥值數量時,第一設備502可以執行下面所描述的糾錯技術。在圖5A到圖5D所示的實例中,維持的資料封包的閥值數量是三個。但是,維持的資料封包的閥值數量並不限於三個。例如,在不脫離資料封包的範疇的情況下,維持的資料封包的閥值數量可以包括大於2的資料封包的任何數量。
當達到維持的資料封包的閥值數量時,第一設備502可以向每個維持的資料封包中的封包標頭應用(在505處)封包標頭遮罩。例如,位於第一設備502處的韌體可以載入3個八位元組的硬體暫存器(例如,Packet_Header_MV_Mask
)以掩蔽資料封包標頭中的位元,這些位元可能在資料封包的第一次傳輸、資料封包的第二次傳輸、以及資料封包的第三次傳輸之間發生改變。例如,用於掩蔽資料封包標頭中的位元的暫存器的值可以是0xFFFFFF。可以在標頭中掩蔽的資訊類型可以是能夠獨立於有效載荷改變而改變的資訊。例如,在BLE的上下文中,可以獨立於有效載荷而改變的位元包括:下一個預期序號(NESN)位元及/或更多資料(MD)位元。
在某些配置中,從本案內容的觀點來看,NESN位元或者MD位元可能是不相關的,因此,應當完全掩蔽標頭的「不相關」位元。但是,這些「不相關」位元中的一或多個可能在以後變得重要,因此,標頭遮罩允許未來使「不相關」位元變得重要,從而可以對它們進行糾錯或者包括在多數表決演算法中。
在某些態樣,第一設備502可以在應用了封包標頭遮罩之後,決定(在507處)每個維持的資料封包中的封包標頭是否相同。當決定封包標頭中的一個與另外兩個封包標頭不同時,可以從該資料封包的相應緩衝區中移除(在509處)具有不同標頭的資料封包,如圖5B中所示,第一設備502可以接收(在511處)資料封包的第一後續(例如,第四)傳輸。第一設備502可以決定資料封包的第一後續傳輸的標頭、有效載荷及/或CRC中的一或多個包含至少一個不可糾正的錯誤。在某些態樣,第一設備502可以將資料封包的第一後續傳輸維持(在513處)在該資料封包被去除(在509處)的緩衝區中。隨後,第一設備502可以向包括資料封包的第一後續傳輸的維持的資料封包應用資料包頭遮罩(在505處),以決定封包標頭是否全部相同。
當第一設備502決定(在507處)每個維持的資料封包中的封包標頭都是相同的時,第一設備可以決定(在515處)所維持的資料封包的每個配對的組合中的有效載荷之間的差異的數量是否符合閥值標準。例如,假設資料封包的第一維持傳輸是傳輸‘A’,資料封包的第二維持傳輸是傳輸‘B’,資料封包的第三維持傳輸是‘C’。這裡,若維持的傳輸滿足閥值標準(例如,3個或更多差異),則第一設備502可以比較每個配對組合的有效載荷(例如,A&B,B&C和C&A)。
當第一設備502決定(在515處)所維持的資料封包的每個配對組合中的有效載荷之間的差異的數量滿足閥值標準時,第一設備502可以從其緩衝區移除(在517處)資料封包。在某些態樣,被移除的資料封包(在517處)可以是包括最大數量的不可糾正錯誤或者最舊的維持傳輸的資料封包。
如圖5B中所示,第一設備502可以接收(在519處)資料封包的第二後續傳輸,將資料封包的第二後續傳輸維持(在521處)在該資料封包被移除(在517處)的緩衝區中。
當第一設備決定(在515處)所維持的資料封包的每個配對組合中的有效載荷之間的差異的數量不滿足閥值標準時,第一設備502可以對所維持的資料封包的相應有效載荷位元執行(在523處)逐位多數表決,以決定糾錯後的資料封包。
例如,第一設備502可以經由比較例如資料封包的第一傳輸、資料封包的第二傳輸和資料封包的第三次傳輸的第一位元,來執行(在523處)逐位多數表決,為了說明起見,它們可以分別包括第一位元值1、1和0。由於兩個1形成了多數,因此第一設備可以選擇「1」,從而實現逐位元多數表決以校正資料封包的第三次傳輸中的假設「0」錯誤。可以針對相應資料封包有效載荷的每個位元來執行多數表決程序,以決定多數表決的有效載荷。
在某些配置中,若資料封包不包括CRC並且若資料封包的有效載荷不包括MIC,則在決定多數表決的有效負載時,第一設備502可以向第二設備504發送(在525處)並且進行確認。當第二設備504接收到確認時,第二設備504可以停止向第一設備502重傳未確認的資料封包。
如圖5C中所示,若資料封包包括第一CRC(例如,圖4中的CRC 414),則第一設備502可以基於糾錯後的資料封包的多數表決有效載荷來決定(在527處)第二CRC。第一設備502可以基於第二CRC和多數表決的CRC的比較,來決定(在529處)第二CRC是否有效。當第二CRC和多數表決的CRC匹配時,可以將第二CRC決定為有效的。
當決定第二CRC有效時,第一設備502可以從每個不同的緩衝區中移除(在531處)每個維持的資料封包,向第二設備504發送(在533處)確認。
替代地,當決定第二CRC無效時,第一設備502可從相應的緩衝區中移除(在535)最舊的維持的資料封包。隨後,第一設備502可以從第二設備504接收資料封包的後續傳輸,在空緩衝區中維持資料封包的後續傳輸,並且返回到資料串流500中的505。
在某些其他態樣,若資料封包的有效載荷包括MIC,則糾錯後的資料封包可以包括由第一設備502決定的多數表決的MIC。這裡,第一設備502可以基於糾錯後的資料封包的多數表決的有效載荷來決定(在537處)第二MIC,並且基於第二MIC與多數表決的MIC的比較來決定(在539)第二MIC是否有效。若第二MIC和多數投票的MIC匹配,則可以決定第二MIC有效。
如圖5D所示,當決定第二MIC有效時,第一設備502可以從每個不同的緩衝區中移除(在541處)每個維持的資料封包,並且向第二設備504發送(在543處)確認。
替代地,當決定第二MIC無效時,第一設備502可從相應的緩衝區中移除(在545處)最舊的維持的資料封包。隨後,第一設備502可以從第二設備504接收資料封包的後續傳輸,在空緩衝區中維持資料封包的後續傳輸,並且返回到資料串流500中的505。
上面參照圖5A到圖5D描述的糾錯技術促進了關於資料封包的一或多個部分缺少FEC或者其他嵌入式糾錯機制的通訊系統中的糾錯。因此,這些技術提供了用於整個封包(其包括任何嵌入的糾錯機制沒有保護的那些部分)的糾錯。作為這些技術的結果,由於這些技術可以在本質上減少位元差錯率,增加接收設備的靈敏度,使得可以減少資料封包的發射功率,因此改進了雜訊通訊媒體上的資料通訊。對於涉及語音或者其他流式音訊資料的資料通訊而言,相對於不使用本案內容中所描述的技術的系統,這些技術促進了改進的音訊品質。
圖6是一種無線通訊的方法的流程圖600。該方法可以由與第二設備(例如,中央設備102、周邊設備104、106、108、110、112、114、無線設備200、第二設備504、750)通訊的第一設備(例如,中央設備102、周邊設備104、106、108、110、112、114、無線設備200、裝置702/702')執行。在圖6中,使用虛線來指示可選的操作。
參見圖6,在602處,當第一設備未對來自第二設備的資料封包的先前傳輸進行確認時,從第二設備接收原始資料封包傳輸及/或資料封包重傳。在一個態樣,該資料封包可以至少包括封包標頭和有效載荷。例如,參見圖4,資料封包400可以包括前導402、編碼的存取位址404、存取碼尾部406、速率指示符408、標頭410、有效載荷412和CRC 414。參見圖5A,第一設備502可以從第二設備504接收(在501a處)資料封包的第一次傳輸,第一設備502可以從第二設備504接收(在501b處)資料封包的第二次傳輸,第一設備502可以從第二設備504接收(在501c處)資料封包的第三次傳輸。
在604處,第一設備可以決定是否存在與資料封包的傳輸及/或資料封包的重傳相關聯的錯誤。例如,參見圖5A,第一設備502可以決定資料封包的第一次傳輸的標頭、有效載荷及/或CRC中的一或多個包含至少一個不可糾正的錯誤。不可糾正的錯誤可以是例如使第一設備502不能對資料封包的至少一部分進行解碼的錯誤。當第一設備502決定資料封包的第一次傳輸包括不可糾正的錯誤時,可以不向第二設備504發送對資料封包的第一次傳輸的確認。因此,第二設備504可以向第一設備502發送資料封包的第二次傳輸。第一設備502可以決定資料封包的第二次傳輸的標頭、有效載荷及/或CRC中的一或多個包含至少一個不可糾正的錯誤。當第一設備502決定資料封包的第二次傳輸包括不可糾正的錯誤時,可以不向第二設備504發送對資料封包的第二次傳輸的確認。因此,第二設備504可以向第一設備502發送資料封包的第三次傳輸。第一設備502可以決定資料封包的第三次傳輸的標頭、有效載荷及/或CRC中的一或多個包含至少一個不可糾正的錯誤。
在606處,當決定資料封包的第一次傳輸、資料封包的第二次傳輸(例如,第一次重傳)及/或資料封包的第三次傳輸(例如,第二次重傳)中的一或多個不包括不可糾正的錯誤時,第一設備可以向第二設備發送確認。
在608處,當決定資料封包的第一次傳輸包括不可糾正的錯誤時,第一設備可以在第一緩衝區中維持資料封包的第一次傳輸。當決定資料封包的第二次傳輸包括不可糾正的錯誤時,第一設備可以在第二緩衝區中維持資料封包的第二次傳輸。當決定資料封包的第三次傳輸包括不可糾正的錯誤時,第一設備可以在第三緩衝區中維持資料封包的第三次傳輸。在某些態樣,第一緩衝區、第二緩衝區和第三緩衝區可以是不同的緩衝區。例如,參見圖5A,第一設備502可以在第一緩衝區中維持(在503a處)資料封包的第一次傳輸。例如,可以維持資料封包的第一次傳輸,使得可以使用具有不可糾正的錯誤的相同資料封包的多次傳輸來執行糾錯。在某些態樣,第一設備502可以在第二緩衝區中維持(在503b處)資料封包的第二次傳輸。在某些其他態樣,第一設備502可以在第三緩衝區中維持(在503c處)資料封包的第三次傳輸。
在610處,每次將資料封包的原始資料傳輸或資料封包的重傳維持在緩衝區中時,第一設備可以決定是否已經滿足資料封包的閥值重傳次數。例如,參見圖5A,第一設備502可以繼續嘗試對資料封包的重傳進行解碼,直到達到維持的資料封包的閥值數量為止。
當決定亦沒有達到維持的資料封包的閥值數量時,第一設備可以返回到602處的操作。
在612處,當決定亦沒有達到維持的資料封包的閥值數量時,第一設備可以向每個維持的資料封包中的封包標頭應用封包標頭遮罩。例如,參見圖5A,第一設備502可以向每個維持的資料封包中的封包標頭應用(在505處)封包標頭遮罩。例如,位於第一設備502處的韌體可以載入3個八位元組的硬體暫存器(例如,Packet_Header_MV_Mask
)以掩蔽資料封包標頭中的位元,這些位元可能在資料封包的第一次傳輸、資料封包的第二次傳輸、以及資料封包的第三次傳輸之間發生改變。例如,用於掩蔽資料封包標頭中的位元的暫存器的值可以是0xFFFFFF。
在614處,第一設備可以在應用了封包標頭遮罩之後,決定每個所維持的資料封包中的封包標頭是否相同。例如,參見圖5A,第一設備502可以在應用了封包標頭遮罩之後,決定(在507處)每個維持8資料封包中的封包標頭是否相同。
在616處,當決定封包標頭中的至少一個(例如,第一維持的資料封包中的封包標頭)與其他兩個封包標頭不同時,第一設備可以從第一緩衝區中移除第一維持的資料封包。例如,參見圖5A,當決定封包標頭中的至少一個(例如,第一維持的資料封包中的封包標頭)與其他兩個封包標頭不同時,可以將具有不同的標頭的資料封包從其緩衝區中移除(在509處)。
當從其緩衝區中移除了第一維持的資料封包時,第一設備可以返回到操作602。例如,參見圖5B,第一設備可以接收資料封包的第一後續傳輸。第一設備502可以決定資料封包的第一後續傳輸的標頭、有效載荷及/或CRC中的一或多個包含至少一個不可糾正的錯誤。在某些態樣,第一設備502可以將資料封包的第一後續傳輸維持(在513處)在資料封包被移除(在509處)的緩衝區中。隨後,第一設備502可以向包括資料封包的第一後續傳輸的所維持資料封包應用(在505處)資料包頭遮罩,以決定封包標頭是否全部相同。
在618處,當在應用了封包標頭遮罩之後決定(在614處)每個所維持的資料封包中的封包標頭是相同的時,第一設備可以決定所維持的資料封包的每個配對組合中的有效載荷之間的差異的數量是否滿足閥值標準。例如,參見圖5B,當第一設備502決定(在507處)每個維持的資料封包中的封包標頭是相同的時,第一設備可以決定(在515)所維持資料封包的每個配對組合中的有效載荷之間的差異的數量是否符合閥值標準。例如,假設資料封包的第一維持傳輸是傳輸‘A’,資料封包的第二維持傳輸是傳輸‘B’,資料封包的第三維持傳輸是‘C’。這裡,第一設備502可以比較每個配對組合的有效載荷(例如,A&B、B&C和C&A),決定所維持的傳輸的每個配對組合是否滿足閥值標準(例如,3個或更多差異)。
在620處,當決定(在618處)包括第二維持資料封包的多個配對組合中的有效載荷之間的差異的數量滿足閥值標準時,第一設備可以從第二緩衝區中移除第二維持的資料封包。例如,參見圖5B,當第一設備502決定(在515處)所維持的資料封包的每個配對組合中的有效載荷之間的差異的數量滿足閥值標準時,第一設備502可以從其緩衝區中移除(在517處)資料封包。在某些態樣,被移除(在517處)的資料封包可以是包括最大數量的不可糾正錯誤或最舊的維持傳輸的資料封包。
當從其緩衝區中移除了(在620處)資料封包時,第一設備可以返回到操作602。例如,參見圖5B,第一設備502可以接收(在519處)資料封包的第二後續傳輸,將資料封包的第二後續傳輸維持(在521處)在資料封包被移除的緩衝區中(在517處)。
在622處,當決定(在618處)所維持的資料封包的每個配對組合的有效載荷之間的差異的數量不滿足閥值標準時,第一設備可以對維持的資料封包的相應有效載荷位元執行逐位多數表決,以決定糾錯後的資料封包。在一個態樣,該糾錯後的資料封包可以包括多數表決的有效載荷。例如,參見圖5B,當第一設備決定(在515處)所維持的資料封包的每個配對組合中的有效載荷之間的差異的數量不滿足閥值標準時,第一設備502可以對所維持的資料封包的相應有效載荷位元執行(在523處)逐位多數表決,以決定糾錯後的資料封包。例如,第一設備502可以經由例如比較資料封包的第一次傳輸、資料封包的第二次傳輸和資料封包的第三次傳輸中的每一個的有效載荷的第一位元,來執行(在523處)逐位多數表決,為了說明起見,它們可以分別包括第一位元值1、1和0。由於兩個1形成了多數,因此第一設備可以選擇「1」,從而實現逐位元多數表決以校正資料封包的第三次傳輸中的假設「0」錯誤。可以針對相應資料封包有效載荷的每個位元來執行多數表決程序,以決定多數表決的有效載荷。
在624處,第一設備可以在產生經糾錯的資料封包時以及當資料封包不包括CRC時,向第二設備發送確認。例如,參見圖5B,若資料封包不包括CRC,則第一設備502可以在決定多數表決的有效載荷時,向第二設備504發送(在525處)並且進行確認。
在626處,當資料封包包括CRC時,第一設備可以基於糾錯後的資料封包的多數表決的有效載荷來決定第二CRC。該糾錯後的資料封包可以包括多數表決的CRC。例如,參見圖5C,若資料封包包括第一CRC(例如,圖4中的CRC 414),則第一設備502可以基於糾錯後的資料封包的多數表決的有效載荷,來決定(在527處)第二CRC。
在628處,第一設備可以基於第二CRC和多數表決的CRC的比較,來決定第二CRC是否有效。例如,參見圖5C,第一設備502可以基於第二CRC和多數表決的CRC的比較,來決定(在529處)第二CRC是否有效。
在630處,當決定第二CRC無效時,第一設備可從相應緩衝區中移除最舊的維持的資料封包。例如,參見圖5C,當決定第二CRC無效時,第一設備502可以從相應緩衝區中移除(在535處)最舊的維持的資料封包。
在632處,當決定(在628處)第二CRC有效時,第一設備可以從每個不同的緩衝區中移除每個維持的資料封包。例如,參見圖5C,當決定第二CRC有效時,第一設備502可以從每個不同緩衝區中移除(在531處)每個維持的資料封包。
若在有效載荷中不存在MIC,則操作轉到642處。若在有效載荷中存在MIC,則操作轉到634處。
在634處,第一設備可以基於經糾錯的資料封包的多數表決的有效載荷來決定第二MIC。例如,參見圖5C,若資料封包的有效載荷包括MIC,則糾錯後的資料封包可以包括第一設備502的多數表決的MIC。這裡,第一設備502可以基於經糾錯的資料封包的多數表決有效載荷,來決定(在537處)第二MIC。
在636處,第一設備可以基於第二MIC和多數表決的MIC的比較,來決定第二MIC是否有效。例如,參見圖5C,第一設備基於第二MIC和多數表決的MIC的比較,來決定(在539處)第二MIC是否有效。
在638處,當決定(在636處)第二MIC無效時,第一設備可從相應的緩衝區中移除最舊的維持的資料封包。例如,參見圖5D,當決定第二MIC無效時,第一設備502可以從相應的緩衝區中移除(在545處)最舊的維持的資料封包。
隨後,操作可以返回到602。例如,參見圖5A到圖5D,第一設備502可以隨後從第二設備504接收資料封包的後續傳輸,在空緩衝區中維持資料封包的後續傳輸,返回到資料串流500中的505。
在640處,當決定(在636處)第二MIC有效時,第一設備可以從每個不同的緩衝區中移除每個維持的資料封包。例如,參見圖5D,當決定第二MIC有效時,第一設備502可以從每個不同的緩衝區中移除(在541處)每個維持的資料封包。
在642處,第一設備可以向第一設備發送確認。例如,參見圖5D,第一設備502可以向第二設備504發送(在543處)確認。
圖7是示出示例性裝置702中的不同單元/部件之間的資料流的概念性資料流圖700。該裝置可以是與第二設備750(例如,中央設備102、周邊設備104、106、108、110、112、114、無線設備200、第二設備504)進行通訊的第一設備(例如,中央設備102、周邊設備104、106、108、110、112、114、無線設備200、第一設備502、裝置702’)。該裝置可以包括接收部件704、決定部件706、維持部件708、封包標頭掩蔽部件710、多數表決部件712和傳輸部件714。
接收部件704可以被配置為:當第一設備未對先前資料封包傳輸701進行確認時,從第二設備750接收資料封包重傳701。在一個態樣,該資料封包可以包括封包標頭、有效載荷、MIC及/或CRC中的一或多個。在某些配置中,可以經由ACL通訊鏈路來接收資料封包傳輸/重傳701。接收部件704可以被配置為向決定部件706發送與資料封包傳輸及/或資料封包重傳相關聯的信號703。
決定部件706可以被配置為決定資料封包傳輸/資料封包重傳是否包括不可糾正的錯誤。決定部件706可以被配置為:當決定不可糾正的錯誤時,向維持部件708發送與資料封包傳輸及/或資料封包重傳相關聯的信號705。
維持部件708可以被配置為:當第一設備未對資料封包進行確認時,維持資料封包的每次傳輸直到維持的資料封包的閥值數量。
決定部件706可以被配置為:決定是否達到維持的資料封包的閥值數量。決定部件706可以被配置為:向封包標頭掩蔽部件710發送指示向所維持的資料封包之每一者資料封包的標頭應用封包標頭遮罩的信號709。
封包標頭掩蔽部件710可以被配置為:當達到維持的資料封包的閥值數量時,向所維持的資料封包之每一者資料封包中的封包標頭應用封包標頭遮罩。封包標頭掩蔽部件710可以被配置為:向決定部件706發送具有向其應用的封包標頭遮罩的與維持的資料封包相關聯的信號711。
決定部件706可以被配置為:在應用了封包標頭遮罩之後,決定所維持的資料封包之每一者資料封包中的封包標頭是否相同。決定部件706可以被配置為:當在應用了封包標頭遮罩之後,決定所維持的資料封包之每一者資料封包中的封包標頭相同時,決定所維持的資料封包的每個配對的組合中的有效載荷之間的差異的數量是否滿足閥值標準。決定部件706可以被配置為:當決定所維持的資料封包的每個配對組合中的有效載荷之間的差異的數量滿足閥值標準時,向維持部件708發送指示移除所維持的資料封包的信號707。決定部件706可以被配置為:當決定不滿足閥值標準時,發送指示多數表決部件712向所維持的資料封包應用多數表決程序的信號713。
維持部件708可以被配置為:當決定與第一維持的資料封包相關聯的封包標頭與一或多個第二維持的資料封包不同時,從第一緩衝區中移除第一維持的資料封包。維持部件708可以被配置為:當從第一緩衝區中移除了第一維持的資料封包並且決定第一後續重傳具有不可糾正的錯誤時,在第一緩衝區中維持資料封包701的第一後續重傳。維持部件708可以被配置為:當決定包括第二維持的資料封包的多個配對的組合中的有效載荷之間的差異的數量滿足閥值標準時,從第二緩衝區中移除第二維持的資料封包。維持部件708可以被配置為:當決定第二後續重傳包括不可糾正的錯誤時,在從第二緩衝區中移除了第二維持的資料封包時,在第二緩衝區中維持資料封包的第二後續重傳。
多數表決部件712可以被配置為:當決定所維持的資料封包的每個配對的組合的有效載荷之間的差異的數量不滿足閥值標準時,關於所維持的資料封包的相應有效載荷位元來執行逐位多數表決以決定糾錯的資料封包。在一個態樣,該經糾錯的資料封包可以包括多數表決的有效載荷、多數表決的MIC及/或多數表決的CRC。多數表決部件712可以被配置為:向決定部件706發送與多數表決結果相關聯的信號715。
決定部件706可以被配置為:基於經糾錯的資料封包的多數表決的有效載荷,決定第二CRC。決定部件706可以被配置為:基於第二CRC與多數表決的CRC的比較,決定第二CRC是否是有效的。決定部件706可以被配置為:當決定第二CRC是有效的時,發送指示維持部件708從不同的緩衝區之每一者緩衝區中移除所維持的資料封包之每一者資料封包的信號707。決定部件706可以被配置為:當決定第二CRC不是有效的時,發送指示維持部件708從相應的緩衝區中移除所維持的資料封包中的最舊的資料封包的信號708。
維持部件708可以被配置為:當決定第二CRC是有效的時,從不同的緩衝區之每一者緩衝區中移除所維持的資料封包之每一者資料封包。維持部件708可以被配置為:當決定第二CRC不是有效的時,從相應的緩衝區中移除所維持的資料封包中的最舊的資料封包。
決定部件706可以被配置為:基於經糾錯的資料封包的多數表決的有效載荷來決定第二MIC。決定部件706可以被配置為:基於第二MIC和多數表決的MIC的比較,決定第二MIC是否是有效的。決定部件706可以被配置為:當決定第二MIC是有效的時,發送指示維持部件708從不同的緩衝區之每一者緩衝區中移除所維持的資料封包之每一者資料封包的信號707。決定部件706可以被配置為:當決定第二CRC不是有效的時,發送指示維持部件708從相應的緩衝區中移除所維持的資料封包中的最舊的資料封包的信號707。
維持部件708可以被配置為:當決定第二MIC是有效的時,從不同的緩衝區之每一者緩衝區中移除所維持的資料封包之每一者資料封包。維持部件708可以被配置為:當決定第二CRC不是有效的時,從相應的緩衝區中移除所維持的資料封包中的最舊的資料封包。
當決定了經糾錯的資料封包,決定第二CRC是有效的時,及/或決定第二MIC是有效的時,決定部件706可以被配置為發送指示傳輸部件714向第二設備750發送確認719的信號717。
該裝置可以包括用於執行圖6的前述流程圖中的演算法中的每一個方塊的額外部件。因此,圖6的前述流程圖中的每一個方塊可以由一個部件來執行,該裝置可以包括這些部件中的一或多個。這些部件可以是專門被配置為執行所陳述的處理/演算法的一或多個硬體部件、這些部件可以由配置為執行所陳述的處理/演算法的處理器來實現、儲存在電腦可讀取媒體之中以便由處理器實現、或者是其某種組合。
圖8是示出用於使用處理系統814的裝置702’的硬體實現的實例的圖800。處理系統814可以使用匯流排架構來實現,其中該匯流排架構通常用匯流排824來表示。根據處理系統814的具體應用和整體設計約束條件,匯流排824可以包括任意數量的相互連接匯流排和橋接。匯流排824將包括一或多個處理器及/或硬體部件(其用處理器804、部件704、706、708、710、712和714表示)、以及電腦可讀取媒體/記憶體806的各種電路連結在一起。此外,匯流排824亦可以連結諸如時鐘源、周邊設備、電壓調節器和電源管理電路等等之類的各種其他電路,其中這些電路是本發明所屬領域所公知的,因此沒有做任何進一步的描述。
處理系統814可以耦合到收發機810。收發機810耦合到一或多個天線820。收發機810提供經由傳輸媒體與各種其他裝置進行通訊的單元。收發機810從該一或多個天線820接收信號,從所接收的信號中提取資訊,將提取的資訊提供給處理系統814(具體而言,接收部件704)。此外,收發機910亦從處理系統814(具體而言,傳輸部件714)接收資訊,並且基於所接收的資訊,產生要應用於該一或多個天線820的信號。處理系統814包括耦合到電腦可讀取媒體/記憶體806的處理器804。處理器804負責通用處理,其包括執行電腦可讀取媒體/記憶體806上儲存的軟體。當該軟體由處理器804執行時,使得處理系統814執行上文針對任何特定裝置所描述的各種功能。電腦可讀取媒體/記憶體806亦可以用於儲存當處理器804執行軟體時所操作的資料。此外,該處理系統814亦包括部件704、706、708、710、712和714中的至少一個。這些部件可以是在處理器804中執行、常駐/儲存在電腦可讀取媒體/記憶體806中的軟體部件、耦合到處理器804的一或多個硬體部件、或者其某種組合。
在一種配置中,用於無線通訊的裝置702/702’可以包括:用於當第一設備未對先前資料封包傳輸進行確認時,從第二設備接收資料封包重傳的單元。在一個態樣,該資料封包可以包括封包標頭、有效載荷、MIC及/或CRC中的一或多個。在一種配置中,用於無線通訊的裝置702/702’可以包括:用於當第一設備未對資料封包進行確認時,維持資料封包的每次傳輸直到維持的資料封包的閥值數量的單元。在一種配置中,用於無線通訊的裝置702/702’可以包括:用於當達到維持的資料封包的閥值數量時,向所維持的資料封包之每一者資料封包中的封包標頭應用封包標頭遮罩的單元。在一種配置中,用於無線通訊的裝置702/702’可以包括:用於在應用了封包標頭遮罩之後,決定所維持的資料封包之每一者資料封包中的封包標頭是否相同的單元。在一種配置中,用於無線通訊的裝置702/702’可以包括:用於當在應用了封包標頭遮罩之後,決定所維持的資料封包之每一者資料封包中的封包標頭相同時,決定所維持的資料封包的每個配對的組合中的有效載荷之間的差異的數量是否滿足閥值標準的單元。在一種配置中,用於無線通訊的裝置702/702’可以包括:用於當決定所維持的資料封包的每個配對的組合的有效載荷之間的差異的數量不滿足閥值標準時,關於所維持的資料封包的相應有效載荷位元,對有效載荷執行逐位多數表決以決定糾錯的資料封包的單元。在一個態樣,經糾錯的資料封包可以包括多數表決的有效載荷、多數表決的MIC及/或多數表決的CRC中的一或多個。在一種配置中,用於無線通訊的裝置702/702’可以包括:用於當決定與第一維持的資料封包相關聯的封包標頭與一或多個第二維持的資料封包不同時,從第一緩衝區中移除第一維持的資料封包的單元。在一種配置中,用於無線通訊的裝置702/702’可以包括:用於當從第一緩衝區中移除了第一維持的資料封包時,在第一緩衝區中維持資料封包的第一後續重傳的單元。在一種配置中,用於無線通訊的裝置702/702’可以包括:用於當決定包括第二維持的資料封包的多個配對的組合中的有效載荷之間的差異的數量滿足閥值標準時,從第二緩衝區中移除第二維持的資料封包的單元。在一種配置中,用於無線通訊的裝置702/702’可以包括:用於當從第二緩衝區中移除了第二維持的資料封包時,在第二緩衝區中維持資料封包的第二後續重傳的單元。在一種配置中,用於無線通訊的裝置702/702’可以包括:用於基於經糾錯的資料封包的多數表決的有效載荷,決定第二CRC的單元。在一種配置中,用於無線通訊的裝置702/702’可以包括:用於基於第二CRC與多數表決的CRC的比較,決定第二CRC是否是有效的單元。在一種配置中,用於無線通訊的裝置702/702’可以包括:用於當決定第二CRC是有效的時,從不同的緩衝區之每一者緩衝區中移除所維持的資料封包之每一者資料封包的單元。在一種配置中,用於無線通訊的裝置702/702’可以包括:用於當決定第二CRC不是有效的時,從相應的緩衝區中移除所維持的資料封包中的最舊的資料封包的單元。在一種配置中,用於無線通訊的裝置702/702’可以包括:用於基於經糾錯的資料封包的多數表決的有效載荷來決定第二MIC的單元。在一種配置中,用於無線通訊的裝置702/702’可以包括:用於基於第二MIC和多數表決的MIC的比較,決定第二MIC是否是有效的單元。在一種配置中,用於無線通訊的裝置702/702’可以包括:用於當決定第二MIC是有效的時,從不同的緩衝區之每一者緩衝區中移除所維持的資料封包之每一者資料封包的單元。在一種配置中,用於無線通訊的裝置702/702’可以包括:用於當決定第二CRC不是有效的時,從相應的緩衝區中移除所維持的資料封包中的最舊的資料封包的單元。前述的單元可以是圖2中的前述處理器202、短距離通訊控制器252及/或無線電裝置230、配置為執行這些前述單元所述的功能的裝置702的部件及/或裝置702’的處理系統814中的一或多個。
應當理解的是,本文所揭示處理/流程圖中的特定順序或者方塊層次只是實例方法的一個實例。應當理解的是,根據設計優先選擇,可以重新排列這些處理/流程圖中的特定順序或方塊層次。此外,可以對一些方塊進行組合或省略。所附的方法請求項以實例順序提供各種方塊的元素,但並不意味著其受到提供的特定順序或層次的限制。
為使本發明所屬領域中任何具有通常知識者能夠實現本文所描述的各個態樣,上面圍繞各個態樣進行了描述。對於本發明所屬領域中具有通常知識者來說,對這些態樣的各種修改都是顯而易見的,並且本文定義的整體原理亦可以適用於其他態樣。因此,本發明並不限於本文所示出的態樣,而是與本發明揭示的全部範疇相一致,其中除非特別說明,否則用單數形式修飾某一部件並不意味著「一個和僅僅一個」,而可以是「一或多個」。本文所使用的「示例性的」一詞意味著「用作實例、例證或說明」。本文中描述為「示例性」的任何態樣不應被解釋為比其他態樣更優選或更具優勢。除非另外特別說明,否則術語「一些」代表一或多個。諸如「A、B或C中的至少一個」、「A、B或C中的一或多個」、「A、B和C中的至少一個」、「A、B和C中的一或多個」以及「A、B、C或者其任意組合」之類的組合,包括A、B及/或C的任意組合,其可以包括多個A、多個B或者多個C。具體而言,諸如「A、B或C中的至少一個」、「A、B或C中的一或多個」、「A、B和C中的至少一個」、「A、B和C中的一或多個」以及「A、B、C或者其任意組合」之類的組合,可以是僅僅A、僅僅B、僅僅C、A和B、A和C、B和C或者A和B和C,其中任意的這種組合可以包含A、B或C中的一或多個成員或者一些成員。貫穿本案內容描述的各個態樣的部件的所有結構和功能均等物以引用方式明確地併入本文中,並且意欲由請求項所涵蓋,該等結構和功能均等物對於本發明所屬領域中具有通常知識者來說是公知的或將要是公知的。此外,本文中沒有任何揭示內容是想要奉獻給公眾的,不管此類揭示內容是否明確記載在申請專利範圍中。「模組」、「裝置」、「元素」、「設備」等等之類的詞語,並不是詞語「單元」的替代詞。因此,請求項的構成要素不應被解釋為功能模組,除非該構成要素明確採用了「手段功能」的措辭進行記載。
100:WPAN102:中央設備104:周邊設備106:周邊設備108:周邊設備110:周邊設備112:周邊設備114:周邊設備120:ACL通訊鏈路200:無線設備202:處理器204:顯示電路206:記憶體208:ROM210:快閃記憶體220:連接器介面230:無線電裝置240:MMU242:顯示器250:WLAN控制器252:短距離通訊控制器235a:天線235b:天線235c:天線235d:天線254:共存介面300:BLE協定堆疊302:應用304:主機306:控制器308:應用層(App)310:通用存取簡檔(GAP)312:通用屬性協定(GATT)314:安全管理器(SM)316:屬性協定(ATT)318:邏輯鏈路控制和適配協定(L2CAP)320:LL322:實體層(PHY)400:資料封包402:前導404:編碼的存取位址406:存取碼尾部408:速率指示符410:標頭412:有效載荷414:CRC500:資料串流501a:流程501b:流程501c:流程502:第一設備503a:方塊503b:方塊503c:方塊504:第二設備505:方塊507:方塊509:方塊511:流程513:方塊515:方塊517:方塊519:流程521:方塊523:方塊525:流程527:方塊529:方塊531:方塊533:流程535:方塊537:方塊539:方塊541:方塊543:流程545:方塊600:流程圖602:方塊604:方塊606:方塊608:方塊610:方塊612:方塊614:方塊616:方塊618:方塊620:方塊622:方塊624:方塊626:方塊628:方塊630:方塊632:方塊634:方塊636:方塊638:方塊640:方塊642:方塊700:概念性資料流圖701:資料封包傳輸702:裝置702':裝置703:信號704:部件705:信號706:部件707:信號708:部件709:信號710:部件711:信號712:部件713:信號714:傳輸部件715:信號717:信號719:確認750:第二設備800:圖804:處理器806:電腦可讀取媒體/記憶體810:收發機814:處理系統820:天線824:匯流排
圖1是根據本案內容的某些態樣,示出WPAN的實例的圖。
圖2是根據本案內容的某些態樣的BLE設備的方塊圖。
圖3是根據本案內容的某些態樣,示出可以由BLE設備實現的BLE協定堆疊的圖。
圖4是根據本案內容的某些態樣,示出BLE資料封包的圖。
圖5A到圖5D根據本案內容的某些態樣,圖示可以用於對資料封包進行糾錯的資料流。
圖6是一種無線通訊的方法的流程圖。
圖7是示出示例性裝置中的不同單元/部件之間的資料流的概念性資料流圖。
圖8是示出用於使用處理系統的裝置的硬體實現的實例的圖。
國內寄存資訊 (請依寄存機構、日期、號碼順序註記) 無
國外寄存資訊 (請依寄存國家、機構、日期、號碼順序註記) 無
600:流程圖
602:方塊
604:方塊
606:方塊
608:方塊
610:方塊
612:方塊
614:方塊
616:方塊
618:方塊
620:方塊
622:方塊
624:方塊
626:方塊
628:方塊
630:方塊
632:方塊
634:方塊
636:方塊
638:方塊
640:方塊
642:方塊
Claims (24)
- 一種用於一第一設備的無線通訊的方法,包括以下步驟: 當該第一設備未對來自一第二設備的一資料封包的一先前傳輸進行確認時,從該第二設備接收該資料封包的一重傳,該資料封包至少包括一封包標頭和一有效載荷; 當該第一設備未對該資料封包進行確認時,維持該資料封包的每次傳輸直到該等維持的資料封包的一閥值數量; 當達到該等維持的資料封包的該閥值數量時,向該等維持的資料封包之每一者資料封包中的該封包標頭應用一封包標頭遮罩; 在應用了該封包標頭遮罩之後,決定該等維持的資料封包之每一者資料封包中的該封包標頭是否相同; 當在應用了該封包標頭遮罩之後,決定該等維持的資料封包之每一者資料封包中的該封包標頭相同時,決定該等維持的資料封包的每個配對的組合中的有效載荷之間的差異的一數量是否滿足一閥值標準;及 當決定該等維持的資料封包的每個配對的組合的該有效載荷之間的該差異的數量不滿足該閥值標準時,關於該等維持的資料封包的相應有效載荷位元,對該有效載荷執行一逐位多數表決以決定糾錯的資料封包,該經糾錯的資料封包包括一多數表決的有效載荷。
- 根據請求項1之方法,其中該資料封包重傳是經由一非同步無連接(ACL)通訊鏈路來接收的。
- 根據請求項1之方法,亦包括以下步驟: 當決定與一第一維持的資料封包相關聯的該封包標頭與一或多個第二維持的資料封包不同時,從一第一緩衝區中移除該第一維持的資料封包;及 當從該第一緩衝區中移除了該第一維持的資料封包時,在該第一緩衝區中維持該資料封包的一第一後續重傳。
- 根據請求項3之方法,亦包括以下步驟: 當決定包括一第二維持的資料封包的多個配對的組合中的有效載荷之間的該差異的數量滿足該閥值標準時,從一第二緩衝區中移除該第二維持的資料封包;及 當從該第二緩衝區中移除了該第二維持的資料封包時,在該第二緩衝區中維持該資料封包的一第二後續重傳。
- 根據請求項4之方法,其中該資料封包亦包括一循環冗餘檢查(CRC),並且其中該經糾錯的資料封包包括一多數表決的CRC,該方法亦包括以下步驟: 基於該經糾錯的資料封包的該多數表決的有效載荷,決定一第二CRC; 基於該第二CRC與該多數表決的CRC的一比較,決定該第二CRC是否是有效的; 當決定該第二CRC是有效的時,從該不同的緩衝區之每一者緩衝區中移除該等維持的資料封包之每一者資料封包;及 當決定該第二CRC不是有效的時,從一相應的緩衝區中移除該等維持的資料封包中的一最舊的資料封包。
- 根據請求項5之方法,其中該資料封包亦包括一訊息完整性檢查(MIC),並且其中該經糾錯的資料封包包括一多數表決的MIC,該方法亦包括以下步驟: 基於該經糾錯的資料封包的該多數表決的有效載荷來決定一第二MIC; 基於該第二MIC和該多數表決的MIC的一比較,決定該第二MIC是否是有效的; 當決定該第二MIC是有效的時,從該不同的緩衝區之每一者緩衝區中移除該等維持的資料封包之每一者資料封包;及 當決定該第二CRC不是有效的時,從該相應的緩衝區中移除該等維持的資料封包中的該最舊的資料封包。
- 一種用於一第一設備的無線通訊的裝置,包括: 用於當該第一設備未對來自一第二設備的一資料封包的一先前傳輸進行確認時,從該第二設備接收該資料封包的一重傳的單元,該資料封包至少包括一封包標頭和一有效載荷; 用於當該第一設備未對該資料封包進行確認時,維持該資料封包的每次傳輸直到該等維持的資料封包的一閥值數量的單元; 用於當達到該等維持的資料封包的該閥值數量時,向該等維持的資料封包之每一者資料封包中的該封包標頭應用一封包標頭遮罩的單元; 用於在應用了該封包標頭遮罩之後,決定該等維持的資料封包之每一者資料封包中的該封包標頭是否相同的單元; 用於當在應用了該封包標頭遮罩之後,決定該等維持的資料封包之每一者資料封包中的該封包標頭相同時,決定該等維持的資料封包的每個配對的組合中的有效載荷之間的差異的一數量是否滿足一閥值標準的單元;及 用於當決定該等維持的資料封包的每個配對的組合的該有效載荷之間的該差異的數量不滿足該閥值標準時,關於該等維持的資料封包的相應有效載荷位元,對該有效載荷執行一逐位多數表決以決定糾錯的資料封包的單元,該經糾錯的資料封包包括一多數表決的有效載荷。
- 根據請求項7之裝置,其中該資料封包重傳是經由一非同步無連接(ACL)通訊鏈路來接收的。
- 根據請求項7之裝置,亦包括: 用於當決定與一第一維持的資料封包相關聯的該封包標頭與一或多個第二維持的資料封包不同時,從一第一緩衝區中移除該第一維持的資料封包的單元;及 用於當從該第一緩衝區中移除了該第一維持的資料封包時,在該第一緩衝區中維持該資料封包的一第一後續重傳的單元。
- 根據請求項9之裝置,亦包括: 用於當決定包括一第二維持的資料封包的多個配對的組合中的有效載荷之間的該差異的數量滿足該閥值標準時,從一第二緩衝區中移除該第二維持的資料封包的單元;及 用於當從該第二緩衝區中移除了該第二維持的資料封包時,在該第二緩衝區中維持資料封包的一第二後續重傳的單元。
- 根據請求項10之裝置,其中該資料封包亦包括一循環冗餘檢查(CRC),並且其中該經糾錯的資料封包包括一多數表決的CRC,該裝置亦包括: 用於基於該經糾錯的資料封包的該多數表決的有效載荷,決定一第二CRC的單元; 用於基於該第二CRC與該多數表決的CRC的一比較,決定該第二CRC是否是有效的單元; 用於當決定該第二CRC是有效的時,從該不同的緩衝區之每一者緩衝區中移除該等維持的資料封包之每一者資料封包的單元;及 用於當決定該第二CRC不是有效的時,從一相應的緩衝區中移除該等維持的資料封包中的一最舊的資料封包的單元。
- 根據請求項11之裝置,其中該資料封包亦包括一訊息完整性檢查(MIC),並且其中該經糾錯的資料封包包括一多數表決的MIC,該裝置亦包括: 用於基於該經糾錯的資料封包的該多數表決的有效載荷來決定一第二MIC的單元; 用於基於該第二MIC和該多數表決的MIC的一比較,決定該第二MIC是否是有效的單元; 用於當決定該第二MIC是有效的時,從該不同的緩衝區之每一者緩衝區中移除該等維持的資料封包之每一者資料封包的單元;及 用於當決定該第二CRC不是有效的時,從該相應的緩衝區中移除該等維持的資料封包中的一最舊的資料封包的單元。
- 一種用於一第一設備的無線通訊的裝置,包括: 一記憶體;及 耦合到該記憶體的至少一個處理器,其配置為: 當該第一設備未對來自一第二設備的一資料封包的一先前傳輸進行確認時,從該第二設備接收該資料封包的一重傳,其中該資料封包至少包括一封包標頭和一有效載荷; 當該第一設備未對該資料封包進行確認時,維持該資料封包的每次傳輸直到該等維持的資料封包的一閥值數量; 當達到該等維持的資料封包的該閥值數量時,向該等維持的資料封包之每一者資料封包中的該封包標頭應用一封包標頭遮罩; 在應用了該封包標頭遮罩之後,決定該等維持的資料封包之每一者資料封包中的該封包標頭是否相同; 當在應用了該封包標頭遮罩之後,決定該等維持的資料封包之每一者資料封包中的該封包標頭相同時,決定該等維持的資料封包的每個配對的組合中的有效載荷之間的差異的一數量是否滿足一閥值標準;及 當決定該等維持的資料封包的每個配對的組合的該有效載荷之間的該差異的數量不滿足該閥值標準時,關於該等維持的資料封包的相應有效載荷位元,對該有效載荷執行一逐位多數表決以決定糾錯的資料封包,該經糾錯的資料封包包括一多數表決的有效載荷。
- 根據請求項13之裝置,其中該資料封包重傳是經由一非同步無連接(ACL)通訊鏈路來接收的。
- 根據請求項13之裝置,其中該至少一個處理器亦被配置為: 當決定與一第一維持的資料封包相關聯的該封包標頭與一或多個第二維持的資料封包不同時,從一第一緩衝區中移除該第一維持的資料封包;及 當從該第一緩衝區中移除了該第一維持的資料封包時,在該第一緩衝區中維持該資料封包的一第一後續重傳。
- 根據請求項15之裝置,其中該至少一個處理器亦被配置為: 當決定包括一第二維持的資料封包的多個配對的組合中的有效載荷之間的該差異的一數量滿足該閥值標準時,從一第二緩衝區中移除該第二維持的資料封包;及 當從該第二緩衝區中移除了該第二維持的資料封包時,在該第二緩衝區中維持該資料封包的一第二後續重傳。
- 根據請求項16之裝置,其中該資料封包亦包括一循環冗餘檢查(CRC),其中該經糾錯的資料封包包括一多數表決的CRC,該至少一個處理器亦被配置為: 基於該經糾錯的資料封包的該多數表決的有效載荷,決定一第二CRC; 基於該第二CRC與該多數表決的CRC的一比較,決定該第二CRC是否是有效的; 當決定該第二CRC是有效的時,從該不同的緩衝區之每一者緩衝區中移除該等維持的資料封包之每一者資料封包;及 當決定該第二CRC不是有效的時,從一相應的緩衝區中移除該等維持的資料封包中的一最舊的資料封包。
- 根據請求項17之裝置,其中該資料封包亦包括一訊息完整性檢查(MIC),其中該經糾錯的資料封包包括一多數表決的MIC,並且其中該至少一個處理器亦被配置為: 基於該經糾錯的資料封包的該多數表決的有效載荷來決定一第二MIC; 基於該第二MIC和該多數表決的MIC的一比較,決定該第二MIC是否是有效的; 當決定該第二MIC是有效的時,從該不同的緩衝區之每一者緩衝區中移除該等維持的資料封包之每一者資料封包;及 當決定該第二CRC不是有效的時,從該相應的緩衝區中移除該等維持的資料封包中的一最舊的資料封包。
- 一種儲存有用於一第一設備的電腦可執行代碼的電腦可讀取媒體,其中該電腦可執行代碼包括用於以下操作的代碼: 當該第一設備未對來自一第二設備的一資料封包的一先前傳輸進行確認時,從該第二設備接收該資料封包的一重傳,其中該資料封包至少包括一封包標頭和一有效載荷; 當該第一設備未對該資料封包進行確認時,維持該資料封包的每次傳輸直到該等維持的資料封包的一閥值數量; 當達到該等維持的資料封包的該閥值數量時,向該等維持的資料封包之每一者資料封包中的該封包標頭應用一封包標頭遮罩; 在應用了該封包標頭遮罩之後,決定該等維持的資料封包之每一者資料封包中的該封包標頭是否相同; 當在應用了該封包標頭遮罩之後,決定該等維持的資料封包之每一者資料封包中的該封包標頭相同時,決定該等維持的資料封包的每個配對的組合中的有效載荷之間的差異的一數量是否滿足一閥值標準;及 當決定該等維持的資料封包的每個配對的組合的該有效載荷之間的該差異的數量不滿足該閥值標準時,關於該等維持的資料封包的相應有效載荷位元,對該有效載荷執行一逐位多數表決以決定糾錯的資料封包,其中該經糾錯的資料封包包括一多數表決的有效載荷。
- 根據請求項19之電腦可讀取媒體,其中該資料封包重傳是經由一非同步無連接(ACL)通訊鏈路來接收的。
- 根據請求項19之電腦可讀取媒體,亦包括用於以下操作的代碼: 當決定與一第一維持的資料封包相關聯的該封包標頭與一或多個第二維持的資料封包不同時,從一第一緩衝區中移除該第一維持的資料封包;及 當從該第一緩衝區中移除了該第一維持的資料封包時,在該第一緩衝區中維持該資料封包的一第一後續重傳。
- 根據請求項21之電腦可讀取媒體,亦包括用於以下操作的代碼: 當決定包括一第二維持的資料封包的多個配對的組合中的有效載荷之間的該差異的數量滿足該閥值標準時,從一第二緩衝區中移除該第二維持的資料封包;及 當從該第二緩衝區中移除了該第二維持的資料封包時,在該第二緩衝區中維持該資料封包的一第二後續重傳。
- 根據請求項22之電腦可讀取媒體,其中該資料封包亦包括一循環冗餘檢查(CRC),並且其中該經糾錯的資料封包包括一多數表決的CRC,該電腦可讀取媒體亦包括用於以下操作的代碼: 基於該經糾錯的資料封包的該多數表決的有效載荷,決定一第二CRC; 基於該第二CRC與該多數表決的CRC的一比較,決定該第二CRC是否是有效的; 當決定該第二CRC是有效的時,從該不同的緩衝區之每一者緩衝區中移除該等維持的資料封包之每一者資料封包;及 當決定該第二CRC不是有效的時,從一相應的緩衝區中移除該等維持的資料封包中的一最舊的資料封包。
- 根據請求項23之電腦可讀取媒體,其中該資料封包亦包括一訊息完整性檢查(MIC),並且其中該經糾錯的資料封包包括一多數表決的MIC,該電腦可讀取媒體亦包括用於以下操作的代碼: 基於該經糾錯的資料封包的該多數表決的有效載荷來決定一第二MIC; 基於該第二MIC和該多數表決的MIC的一比較,決定該第二MIC是否是有效的; 當決定該第二MIC是有效的時,從該不同的緩衝區之每一者緩衝區中移除該等維持的資料封包之每一者資料封包;及 當決定該第二CRC不是有效的時,從該相應的緩衝區中移除該等維持的資料封包中的一最舊的資料封包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107130480A TW202011718A (zh) | 2018-08-31 | 2018-08-31 | 用於使用非同步無連接通訊鏈路發送的資料封包的糾錯 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107130480A TW202011718A (zh) | 2018-08-31 | 2018-08-31 | 用於使用非同步無連接通訊鏈路發送的資料封包的糾錯 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202011718A true TW202011718A (zh) | 2020-03-16 |
Family
ID=70766680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107130480A TW202011718A (zh) | 2018-08-31 | 2018-08-31 | 用於使用非同步無連接通訊鏈路發送的資料封包的糾錯 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TW202011718A (zh) |
-
2018
- 2018-08-31 TW TW107130480A patent/TW202011718A/zh unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI745841B (zh) | 針對短程無線通訊系統中的資料封包的糾錯 | |
US10784993B1 (en) | Soft combining packets received from different piconets | |
US11558155B2 (en) | Broadcast relay piconet for low energy audio | |
US20200329052A1 (en) | System and method for aligning a packet counter in short-range wireless communications systems | |
US10367609B2 (en) | Error correction for data packets transmitted using an asynchronous connection-less communication link | |
CN113169829B (zh) | 经解密分组的实时软组合、crc验证和mic验证 | |
TWI836053B (zh) | 用於使用選擇性中繼來構造協定資料單元的系統和方法 | |
TW202139657A (zh) | 空資料封包硬對準 | |
TW202143761A (zh) | 針對在掃瞄狀態下的藍芽低能耗的低功率技術 | |
TWI779383B (zh) | Br/edr 鏈路的mic 恢復 | |
TW202011718A (zh) | 用於使用非同步無連接通訊鏈路發送的資料封包的糾錯 | |
WO2024045010A1 (en) | Event-based initiation of a more data mode for a wireless personal area network low energy connection | |
US20240147392A1 (en) | Synchronization messages for peripheral devices | |
WO2023159417A1 (en) | Low power adaptive power control |