多功能USB組合設(shè)備的結(jié)構(gòu)設(shè)計(jì)
2.2 組合設(shè)備的描述符結(jié)構(gòu)
如圖3所示,以兩個(gè)接口的組合設(shè)備為例,來說明組合設(shè)備的描述符結(jié)構(gòu)。一個(gè)設(shè)備描述符下有一個(gè)配置描述符,一個(gè)配置描述符下可以有多個(gè)接口描述符,分別對(duì)應(yīng)不同的設(shè)備。每個(gè)接口描述符下又包含多個(gè)端點(diǎn)描述符。一個(gè)USB邏輯設(shè)備對(duì)USB系統(tǒng)來說就是一個(gè)端點(diǎn)集合。端點(diǎn)可以根據(jù)它們實(shí)現(xiàn)的接口來分類。所有的USB設(shè)備都需要實(shí)現(xiàn)一個(gè)缺省的控制方法。這種方法將端點(diǎn)0作為輸入端點(diǎn),同時(shí)也將端點(diǎn)0作為輸出端點(diǎn)。USB系統(tǒng)用這個(gè)缺省方法初始化及一般地使用邏輯設(shè)備(即設(shè)置此設(shè)備)。設(shè)備可以有除端點(diǎn)0以外的其他端點(diǎn),這取決于這些設(shè)備的實(shí)現(xiàn)。低速設(shè)備除端點(diǎn)0外,只能有2個(gè)額外的可選端點(diǎn)。而高速設(shè)備可具有的額外端點(diǎn)數(shù)僅受限于協(xié)議的定義。除缺省控制通道的缺省端點(diǎn)外,其他端點(diǎn)只有在設(shè)備被設(shè)置后才可使用。而且除端點(diǎn)0外,其他端點(diǎn)在不同接口間不能共享。本文引用地址:http://www.ex-cimer.com/article/161413.htm
組合設(shè)備使用一個(gè)USB控制芯片,通過控制不同的接口與不同的設(shè)備進(jìn)行通信,解決了主機(jī)與組合設(shè)備內(nèi)各個(gè)設(shè)備數(shù)據(jù)流的區(qū)分問題。
3 組合設(shè)備的硬件實(shí)現(xiàn)
3.1 USB接口部分
設(shè)備采用Holtek公司的8位USB多媒體鍵盤編碼器HT82K95E作為本系統(tǒng)的核心。鼠標(biāo)、鍵盤等HID類設(shè)備為低速設(shè)備,所以該設(shè)備要能同時(shí)實(shí)現(xiàn)鼠標(biāo)和鍵盤數(shù)據(jù)同PC機(jī)的雙向傳輸,MCU首先必須具有低速的USB接口,并且支持3個(gè)端點(diǎn)(包括端點(diǎn)0)。綜合考慮,選用了HT82K95E作為本系統(tǒng)的主控芯片。由于鼠標(biāo)和鍵盤均屬于低速設(shè)備,所以應(yīng)在USB信號(hào)線上加1.5kΩ的上拉電阻。
3.2 MCU部分
USB接口部分原理圖如圖4所示。MCU的復(fù)位電路采用由R1和C1組成的RC積分電路來實(shí)現(xiàn)上電復(fù)位功能。上電瞬間,由于電容電壓不能突變,所以復(fù)位引腳為低電平,然后電容開始緩慢充電,復(fù)位引腳電位開始升高,最后變?yōu)楦唠娖剑瓿尚酒纳想姀?fù)位。HT82K95E微控制器內(nèi)部還包含一個(gè)低電壓復(fù)位電路(LVR)用于監(jiān)視設(shè)備的供電電壓。如果設(shè)備的供電電壓下降到0.9VLVR的范圍內(nèi)并且超過1 ms的時(shí)間。那么LVR就會(huì)自動(dòng)復(fù)位設(shè)備。
應(yīng)當(dāng)注意的是,對(duì)于該設(shè)備的復(fù)位電路,還應(yīng)加一個(gè)BAT54SW二極管,接法如圖4中D1所示。如果不加D1,設(shè)備在第一次使用時(shí)能夠正常復(fù)位,但在以后的使用中卻無法正常復(fù)位,原因是電容中的電荷無法釋放掉,而D1可以通過整個(gè)電路快速釋放掉電容中的電荷。
該組合設(shè)備采用HT82K95E USB控制芯片,通過對(duì)兩個(gè)接口的管理,實(shí)現(xiàn)了鼠標(biāo)和鍵盤的功能。
評(píng)論