TWI356305B - Usb host controller and control method thereof - Google Patents

Usb host controller and control method thereof Download PDF

Info

Publication number
TWI356305B
TWI356305B TW97119336A TW97119336A TWI356305B TW I356305 B TWI356305 B TW I356305B TW 97119336 A TW97119336 A TW 97119336A TW 97119336 A TW97119336 A TW 97119336A TW I356305 B TWI356305 B TW I356305B
Authority
TW
Taiwan
Prior art keywords
controller
memory
transmission
universal serial
serial bus
Prior art date
Application number
TW97119336A
Other languages
English (en)
Other versions
TW200949555A (en
Inventor
Zhang Xin
Li Wenbin
Li Dejian
Original Assignee
Via Tech 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 Via Tech Inc filed Critical Via Tech Inc
Priority to TW97119336A priority Critical patent/TWI356305B/zh
Publication of TW200949555A publication Critical patent/TW200949555A/zh
Application granted granted Critical
Publication of TWI356305B publication Critical patent/TWI356305B/zh

Links

Landscapes

  • Information Transfer Systems (AREA)

Description

1356305 九、發明說明: 【發明所屬之技術領域】 本發明係有關於一種通用串列匯流排(Universal Serial ' Bus,USB)主機控制器,特別是一種符合USB2.0規範的 USB主機控制器及其控制方法,其能夠支援USB主機控制 器與通用串列匯流排設備之間的週期傳輸(Periodic Transfer)與非同步傳輸(Asynchronous Transfer)。 •[先前技術】 USB是一種由Intel和Microsoft開發的外設匯流排的 資料通信標準。最大的特點是支援熱插拔(Hot plug)和即 插即用(Plug&Play)的功能。當設備***時,主機牧舉 (enumerate)此設備並載入所需的驅動程式,因此使用遠 比PCI和ISA匯流排方便。通用串列匯流排可以連接的外 部設備有滑鼠、鍵盤、gamepad、搖桿、掃描器、數位相機、 • 印表機、硬碟和網路元件等,其應用非常廣泛。 USB目前常見的有兩個規範,即USB 1.1和USB 2.0。 USB1.1規範’其高速方式的傳輸速率為12百萬位元元/秒 (Mbps),低速方式的傳輸速率為l_5Mbps。USB2.0規範 是由USB 1.1規範演變而來的,傳輸速率可達到480Mbps, 即60MB/S ’足以滿足大多數外部設備的速率要求。USB 2.0 中的“增強主機控制器介面” (Enhanced Host Controller Interface,EHCI)定義了一個與USB 1.1相相容的架構,可 以用USB 2.0的驅動程式驅動USB 1.1設備。也就是說, VIC08-0009-TW/ 0608-A41727-TW/Final 5 1356305 • 所有支援USB 1.1的設備都可以直接在USB 2 〇的介面上 使用,而不必擔心相容性問題,而且像USB線、插頭等 等附件也都可以直接使用。 USB系統的設計為非對稱式的,它由一個USb主機 (host)控制器和若干透過集線器(Hub)設備以樹形連接 USB設備所組成。USB主機控制器負責實現主機與usb 設備之間的物理資料傳輸,是構成USB主機不可或缺的核 心元件。USB主機控制器與USB設備之間傳輸資料的管道 鲁 (Pipe)可分為四種類型:控制傳輸(Control Transfer), 等時傳輸(Isochronous Transfer),中斷傳輸(Interrupt Transfer)和批量傳輸(Buik Transfer)。其中,控制傳輸 一般用於短的、簡單的對設備的命令和狀態回饋,例如用 於匯流排控制的0號管道,〇號管道是USB設備必備的管 道,用於控制匯流排上的設備,其編號為〇 ;等時傳輸是 按照保障連續的速度(可能但不必然是較快地)傳輸,可 能有資料丟失的問題,例如即時的音頻、視頻;中斷傳輸 ^ 用於必須保證儘快反應的設備(僅容許有限延遲),例如 滑鼠、鍵盤;而批量傳輸是使用餘下的帶寬大量地(但是 沒有對於延遲、連續性、帶寬和速度的保證)傳輸資料, 例如普通的檔傳輸。根據這四種傳輸類型的特點,一般將 等時傳輸與中斷傳輸統稱為週期傳輸(Periodic Transfer ),將控制傳輸與批量傳輸統稱為非同步傳輸 (Asynchronous Transfer) 0 USB主機控制器作為USB主機的核心元件,其下最多 VIC08-0009-TW/ 0608-A41727-TW/Final 6 1356305 v . 可以有5級Hub,包括各級的Hub在内,最多可以連接127 個USB設備,而一 USB主機可以同時有多個USB主機控 制器。由於現今USB的應用日益廣泛,如何設計低成本, 小面積,高效能的USB主機控制器晶片,已成為USB系 ' 統設計中的一大焦點。 【發明内容】 本發明提供一種USB主機控制器,包括一第一控制 φ 器,用來控制一主機與一通用串列匯流排設備間的第一傳 輸;一第二控制器,用來控制該主機與該通用串列匯流排 設備間的第二傳輸;以及一第一記憶體,分別耦接於該第 一控制器與該第二控制器,用來緩存該主機控制器與該通 用串列匯流排設備間傳輸的資料;其中,於該第一傳輸階 段,該第一控制器存取該第一記憶體,於該第二傳輸階段, 該第二控制器存取該第一記憶體。 本發明另提供一種應用於USB主機控制器的控制方 • 法,包括步騾:於一第一傳輸階段,透過一第一控制器存 取一第一記憶體以執行該主機控制器與一通用串列匯流排 設備間的第一傳輸;於一第二傳輸階段,透過一第二控制 器存取該第一記憶體以執行該主機控制器與該通用串列匯 流排設備間的第二傳輸;其中,該第一控制器與該第二控 制器都是透過一第一直接記憶體存取引擎存取該第一記憶 體。 該第一傳輸為週期傳輸(Periodic transfer),該第一 控制器為一週期控制器;該第二傳輸為非同步傳輸 VIC08-0009-TW/ 0608-A41727-TW/Final 7 1356305 • ( Asynchronous transfer),該第二控制器為一非同步控制 器。 為讓本發明之上述和其他目的、特徵、和優點能更明 顯易懂,下文特舉出較佳實施例,並配合所附圖式,作詳 細說明如下: 【實施方式】 第1圖是根據本發明的一個實施例應用於一主機的 • USB主機控制器的示意圖,如圖所示,USB主機控制器14 位於一主機10内,與一記憶體16相連接,一 USB設備 12透過匯流排的集線器(Hub )(圖中未示出)連接到USB 主機控制器Η。通常,當USB設備12連接到USB主機控 制器14時,USB主機控制器14會分配一個特定的7位 元位址給USB設備12 ’用以標識USB設備12。並且,USB 主機控制器14透過投票分配流量’例如透過輪詢模式分配 流量,因此,在沒有明確向USB主機控制器14提出請求 籲 之前,USB設備12不能傳輸資料。需要注意的是,本發 明所指的傳輸是指雙向的傳輸,即資料從USB設備12傳 輸到USB主機控制器14’或是從USB主機控制器14傳輸 到USB設備12。一旦建立起傳輸資料的管道,USB主機 控制器14就可以控制各種類型的資料從USB設備12傳輸 到USB主機控制器14,或是從USB主機控制器14傳輸到 USB設備12。 根據前述兩種不同的資料傳輸類型(週期傳輸和非同 步傳輸),USB主機控制器14内設有對應的一個或多個週 VIC08-0009-TW/ 0608-A41727-TW/Final 8 1356305 期控制器和非同步控制器,在本發明的一個實施射,脳 主機控制器14内设有-個週期控制器窗,和兩個非同步 控制器102 ’ 103 ’以分別控制執行USB設備12與USB主 機控制器14之間的週期傳輸和非同步傳輸,如第丨圖所 不。與此對應的,USB主機控制器14内設有三個記憶體, 即第一記憶體107,第二記憶體1〇8和第三記憶體1〇9,用 來暫存USB設備12與USB主機控制器14之間傳輸的資 料。其中,當USB主機控制器14執行週期傳輸時,週期 控制器101透過第一直接記憶體存取(DMA)引擎1〇4存 取第一記憶體107 ;而USB主機控制器14執行非同步傳 輸時,非同步控制器102和1〇3分別透過第二DMA引擎 105和第三DMA引擎106存取第二記憶體108和第三記憶 體 109。 在記憶體的實現上,第一記憶體1〇7,第二記憶體108 和第三記憶體109均可為靜態隨機存取記憶體(static Random Access Memory ’ SRAM ),或者其他類型的記憶體 裝置。另外’由於目前USB設備的傳輸速率大大提高(高 速USB設備的傳輸速率已達到了 480Mbps),記憶體的容 量設計若不恰當,過大會造成資源浪費,過小則極易在暫 存傳輸的資料時’因記憶體超載(Overrun )或欠載 (Underrun)而導致資料出錯。因此,在本實施例中,記 憶體的容量設計乃是以所傳輸資料包的最大容量為准,即 第一記憶體107的容量為週期傳輸的最大資料包的容量 256x32位元元(1024位元組)’第二記憶體1〇8和第三記 VIC08-0009-TW/ 0608-A41727-TW/Final 9 1356305 . 憶體109的容量均為非同步傳輸的最大資料包的容量128x 32位元元(512位元組)。如此,以避免出現記憶體的超載 或欠載。 上述的USB主機控制器14能較好地支援高速USB設 備與主機控制器之間各種類型的資料傳輸,且能避免主機 控制器内記憶體的超載或欠載。 請參考第2圖,第2圖是根據本發明的另一個實施例 應用於一主機的USB主機控制器的示意圖。同樣,USB主 ® 機控制器24位於一主機20内,與一記憶體26相連接,一 USB設備22透過匯流排的集線器(Hub)(圖中未示出) 連接到USB主機控制器24。USB主機控制器24内設有一 個週期控制器201,和兩個非同步控制器202,203,以分 別控制執行USB設備22與USB主機控制器24之間的週 期傳輸和非同步傳輸。本發明實施例的USB主機控制器内 雖然共設置了三個控制器,但是並不限定於此,本發明也 適用於在内部設置其他數量或類型控制器的USB主機控 *制器。 與第1圖中的USB主機控制器14不同的是,本實施 例的USB主機控制器24内僅設置了兩個記憶體:第一記 憶體207和第二記憶體208,及對應的第一 DMA引擎204 和第二DMA引擎205。由於USB設備22與USB主機控 制器24之間通常以微幀(Microframe )的形式傳輸資料, 每一微幀以125毫秒為單位,且在同一微幀的傳輸週期 中,週期傳輸的優先順序要高於非同步傳輸,因此,本實 VIC08-0009-TW/ 0608-A41727-TW/Final 1356305 雜兩個階段:週期傳輪階段和非同步 段’USB主機控制器24僅執 f傳輸;於非同步傳輪階段,僅執行非同步傳輸。
主機參考第3圖’第3圖繪示本發明-實施例的USB 如第二&備22之間傳輸資料的微鳩格式。 回所不’每微φ貞時長為125毫秒以一開始標識 拙二束標識為界。在傳輸資料時,先執行週期傳輸,再
執仃非同步傳輸。本實施例中的微巾貞時長也可為其他值, 並不限定於125毫秒。 本發明一實施例的具體操作如下,於一微幅的週期傳 輸階段’USB主機控制器24内的週期控制器2()1透過第 一 DMA引擎2〇4存取第一記憶體2〇7與第二記憶體2〇8, 且嬴週期控制器201存取第一記憶體207達一預定數量的 資料,例如存滿或取空第一記憶體2〇7時,週期控制器2〇1 控制其内部的一位址指標指向第二記憶體2〇8,以透過第 一 DMA引擎204接續存取第二記憶體208。如此,對於週 期控制器201而言,其對應可存取的記憶體容量相當於是 第一記憶體207與第二記憶體208的容量之和。而後,於 同一微幀的非同步傳輸階段,USB主機控制器24内的非 同步控制器202透過第一 DMA引擎204存取第一記憶體 207,非同步控制器203透過第二DMA引擎205存取第二 記憶體208。因此,對於非同步控制器202,其對應可存取 的記憶體容量為第一記憶體207的容量;而對於非同步控 制器203,其對應可存取的記憶體容量為第二記憶體208 VIC08-0009-TW/ 0608-A41727-TW/Final 1356305 . 的容量。 需要注意的是,同一微幀執行完週期傳輸後,在非同 步傳輸階段每次傳輸一個非同步傳輸的資料包之前,USB 主機控制器24會透過其内部的一計數器206計算微幀的剩 餘時間,以判定剩餘時間是否足以傳輸一整個非同步傳輸 的資料包。若USB主機控制器24判定得出微幀的剩餘時 間足夠傳輸一整個非同步傳輸的資料包,則非同步控制器 202或203控制傳輸一個非同步傳輸的資料包;當判定得 • 出微幀的剩餘時間不足以傳輸一整個非同步傳輸的資料包 時,則非同步控制器202與203停止執行非同步傳輸。 在記憶體的實現上,第一記憶體207和第二記憶體208 同樣均可為靜態隨機存取記憶體,且為避免出現記憶體的 超載或欠載,記憶體的容量設計仍以所傳輸資料包的最大 容量為准。根據本發明的一個實施例,第一記憶體207與 第二記憶體208的容量之和應等於或大於週期傳輸的最大 資料包的容量,且第一記憶體207與第二記憶體208的容 ^ 量均應等於或大於非同步傳輸的最大資料包的容量。若週 期傳輸的最大資料包的容量為1024位元元組,非同步傳輸 的最大資料包的容量為512位元元組,則第一記憶體207 與第二記憶體208的容量均可設定為128x32位元,這樣, 二者之和為1024位元組,就能滿足週期傳輸和非同步傳輸 的需求。在不脫離本發明的精神的情況下,本發明的其他 實施例也可使用其他的記憶體組合,例如設定第一記憶體 207和第二記憶體208的容量都等於或大於週期傳輸的最 VIC08-0009-TW/ 0608-A41727-TW/Final 12 1356305 大資料包的容量,而第三記憶體的容量等於或大於非同步 傳輸的最大資料包的容量。 本發明實施例中的記憶體雖然使用的是SRAM,但是並 不僅限於此,其他可讀寫的記憶體例如快閃(Flash)記憶 體等,都可用來作為本發明USB主機控制器内的記憶體, 且記憶體可以整合在同一晶片或是分開在兩個晶片上,也 可以有不同的配置,例如一個記憶體分成兩部分,分別支 援兩種傳輸等。 由此可見,第2圖的USB主機控制器24要比第1圖 的USB主機控制器14至少減少了三分之一的記憶體面積 和一個DMA引擎。因此,透過分階段執行週期傳輸和非 同步傳輸,共用DMA引擎和記憶體,就能在保證記憶體 不出現超載或欠載的基礎上,減少記憶體的容量和DMA 引擎的個數,從而精簡了整個USB主機控制器的電路面 積。 為了進一步提高運作效能,本發明的USB主機控制器 24可以於週期傳輸階段結束時執行一預取功能,具體操作 如下:在週期傳輸階段,當週期控制器201控制傳輸最後 一個週期傳輸的資料包期間,USB主機控制器24會檢測 第一記憶體207與第二記憶體208的儲存狀態,若第一記 憶體207與第二記憶體208之一被取空或者剩下小於一預 定數量的資料,則USB主機控制器24執行一預取動作, 即預先從記憶體26取出一個或多個非同步傳輸的資料包 存入到被取空或剩餘資料不足預定數量的記憶體中。這 VIC08-0009-TW/ 0608-A41727-TW/Final 13 1356305 樣,在接下去的非同步傳輸階段,若執行的是從usb主機 控制器24至,J USB設備22的非同步傳輸,則開始發送的第 一個非同步傳輸的資料包或者之後的資料包就不需要再從 記憶體26中取出,而是直接將記憶體中暫存的賴步傳輸 的資料包發送給USB設備22,從而提高了工作效^。
為了更清楚地說明本發明的USB主機控制^^作過 程,請參考第4圖,第4圖示出了應用於第2圖的usb主 機控制器24的控制方法流程圖。首先,在步驟s4i,usb 主機控制器24開始控制傳輸一微巾貞;在此微巾貞的傳輸週期 中,USB主機控制器24首先會透過週期控制器2〇ι執行 一第一傳輸,例如透過存取第一記憶體2〇7或第二記憶體 208執行週期傳輸,如步驟S42。在步驟S43,如上文所述 在週期傳輸的最後一個資料包時,USB主機控制器24~會 檢測第一記憶體207與第二記憶體208的儲存狀態,判斷 是否有足夠的儲存空間,例如剩餘可用空間大於一預定數 量,或是其中一個記憶體被取空。若上述條件成立,例如 第一 δ己憶體207與第一 §己憶體208之一空出預定數量的空 間,則進入步驟S44,USB主機控制器24執行一預取動作^ 將從記憶體中預取的一或多個第二傳輸(例如非同步傳輸) 的資料包存入空出足夠空間的記憶體,例如存入到空出預 定數量空間的記憶體;反之,則返回步驟S42,繼續執行 週期傳輸。而後,進入第二傳輸階段,例如對第二記憶體 208進行存取的非同步傳輸階段。在步驟S45,USB主機 控制器24透過其内部的一計數器206計算微悄的剩餘時 VIC08-0009-TW/ 0608-A41727-TW/Final !3563〇5 間;並判斷剩餘時間是否足以傳輸一個— 的資料包,如步驟S46。若剩餘時間足::的非同步傳輪 非同步傳輸的資料包,則非同步控制$ ,個凡整的 ,一個非同步傳輸的資料包,如步驟_ ;若剩餘時間不 2傳輸-個完整的非同步傳輸的#料包時,則非同步控 I态202與203停止執行非同步傳輪,即結束。因此, =同步傳㈣段’每讀輸-個非㈣傳輸的轉 =:Γ主機控制器24都會計算㈣的剩餘時間, ^有^餘時間充足才會執行非同步傳輪動作,如此循環往 貞的剩餘時間不再Μ傳輪—整 的-貪料包,便就此結束。 得輸 需要說明的是,本發明所述的主機可為_ 其他可搞式設備等;而本發明的Us 2 ^疋 增強主機控觀介面(EHCI)規_±^=可為符合 雖然本發明的USB主機控制器是 工°此外, 與兩個非同步控制器為例,但其迷不:二:週期控制器 器或非同步控制器的數目,對於包、^ ^的週期控制 同步控制器的USB主機控制器,仍可二丄:控制态或非 思’並同樣能達到精簡電路面積的功二。"明的發明構 另外,除上述實施例外,本發 傳輸裝置,而不僅限於USB主機控制器^匕、他類型的 一雖然本發明已以較佳實施例揭露二,然 P艮疋本發明,任何所屬技術領域中 、、、卜用以 脫離本發明之精神和範圍内,當可;!:者,在不 1 乍些淬之更動與潤飾, VIC08-0009-TW/0608-A41727 xW/f. 1356305 因此本發明之保護範圍當視後附之申請專利範圍所界定者 為準。 【圖式簡單說明】 第1圖是根據本發明的一個實施例應用於一主機的 USB主機控制器的示意圖; 第2圖是根據本發明的另一個實施例應用於一主機的 USB主機控制器的示意圖; 第3圖是第2圖中的USB主機控制器與USB設備之 間傳輸資料的微幀(Microframe)格式示意圖;以及 第4圖是根據本發明的一個實施例應用於第2圖的 USB主機控制器的控制方法的流程圖。 【主要元件符號說明】 10、20 :主機; 12、22 : USB 設備; 14、24 : USB主機控制器; 16、26 :記憶體; 101、 201 :周期控制器; 102、 103、202、203 :非同步控制器; 104、 204 :第一 DMA 引擎; 105、 205 :第二 DMA 引擎; 106 :第三DMA引擎; 107、 207 :第一記憶體; 108、 :第二記憶體; VIC08-0009-TW/ 0608-A41727-TW/Final 16 1356305 109 :第三記憶體; 206 :計數器; S41〜S47 :步驟° VIC08-0009-TW/ 0608-A41727-TW/Final

Claims (1)

1356305 十、申請專利範圍: 1.一種通用串列匯流排(USB)主機控制器,包括 一第一控制器,用來控制一主機與一通用串列匯流排 設備間的第一傳輸; 一第二控制器,用來控制該主機與該通用串列匯流排 設備間的第二傳輸;以及 一第一記憶體,分別耦接於該第一控制器與該第二控 制器,用來暫存該主機控制器與該通用串列匯流排設備間 • 傳輸的資料; 其中,於該第一傳輸階段,該第一控制器存取該第一 記憶體,於該第二傳輸階段,該第二控制器存取該第一記 憶體。 2. 如申請專利範圍第1項所述的通用串列匯流排主機 控制器,還包括 一第一直接記憶體存取引擎(DMAengine),其中該 第一控制器與該第二控制器都是透過該第一直接記憶體存 • 取引擎存取該第一記憶體。 3. 如申請專利範圍第1項所述的通用串列匯流排主機 控制器,還包括一第二記憶體,其中於該第一傳輸階段, 該第一控制器同時存取該第二記憶體。 4. 如申請專利範圍第3項所述的通用串列匯流排主機 控制器,還包括一第一直接記憶體存取引擎,其中於該第 一傳輸階段,該第一控制器是透過控制該第一直接記憶體 存取引擎存取該第一記憶體與該第二記憶體,於該第二傳 VIC08-0009-TW/ 0608-A41727-TW/Final 18 1356305 . 輸匕&,該第二控制器透過該第一直接記憶體存取引擎存 取該第一記憶體。 5·如申請專利範圍第3項所述的通用串列匯流排主機 控制器,還包括: 一第三控制器,於該第二傳輸階段,該第三控制器存 取該第二記憶體;以及 一一第二直接記憶體存取引擎,於該第二傳輸階段,該 第三控制器透過該第二直接記憶體存取引擎存取該第二巧 罾憶體。 — 6·如申請專利範圍第3項所述的通用串列匯流排主機 ㈣,’其中於該第-傳輸階段,當該第—控制器存取達 *預疋數=的資料或者該第一記憶體被存滿或取空時,該 第控制器控制一位址指標指向該第二記憶體,以接續存 取該第二記憶體。 7.如申請專利範圍第3項所述的通用串列匯流排主機 • 控制器,其中於該第一傳輸階段,當該第一控制器控制傳 輸最後-個第一傳輸的資料包期間,若該第一記憶體與該 隐體之空出一預定數量空間或者被取空時,則該 ^機控制器執行-預取動作,以預先從該主機取出一個或 夕個該第一傳輸的資料包存入到空出該預定數量空間或者 被取空的記憶體中。 \如申請專利範圍第3項所述的通用串列匯流排主機 控制,’其中該第一記憶體與該第二記憶體的容量之和大 於或等於該第-傳輸的最大資料包的容量;且該第一記憶 VIC08-0009-TW/ 〇608-A41727-TW/Final 1356305 $與該第i記憶體的容量均大於或等於該第二傳輪的最大 貢料包的容量。 9.如申請專利範圍第1項所述的通用串列匯流排主機 器’還包括一計數器,且該主機控制器與該通用串列 一流排設備間是以該微幀的形式來執行該第一傳輸與該第 —傳輪,在每一該微幀的傳輸週期中,該第一控制器先杵 制執行該第一傳輸,而後該第二控制器再控制執行該第二 傳輸。 μ 一 1〇.如申請專利範圍第9項所述的通用串列匯流排主 機控制H ’其中在同-該微财,在每次傳輸該第:傳輸 的資料包之别,該計數器計算該微幀的剩餘時間,以判定 2餘時間是否足夠傳輸一整個該第二傳輸的資料包;當判 定得出該微幀的剩餘時間足夠傳輸一整個該第二傳輸=資 =包時,則該第二控制器控制傳輸該第二傳輸的資“包Τ 當判定得出該微幀的剩餘時間不足以傳輸一整個該第二傳 輪的資料包時,則該第二控制器停止執行該第二傳輸。 11. 如申請專利範圍第丨項所述的通用串列匯流排主 機控制器,其中該第一傳輸為週期傳輸(Peri0dic transfer),該第一控制器為一週期控制器;該第二傳輸為 非同步傳輸(Asynchronous transfer),該第二控制5|為 非同步控制器;其中該第一傳輸的優先順序高於該第i傳 輸。 12. —種應用於通用串列匯流排的主機控制器的控制 方法,包括步驟: = VIC08-0009-TW/ 0608-A41727-TW/Finai 1356305 於-第-傳輸階段,透過一第一控制器存取一第一記 憶體以執行該主機控制器與一通用串列匯流排設備間的第 一傳輸; 於-第二傳輸階段,透過一第二控制器存取該第 憶體以執行該主機控制器與該通用串列匯流排設備間的第 二傳輸; 其中,該第-控制器與該第二控制器都是透過一第— 直接記憶體存取引擎存取該第一記憶體。 、:主=專利範圍第12項所:的應用於通用串列匯 j的主機控制器的控制方法,其t該主機控制器與該通 用串列匯流排設備間是以微鴨(_牆麵 輸與該第二傳輸,且在每-_中,= 該第—傳輪,而後該第二控制器再執行該第 法排申清專利範圍第13項所述的應用於通用串列匯 二=控制器的控制方法,其中在同一該㈣中,在 微令貞的=第一傳輸的資料包之前,該主機控制器計算該 第二傳輪二包?判定剩餘時間是否足一^ 流排利範圍第14項所述的應用於通用串列匯 剩餘時間方法’其令當判定得出該微賴的 二控制器傳榦㈣固該第二傳輸的資料包時,則該第 幢的剩餘時的資料包;當判定得出該微 疋以傳輸一整個該第二傳輸的資料包時, VIC〇8-〇〇〇9.TW/〇6〇8a4i727_tw^ 21 則該第二控制器停止執行該第二傳輸。 士 Μ·如申請專利範圍第12項所述的應用於通用串列匯 流排的主機控制器的控制方法,還包括: 於該第一傳輸階段,該第一控制器透過該第一直接記 憶體存取引擎同時存取一第二記憶體。 土 7.如申凊專利範圍第16項所述的應用於通用串列匯 流排的主機控制器的控制方法,還包括: 二於該第二傳輸階段,使一第三控制器透過一第二直接 δ己憶體存取$擎存取該第二記憶體。 ^丨8.如申凊專利範圍第16項所述的應用於通用串列匯 =排的主機㈣㈣控制方法,其巾於該第_傳輸階段, 田該第控制器存取該第一記憶體達一預定數量的資料 時士使該第-控制器的一位址指標指向該第二記憶體,以 接續存取該第二記憶體。 19’如申凊專利範圍第16項所述的應用於通用串列匯 "il排的主機控制器的控制方法,其中於該第一傳輸階段, 在該第傳輸的資料包傳送期間,若該第一記憶體與該第 一屺隐體之空出一預定數量空間,則執行一預取動作, 以預先從主機取出-個或多個該第二傳輸的資料包存入到 空出該預定數量空間的記憶體中。 20.如申请專利範圍第12項所述的應用於通用串列匯 流排的主機控制器的控制方法,其中該第一傳輸為週期傳 輸(Periodic transfer),該第一控制器為一週期控制器; 該第二傳輸為非同步傳輸(Asynehr_us t麵如),該第 VIC08-0009-TW/ 0608-A41727-TW/Final 22 1356305 二控制器為一非同步控制器。
VIC08-0009-TW/ 0608-A41727-TW/Final
TW97119336A 2008-05-26 2008-05-26 Usb host controller and control method thereof TWI356305B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW97119336A TWI356305B (en) 2008-05-26 2008-05-26 Usb host controller and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW97119336A TWI356305B (en) 2008-05-26 2008-05-26 Usb host controller and control method thereof

Publications (2)

Publication Number Publication Date
TW200949555A TW200949555A (en) 2009-12-01
TWI356305B true TWI356305B (en) 2012-01-11

Family

ID=44871001

Family Applications (1)

Application Number Title Priority Date Filing Date
TW97119336A TWI356305B (en) 2008-05-26 2008-05-26 Usb host controller and control method thereof

Country Status (1)

Country Link
TW (1) TWI356305B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5865287B2 (ja) 2013-03-29 2016-02-17 株式会社ジャパンディスプレイ 電子機器および電子機器の制御方法

Also Published As

Publication number Publication date
TW200949555A (en) 2009-12-01

Similar Documents

Publication Publication Date Title
CN109471816B (zh) 一种基于描述符的pcie总线dma控制器及数据传输控制方法
CN101266584B (zh) 通用串行总线主机控制器及其控制方法
JP3649226B2 (ja) データ転送制御装置、電子機器及びデータ転送制御方法
CN101937406B (zh) 一种VxWorks操作***中实现驱动1394设备的方法和***
JP5456743B2 (ja) スイッチマトリックス経由のデータ転送を改善するフロー制御方法
US6460108B1 (en) Low cost data streaming mechanism
WO2000031649A1 (en) Host controller interface descriptor fetching unit
JP5551512B2 (ja) 通信制御装置、データ通信方法及びプログラム
TW200535613A (en) Method and apparatus for supporting multi-function pci devices in pci bridges
JPH02289017A (ja) コンピユータシステム内でデータ転送方法
US7469309B1 (en) Peer-to-peer data transfer method and apparatus with request limits
CN113297112B (zh) PCIe总线的数据传输方法、***及电子设备
CN113424147A (zh) 用于流式传输存储设备内容的***和方法
WO2011149482A1 (en) Storing data in any of a plurality of buffers in a memory controller
CN101937413B (zh) 一种i2c总线的通信方法
US20060236001A1 (en) Direct memory access controller
US7165124B2 (en) Data transfer control system, electronic instrument, program, and data transfer control method
US20020178310A1 (en) USB transmission control circuit
US6810445B1 (en) Data transfer control device and electronic equipment
US20080225858A1 (en) Data transferring apparatus and information processing system
WO2003071434A2 (en) Hublink read return streaming
CA2194026C (en) Method and apparatus for moving data packets between networks while minimizing cpu interventions using a multi-bus architecture
TWI356305B (en) Usb host controller and control method thereof
CN100371918C (zh) 一种直接存储器访问控制器及利用其实现数据传送的方法
CN1153154C (zh) 直接存储器存取至通用串行总线的转换电路及传输方法