TWI641954B - 延伸等時傳輸通用序列匯流排的傳輸範圍之方法 - Google Patents

延伸等時傳輸通用序列匯流排的傳輸範圍之方法 Download PDF

Info

Publication number
TWI641954B
TWI641954B TW105143432A TW105143432A TWI641954B TW I641954 B TWI641954 B TW I641954B TW 105143432 A TW105143432 A TW 105143432A TW 105143432 A TW105143432 A TW 105143432A TW I641954 B TWI641954 B TW I641954B
Authority
TW
Taiwan
Prior art keywords
usb
data
data packet
buffer
extension device
Prior art date
Application number
TW105143432A
Other languages
English (en)
Other versions
TW201723871A (zh
Inventor
昕波 李
王革
Original Assignee
宏正自動科技股份有限公司
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 宏正自動科技股份有限公司 filed Critical 宏正自動科技股份有限公司
Publication of TW201723871A publication Critical patent/TW201723871A/zh
Application granted granted Critical
Publication of TWI641954B publication Critical patent/TWI641954B/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
    • 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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4045Coupling between buses using bus bridges where the bus bridge performs an extender function
    • 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/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • 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/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • 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)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)

Abstract

一種延伸等時傳輸通用序列匯流排(USB)的傳輸範圍之方法,藉由提供分別耦合至USB主機及USB裝置且彼此透過非USB纜線耦合之局域延伸器及遠端延伸器。在收到來自主機之第一令牌信號(In-token)後,局域延伸器將內含具有非零長度之資料酬載的第一資料封包傳送至主機;上述資料係由局域延伸器產生或先前從USB裝置接收並儲存於緩衝器中。局域延伸器透過遠端延伸器將第一令牌信號轉發至USB裝置;USB裝置產生內含所要求之資料的第二資料封包並將其透過遠端延伸器傳送至局域延伸器作為回應。局域延伸器儲存第二資料封包並將其傳送至主機以響應來自主機之第二令牌信號。

Description

延伸等時傳輸通用序列匯流排的傳輸範圍之方法
本發明係有關於通用序列匯流排(USB,Universal Serial Bus)傳輸方法,尤其係有關於延伸USB主機與USB裝置之間的傳輸範圍之方法以用於等時傳輸。
電子裝置之間利用USB協定的資料傳輸係具有受限的範圍,一般為幾公尺。可延伸USB資料傳輸範圍之延伸裝置已經被敘述過。例如,美國專利公告號第6,381,666號敘述了「一種可用以延伸標準USB裝置之範圍的方法及設備。一延伸範圍集線器係予以提供,其包含一局域擴充器(LEX,Local Expander)及遠端擴充器(REX,Remote Expander),其最遠可相隔例如一百公尺」(第6,381,666號專利之摘要)。此專利解釋了受限傳輸範圍的主要原因在於「當主機控制器指示一特定裝置將其資訊放置到共享匯流排上時,所要求的資訊必須在產生該指示的該主機控制器之十六『位元時間』內由主機控制器接收。實際上,如此確保了USB規格可藉由限制沒有傳輸資訊的期間而提供高效率的頻寬使用。然而,這些要求亦限制了USB裝置之實際範圍…」(同一專利之第2欄第17-43行)之要求。第6,381,666號專利描述了一種在一延伸距離上的主機控制器與周邊裝置之間傳送等時USB資料串流之方法,其包含下列步驟:「a.從主機控制器饋入一第一原始向外數位訊號至局域擴充單元,以及響應判斷出局域擴充單元尚未擁有該向外數位訊號所要求之資料,傳遞具有長度為零之酬載的綜合資料封包至主機控制器;b.在一訊號分配系統上傳送該向外數位訊號以作為一向外傳輸訊號;c.接收該向外傳輸訊號以作為位於遠端擴充單元之一第一原始向外數位訊號;d.從該遠端擴充器傳遞該第一原始向外數位訊號至至少一個周邊裝置;e.於該遠端擴充器接收來自該至少一個周邊裝置的一回應數位訊號;f.在該訊號分配系統上傳送該回應數位訊號以作為一回應傳輸訊號;g.接收該回應傳輸 訊號以作為位於該局域擴充器之一回應數位訊號;h.儲存該回應數位訊號以作為已儲存的回應數位訊號,直到接收到下一個來自該主機控制器之原始向外數位訊號,其中下一個訊號係與該第一原始向外數位訊號相同或類似;以及i.轉發該已儲存的回應數位訊號至該主機控制器,以響應該下一個原始向外數位訊號。」(同一專利之再審查專利之請求項1;亦參考圖12及圖9)。步驟a.所提到的內含有長度為零之酬載的綜合資料封包可用以滿足USB協定之時序要求,同時不會對協定所攜帶之實際資訊造成干擾(同一專利之第15欄第58-63行)。第6,381,666號專利描述了兩個其他的用以傳送等時USB資料串流之方法;在這兩個方法中,響應判斷出局域擴充單元尚未擁有該向外數位訊號所要求之資料,局域擴充器不傳送回應或者傳送否定應答封包(negative acknowledgement(NaK)packet)至主機控制器(分別參照同一專利之圖8及圖19)。
本發明係針對用以延伸等時USB傳輸之傳輸範圍的方法及相關設備。
本發明之其他特徵及優點將會在下列描述中提出,從下列描述將得以清楚瞭解部份特徵或優點,或者藉由實施本發明可得知本發明之其他特徵及優點。本發明之目的及其他優點將會藉由下列書面說明及其申請專利範圍與後附圖式中所特別指出的結構所實現及達到。
為了達到這些及/或其他目的,如本說明書所具體說明及廣泛地描述,本發明提供一種延伸通用序列匯流排(USB)主機與等時USB傳輸裝置之間的傳輸範圍以用於等時資料傳輸之方法,其包含:(a)提供第一延伸裝置,上述第一延伸裝置係透過第一USB纜線耦合至上述USB主機;(b)提供第二延伸裝置,上述第二延伸裝置係透過第二USB纜線耦合至上述等時USB傳輸裝置;(c)透過非USB纜線將上述第一延伸裝置及上述第二延伸裝置彼此耦合;(d)上述USB主機傳送第一資料要求;以及(e)為響應接收到上述第一資料要求,上述第一延伸裝置傳送第一資料封包至上述USB主機,上述第一資料封包內含具有非零長度之資料酬載,其中上述資料酬載係為上述第一延伸裝置所產生的資料或為先前從上述等時USB傳輸裝置接收的資料,上述先前從上述等時USB傳輸裝置接收的資料係來自先前的資料通訊對話且儲存於上述第一延伸裝置之緩衝器內。
於另一觀點中,本發明提供一種用於等時資料傳輸之方法,上述方法實施於通用序列匯流排(USB)資料傳輸系統中,上述系統包含USB主機、等時USB傳輸裝置、透過第一USB纜線耦合至上述USB主機之第一延伸裝置、透過第二USB纜線耦合至上述等時USB傳輸裝置之第二延伸裝置,上述第一延伸裝置及上述第二延伸裝置係透過非USB纜線彼此耦合,上述方法包含:(a)上述USB主機傳送第一資料要求至上述第一延伸裝置;(b)為響應上述第一資料要求,上述第一延伸裝置傳送第一資料封包至上述USB主機,上述第一資料封包內含具有非零長度之第一資料酬載,其中上述第一資料酬載係為上述第一延伸裝置所產生的資料或為先前從上述等時USB傳輸裝置接收的資料,上述先前從上述等時USB傳輸裝置接收的資料係來自先前的資料通訊對話且儲存於上述第一延伸裝置之緩衝器內;(c)上述第一延伸裝置轉發上述第一資料要求至上述第二延伸裝置;(d)上述第二延伸裝置轉發上述第一資料要求至上述等時USB傳輸裝置;(e)上述等時USB傳輸裝置產生第二資料封包以響應上述第一資料要求並將上述第二資料封包傳送至上述第二延伸裝置;(f)上述第二延伸裝置將上述第二資料封包轉發至上述第一延伸裝置;(g)上述第一延伸裝置將上述第二資料封包儲存於上述緩衝器中;(h)上述USB主機傳送一第二資料要求至上述第一延伸裝置;以及(i)為響應上述第二資料要求,上述第一延伸裝置將儲存於上述緩衝器中之上述第二資料封包傳送至上述USB主機。
於另一觀點中,本發明提供一種電腦程式產品,其包含電腦可使用非暫態媒體(例如記憶體或儲存裝置),其具有電腦可讀程式碼內嵌於其中以用於控制資料處理設備,上述電腦可讀程式碼係配置成使得上述資料處理設備執行上述方法。
應瞭解者為,上述一般性的描述及下述詳細敘述係為例示性且解釋性的,且意欲進一步解釋申請專利範圍所請之本發明。
10‧‧‧USB主機
20‧‧‧第一延伸裝置/局域延伸器
21、41‧‧‧USB裝置控制器
22‧‧‧緩衝器
23‧‧‧處理器
24‧‧‧USB介面電路
25‧‧‧介面電路
30‧‧‧第二延伸裝置/遠端延伸器
11、31‧‧‧USB主機控制器
40‧‧‧USB裝置
50‧‧‧第一USB纜線
60‧‧‧非USB纜線/通訊纜線
70‧‧‧第二USB纜線
S11、S12、S21、S22、S23、S24、S31、S32、S41、S42、S221、S222、S223、S224‧‧‧步驟
第一圖係根據本發明之一實施例概要性地顯示通用序列匯流排(USB)延伸系統。
第二圖、第三圖及第四圖係根據本發明之一實施例概要性地顯示通用序列匯流排通訊方法。
第一圖係根據本發明之一實施例概要性地顯示一通用序列匯流排(USB)延伸系統,其使得在延伸範圍上之等時通用序列匯流排(USB)資料傳輸成為可能。USB通訊系統包含USB主機10、USB裝置40、第一延伸裝置(局域延伸器)20以及第二延伸裝置(遠端延伸器)30,其中USB主機10包含USB主機控制器11,USB裝置40包含USB裝置控制器41。上述USB主機10可為例如個人電腦、伺服器、遊戲機等。上述USB裝置40係為等時USB傳輸裝置例如遊戲控制器、USB麥克風等。上述第一延伸裝置20係透過第一USB纜線50耦合至USB主機10,上述第二延伸裝置30係透過第二USB纜線70耦合至USB裝置40,而第一延伸裝置20及第二延伸裝置30係藉由非USB之通訊纜線60例如5類雙絞線(CAT-5)或其他纜線彼此耦合。為了方便,第一延伸裝置20係稱為局域延伸器,而第二延伸裝置30係稱為遠端延伸器。
第一USB纜線50及第二USB纜線70之長度係在根據USB標準的限制之內,而通訊纜線60之長度可以較USB標準所指定之長度長得多。因此,藉由使用本發明所描述之方法,USB主機10與USB裝置40之間的距離可延伸超過USB標準所指定之限制。
雖然第二圖僅顯示一個USB裝置40,但遠端延伸器30可包含USB集線器,其可耦合至多個USB裝置40。
局域延伸器20包含USB裝置控制器21,其透過第一USB纜線50與USB主機10之USB主機控制器11通訊,使得局域延伸器20相對於USB主機10作用為USB裝置。遠端延伸器30包含USB主機控制器31,其透過第二USB纜線70與USB裝置40之USB裝置控制器41通訊,使得遠端延伸器30相對於USB裝置40作用為USB主機。局域延伸器20中之USB裝置控制器21及遠端延伸器30中之USB主機控制器31可以積體電路(integrated circuit,IC)、特定應用積體電路(ASIC,application specific IC)、現場可程式化閘陣列(FPGA,field programmable gate arrays)等實施。局域延伸器20進一步包含USB介面電路24,用以透過第一USB纜線50傳送及接收信號,以及介面電路25,用以透過非USB纜線60傳送及接收信號。遠端延伸器30包含類似的介面電路(圖未示)。
實施於第一圖的系統中之一等時USB資料傳輸方法係參照第二圖及第三圖進行說明。於步驟S11,USB主機10藉由透過第一USB纜線50傳 送對等時資料之第一資料要求(例如是令牌信號,In-token)而初始化等時資料傳輸。上述要求將USB裝置40指定為目標裝置。局域延伸器20透過通訊纜線60將來自USB主機10之第一資料要求轉發至遠端延伸器30(步驟S21)。
同時,局域延伸器20藉由透過第一USB纜線50傳送第一「偽」資料封包至USB主機而回應來自USB主機10之資料要求(步驟S22)。此回應係發生在USB標準所要求之時間限制之內。偽資料封包內含具有非零長度之「偽」酬載;此偽資料係由局域延伸器20所獲得,其方式將於下更加詳細地說明。偽資料封包內含封包識別(packet identified,PID)於其開頭,以及循環冗餘檢測(CRC,cyclic redundancy check)於其末尾。由局域延伸器20所傳送至USB主機10以響應第一資料要求之第一資料封包中所內含之資料係為偽造的,其意思是說,該資料並非由USB裝置40響應於接收第一資料要求所提供。USB主機10以正常方式處理所接收到之第一資料封包(步驟S12)。換言之,其與USB裝置40無關,因為第一資料封包內之資料並不是由USB裝置40所產生。
遠端延伸器30接收來自局域延伸器20之第一資料要求,且透過第二USB纜線70將其轉發至USB裝置40(步驟S31)。響應接收到第一資料要求(步驟S41),USB裝置40產生內含所要求之資料的資料封包(第二資料封包),並透過第二USB纜線70傳送之(步驟S42)。遠端延伸器30接收到第二資料封包且透過通訊纜線60將其轉發至局域延伸器20(步驟S32)。
在接收到來自遠端延伸器30之第二資料封包後,局域延伸器20遂將資料儲存於其緩衝器22(步驟S23)。當局域延伸器20接收到USB主機10所發出的(步驟S11,重複)指定同一目標裝置之下一個資料要求(第二資料要求)時,局域延伸器20將緩衝器22中所儲存之第二資料封包傳送至USB主機10(步驟S24)。局域延伸器20亦將第二資料要求轉發至遠端延伸器30(步驟S21,重複),以及遠端延伸器30及USB裝置40藉由重複步驟S31、S41、S42及S32而回應第二資料要求。因此,由USB裝置40所產生以響應第二資料要求之第三資料封包係由局域延伸器20所接收。局域延伸器20將第三資料封包儲存於其緩衝器(步驟S23,重複)。本方法藉由重複步驟S11、S24、S21、S31、S41、S42、S32及S23而繼續。在每一次的重複中,USB裝置40所產生且儲存於緩衝器22中以響應先前的資料要求之資料封包係傳送至USB主機10以作為對目前的資料要求之回應。
於步驟S22中,第一(偽)資料封包中之資料酬載係從局域延伸器20之緩衝器22獲得;該資料可為局域延伸器20之處理器23(例如中央處理器(CPU))所隨機產生且放入緩衝器22的資料,或者其可為從先前的等時資料通訊對話所遺留在緩衝器22中的資料,上述先前的等時資料通訊對話係對同一USB裝置進行,上述先前的等時資料通訊對話例如是早於USB主機10所發出的第一資料要求。於USB裝置40為麥克風之情況中,當麥克風在被關閉後再被打開時,緩衝器22內含對應於在先前的通訊對話之末尾所發生之聲音的音效資料。在習知之USB麥克風裝置中,緩衝器在麥克風開啟時會被清除。然而,為了實施本實施例之方法,本發明局域延伸器20中之緩衝器22並不會被清除,或者不會完全清除;更確切的說,保留在緩衝器22中之資料係用以構成步驟S22中之第一(偽)資料封包。在本發明等時USB資料傳輸中,沒有要求所傳送之資料的內容要是「正確的」;USB主機10僅要求資料,並不核對接收到的資料之正確性。USB主機10上之應用程式可處理所接收到之資料,即使未接收到或未正確地接收到某些所要求的資料。如上所述,在本發明中,緩衝器22內用以構成步驟S22中之第一資料封包的資料可來自於先前的音訊通訊對話。如此一般不會對麥克風的功能有不利影響,乃因第一資料封包中傳送至USB主機10的資料將會造成非常短暫期間(例如幾微秒)的噪音,其對使用者而言幾乎聽不見。
第四圖係顯示當局域延伸器接收到來自USB主機10之資料要求時由局域延伸器20之USB裝置控制器21所實施之程序(步驟S22)。USB裝置控制器21檢查緩衝器22以判斷來自目標USB裝置40(於令牌信號(In-token)的PID中所指定)之資料封包是否存在於緩衝器22中(步驟S221)。如以上所述,緩衝器22可內含來自先前的通訊對話源自於目標USB裝置40之資料。若資料存在於緩衝器22中(於步驟S222中的「是」),則USB裝置控制器21擷取此資料並使用該資料產生第一資料封包(步驟S222),並將該資料封包傳送至USB主機(步驟S223)。另一方面,若緩衝器22並不內含任何來自目標USB裝置40之資料(於步驟S221中的「否」),則USB裝置控制器21傳送中斷訊號或緩衝器空閒訊號至局域延伸器20之處理器23,以通知其緩衝器22為空閒狀態(步驟S224),並回到步驟S221以等待資料。為響應中斷訊號或緩衝器空閒訊號,處理器23會產生內含長度非零之酬載的資料封包,其中上述酬載可為隨機產生並儲存於緩衝器22中。在處理器23將上述資料放置在緩衝器22中之後,USB裝 置控制器21會執行步驟S222及S223以傳送資料封包至USB主機10。
於步驟S22之一替代性實作中,局域延伸器20之處理器23會監視用於目標USB裝置之緩衝器22的緩衝器空閒狀態。若用於目標USB裝置之緩衝器22係空閒的,則處理器23會產生內含長度非零之酬載的資料封包,並將其放置到緩衝器22中。因此,於步驟S221中,當USB裝置控制器21檢查緩衝器22時,於步驟S222及S223中緩衝器22將會內含資料封包且USB裝置控制器21將會擷取之並將其傳送至USB主機10。
於步驟S24中由USB裝置控制器21所實施以響應接收到來自USB主機10之第二資料要求的程序實際上係等同於步驟S22的程序;但於步驟S24中,由於局域延伸器20先前已經接收USB裝置40所產生之第二資料封包,故於步驟S221中緩衝器22將會內含資料,因此USB裝置控制器21將會傳送此資料封包至USB主機10。
應注意者為,於步驟S22及S24中,局域延伸器20之USB裝置控制器21所實施的功能,也就是藉由從緩衝器22擷取資料並將其傳送至USB主機10而回應來自USB主機10之資料要求,實際上可等同於習知USB裝置控制器所實施者。然而,若緩衝器22為空閒,則本發明之處理器23會將偽資料封包放置到緩衝器22中以達成步驟S22(亦即傳送具有偽資料酬載之資料封包至USB主機10)之結果。
本領域中具通常知識者將得以清楚瞭解,在不脫離本發明之精神或範圍之下,可對本發明之延伸等時傳輸USB的傳輸範圍之方法及相關設備做出若干修改及變更。因此,本發明意欲涵蓋來自於後附申請專利範圍之範圍內的修改及變更及其均等物。

Claims (9)

  1. 一種延伸通用序列匯流排(USB)主機與等時USB傳輸裝置之間的傳輸範圍以用於等時資料傳輸之方法,包含:(a)提供一第一延伸裝置,該第一延伸裝置係透過一第一USB纜線耦合至該USB主機;(b)提供一第二延伸裝置,該第二延伸裝置係透過一第二USB纜線耦合至該等時USB傳輸裝置;(c)透過一非USB纜線將該第一延伸裝置及該第二延伸裝置彼此耦合;(d)該USB主機傳送一第一資料要求;以及(e)為響應接收到該第一資料要求,該第一延伸裝置傳送一第一資料封包至該USB主機,該第一資料封包內含具有非零長度之一資料酬載,並內含正確的循環冗餘校驗(CRC)以響應該第一資料要求,其中該資料酬載係為該第一延伸裝置所產生的資料或為先前從該等時USB傳輸裝置接收的資料,該先前從該等時USB傳輸裝置接收的資料係來自先前的資料通訊對話且儲存於該第一延伸裝置之一緩衝器內。
  2. 如請求項1所述之方法,其中步驟(e)包含:該第一延伸裝置之一USB裝置控制器判斷該緩衝器是否內含來自於該等時USB傳輸裝置之一資料封包;若該緩衝器內含來自於該等時USB傳輸裝置之一資料封包,則該USB裝置控制器擷取該資料封包並將該資料封包傳送至該USB主機以作為該第一資料封包;以及若該緩衝器並不內含來自該等時USB傳輸裝置之資料封包,則該USB裝置控制器傳送一中斷訊號或一緩衝器空閒訊號至該第一延伸裝置之一處理器。
  3. 如請求項2所述之方法,其中步驟(e)更包含: 為響應接收到來自該USB裝置控制器之該中斷訊號或該緩衝器空閒訊號,該處理器產生一資料封包並將該資料封包儲存於該緩衝器中。
  4. 如請求項1所述之方法,其中步驟(e)包含:該第一延伸裝置之一處理器監視該緩衝器之一緩衝器空閒狀態;以及若該緩衝器係為空閒,則該處理器產生一資料封包且將該資料封包儲存於該緩衝器中。
  5. 如請求項1之方法,更包含:該第一延伸裝置轉發該第一資料要求至該第二延伸裝置;該第二延伸裝置轉發該第一資料要求至該等時USB傳輸裝置;該等時USB傳輸裝置產生一第二資料封包以響應該第一資料要求並將該第二資料封包傳送至該第二延伸裝置;該第二延伸裝置將該第二資料封包轉發至該第一延伸裝置;該第一延伸裝置將該第二資料封包儲存於該緩衝器中;以及為響應從該USB主機接收到之一第二資料要求,該第一延伸裝置將該第二資料封包傳送至該USB主機。
  6. 一種用於等時資料傳輸之方法,該方法實施於一通用序列匯流排(USB)資料傳輸系統中,該系統包含一USB主機、一等時USB傳輸裝置、透過一第一USB纜線耦合至該USB主機之一第一延伸裝置、透過一第二USB纜線耦合至該等時USB傳輸裝置之一第二延伸裝置,該第一延伸裝置及該第二延伸裝置係透過一非USB纜線彼此耦合,該方法包含:(a)該USB主機傳送一第一資料要求至該第一延伸裝置;(b)為響應該第一資料要求,該第一延伸裝置傳送一第一資料封包至該USB主機,該第一資料封包內含具有非零長度之一第一資料酬載,並內含正確的循環冗餘校驗(CRC)以響應該第一資料要求,其中該第一資料酬載係 為該第一延伸裝置所產生的資料或為先前從該等時USB傳輸裝置接收的資料,該先前從該等時USB傳輸裝置接收的資料係來自先前的資料通訊對話且儲存於該第一延伸裝置之一緩衝器內;(c)該第一延伸裝置轉發該第一資料要求至該第二延伸裝置;(d)該第二延伸裝置轉發該第一資料要求至該等時USB傳輸裝置;(e)該等時USB傳輸裝置產生一第二資料封包以響應該第一資料要求並將該第二資料封包傳送至該第二延伸裝置;(f)該第二延伸裝置將該第二資料封包轉發至該第一延伸裝置;(g)該第一延伸裝置將該第二資料封包儲存於該緩衝器中;(h)該USB主機傳送一第二資料要求至該第一延伸裝置;以及(i)為響應該第二資料要求,該第一延伸裝置將儲存於該緩衝器中之該第二資料封包傳送至該USB主機。
  7. 如請求項6所述之方法,其中步驟(b)包含:該第一延伸裝置之一USB裝置控制器判斷該緩衝器是否內含來自於該等時USB傳輸裝置之一資料封包;若該緩衝器內含來自於該等時USB傳輸裝置之一資料封包,則該USB裝置控制器擷取該資料封包並將該資料封包傳送至該USB主機以作為該第一資料封包;以及若該緩衝器並不內含來自該等時USB傳輸裝置之資料封包,則該USB裝置控制器傳送一中斷訊號或一緩衝器空閒訊號至該第一延伸裝置之一處理器。
  8. 如請求項7所述之方法,其中步驟(b)更包含:為響應接收到來自該USB裝置控制器之該中斷訊號或該緩衝器空閒訊號,該處理器產生一資料封包並將該資料封包儲存於該緩衝器中。
  9. 如請求項6所述之方法,其中步驟(b)包含: 該第一延伸裝置之一處理器監視該緩衝器之一緩衝器空閒狀態;以及若該緩衝器係為空閒,則該處理器產生一資料封包且將該資料封包儲存於該緩衝器中。
TW105143432A 2015-12-30 2016-12-27 延伸等時傳輸通用序列匯流排的傳輸範圍之方法 TWI641954B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/984,370 2015-12-30
US14/984,370 US10037297B2 (en) 2015-12-30 2015-12-30 Method of extending range of USB transmission for isochronous transfer

Publications (2)

Publication Number Publication Date
TW201723871A TW201723871A (zh) 2017-07-01
TWI641954B true TWI641954B (zh) 2018-11-21

Family

ID=59235585

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105143432A TWI641954B (zh) 2015-12-30 2016-12-27 延伸等時傳輸通用序列匯流排的傳輸範圍之方法

Country Status (3)

Country Link
US (1) US10037297B2 (zh)
CN (1) CN106933771B (zh)
TW (1) TWI641954B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10552355B2 (en) * 2017-10-03 2020-02-04 Icron Technologies Corporation Methods and devices for extending USB 3.0-compliant communication over an extension medium
US11709791B2 (en) * 2020-09-21 2023-07-25 Icron Technologies Corporation Techniques for deconflicting USB traffic in an extension environment
US11809358B2 (en) * 2020-10-30 2023-11-07 Icron Technologies Corporation USB device removal and ping intervention in an extension environment
US11809354B2 (en) * 2021-03-29 2023-11-07 Icron Technologies Corporation Buffer management for ISO in endpoints in USB extension systems
CN114244485B (zh) * 2021-12-03 2023-06-09 威创集团股份有限公司 一种usb信号远距离传输时的数据管理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6381666B1 (en) * 1999-02-19 2002-04-30 Igron Systems Inc. Method and apparatus for extending the range of the universal serial bus protocol
US20070239900A1 (en) * 2005-12-06 2007-10-11 Avocent Corporation Universal serial bus (USB) extension
TW201245968A (en) * 2011-03-23 2012-11-16 Avocent Corp Method and system for USB device virtualization
TW201301047A (zh) * 2011-06-23 2013-01-01 Apple Inc 可攜式電子裝置之介面延伸器

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5914877A (en) * 1996-10-23 1999-06-22 Advanced Micro Devices, Inc. USB based microphone system
US6191713B1 (en) * 1998-08-04 2001-02-20 Intel Corporation Conversion between serial bus cycles and parallel port commands using a state machine
US6571305B1 (en) * 2000-09-27 2003-05-27 Lantronix, Inc. System for extending length of a connection to a USB peripheral
CA2345596C (en) * 2001-04-27 2007-12-04 Icron Systems Inc. Method and apparatus for extending the range of the universal serial bus protocol
TWI296083B (en) * 2003-09-29 2008-04-21 Sharp Kk Communication controller, host-side controller, communication system, usb system, communication equipment, communication method, packet-based communication method, packet-based communication program, and storage medium
US7640378B2 (en) * 2005-03-11 2009-12-29 Icron Technologies Corporation Method and apparatus for improving the performance of USB mass storage devices in the presence of long transmission delays
US7587536B2 (en) * 2006-07-28 2009-09-08 Icron Technologies Corporation Method and apparatus for distributing USB hub functions across a network
US9015363B2 (en) * 2012-07-05 2015-04-21 Omron Management Center Of America, Inc. Method and apparatus for USB signaling via intermediate transports
CN103678211B (zh) * 2012-09-11 2016-07-13 龙迅半导体(合肥)股份有限公司 Usb接口的信号传输方法及其装置
CN103178872B (zh) * 2013-04-11 2016-03-16 江苏沁恒股份有限公司 通过以太网延长usb系统传输距离的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6381666B1 (en) * 1999-02-19 2002-04-30 Igron Systems Inc. Method and apparatus for extending the range of the universal serial bus protocol
US20070239900A1 (en) * 2005-12-06 2007-10-11 Avocent Corporation Universal serial bus (USB) extension
TW201245968A (en) * 2011-03-23 2012-11-16 Avocent Corp Method and system for USB device virtualization
TW201301047A (zh) * 2011-06-23 2013-01-01 Apple Inc 可攜式電子裝置之介面延伸器

Also Published As

Publication number Publication date
TW201723871A (zh) 2017-07-01
CN106933771B (zh) 2020-09-01
CN106933771A (zh) 2017-07-07
US20170192922A1 (en) 2017-07-06
US10037297B2 (en) 2018-07-31

Similar Documents

Publication Publication Date Title
TWI641954B (zh) 延伸等時傳輸通用序列匯流排的傳輸範圍之方法
EP3276481B1 (en) Nvme networked storage implementation method, terminal, server, and system
US9047418B2 (en) Methods and devices for extending USB 3.0-compliant communication
JP2018092577A5 (zh)
US9256564B2 (en) Techniques for improving throughput and performance of a distributed interconnect peripheral bus
CA2880979C (en) Usb 3.0 link layer timer adjustment to extend distance
JP2008533572A (ja) 長い伝送遅延の存在下でusb大容量記憶装置の性能を改善する方法及び装置
WO2018112942A1 (zh) 设备认证方法、装置、电子设备及从设备
ATE407500T1 (de) Verfahren zur übertragung kurzer datentelegramme via eines feldbusses
CN104461978B (zh) 单向数据传输的方法及装置
TWI512473B (zh) 用於產生及/或接收至少部分包括至少一波形的信號之裝置及方法,以及電腦可讀取記憶體
TW201631937A (zh) 檔案傳輸方法
JP6465965B2 (ja) シリアル通信のためのスタックタイミング調整
TW201532404A (zh) 遠端登入電腦之方法
KR102169340B1 (ko) 단일 전도체 인터페이스 작동 및 스위칭 장치 및 그 방법
JP7189474B2 (ja) 推定システム、付加装置、推定方法、付加方法、推定プログラム、及び付加プログラム
TWI689820B (zh) Usb傳輸系統、usb裝置與支援usb傳輸的主機
JP2016206713A5 (zh)
US9647853B2 (en) Transmitting system, the device and the method for the remote bus
TW202141956A (zh) 伺服系統、資料傳輸系統及其資料傳輸之方法
KR20100100136A (ko) 엔드 포인트를 복수개로 분할 가능한 반도체 장치
TW201702805A (zh) 辨識電腦系統之輸入裝置及其辨識方法
JP2009251771A (ja) Dma転送装置
KR100555644B1 (ko) 비트 스트림 송/수신방법
JP2008071231A (ja) プログラマブルロジックコントローラデータの収集方法