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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > USB總線在便攜式數(shù)控測(cè)井系統(tǒng)中的應(yīng)用

          USB總線在便攜式數(shù)控測(cè)井系統(tǒng)中的應(yīng)用

          作者: 時(shí)間:2016-12-20 來(lái)源:網(wǎng)絡(luò) 收藏

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

          4.1 固件程序的設(shè)計(jì)

          固件程序是指被固化到AT89S52中FLASH中的程序,它是設(shè)備運(yùn)行的核心,其主要功能是控制USB接口芯片接收并處理USB驅(qū)動(dòng)程序的請(qǐng)求(如請(qǐng)求設(shè)備描述符、請(qǐng)求或設(shè)置設(shè)備狀態(tài)、請(qǐng)求設(shè)備設(shè)置、請(qǐng)求或設(shè)置設(shè)備接口等USB標(biāo)準(zhǔn)請(qǐng)求);控制USB接口芯片接收應(yīng)用程序的控制指令;將存儲(chǔ)在雙口RAM中的數(shù)據(jù)通過(guò)USB控制器實(shí)時(shí)上傳至PC。

          USB控制器的工作原理是:當(dāng)USB控制器從USB總線檢測(cè)到主機(jī)啟動(dòng)的某一傳輸請(qǐng)求時(shí),USB控制器通過(guò)中斷方式將此請(qǐng)求通知USB接口系統(tǒng),接口系統(tǒng)通過(guò)訪問(wèn)USB控制器的狀態(tài)寄存器獲得與此傳輸有關(guān)的各種參數(shù),并根據(jù)具體傳輸參數(shù),對(duì)USB控制器的控制寄存器和數(shù)據(jù)寄存器進(jìn)行相應(yīng)的操作,以完成主機(jī)的傳輸請(qǐng)求。

          4.2 設(shè)備驅(qū)動(dòng)程序的設(shè)計(jì)

          USB驅(qū)動(dòng)程序是支持即插即用功能的標(biāo)準(zhǔn)WDM驅(qū)動(dòng)程序,結(jié)構(gòu)如圖3所示。Windows對(duì)構(gòu)成一個(gè)USB總線主機(jī)的不同軟件部分進(jìn)行了十分清楚的劃分,其中USB總線客戶軟件包含了用來(lái)控制不同USB總線外設(shè)的設(shè)備驅(qū)動(dòng)程序,它通過(guò)Windows所定義的軟件接口與根集線器驅(qū)動(dòng)程序進(jìn)行通信,而USB根集線器驅(qū)動(dòng)程序則要通過(guò)包含在USBD中的USBDI(通用串行總線驅(qū)動(dòng)程序接口)實(shí)現(xiàn)與通用串行總線驅(qū)動(dòng)程序(USBD)的通信。然后,USBD會(huì)選擇兩種主控制器驅(qū)動(dòng)程序(HCD)之一同其下方的主控制器進(jìn)行通信。最后,主控制器驅(qū)動(dòng)程序會(huì)贏接實(shí)現(xiàn)對(duì)USB物理總線的訪問(wèn)(通過(guò)PCI枚舉器軟件)。

          USB驅(qū)動(dòng)程序體系結(jié)構(gòu)
          圖3 USB驅(qū)動(dòng)程序體系結(jié)構(gòu)

          開發(fā)設(shè)備驅(qū)動(dòng)程序需要專門的開發(fā)工具,目前常用的開發(fā)工具有Windows DI)K和Driver—Studio。NuMega公司開發(fā)的DriverStudio是一個(gè)強(qiáng)大的開發(fā)工具包,它包括VtoolsD、Driver—Works、DriverNetworks和調(diào)試工具SoftlCE等等。用DriverWorks開發(fā)基于WDM的USB設(shè)備驅(qū)動(dòng)程序時(shí),將自動(dòng)生成WDM的工程文件,通常包括5個(gè)*.h和2個(gè)*.cpp文件,此外還自動(dòng)生成*.inf文件,開發(fā)者只要根據(jù)自己的需要稍做修改即可。

          ·USBLOG.cpp:包括DriverEntry()、LoadRegisrtyParameters()、AddI)evice()例程,主要實(shí)現(xiàn)初始化設(shè)備的功能。

          ·USBLOGDevice.cpp:主要實(shí)現(xiàn)電源管理、系統(tǒng)控制、設(shè)備的移除、設(shè)備的開始等功能。

          ·USBLOG.inf:設(shè)備的安裝文件,說(shuō)明設(shè)備的安裝信息。

          4.3 應(yīng)用程序的設(shè)計(jì)

          應(yīng)用軟件由兩部分組成:動(dòng)態(tài)鏈接庫(kù)和應(yīng)用程序。動(dòng)態(tài)鏈接庫(kù)負(fù)責(zé)與內(nèi)核態(tài)的USB功能驅(qū)

          動(dòng)程序通信并接收應(yīng)用程序的各種操作請(qǐng)求,而應(yīng)用程序負(fù)責(zé)對(duì)地面系統(tǒng)采集、處理的各種數(shù)據(jù)進(jìn)行實(shí)時(shí)繪圖顯示、分析、打印和存盤等。軟件設(shè)計(jì)可以采用Visual C++等。

          5 結(jié)束語(yǔ)

          將USB技術(shù)應(yīng)用到便攜式數(shù)控測(cè)井系統(tǒng)中,可以使上、下位機(jī)之間的數(shù)據(jù)傳輸速率和誤碼率得到明顯的改善,傳輸速率能達(dá)到8Mbps以上,誤碼率能降至10-7以下。應(yīng)用USB技術(shù),可以大大降低數(shù)據(jù)的丟失率,使采集的數(shù)據(jù)得到實(shí)時(shí)顯示,同時(shí),為便攜式數(shù)控測(cè)井系統(tǒng)接口的簡(jiǎn)便化、高速化和可靠性打下堅(jiān)實(shí)的基礎(chǔ)。


          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          技術(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); })();