畢業(yè)設計論文_基于USB的Hub設計_第1頁
畢業(yè)設計論文_基于USB的Hub設計_第2頁
畢業(yè)設計論文_基于USB的Hub設計_第3頁
畢業(yè)設計論文_基于USB的Hub設計_第4頁
畢業(yè)設計論文_基于USB的Hub設計_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、摘 要I摘 要USB集線器作為USB總線拓撲結構中的連接部分已經起到了非常重要的作用,它為USB系統(tǒng)提供額外的連接點,而USB集線器芯片負責將一個USB上行端口轉化為多個下行端口,它是構成USB集線器的必需部件。本論文首先介紹 USB 的基礎知識、產生與發(fā)展、總線結構、傳輸方式及電氣特性等等這部分內容對 USB 做出了總體的概述,接下來主要介紹了關于 USB 集線器的主要結構及其功能特性,最后介紹了 USB 集線器的設計流程,并給出了以 Genesys Logic公司的 GL650USB 芯片為控制器的 USB 集線器的設計實例。關鍵詞:USB 集線器;總線拓撲結構;集線器設計;GL650US

2、B 芯片ABSTRACTIIABSTRACTUSB hubs as USB bus configuration of the link has played a very important role, which provide additional USB system connecting point, and USB hubs will be a chip for USB uplink port into multiple downlink ports, which constitute the essential components of USB hubs. This paper

3、first introduced USB based knowledge, generate and development, bus structure, the means of transmission and electrical properties, etc. This part of a general overview of a USB, introduced the next major USB hubs on the main structure and its functional features, and finally introduced USB hubs des

4、ign flow and give a company Genesys Logic GL650USB chip for the USB hub controller design examples.KEYWORDS: USB hubs;USB bus configuration;USB hubs design;GL650USB chip咔嚓大學 2008 屆本科生畢業(yè)論文 1 基于 USB 的 Hub 設計1 緒論1.1課題背景1.1.1 USB 基礎知識USB,全稱是 Universal Serial Bus(通用串行總線),它是在 1994 年由IBM、Intel、Microsoft、NE

5、C、Compaq、DEC、Northern Telecom 七家公司共同開發(fā)的一種新的外設連接技術。這一技術將最終解決對串行設備和并行設備如何與計算機相連的爭論,大大簡化了計算機與外設的連接過程。1995 年,通用串行總線,由通用中行總線應用論壇(USDIF)進行了標準化。目前已經有許多中行端口和串行總線技術應用于主機和外設之間的通信,但它們都有其特定的目的和缺點。而該組織的目標就是發(fā)展一種兼容低速和高速的技術,從而可以為廣大用戶提供一種可共享的、可擴充的、使用方便的串行總線,將串行通信技術推向 21 世紀。該總線應獨立于主計算機系統(tǒng),并在整個計算機系統(tǒng)結構中保持一致。為了實現上述的目標,US

6、BIF 發(fā)布了一種稱為通用串行總線的中行技術規(guī)范 Universal Serial Bus,簡稱為 USB。但是直到1999 年,USB 才真正被廣泛應用。自 1994 年 11 月發(fā)表了 USB V0.7 以后,USB 接口經歷了十年的發(fā)展,現在 USB 已經發(fā)展到了 2.0 版本。我們知道,電腦上的每個設備都有一個接口,用來與其它部件連接。但是由于主板上所能提供的外部接口比較少,一般含有 1 個并行接口和 2 個串行接口,所能連接的設備十分有限,而且在進行拔插設備的時候需要關機(帶電拔插會造成燒毀設備的嚴重后果),傳輸速度也很慢,在要求高傳輸率的場合根本無法滿足要求。而 USB 接口卻很好

7、地解決了以上所有問題,采用 USB 接口的設備都支持熱拔插(帶電拔插),使微軟的“即插即用(Plug and Play,PnP)”得以真正實現,用戶在開機狀態(tài)時即可將設備連接到電腦主機上,免除了漫長的重新啟動過程。USB 接口所能連接的設備多達 127 個,而且可以同時使用。這幾年,隨著大量支持 USB 的個人電腦的普及,USB 逐步成為 PC 機的標準接口已經是大勢所趨。在主機(host)端,最新推出的 PC 機幾乎 100%支持 USB;而在外設(device)端,使用 USB 接口的設備也與日俱增,例如數碼相機、掃描儀、游戲桿、磁帶和軟驅、圖像設備、打印機、鍵盤、鼠標等。1.1.2 US

8、B 的產生及發(fā)展表 1.1 給出了 USB 發(fā)展歷程中的幾種主要的版本。咔嚓大學 2008 屆本科生畢業(yè)論文 2 標準說明傳輸速度發(fā)布日期USB1.0早期 USB 版本,主要應用在鼠標,鍵盤等 HID 設備1.5Mbps 低速1996-1-15USB1.1現在市場上大多數 USB 設備都采用 1.1 標準,應用領域非常廣泛12Mbps 全速1998-9-23USB2.0現在主要應用高速數據采集場合,圖像傳輸。正在進一步普及480Mbps 高速2000-4-27USB2.0 OTG作為 USB2.0 協(xié)議的補充,主要應用在點對點通信480Mbps2001-12-18表 1.1 USB 主要協(xié)議版

9、本說明:USB OTG 作為 USB2.0 協(xié)議的補充,但并不意味著 OTG 芯片都支持高速傳輸,并且 USB OTG 的主要應用是在全速方式和低速方式下。1.1.3 USB 總線拓撲結構USB 的拓撲是樹形結構,有 1 個 USB 根集線器(root hub) ,下面還可有若干集線器。1 個集線器下面可接若干個 USB 接口。 在任何 USB 系統(tǒng)中,只有一個主機。USB 和主機系統(tǒng)的接口稱作主機控制器,主機控制器可由硬件、固件和軟件綜合實現。根集線器是由主機系統(tǒng)整合的,用以提供更多的連接點。USB 線纜包括 4 條線:Vbus(USB 電源)、D+(數據) 、D-(數據)和 Gnd(USB

10、 地)。線纜最大長度不超過 5m。USB1.1 的傳輸速率最高為 12Mb/s(低速外設的標準速率為1.5Mb/s,高速外設的標準速率為 12Mb/s) 。下圖 1.2 是典型的 USB 功能器件結構框圖: 圖 1.2 USB 功能器件結構框圖USB 設備之所以會被大量應用,主要具有以下優(yōu)點:1)可以熱插拔 2)系統(tǒng)總線供電,低功率設備無需外接電源,采用低功耗設備,并可提供 5V/500mA 電USB接口D+D-SIE (串行接口引擎)PLL傳感器EPROMDSP(數字信號處理器)晶體咔嚓大學 2008 屆本科生畢業(yè)論文 3 源。3)支持設備眾多,支持多種設備類,例如鼠標,鍵盤,打印機等。4)

11、擴展容易,最多可連接 127 個外設。5)高速數據傳輸,USB1.1 是 12Mb/s,USB2.0 高達 480Mb/S。6)方便的設備互連,USB OTG 支持點對點通信,例如數碼相機和打印機直接互連,無需PC。1.1.4 USB 傳輸方式及電氣特性1、傳輸方式:針對設備對系統(tǒng)資源需求的不同,在 USB 規(guī)范中規(guī)定了四種不同的數據傳輸方式:1)批(Bulk)傳輸方式:主要應用在數據大量傳送和接受,同時又沒有帶寬和間隔時間要求的情況下,要求保證傳輸正確無誤的數據。通常打印機、掃描儀 和數字相機以這種方式與主機聯(lián)接。這種類型的設備適合于傳輸非常慢和大量被延遲的傳輸,可以等到所有其它類型的數據的

12、傳送完成之后再傳送和接收數據。2)同步傳輸方式(Isochroous):該方式用來連接需要連續(xù)傳輸的數據,如麥克風、喇叭和電話等。同步傳輸方式以固定的傳輸速率,連續(xù)不斷地在主機與 USB 設備之間傳輸數據,在傳送數據發(fā)生錯誤時,USB 并不處理這些錯誤,而是繼續(xù)傳送新的數據。同步傳輸提供了確定的帶寬和間隔時間(latency)。它被用于時間嚴格并具有較強容錯性的數據傳輸,或者用于要求恒定的數據傳送率的即時應用中。例如執(zhí)行即時通話的網絡電話應用時,使用同步傳輸模式是很好的選擇。同步數據要求確定的帶寬值和確定的最大傳送次數。對于同步傳送來說,對數據的正確性要求不高而對時間則極為敏感的外部設備來說很

13、重要,因為即時的數據傳遞比完美的精度和數據的完整性更重要一些。3)中斷傳輸方式(Interrupt):該方式傳送的數據量很小,但這些數據需要及時處理,以達到實時效果。主要用于定時查詢設備是否有中斷數據要傳送。設備的端點模式器的結構決定了它的查詢頻率,從 1 到 255ms 之間。這種傳輸方式典型的應用在少量的分散的、不可預測數據的傳輸。鍵盤、操縱桿和鼠標等設備就屬于這一類型。中斷方式傳送是單向的并且對于 host 來說只有輸入的方式。4)控制傳輸方式(Control):該方式用來處理主機到 USB 設備的數據傳輸。包括設備控制指令、設備狀態(tài)查詢及確認命令。當 USB 設備收到這些數據和命令后,

14、將依據先進先出的原則處理到達的數據??刂苽魉褪请p向傳送,通常數據量比較小。USB 系統(tǒng)軟件用來主要進行查詢、配置和給 USB 設備發(fā)送通用的命令??刂苽魉头绞娇梢园?8、16、32 和 64 字節(jié)的數據,這依賴于設備和傳輸速度??刂苽鬏數湫偷赜迷谥饔嬎銠C和 USB 外設之間的端點(Endpoint)0 之間的傳輸,但是指定供應商的控制傳輸可能用到其它的端點。2、電氣特性咔嚓大學 2008 屆本科生畢業(yè)論文 4 USB 的電纜有四根線,兩根傳送的是 5V 的電源,定義如表 1.3,有一些直接和電源HUB 相連的設備可以直接利用它來供電。另外的兩根是差分信號的數據線 D 、D 。數據線是單工的,

15、在整個的一個系統(tǒng)中的數據速率是一定的,要么是高速,要么是低速,沒有一個可以中間變速的設備來實現數據流的變速。 USB 的總線可以在不使用的時候被掛起,這樣一來就可以節(jié)約能源。 在有些時候的總線還有可能延遲(stall),比如說在數據傳送的時候突然被打斷,這個時候通過 host 的重新配置可以實現總線的重新工作。引腳定義描述1VCC+5 VDC2D-Data -3D+Data +4GNDGround表 1.3USB 接口定義1.1.5 USB2.0 由于 USB 1.1 所規(guī)定的最大傳輸速率只有 12Mbps,所以康柏、惠普、Intel、微軟、NEC 以及飛利浦等幾個公司又聯(lián)合制訂了 USB 2

16、.0 規(guī)范。USB 2.0 將傳輸速率提升至480Mbps,足以滿足大多數外設的速率要求。而且 USB 2.0 可以向下兼容,所有支持USB 1.1 的設備都可以直接在 USB 2.0 的接口上使用而不必擔心兼容性問題,而且如USB 線、插頭等附件也都可以直接使用。但是反之,USB 2.0 的設備則不可能在 USB 1.1 上正常工作,除非廠商在設計之初就將其設計為 USB 1.1 和 2.0 通用。1.2USB 集線器的基本知識及發(fā)展1.2.1 USB 簡述在即插即用的 USB 的結構體系中,集線器是一種重要設備。如圖 1.4 所示的 圖 1.4 典型集線器示意圖一種典型的集線器。從用戶的觀

17、點出發(fā),集線器極大簡化了 USB 的互連復雜性,而且以很低的價格和高易用性提供了設備的健壯性。 咔嚓大學 2008 屆本科生畢業(yè)論文 5 集線器是串接在 USB 總線系統(tǒng)上的,可讓不同性質的設備連接在 USB 上,連接點稱作端口。每個集線器將一個連接點轉化成許多的連接點。并且該體系結構支持多個集線器的連接。 每個集線器的上游端口向主機方向進行連接。每個集線器的下游端口允許連接另外的集線器或功能部件,集線器可檢測每個下游端口的設備的安裝或拆卸,并可對下游端口的設備分配能源,每個下游端口都具有獨立的能力,不論高速或低速設備均可連接。集線器可將低速和高速端口的信號分開。一個集線器包括兩部分:集線控制

18、器(Controller)和集線放大器(Repeater)。集線放大器是一種在上游端口和下游端口之間的協(xié)議控制開關。而且硬件上支持復位、掛起、喚醒的信號。集線控制器提供了接口寄存器用于與主機之間的通信、集線器允許主機對其特定狀態(tài)和控制命令進行設置,并監(jiān)視和控制其端口。1.2.2 USB 集線器的發(fā)展狀況USB 集線器作為 USB 總線拓撲結構中的連接部分已經起到了不可或缺的作用,它為USB 系統(tǒng)提供額外的連接點,總線拓撲結構中的每一層都是集線器和功能設備之間點到點的連接。而 USB 集線器芯片負責將一個 USB 上行端口轉化為多個下行端口,它是構成 USB 集線器的必需部件。有一些集線器芯片提

19、供了驅動外圍電路的 I/O 口,可構成USB 復合設備,如 Intel 公司在 1996 年 11 月推出的世界上第一塊 USB 集線器芯片8x930Hx,就是一塊提供 32 個外部 I/O 口的 USB1.0 集線器芯片。世界上第一塊 USB2.0集線器芯片是 NEC 公司于 2001 年 8 月發(fā)布的 uPD720110,它支持 4 個下行端口。下表1.5 列出了世界上主要 USB 芯片供應商的一些 USB 集線器芯片。表 1.5 集線器芯片公司USB 芯片推出時間/(年、月)下行端口/個USB 規(guī)范應用Intel8x930Hx8x931Hx1996.111997.11451.01.0復合

20、設備復合設備CypressCy7C65013Cy7C65100Cy7C651132000.12000.12000.17441.11.11.1集線器集線器集線器咔嚓大學 2008 屆本科生畢業(yè)論文 6 Cy7C66013Cy7C66113Cy7C656402000.12000.12002.84441.11.12.0復合設備復合設備集線器NECuPD72012uPD7201101999.42001.8541.12.0集線器集線器PhilipsISP1122AISP11231999.51999.1025251.11.1集線器復合設備TITUSB2077ATUSB2036TUSB2136TUSB204

21、6BTUSB5052TUSB51522000.32000.32001.22000.12001.22001.272524551.11.11.11.11.11.1集線器集線器復合設備集線器復合設備復合設備2USB 集線器集線器是 USB 總線拓撲結構的核心,它為 USB 系統(tǒng)提供額外的連接點,并完成 USB數據流的上下行傳輸。在 USB 總線上,所有的設備都是連接在 USB 集線器的下游端口上,同時也為設備提供所需電源,為設備的即插即用做好準備。2.1集線器的結構USB2.0 集線器包含中繼器、控制器和事務翻譯器(TT)三部分,其結構如圖 2.1所示。其中,集線器中繼器負責完成其上行端口和下行端口

22、間的數據傳輸,它只適用于上下行端口具有相同傳輸速率的情況;集線器控制器負責提供狀態(tài)機制和控制機制,并和主機進行通信;事務翻譯器負責把低速/全速 USB 傳輸從高速傳輸中分離出來,它只適用于當集線器工作于高速模式下其下行端口連接低速/全速 USB 設備的情況。另外,咔嚓大學 2008 屆本科生畢業(yè)論文 7 集線器中的路由選擇邏輯負責完成其下行端口與中繼器或事務翻譯器間的連接。 圖 2.1 集線器的結構 圖 2.1 集線器的結構USB2.0 集線器既可工作于高速模式又可工作于全速模式,其實際工作模式由上行端口的連接情況決定。當上行端口以全速連接時,集線器會工作于全速模式下,這時事務翻譯器將停止工作

23、,中繼器將僅限于低速/全速中繼,路由選擇邏輯會將其下行端口連接至中繼器。當上行端口以高速連接時,集線器會工作于高速模式下,這時中繼器將僅限于高速中繼;如果其下行端口上連接有高速設備,則路由選擇邏輯會將該端口連接至中繼器。如果其下行端口上連接有低速/全速設備,則路由選擇邏輯會將該端口連接至事務翻譯器。2.1.1 USB 集線器端口在 USB 協(xié)議中 USB 設備與 USB 集線器的連接點被稱為端口(Port) ,每個 USB集線器將一個連接點轉化成多個連接點。每個 USB 集線器都包含上游端口(Upstream Port)和下游端口(Downstream Port) 。上游端口是面向 USB 主

24、機(HOST)方向進行連接的,而下游端口是面向 USB 設備進行連接的。下游端口允許連接另外的集線器或USB 設備。除了根集線器外,每個 USB 集線器都包括一個惟一的上游端口和一個以上的下游端口。USB 集線器可以檢測每個下游端口的設備的連接和斷開,并為下游端口的 USB 設備提供電源,每個下游端口都具有獨立的能力,不論全速和低速 USB 設備均可連接,USB 集線器可以將全速和低速端口的信號分開,并做相應的處理。下行端口PortNPort2Port1下行端口狀態(tài)機制Port0上行端口狀態(tài)機制事務翻譯器中繼器 集線器 狀態(tài)機制控制器路由選擇邏輯上行端口咔嚓大學 2008 屆本科生畢業(yè)論文 8

25、 在 USB 集線器上電后,USB 集線器的上游端口需要一直處于啟用狀態(tài),以便與USB 主機進行數據傳輸;而下游端口在正常工作的過程中可能會處于以下 4 種狀態(tài)之一: (1)啟用狀態(tài)(Enable State):在該狀態(tài)下,USB 數據包可以在端口上傳輸。 (2)無效狀態(tài)(Disable State):在該狀態(tài)下,USB 數據包不能在該端口上傳輸,只能通過 USB 主機對集線器的控制命令來啟用該端口。 (3)掛起狀態(tài)(Suspended State):在該狀態(tài)下,USB 設備可以通過發(fā)送總線恢復信號來使能該端口。 (4)無連接狀態(tài)(Disconnected State):在該狀態(tài)下,USB 集

26、線器端口處于懸空狀態(tài),無任何設備連接。2.1.2 集線器中繼器集線器中繼器包含一個上行端口和若干個下行端口,并負責完成這些上下行端口間的數據傳輸。其上行端口用于連接 USB 主機,下行端口用于連接 USB 設備。指向上行端口的數據傳輸稱為上行通信,指向下行端口的數據傳輸稱為下行通信。當中繼器傳輸 USB 信息包時,其可工作于三種狀態(tài):空閑、上行通信和下行通信,如圖所示。當中繼器處于空閑狀態(tài)時,其不處理任何 USB 數據傳輸,且其所有端口都將等待下一 USB 信息包的到來。當中繼器工作于上行通信狀態(tài)時,其數據傳輸是一對一的,即僅在啟動此次通信的下行端口和上行端口間進行,而其他下行端口都不會看到該

27、上行通信。當中繼器工作于下行通信狀態(tài)時,其數據傳輸是一對多的,即其上行端口接收到主機發(fā)出的信息包后會把該信息包發(fā)送給其他所有已經使能的下行端口,被禁止的下行端口不會參與信息包的傳輸。圖 2.2 信息包的傳輸當中繼器傳輸 USB 復位信號時,其只能工作于兩種狀態(tài):上行通信和下行通信,下行端口上行端口上行通信使能的端口禁止的端口下行通信咔嚓大學 2008 屆本科生畢業(yè)論文 9 且它們都是一對多的,如圖 2.3 所示。對于上行通信,當中繼器接收到其某一下行端口發(fā)出的復位信號后,它將把該復位信號向上傳輸,同時也會把它發(fā)送給其所有已經使能的下行端口。對于下行通信,中繼器會把其上行端口接收到的復位信號發(fā)送

28、給其所有已經使能的下行端口,被禁止的下行端口不會參與復位信號的傳輸。上行端口下行端口上行通信下行通信使能的端口禁止的端口復位源端口圖 2.3 復位信號的傳輸2.1.3 集線器控制器集線器控制器負責提供狀態(tài)機制和控制機制,并和主機進行通信,其功能通過集線器的端點 0 和狀態(tài)變化端點實現,如圖 2.4 所示。其中,端點 0 對應集線器缺省控制管道,除標準 USB 設備請求外,它還負責處理集線器設備類定義請求;狀態(tài)變化端點是集線器設備類專門定義的,它采用中斷 IN 傳輸周期性地向主機報告集線器和其所有下行端口地狀態(tài)變化。圖 2.4 集線器控制器的組成對于端點 0,它實現了集線器的缺省控制 管道,并能

29、處理 11 種標準 USB 設備請求咔嚓大學 2008 屆本科生畢業(yè)論文 10 和 12 種集線器設備類定義請求。對于狀態(tài)變化端點,它負責向主機報告集線器和其他所有下行端口的狀態(tài)變化。在集線器連接至 USB 后,主機馬上會采用中斷 IN 傳輸來周期性地查詢該狀態(tài)變化端點。如果集線器和其下行端口地狀態(tài)都沒有發(fā)生變化,該端點將向主機返回 NAK 握手包;如果它們之一發(fā)生了變化,該端點將向主機返回相應地狀態(tài)變化信息。主機會對該狀態(tài)變化信息進行解碼,以確定發(fā)生狀態(tài)變化的是集線器還是其下行端口。如果是下行端口的狀態(tài)發(fā)生了變化,則主機會進一步發(fā)出GetPortStatus 請求,以獲取該端口狀態(tài)變化的詳細

30、情況,如 USB 設備的連接、斷開和掛起等;如果是集線器的狀態(tài)發(fā)生了變化,則主機會進一步發(fā)出 GetHubStatus 請求,以獲取該集線器狀態(tài)變化的詳細情況。2.1.4 集線器事務翻譯器(TT)當 USB2.0 集線器工作于高速模式下時,如果其下行端口上連接有低速/全速 USB設備,則集線器事務翻譯器負責把低速/全速傳輸從高速傳輸中分離出來,以使其上行端口仍采用 480Mb/s 的高速傳輸速率,這樣可以減少低速和全速傳輸對對高速 USB 總線帶寬造成的影響。對于上行端口,事務翻譯器是其 USB 高速功能單元;對于下行端口,事務翻譯器是其 USB 主控制器。2.2USB 集線器功能描述從根本上

31、講,USB 集線器的設計是 USB 總線拓撲結構的必然產物??偟膩碚f,協(xié)議為集線器定義了如下幾個功能:連接功能電源管理功能總線的錯誤檢測和恢復功能 對設備的插入和拔下的處理功能集線器的掛起和恢復功能2.2.1 設備擴展正如 USB 系統(tǒng)結構所表示的,所有系統(tǒng)中的 USB 設備都是連接在 USB 集線器所提供的設備連接端口上,即使與 USB 主機直接相連的設備也是通過具有普通 USB 集線器相同功能的根集線器(Root Hub)提供的端口連接的。USB 集線器使得 USB 系統(tǒng)總線擴展成為可能,所有的 USB 主機與 USB 設備的通信數據都必須通過 USB 集線器進行轉發(fā)。USB 集線器都包含

32、一個上游端口(連接 USB 主機方向的接口)和多個下游端口(連接USB 設備方向的接口)。根據 USB 規(guī)范,USB 設備與 USB 集線器之間的長度不能超過5m,如果需要更長距離的數據通信,則可通過級聯(lián) USB 集線器的方式來增加傳輸距離,但考慮到系統(tǒng)延時,USB 集線器的級聯(lián)不能超過 5 級,也就是說,USB 設備與 USB 主機的傳輸距離不能超過 30m。咔嚓大學 2008 屆本科生畢業(yè)論文 11 2.2.2 電源管理電源管理是 USB 總線區(qū)別與以往計算機外設接口總線的一大特點,也是實現即插即用的一個重要條件。USB 協(xié)議將電流分成負載單元,每個單元的負載是 100mA,USB設備可以

33、根據需要,最大獲得 500mA 的電流。當集線器剛剛接入到某個上游集線器的端口上或系統(tǒng)重啟時,它會從上游端口上獲得不超過一個負載單元的電流。當正常工作時,集線器會從上游端口申請獲得 5 個負載單元的電流。從電源的提供方式上,集線器分成自供電和總線供電兩種??偩€供電的集線器為其下游端口提供的最大電流為100mA,而自供電的集線器為下游端口提供的最大電流為 500mA。對于總線供電的集線器下游端口來說,當它處于斷開連接、失效或掛起時,它提供的電流不超過 100mA。當它處于工作狀態(tài)時,它提供的電流是 100mA。對于自供電的集線器來說,它的控制器、中繼器和所有下游端口所需要的電流總共不會超過 50

34、0mA。一般來說,除了控制器和中繼器需要部分電流外,剩下的電流只能允許集線器支持 4個或更少的下游端口。為了獲得 500mA 的電流,總線供電的集線器只能連接到自供電的集線器的下游端口上才能正常工作。對于自供電的集線器來說,它一般支持兩種供電配置,自供電和總線供電。如果選擇自供電方式,自身需要的所有電流都由自己負擔。對于下游端口來說,當它處于斷開連接、失效或掛起時,它提供的電流不超過 100mA。當它處于工作狀態(tài)時,它提供的電流是 500mA。自供電的集線器可以有電源開關,用來控制對每個下游端口的供電情況,但這并不是必須的。而總線供電的集線器要求有電源開關。有電源開關的集線器可以控制以組為單位

35、的端口的電源,或每個端口的電源。集線器通過類描述符中的字段wHubCharaCteristic 來指示是否支持電源開關,字段的具體細節(jié)在后面提供。如果集線器支持對每個端口都有電源開關,那么端口的電源通過集線器設備類命令SetPortFeature(PORT_POWER)打開。如果集線器支持以組為單位的電源開關,在接受到 SetPortFeature()命令后,組中所有的端口都將處于有電狀態(tài)。盡管自供電的集線器可以沒有電源開關,但它必須支持對所有的下游端口斷電的功能。集線器對電流過載保護處理的供電的處理類似,也可以分組,并且電流過載保護的分組和電流開關的分組是獨立的。當發(fā)生電流過載時,集線器會停

36、止對出現電流過載的端口組供電,同時通過 GetPortStatus()類命令獲得端口狀態(tài)中電流過載情況,集線器的客戶端驅動程序會根據具體的端口做出處理,清除電流過載的錯誤狀態(tài)。當出現電流過載時,集線器會斷開出現電流過載的端口組的電源,主機上的集線器的客戶端程序會向此集線器發(fā)出類命令獲得具體的電流過載情況。然后,它會重新為這些端口提供電能。因為端口已經斷電,所有從主機端來看,連接到端口上的設備都從總線上拔下,主機的協(xié)議軟件會釋放分配給它們的資源,它們各自相應的客戶端驅動程序也會進行一系列的資源釋放工作;當端口重新獲得電源時,這些設備會被看咔嚓大學 2008 屆本科生畢業(yè)論文 12 成時新插上的設

37、備,從而得到重新配置。2.2.3 錯誤診斷和恢復作為 USB 設備與系統(tǒng)總線的連接點,USB 集線器必須能夠及時地檢測到總線或內部部件的錯誤,并能從錯誤中恢復過來,避免出現死鎖等現象。1 控制器的錯誤恢復一個集線器控制器可對包傳輸的破壞進行響應,并能從中恢復過來。它能夠對令牌包、數據包和握手包的錯誤都做出反應。對于所有包的包標識錯誤,控制器會檢測包標識的檢驗位,如果出錯,就忽略此包。對于令牌包的數據部分錯誤,控制器同樣會忽略此包。當數據包的數據信息出現 CRC 錯誤時,控制器會丟棄此數據包。2 中繼器的錯誤恢復集線器能夠檢測出包結尾(EOP) ,并能夠從無限期的等待中,或者一幀的結束時,總線所

38、處的某個非空閑的狀態(tài)中恢復過來。有兩種集線器的故障情況:動作丟失和串擾。動作丟失表示在檢測到起始包(SOP)后,缺少了必備的總線活動或在一幀的結束時沒有檢測到包結束信號(EOP) 。串擾表示包起始后出現了跨越一幀的終點而繼續(xù)進行此包的傳輸。集線器不了解所分配的帶寬,必須依賴自己的幀定時器來檢測到動作丟失和串擾。3 集線器的同步每個集線器都有一個幀計時器,它的時鐘來自集線器自身的時鐘并通過檢測來自于主機的幀開始(SOF)包與主機的時鐘同步。它在一定的周期內跟蹤主機的幀開始包,每一次檢測到一個幀起始包時都會重新復位,并負責產生幀結束的時刻。幀計時器要求有對丟失至多兩個連續(xù)的幀起始包的情況做出錯誤恢

39、復功能。當集線器和主機的同步存在偏移時,幀計時器必須仍能夠跟主機重新同步。當檢測到第一個幀的起始包時,幀計時器開始以 12MHz 的周期計數,它連續(xù)計數直到檢測到了下個幀的起始包為止。當幀計時器復位時,先前的值會作為前一次的幀長度而保存起來,表示主機幀的時間周期。如果接收幀起始包的操作失敗,集線器會使用前一個幀長度值來作為對當前幀長度的近似值。因此當丟失兩個連續(xù)的幀起始包時,集線器仍能和主機同步。2.2.4 對設備連接/斷開的處理當一個 USB 設備連接到 USB 總線上或斷開與 USB 總線的連接時,USB 集線器必須負責檢測到這一狀態(tài)的變化,并通過 USB 主機對集線器的數據訪問請求,將端

40、口的狀態(tài)變化通知給 USB 主機。在集線器的設備類中,除了用于控制傳輸的端點 0 外,每個集線器還有一個中斷類型端點:“狀態(tài)變化端點” 。主機通過這個狀態(tài)變化端點來接收集線器和其它各個下游端口的狀態(tài)變化情況。集線器在功能上的邏輯如圖 2.5 所示。集線器和其端口的變化情況是以位圖的形式通過狀態(tài)變化端點送往主機端集線器的客戶端驅動程序的,其咔嚓大學 2008 屆本科生畢業(yè)論文 13 中包括設備的插上和拔下的事件,其位圖如圖 2.6 所示。圖 2.5 集線器邏輯組織示意圖圖 2.6 狀態(tài)變化位圖N210位圖的第 0 位表示集線器本身變化,包括集線器的供電情況和電流的過載情況的變化。從第一位開始,每

41、一位表示端口的狀態(tài)變化情況,包括端口的設備連接、端口的啟用、掛起和電流過載的變化。對所有的二進制位來說,只要它所代表的對象有任一情況發(fā)生變化時,它都被置為 1,若無變化則為 0。主機端集線器的客戶驅動程序接收到位圖信息后會啟動集線器狀態(tài)變化的處理過程完成對狀態(tài)變化的處理。圖 2.7 顯示了它的處理過程。端口 N 變化檢測端口 1 變化檢測端口 2 變化檢測集線器變化檢測咔嚓大學 2008 屆本科生畢業(yè)論文 14 圖 2.7 狀態(tài)變化的處理2.2.5 集線器的掛起和恢復功能為了省電,集線器支持對傳輸的掛起,它的上游端口檢測總線的空閑時間超過 3ms時,集線器就會進入掛起狀態(tài)。這種情況可能由于連接

42、此集線器的集線器斷開了它的下游端口的連接或進入斷電狀態(tài),也有可能是總線本身由于 USB 主機沒有傳輸任務停止了對 SOF 的傳輸。當進入掛起狀態(tài)是,集線器保存其所有下游端口的當前狀態(tài),如果在工作狀態(tài)接受到 SetPortFeature(port_suspend)命令主動掛起某個端口,則此端口進入掛起狀態(tài),其他端口狀態(tài)不受影響。否是是否開始系統(tǒng)軟件為狀態(tài)變化端點創(chuàng)建中斷傳輸管道,接收中斷變化信息有變化?Hub 發(fā)送NAK 握手包中斷傳輸管道返回集線器和端口變化的位圖中斷管道結束數據傳輸系統(tǒng)軟件或驅動程序讀取變化對象(集線器或端口)的狀態(tài)信息確有變化?清除相應變化狀態(tài)系統(tǒng)軟件或驅動程序處理所有的變

43、化信息為狀態(tài)變化端點重新初始化中斷傳輸管道返回咔嚓大學 2008 屆本科生畢業(yè)論文 15 當端口接收到 ClearPortFeature(port_suspend)命令時,會從掛起狀態(tài)中恢復到工作狀態(tài),如果集線器檢測到恢復信號時,它就返回工作狀態(tài)。當集線器接收到喚醒信號或硬件重啟信號時,都會使集線器恢復成工作狀態(tài)。如果集線器支持設備的遠程喚醒功能,當有設備拔下或插上、電流過載等信號時,都會使集線器恢復成工作狀態(tài)。如果集線器支持設備的遠程喚醒功能,當集線器處于掛起狀態(tài)時,設備從某個下游端口處被拔下,此端口會自動進入斷開狀態(tài)。3USB 集線器的設計3.1USB 集線器的軟件結構一個 USB 設備能

44、夠正常工作需要有 PC 機和 USB 設備雙方共同的軟硬件支持。USB集線器的硬件結構由集線器中繼器、集線器控制器和端口組成。在前面已經詳細講述了。在硬件方面,PC 機必須提供 USB 主機和 USB 集線器端口,而 USB 設備提供 USB 接口。 在軟件方面,PC 機必須包含 USB 系統(tǒng)軟件、設備的客戶端驅動程序和應用軟件,而在 USB 設備端,必須包含設備功能軟件、端點 0 和其它非 0 端點,非 0 端點被用來支持特定功能的數據傳輸。USB 系統(tǒng)軟件根據功能分成 USBD 和 HCD 上下兩部分。HCD為上層提供了主機控制器的抽象以及數據在總線上傳輸的抽象。USBD 為上層的客戶端驅

45、動程序提供了 USB 設備的抽象,并在客戶端驅動程序和所驅動的設備之間提供了數據傳輸的抽象。USB 集線器客戶端驅動程序是一個特殊的客戶端驅動程序。當集線器接收到設備的接入時,會由集線器的客戶端驅動程序調用 USB 系統(tǒng)軟件提供的功能完成對設備的配置,配置程序通過創(chuàng)建默認控制管道與設備建立聯(lián)系,獲得設備的各種描述符,然后配置程序會為設備的每個接口提供匹配的客戶端驅動程序??蛻舳蓑寗映绦驈挠脩舻慕嵌瓤聪喈斢趥鹘y(tǒng)意義上的設備驅動程序。不過設備端不同的接口對應不同的客戶驅動程序,如果設備只有一個接口,那么從用戶來看,兩者是一樣的。客戶端驅動程序通過 USB 系統(tǒng)軟件提供的接口與設備交互,而不是通過過

46、去的 I/O 地址或端口訪問設備。在 PC 機端,操作系統(tǒng)(如 Windows 和 Linux 等)一般都支持 HCD、USBD 和標準的設備類驅動程序。如果設計一個標準類型的 USB 設備(如 HID 設備、存儲設備等),且 PC 機的操作系統(tǒng)支持該類 USB 設備驅動程序,則不必再花費力氣設計 PC 機端的特定設備接口的驅動程序。3.2USB 集線器的開發(fā)流程由于 USB 總線具有即插即用、總線供電等諸多優(yōu)勢,但也有數據傳輸帶寬、數據傳輸距離等限制。因此,在 USB 設備設計之前必須對設備接口的需求進行分析。采用并行模式的系統(tǒng)開發(fā)方式,軟硬件同時進行,可以大大縮短設備的開發(fā)周期,提高產品的

47、開發(fā)效率。如圖 3.1。咔嚓大學 2008 屆本科生畢業(yè)論文 16 USB 集線器定義性能指標選擇集線器芯片準備開發(fā)環(huán)境硬件測試和調試軟件編程和調試芯片固件設備驅動用戶界面軟硬件集成集線器測試和調試圖 3.1 USB 集線器開發(fā)流程圖3.3USB 集線器設計實例以 GL650 控制芯片為實例常用的 USB 集線器(基于 USB1.1 協(xié)議)的控制芯片有:Alcor Micro 公司的AU9254,Atmel 公司的 AT43301,Genesys Logic 公司的GL650USB、GL651USB,Motorola 公司的 MC141555、MC141556,Philips 公司的PDIUS

48、BH11 等等。下面以 Genesys Logic 公司的 GL650USB 為例,介紹 USB 集線器的設計。GL650 芯片是一個具有 5 個端口的 USB 集線器,其主要是有一個上行端口和四個下行端口。每個下游端口都有電源開關控制和電流過載檢測。它主要運用一個類似于八位的 RISC 對主機的命令進行編碼和解碼。GL650 的設計主要用于獨立的集線器,也可以集成到 PC 機的主板或者任何其他器件上以支持 USB 集線器的功能。該芯片能夠在不需要重新拔出和插入而自動在自行供電和總線供電之間進行切換。GL650 芯片能夠被設置成單獨模式或者是組的模式以用來對下行端口的器件進行電源管理。為了防止

49、不咔嚓大學 2008 屆本科生畢業(yè)論文 17 正常的下游端口器件的電流消耗,GL650 芯片通過讀入電流溢出標志位來提供電源使能標志位。通過 LED 閃亮來支持智能通信指示,數據通信流過端口的速度越快,端口指示 LED 的閃亮的頻率越高。當USB被掛起時,GL650將自行關掉LED并且停止運行時鐘以減少電源的損耗。單芯片集成的USB集線器控制器大大節(jié)省了開發(fā)USB集線器的成本。L650USB完全兼容USB1.1協(xié)議,內建了3.3V電壓轉換,這樣減少了USB集線器的開發(fā)成本。GL650USB采用48管腳的LQFP封裝。GL650的管腳定義如圖3.2中所示。詳細的管腳定義、系統(tǒng)結構框圖、電器特性等

50、參考附錄部分。 圖3.2 GL650芯片管腳示意圖以 GL650USB 為集線器控制器的原理圖如下。其中,USB_DP、USB_DM 為 USB 集線器的上游端口,USB1-4_DP、USB1-4_DM 為集線器的 4 個下游端口。XTAL1、XTAL2 需要外接 12M 的晶振。GL650USB 在 15 管腳(VCC3V)能夠輸出 3.3V 電壓為上游端口 D+的上拉電阻提供 3.3V 電壓。這樣不用外接 3.3V 電源,只需要從上游端口引入 5V 電源即可使集線器工作,從而可以減少生產成本。咔嚓大學 2008 屆本科生畢業(yè)論文 18 咔嚓大學 2008 屆本科生畢業(yè)論文 19 USB 集

51、線器是一個標準類型的 USB 設備,且大多數操作系統(tǒng)(如 Windows 和 Linux等)都支持該類 USB 設備驅動程序,所以不必再設計 PC 機端的特定設備接口的驅動程序。將 USB 集線器直接和 PC 機相連,PC 機自動識別。 這樣一個支持 USB1.1 協(xié)議、擁有 4 個下游端口的 USB 集線器設計完成。咔嚓大學 2008 屆本科生畢業(yè)論文 20 總 結通過閱讀大量英文文獻和中文資料,了解了 USB 總線的基本知識,如 USB 的體系結構和特點包括總線特征協(xié)議定義傳輸方式和電源管理等等,對 USB 總線的基礎知識、產生和發(fā)展,數據在 USB 總線上的傳輸機理, 高速 USB2.0

52、 的數據傳輸能力,USB 支持的控制傳輸、 同步傳輸、 塊傳輸及中斷傳輸 4 種傳輸類型,以及 USB2.0 總線的應用場景有了更深的理解。還學習了 Genesys Logic 公司的 GL650USB 芯片的相關知識,以及如何去開發(fā)一個簡單集線器的基本流程。希望在以后有時間的話,繼續(xù)學習更多關于 USB 集線器方面的知識,來拓展學習的空間。 咔嚓大學 2008 屆本科生畢業(yè)論文 21 參考文獻 22 參考文獻1USB 接口開發(fā)技術 專著胡曉軍,張愛成 編著,2005.52USB2.0 原理與工程開發(fā) 專著王成儒 李英偉 編著,2004.13USB2.0 設備的設計與開發(fā) 專著邊海龍,賈少華

53、編著,2004.14USB 系統(tǒng)體系(第 2 版) 專著美國邁舍爾公司 編,2003.95USB 設計應用實例 (美)海德(Hyde,j.) 著;孫耀國 譯,2003.66USB 技術及應用設計 專著肖踞雄 著,2003.117USB 外圍設備設計與應用 專著許永和 著,2002.78USB 接口設計 專著張弘 編著,2002.129USB 2.0 硬件設計 專著蕭世文 著,2002.1010 GL650USB HUB CONTROLLER 專著/ Tsao Ti Wei 著,Dec. 22, 199911 Universal Serial Bus Specification, Revisio

54、n 1.0 USB Implementers Forum, January 15, 1996附 錄 23 附 錄GL650 USB 控制器芯片介紹特性USB集線器的廉價解決方案USB遵守的規(guī)范:遵守USB1.1修訂協(xié)議訪問一個設備地址,支持兩個終點8位的微處理器:仿RISC(精簡指令)的架構USB優(yōu)化指令設置單周期的指令流程運行速度:24 MHz的時鐘頻率性能:在24 MHz的輸入下每秒處理12 MIPS(每百萬條指令)輸入輸出端口:GL650用于帶有四下游端口的集線器內部緩存:64字節(jié)的RAM1.75K*14的可編程ROM板載3.3v輸出:無需額外的電壓調校集成的USB收發(fā)器12 MHz的外

55、部晶振內嵌電源重置開關自動電源檢測用于ESD恢復支持懸掛/正常工作模式的電源管理支持下行端口的電源管理自供電/總線供電模式間的自動切換智能LED通信狀態(tài)指示:數據通信流過端口的速度越快,端口指示LED的閃亮的頻率越高實際應用:獨立的USB集線器PC主板USB集線器48管腳的LQFP封裝附 錄 24 功能概述GL650芯片是一個具有5個端口的USB集線器,其主要是有一個上行端口和四個下行端口。它主要運用一個類似于八位的RISC對主機的命令進行編碼和解碼。GL650的設計主要用于獨立的集線器,也可以集成到PC機的主板或者任何其他器件上以支持USB集線器的功能。該芯片能夠在不需要重新拔出和插入而自動在自行供電和總線供電之間進行切換。GL650 芯片能夠被設置成單獨模式或者是組的模式以用來對下行端口的器件進行電源管理。為了防止反常的下游端口器件的電流消耗,GL650芯片通過讀入電流溢出標志位來提供電源使能標志位。通過LED閃亮來支持智能通信指示,數據通信流過端口的速度越快,端口指示LED的閃亮的頻率越高。當USB被掛起時,GL65

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論