USB的總線結(jié)構(gòu)
圖1 USB總線的階梯式星形結(jié)構(gòu)
圖2 USB總線的拓?fù)浣Y(jié)構(gòu)
在此的主機(jī)端通常是指PC主機(jī)。當(dāng)然,主機(jī)端因具有根集線器,因此也含有集線器的功能。而集線器是在USB規(guī)范中特別定義出來(lái)的外圍設(shè)備,除了擴(kuò)增系統(tǒng)的連接點(diǎn)外,還負(fù)責(zé)中繼(repeat)上端/下端的信號(hào)以及控制各個(gè)下端端口的電源管理。至于另一個(gè)設(shè)備,即是用戶常見的外圍設(shè)各。但在USB規(guī)范書中,稱這種設(shè)各為“功能”(functiONs),意味著此系統(tǒng)提供了某些“能力”,例如具有鍵盤或鼠標(biāo)等功能。當(dāng)然不同的外圍設(shè)各可以具有不同的功能。但基于使用上的習(xí)慣,用戶在本書中都以設(shè)各稱之。通過(guò)這種階梯式星形的連接方式,最多可同時(shí)連接到127個(gè)設(shè)備。
此外,當(dāng)USB 2.0與1.1的設(shè)各與集線器在一起使用時(shí),如何才能呈現(xiàn)出最佳的USB 2.0高速帶寬的特性?如圖3所示,當(dāng)USB 2.0與1.1規(guī)范的設(shè)各混合使用時(shí),整個(gè)總線上交雜著高速/全速的設(shè)各與集線器。而如圖4所示,惟有在USB 2.0集線器與USB 2.0設(shè)各的連接下,才具備高速總線帶寬的特性。
圖3 USB 1.1、USB 2.0設(shè)備與集線器-起工作的拓仆結(jié)構(gòu)
圖4 具備USB 2.0高速總線特性連接示意圖
但用戶可以試想一下,當(dāng)PC主機(jī)開機(jī)前,已有一些外圍設(shè)各連接上USB總線,那么PC是如何對(duì)所有連接至主機(jī)端的外圍設(shè)各加以區(qū)分并尋址呢?
首先,PC一接上電源時(shí),所有連接上USB的設(shè)各與集線器都會(huì)預(yù)設(shè)為地址0。此時(shí),所有的下端端口的連接器都處于禁用且為失效的狀態(tài)。然后,PC主機(jī)就會(huì)向整個(gè)USB總線查詢。若發(fā)現(xiàn)第1個(gè)設(shè)各,比方說(shuō)是鼠標(biāo),就將地址1分配給鼠標(biāo)。然后再往下尋找第2個(gè)地址,且目前仍為0的設(shè)各或集線器。若發(fā)現(xiàn)是集線器,就將地址2分配給此集線器,并激活其所擴(kuò)充的第1個(gè)下端端口的連接器。而后再沿此連接器一直往下尋找第3個(gè)地址,且仍為0的設(shè)各或集線器。這樣重復(fù)地尋找與分配地址,直到所有的外圍設(shè)各都賦予了新的地址,或已達(dá)到127個(gè)外圍設(shè)各的極限為止。
這種過(guò)程類似于將各個(gè)設(shè)備分別加以列舉的程序,稱之為設(shè)各列舉。當(dāng)然,主機(jī)在配置新地址的同時(shí),PC主機(jī)還要為每個(gè)新設(shè)各或集線器加載其所使用的驅(qū)動(dòng)程序。
若在此時(shí)一個(gè)新的設(shè)各被接上,PC主機(jī)就會(huì)預(yù)設(shè)此設(shè)各為地址0,且PC就會(huì)確認(rèn)并加載其相對(duì)應(yīng)的驅(qū)動(dòng)程序,并分配一個(gè)尚未使用到的新地址給它。而一旦某個(gè)設(shè)備突然被拔離后,PC可經(jīng)過(guò)D+或D-差動(dòng)信號(hào)線的電壓變化來(lái)檢測(cè)此設(shè)各被移除掉,然后就將其地址收回,并列人可使用的地址數(shù)值中。
評(píng)論