TW201448539A - 用於WiFi串列匯流排之基於媒體時間之USB訊框計數器同步 - Google Patents

用於WiFi串列匯流排之基於媒體時間之USB訊框計數器同步 Download PDF

Info

Publication number
TW201448539A
TW201448539A TW103117039A TW103117039A TW201448539A TW 201448539 A TW201448539 A TW 201448539A TW 103117039 A TW103117039 A TW 103117039A TW 103117039 A TW103117039 A TW 103117039A TW 201448539 A TW201448539 A TW 201448539A
Authority
TW
Taiwan
Prior art keywords
usb
frames
host device
frame
client devices
Prior art date
Application number
TW103117039A
Other languages
English (en)
Other versions
TWI552558B (zh
Inventor
Yossef Tsfaty
Xiao-Dong Wang
Alireza Raissinia
Vijayalakshmi R Raveendran
xiao-long Huang
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of TW201448539A publication Critical patent/TW201448539A/zh
Application granted granted Critical
Publication of TWI552558B publication Critical patent/TWI552558B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4286Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a handshaking protocol, e.g. RS232C link
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Systems (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

本發明揭示一種經由一通信頻道來傳輸通用串列匯流排(USB)訊框的方法。一USB裝置經由一網路自一主機裝置接收一或多個USB訊框,其中該一或多個USB訊框基於與該網路相關聯之一通信協定而囊封於一或多個資料封包中。該USB裝置進一步使用該通信協定之一時脈同步機制而使一本端時脈信號與該主機裝置之一時脈信號同步。該USB裝置接著判定由該主機裝置傳輸的USB訊框之一數目,且至少部分地基於該經同步之本端時脈信號來處理該一或多個USB訊框。對於一些實施例,該USB裝置可自該主機裝置接收一訊框計數值及一對應媒體時間值。

Description

用於WiFi串列匯流排之基於媒體時間之USB訊框計數器同步
本發明實施例大體上係關於通信系統,且具體而言係關於經由Wi-Fi頻道來發送通用串列匯流排(USB)協定封包。
用於連接電腦、外部周邊設備及網路的各種介面標準用以提供高速度之簡單連接性。舉例而言,通用串列匯流排(USB)為常用以將諸如PC及膝上型電腦之電腦連接至廣泛之多種周邊裝置(諸如,滑鼠、鍵盤、印表機、隨身碟、揚聲器及其類似者)的高速串列匯流排協定。更具體而言,USB協定經開發以給予使用者用於以隨插即用方式將驚人地多樣範圍之周邊設備連接至使用者之電腦的增強型且易於使用之介面。
最近,已開發出無線通信協定以允許諸如PC、膝上型電腦、平板電腦及智慧型電話的通信裝置不用實體導線或纜線而與其他通信裝置連接。舉例而言,IEEE 802.11標準定義允許使用RF信號之無線通信的各種Wi-Fi協定。舉例而言,Wi-Fi存取點可提供無線區域網路(WLAN),該無線區域網路允許諸如行動台(STA)之一或多個用戶端裝置彼此通信及/或連接至諸如網際網路的外部有線網路。
因此,主機裝置(例如,電腦、膝上型電腦、平板電腦、智慧型電話)可能需要使用關聯WLAN來與數個用戶端裝置(例如,滑鼠、鍵 盤、印表機、隨身碟、揚聲器)交換USB資料(例如)以消除對主機裝置與用戶端裝置之間的纜線連接的需要。儘管Bluetooth®技術可允許主機裝置與用戶端裝置之間的無線通信,但WLAN通信具有比藍芽通信大得多之範圍。
提供本【發明內容】而以簡化形式引入將在【實施方式】中加以進一步描述的概念之一選集。本【發明內容】既不欲識別所主張標的之關鍵特徵或基本特徵,亦不欲限制所主張標的之範疇。
揭示一種經由一網路來傳輸通用串列匯流排(USB)訊框的方法。一USB裝置經由該網路自一主機裝置接收一或多個USB訊框,其中該一或多個USB訊框基於與該網路相關聯之一通信協定而囊封於一或多個資料封包中。該USB裝置進一步使用該通信協定之一時脈同步機制而使一本端時脈信號與該主機裝置之一時脈信號同步。舉例而言,該通信協定可對應於一IEEE 802.11無線協定。因此,該USB裝置可基於接收自該主機裝置(例如,在一或多個信標訊框中)之一時序同步功能(TSF)來調整其本端時脈信號。該USB裝置接著判定由該主機裝置傳輸的USB訊框之一數目,且至少部分地基於該經同步之本端時脈信號來處理該一或多個USB訊框。
該USB裝置可包括用以暫時儲存接收自該主機裝置之該一或多個USB訊框的一資料緩衝器。該USB裝置可進一步部分地基於儲存於該資料緩衝器中之該等USB訊框之一數目來更新一本端訊框計數器。因此,該USB裝置可基於該本端訊框計數器來判定由該主機裝置傳輸的USB訊框之該數目。在該本端訊框計數器達到一第一臨限值時,該USB裝置可接著開始處理儲存於該資料緩衝器中之該等USB訊框。
對於一些實施例,該USB裝置可自該主機裝置接收一訊框計數值,其指示由該主機裝置傳輸的USB訊框之一數目。該USB裝置亦可 接收與該訊框計數值相關聯之一媒體時間值,其指示記錄該訊框計數值所在的一時間。舉例而言,該訊框計數值及該媒體時間值可在該等USB訊框中之至少一者中一起接收。一起USB裝置可進一步部分地基於該本端時脈信號、該訊框計數值及該媒體時間值來使其本端訊框計數器與該主機裝置中之一USB訊框計數器同步。
對於其他實施例,一計算裝置可基於與一網路相關聯之一通信協定而將一或多個USB訊框囊封於一或多個資料封包中。該計算裝置可接著經由該網路將包括該等經囊封之USB訊框之該一或多個資料封包傳輸至一或多個裝置。該計算裝置可進一步將同步資料之一集合傳輸至該一或多個裝置以使該一或多個裝置中之每一者能夠處理該一或多個USB訊框。
同步資料可包括時脈同步資料,該時脈同步資料使該一或多個裝置中之每一者能夠使一各別本端時脈信號與該計算裝置之一時脈信號同步。舉例而言,該通信協定可對應於一802.11無線協定。因此,該計算裝置可用一或多個信標訊框來廣播該時脈同步資料,其中該時脈同步資料包括一TSF值。
同步資料可進一步包括一訊框計數值及與該訊框計數值相關聯之一媒體時間值。舉例而言,該計算裝置可基於傳輸至該一或多個裝置的USB訊框之一數目來更新一USB訊框計數器。該訊框計數值可指示該USB訊框計數器之一當前值,而該媒體時間值可指示記錄該訊框計數值所在的一時間。對於一些實施例,該訊框計數值及該媒體時間值可一起囊封於該一或多個USB訊框中之至少一者中。
對於一些實施例,該計算裝置可進一步將一處理請求傳輸至該一或多個裝置。該處理請求可包括用以開始處理該一或多個USB訊框之一指令。舉例而言,該處理請求可包括一訊框計數臨限值。該一或多個裝置將在由該計算裝置傳輸的USB訊框之一數目等於該訊框計數 臨限值時開始處理該一或多個USB訊框。
100‧‧‧網路裝置
110‧‧‧處理器
120‧‧‧記憶體
130‧‧‧PHY裝置
135‧‧‧收發器
140‧‧‧媒體存取控制(MAC)裝置
150-1‧‧‧媒體獨立介面(MII)
150-2‧‧‧媒體獨立介面(MII)
160‧‧‧信號路徑
200‧‧‧通信系統
210‧‧‧主機裝置
211‧‧‧處理器
212‧‧‧USB控制器
213‧‧‧協定適應層(PAL)台管理實體(SME)
214‧‧‧WLAN介面
220(1)‧‧‧用戶端裝置
220(2)‧‧‧用戶端裝置
220(3)‧‧‧用戶端裝置
230‧‧‧通信頻道
300‧‧‧說明性時序圖
500‧‧‧操作USB用戶端裝置之例示性方法
501‧‧‧步驟
502‧‧‧步驟
503‧‧‧步驟
504‧‧‧步驟
600‧‧‧操作USB主機裝置之例示性方法
700‧‧‧無線USB同步操作
800‧‧‧具備USB功能之用戶端裝置
810‧‧‧無線介面
820‧‧‧USB介面
830‧‧‧處理器
840‧‧‧記憶體
842‧‧‧資料儲存器
844‧‧‧時脈同步模組
846‧‧‧訊框同步模組
848‧‧‧USB處理模組
900‧‧‧具備USB功能之主機裝置
910‧‧‧無線介面
920‧‧‧處理器
930‧‧‧記憶體
932‧‧‧資料儲存器
934‧‧‧時脈同步模組
936‧‧‧訊框同步模組
938‧‧‧USB囊封模組/USB處理模組
Clk1‧‧‧本端時脈信號
Clk2‧‧‧本端時脈信號
Clk3‧‧‧本端時脈信號
ClkH‧‧‧內部時脈信號/主機時脈信號
Clk_Sync‧‧‧時脈同步
Cnt1‧‧‧本端訊框計數器
Cnt2‧‧‧本端訊框計數器
Cnt3‧‧‧本端訊框計數器
CntH‧‧‧主機訊框計數器
F_Count‧‧‧訊框計數值
M1‧‧‧無線媒體
M_Time‧‧‧媒體時間
Td‧‧‧傳輸延遲
Tp‧‧‧原始時戳
本發明實施例係以實例來說明,且不欲受隨附圖式之諸圖限制,其中:圖1為根據一些實施例之網路裝置的方塊圖。
圖2展示根據一些實例實施例之無線USB通信系統。
圖3為描繪關於以無線方式使USB用戶端裝置與主機裝置同步的潛在問題之說明性時序圖。
圖4A至圖4B為描繪根據一些實施例之例示性無線USB同步操作的順序圖。
圖5為描繪根據一些實施例的操作USB用戶端裝置之例示性方法的說明性流程圖。
圖6為描繪根據一些實施例的操作USB主機裝置之例示性方法的說明性流程圖。
圖7為描繪根據一些實施例的無線USB同步操作的說明性流程圖。
圖8為根據一些實施例之具有USB功能之用戶端裝置的方塊圖。
圖9為根據一些實施例之具有USB功能之主機裝置的方塊圖。
貫穿圖式諸圖,類似參考數字係指對應部件。
僅為了簡單起見,下文在使用WLAN通信協定交換USB資料之上下文中描述本發明實施例。應理解,本發明實施例同樣適用於經由其他合適無線標準來交換USB資料。如本文中所使用,術語WLAN及Wi-Fi可包括藉由IEEE 802.11標準、藍芽、HiperLAN(主要在歐洲使用的比得上IEEE 802.11標準的無線標準之一集合)及具有相對短之無線電傳播範圍的其他技術管控的通信。如本文中所使用,術語「主機 裝置」在本文中可用以指能夠將USB資料(例如,經由無線通信頻道)傳輸至其他具有USB功能之裝置的任何具有USB功能之裝置。另外,術語「用戶端裝置」在本文中可用以指能夠自主機裝置接收USB資料(例如,經由無線通信頻道)的任何具有USB功能之裝置。請注意,對於一些實施例,主機裝置亦可作為用戶端裝置操作,且反之亦然。
在以下描述中,闡述眾多特定細節(諸如,特定組件、電路及程序之實例)以提供對本發明之透徹理解。如本文中所使用之術語「耦接」意謂直接連接至或經由一或多個介入組件或電路連接。又,在以下描述中且出於解釋之目的,闡述特定術語以提供對本發明實施例之透徹理解。然而,對於熟習此項技術者將顯而易見的是,可不需要此等特定細節來實踐本發明實施例。在其他例子中,以方塊圖形式展示熟知電路及裝置以避免使本發明混淆。經由本文中所描述之各種匯流排提供的信號中之任一者可與其他信號一起進行時間多工,且經由一或多個共同匯流排來提供。另外,電路元件或軟體區塊之間的互連可展示為匯流排或單一信號線。匯流排中之每一者可替代地為單一信號線,且單一信號線中之每一者可替代地為匯流排,且單一線或匯流排可表示用於組件之間的通信之無數實體或邏輯機制中的任何一或多者。本發明實施例不應解釋為限於本文中所描述的特定實例,而是將由附加申請專利範圍定義之所有實施例包括於其範疇內。
如上文所提及,主機裝置(例如,電腦、膝上型電腦、平板電腦、智慧型電話等)可能需要經由對應WLAN與一或多個用戶端裝置(例如,揚聲器、印表機、鍵盤、滑鼠等)交換USB資料。相關聯於經由WLAN與一或多個用戶端裝置交換USB資料的問題中之至少一者為在不存在有線連接之情況下使用戶端裝置中之時脈及/或計數器與主機裝置中之時脈及/或計數器同步。舉例而言,USB標準定義經由關聯USB纜線之通信協定,且通常依賴於時脈及計數器資訊經由USB纜 線的交換以確保,用戶端裝置中之時脈及/或計數器保持與主機裝置中之時脈及/或計數器同步。因此,因為WLAN通信不使用有線連接(例如,USB纜線),所以由USB標準定義之時脈同步技術在試圖經由與WLAN相關聯之無線頻道來傳輸USB資料時可能不可用。
對於本文中之揭示內容,可參考包括7個邏輯層的開放系統互連(OSI)模型:層1為實體層,層2為資料鏈路層,層3為網路層,層4為輸送層,層5為工作階段層,層6為表達層,且層7為應用層。OSI層之階層愈高,則其愈靠近終端使用者;OSI層之階層愈低,則其愈靠近實體頻道。舉例而言,在OSI模型階層之頂部的係應用層,該應用層與終端使用者之軟體應用程式直接互動。在OSI模型階層之底部的係實體層,該實體層定義網路裝置與實體通信媒體之間的關係。
實體層提供用於實體媒體之電及物理規範,且包括可調變/解調變待經由媒體傳輸/接收之資料的收發器。資料鏈路層提供用於裝置之間的資料傳輸之功能及/或程序細節,諸如定址及頻道存取控制機制。資料鏈路層包括兩個子層:邏輯鏈路控制(LLC)層及媒體存取控制(MAC)層。
介面存在於MAC層與PHY層之間以促進兩個層之間的資訊之交換。此介面被稱作媒體獨立介面(MII),因為MAC層關於用於資料傳輸之實體媒體為不可知的(且因此關於所使用之特定PHY裝置為不可知的)。以此方式,MII允許給定MAC裝置與廣泛多種PHY裝置一起使用。除指整個屬外,術語MII亦可指特定類型之媒體獨立介面。如本文中所使用,術語「媒體存取介面」及「MII」將指此等介面之整個屬,除非另有說明。MII之實例包括附接單元介面(AUI)、MII、精簡MII、千兆MII(GMII)、精簡GMII、串列GMII(SGMII)、四SGMII(QSGMII)、10 GMII,及源同步串列MII(S3MII)。
圖1為根據一些實施例之網路裝置100的方塊圖。具體而言,網 路裝置100可能夠經由媒體M1(例如,無線頻道)與另一裝置(為簡單起見圖中未示)通信。網路裝置100包括處理器110、記憶體120、PHY裝置130及MAC裝置140。PHY裝置130包括耦接至無線媒體M1的收發器135。儘管收發器135在圖1中經說明為包括於PHY裝置130內,但收發器135可為獨立裝置或積體電路。記憶體120可為任何合適記憶體元件或裝置,包括(例如)EEPROM或快閃記憶體。處理器110可為能夠執行儲存於(例如)記憶體120中之一或多個軟體程式之指令碼或指令的任何合適處理器。
PHY裝置130及MAC裝置140各自包括分別用於經由信號路徑160之一集合在該兩個裝置之間傳輸信號的媒體獨立介面(MII)150-1及150-2。對於一些實施例,MII 150-1可包括用於分別向MAC裝置140傳輸資料及自MAC裝置140接收資料的第一及第二PHY側差分電晶體對(為簡單起見圖中未示),且MII 150-2可包括用於分別向PHY裝置130傳輸資料及自PHY裝置130接收資料的第一及第二MAC側差分電晶體對(為簡單起見圖中未示)。因此,MII 150-1在本文中可被稱作PHY側MII,且MII 150-2在本文中可被稱作MAC側MII。
MAC裝置140可為實施OSI MAC子層之功能的任何裝置或積體電路,且可為獨立裝置或可整合至網路裝置100中。類似地,PHY裝置130可為實施OSI實體層之功能的任何裝置或積體電路,且可為獨立裝置或可整合至網路裝置100中。
在資料傳輸操作期間,當網路裝置100上之終端使用者軟體應用程式經由媒體M1將資料傳輸至另一裝置時,處理器110根據OSI模型之頂層來處理資料,且接著經由MAC裝置140將資料傳輸至PHY裝置130。接著,PHY裝置130經由收發器135將資料傳輸至媒體M1上。
圖2展示根據一些實例實施例之通信系統200。系統200經展示包括可使用通信頻道230彼此通信的主機裝置210及三個用戶端裝置 220(1)至220(3)。對於一些實施例,通信頻道230可為促進根據IEEE 802.11標準之通信的無線(例如,WLAN或Wi-Fi)頻道,儘管可使用其他合適無線通信協定。對於其他實施例,通信頻道230可為有線鏈路(例如,10GBASE-T乙太網路頻道)。另外,儘管為了簡單起見在圖2中展示三個用戶端裝置220(1)至220(3),但系統200可包括經由通信頻道230連接至主機裝置210的任何數目個用戶端裝置220。
可為電腦、膝上型電腦、平板電腦、智慧型電話或其他合適計算或通信裝置的主機裝置210包括處理器211、USB控制器212、協定適應層(PAL)台管理實體(SME)213及WLAN介面214。處理器211耦接至USB控制器212,且可控制主機裝置210之USB控制器212及/或其他組件的操作。USB控制器212可為能夠促進處理器211與PAL SME 213之間的USB通信之任何合適USB控制器。對於至少一些實施例,USB控制器212可包括實體寫碼子層(PCS)電路(為簡單起見圖中未示)或與實體寫碼子層(PCS)電路相關聯以提供用於USB通信的編碼功能。可根據由Wi-Fi千兆聯盟(WGA)定義之協定而操作的PAL SME 213可使得經由無線頻道230在主機裝置210與用戶端裝置220(1)至220(3)之間交換USB資料成為可能。耦接至PAL SME 213的WLAN介面214可包括用以經由無線頻道230將資料傳輸至用戶端裝置220(1)至220(3)及自用戶端裝置220(1)至220(3)接收資料的收發器。
用戶端裝置220可為任何合適USB周邊裝置(例如,揚聲器、印表機、鍵盤、滑鼠等)。儘管為簡單起見在圖2中未展示,但用戶端裝置220(1)至220(3)中之每一者可包括處理器、USB控制器、PAL SME及WLAN介面以促進經由無線頻道230之USB資料的無線交換。
對於主機裝置210,為了使用戶端裝置220(1)至220(3)在正確時刻(例如,彼此同時地)顯現等時USB資料,主機USB控制器212中之USB訊框計數器應與用戶端裝置220(1)至220(3)中之USB訊框計數器同 步。舉例而言,若USB資料含有待藉由用戶端裝置(例如,充當揚聲器)播放之音訊資訊,則可能需要實現音訊資訊自複數個該等裝置220(1)至220(3)之播放。因此,可能需要使用戶端裝置220(1)至220(3)與主機裝置210同步及/或彼此同步。
對於一些實施例,主機裝置210與用戶端裝置220(1)至220(3)之間的通信可為雙向的。舉例而言,在某些例子中,用戶端裝置220(1)至220(3)中之每一者可充當主機裝置,且主機裝置210可充當用戶端裝置。更具體而言,主機裝置210及用戶端裝置220(1)至220(3)可為能夠經由無線通信頻道(例如,無線頻道230)既傳輸USB訊框亦接收USB訊框的實質上類似之計算裝置。
圖3為關於使用戶端裝置220(1)至220(3)與主機裝置210同步來描繪潛在問題的說明性時序圖300。又參看圖2,當USB控制器212自處理器211接收資料時,USB控制器212可將時戳(Tp)附加至資料且將該資料囊封至封包中以供隨後傳輸至用戶端裝置220(1)至220(3)。然而,主機裝置210之MAC層與PHY層之間(例如,USB控制器212與WLAN介面214之間)可存在傳輸延遲(Td)。對於不同資料封包可並非恆定的此傳輸延遲可引起與用戶端裝置220(1)至220(3)中之一或多者接收、處理及/或顯示自主機裝置210傳輸之資料封包相關聯的時序誤差。
對此時序問題之一個解決方案可涉及剖析主機裝置210中之資料封包、提取原始時戳(Tp)、計算傳輸延遲(Td)及接著更新原始時戳以反映該傳輸延遲。可涉及主機裝置210內之深度封包檢測(DPI)操作的此程序消耗有價值之處理資源,且可為耗時的。另外,許多現有主機裝置可不包括能夠對接收自USB控制器212之USB資料封包/訊框執行DPI操作的電路或軟體模組。
對於一些實施例,主機裝置210及/或用戶端裝置220(1)至220(3) 可利用藉由IEEE 802.11標準定義的WLAN操作,以使用戶端裝置220(1)至220(3)與主機裝置210同步。更具體而言,主機裝置210可使用由IEEE 802.11標準具體化的技術來確保用戶端裝置220(1)至220(3)之計數器及/或時脈與主機裝置210之各別計數器及/或時脈同步(且保持同步)。舉例而言,圖4A至圖4B為描繪根據一些實施例的例示性無線USB同步操作的順序圖。
參看(例如)圖4A,主機裝置210產生內部時脈信號(ClkH),其可用以對資料至(及/或自)用戶端裝置220(1)至220(3)之傳輸(及/或接收)計時。類似地,用戶端裝置220(1)至220(3)中之每一者可產生對應本端時脈信號(Clk1至Clk3),其可用以對資料自(及/或至)主機裝置210之接收(及/或傳輸)計時。對於一些實施例,出於使本端時脈信號Clk1至Clk3與主機時脈信號ClkH同步之目的,主機裝置210可將時脈同步(Clk_Sync)資料傳輸至用戶端裝置220(1)至220(3)中之每一者。用戶端裝置220(1)至220(3)中之每一者可接著使用Clk_Sync資料來使其本端時脈與主機時脈ClkH對準(例如,藉由將各別時序偏移應用至本端Clk1至Clk3)。
對於一些實施例,時脈同步操作可使用已由與通信頻道230相關聯之通信協定提供的一或多個時脈同步機制或技術來執行。舉例而言,主機時脈信號ClkH及本端時脈信號Clk1至Clk3可基於由IEEE 802.11無線協定定義的時序同步功能(TSF)來產生。替代地及/或此外,視特定應用所要之準確度之位準而定,可使用其他時脈同步技術(例如,諸如由802.1AS、802.11v及/或802.11mc標準定義之彼等時脈同步技術)使主機時脈信號ClkH與本端時脈信號Clk1至Clk3同步。
TSF計時器可為模數264計數器,該計數器以微秒遞增(例如,「以滴答聲記錄(tick)」),且因此具有264=102,400微秒的最大計數值(儘管可使用其他合適計時器、時脈及/或計數器)。對於一些實施例,主 機裝置210可在一或多個信標訊框中將其TSF計時器值廣播至用戶端裝置220(1)至220(3)。在接收到信標訊框之後,用戶端裝置220(1)至220(3)中之每一者隨即可將其自身的本端TSF計時器設定為所接收的TSF計時器值。此確保用戶端裝置220(1)至220(3)之本端TSF計數器(例如,Clk1至Clk3)與主機裝置210之TSF計時器(例如,ClkH)同步。
對於一些實施例,Clk_Sync資料可週期性地廣播及/或傳輸以維持主機裝置210與用戶端裝置220(1)至220(3)之間的時脈同步。舉例而言,在通信頻道230為Wi-Fi頻道之情況下,802.11規範定義時脈同步機制,其中主機裝置210週期性地將信標訊框廣播至用戶端裝置220(1)至220(3)。因此,用戶端裝置220(1)至220(3)及主機裝置210可建立由信標間隔(例如,提供於信標訊框內)隔開的一系列目標信標傳輸時間(TBTT)。每當接收到新信標訊框時,用戶端裝置220(1)至220(3)可接著使其本端TSF計時器與主機裝置210之TSF計時器重新同步。
一旦本端時脈信號Clk1至Clk3與主機時脈信號ClkH同步,主機裝置210便可接著開始經由通信頻道230將經囊封USB訊框傳輸至用戶端裝置220(1)至220(3)。舉例而言,USB訊框可對應於可經由USB纜線以其他方式傳輸至用戶端裝置220(1)至220(2)中之一或多者的USB資料。替代地,對於一些實施例,USB訊框可基於無線通信協定而囊封於一或多個資料封包中(例如,寫入至一或多個資料封包及/或由一或多個資料封包載運)以經由通信頻道230來傳輸。用戶端裝置220(1)至220(3)可解囊封接收的資料封包以恢復原始USB訊框。對於一些實施例,用戶端裝置220(1)至220(3)中之每一者可針對接收自主機裝置210之每一USB訊框更新本端訊框計數器(例如,Cnt1至Cnt3)。
參看(例如)圖4B,主機裝置210可將識別與計數值相關聯之訊框計數值(F_Count)及媒體時間(M_Time)的資訊傳輸至用戶端裝置220(1) 至220(3),以使主機裝置210之訊框計數器CntH分別與用戶端裝置220(1)至220(3)之本端訊框計數器Cnt1至Cnt3同步。訊框計數器CntH可指示藉由主機裝置210傳輸的USB訊框之數目。舉例而言,主機裝置210可針對傳輸至用戶端裝置220(1)至220(3)之每一USB訊框更新訊框計數器CntH
F_Count值可指示在任何給定時間藉由主機裝置210傳輸的USB訊框之總數(例如,基於主機訊框計數器CntH)。更具體而言,M_Time值可指定F_Count值經判定及/或嵌入於傳出資料封包及/或USB訊框內所在的特定時間(例如,基於主機時脈信號ClkH)。對於一些實施例,M_Time值可對應於嵌入於藉由主機裝置210傳輸之每一資料封包及/或訊框內的傳輸時戳(例如,如802.11規範所定義)。對於一些實施例,F_Count值及M_Time值可實質上同時地編碼,且因此彼此「配合」。舉例而言,F_Count值及M_Time值可囊封於一或多個USB訊框中且與其他經囊封USB資料一起提供。替代地,F_Count值及M_Time值可與USB資料分開地傳輸(例如,作為獨立管理訊框之部分)。
本端訊框計數器Cnt1至Cnt3中之每一者可分別基於F_Count值、M_Time值及對應本端時脈信號Clk1至Clk3而與主機訊框計數器CntH同步。舉例而言,訊框計數同步操作可基於以下等式針對任何用戶端裝置220來執行:
因此,在使本端時脈信號Clk1至Clk3中之每一者與主機時脈信號ClkH同步(例如,如上文關於圖4A所描述)之後,在由主機裝置210進行的F_Count值之編碼與其由用戶端裝置220(1)至220(3)中之一者之接收之間經過的時間量可藉由獲得接收到F_Count值所在之時間(例如,基於本端時脈信號Clk1至Clk3)並減去M_Time值來判定。在此經過時 間期間很可能藉由主機裝置210已傳輸的額外USB訊框之數目可藉由將經過時間乘以主機裝置210之傳輸速率(例如,每個時脈循環可傳輸的USB訊框之總數)來判定。結果可接著被添加至F_Count值以判定主機計數器CntH的當前計數值。
用戶端裝置220(1)至220(3)可接著基於隨後接收之USB訊框來更新其各別本端計數器Cnt1至Cnt3。然而,請注意,個別用戶端裝置220(1)至220(3)接收USB訊框所用之速率可變化。舉例而言,歸因於由主機裝置210進行的資料傳輸之延遲,傳播沿著通信頻道230及/或多路徑條件而延遲,用戶端裝置220(1)至220(3)中之每一者可在不同時間接收USB訊框。因此,在任何給定時間,由用戶端裝置220(1)至220(3)中之一者緩衝的USB訊框之數目可不同於由另一用戶端裝置緩衝的USB訊框之數目。舉例而言,在特定時間T,主機計數器CntH可具有為N的計數值,本端計數器Cnt1可儲存為N之計數值,本端計數器Cnt2可儲存為N-1的計數值,且本端計數器Cnt3可儲存為N-2的計數值。對於一些實施例,主機裝置210可週期性地將新F_Count值及M_Time值傳輸至用戶端裝置220(1)至220(3),以便維持主機計數器CntH與本端計數器Cnt1至Cnt3中之每一者之間的同步。此允許本端訊框計數器Cnt1至Cnt3中之每一者維持藉由主機裝置210傳輸的訊框之總數的計數,而非僅維持藉由用戶端裝置220(1)至220(3)中之各別用戶端裝置接收及/或緩衝的USB訊框之數目。
對於一些實施例,主機裝置210可將一處理請求訊息與用以基於一特定訊框計數來開始處理及/或顯現所接收USB訊框的指令一起傳輸至用戶端裝置220(1)至220(3)中之一或多者。舉例而言,用戶端裝置220(1)至220(3)中之每一者可包括對接收自主機裝置210之USB訊框進行緩衝的內部儲存元件。用戶端裝置220(1)至220(3)可繼續緩衝USB訊框,直至該等用戶端裝置由主機裝置210指導以開始處理或顯 現經緩衝USB訊框。對於一些實施例,該處理請求訊息可指導用戶端裝置220(1)至220(3)在一本端訊框計數器達到一特定訊框計數臨限值之後開始處理該等USB訊框。然而,如上文所描述,本端訊框計數器Cnt1至Cnt3可相對於主機計數器CntH漂移。儘管如此,用戶端裝置220(1)至220(3)中之每一者可能需要實質上同時地開始處理或顯現所儲存USB訊框(例如,如在用戶端裝置220(1)至220(3)中之每一者為經組態以播放同一音訊信號之揚聲器的情況下)。因此,使本端訊框計數器Cnt1至Cnt3中之每一者與主機計數器CntH同步可使多個用戶端裝置220(1)至220(3)能夠同時開始處理USB。
藉由充分利用針對通信頻道230所提供之現有時脈協定,系統200可有效且準確地維持主機裝置210與用戶端裝置220(1)至220(3)之間的經同步之USB訊框計數而不需要深度封包檢測。此外,根據本發明實施例,用戶端裝置220(1)至220(3)中之每一者可使用F_Count值及M_Time值來判定主機裝置210之當前訊框計數,即使用戶端裝置220(1)至220(3)在不同時間接收此等值。
圖5為描繪根據一些實施例的操作USB用戶端裝置之例示性方法500的說明性流程圖。舉例而言,方法500可藉由上文關於圖2及圖4A至圖4B所描述之用戶端裝置220中的任一者來實施。具體而言,用戶端裝置220可經由一網路自主機裝置210接收一或多個USB訊框(501)。對於一些實施例,該一或多個USB訊框可基於與該網路相關聯之一通信協定而囊封於一或多個資料封包中。用戶端裝置220可解囊封所接收資料封包以恢復該一或多個USB訊框。另外,對於一些實施例,用戶端裝置220可將所接收USB訊框儲存於一資料緩衝器中。
用戶端裝置220進一步使其本端時脈信號與主機裝置之一時脈信號同步(502)。具體而言,用戶端裝置220可基於該通信協定之一時脈同步機制而使其本端時脈信號與主機時脈信號同步。舉例而言,主機 裝置210可週期性地傳輸或廣播時脈同步(Clk_Sync)資料,該資料可由用戶端裝置220使用以調整其本端時脈信號。在802.11無線網路中,時脈同步資料可對應於由主機裝置210在一或多個信標訊框中廣播的TSF值。用戶端裝置220可接著調整其自身的TSF值(若必要)以匹配主機裝置210之TSF值(例如,如上文關於圖4A所描述)。
用戶端裝置220接著判定由主機裝置210傳輸的USB訊框之數目(503)。具體而言,用戶端裝置220可基於經同步之本端時脈信號來判定由主機裝置210傳輸的USB訊框之數目。舉例而言,用戶端裝置220可針對接收自主機裝置210之每一USB訊框來更新本端訊框計數器。然而,如上文所描述,由用戶端裝置220接收的USB訊框之數目可並非總是匹配由主機裝置210傳輸的USB訊框之數目(例如,歸因於漂移及/或丟棄之資料封包)。因此,對於一些實施例,本端訊框計數器可基於由主機裝置210傳輸之同步資料來追蹤主機裝置210中之USB訊框計數器。同步資料可包括(例如)訊框計數(F_Count)值及媒體時間(M_Time)值。更具體而言,F_Count值可指示在由M_Time值指定之時間由主機裝置210傳輸的USB訊框之數目。用戶端裝置220可接著使用經同步之本端時脈信號來判定自由M_Time值指示之時間起傳輸的額外USB訊框之數目(例如,如上文關於圖4B所描述)。對於一些實施例,用戶端裝置220可週期性地使其本端訊框計數器與主機裝置210之訊框計數器重新同步。
最終,用戶端裝置220可基於由主機裝置210傳輸的USB訊框之數目來處理所接收USB訊框(504)。舉例而言,主機裝置210可指導用戶端裝置220在本端訊框計數器達到特定訊框計數臨限值後隨即開始處理及/或顯現所接收USB訊框。因為本端訊框計數器可與主機訊框計數器同步,所以用戶端裝置220可在由主機裝置210指示之任何時間開始處理USB訊框。此可允許多個用戶端裝置220實質上同時地開始處 理USB訊框,而無關於在該時間由每一用戶端裝置220實際上接收的USB訊框之數目。
圖6為描繪根據一些實施例的操作USB主機裝置之例示性方法600的說明性流程圖。舉例而言,方法600可藉由上文關於圖2及圖4A至圖4B所描述之主機裝置210來實施。具體而言,一網路上之主機裝置210可基於與該網路相關聯之一通信協定而將USB訊框囊封於資料封包中(601)。如上文所描述,USB訊框可對應於可經由USB纜線以其他方式傳輸至一或多個用戶端裝置220的USB資料。主機裝置210可(例如)藉由將對應USB資料嵌入於一或多個資料封包內來囊封USB訊框以經由特定類型之通信頻道來傳輸。
主機裝置210可接著經由該網路將包括經囊封USB訊框之資料封包傳輸至一或多個用戶端裝置220(602)。舉例而言,該網路可對應於由IEEE 802.11標準定義之Wi-Fi網路。因此,主機裝置210可基於一或多個802.11無線協定將資料封包傳輸至一或多個用戶端裝置220。對於一些實施例,主機裝置210可同時將資料封包傳輸至多個用戶端裝置220。另外,對於一些實施例,主機裝置210可包括USB訊框計數器以明瞭傳輸至一或多個用戶端裝置220的USB訊框之數目。舉例而言,主機裝置210針對每一所傳輸USB訊框可更新其USB訊框計數器。
主機裝置210可進一步將同步資料之一集合傳輸至一或多個用戶端裝置220,以使每一用戶端裝置220能夠處理USB訊框(603)。同步資料可包括(例如)時脈同步(Clk_Sync)資料、訊框計數(F_Count)值及/或媒體時間(M_Time)值。更具體而言,Clk_Sync資料可用以使主機裝置210之時脈信號與一或多個用戶端裝置220之本端時脈信號同步(例如,如上文關於圖4A所描述)。對於一些實施例,Clk_Sync資料可藉由與無線通信協定相關聯之時脈同步機制來提供。F_Count值及 M_Time值可用以使主機裝置210之USB訊框計數器與一或多個用戶端裝置220之本端訊框計數器同步(例如,如上文關於圖4B所描述)。如上文所描述,F_Count值可指示在由M_Time值指定之時間由主機裝置210傳輸的USB訊框之數目。對於一些實施例,主機裝置210可週期性地傳輸經更新之同步資料以維持與一或多個用戶端裝置220中之每一者的同步。
圖7為描繪根據一些實施例的無線USB同步操作700的說明性流程圖。參看(例如)圖4A至圖4B,主機裝置210首先經由無線通信頻道230將時脈同步資料傳輸至用戶端裝置(例如,用戶端裝置220(1))(701)。對於一些實施例,時脈同步資料可對應於提供於信標訊框內的TSF計時器值。用戶端裝置220(1)經由無線通信頻道230接收時脈同步資料(702),且使用與通信頻道230相關聯之時脈同步機制而使其本端時脈信號Clk1與主機時脈信號ClkH同步(704)。舉例而言,用戶端裝置220(1)可使用主機裝置之TSF計時器值來使其本端時脈信號Clk1同步(例如,如上文關於圖4A所描述)。
主機裝置210囊封USB訊框以經由無線通信頻道230進行傳輸(703)。舉例而言,參看圖2,PAL SME 213可根據Wi-Fi協定來囊封USB訊框(例如,經由USB控制器212接收)以經由Wi-Fi頻道傳輸。對於一些實施例,囊封可根據WGA協定來執行。主機裝置210將當前訊框計數值及媒體時間值嵌入於經囊封USB訊框中(705)。舉例而言,F_Count值可自主機訊框計數器CntH記錄,且對應M_Time值可自主機時脈信號ClkH記錄。對於一些實施例,F_Count值及M_Time值配合在一起且實質上同時地進行記錄。最終,主機裝置210經由無線通信頻道230將經囊封USB訊框傳輸至用戶端裝置220(1)(707)。
用戶端裝置220(1)經由無線通信頻道接收經囊封USB訊框(706),且剖析與經囊封USB訊框一起提供的F_Count值及M_Time值(708)。對 於一些實施例,用戶端裝置220(1)可在不解囊封USB資料之情況下剖析來自所接收資料封包的F_Count值及M_Time值。用戶端裝置220(1)接著基於所接收F_Count及M_Time值以經同步之本端時脈信號Clk1而使其本端訊框計數器Cnt1與主機訊框計數器CntH同步(710)。舉例而言,用戶端裝置220(1)可基於等式1來更新其本端訊框計數器Cnt1(例如,如上文關於圖4B所描述)。
對於一些實施例,主機裝置210可隨後發佈用以處理及/或顯現於特定訊框計數開始之USB訊框的指令(709)。舉例而言,如藉由主機裝置210指定之訊框計數可與主機訊框計數器CntH之計數值對應。在接收此指令之後,用戶端裝置220(1)隨即可進行至基於其本端訊框計數器Cnt1來處理及/或顯現經緩衝之USB訊框(712)。具體而言,因為本端訊框計數器Cnt1與主機訊框計數器CntH同步,所以用戶端裝置220(1)可在所要時間開始處理其經緩衝之USB資料,而無關於由用戶端裝置220(1)實際上接收及/或緩衝的USB訊框之數目。
為簡單起見,前述同步操作700已關於用戶端裝置220(1)加以描述,僅為簡單起見。然而,操作700可以實質上類似之方式在主機裝置210與用戶端裝置220(1)至220(3)中之任一者之間執行。另外,同步操作700可確保,經由無線頻道230傳輸至多個用戶端裝置220(1)至220(3)的USB資料封包在正確時間(例如,同步地)被播放及/或顯現(例如,自與用戶端裝置220(1)至220(3)相關聯之揚聲器輸出)。
圖8為根據一些實施例之具有USB功能之用戶端裝置800的方塊圖。用戶端裝置800包括無線介面810、USB介面820、處理器830及記憶體840。無線介面810耦接至處理器830,且可用以經由無線通信頻道來接收及/或傳輸資料信號。舉例而言,無線通信頻道可對應於IEEE 802.11無線頻道。USB介面820亦耦接至處理器830,且可用以傳達USB資料至及/或自用戶端裝置800(例如,經由USB纜線)。對於一 些實施例,無線介面810可接收囊封於資料封包中之USB訊框,該等USB訊框可以其他方式經由USB介面820接收。
記憶體840可包括資料儲存器842,其可用以對USB訊框緩衝以藉由裝置800來處理及/或播放。舉例而言,經由無線介面810接收之USB訊框可儲存於資料儲存器842中。此外,記憶體840亦可包括可儲存以下軟體模組的非暫時性電腦可讀儲存媒體(例如,一或多個非揮發性記憶體元件,諸如EPROM、EEPROM、快閃記憶體、硬碟機等):˙時脈同步模組844,其用以使本端時脈信號與主機裝置之時脈信號同步;˙訊框同步模組846,其用以使本端訊框計數器與主機裝置之USB訊框計數器同步;及˙USB處理模組848,其用以基於本端訊框計數器之訊框計數值來處理所接收USB訊框。
每一軟體模組可包括在由處理器830執行時可使裝置800執行對應功能之指令。因此,記憶體840之非暫時性電腦可讀儲存媒體可包括用於執行關於圖5及圖7描述之操作之全部或一部分的指令。
耦接至記憶體840之處理器830可為能夠執行儲存於用戶端裝置800中(例如,記憶體840內)之一或多個軟體程式之指令之指令碼的任何合適處理器。舉例而言,處理器830可執行時脈同步模組844、訊框同步模組846及/或USB處理模組848。
時脈同步模組844可由處理器830執行以使本端時脈信號與主機裝置之時脈信號同步。舉例而言,用戶端裝置800可經由無線介面810自一主機裝置接收時脈同步(Clk_Sync)資料。對於一些實施例,Clk_Sync資料可對應於由主機裝置(例如,在信標訊框中)週期性地廣播的TSF值。如藉由處理器830執行之時脈同步模組844可藉由將其自 身的本端TSF計時器設定為所接收TSF值而使其本端時脈信號與主機時脈信號同步(例如,如上文關於圖4A所描述)。
訊框同步模組846可由處理器830執行以使本端訊框計數器與主機裝置之USB訊框計數器同步。舉例而言,用戶端裝置800可進一步經由無線介面810自主機裝置接收訊框計數(F_Count)值及媒體時間(M_Time)值。如上文所描述,F_Count值可指示在藉由M_Time值指示之特定時間由主機裝置傳輸的USB訊框之數目。如藉由處理器830執行之訊框同步模組846可基於F_Count值及M_Time值、本端時脈信號以主機裝置之傳輸速率而使其本端訊框計數器與主機訊框計數器同步(例如,如上文關於圖4B所描述)。對於一些實施例,處理器830在執行訊框同步模組846中可針對接收自主機裝置之USB訊框連續地更新(例如,遞增)本端訊框計數器。
USB處理模組848可由處理器830執行以基於本端訊框計數器之訊框計數值來處理所接收USB訊框。舉例而言,一旦本端訊框計數器達到特定訊框計數臨限值,如藉由處理器830執行之USB處理模組848便可開始處理儲存於資料儲存器842中之USB訊框。對於一些實施例,訊框計數臨限值可由主機裝置(例如,藉由將處理請求訊息傳輸至用戶端裝置800)來指定。因為本端訊框計數器可與主機訊框計數器同步,所以處理器830在執行USB處理模組848中可在藉由主機裝置指示之任何時間開始處理USB訊框。
圖9為根據一些實施例之具有USB功能之主機裝置900的方塊圖。主機裝置900包括無線介面910、處理器920及記憶體930。無線介面910耦接至處理器920,且可用以經由無線通信頻道來傳輸及/或接收資料信號。舉例而言,無線通信頻道可對應於IEEE 802.11無線頻道。對於一些實施例,無線介面910可以無線方式傳輸囊封於資料封包中的USB訊框。
記憶體930可包括資料儲存器932,其可用以對USB訊框緩衝以囊封並傳輸至一或多個用戶端裝置。此外,記憶體930亦可包括可儲存以下軟體模組的非暫時性電腦可讀儲存媒體(例如,一或多個非揮發性記憶體元件,諸如EPROM、EEPROM、快閃記憶體、硬碟機等):˙時脈同步模組934,其用以使主機時脈信號與用戶端裝置之本端時脈信號同步;˙訊框同步模組936,其用以使主機訊框計數器與用戶端裝置之本端訊框計數器同步;及˙USB囊封模組938,其用以將USB訊框編碼至資料封包中以供經由無線介面910傳輸。
每一軟體模組可包括令在由處理器920執行時可使裝置900執行對應功能的指令。因此,記憶體930之非暫時性電腦可讀儲存媒體可包括用於執行關於圖6及圖7所描述之操作之全部或一部分的指令。
耦接至記憶體930之處理器920可為能夠執行儲存於主機裝置900中(例如,記憶體930內)之一或多個軟體程式之指令之指令碼的任何合適處理器。舉例而言,處理器920可執行時脈同步模組934、訊框同步模組936及/或USB處理模組938。
時脈同步模組934可由處理器920執行以使主機時脈信號與用戶端裝置之本端時脈信號同步。舉例而言,如藉由處理器920執行之時脈同步模組934可產生時脈同步(Clk_Sync)資料以經由無線介面910傳輸至一或多個用戶端裝置。對於一些實施例,Clk_Sync資料可對應於基於主機裝置900之TSF計時器的TSF值(例如,藉由IEEE 802.11規範定義)。一或多個用戶端裝置中之每一者可接著使用Clk_Sync資料而使其本端時脈信號與主機時脈信號同步(例如,如上文關於圖4A所描述)。對於一些實施例,處理器920在執行時脈同步模組934中可週期性地將Clock_Sync資料(例如,在信標訊框)同時廣播至多個用戶端裝 置。
訊框同步模組936可由處理器920執行以使主機訊框計數器與用戶端裝置之本端訊框計數器同步。舉例而言,如藉由處理器920執行之訊框同步模組936可產生訊框計數(F_Count)值及媒體時間(M_Time)值以經由無線介面910傳輸至一或多個用戶端裝置。對於一些實施例,F_Count值可對應於主機訊框計數器在藉由M_Time值指示之特定時間的計數值。一或多個用戶端裝置中之每一者可接著基於F_Count值及M_Time值、本端時脈信號及主機裝置之傳輸速率而使其本端訊框計數器與主機訊框計數器同步(例如,如上文關於圖4B所描述)。對於一些實施例,處理器920在執行訊框同步模組936中可針對傳輸至一或多個用戶端裝置之每一USB訊框連續地更新(例如,遞增)主機訊框計數器。
USB處理模組938可由處理器920執行以將USB訊框編碼至資料封包中以經由無線介面910傳輸。舉例而言,如由處理器920執行之USB處理模組938可藉由將對應USB資料寫入至一或多個資料封包來囊封USB訊框以進行無線傳輸。對於一些實施例,囊封可根據WGA協定來執行。另外,對於一些實施例,處理器920在執行USB處理模組938中可產生待與USB訊框一起傳輸至一或多個用戶端裝置的處理請求訊息。如上文所描述,處理請求訊息可包括用於處理對應USB訊框(例如,基於特定USB訊框計數)的指令。
請注意,對於一些實施例,用戶端裝置800可執行主機裝置900之一或多個功能,且反之亦然。舉例而言,用戶端裝置800可包括主機裝置900的一或多個軟體模組(例如,934至938)。類似地,主機裝置900可包括用戶端裝置800的一或多個軟體模組(例如,844至848)。
在前述說明書中,本發明實施例已參考其特定例示性實施例加以描述。然而,顯然的,可對本發明實施例作出各種修改及改變而不 偏離如在附加申請專利範圍中所闡述的本發明之較廣範疇。因此,說明書及圖式應從說明性意義而約束性意義上看待。舉例而言,可以其他合適次序來執行圖5至圖7之流程圖中所描繪的方法步驟,可將多個步驟組合成單一步驟,及/或可省略一些步驟。
500‧‧‧操作USB用戶端裝置之例示性方法
501‧‧‧步驟
502‧‧‧步驟
503‧‧‧步驟
504‧‧‧步驟

Claims (40)

  1. 一種操作一網路上之一通用串列匯流排(USB)裝置的方法,該方法包含:經由該網路自一主機裝置接收一或多個USB訊框,其中該一或多個USB訊框基於與該網路相關聯之一通信協定而囊封於一或多個資料封包中;使用該通信協定之一時脈同步機制而使該USB裝置之一本端時脈信號與該主機裝置之一時脈信號同步;至少部分地基於該經同步之本端時脈信號來判定由該主機裝置傳輸的USB訊框之一數目;及至少部分地基於由該主機裝置傳輸的USB訊框之該數目來處理該一或多個USB訊框。
  2. 如請求項1之方法,其中該通信協定對應於一IEEE 802.11無線協定。
  3. 如請求項1之方法,其中使該本端時脈信號同步包含:自該主機裝置接收一或多個信標訊框,其中該等信標訊框中之至少一者包括一時序同步功能(TSF)值;及基於該所接收TSF值來調整該本端時脈信號。
  4. 如請求項1之方法,其進一步包含:將該一或多個USB訊框儲存於一資料緩衝器中。
  5. 如請求項4之方法,其中判定由該主機裝置傳輸的USB訊框之該數目包含:至少部分地基於儲存於該資料緩衝器中的該等USB訊框之一數目來更新一本端訊框計數器;及基於該本端訊框計數器來判定由該主機裝置傳輸的USB訊框之 該數目。
  6. 如請求項5之方法,其進一步包含:自該主機裝置接收一訊框計數值,其中該訊框計數值指示由該主機裝置傳輸的USB訊框之該數目;及自該主機裝置接收一媒體時間值,其中該媒體時間值指示記錄該訊框計數值所在的一時間。
  7. 如請求項6之方法,其中該訊框計數值及該媒體時間值係一起在該等USB訊框中之至少一者中接收。
  8. 如請求項6之方法,其中判定由該主機裝置傳輸的USB訊框之該數目進一步包含:至少部分地基於該本端時脈信號、該訊框計數值及該媒體時間值而使該本端訊框計數器與該主機裝置中之一USB訊框計數器同步。
  9. 如請求項8之方法,其中處理該一或多個USB訊框包含:在該本端訊框計數器達到一第一臨限值時,處理該一或多個USB訊框。
  10. 一種操作一網路上之一計算裝置的方法,該方法包含:基於與該網路相關聯之一通信協定而將一或多個通用串列匯流排(USB)訊框囊封於一或多個資料封包中;經由該網路將包括該一或多個經囊封USB訊框之該一或多個資料封包傳輸至一或多個用戶端裝置;及將允許該一或多個用戶端裝置處理該一或多個USB訊框的同步資料之一集合傳輸至該一或多個用戶端裝置,其中同步資料之該集合包括時脈同步資料,該時脈同步資料允許該一或多個用戶端裝置使各別本端時脈信號與該計算裝置之一時脈信號同步。
  11. 如請求項10之方法,其中該通信協定對應於一IEEE 802.11無線協定。
  12. 如請求項11之方法,其中傳輸該時脈同步資料包含:在一或多個信標訊框內廣播該時脈同步資料,其中該時脈同步資料包括一時序同步功能(TSF)值。
  13. 如請求項10之方法,其進一步包含:基於傳輸至該一或多個用戶端裝置的USB訊框之一數目來更新一USB訊框計數器。
  14. 如請求項13之方法,其中傳輸同步資料之該集合包括:將一訊框計數值傳輸至該一或多個用戶端裝置,其中該訊框計數值指示該USB訊框計數器之一當前值;及將一媒體時間值傳輸至該一或多個用戶端裝置,其中該媒體時間值指示記錄該訊框計數值所在的一時間。
  15. 如請求項14之方法,其進一步包含:將該訊框計數值及該媒體時間值一起囊封於該一或多個USB訊框中之至少一者中。
  16. 如請求項10之方法,其進一步包含:將一處理器請求傳輸至該一或多個用戶端裝置,其中該處理請求包括用以開始處理該一或多個USB訊框之一指令。
  17. 如請求項16之方法,其中該處理請求包括一訊框計數臨限值,且其中該一或多個用戶端裝置將在由該計算裝置傳輸的USB訊框之一數目等於該訊框計數臨限值時開始處理該一或多個USB訊框。
  18. 如請求項17之方法,其中同步資料之該集合允許該一或多個用戶端裝置同時開始處理該一或多個USB訊框。
  19. 一種通用串列匯流排(USB)裝置,其包含: 一接收器,其用以經由一網路自一主機裝置接收一或多個USB訊框,其中該一或多個USB訊框基於與該網路相關聯之一通信協定而囊封於一或多個資料封包中;一或多個處理器;及儲存指令之一記憶體,該等指令在由該一或多個處理器執行時使該USB裝置:使用該通信協定之一時脈同步機制而使該USB裝置之一本端時脈信號與該主機裝置之一時脈信號同步;至少部分地基於該經同步之本端時脈信號來判定由該主機裝置傳輸的USB訊框之一數目;及至少部分地基於由該主機裝置傳輸的USB訊框之該數目來處理該一或多個USB訊框。
  20. 如請求項19之USB裝置,其中該無線通信協定對應於一IEEE 802.11無線協定,且其中該接收器將進一步:自該主機裝置接收一或多個信標訊框,其中該等信標訊框中之至少一者包括一時序同步功能(TSF)值。
  21. 如請求項19之USB裝置,其中用以使該本端時脈信號與該主機裝置之該時脈信號同步之該等指令的執行使該USB裝置:基於該所接收TSF值來調整該本端時脈信號。
  22. 如請求項19之USB裝置,其進一步包含:一資料緩衝器,其用以儲存該一或多個USB訊框。
  23. 如請求項22之USB裝置,其中用以判定由該主機裝置傳輸的USB訊框之該數目之該等指令的執行使該USB裝置:至少部分地基於儲存於該資料緩衝器中的該等USB訊框之一數目來更新一本端訊框計數器;且基於該本端訊框計數器來判定由該主機裝置傳輸的USB訊框之 該數目。
  24. 如請求項23之USB裝置,其中該等指令之該執行進一步使該USB裝置:自該主機裝置接收一訊框計數值,其中該訊框計數值指示由該主機裝置傳輸的USB訊框之一數目;且自該主機裝置接收一媒體時間值,其中該媒體時間值指示記錄該訊框計數值所在的一時間。
  25. 如請求項24之USB裝置,其中該訊框計數值及該媒體時間值係一起在該一或多個USB訊框中之至少一者中接收。
  26. 如請求項24之USB裝置,其中用以判定由該主機裝置傳輸的USB訊框之該數目之該等指令的執行使該USB裝置:至少部分地基於該本端時脈信號、該訊框計數值及該媒體時間值而使該本端訊框計數器與該主機裝置中之一USB訊框計數器同步。
  27. 如請求項26之USB裝置,其中用以處理該一或多個USB訊框之該等指令的執行使該USB裝置:在該本端訊框計數器達到一第一臨限值時,處理該一或多個USB訊框。
  28. 一種計算裝置,其包含:一或多個處理器;儲存指令之一記憶體,該等指令在由該一或多個處理器執行時使該計算裝置基於與一網路相關聯之一通信協定而將一或多個通用串列匯流排(USB)訊框囊封於一或多個資料封包中;及一傳輸器,其用以:經由該網路將包括該一或多個經囊封USB訊框之該一或多個資料封包傳輸至該一或多個用戶端裝置;及 將允許該一或多個用戶端裝置處理該一或多個USB訊框的同步資料之一集合傳輸至該一或多個用戶端裝置,其中同步資料之該集合包括時脈同步資料,該時脈同步資料允許該一或多個用戶端裝置使各別本端時脈信號與該計算裝置之一時脈信號同步。
  29. 如請求項28之計算裝置,其中該通信協定對應於一IEEE 802.11無線協定,且其中該傳輸器將藉由以下操作來傳輸該時脈同步資料:在一或多個信標訊框內廣播該時脈同步資料,其中該時脈同步資料包括一時序同步功能(TSF)值。
  30. 如請求項28之計算裝置,其中該等指令之執行進一步使該計算裝置:基於傳輸至該一或多個用戶端裝置的USB訊框之一數目來更新一USB訊框計數器。
  31. 如請求項30之計算裝置,其中該傳輸器將藉由以下操作來傳輸同步資料之該集合:將一訊框計數值傳輸至該一或多個用戶端裝置,其中該訊框計數值指示該USB訊框計數器之一當前值;及將一媒體時間值傳輸至該一或多個用戶端裝置,其中該媒體時間值指示記錄該訊框計數值所在的一時間。
  32. 如請求項31之計算裝置,其中該等指令之執行進一步使該計算裝置:將該訊框計數值及該媒體時間值一起囊封於該一或多個USB訊框中之至少一者中。
  33. 如請求項28之計算裝置,其中該等指令之執行進一步使得該計算裝置: 產生一處理請求,其中該處理請求包括用以開始處理該一或多個USB訊框之一指令。
  34. 如請求項33之計算裝置,其中該傳輸器將進一步:將該處理請求傳輸至該一或多個用戶端裝置。
  35. 如請求項34之計算裝置,其中該處理請求包括一訊框計數臨限值,且其中該一或多個用戶端裝置將在由該計算裝置傳輸的USB訊框之一數目等於該訊框計數臨限值時開始處理該一或多個USB訊框。
  36. 如請求項35之計算裝置,其中同步資料之該集合允許該一或多個用戶端裝置同時開始處理該一或多個USB訊框。
  37. 一種含有程式指令之電腦可讀儲存媒體,該等程式指令在由提供於一通用串列匯流排(USB)裝置內之一處理器執行時使該USB裝置:經由一網路自一主機裝置接收一或多個USB訊框,其中該一或多個USB訊框基於與該網路相關聯之一通信協定而囊封於一或多個資料封包中;使用該通信協定之一時脈同步機制而使該USB裝置之一本端時脈信號與該主機裝置之一時脈信號同步;至少部分地基於該經同步之本端時脈信號來判定由該主機裝置傳輸的USB訊框之一數目;且至少部分地基於由該主機裝置傳輸的USB訊框之該數目來處理該一或多個USB訊框。
  38. 一種含有程式指令之電腦可讀儲存媒體,該等程式指令在由一計算裝置內之一處理器執行時使得該計算裝置:基於與一網路相關聯之一通信協定而將一或多個通用串列匯流排(USB)訊框囊封於一或多個資料封包中; 經由該網路將包括該一或多個經囊封USB訊框之該一或多個資料封包傳輸至一或多個用戶端裝置;且將允許該一或多個用戶端裝置處理該一或多個USB訊框的同步資料之一集合傳輸至該一或多個用戶端裝置,其中同步資料之該集合包括時脈同步資料,該時脈同步資料允許該一或多個用戶端裝置使各別本端時脈信號與該計算裝置之一時脈信號同步。
  39. 一種通用串列匯流排(USB)裝置,其包含:用於經由一網路自一主機裝置接收一或多個USB訊框的構件,其中該一或多個USB訊框基於與該網路相關聯之一通信協定而囊封於一或多個資料封包中;用於使用該通信協定之一時脈同步機制而使該USB裝置之一本端時脈信號與該主機裝置之一時脈信號同步的構件;用於至少部分地基於該經同步之本端時脈信號來判定由該主機裝置傳輸的USB訊框之一數目的構件;及用於至少部分地基於由該主機裝置傳輸的USB訊框之該數目來處理該一或多個USB訊框的構件。
  40. 一種計算裝置,其包含:用於基於與一網路相關聯之一通信協定而將一或多個通用串列匯流排(USB)訊框囊封於一或多個資料封包中的構件;用於經由該網路將包括該一或多個經囊封USB訊框之該一或多個資料封包傳輸至一或多個用戶端裝置的構件;及用於將允許該一或多個用戶端裝置處理該一或多個USB訊框的同步資料之一集合經由該無線網路傳輸至該一或多個用戶端裝置,其中同步資料之該集合包括時脈同步資料,該時脈同步資料允許該一或多個用戶端裝置使各別本端時脈信號與該計算裝置之一時脈信號同步。
TW103117039A 2013-05-15 2014-05-14 用於WiFi串列匯流排之基於媒體時間之USB訊框計數器同步 TWI552558B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361823805P 2013-05-15 2013-05-15
US14/270,124 US9830298B2 (en) 2013-05-15 2014-05-05 Media time based USB frame counter synchronization for Wi-Fi serial bus

Publications (2)

Publication Number Publication Date
TW201448539A true TW201448539A (zh) 2014-12-16
TWI552558B TWI552558B (zh) 2016-10-01

Family

ID=51896736

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103117039A TWI552558B (zh) 2013-05-15 2014-05-14 用於WiFi串列匯流排之基於媒體時間之USB訊框計數器同步

Country Status (9)

Country Link
US (1) US9830298B2 (zh)
EP (1) EP2997485B1 (zh)
JP (1) JP6333963B2 (zh)
KR (1) KR102249244B1 (zh)
CN (1) CN105247500B (zh)
AR (1) AR099254A1 (zh)
ES (1) ES2638212T3 (zh)
TW (1) TWI552558B (zh)
WO (1) WO2014186179A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111290984A (zh) * 2018-12-07 2020-06-16 新唐科技股份有限公司 通用序列总线装置及其操作方法

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150026505A1 (en) * 2013-07-17 2015-01-22 Kabushiki Kaisha Toshiba Storage device, storage system, and background processing execution method
US9723610B2 (en) * 2015-04-07 2017-08-01 Qualcomm Incorporated Multi-layer timing synchronization framework
JP6534913B2 (ja) * 2015-11-06 2019-06-26 日立オートモティブシステムズ株式会社 情報処理装置および不正メッセージ検知方法
US10095653B2 (en) * 2016-04-02 2018-10-09 Intel Corporation Apparatuses, systems, and methods for accurately measuring packet propagation delays through USB retimers
US10929314B2 (en) * 2016-07-29 2021-02-23 Razer (Asia-Pacific) Pte. Ltd. Interface devices, methods for controlling an interface device, and computer-readable media
US10915490B2 (en) 2018-02-15 2021-02-09 Qualcomm Incorporated Audio streams over peripheral component interconnect (PCI) express (PCIE) links
KR20190119400A (ko) * 2018-04-12 2019-10-22 (주)에프씨아이 비콘 신호의 수신 시간을 효율적으로 추정하기 위한 방법 및 이를 위한 수신 장치
DE102018206934A1 (de) 2018-05-04 2019-11-07 Continental Automotive Gmbh Gateway zur Datenkommunikation in einem Fahrzeug
US10896106B2 (en) 2018-05-10 2021-01-19 Teradyne, Inc. Bus synchronization system that aggregates status
CN115913442A (zh) * 2019-01-22 2023-04-04 华为技术有限公司 通信方法和光模块
US11245985B2 (en) * 2019-03-27 2022-02-08 Microsoft Technology Licensing, Llc Architecture for USB-synchronized array of speakers
EP3987731A4 (en) * 2019-06-18 2022-05-18 Razer (Asia-Pacific) Pte. Ltd. METHOD AND APPARATUS FOR OPTIMIZING INPUT LATENCY IN A WIRELESS HUMAN INTERFACE SYSTEM
CN110768739B (zh) * 2019-09-27 2021-04-20 上海鹰钛智能科技有限公司 一种同步串行控制系统及方法
CN114780469A (zh) * 2022-06-24 2022-07-22 浙江地芯引力科技有限公司 时钟频率校准装置、数据芯片以及时钟频率校准方法
US20230239819A1 (en) * 2023-03-28 2023-07-27 Intel Corporation Enhanced time synchronization and coordination in wireless networks

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5943328A (en) * 1996-08-13 1999-08-24 Lucent Technologies Inc. Frame counter for synchronized communication
JP3045985B2 (ja) * 1997-08-07 2000-05-29 インターナショナル・ビジネス・マシーンズ・コーポレイション 接続確立方法、通信方法、状態変化伝達方法、状態変化実行方法、無線装置、無線デバイス、及びコンピュータ
US6389029B1 (en) * 1998-11-10 2002-05-14 Nortel Networks Limited Local area network incorporating universal serial bus protocol
US6978412B1 (en) * 1999-08-16 2005-12-20 Advanced Micro Devices, Inc. Method and apparatus for adaptive frame tracking
US6678747B2 (en) 1999-08-23 2004-01-13 Honeywell International Inc. Scalable data collection and computing apparatus
US6934752B1 (en) * 2000-03-23 2005-08-23 Sharewave, Inc. Quality of service extensions for multimedia applications in wireless computer networks
US7734758B1 (en) 2000-07-19 2010-06-08 Cisco Technology, Inc. USB encapsulation for network transmission
US7065036B1 (en) * 2001-03-19 2006-06-20 Cisco Systems Wireless Networking (Australia) Pty Limited Method and apparatus to reduce latency in a data network wireless radio receiver
US6898652B2 (en) * 2001-08-22 2005-05-24 General Atomics Wireless device attachment and detachment system, apparatus and method
EP1433071B1 (en) 2001-09-28 2010-08-18 Nxp B.V. Bus system and bus interface for connection to a bus
EP2161666A3 (en) 2002-07-17 2010-05-26 Chronologic Pty Ltd Synchronized multichannel universal serial bus
US7284081B2 (en) 2004-01-27 2007-10-16 Atmel Corporation Method and system for routing data between USB ports
US7668243B2 (en) * 2004-05-18 2010-02-23 Texas Instruments Incorporated Audio and video clock synchronization in a wireless network
US7149839B2 (en) * 2004-12-03 2006-12-12 Microsoft Corporation Wireless USB hardware scheduling
US8560753B1 (en) * 2005-03-30 2013-10-15 Teradici Corporation Method and apparatus for remote input/output in a computer system
US7406476B1 (en) * 2005-04-04 2008-07-29 Apple Inc. Updating a data structure
US7539889B2 (en) * 2005-12-30 2009-05-26 Avega Systems Pty Ltd Media data synchronization in a wireless network
JP2007194791A (ja) * 2006-01-18 2007-08-02 Kawasaki Microelectronics Kk データ転送装置
US8069294B2 (en) * 2006-03-30 2011-11-29 Intel Corporation Power-optimized frame synchronization for multiple USB controllers with non-uniform frame rates
US20070294456A1 (en) * 2006-06-16 2007-12-20 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Data communication interface and communication devices incorporating same
JP4835345B2 (ja) * 2006-09-19 2011-12-14 ソニー株式会社 無線通信装置、無線通信方法、無線通信システムおよびコンピュータプログラム
US7697522B2 (en) * 2006-11-20 2010-04-13 Broadcom Corporation Systems and methods for aggregation of packets for transmission through a communications network
JP4935345B2 (ja) * 2006-12-25 2012-05-23 ソニー株式会社 コンテンツ再生システム、再生装置、再生制御方法及びプログラム
CA2677655A1 (en) * 2007-05-15 2008-11-20 Chronologic Pty Ltd. Usb based synchronization and timing system
KR101141276B1 (ko) * 2007-06-04 2012-05-04 삼성전자주식회사 무선 usb를 이용하여 디바이스와 접속 가능한 호스트장치의 통신 방법 및 호스트 장치와 디바이스를 포함하는무선 접속 시스템
JP2009003677A (ja) * 2007-06-21 2009-01-08 Nec Electronics Corp Usbホスト、usbスレーブ、無線通信方式、及びデータ転送方法
CN102089932B (zh) * 2008-07-10 2015-04-22 马维尔国际贸易有限公司 用于降低无线设备中的功耗的系统和方法
WO2010007578A1 (en) * 2008-07-17 2010-01-21 Jungo Ltd. Cableless usb connectivity over ieee 802.11 networks
US8503596B2 (en) 2008-10-02 2013-08-06 Aliphcom Wireless clock regeneration and synchronization
US20140075567A1 (en) * 2009-01-28 2014-03-13 Headwater Partners I Llc Service Processor Configurations for Enhancing or Augmenting System Software of a Mobile Communications Device
JP5418003B2 (ja) * 2009-06-12 2014-02-19 ソニー株式会社 情報処理装置、同期補正方法及びコンピュータプログラム
US8493992B2 (en) * 2010-02-04 2013-07-23 Texas Instruments Incorporated Interrelated WiFi and USB protocols and other application framework processes, circuits and systems
GB201116521D0 (en) * 2011-09-23 2011-11-09 Imagination Tech Ltd Method and apparatus for time synchronisation in wireless networks
EP2608444B1 (en) * 2011-12-19 2014-10-22 GN Netcom A/S Method and system for synchronizing isochronous usb audio data to a rf communication device clock
WO2014139178A1 (zh) * 2013-03-15 2014-09-18 华为技术有限公司 一种光通道数据单元业务传送装置和方法
US9532043B2 (en) * 2013-08-02 2016-12-27 Blackberry Limited Wireless transmission of real-time media
US9412332B2 (en) * 2013-12-20 2016-08-09 Blackberry Limited Method for wirelessly transmitting content from a source device to a sink device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111290984A (zh) * 2018-12-07 2020-06-16 新唐科技股份有限公司 通用序列总线装置及其操作方法
TWI772574B (zh) * 2018-12-07 2022-08-01 新唐科技股份有限公司 通用序列匯流排裝置及其操作方法

Also Published As

Publication number Publication date
TWI552558B (zh) 2016-10-01
KR102249244B1 (ko) 2021-05-06
JP2016526325A (ja) 2016-09-01
JP6333963B2 (ja) 2018-05-30
WO2014186179A1 (en) 2014-11-20
CN105247500B (zh) 2018-04-27
EP2997485A1 (en) 2016-03-23
CN105247500A (zh) 2016-01-13
AR099254A1 (es) 2016-07-13
US20140344490A1 (en) 2014-11-20
ES2638212T3 (es) 2017-10-19
US9830298B2 (en) 2017-11-28
EP2997485B1 (en) 2017-06-14
KR20160008602A (ko) 2016-01-22

Similar Documents

Publication Publication Date Title
TWI552558B (zh) 用於WiFi串列匯流排之基於媒體時間之USB訊框計數器同步
US10644867B2 (en) Method, device, and system for synchronizing clocks of processors
US8023976B2 (en) Method and system for accurate clock synchronization for communication networks
US11245483B2 (en) Packet processing method and network device
US11736978B2 (en) Method and apparatus for receiving CPRI data stream, method and apparatus for receiving ethernet frame, and system
JP6214008B2 (ja) 時間認識デバイス間で時間情報を通信する方法および装置
WO2014173267A1 (zh) 时间戳生成方法、装置及系统
TW201419906A (zh) 橫越多頻道之訊框同步
WO2015196685A1 (zh) 时钟同步方法及装置
JP2018505576A (ja) 複数のシンクデバイスへのワイヤレスストリーミング伝送のタイミングを同期する技法
JP2016526325A5 (zh)
US20110149998A1 (en) Method and system for timestamp inclusion in virtual local area network tag
JP2008527894A (ja) 受信装置のクロックを100ナノ秒未満で送信装置のクロックに同期させる方法
US20130336237A1 (en) Adapter, base band processing unit and base station system
WO2016164126A1 (en) Multi-layer timing synchronization framework
CN103546273A (zh) 基于ptp帧的频率同步装置及方法
US11064452B2 (en) Wireless apparatus, processing method for a wireless apparatus, and program
EP2774291B1 (en) Services, systems and methods for precisely estimating a delay within a network
Duraipandian et al. Synchronized real time audio streaming over ethernet in embedded systems