[發明專利]數據傳輸方法以及使用該方法的通用串行總線主機控制器有效
| 申請號: | 200910222079.1 | 申請日: | 2009-11-13 |
| 公開(公告)號: | CN101699419A | 公開(公告)日: | 2010-04-28 |
| 發明(設計)人: | 陳星辰;賴瑾;戴笛;龐珊娜 | 申請(專利權)人: | 威盛電子股份有限公司 |
| 主分類號: | G06F13/28 | 分類號: | G06F13/28 |
| 代理公司: | 北京市柳沈律師事務所 11105 | 代理人: | 錢大勇 |
| 地址: | 中國臺*** | 國省代碼: | 中國臺灣;71 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據傳輸 方法 以及 使用 通用 串行 總線 主機 控制器 | ||
技術領域
本發明涉及一種數據傳輸方法以及使用該方法的通用串行總線(USB) 主機控制器。具體而言,本發明涉及一種在USB設備和主機之間執行數據 傳輸的方法和執行該方法的USB主機控制器。
背景技術
在現有的USB3.0的技術規范中,主機通過主機控制器與USB設備進行 交互。為了支持USB?3.0的雙總線構架,主機控制器必須包括超速 (SuperSpeed)和USB2.0元件,這能夠同時在每個總線上管理主機與USB 設備之間的控制、狀態以及信息交換。該主機控制器包括SuperSpeed和 USB2.0的多個下游端口,通過這些下游端口,主機能夠檢測USB設備的連 接和移除,管理主機和USB設備之間的控制流動,管理主機和USB設備之 間的數據流動,收集狀態和活動統計,以及向所連接的USB設備提供電力。 基于超速元件,USB?3.0可提供十倍于USB?2.0的傳輸速度和更高的節能效 率,因而廣泛用于計算機外圍設備和消費電子產品。
為支持USB?3.0協議,Intel其后推出了擴展主控制器界面(Extensible Host?Controller?Interface,簡稱xHCI)協議,xHCI協議主要描述了系統軟件與 硬件之間接口所用的寄存器和數據結構,為USB?3.0主控制器與USB?3.0外 設驅動程序之間提供標準通信方式。根據xHCI協議和USB3.0協議,USB 主機控制器可以啟動或停止數據傳輸,例如USB主機控制器在其用完(run out?of)用于該數據傳輸的緩沖器空間的情況下會停止該數據傳輸,而當USB 主機控制器通知該USB設備這種狀態時,該USB設備會切換到另一個數據 傳輸或者等待并在該USB主機控制器分配出緩沖器空間時繼續同一數據傳 輸。
在上行周期(Upstream?Cycle)/輸入事務的處理中,現有的USB主機控 制器需要在其緩沖器內接收到來自USB設備的足夠多的輸入數據(IN?data) 之后,才能利用所有這些輸入數據來計算CRC(循環冗余碼)結果,并且將 計算出的CRC結果與所有參與計算CRC結果的輸入數據組合成一個完整的 數據分組(Data?Packet)。之后,判斷該數據分組是否存在錯誤(包括檢查 CRC結果是否有錯誤以及數據分組是否完整等),如果存在錯誤,USB主機 控制器將不向主機發送此數據分組,并丟棄該數據分組;如果沒有錯誤,則 將該數據分組發送給主機的系統存儲器。
上述數據傳輸過程請參考附圖1所示的流程圖。在步驟ST1中,USB主 機控制器接收輸入數據,并在步驟ST2中確定本次所接收的輸入數據是否為 該數據分組的最后一個數據。需要說明的是,一個數據分組包含的數據量是 可預設的,例如,可預設每個數據分組包含10字節(Byte)或10雙字節(DW) 的數據,而輸入數據的接收和發送可以以字節或雙字(DW)為單位,因此 USB主機控制在步驟ST1中接受到輸入數據和步驟ST2中判斷是否為數據 分組的最后一個數據,均可以字節或雙字為單位。若在步驟ST2判斷得出該 輸入數據不是數據分組的最后一個數據,則進程返回到步驟ST1繼續接收輸 入數據。如果在步驟ST2判斷所接收的輸入數據是該數據分組的最后一個數 據,則在步驟ST3中計算該數據分組的CRC結果,并將所接收的輸入數據 組合成數據分組。
由上述可知,現有的USB主機控制器需要在其緩沖器內接收到足夠多 的來自USB設備的輸入數據之后(例如一個數據分組所包含的數據量),才 能利用所有這些輸入數據來計算CRC結果,因此,在緩沖器接收來自USB 設備的輸入數據的過程中,USB主機控制器用于傳輸數據到主機的總線將 處于空閑狀態,因此造成總線的利用率較低,傳輸數據的整體速率也明顯降 低。并且,存放在緩沖器內的數據,由于未能及時傳輸至主機的系統存儲器, 一旦當上行周期(Upstream?Cycle)/輸入事務出現故障或中斷,若USB設備 繼續向USB主機控制器內的緩沖器發送輸入數據,則極易導致USB主機控 制器內的緩沖器溢出(overrun)。
發明內容
本發明的目的在于提供一種途徑以便解決上述現有技術中出現的問題。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于威盛電子股份有限公司,未經威盛電子股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910222079.1/2.html,轉載請聲明來源鉆瓜專利網。





