找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 8794|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

揭秘USB復(fù)合設(shè)備,哎呦不錯(cuò)哦。

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:113517 發(fā)表于 2016-4-12 16:11 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
       USB接口的設(shè)備已經(jīng)隨處可見,但是你知道它們的奧妙嗎?讓我來給你揭秘怎么在有限的USB插口上實(shí)現(xiàn)瑞士軍刀般種類繁多,功能齊全的設(shè)備。讓每一USB口都變成三頭六臂。

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

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

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

        根據(jù)各個(gè)描述符記錄的信息,可以知道,因?yàn)閺?fù)合設(shè)備是只占用一個(gè)設(shè)備號(hào)的,所以它也只會(huì)包含一個(gè)設(shè)備描述符,一個(gè)設(shè)備通常也只會(huì)有一個(gè)配置描述符,那么就可以知道真正能改變的描述就只有接口和端點(diǎn)描述符了,但是端點(diǎn)描述符是固定的,真正能改變的就只有端點(diǎn)報(bào)告數(shù)據(jù)的格式了即報(bào)告描述符。下面就介紹兩種實(shí)現(xiàn)復(fù)合設(shè)備的方法,它們也確實(shí)是與接口和端點(diǎn)相關(guān)的。

多接口復(fù)合設(shè)備實(shí)現(xiàn)
我們用一張圖片來解釋

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


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表