TWI476600B - 用來進行序列傳送通訊之方法與裝置 - Google Patents
用來進行序列傳送通訊之方法與裝置 Download PDFInfo
- Publication number
- TWI476600B TWI476600B TW101109845A TW101109845A TWI476600B TW I476600 B TWI476600 B TW I476600B TW 101109845 A TW101109845 A TW 101109845A TW 101109845 A TW101109845 A TW 101109845A TW I476600 B TWI476600 B TW I476600B
- Authority
- TW
- Taiwan
- Prior art keywords
- transmission
- sequence
- wireless communication
- packet
- packets
- Prior art date
Links
- 238000004891 communication Methods 0.000 title claims description 123
- 238000000034 method Methods 0.000 title claims description 44
- 230000005540 biological transmission Effects 0.000 claims description 90
- 238000012546 transfer Methods 0.000 claims description 76
- 238000012790 confirmation Methods 0.000 claims description 10
- 125000004122 cyclic group Chemical group 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/403—Bus networks with centralised control, e.g. polling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/06—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
- H04W88/06—Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Mobile Radio Communication Systems (AREA)
Description
本發明係有關於電子裝置之間的資料傳輸,尤其有關於用來進行序列傳送通訊(Serial Transport Communication)之方法及相關裝置。
傳統的可攜式電子裝置諸如行動電話(例如:多功能行動電話)或個人數位助理(Personal Digital Assistant,PDA)係典型地被設計成具有分別符合不同的無線通訊標準之多種無線通訊功能。例如:該些無線通訊功能可包含藍芽(Bluetooth,BT)功能、無線保真(Wireless Fidelity,Wi-Fi)功能以及調頻(Frequency Modulation,FM)功能。依據相關技術,針對傳統的可攜式電子裝置中之無線通訊功能的實施可能遭遇某些問題。尤其是,由於這些無線通訊功能需要各自的驅動程式以及各自的傳送匯流排(Transport Bus),在傳統的可攜式電子裝置的架構下針對這些驅動程式以及這些傳送匯流排進行設計所遭遇的複雜度勢必成為重擔,這是因為傳統的可攜式電子裝置被預期要管理不同的傳送匯流排。如此,需要一種新穎的方法來實現具備單一傳送匯流排的可攜式電子裝置,以降低設計複雜度。
因此本發明之目的之一在於提供一種用來進行序列傳送通訊(Serial Transport Communication)之方法及相關裝置,以解決上述問題。
本發明之一較佳實施例中提供一種進行序列傳送通訊之方法,其中該方法係用來於複數個裝置之間進行通訊,而該複數個裝置中之每一者提供使用者複數個無線通訊功能,且該複數個無線通訊功能分別符合不同的無線通訊標準。該方法包含有下列步驟:針對該複數個無線通訊功能中之一第一無線通訊功能,利用一序列傳送協定(Serial Transport Protocol)透過一傳送匯流排(Transport Bus)於該複數個裝置之間進行通訊;以及針對該複數個無線通訊功能中之一第二無線通訊功能,利用該序列傳送協定透過該傳送匯流排於該複數個裝置之間進行通訊。
本發明之一較佳實施例中提供一種進行序列傳送通訊之裝置,其中該裝置係用來與至少一其它裝置進行通訊,而該其它裝置以及該裝置當中之每一者提供使用者複數個無線通訊功能,且該複數個無線通訊功能分別符合不同的無線通訊標準。該裝置包含有:一傳送匯流排;以及一控制電路,耦接至該傳送匯流排。該傳送匯流排係用來進行資料傳輸。另外,該控制電路係用來針對該複數個無線通訊功能中之一第一無線通訊功能,利用一序列傳送協定(Serial Transport Protocol)透過該傳送匯流排於該裝置與該其它裝置之間進行通訊。此外,該控制電路另用來針對該複數個無線通訊功能中之
一第二無線通訊功能,利用該序列傳送協定透過該傳送匯流排於該裝置與該其它裝置之間進行通訊。
本發明的好處之一是,本發明之方法及裝置確保用來進行序列傳送通訊之整體架構能精巧化。由於採用該序列傳送協定,設計複雜度可大幅地降低。另外,基於該序列傳送協定,與資料傳輸無直接關係之經常性控制時間得以減少,故所需之傳輸頻寬亦得以減少。
在本專利說明書及後續的申請專利範圍當中使用了某些詞彙來指稱特定的元件。所屬領域中具有通常知識者應可理解,硬體製造商可能會用不同的名詞來稱呼同一個元件。本說明書及後續的申請專利範圍並不以名稱的差異來作為區分元件的方式,而是以元件在功能上的差異來作為區分的準則。在通篇說明書及後續的請求項當中所提及的「包含」係為一開放式的用語,故應解釋成「包含但不限定於」。另外,「耦接」一詞在此係包含任何直接及間接的電氣連接手段。因此,若文中描述一第一裝置耦接於一第二裝置,則代表該第一裝置可直接電氣連接於該第二裝置,或透過其他裝置或連接手段間接地電氣連接至該第二裝置。
請參考第1圖,第1圖為依據本發明一第一實施例之兩個用來進行序列傳送通訊(Serial Transport Communication)之裝置100與200(分別標示為「裝置1」與「裝置2」)的示意圖,其中裝置100與
200當中之每一者可用來與至少一其它裝置(諸如裝置100與200當中之另一裝置)進行通訊。於本實施例中,裝置100與200當中之每一者提供使用者複數個無線通訊功能,其中該複數個無線通訊功能分別符合不同的無線通訊標準。例如:該複數個無線通訊功能可包含藍芽(Bluetooth,BT)功能、無線保真(Wireless Fidelity,Wi-Fi)功能以及調頻(Frequency Modulation,FM)功能。依據本實施例,裝置100的無線通訊功能110-1、110-2、...與110-N分別等同於裝置200的無線通訊功能210-1、210-2、...與210-N。如此,無線通訊功能110-1、110-2、...與110-N於第1圖分別標示為「功能1」、「功能2」、...與「功能N」,且無線通訊功能210-1、210-2、...與210-N於第1圖亦分別標示為「功能1」、「功能2」、...與「功能N」。如第1圖所示,裝置100具備一傳送驅動程式(Transport Driver)130,且裝置100可利用一序列傳送協定(Serial Transport Protocol)120透過同一個傳送驅動程式130進行對應於無線通訊功能110-1、110-2、...與110-N中之任一者之通訊。另外,裝置200具備一傳送驅動程式230,裝置200且可利用一序列傳送協定220透過同一個傳送驅動程式230進行對應於無線通訊功能210-1、210-2、...與210-N中之任一者之通訊。
實作上,裝置100與200當中之每一者可包含諸如第1圖所示者之一傳送匯流排(Transport Bus)至少一部分(例如:一部分或全部)。例如:裝置100與200共享同一個傳送匯流排,其中該傳送匯流排係用來進行資料傳輸,且為本實施例之裝置100與200之間唯
一的傳送匯流排。另外,裝置100與200當中之每一者可另包含一控制電路,其中該控制電路係耦接至上述之傳送匯流排。一般而言,該控制電路可稱為控制邏輯(Control Logic),這是因為該控制電路之一部分可利用某(些)程式碼來實施。請參考第2圖,其繪示了該控制邏輯之例子以便於理解。所考慮之裝置中之該控制電路(例如:裝置100與200當中之任一者)可包含一接收管理器(Receiver Handler,RX Handler)22、一接收錯誤管理單元(RX Error Handling Unit)24、一接收分配器(RX Dispatcher)26、一發射管理器(Transmitter Handler,TX Handler)32、一發射錯誤管理單元(TX Error Handling Unit)34、一發射分配器(TX Dispatcher)36以及一發射佇列單元(TX Queue Unit)38。於本實施例中,該控制電路之複數個接收封包路徑從該傳送匯流排開始(於第2圖標示為「接收自傳送匯流排」),並通過接收管理器22、接收錯誤管理單元24與接收分配器26,且一直通到無線通訊功能110-1、110-2、...與110-N/無線通訊功能210-1、210-2、...與210-N才結束(於第2圖標示為「送至無線通訊功能」)。然而,該控制電路之複數個發射封包路徑從無線通訊功能110-1、110-2、...與110-N/無線通訊功能210-1、210-2、...與210-N開始(於第2圖標示為「接收自無線通訊功能」),並通過發射管理器32、發射佇列單元38與發射分配器36,且一直通到該傳送匯流排(於第2圖標示為「送至傳送匯流排」)。
依據第2圖所示之實施例,接收管理器22係用來從該傳送匯流排接收複數個進來的接收封包,而接收錯誤管理單元24係用來依據
所考慮之裝置的序列傳送協定(例如:裝置100的序列傳送協定120,或裝置200的序列傳送協定220)處理該些進來的接收封包之錯誤(若存在任何錯誤),且接收分配器26係用來將接收封包分配(Dispatch)予無線通訊功能110-1、110-2、...與110-N/無線通訊功能210-1、210-2、...與210-N。另外,發射管理器32係用來從無線通訊功能110-1、110-2、...與110-N/無線通訊功能210-1、210-2、...與210-N接收複數個進來的發射封包,且發射佇列單元38係用來暫時地儲存該些進來的發射封包。尤其是,藉由利用發射佇列單元38,該控制電路控制分別對應於該些無線通訊功能之複數個發射封包(諸如該些進來的發射封包中之一部分或全部)成為佇列,以供分別發送至該傳送匯流排,以共享該傳送匯流排。由於實施發射佇列單元38,發射封包不會通過發射錯誤管理單元34。發射錯誤管理單元34係用來依據所考慮之裝置的序列傳送協定(例如:裝置100的序列傳送協定120,或裝置200的序列傳送協定220)處理該些進來的發射封包,且發射分配器36係用來將預備好的發射封包分配予該傳送匯流排。由於第2圖所示之安排,發射錯誤管理單元34可控制發射分配器36之分配運作,尤其是可基於序列傳送協定120/序列傳送協定220來決定發射佇列單元38中之一發射封包是否應當分配予無線通訊功能110-1、110-2、...與110-N/無線通訊功能210-1、210-2、...與210-N中之一者。請注意,基於序列傳送協定120/序列傳送協定220,接收錯誤管理單元24與發射錯誤管理單元34可彼此溝通以進行通訊控制、錯誤校正與重新傳輸。
第3圖為依據本發明一實施例之一種用來進行序列傳送通訊之方法300的流程圖,其中方法300係用來於複數個裝置(例如:裝置100與200)之間進行通訊,該複數個裝置中之每一者提供使用者分別符合不同的無線通訊標準之複數個無線通訊功能,諸如上述之複數個無線通訊功能。第3圖所示之方法300可應用於第1圖所示之裝置100與200中之任一者,尤其是應用於第2圖所示實施例之控制電路。該方法說明如下:
於步驟310中,針對該複數個無線通訊功能中之一第一無線通訊功能,所考慮之裝置中之該控制電路(例如:裝置100/裝置200中之該控制電路,如第2圖所示)利用一序列傳送協定諸如序列傳送協定120/序列傳送協定220透過一傳送匯流排於該複數個裝置(例如:裝置100與200)之間進行通訊,如第1圖所示。尤其是,針對該第一無線通訊功能,該控制邏輯利用一序列傳送驅動程式(Serial Transport Driver)諸如傳送驅動程式130/傳送驅動程式230透過該傳送匯流排於該複數個裝置(例如:裝置100與200)之間進行通訊。
於步驟320中,針對該複數個無線通訊功能中之一第二無線通訊功能,所考慮之裝置中之該控制電路(例如:裝置100/裝置200中之該控制電路,如第2圖所示)利用該序列傳送協定(更明確而言,步驟310中所述之同一個序列傳送協定)透過該傳送匯流排(更明確而言,步驟310中所述之同一個傳送匯流排)於該複數個裝置
之間進行通訊。尤其是,針對該第二無線通訊功能,該控制邏輯利用該序列傳送驅動程式(更明確而言,步驟310中所述之同一個序列傳送驅動程式)透過該傳送匯流排於該複數個裝置(例如:裝置100與200)之間進行通訊。
依據本實施例,該序列傳送驅動程式係用來管理接收自/發送至該傳送匯流排之封包。該控制電路可利用同一個序列傳送驅動程式管理這些封包,其中這些封包可為分別對應於該些無線通訊功能之封包。另外,對該複數個無線通訊功能中之每一者,步驟310與步驟320中之任一步驟中所述之該序列傳送協定係為關於使用該序列傳送驅動程式之共同協定。例如:在所考慮之裝置是裝置100的狀況下,對該複數個無線通訊功能中之每一者,序列傳送協定120係為關於使用同一個傳送驅動程式130之共同協定。又例如:在所考慮之裝置是裝置200的狀況下,對該複數個無線通訊功能中之每一者,序列傳送協定220係為關於使用同一個傳送驅動程式230之共同協定。
請注意,在裝置100與裝置200是同一個裝置電子中之同一種裝置的狀況下,傳送驅動程式230可與傳送驅動程式130相同。這只是為了說明的目的而已,並非對本發明之限制。一般而言,裝置100與裝置200不必是同一種裝置。例如:裝置100可為同一個裝置電子中之一主晶片(Host Chip),而裝置200可為同一個裝置電子中之一控制器晶片。實作上,序列傳送協定220可與序列傳送協定120
相同。
第4圖為第3圖所示根據本發明一實施例之方法300中所涉及之封包格式。在符合步驟310中所述序列傳送協定之一封包(諸如於第2圖所示實施例所述之那些封包中之一接收/發射封包)當中,一標頭是必須的,而一有效載荷(Payload)以及對應的錯誤偵測資訊諸如循環冗餘檢查資訊(Cyclic Redundancy Check Information,以下簡稱為「CRC資訊」)則是可選擇的選項(即,非必須的)。例如:該標頭可包含4位元組,而該有效載荷與該CRC資訊(若存在)可分別包含99位元組與2位元組,其中該99位元組可為待傳輸之資料,而該CRC資訊是藉由依據一預定循環冗餘檢查規則對該資料進行計算而產生。依據第4圖所示之封包格式,該標頭可區分為多個欄位,而這些欄位的例子可包含一同步(Synchronization,Sync)欄位SYNC、一序列號(Sequence Number)欄位SEQ、一確認(Acknowledgement)欄位ACK、一非確認(Non-Acknowledgement)欄位NAK、一種類欄位TYPE、一長度欄位的兩個子欄位LENGTH_8-11與LENGTH_0-7、以及一檢查和(Checksum)欄位CHECKSUM,其中子欄位LENGTH_8-11代表該長度欄位的第八至第十一位元,而子欄位LENGTH_0-7代表該長度欄位的第零至第七位元。於本實施例中,同步欄位SYNC、序列號欄位SEQ、確認欄位ACK、非確認欄位NAK、種類欄位TYPE、該長度欄位的兩個子欄位LENGTH_8-11與LENGTH_0-7、以及檢查和欄位CHECKSUM之各自的位元數分別為2位元、3位元、3位元、1位元、3位元、4
位元、8位元與8位元。
依據本實施例,序列號欄位SEQ中之序列號是循環的(Cyclic),且可從0變化至7。確認欄位ACK中之值係典型地(Typically)被設定為與一先前接收的封包之序列號欄位SEQ中相同的數值,亦即該先前接收的封包之序列號。於是,本實施例之確認欄位ACK中之值亦可從0變化至7。另外,設定於非確認欄位NAK中之數值0代表沒有錯誤;而設定於非確認欄位NAK中之數值1代表發生錯誤,尤其是代表偵測到錯誤的封包。至於種類欄位TYPE,其內的數值可予以變化以便指出本封包(亦即,包含此標頭之封包)是複數種封包的某一種封包,諸如一藍芽主控制器介面(BT Host Controller Interface,BT HCI)封包、一調頻封包、一全球定位系統(Global Positioning System,GPS)封包或一無線保真封包。如此,這個欄位典型地對應於上述複數個無線通訊功能中之一者。此外,在該長度欄位的值為0的狀況下,本封包(亦即,包含此標頭之封包)是一標頭封包(Header-Only Packet),這表示本封包沒有任何有效載荷(因此,上述對應的錯誤偵測資訊在本封包中是不需要的。檢查和欄位CHECKSUM中之一個示範性數值可為:((位元組[0]+位元組[1]+位元組[2])& 0xFF);其中(位元組[0]+位元組[1]+位元組[2])代表此標頭的前三個位元組,也就是此標頭當中由同步欄位SYNC起直到該長度欄位(其
包含子欄位LENGTH_8-11與LENGTH_0-7)為止之三個位元組。
第5圖為第3圖所示根據本發明一實施例之方法300中所涉及之序列號/確認(Sequence-Number/Acknowledgement)方案,其中第5圖所示之橫軸代表時間t,而在第4圖所示之標頭、有效載荷以及CRC資訊當中用來區別彼此之不同程度的陰影在此也用來繪示本實施例之某些封包的標頭、有效載荷及/或CRC資訊。
該序列號/確認方案係用來確保封包已被一同儕(Peer)裝置接收。在所考慮之裝置為裝置100的狀況下,該同儕裝置可為裝置200。在所考慮之裝置為裝置200的狀況下,該同儕裝置可為裝置100。為了便於理解,在該複數個裝置諸如裝置100與200當中,符號「A」可用來代表裝置100,而符號「B」可用來代表裝置200。另外,符號「CTRLCKT-A」可用來代表裝置A(即裝置100)中之該控制邏輯,而符號「CTRLCKT-B」可用來代表裝置B(即裝置200)中之該控制邏輯。
於本實施例中,序列傳送協定220係輿序列傳送協定120相同,因此,標號20可用來共同地代表序列傳送協定120與序列傳送協定220,以茲簡明。基於序列傳送協定20,控制電路CTRLCKT-A典型地設定來自裝置A之複數個第一封包中之一第一封包之序列號欄位SEQ,以區別該第一封包以及該複數個第一封包當中的其它封包。例如:該複數個第一封包各自的序列號欄位SEQ內的序列號是
循環的。如第5圖之上半部所示,該複數個第一封包中之某些封包各自的標頭內的序列號分別是0、1、2、3、...等(於第一列封包各自的標頭分別標示為「SEQ=0」、「SEQ=1」、「SEQ=2」、「SEQ=3」、...等)。如此,該複數個第一封包的序列號所形成的序列可為{{0,1,2,3,4,5,6,7},{0,1,2,3,4,5,6,7},...}。
基於序列傳送協定20,控制邏輯CTRLCKT-B典型地設定由裝置B送至裝置A之一第二封包之確認欄位ACK,以告知裝置A該第一封包已被裝置B接收、確認。尤其是,基於序列傳送協定20,控制邏輯CTRLCKT-B將該第二封包之確認欄位ACK設定為該第一封包之序列號欄位SEQ中的同一個數值。如第5圖之下半部所示,由裝置B送至裝置A之該些第二封包中之某些封包各自的標頭內的確認欄位ACK中之值分別是0、1、1、2、2、...等(於第二列封包各自的標頭分別標示為「ACK=0」、「ACK=1」、「ACK=1」、「ACK=2」、「ACK=2」、...等)。請注意,封包傳輸與封包處理可能導致封包確認之延遲。於是,在控制邏輯CTRLCKT-B設定該第二封包之確認欄位ACK的那一刻,裝置B(尤其是其內的控制邏輯CTRLCKT-B)將要確認(或正在確認)之第一封包可能是由裝置A所送來之一先前第一封包,而非由裝置A剛送來之最新第一封包。這解釋了為何第5圖所示之最左側第二封包(即第二列封包當中沒有任何有效載荷之封包)被標示為「ACK=0」而非標示為「ACK=1」,其中第5圖所示之最左側第二封包告知裝置A:第5圖所示之最左側第一封包(即第一列封包當中標頭被標示了「SEQ=0」之封包)
已被裝置B接收、確認。
依據本實施例,某些連續送出之第二封包各自的確認欄位ACK中之值可能相同,這是因為在這些連續送出之第二封包中之最後一個封包的確認欄位ACK被設定的那一刻並沒有新的第一封包被確認。例如:在第5圖所示之中央第二封包(即第二列封包當中標頭被標示了「SEQ=1」與「ACK=1」之封包)的確認欄位ACK被設定的那一刻,序列號為1的第一封包已被確認,而序列號為2的第一封包之確認可能會因為封包傳輸與封包處理而延遲。
對裝置A而言,可以設計具備未確認(Unacknowledged)封包數(亦即,已經送出但未被確認之封包的數量)的容忍度,使得封包傳輸的效能之發揮不受到任何妨礙。例如:控制邏輯CTRLCKT-A對該複數個第一封包當中之未確認封包的數量進行計數。當未確認封包的數量達到一預定門檻值時,控制邏輯CTRLCKT-A控制裝置A暫時地停止送出任何載有有效載荷(Payload)之封包。也就是說,在未確認封包的數量未達到該預定門檻值的狀況下,控制邏輯CTRLCKT-A可容忍未確認封包的存在。實作上,該預定門檻值小於可供設定於序列號欄位內的所有序列號的總數,以預留傳輸延遲的寬裕時間(Margin)。於本實施例中,由於序列號欄位SEQ內的序列號是循環的且可從0變化至7,故可供設定於序列號欄位內的所有序列號的總數等於8,且該預定門檻值可為7(其小於8)。
如以上所揭露,上述之有效載荷以及對應的錯誤偵測資訊諸如該CRC資訊是可選擇的選項(即,非必須的)。依據本實施例,在裝置A所送出之該些第一封包當中,控制邏輯CTRLCKT-B典型地確認分別具有有效載荷之封包,而非確認不具有任何有效載荷之封包。也就是說,上述之該第一封包是具有有效載荷之封包;並且,基於序列傳送協定20,控制邏輯CTRLCKT-B避免裝置B確認任何未載有有效載荷之第一封包。
依據本實施例,只要不產生矛盾,控制邏輯CTRLCKT-A針對裝置B而進行之運作可應用於控制邏輯CTRLCKT-B。另外,只要不產生矛盾,控制邏輯CTRLCKT-B針對裝置A而進行之運作可應用於控制邏輯CTRLCKT-A。為了簡明起見,相仿之處不再重複贅述。
第6圖為第3圖所示根據本發明一實施例之方法300中所涉及之逾時/重新傳輸(Timeout/Retransmission)方案,其中第5圖所示之序列號/確認方案及控制邏輯CTRLCKT-A與CTRLCKT-B之相關運作可應用於本實施例。
依據本實施例,控制邏輯CTRLCKT-A可觸發一重試計時器開始量測從上述之該第一封包送出起之一時間區間T6。例如:所考慮之第一封包可為第6圖所示之最左側第一封包的下一個封包(即第一列(row)封包當中標頭被標示了「SEQ=2」與「ACK=0」之封包)。控制邏輯CTRLCKT-A偵測是否接收到任何用來確認
(Acknowledge)所考慮之第一封包之確認封包(例如:任何能確認所考慮之第一封包之第二封包)。在沒有接收到任何用來確認所考慮之第一封包之確認封包的狀況下(例如:沒有接收到任何於確認欄位ACK被設定為2之第二封包),當該重試計時器指出逾時(例如:時間區間T6達到一預定門檻值Tretry),控制邏輯CTRLCKT-A控制裝置A重送任何未被確認之第一封包,諸如在時間區間T6內被送出之兩個第一封包(即第一列封包當中大約繪示於中央的兩個第一封包,也就是於標頭分別被標示了「SEQ=2」與「SEQ=3」之連續兩個封包)。
尤其是,控制邏輯CTRLCKT-A首先藉由送出一重新同步型樣(Re-Sync Pattern)RESYNC來開始該(些)重送運作,其中控制邏輯CTRLCKT-B典型地監控進來的封包中是否存在重新同步型樣RESYNC,以辨識這樣的狀況。例如:重新同步型樣RESYNC可包含4位元組{0x7F,0x7F,0x7F,0x7F}。如第6圖所示,緊接著重新同步型樣RESYNC後面出現之重送的第一封包是第一列封包當中標頭被標示了「SEQ=2」與「ACK=0」之封包的重試版本(亦即,於標頭被標示了「重試」者),其中該重試版本的標頭被重新標示成「ACK=1」以繪示下列事實:在第6圖所示第二列封包當中於標頭被標示了「SEQ=1」與「ACK=1」之第二封包已被裝置A確認。
請注意,只要不產生矛盾,控制邏輯CTRLCKT-A針對裝置B而進行之運作可應用於控制邏輯CTRLCKT-B。另外,只要不產生
矛盾,控制邏輯CTRLCKT-B針對裝置A而進行之運作可應用於控制邏輯CTRLCKT-A。為了簡明起見,本實施例與前述各個實施例/變化例相仿之處不再重複贅述。
第7圖為第3圖所示根據本發明一實施例之方法300中所涉及之非確認/重新傳輸(Non-Acknowledgement/Retransmission)方案,其中第5圖所示之序列號/確認方案及控制邏輯CTRLCKT-A與CTRLCKT-B之相關運作可應用於本實施例。
依據本實施例,基於序列傳送協定20,控制邏輯CTRLCKT-B可設定由裝置B送至裝置A之一第二封包之非確認欄位NAK,以告知裝置A:有錯誤被偵測到。也就是說,當偵測到錯誤時,控制邏輯CTRLCKT-B送出於非確認欄位NAK被設定為1之第二封包予裝置A。例如:所考慮之第二封包可為於標頭被標示了「SEQ=0」、「ACK=1」與「NAK=1」之第二封包(即第7圖所示之第二列封包當中不具有任何有效載荷之封包),其中此第二封包係用來告知裝置A:有錯誤被偵測到。由於此第二封包之非確認欄位NAK被設定為1,其序列號欄位SEQ處於不予理會(Don’t Care)狀態且可帶有任意數值。
如第7圖所示,控制邏輯CTRLCKT-B觸發一停止計時器開始量測從所考慮之第二封包送出起之一時間區間T7,並控制裝置B丟棄任何第一封包,直到該停止計時器指出逾時為止(例如:時間區間
T7達到一預定門檻值Tstop)。例如:在第一列封包當中於標頭被標示了「SEQ=2」與「ACK=0」之第一封包的有效載荷之一部分710有錯誤的狀況下(例如:此部分710原本就有錯誤,或者此部分710的內容在封包傳輸期間被扭曲了),控制邏輯CTRLCKT-B丟棄載有此部分710之第一封包且另丟棄下一個第一封包。在時間區間T7達到預定門檻值Tstop之後,控制邏輯CTRLCKT-B監控進來的封包中是否存在任何重新同步型樣RESYNC,以接收重送的封包。
對裝置A而言,當接收到所考慮之第二封包且偵測到所考慮之第二封包的非確認欄位NAK被設定為1時,控制邏輯CTRLCKT-A等待等同於預定門檻值Tstop之一段時間,然後先藉由送出重新同步型樣RESYNC來開始該(些)重送運作。例如:重新同步型樣RESYNC可包含4位元組{0x7F,0x7F,0x7F,0x7F}。如第7圖所示,緊接著重新同步型樣RESYNC後面出現之重送的第一封包是第一列封包當中標頭被標示了「SEQ=2」與「ACK=0」之封包的重試版本(亦即,於標頭被標示了「重試」者),其中該重試版本的標頭被重新標示成「ACK=1」以繪示下列事實:在第7圖所示第二列封包當中於標頭被標示了「SEQ=1」與「ACK=1」之第二封包已被裝置A確認。
請注意,只要不產生矛盾,控制邏輯CTRLCKT-A針對裝置B而進行之運作可應用於控制邏輯CTRLCKT-B。另外,只要不產生矛盾,控制邏輯CTRLCKT-B針對裝置A而進行之運作可應用於控
制邏輯CTRLCKT-A。為了簡明起見,本實施例與前述各個實施例/變化例相仿之處不再重複贅述。
第8圖為第3圖所示根據本發明一實施例之方法300中所涉及之重設(Reset)方案,其中第5圖所示之序列號/確認方案及控制邏輯CTRLCKT-A與CTRLCKT-B之相關運作可應用於本實施例。
依據本實施例,基於序列傳送協定20,控制邏輯CTRLCKT-A可藉由進行重新傳輸來重獲(Recover)裝置A與裝置B之間的傳輸,其中上述之重新傳輸的運作細節可參照第5圖與第6圖分別所示之實施例中之實施細節。當偵測到重獲裝置A與裝置B之間的傳輸並不成功,控制邏輯CTRLCKT-A控制裝置A送出一重設型樣(Reset Pattern)RST以通知裝置B:需要重設裝置A與裝置B之間的傳輸。
實作上,控制邏輯CTRLCKT-A可觸發一重設計時器開始量測從「重獲裝置A與裝置B之間的傳輸」開始起之一時間區間T8。在「重獲裝置A與裝置B之間的傳輸」不成功的狀況下,當該重設計時器指出逾時(例如:時間區間T8達到一預定門檻值TRST),控制邏輯CTRLCKT-A控制裝置A送出重設型樣RST以通知裝置B:需要重設裝置A與裝置B之間的傳輸。當接收到裝置A所送出之重設型樣RST,控制邏輯CTRLCKT-B控制裝置B送出另一個重設型樣RST以通知裝置A:裝置A所送出之重設型樣RST已收到。於
是,裝置A與裝置B兩者均重設裝置A與裝置B之間的傳輸。
請注意,只要不產生矛盾,控制邏輯CTRLCKT-A針對裝置B而進行之運作可應用於控制邏輯CTRLCKT-B。另外,只要不產生矛盾,控制邏輯CTRLCKT-B針對裝置A而進行之運作可應用於控制邏輯CTRLCKT-A。為了簡明起見,本實施例與前述各個實施例/變化例相仿之處不再重複贅述。
本發明之各個實施例的好處之一是,用來進行序列傳送通訊之整體架構得以精巧化。由於採用該序列傳送協定,設計複雜度可大幅地降低。另外,基於該序列傳送協定,與資料傳輸無直接關係之經常性控制時間得以減少,故所需之傳輸頻寬亦得以減少。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
22‧‧‧接收管理器
24‧‧‧接收錯誤管理單元
26‧‧‧接收分配器
32‧‧‧發射管理器
34‧‧‧發射錯誤管理單元
36‧‧‧發射分配器
38‧‧‧發射佇列單元
100、200、A、B‧‧‧裝置
110-1、110-2、...、110-N、210-1、210-2、...、210-N‧‧‧無線通訊功能
120、220‧‧‧序列傳送協定
130、230‧‧‧傳送驅動程式
300‧‧‧方法
310、320‧‧‧步驟
RESYNC‧‧‧重新同步型樣
RST‧‧‧重設型樣
SYNC、SEQ、ACK、NAK、TYPE、LENGTH_8-11、LENGTH_0-7、CHECKSUM‧‧‧標頭之欄位
t‧‧‧時間
Tretry、Tstop、TRST‧‧‧預定門檻值
第1圖為依據本發明一第一實施例之兩個用來進行序列傳送通訊(Serial Transport Communication)之裝置的示意圖。
第2圖為第1圖所示之兩個裝置中之一者的控制邏輯(Control Logic)於一實施例中的實施細節。
第3圖為依據本發明一實施例之一種用來進行序列傳送通訊之方法的流程圖。
第4圖為第3圖所示根據本發明一實施例之方法中所涉及之封包格式。
第5圖為第3圖所示根據本發明一實施例所示之方法中所涉及之序列號/確認(Sequence-Number/Acknowledgement)方案。
第6圖為第3圖所示根據本發明一實施例之方法中所涉及之逾時/重新傳輸(Timeout/Retransmission)方案。
第7圖為第3圖所示根據本發明一實施例之方法中所涉及之非確認/重新傳輸(Non-Acknowledgement/Retransmission)方案。
第8圖為第3圖所示之根據本發明一實施例方法中所涉及之重設(Reset)方案。
100、200‧‧‧裝置
110-1、110-2、...、110-N、210-1、210-2、...、210-N‧‧‧無線通訊功能
120、220‧‧‧序列傳送協定
130、230‧‧‧序列傳送驅動程式
Claims (21)
- 一種用來進行序列傳送通訊之方法,該方法係用來於複數個裝置之間進行通訊,該複數個裝置中之每一者提供使用者複數個無線通訊功能,該複數個無線通訊功能分別符合不同的無線通訊標準,該方法包含:針對該複數個無線通訊功能中之一第一無線通訊功能,利用一序列傳送協定透過一傳送匯流排以在該複數個裝置之間實現該第一無線通訊功能;以及針對該複數個無線通訊功能中之一第二無線通訊功能,利用該序列傳送協定透過該傳送匯流排以在該複數個裝置之間實現該第二無線通訊功能。
- 如申請專利範圍第1項所述之用來進行序列傳送通訊之方法,其另包含:針對該第一無線通訊功能,利用一序列傳送驅動程式透過該傳送匯流排以在該複數個裝置之間進行通訊;以及針對該第二無線通訊功能,利用該序列傳送驅動程式透過該傳送匯流排以在該複數個裝置之間進行通訊。
- 如申請專利範圍第2項所述之用來進行序列傳送通訊之方法,其中該序列傳送驅動程式係用來管理接收自/發送至該傳送匯流排之封包;以及對該複數個無線通訊功能中之每一者,該序列傳送協定為關於使用該序列傳送驅動程式之共同協定。
- 如申請專利範圍第1項所述之用來進行序列傳送通訊之方法,其另包含:利用一序列傳送驅動程式管理接收自/發送至該傳送匯流排之封包。
- 如申請專利範圍第4項所述之用來進行序列傳送通訊之方法,其中對該複數個無線通訊功能中之每一者,該序列傳送協定為關於使用該序列傳送驅動程式之共同協定。
- 如申請專利範圍第5項所述之用來進行序列傳送通訊之方法,其另包含:控制分別對應於該複數個無線通訊功能之複數個發送封包成為佇列,以供分別發送至該傳送匯流排,以共享該傳送匯流排。
- 如申請專利範圍第1項所述之用來進行序列傳送通訊之方法,其另包含:基於該序列傳送協定,設定來自該複數個裝置中之一第一裝置之複數個第一封包中之一第一封包之一序列號欄位,以區別該第一封包以及該複數個第一封包當中的其它封包。
- 如申請專利範圍第7項所述之用來進行序列傳送通訊之方法,其另包含:基於該序列傳送協定,設定由該複數個裝置中之一第二裝置送至該第一裝置之一第二封包之一確認欄位,以告知該第一裝置該第一封包已被該第二裝置接收、確認。
- 如申請專利範圍第8項所述之用來進行序列傳送通訊之方法,其另包含:對該複數個第一封包當中之未確認封包的數量進行計數;以及當未確認封包的數量達到一預定門檻值時,控制該第一裝置暫時地停止送出任何載有有效載荷之封包。
- 如申請專利範圍第9項所述之用來進行序列傳送通訊之方法,其中基於該序列傳送協定,該複數個第一封包各自的序列號欄位內的序列號是循環的;以及該預定門檻值小於可供設定於序列號欄位內的所有序列號的總數,以預留傳輸延遲的寬裕時間。
- 如申請專利範圍第8項所述之用來進行序列傳送通訊之方法,其中設定該確認欄位之步驟另包含:基於該序列傳送協定,將該第二封包之該確認欄位設定為該第一封包之該序列號欄位中的同一個數值。
- 如申請專利範圍第8項所述之用來進行序列傳送通訊之方法,其中該第一封包係為載有有效載荷之封包;以及該方法另包含:基於該序列傳送協定,避免該第二裝置確認任何未載有有效載荷之第一封包。
- 如申請專利範圍第7項所述之用來進行序列傳送通訊之方法,其另包含:觸發一重試計時器開始量測從該第一封包送出起之一時間區間;偵測是否接收到任何用來確認該第一封包之確認封包;以及在沒有接收到任何用來確認該第一封包之確認封包的狀況下,當該重試計時器指出逾時,控制該第一裝置重送任何未被確認之第一封包。
- 如申請專利範圍第7項所述之用來進行序列傳送通訊之方法,其另包含:基於該序列傳送協定,設定由該複數個裝置中之一第二裝置送至該第一裝置之一第二封包之一非確認欄位,以告知該第一裝置有錯誤被偵測到;以及觸發一停止計時器開始量測從該第二封包送出起之一時間區間,並控制該第二裝置丟棄任何第一封包,直到該停止計時器指出逾時為止。
- 如申請專利範圍第7項所述之用來進行序列傳送通訊之方法,其另包含:基於該序列傳送協定,藉由進行重新傳輸來重獲該第一裝置以及該複數個裝置中之一第二裝置之間的傳輸;以及當偵測到重獲該第一裝置以及該第二裝置之間的傳輸並不成功,控制該第一裝置送出一重設型樣以通知該第二裝置需要重設該第一裝置以及該第二裝置之間的傳輸。
- 一種用來進行序列傳送通訊之裝置,該裝置係用來與至少一其它裝置進行通訊,該其它裝置以及該裝置當中之每一者提供使用者複數個無線通訊功能,該複數個無線通訊功能分別符合不同的無線通訊標準,該裝置包含有:一傳送匯流排,用來進行資料傳輸;以及一控制電路,耦接至該傳送匯流排,用來針對該複數個無線通訊功能中之一第一無線通訊功能,利用一序列傳送協定透過該傳送匯流排以在該裝置與該其它裝置之間實現該第一無線通訊功能,以及用來針對該複數個無線通訊功能中之一第二無線通訊功能,利用該序列傳送協定透過該傳送匯流排以在該裝置與該其它裝置之間實現該第二無線通訊功能。
- 如申請專利範圍第16項所述之用來進行序列傳送通訊之裝置,其中針對該第一無線通訊功能,該控制電路利用一序列傳 送驅動程式透過該傳送匯流排以在該裝置與該其它裝置之間進行通訊;以及針對該第二無線通訊功能,該控制電路利用該序列傳送驅動程式透過該傳送匯流排以在該裝置與該其它裝置之間進行通訊。
- 如申請專利範圍第17項所述之用來進行序列傳送通訊之裝置,其中該序列傳送驅動程式係用來管理接收自/發送至該傳送匯流排之封包;以及對該複數個無線通訊功能中之每一者,該序列傳送協定係為關於使用該序列傳送驅動程式之共同協定。
- 如申請專利範圍第16項所述之用來進行序列傳送通訊之裝置,其中該控制電路利用一序列傳送驅動程式管理接收自/發送至該傳送匯流排之封包。
- 如申請專利範圍第19項所述之用來進行序列傳送通訊之裝置,其中對該複數個無線通訊功能中之每一者,該序列傳送協定係為關於使用該序列傳送驅動程式之共同協定。
- 如申請專利範圍第20項所述之用來進行序列傳送通訊之裝置,其中該控制電路控制分別對應於該複數個無線通訊功能之複數個發送封包成為佇列,以供分別發送至該傳送匯流排,以共享該傳送匯流排。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161484445P | 2011-05-10 | 2011-05-10 | |
US13/286,221 US8780934B2 (en) | 2011-05-10 | 2011-11-01 | Method for performing serial transport communication, and associated device |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201245974A TW201245974A (en) | 2012-11-16 |
TWI476600B true TWI476600B (zh) | 2015-03-11 |
Family
ID=47141819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101109845A TWI476600B (zh) | 2011-05-10 | 2012-03-22 | 用來進行序列傳送通訊之方法與裝置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8780934B2 (zh) |
CN (1) | CN102779106B (zh) |
TW (1) | TWI476600B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10833799B2 (en) * | 2018-05-31 | 2020-11-10 | Itron Global Sarl | Message correction and dynamic correction adjustment for communication systems |
US11038995B2 (en) * | 2019-10-04 | 2021-06-15 | Nxp B.V. | Communications device and method of communications |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI262691B (en) * | 2003-11-05 | 2006-09-21 | Interdigital Tech Corp | Network adapter interface between terminal equipment and mobile equipment |
US20060268965A1 (en) * | 2005-05-26 | 2006-11-30 | Brima Ibrahim | Method and system for RDS decoder for single chip integrated Bluetooth and FM transceiver and baseband processor |
TWI323595B (en) * | 2005-11-10 | 2010-04-11 | Research In Motion Ltd | Method and apparatus for communicating data upon multiple radio carriers |
TWI335152B (en) * | 2002-12-18 | 2010-12-21 | Qualcomm Inc | Supporting multiple wireless protocols in a wireless device |
TW201106766A (en) * | 2009-08-12 | 2011-02-16 | Inventec Appliances Corp | Multi-slot mother card and communication device supporting multi-mode wireless internet access |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8364080B2 (en) * | 2002-08-01 | 2013-01-29 | Broadcom Corporation | Method and system for achieving enhanced quality and higher throughput for collocated IEEE 802.11 B/G and bluetooth devices in coexistent operation |
US8811468B2 (en) * | 2005-05-26 | 2014-08-19 | Broadcom Corporation | Method and system for FM interference detection and mitigation |
CN101588225B (zh) * | 2009-06-25 | 2013-01-09 | 杭州再灵电子科技有限公司 | 一种基于分组交换网络的快速重传方法 |
CN101902394B (zh) * | 2010-06-04 | 2012-07-25 | 杭州电子科技大学 | 基于串行通信的信号深海长距离传输方法 |
-
2011
- 2011-11-01 US US13/286,221 patent/US8780934B2/en not_active Expired - Fee Related
-
2012
- 2012-03-22 TW TW101109845A patent/TWI476600B/zh not_active IP Right Cessation
- 2012-03-31 CN CN201210093062.2A patent/CN102779106B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI335152B (en) * | 2002-12-18 | 2010-12-21 | Qualcomm Inc | Supporting multiple wireless protocols in a wireless device |
TWI262691B (en) * | 2003-11-05 | 2006-09-21 | Interdigital Tech Corp | Network adapter interface between terminal equipment and mobile equipment |
US20060268965A1 (en) * | 2005-05-26 | 2006-11-30 | Brima Ibrahim | Method and system for RDS decoder for single chip integrated Bluetooth and FM transceiver and baseband processor |
TWI323595B (en) * | 2005-11-10 | 2010-04-11 | Research In Motion Ltd | Method and apparatus for communicating data upon multiple radio carriers |
TW201106766A (en) * | 2009-08-12 | 2011-02-16 | Inventec Appliances Corp | Multi-slot mother card and communication device supporting multi-mode wireless internet access |
Also Published As
Publication number | Publication date |
---|---|
CN102779106A (zh) | 2012-11-14 |
CN102779106B (zh) | 2015-04-15 |
US20120287772A1 (en) | 2012-11-15 |
TW201245974A (en) | 2012-11-16 |
US8780934B2 (en) | 2014-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9985749B2 (en) | Method and system for improving wireless link efficiency | |
US10959128B2 (en) | Bluetooth low energy connected isochronous stream acknowledgement and flush algorithm and implementation | |
TW202021297A (zh) | 推遲混合自動重複請求確認回饋的方法及使用者設備 | |
US8248973B2 (en) | Method for operation of synchronous HARQ in a wireless communication system | |
EP1515473A2 (en) | Method and system for repeat request in hybrid ultra Wideband - bluetooth radio | |
US20030125056A1 (en) | Window based stall avoidance mechanism for high speed wireless communication system | |
US20070234170A1 (en) | Method and system for communication of video information over wireless channels | |
TWI526019B (zh) | 用於在無線區域網路系統中處理封包之方法及裝置 | |
KR20090125170A (ko) | 재송요구 송신방법 및 수신측장치 | |
KR20130065619A (ko) | 송신 노드로부터 목적지 노드로의 데이터 전송 방법 | |
EP3491761B1 (en) | Receiver devices, transmitter devices, methods for controlling a receiver device, methods for controlling a transmitter device, and computer-readable media | |
US20110041025A1 (en) | Method of communication, in particular with capability of frame abortion or retransmission indication, between a transmitter and a receiver based on frames and corresponding communication node | |
JP2018501709A (ja) | 送信保護 | |
WO2020221247A1 (zh) | 一种发送、接收反馈信息的方法及设备 | |
CN103999394B (zh) | 数据重传、反馈方法,以及相应的装置 | |
TWI476600B (zh) | 用來進行序列傳送通訊之方法與裝置 | |
US7298748B2 (en) | Method of packet transmission and wireless communication device | |
JP5871918B2 (ja) | 無線通信環境における自動再送要求リセットを実行する方法及びデバイス | |
KR101018685B1 (ko) | 광대역 무선통신시스템에서 자동 재송 요구 리셋을제어하기 위한 장치 및 방법 | |
CN103618694A (zh) | 基于数字无线电窄带系统的r2udp协议设计 | |
WO2015176748A1 (en) | Indication of reception-window status for packet data unit | |
US20180376326A1 (en) | Reliable write command protocol for bluetooth le | |
US20230283564A1 (en) | Ethernet controller for a vehicle and data transmission method thereof | |
US20240064835A1 (en) | Transmitting station and receiving station | |
US20230036140A1 (en) | Wireless aware network stack |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |