USB總線枚舉過程
當(dāng)設(shè)備連接到主機(jī)時(shí),按照以下順序進(jìn)行枚舉:
本文引用地址:http://butianyuan.cn/article/201612/329137.htm1.連接了設(shè)備的HUB在HOST查詢其狀態(tài)改變端點(diǎn)時(shí)返回對(duì)應(yīng)的bitmap,告知HOST某個(gè)PORT狀態(tài)發(fā)生了改變。
2.主機(jī)向HUB查詢?cè)揚(yáng)ORT的狀態(tài),得知有設(shè)備連接,并知道了該設(shè)備的基本特性。
3.主機(jī)等待(至少lOOmS)設(shè)備上電穩(wěn)定,然后向HUB發(fā)送請(qǐng)求,復(fù)位并使能該P(yáng)ORT。
4.HUB執(zhí)行PORT復(fù)位操作,復(fù)位完成后該P(yáng)ORT就使能了?,F(xiàn)在設(shè)備進(jìn)入SUdefault狀態(tài),可以從Vbus獲取不超過lOOmA的電流。主機(jī)可以通過0地址與其通訊。
5.主機(jī)通過0地址向該設(shè)備發(fā)送get—device—descriptor標(biāo)準(zhǔn)請(qǐng)求,獲取設(shè)備的描述符。
6.主機(jī)再次向HUB發(fā)送請(qǐng)求,復(fù)位該P(yáng)ORT。
7.主機(jī)通過標(biāo)準(zhǔn)請(qǐng)求set—address給設(shè)備分配地址。
8.主機(jī)通過新地址向設(shè)備發(fā)送get—device_descriptor標(biāo)準(zhǔn)請(qǐng)求,獲取設(shè)備的描述符。
9.主機(jī)通過新地址向設(shè)備發(fā)送其他get—configuration請(qǐng)求,獲取設(shè)備的配置描述符。
10.根據(jù)配置信息,主機(jī)選擇合適配置,通過set—configuration請(qǐng)求對(duì)設(shè)備而進(jìn)行配置。這時(shí)設(shè)備方可正常使用。
當(dāng)USB設(shè)備被拆除時(shí),集線器也會(huì)通知主機(jī)。拆除一個(gè)設(shè)備會(huì)使該設(shè)備所接入的端口被禁用。一旦收到了拆除指示,主機(jī)將立即更新它的本地拓?fù)浣Y(jié)構(gòu)信息。
評(píng)論