• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      多功能USB組合設(shè)備的結(jié)構(gòu)設(shè)計(jì)

      2011-06-22 08:19:06張秀娟梁波
      關(guān)鍵詞:缺省描述符固件

      張秀娟,梁波

      (山東科技大學(xué),青島266510)

      張秀娟(教授)、梁波(碩士研究生),研究方向?yàn)橛?jì)算機(jī)應(yīng)用技術(shù)、嵌入式系統(tǒng)及應(yīng)用。

      引 言

      隨著USB通信技術(shù)的不斷發(fā)展,USB接口得到了廣泛的應(yīng)用。單一功能的USB設(shè)備,如USB鍵盤(pán)、USB鼠標(biāo)、USB調(diào)制解調(diào)器等,已經(jīng)不能滿(mǎn)足人們對(duì)USB設(shè)備功能的要求。多功能的USB設(shè)備正不斷涌現(xiàn)出來(lái),常見(jiàn)的有帶話(huà)筒的USB攝像頭、USB可視電話(huà)等[1]。因此,研究多功能USB設(shè)備對(duì)于滿(mǎn)足人們對(duì)新型USB設(shè)備的需求是十分必要的。

      1 多功能USB設(shè)備的結(jié)構(gòu)模型

      多功能USB設(shè)備通常是通過(guò)單個(gè)或多個(gè) USB控制器連接不同類(lèi)型的設(shè)備來(lái)實(shí)現(xiàn)的。而在一個(gè)USB接口上實(shí)現(xiàn)多個(gè)設(shè)備有兩種方法:一種是復(fù)合設(shè)備(Compound Device),一種是組合設(shè)備(Composite Device)[2]。圖1和圖2分別給出了復(fù)合設(shè)備和組合設(shè)備的結(jié)構(gòu)模型。

      實(shí)際上,USB設(shè)備應(yīng)該被視為不同的功能。多個(gè)功能可以被封裝在一起形成一個(gè)物理設(shè)備。所以復(fù)合設(shè)備其實(shí)就是幾個(gè)設(shè)備通過(guò)一個(gè)USB Hub形成的單一設(shè)備,復(fù)合設(shè)備內(nèi)的Hub和與Hub相連的各個(gè)功能會(huì)分配各自的設(shè)備地址。組合設(shè)備也就是具有多個(gè)接口的設(shè)備,每個(gè)接口代表一個(gè)獨(dú)立的設(shè)備,但是組合設(shè)備只有一個(gè)設(shè)備地址[3]。

      圖1 復(fù)合設(shè)備結(jié)構(gòu)模型

      圖2 組合設(shè)備結(jié)構(gòu)模型

      采用復(fù)合設(shè)備方法開(kāi)發(fā)多功能 USB設(shè)備時(shí),其開(kāi)發(fā)過(guò)程同開(kāi)發(fā)兩種不同類(lèi)型的 USB設(shè)備相同,開(kāi)發(fā)難度較低。本文重點(diǎn)介紹組合設(shè)備的設(shè)計(jì)方法,并舉例加以實(shí)現(xiàn)。

      2 組合設(shè)備的設(shè)計(jì)方法

      2.1 組合設(shè)備的特點(diǎn)

      USB組合設(shè)備是指具有多個(gè)接口且接口間相互獨(dú)立的USB設(shè)備。一個(gè)USB設(shè)備只有一個(gè)設(shè)備地址,可以將不同的功能與不同的接口對(duì)應(yīng),來(lái)開(kāi)發(fā)多功能USB設(shè)備。

      組合設(shè)備采用一個(gè)USB控制芯片,同時(shí)接A設(shè)備和B設(shè)備。主機(jī)可以同時(shí)與A設(shè)備和B設(shè)備通信。

      2.2 組合設(shè)備的描述符結(jié)構(gòu)

      如圖3所示,以?xún)蓚€(gè)接口的組合設(shè)備為例,來(lái)說(shuō)明組合設(shè)備的描述符結(jié)構(gòu)。一個(gè)設(shè)備描述符下有一個(gè)配置描述符,一個(gè)配置描述符下可以有多個(gè)接口描述符,分別對(duì)應(yīng)不同的設(shè)備。每個(gè)接口描述符下又包含多個(gè)端點(diǎn)描述符。一個(gè)USB邏輯設(shè)備對(duì)USB系統(tǒng)來(lái)說(shuō)就是一個(gè)端點(diǎn)集合。端點(diǎn)可以根據(jù)它們實(shí)現(xiàn)的接口來(lái)分類(lèi)。所有的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)在不同接口間不能共享[4]。

      組合設(shè)備使用一個(gè)USB控制芯片,通過(guò)控制不同的接口與不同的設(shè)備進(jìn)行通信,解決了主機(jī)與組合設(shè)備內(nèi)各個(gè)設(shè)備數(shù)據(jù)流的區(qū)分問(wèn)題。

      圖3 組合設(shè)備描述符結(jié)構(gòu)

      3 組合設(shè)備的硬件實(shí)現(xiàn)

      3.1 USB接口部分

      設(shè)備采用Holtek公司的8位USB多媒體鍵盤(pán)編碼器HT82K95E作為本系統(tǒng)的核心。鼠標(biāo)、鍵盤(pán)等 HID類(lèi)設(shè)備為低速設(shè)備,所以該設(shè)備要能同時(shí)實(shí)現(xiàn)鼠標(biāo)和鍵盤(pán)數(shù)據(jù)同PC機(jī)的雙向傳輸,MCU首先必須具有低速的USB接口,并且支持3個(gè)端點(diǎn)(包括端點(diǎn)0)[5]。綜合考慮,選用了HT82K95E作為本系統(tǒng)的主控芯片。由于鼠標(biāo)和鍵盤(pán)均屬于低速設(shè)備,所以應(yīng)在USB信號(hào)線(xiàn)上加1.5 kΩ的上拉電阻[4]。

      3.2 MCU部分

      USB接口部分原理圖如圖4所示。MCU的復(fù)位電路采用由R1和C1組成的RC積分電路來(lái)實(shí)現(xiàn)上電復(fù)位功能。上電瞬間,由于電容電壓不能突變,所以復(fù)位引腳為低電平,然后電容開(kāi)始緩慢充電,復(fù)位引腳電位開(kāi)始升高,最后變?yōu)楦唠娖?完成芯片的上電復(fù)位。HT82K95E微控制器內(nèi)部還包含一個(gè)低電壓復(fù)位電路(LVR)用于監(jiān)視設(shè)備的供電電壓。如果設(shè)備的供電電壓下降到0.9VLVR的范圍內(nèi)并且超過(guò)1 ms的時(shí)間,那么LVR就會(huì)自動(dòng)復(fù)位設(shè)備[6]。

      應(yīng)當(dāng)注意的是,對(duì)于該設(shè)備的復(fù)位電路,還應(yīng)加一個(gè)BAT54SW二極管,接法如圖4中D1所示。如果不加D1,設(shè)備在第一次使用時(shí)能夠正常復(fù)位,但在以后的使用中卻無(wú)法正常復(fù)位,原因是電容中的電荷無(wú)法釋放掉,而D1可以通過(guò)整個(gè)電路快速釋放掉電容中的電荷[7]。

      該組合設(shè)備采用HT82K95E USB控制芯片,通過(guò)對(duì)兩個(gè)接口的管理,實(shí)現(xiàn)了鼠標(biāo)和鍵盤(pán)的功能。

      4 固件設(shè)計(jì)

      USB固件程序是USB設(shè)備功能的核心。對(duì)于HID設(shè)備,其主要的功能設(shè)計(jì)都是在固件程序中進(jìn)行的。這里采用Holtek C語(yǔ)言進(jìn)行帶鍵盤(pán)的鼠標(biāo)組合設(shè)備的開(kāi)發(fā)。

      HT82K95E芯片的 ROM空間是按頁(yè)(page)來(lái)劃分的,1頁(yè)為256個(gè)字。這樣,整個(gè)ROM空間正好劃分為若干連續(xù)的頁(yè)。單片機(jī)ROM中的任何區(qū)域都可以用來(lái)查表[5]。在這里只介紹 Holtek C中的一種查表指令:TABRDL[m]。該指令用于查ROM中最后1頁(yè)的數(shù)據(jù)。HT82K95E具有表指針寄存器 TBHP,在使用TABRDL指令時(shí),TBHP默認(rèn)為最后1頁(yè)的首址高位。通過(guò)查表,表格的低位字節(jié)送入[m],高位字節(jié)送入TBLH寄存器。

      在固件設(shè)計(jì)中,將描述符存儲(chǔ)在ROM的最后1頁(yè),當(dāng)主機(jī)請(qǐng)求設(shè)備的各種描述符時(shí),通過(guò)TABRDL指令將描述符從最后1頁(yè)取出,并傳送給主機(jī),完成設(shè)備的枚舉過(guò)程。該組合設(shè)備的描述符在下面給出。

      設(shè)備描述符:

      配置描述符:

      圖4 USB接口部分原理圖

      接口0描述符:

      接口1描述符:

      ASM_CONFIG_LEN為配置描述符的大小,其值為配置描述符、接口描述符、HID描述符和端點(diǎn)描述符的大小的總和。ASM_ENTITY_LEN_0為鼠標(biāo)報(bào)告描述符的大小,ASM_ENTITY_LEN_1為鍵盤(pán)報(bào)告描述符的大小[8]。描述符中其他各項(xiàng)的意義在本文中不作詳細(xì)解釋,通過(guò)使用周立功公司的 USB分析儀 USBAnalyser,可分析出該組合設(shè)備的枚舉過(guò)程流程,如圖5所示。

      結(jié) 語(yǔ)

      圖5 組合設(shè)備枚舉流程

      本文簡(jiǎn)要分析了多功能USB設(shè)備兩種結(jié)構(gòu)模型的不同,重點(diǎn)介紹了組合設(shè)備的設(shè)計(jì)方法?;谠撛O(shè)計(jì)方法,采用Holtek的8位單片機(jī)HT82K95E芯片設(shè)計(jì)了一款鼠標(biāo)鍵盤(pán)組合設(shè)備。在開(kāi)發(fā)此組合設(shè)備的過(guò)程中,可以分別調(diào)試兩個(gè)接口,如果每個(gè)接口都可正確運(yùn)行,接著就可編寫(xiě)兩個(gè)接口的描述符,實(shí)現(xiàn)組合設(shè)備的功能。組合設(shè)備對(duì)USB控制器可提供的端點(diǎn)數(shù)量和這些端點(diǎn)所支持的傳輸類(lèi)型有所限制。USB控制器需較好的支持設(shè)備A和設(shè)備B間的傳輸協(xié)議。目前,不少芯片廠商也逐漸提供了組合設(shè)備的芯片方案。

      [1]徐星,劉克剛.一種新型的多功能鼠標(biāo)的設(shè)計(jì)[J].電子技術(shù),2004(12):53-55.

      [2]張念淮,江浩.USB總線(xiàn)接口開(kāi)發(fā)指南[M].北京:國(guó)防工業(yè)出版社,2001:15-206.

      [3]薛園園.USB應(yīng)用開(kāi)發(fā)技術(shù)大全[M].北京:人民郵電出版社,2007:44-68.

      [4]許永和.USB外圍設(shè)備設(shè)計(jì)與應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2002:30-217.

      [5]盛群半導(dǎo)體有限公司.HT82K95E datasheet[EB/OL].[2009-09-15].http://www.holtek.com.cn.

      [6]李齊雄,鄭顏雄,蔡孟昌.HOLTEK HT48系列單片機(jī)原理及應(yīng)用實(shí)例[M].北京:北京航空航天大學(xué)出版社,2005:50-185.

      [7]田廣錕,范如東.高速電路PCB設(shè)計(jì)與EMC技術(shù)分析[M].北京:電子工業(yè)出版社,2008:3-132.

      [8]尹勇,王洪成.單片機(jī)開(kāi)發(fā)環(huán)境μ Vision2使用指南及USB固件編程與調(diào)試[M].北京:北京航空航天大學(xué)出版社,2004:202-315.

      猜你喜歡
      缺省描述符固件
      基于結(jié)構(gòu)信息的異源遙感圖像局部特征描述符研究
      基于“缺省模式”設(shè)計(jì)平臺(tái)的控制系統(tǒng)研發(fā)模式重塑
      Linux單線(xiàn)程并發(fā)服務(wù)器探索
      利用CNN的無(wú)人機(jī)遙感影像特征描述符學(xué)習(xí)
      基于固件的遠(yuǎn)程身份認(rèn)證
      缺省語(yǔ)義模式下話(huà)語(yǔ)交際意義研究
      關(guān)聯(lián)期待與缺省推理下缺省語(yǔ)境的生成模式
      提取ROM固件中的APP
      一種通過(guò)USB接口的可靠固件升級(jí)技術(shù)
      觀點(diǎn)句中評(píng)價(jià)對(duì)象/屬性的缺省項(xiàng)識(shí)別方法研究
      荣昌县| 汝阳县| 兰溪市| 伊宁市| 安达市| 胶南市| 准格尔旗| SHOW| 永顺县| 河源市| 兰考县| 安庆市| 庆安县| 海南省| 高尔夫| 南安市| 凉山| 汪清县| 托克逊县| 台中市| 汉寿县| 府谷县| 嘉荫县| 乐至县| 建湖县| 贞丰县| 墨竹工卡县| 南投县| 浑源县| 鹤庆县| 吉木乃县| 侯马市| 信阳市| 大兴区| 柳江县| 广灵县| 东城区| 辽宁省| 象山县| 凤山县| 福安市|