亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

通用串行總線主機(jī)控制器及其控制方法

文檔序號:6462933閱讀:203來源:國知局
專利名稱:通用串行總線主機(jī)控制器及其控制方法
技術(shù)領(lǐng)域
本發(fā)明一般涉及通用串行總線(Universal Serial Bus, USB)主機(jī)控制器, 更具體地,涉及一種符合USB2. 0規(guī)范的精簡存儲器的USB主機(jī)控制器及其控 制方法,其能夠以精簡化的存儲器支持USB主機(jī)控制器與通用串行總線設(shè)備 之間的周期傳車俞(Periodic Transfer)與異步傳豐lr (Asynchronous Transfer)。
背景技術(shù)
USB是一種由Intel和Microsoft開發(fā)的外設(shè)總線的數(shù)據(jù)通信標(biāo)準(zhǔn)。最 大的特點是支持熱插拔(Hot plug)和即插即用(Plug&Play)的功能。當(dāng)設(shè)備插 入時,主機(jī)枚舉(enumerate)此設(shè)備并加載所需的驅(qū)動程序,因此使用遠(yuǎn)比 PCI和ISA總線方便。通用串行總線可以連接的外部設(shè)備有鼠標(biāo)、鍵盤、 gamepad、游戲桿、掃描4義、數(shù)碼相機(jī)、打印才幾、石更盤和網(wǎng)絡(luò)部件等,其應(yīng)用 非常廣泛。USB目前常見的有兩個規(guī)范,即USB 1. 1和USB 2. 0。 USB1. 1規(guī)范,其 高速方式的傳輸速率為12兆位/秒(Mbps),低速方式的傳輸速率為1. 5Mbps。 USB2.0規(guī)范是由USB 1.1規(guī)范演變而來的,傳輸速率可達(dá)到480Mbps,即 60MB/s,足以滿足大多數(shù)外部設(shè)備的速率要求。USB 2.0中的"增強(qiáng)主機(jī)控 制器才妾口" (Enhanced Host Controller Interface, EHCI)定義了一個與USB 1. 1相兼容的架構(gòu),可以用USB 2. G的驅(qū)動程序驅(qū)動USB1. 1設(shè)備。也就是說, 所有支持USB1. 1的設(shè)備都可以直接在USB2. 0的接口上使用,而不必?fù)?dān)心兼 容性問題,而且像USB線、插頭等等附件也都可以直接使用。USB系統(tǒng)的設(shè)計為非對稱式的,它由一個USB主機(jī)(host)控制器和若干 通過集線器(Hub)設(shè)備以樹形連接USB設(shè)備所組成。USB主機(jī)控制器負(fù)責(zé)實現(xiàn) 主機(jī)與USB設(shè)備之間的物理數(shù)據(jù)傳輸,是構(gòu)成USB主機(jī)不可或缺的核心部件。 USB主機(jī)控制器與USB設(shè)備之間傳輸數(shù)據(jù)的管道(Pipe)可分為四種類型控 制傳輸(Control Transfer),等時傳輸(Isochronous Transfer),中斷傳輸 (Interrupt Transfer)和批量傳輸(Bulk Transfer)。其中,控制傳輸一般用于短的、簡單的對設(shè)備的命令和狀態(tài)反饋,例如用于總線控制的0號管道,0號管道是USB設(shè)備必備的管道,用于控制總線上的設(shè)備,其編號為0;等時 傳輸是按照保障連續(xù)的速度(可能但不必然是較快地)傳輸,可能有數(shù)據(jù)丟失 的問題,例如實時的音頻、視頻;中斷傳輸用于必須保證盡快反應(yīng)的設(shè)備(僅 容許有限延遲),例如鼠標(biāo)、鍵盤;而批量傳輸是使用余下的帶寬大量地(但 是沒有對于延遲、連續(xù)性、帶寬和速度的保證)傳輸數(shù)據(jù),例如普通的文件傳 輸。根據(jù)這四種傳輸類型的特點, 一般將等時傳輸與中斷傳輸統(tǒng)稱為周期傳 輸(Periodic Transfer),將控制傳輸與批量傳輸統(tǒng)稱為異步傳輸 (Asynchronous Transfer)。USB主機(jī)控制器作為USB主機(jī)的核心部件,其下最多可以有5級Hub,包 括各級的Hub在內(nèi),最多可以連接127個USB設(shè)備,而USB主才幾可以同時有 多個USB主機(jī)控制器。由于現(xiàn)今USB的應(yīng)用日益廣泛,如何設(shè)計低成本,小 面積,高效能的USB主機(jī)控制器芯片,已成為USB系統(tǒng)設(shè)計中的一大焦點。發(fā)明內(nèi)容有鑒于此,本發(fā)明的目的在于提供一種符合USB2. G規(guī)范的精簡存儲器的 USB主機(jī)控制器及其控制方法,其能夠以精簡化的存儲器支持該USB主機(jī)控 制器與USB設(shè)備之間的周期傳輸與異步傳輸。根據(jù)本發(fā)明的一個方面,提供一種USB主機(jī)控制器,包括第一控制器, 用來控制主機(jī)與通用串行總線設(shè)備間的第一傳輸;第二控制器,用來控制該 主機(jī)與該通用串行總線設(shè)備間的第二傳輸;以及第一存儲器,分別耦接于該 第一控制器與該第二控制器,用來緩存該主機(jī)控制器與該通用串行總線設(shè)備 間傳輸?shù)臄?shù)據(jù);其中,于該第一傳輸階段,該第一控制器存取該第一存儲器, 于該第二傳輸階段,該第二控制器存取該第一存儲器。根據(jù)本發(fā)明的一個方面,提供一種應(yīng)用于USB主機(jī)控制器的控制方法, 包括步驟于第一傳輸階段,通過第一控制器存取第一存儲器以執(zhí)行該主機(jī) 控制器與通用串行總線設(shè)備間的第一傳輸;于第二傳輸階段,通過第二控制 器存取該第一存儲器以執(zhí)行該主機(jī)控制器與該通用串行總線設(shè)備間的第二傳 輸;其中,該第一控制器與該第二控制器都是通過第一直接存儲器存取引擎 存取該第一存儲器。根據(jù)本發(fā)明的另 一個方面,該第 一傳輸為周期傳輸(Periodictransfer),該第 一 控制器為周期控制器;該第二傳輸為異步傳輸 (Asynchronous transfer),該第二控制器為異步控制器。本發(fā)明的USB主機(jī)控制器通過分階段執(zhí)行周期傳輸和異步傳輸,共享DMA 引擎和存儲器,大大精簡了 USB主機(jī)控制器的電路面積,并仍能有效避免其 內(nèi)部的存儲器出現(xiàn)超載或欠載的情況,此外,通過周期傳輸階段結(jié)束時執(zhí)行 預(yù)取功能,可進(jìn)一步提高USB主機(jī)控制器的運(yùn)作效能。


通過下面結(jié)合示例性地示出 一例的附圖進(jìn)行的描述,本發(fā)明的上述和其 他目的和特點將會變得更加清楚,其中圖1是根據(jù)本發(fā)明的一個實施例應(yīng)用于主機(jī)的USB主機(jī)控制器的示意圖; 圖2是根據(jù)本發(fā)明的另一個實施例應(yīng)用于主機(jī)的USB主機(jī)控制器的示意圖;圖3是圖2中的USB主機(jī)控制器與USB設(shè)備之間傳輸數(shù)據(jù)的微幀 (Microframe)才各式示意圖;以及圖4是根據(jù)本發(fā)明的一個實施例應(yīng)用于圖2的USB主機(jī)控制器的控制方 法的流程圖。
具體實施方式
以下,參照附圖來詳細(xì)說明本發(fā)明的實施例。圖l是根據(jù)本發(fā)明的一個實施例應(yīng)用于主機(jī)的USB主機(jī)控制器的示意圖, 如圖所示,USB主機(jī)控制器14位于主機(jī)10內(nèi),與內(nèi)存16相連接,USB設(shè)備 12通過總線的集線器(Hub)(圖中未示出)連接到USB主機(jī)控制器14。通常, 當(dāng)USB設(shè)備12連接到USB主機(jī)控制器14時,USB主機(jī)控制器14會分配一 個特定的7位地址給USB設(shè)備12,用以標(biāo)識USB設(shè)備12。并且,USB主機(jī)控 制器14通過投票分配流量,例如通過輪詢模式分配流量,因此,在沒有明確 向USB主機(jī)控制器14提出請求之前,USB設(shè)備12不能傳輸數(shù)據(jù)。需要注意 的是,本發(fā)明所指的傳輸是指雙向的傳輸,即數(shù)據(jù)從USB設(shè)備12傳輸?shù)経SB 主機(jī)控制器14,或是從USB主機(jī)控制器14傳輸?shù)経SB設(shè)備12。 一旦建立起 傳輸數(shù)據(jù)的管道,USB主機(jī)控制器14就可以控制各種類型的數(shù)據(jù)從USB設(shè)備 12傳輸?shù)経SB主機(jī)控制器14,或是從USB主機(jī)控制器14傳輸?shù)経SB設(shè)備12。根據(jù)前述兩種不同的數(shù)據(jù)傳輸類型(周期傳輸和異步傳輸),USB主機(jī)控 制器14內(nèi)設(shè)有對應(yīng)的一個或多個周期控制器和異步控制器,在本發(fā)明的一個實施例中,USB主機(jī)控制器14內(nèi)設(shè)有一個周期控制器101,和兩個異步控制 器102、 103,以分別控制執(zhí)行USB設(shè)備12與USB主機(jī)控制器14之間的周期 傳輸和異步傳輸,如圖1所示。與此對應(yīng)的,USB主機(jī)控制器14內(nèi)設(shè)有三個 存儲器,即第一存儲器107、第二存儲器108和第三存儲器109,用來緩存 USB設(shè)備12與USB主機(jī)控制器14之間傳輸?shù)臄?shù)據(jù)。其中,當(dāng)USB主機(jī)控制 器14執(zhí)行周期傳輸時,周期控制器101通過第一直接存儲器存取(DMA)引擎 104存取第一存儲器107;而USB主機(jī)控制器14執(zhí)行異步傳輸時,異步控制 器102和103分別通過第二DMA引擎105和第三畫A引擎1106存取第二存儲 器108和第三存儲器109。在存儲器的實現(xiàn)上,第一存儲器107、第二存儲器108和第三存儲器109 均可為l爭態(tài)隨才幾存取存^[諸器(Static Random Access Memory, SRAM),或者其 它類型的存儲器裝置。另外,由于目前USB設(shè)備的傳輸速率大大提高(高速 USB設(shè)備的傳輸速率已達(dá)到了 480Mbps),存儲器的容量設(shè)計若不恰當(dāng),過大 會造成資源浪費(fèi),過小則極易在緩存?zhèn)鬏數(shù)臄?shù)據(jù)時,因存儲器超載(Overrun) 或欠載(Underrun)而導(dǎo)致數(shù)據(jù)出錯。因此,在本實施例中,存儲器的容量設(shè) 計乃是以所傳輸數(shù)據(jù)包的最大容量為準(zhǔn),即第一存儲器107的容量為周期傳 輸?shù)淖畲髷?shù)據(jù)包的容量256 x 32位(1024字節(jié)),第二存儲器108和第三存儲 器109的容量均為異步傳輸?shù)淖畲髷?shù)據(jù)包的容量128 x 32位(512字節(jié))。如 此,以避免出現(xiàn)存儲器的超載或欠載。上述的USB主機(jī)控制器14雖然能較好地支持高速USB設(shè)備與主機(jī)控制器 之間各種類型的數(shù)據(jù)傳輸,且能避免主機(jī)控制器內(nèi)存儲器的超載或欠載,但 由于其內(nèi)部設(shè)置了多個DMA引擎和大容量的存儲器,使得整個主機(jī)控制器的 電路面積增大,而其中DMA引擎和存儲器可能就占據(jù)了主機(jī)控制器總電路面 積的70°/。,因此,本發(fā)明在上述USB主機(jī)控制器的基礎(chǔ)上,作了進(jìn)一步的精 簡和改良設(shè)計,從而減少USB主機(jī)控制器的電路面積,以降低成本,請參見 下一實施例。請參考圖2,圖2是根據(jù)本發(fā)明的另一個實施例應(yīng)用于主機(jī)的USB主機(jī) 控制器的示意圖。同樣,USB主機(jī)控制器24位于主機(jī)20內(nèi),與內(nèi)存26相連 接,USB設(shè)備22通過總線的集線器(Hub)(圖中未示出)連接到USB主機(jī)控制器24。USB主機(jī)控制器24內(nèi)設(shè)有一個周期控制器201,和兩個異步控制器202、 203,以分別控制執(zhí)行USB設(shè)備22與USB主機(jī)控制器24之間的周期傳輸和異 步傳輸。本發(fā)明實施例的USB主機(jī)控制器內(nèi)雖然共設(shè)置了三個控制器,但是 并不限定于此,本發(fā)明也適用于在內(nèi)部設(shè)置其他數(shù)量或類型控制器的USB主 機(jī)控制器。與圖1中的USB主機(jī)控制器14不同的是,本實施例的USB主機(jī)控制器 24內(nèi)僅設(shè)置了兩個存儲器第一存儲器207和第二存儲器208,及對應(yīng)的第 一DMA引擎204和第二DMA引擎205。由于USB設(shè)備22與USB主機(jī)控制器24 之間通常以微幀(Microframe)的形式傳輸數(shù)據(jù),每一微幀以125毫秒為單位, 且在同一微幀的傳輸周期中,周期傳輸?shù)膬?yōu)先級要高于異步傳輸,因此,本 實施例將每一微幀劃分為兩個階段周期傳輸階段和異步傳輸階段。并于周 期傳輸階段,USB主機(jī)控制器24僅執(zhí)行周期傳輸;于異步傳輸階段,僅執(zhí)行 異步傳輸。請一并參考圖3,圖3繪示本發(fā)明一實施例的USB主機(jī)控制器24與USB 設(shè)備22之間傳輸數(shù)據(jù)的微幀格式。如圖3所示,每一微幀時長為125毫秒, 以開始標(biāo)識與結(jié)束標(biāo)識為界。在傳輸數(shù)據(jù)時,先執(zhí)行周期傳輸,再執(zhí)行異步 傳輸。本實施例中的微幀時長也可為其他值,并不限定于l"毫秒。本發(fā)明一實施例的具體操作如下,于一微幀的周期傳輸—階段,USB主機(jī) 控制器24內(nèi)的周期控制器201通過第一DMA引擎204存取第一存儲器207與 第二存儲器208,且當(dāng)周期控制器201存取第一存儲器207達(dá)預(yù)定數(shù)量的數(shù) 據(jù),例如存滿或取空第一存儲器207時,周期控制器201控制其內(nèi)部的地址 指針指向第二存儲器208,以通過第一 DMA引擎204接續(xù)存取第二存儲器208。 如此,對于周期控制器201而言,其對應(yīng)可存取的存儲器容量相當(dāng)于是第一 存儲器207與第二存儲器208的容量之和。而后,于同一微幀的異步傳輸階 段,USB主機(jī)控制器24內(nèi)的異步控制器202通過第一 DMA引擎204存取第一 存儲器207,異步控制器203通過第二DMA引擎205存取第二存儲器208。因 此,對于異步控制器202,其對應(yīng)可存取的存儲器容量為第一存儲器207的 容量;而對于異步控制器203,其對應(yīng)可存取的存儲器容量為第二存儲器208 的容量。需要注意的是,同一微幀執(zhí)行完周期傳輸后,在異步傳輸階段每次傳輸 一個異步傳輸?shù)臄?shù)據(jù)包之前,USB主機(jī)控制器24會通過其內(nèi)部的計數(shù)器206計算微幀的剩余時間,以判定剩余時間是否足以傳輸一個完整的異步傳輸?shù)臄?shù)據(jù)包。若USB主機(jī)控制器24判定得出微幀的剩余時間足夠傳輸一個完整的 異步傳輸?shù)臄?shù)據(jù)包,則異步控制器202或203控制傳輸一個異步傳輸?shù)臄?shù)據(jù) 包;當(dāng)判定得出微幀的剩余時間不足以傳輸一個完整的異步傳輸?shù)臄?shù)據(jù)包時, 則異步控制器202與203停止執(zhí)行異步傳輸,從而避免不必要的系統(tǒng)資源浪費(fèi)。在存儲器的實現(xiàn)上,第一存儲器207和第二存儲器208同樣均可為靜態(tài) 隨機(jī)存取存儲器,且為避免出現(xiàn)存儲器的超載或欠載,存儲器的容量設(shè)計仍 以所傳輸數(shù)據(jù)包的最大容量為準(zhǔn)。根據(jù)本發(fā)明的一個實施例,第一存儲器207 與第二存儲器208的容量之和應(yīng)等于或大于周期傳輸?shù)淖畲髷?shù)據(jù)包的容量, 且第一存儲器207與第二存儲器208的容量均應(yīng)等于或大于異步傳輸?shù)淖畲?數(shù)據(jù)包的容量。若周期傳輸?shù)淖畲髷?shù)據(jù)包的容量為1024字節(jié),異步傳輸?shù)淖?大數(shù)據(jù)包的容量為512字節(jié),則第一存儲器207與第二存儲器208的容量均 可設(shè)定為128 x 32位,這樣,二者之和為1024字節(jié),就能滿足周期傳輸和異 步傳輸?shù)男枨蟆T诓幻撾x本發(fā)明的精神的情況下,本發(fā)明的其它實施例也可 使用其它的存儲器組合,例如設(shè)定第一存儲器207和第二存儲器208的容量 都等于或大于周期傳輸?shù)淖畲髷?shù)據(jù)包的容量,而第三存儲器的容量等于或大 于異步傳輸?shù)淖畲髷?shù)據(jù)包的容量。本發(fā)明實施例中的存儲器雖然使用的是SRAM,但是并不僅限于此,其他 可讀寫的存儲器例如快閃(Flash)存儲器等,都可用來作為本發(fā)明USB主機(jī)控 制器內(nèi)的存儲器,且存儲器可以集成在同一芯片或是分開在兩個芯片上,也 可以有不同的配置,例如一個存儲器分成兩部分,分別支持兩種傳輸?shù)?。由此可見,圖2的USB主機(jī)控制器24要比圖1的USB主機(jī)控制器14至 少減少了三分之一的存儲器面積和一個DMA引擎。因此,通過分階段執(zhí)行周 期傳輸和異步傳輸,共享DMA引擎和存儲器,就能在保證存儲器不出現(xiàn)超載 或欠載的基礎(chǔ)上,減少存儲器的容量和DMA引擎的個數(shù),從而精簡了整個USB 主機(jī)控制器的電路面積。為了進(jìn)一步提高運(yùn)作效能,本發(fā)明的USB主機(jī)控制器24可以于周期傳輸 階段結(jié)束時執(zhí)行預(yù)取功能,具體操作如下在周期傳輸階段,當(dāng)周期控制器 201控制傳輸最后一個周期傳輸?shù)臄?shù)據(jù)包期間,USB主機(jī)控制器24會檢測第 一存儲器207與第二存儲器208的存儲狀態(tài),若第一存儲器207與第二存儲器208之一被取空或者剩下小于預(yù)定數(shù)量的數(shù)據(jù),則USB主機(jī)控制器24執(zhí)行 預(yù)取操作,即預(yù)先從內(nèi)存26取出一個或多個異步傳輸?shù)臄?shù)據(jù)包存入到被取空 或剩余數(shù)據(jù)不足預(yù)定數(shù)量的存儲器中。這樣,在接下去的異步傳輸階段,若 執(zhí)行的是從USB主機(jī)控制器24到USB設(shè)備22的異步傳輸,則開始發(fā)送的第 一個異步傳輸?shù)臄?shù)據(jù)包或者之后的數(shù)據(jù)包就不需要再從內(nèi)存26中取出,而是 直接將存儲器中緩存的異步傳輸?shù)臄?shù)據(jù)包發(fā)送給USB設(shè)備22,從而提高了工 作效能。為了更清楚地說明本發(fā)明的USB主機(jī)控制器的運(yùn)作過程,請參考圖4, 圖4示出了應(yīng)用于圖2的USB主機(jī)控制器24的控制方法流程圖。首先,在步 驟S41 , USB主機(jī)控制器24開始控制傳輸一微幀;在此微幀的傳輸周期中,USB 主機(jī)控制器24首先會通過周期控制器201執(zhí)行第一傳輸,例如通過存取第一 存儲器207或第二存儲器208執(zhí)行周期傳輸,如步驟S42。在步驟S43,如上 文所述,在周期傳輸?shù)淖詈笠粋€數(shù)據(jù)包時,USB主機(jī)控制器24會檢測第一存 儲器207與第二存儲器208的存儲狀態(tài),判斷是否有足夠的存儲空間,例如 剩余可用空間大于預(yù)定數(shù)量,或是其中一個存儲器被取空。若上述條件成立, 例如第一存儲器207與第二存儲器208之一空出預(yù)定數(shù)量的空間,則進(jìn)入步 驟S44, USB主機(jī)控制器24執(zhí)行預(yù)取操作,將從內(nèi)存中預(yù)取的一或多個第二 傳輸(例如異步傳輸)的數(shù)據(jù)包存入空出足夠空間的存儲器,例如存入到空出 預(yù)定數(shù)量空間的存儲器;反之,則返回步驟S42,繼續(xù)執(zhí)行周期傳輸。而后, 進(jìn)入第二傳輸階段,例如對第二存儲器208進(jìn)行存取的異步傳輸階段。在步 驟S45, USB主機(jī)控制器24通過其內(nèi)部的計數(shù)器206計算微幀的剩余時間; 并判斷剩余時間是否足以傳輸一個完整的異步傳輸?shù)臄?shù)據(jù)包,如步驟S46。 若剩余時間足夠傳輸一個完整的異步傳輸?shù)臄?shù)據(jù)包,則異步控制器202或203 控制傳輸一個異步傳輸?shù)臄?shù)據(jù)包,如步驟S47;若剩余時間不足以傳輸一個 完整的異步傳輸?shù)臄?shù)據(jù)包時,則異步控制器202與203停止執(zhí)行異步傳輸, 即結(jié)束。因此,在異步傳輸階段,每次傳輸一個異步傳輸?shù)臄?shù)據(jù)包前,本發(fā) 明的USB主機(jī)控制器24都會計算微幀的剩余時間,唯有剩余時間充足才會執(zhí) 行異步傳輸操作,如此循環(huán)往復(fù),直至微幀的剩余時間不再足以傳輸整個異 步傳輸?shù)臄?shù)據(jù)包,便就此結(jié)束。需要說明的是,本發(fā)明所述的主機(jī)可為計算機(jī),或是其他便攜式設(shè)備等; 而本發(fā)明的USB主機(jī)控制器可為符合增強(qiáng)主機(jī)控制器接口 (EHCI)規(guī)范的主機(jī)控制器。此外,雖然本發(fā)明的USB主機(jī)控制器是以包含一個周期控制器與兩 個異步控制器為例,但其并不限于上述的周期控制器或異步控制器的數(shù)目,對于包含多個周期控制器或異步控制器的USB主機(jī)控制器,仍可沿用本發(fā)明的發(fā)明構(gòu)思,并同樣能達(dá)到精簡電路面積的功效。另外,除上述實施例外,本發(fā)明亦適用于其他類型的傳輸裝置,而不僅限于USB主機(jī)控制器。綜上所述,本發(fā)明的USB主機(jī)控制器通過分階段執(zhí)行周期傳輸和異步傳 輸,共享DMA引擎和存儲器,大大精簡了 USB主機(jī)控制器的電路面積,并仍 能有效避免其內(nèi)部的存儲器出現(xiàn)超載或欠載的情況,此外,通過周期傳輸階 段結(jié)束時執(zhí)行預(yù)取功能,進(jìn)一步提高了 USB主機(jī)控制器的運(yùn)作效能。本發(fā)明雖以優(yōu)選實施例披露如上,然其并非用以限定本發(fā)明的范圍,本 領(lǐng)域技術(shù)人員在不脫離本發(fā)明的精神和范圍的前提下,可做各種的更動與潤 飾,因此本發(fā)明的保護(hù)范圍以本發(fā)明的權(quán)利要求為準(zhǔn)。
權(quán)利要求
1. 一種通用串行總線主機(jī)控制器,包括第一控制器,用來控制主機(jī)與通用串行總線設(shè)備間的第一傳輸;第二控制器,用來控制該主機(jī)與該通用串行總線設(shè)備間的第二傳輸;以及第一存儲器,分別耦接于該第一控制器與該第二控制器,用來緩存該主機(jī)控制器與該通用串行總線設(shè)備間傳輸?shù)臄?shù)據(jù);其中,于該第一傳輸階段,該第一控制器存取該第一存儲器,于該第二傳輸階段,該第二控制器存取該第一存儲器。
2. 如權(quán)利要求1所述的通用串行總線主機(jī)控制器,還包括第一直接存儲器存取引擎,其中該第一控制器與該第二控制器都是通過 該第一直接存儲器存取引擎存取該第一存儲器。
3. 如權(quán)利要求1所述的通用串行總線主機(jī)控制器,還包括第二存儲器, 其中于該第一傳輸階段,該第一控制器同時存取該第二存儲器。
4. 如權(quán)利要求3所述的通用串行總線主機(jī)控制器,還包括第一直接存儲 器存取引擎,其中于該第一傳輸階段,該第一控制器是通過控制該第一直接 存儲器存取引擎存取該第一存儲器與該第二存儲器,于該第二傳輸階段,該 第二控制器通過該第一直接存儲器存取引擎存取該第一存儲器。
5. 如權(quán)利要求3所述的通用串行總線主機(jī)控制器,還包括第三控制器, 其中于該第二傳輸階段,該第三控制器存取該第二存儲器;以及第二直接存 儲器存取引擎,其中于該第二傳輸階段,該第三控制器通過該第二直接存儲 器存取引擎存取該第二存儲器。
6. 如權(quán)利要求3所述的通用串行總線主機(jī)控制器,其中于該第一傳輸階 段,當(dāng)該第 一控制器存取達(dá)預(yù)定數(shù)量的數(shù)據(jù)或者該第 一存儲器被存滿或取空 時,該第一控制器控制地址指針指向該第二存儲器,以接續(xù)存取該第二存儲 器。
7. 如權(quán)利要求3所述的通用串行總線主機(jī)控制器,其中于該第一傳輸階 段,當(dāng)該第一控制器控制傳輸最后一個第一傳輸?shù)臄?shù)據(jù)包期間,若該第一存 儲器與該第二存儲器之一空出預(yù)定數(shù)量空間或者被取空時,則該主機(jī)控制器 執(zhí)行預(yù)取操作,以預(yù)先從該主機(jī)取出一個或多個該第二傳輸?shù)臄?shù)據(jù)包存入到空出該預(yù)定數(shù)量空間或者被取空的存儲器中。
8. 如權(quán)利要求3所述的通用串行總線主機(jī)控制器,其中該第一存儲器與該第二存儲器的容量之和大于或等于該第一傳輸?shù)淖畲髷?shù)據(jù)包的容量;且該 第一存儲器與該第二存儲器的容量均大于或等于該第二傳輸?shù)淖畲髷?shù)據(jù)包的容量。
9. 如權(quán)利要求1所述的通用串行總線主機(jī)控制器,還包括計數(shù)器,且該 主機(jī)控制器與該通用串行總線設(shè)備間是以該微幀的形式來執(zhí)行該第一傳輸與 該第二傳輸,在每一該微幀的傳輸周期中,該第一控制器先控制執(zhí)行該第一 傳輸,而后該第二控制器再控制執(zhí)行該第二傳輸。
10. 如權(quán)利要求9所述的通用串行總線主機(jī)控制器,其中在同一該微幀 中,在每次傳輸該第二傳輸?shù)臄?shù)據(jù)包之前,該計數(shù)器計算該微幀的剩余時間,以判定剩余時間是否足夠傳輸整個該第二傳輸?shù)臄?shù)據(jù)包;當(dāng)判定得出該微幀 的剩余時間足夠傳輸整個該第二傳輸?shù)臄?shù)據(jù)包時,則該第二控制器控制傳輸該第二傳輸?shù)臄?shù)據(jù)包;當(dāng)判定得出該微幀的剩余時間不足以傳輸整個該第二傳輸?shù)臄?shù)據(jù)包時,則該第二控制器停止執(zhí)行該第二傳輸。
11. 如權(quán)利要求1所述的通用串行總線主機(jī)控制器,其中該第一傳輸為周期傳輸,該第一控制器為周期控制器;該第二傳輸為異步傳輸,該第二控 制器為異步控制器;其中該第一傳輸?shù)膬?yōu)先級高于該第二傳輸。
12. —種應(yīng)用于通用串行總線的主機(jī)控制器的控制方法,包括步驟 于第一傳輸階段,通過第一控制器存取第一存儲器以執(zhí)行該主機(jī)控制器與通用串行總線設(shè)備間的第一傳輸;于第二傳輸階段,通過第二控制器存取該第 一存儲器以執(zhí)行該主機(jī)控制器與該通用串行總線設(shè)備間的第二傳輸;其中,該第 一控制器與該第二控制器都是通過第 一直接存儲器存取引擎 存取該第一存儲器。
13. 如權(quán)利要求12所述的控制方法,其中該主機(jī)控制器與該通用串行總 線設(shè)備間是以微幀的形式來執(zhí)行該第 一傳輸與該第二傳輸,且在每一該微幀 中,該第一控制器先執(zhí)行該第一傳輸,而后該第二控制器再執(zhí)行該第二傳輸。
14. 如權(quán)利要求13所述的控制方法,其中在同一該微幀中,在每次傳輸 該第二傳輸?shù)臄?shù)據(jù)包之前,該主機(jī)控制器計算該微幀的剩余時間,以判定剩 余時間是否足夠傳輸整個該第二傳輸?shù)臄?shù)據(jù)包。
15. 如權(quán)利要求14所述的控制方法,其中當(dāng)判定得出該微幀的剩余時間足夠傳輸整個該第二傳輸?shù)臄?shù)據(jù)包時,則該第二控制器傳輸一個該第二傳輸?shù)臄?shù)據(jù)包;當(dāng)判定得出該微幀的剩余時間不足以傳輸整個該第二傳輸?shù)臄?shù)據(jù) 包時,則該第二控制器停止執(zhí)行該第二傳輸。
16. 如權(quán)利要求12所述的控制方法,還包括于該第一傳輸階段,該第一控制器通過該第一直接存儲器存取引擎同時 存取第二存儲器。
17. 如權(quán)利要求16所述的控制方法,還包括于該第二傳輸階段,使第三控制器通過第二直接存儲器存取引擎存取該 第二存儲器。
18. 如權(quán)利要求16所述的控制方法,其中于該第一傳輸階段,當(dāng)該第一 控制器存取該第一存儲器達(dá)預(yù)定數(shù)量的數(shù)據(jù)時,使該第一控制器的地址指針 指向該第二存儲器,以接續(xù)存取該第二存儲器。
19. 如權(quán)利要求16所述的控制方法,其中于該第一傳輸階段,在該第一 傳輸?shù)臄?shù)據(jù)包傳送期間,若該第一存儲器與該第二存儲器之一空出預(yù)定數(shù)量 空間,則執(zhí)行預(yù)取操作,以預(yù)先從主機(jī)取出一個或多個該第二傳輸?shù)臄?shù)據(jù)包 存入到空出該預(yù)定數(shù)量空間的存儲器中。
20. 如權(quán)利要求12所述的控制方法,其中該第一傳輸為周期傳輸,該第 一控制器為周期控制器;該第二傳輸為異步傳輸,該第二控制器為異步控制 器。
全文摘要
本發(fā)明涉及一種符合通用串行總線(USB)2.0規(guī)范的精簡存儲器的USB主機(jī)控制器及其控制方法,其能夠以精簡化的存儲器支持該USB主機(jī)控制器與通用串行總線設(shè)備之間的周期傳輸與異步傳輸。該USB主機(jī)控制器包括第一控制器,用來控制主機(jī)與通用串行總線設(shè)備間的第一傳輸;第二控制器,用來控制該主機(jī)與該通用串行總線設(shè)備間的第二傳輸;以及第一存儲器,分別耦接于該第一控制器與該第二控制器,用來緩存該主機(jī)控制器與該通用串行總線設(shè)備間傳輸?shù)臄?shù)據(jù);其中,于該第一傳輸階段,該第一控制器存取該第一存儲器,于該第二傳輸階段,該第二控制器存取該第一存儲器。
文檔編號G06F13/28GK101266584SQ20081009954
公開日2008年9月17日 申請日期2008年5月13日 優(yōu)先權(quán)日2008年5月13日
發(fā)明者欣 張, 李德建, 李文彬 申請人:威盛電子股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1