標題: 揭秘USB復合設備,哎呦不錯哦。 [打印本頁]

作者: 51黑電子愛好者    時間: 2016-4-12 16:11
標題: 揭秘USB復合設備,哎呦不錯哦。
       USB接口的設備已經隨處可見,但是你知道它們的奧妙嗎?讓我來給你揭秘怎么在有限的USB插口上實現瑞士軍刀般種類繁多,功能齊全的設備。讓每一USB口都變成三頭六臂。

3,2,1,走(薛之謙臉)
大家好

今天我們要說一個USB接口的故事
簡介        USB復合設備,顧名思義就是一個具備多種功能的設備,不再是一個設備僅能提供一種用途。我知道電腦的USB插口是非常有限的,盡管可以使用USB Hub來擴展接口數,但是也不是無限多的,對于使用者想節(jié)省購買Hub的銀票,而對于開發(fā)者則希望可以既不占用多接口,又可以實現多功能,來贏得消費者的關注。USB復合設備就是解決這個問題的良好方案。
USB的自我介紹        說到USB復合設備就不得不說說USB的枚舉過程,也就是USB插入后主機的一系列動作。當然我們這里是不會用很專業(yè)的術語來說明的,相信如果你是開發(fā)者,必然已經了如指掌,如果你是使用者,更是不愿看到太多的專業(yè)術語的。

        我把USB的枚舉比作一個自我介紹,在插入后主機會詢問USB設備的屬性,而設備則像自我介紹一樣告訴主機自己的“名字”,“年齡”,“證件號”,“母語”等等。主機也是根據這些來區(qū)分插入的設備的。
復合設備原理        因此,我們可以做個假設是不是修改相應的身份信息(也就是描述符)就可以實現復合設備了呢?答案是肯定的,但是具體要修改那些描述符就需要來分析一下了。

        根據各個描述符記錄的信息,可以知道,因為復合設備是只占用一個設備號的,所以它也只會包含一個設備描述符,一個設備通常也只會有一個配置描述符,那么就可以知道真正能改變的描述就只有接口和端點描述符了,但是端點描述符是固定的,真正能改變的就只有端點報告數據的格式了即報告描述符。下面就介紹兩種實現復合設備的方法,它們也確實是與接口和端點相關的。

多接口復合設備實現
我們用一張圖片來解釋

多報告描述符復合設備
        多報告復合設備,就是在上報主機功能信息的時候,添加上信息所屬設備的編號即可讓主機輕而易舉獲得區(qū)分開不通的報告功能。最后一張實驗現象讓你明白復合設備。







歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1