<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > USB及其設(shè)備開發(fā)

          USB及其設(shè)備開發(fā)

          作者: 時(shí)間:2013-11-08 來源:網(wǎng)絡(luò) 收藏


          5 典型應(yīng)用

          理論上講,技術(shù)由3部分組成:具備接口的Pc系統(tǒng)、能夠支持USB的系統(tǒng)軟件和使用UsB接口的設(shè)備。USB需要主機(jī)硬件、操作系統(tǒng)和外設(shè)3個(gè)方面的支持才能工作。目前主板一般都采用支持USB功能的控制芯片組,而且也安裝了USB接口插槽。Windows 98及以上版本的操作系統(tǒng)都內(nèi)置了對(duì)USB接口的支持(但WindowsNT不支持USB)。在操作系統(tǒng)擁有了對(duì)USB設(shè)備的支持后,安裝USB設(shè)備以及相應(yīng)的驅(qū)動(dòng)程序。目前,USB已經(jīng)在Pc機(jī)的多種多卜設(shè)上得到應(yīng)用,從最初的打印機(jī)、掃描儀,發(fā)展到攝像頭、數(shù)碼相機(jī)、鼠標(biāo)、鍵盤、硬盤、Modem、U盤、手機(jī)等。板載接口也從早期的2個(gè)增加至4個(gè)接El,板上一般還有兩個(gè)擴(kuò)展針接口,同期出現(xiàn)了前置接口和USB Hub。USB系統(tǒng)的典型應(yīng)用如圖2所示。
          在圖2所示系統(tǒng)中,顯示器、Audio,Modem皆為全速設(shè)備,鍵盤、鼠標(biāo)為低速設(shè)備。


          6 USB端口軟件結(jié)構(gòu)

          USB端口軟件結(jié)構(gòu)如圖3所示。


          (1)USB接El驅(qū)動(dòng)程序

          USB接口驅(qū)動(dòng)程序需實(shí)現(xiàn)以下功能:

          ①USB接El器件的初始化。
          ②計(jì)算上層數(shù)據(jù)包的校驗(yàn)和,發(fā)送上層的數(shù)據(jù)包。
          ③發(fā)送SOF幀。
          ④接收從USB接口傳送來的數(shù)據(jù),并檢查數(shù)據(jù)的有
          效性。
          ⑤將接收到的數(shù)據(jù)送往上層。

          (2)USB協(xié)議棧驅(qū)動(dòng)程序

          USB協(xié)議棧驅(qū)動(dòng)程序需實(shí)現(xiàn)以下功能:

          ①提供與設(shè)備驅(qū)動(dòng)程序的接El。
          ②讀取并解析USB設(shè)備描述符,配置描述符。
          ③為USB設(shè)備分配惟一的地址。
          ④使用默認(rèn)的配置來配置設(shè)備。
          ⑤支持基本的USB命令請(qǐng)求。
          ⑥連接設(shè)備與相應(yīng)的驅(qū)動(dòng)程序。
          ⑦轉(zhuǎn)發(fā)設(shè)備驅(qū)動(dòng)程序的數(shù)據(jù)包。

          (3)設(shè)備驅(qū)動(dòng)程序

          設(shè)備驅(qū)動(dòng)程序需實(shí)現(xiàn)以下功能:

          ①提供與應(yīng)用程序的接口。
          ②讀取并解析USB設(shè)備特有的描述符,獲得設(shè)備提供的傳輸通道。
          ③發(fā)送設(shè)備特有的和基本的USB命令請(qǐng)求。
          ④通過設(shè)備提供的傳輸通道與設(shè)備進(jìn)行數(shù)據(jù)傳輸。
          ⑤通過USB命令請(qǐng)求重新配置設(shè)備。

          7 USB設(shè)備的開發(fā)

          (1)需要一臺(tái)支持USB PC如果要開發(fā)WDM驅(qū)動(dòng)程序則需要一臺(tái)有以下配置的PC:

          (2)編寫USB Device的規(guī)格書。
          (3)購買相應(yīng)的評(píng)估板和評(píng)估軟件,并找到盡可能多的實(shí)例源程序代碼,然后需要有MCU的程序編譯器。
          (4)購買其他在開發(fā)中要用到的設(shè)備,如總線分析儀USB Hubs,競(jìng)爭(zhēng)者的相應(yīng)USB設(shè)備,以及USB鼠標(biāo)、USB鍵盤等。
          (5)編寫或改寫USB驅(qū)動(dòng)程序MCU,固件程序和客戶程序代碼。
          (6)參加USB遵從試驗(yàn)在不同的系統(tǒng)與配置驗(yàn)iiEUSB設(shè)備。

          8 驅(qū)動(dòng)程序編寫

          USB的驅(qū)動(dòng)程序和以往直接跟硬件打交道的Windows 95的VXD方式驅(qū)動(dòng)程序不同,他是WDM類型的Windows下的USB軟件,USB軟件總體框圖如圖4所示。

          9 結(jié) 語

          觀USB技術(shù)的整個(gè)發(fā)展過程,從誕生到成為絕大多數(shù)PC外設(shè)的,在提高速度后應(yīng)用到幾乎所有PC外設(shè)領(lǐng)域,USB為接E1種類繁多的存儲(chǔ)媒介與主機(jī)之間提供了方便可靠的連接。USB應(yīng)用與開發(fā)也將不斷發(fā)展,不斷完善。


          上一頁 1 2 下一頁

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();