日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 測試測量 > 測試測量
[導(dǎo)讀]摘要:結(jié)合基于USB總線的數(shù)據(jù)采集設(shè)備,介紹了WDM驅(qū)動程序的工作原理,設(shè)計原則和設(shè)計方法,并給出一個實現(xiàn)塊傳輸?shù)腢SB設(shè)備驅(qū)動程序例程,詳細的介紹了該例程的各個功能模塊。該例程性能穩(wěn)定,傳輸可靠,已應(yīng)用于數(shù)據(jù)

摘要:結(jié)合基于USB總線數(shù)據(jù)采集設(shè)備,介紹了WDM驅(qū)動程序的工作原理,設(shè)計原則和設(shè)計方法,并給出一個實現(xiàn)塊傳輸?shù)腢SB設(shè)備驅(qū)動程序例程,詳細的介紹了該例程的各個功能模塊。該例程性能穩(wěn)定,傳輸可靠,已應(yīng)用于數(shù)據(jù)采集設(shè)備中。對系統(tǒng)的性能進行測試的結(jié)果表明:數(shù)據(jù)的傳輸過程達到了設(shè)計的要求。驅(qū)動程序設(shè)計過程的詳細介紹對USB專用設(shè)備驅(qū)動程序的設(shè)計和開發(fā)具有良好的參考應(yīng)用價值。
關(guān)鍵詞:USB2.0協(xié)議;數(shù)據(jù)采集;WDM驅(qū)動程序

0 引言
    隨著計算機應(yīng)用技術(shù)的發(fā)展,虛擬儀器、自動測試系統(tǒng)、自動控制等領(lǐng)域,均越來越多的應(yīng)用計算機來進行數(shù)據(jù)處理。USB總線標(biāo)準(zhǔn)的提出,解決了計算機傳統(tǒng)I/O接口通用性差、不易擴展、易受計算機插槽數(shù)量、地址和中斷資源的限制等缺點,使計算機在測控領(lǐng)域的重要性與日俱增,也使USB總線在數(shù)采測控業(yè)界備受關(guān)注,并在各種測控設(shè)備中迅速發(fā)展,但專用的USB設(shè)備不能像鼠標(biāo)、鍵盤等HID類設(shè)備一樣使用Windows系統(tǒng)提供的標(biāo)準(zhǔn)驅(qū)動程序,而是需要開發(fā)專用的驅(qū)動程序。開發(fā)驅(qū)動程序與開發(fā)Windows應(yīng)用程序完全不同,驅(qū)動程序以系統(tǒng)的內(nèi)核模式運行,任何細小的錯誤都可能引起操作系統(tǒng)的崩潰。因此,專用設(shè)備驅(qū)動程序開發(fā)的復(fù)雜性,成為了USB總線在該領(lǐng)域發(fā)展的瓶頸。隨著軍事裝備自動化、數(shù)字化、智能化程度越來越高,一種更為簡便的驅(qū)動程序開發(fā)方法的探討十分有益?;谲娪秒娬緳z測儀中USB數(shù)據(jù)采集模塊的開發(fā),介紹了USB專用設(shè)備驅(qū)動程序開發(fā)的一般過程。

1 WDM驅(qū)動程序概述
    WDM(windows driver mode)是微軟推出的一種驅(qū)動程序模型,以簡化驅(qū)動程序的開發(fā)。它采用分層驅(qū)動的方式,即在應(yīng)用程序和物理設(shè)備之間存在著幾個不同層次的驅(qū)動程序,且各層驅(qū)動程序有不同的優(yōu)先級,每個驅(qū)動程序?qū)?yīng)一層,不同層上的驅(qū)動程序可以相互調(diào)用。USB系統(tǒng)的組成如圖1所示:應(yīng)用程序通過API函數(shù)調(diào)用Win32系統(tǒng)子函數(shù),驅(qū)動程序分為設(shè)備驅(qū)動程序,總線驅(qū)動程序(USBD)和主控制器驅(qū)動程序(HCD)三層,它們均運行在系統(tǒng)的內(nèi)核模式。設(shè)備驅(qū)動程序使用IRP(I/ORequest Packet)通過總線驅(qū)動程序提供的軟件接口(USBDI,USB Driver Interface)向總線驅(qū)動程序發(fā)出I/O請求,并根據(jù)數(shù)據(jù)傳輸方向提供一個或空或滿的內(nèi)存緩沖區(qū);USBD負責(zé)管理數(shù)據(jù)的總線傳輸,也有設(shè)備驅(qū)動程序與其他軟件接口的功能單元進行通信,沒有直接調(diào)用USBD,但總有一個更低層的驅(qū)動軟件發(fā)生USBD調(diào)用。主控制器驅(qū)動程序處在USB系統(tǒng)軟件的最底層,直接與主控制器的硬件通信,它提供了只有總線驅(qū)動程序才能訪問的主控制器驅(qū)動程序軟件接口HCDI(Host Control Driver Interface)。其中,總線驅(qū)動程序和主控制器驅(qū)動程序是系統(tǒng)的底層驅(qū)動程序。設(shè)備驅(qū)動程序是針對某一USB設(shè)備的專用驅(qū)動程序。


2 數(shù)據(jù)采集設(shè)備驅(qū)動程序的開發(fā)
    Windows為USB設(shè)備提供了底層驅(qū)動程序,與底層驅(qū)動程序接口的是I/O請求包(IRP),Windows為應(yīng)用程序提供的接口則是API函數(shù)。因此必須在它們之間建立一個驅(qū)動程序,在底層驅(qū)動與Win32應(yīng)用程序之間傳遞消息,即設(shè)備驅(qū)動程序。VC++、VB等軟件開發(fā)的應(yīng)用程序,在設(shè)備驅(qū)動程序的支持下,都可以調(diào)用ReadFile()、WriteFile()、DeviceIoControl()等API函數(shù)向設(shè)備傳遞主機請求。Windows系統(tǒng)自動將API調(diào)用轉(zhuǎn)化為IRP,設(shè)備驅(qū)動程序把它向下層驅(qū)動傳遞。直到完成其所指定的功能再沿驅(qū)動程序棧返回主機。
    設(shè)備驅(qū)動程序的開發(fā)
    開發(fā)設(shè)備驅(qū)動程序一般采用以下幾種方法:1)直接使用Windows DDK,這種方法開發(fā)難度較大,設(shè)計者必須對整個體系結(jié)構(gòu)有很好的理解和把握。2)使用Driver Studio,該工具軟件可為設(shè)計者提供驅(qū)動程序的整體框架,設(shè)計者只需要專心于功能代碼設(shè)計。3)使用win Driver,這種方法開發(fā)驅(qū)動程序很容易,但工作效率不是很高。這里采用第二種方法。
    Driver Studio生成驅(qū)動程序框架主要由兩個類組成,一個是Driver類,另一個是Device類Driver類。
    1)Driver類用于初始化驅(qū)動程序,它包括:入口函數(shù)Driver Entry和Add Device函數(shù)。當(dāng)設(shè)備驅(qū)動程序被加載時,操作系統(tǒng)調(diào)用Driver Entry函數(shù);當(dāng)創(chuàng)建設(shè)備對象并把它連接到設(shè)備堆棧時調(diào)用Add Device函數(shù)。函數(shù)代碼如下:


    2)Device類是設(shè)備類KDvice的派生類,這個類包含了電源管理、設(shè)備讀寫、設(shè)備控制等具有特定功能的例程。限于篇幅只介紹批量讀寫端點函數(shù)。

    INF文件的編寫
    INF文件是一個文本文件,它含有安裝一個設(shè)備驅(qū)動程序需要的所有必需的安裝信息。包括要復(fù)制的文件列表,要創(chuàng)建的注冊表項等。用以告訴系統(tǒng)安裝哪一個驅(qū)動程序,INF文件由若干區(qū)段組成,下面列出幾個區(qū)段及其功用:
    1)Version區(qū)段是INF文件的開始,其Class和ClassGuid指出了驅(qū)動程序所屬的設(shè)備類別及設(shè)備的GUID。GUID(Global Unique Identi-fier)用以標(biāo)識不同的驅(qū)動程序,它是全局且唯一的,系統(tǒng)就是通過GUID把應(yīng)用程序的I/O請求傳達給相應(yīng)的驅(qū)動程序的。
    2)Mantifacturer區(qū)段指明供應(yīng)商及其對應(yīng)Models字節(jié)的名稱。
    3)Install.AddReg/Install.Services指明注冊表添加內(nèi)容及安裝驅(qū)動的詳細信息。
    該驅(qū)動程序應(yīng)用于數(shù)據(jù)采集模塊采集電站的電壓信號,部分采集數(shù)據(jù)如表1所示:


    測量誤差主要來源于模塊的A/D,與驅(qū)動無關(guān)系,數(shù)據(jù)傳輸結(jié)果表明:數(shù)據(jù)可以在該驅(qū)動下及時正確的傳輸,模塊工作正常。

3 結(jié)束語
    該設(shè)備驅(qū)動程序用于電站檢測儀中USB數(shù)據(jù)采集模塊的效果良好,用這種方法提高了開發(fā)效率,縮短了開發(fā)周期,使開發(fā)者可將主要精力集中于實現(xiàn)設(shè)備功能上,為非軟件專業(yè)開發(fā)者開發(fā)基于USB總線的檢測儀驅(qū)動提供了很好的借鑒。也為USB總線在測控領(lǐng)域的應(yīng)用開創(chuàng)了光明的前景。相信以計算機為數(shù)據(jù)處理核心,以USB總線為數(shù)據(jù)通信方法的測控儀器將成為測控業(yè)發(fā)展主流。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

美國紐約州阿蒙克2022年10月20日 /美通社/ -- IBM(NYSE: IBM)發(fā)布 2022 年第三季度業(yè)績報告。 IBM 董事長兼首席執(zhí)行官 Arvind Kri...

關(guān)鍵字: IBM 軟件 BSP 云平臺

成都2022年10月19日 /美通社/ -- 近期,平安養(yǎng)老險積極籌備個人養(yǎng)老金的產(chǎn)品設(shè)計和系統(tǒng)開發(fā)工作,發(fā)展多樣化的養(yǎng)老金融產(chǎn)品,推動商業(yè)養(yǎng)老保險、個人養(yǎng)老金、專屬商業(yè)養(yǎng)老保險等產(chǎn)品供給。 搭養(yǎng)老政策東風(fēng) ...

關(guān)鍵字: 溫度 BSP 東風(fēng) 大眾

廣東佛山2022年10月19日 /美通社/ -- 空間是人居生活的基礎(chǔ)單元,承載著生存與活動的最基本功能。而對于理想空間的解構(gòu)意義卻在物理性容器之外,體現(xiàn)出人們對于空間和生活深層關(guān)系的思考,同時也塑造著人與空間的新型連接...

關(guān)鍵字: 溫度 BSP 智能化 進程

上海2022年10月19日 /美通社/ -- 10月17日晚間,安集科技披露業(yè)績預(yù)告。今年前三季度,公司預(yù)計實現(xiàn)營業(yè)收入7.54億元至8.33億元,同比增長60.24%至77.03%;歸母凈利潤預(yù)計為1.73億...

關(guān)鍵字: 電子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市經(jīng)濟和信息化局發(fā)布2022年度第一批北京市市級企業(yè)技術(shù)中心創(chuàng)建名單的通知,諾誠健華正式獲得"北京市企業(yè)技術(shù)中心"認定。 北京市企業(yè)技...

關(guān)鍵字: BSP ARMA COM 代碼

北京2022年10月18日 /美通社/ -- 10月14日,國際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國軟件定義存儲及超融合市場研究報告》,報告顯示:2022年上半年浪潮超融合銷售額同比增長59.4%,近5倍于...

關(guān)鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都銀行集團成立60周年的紀(jì)念日。趁著首都銀行集團成立60周年與首都銀行(中國)在華深耕經(jīng)營12年的“大日子”,圍繞作為外資金融機構(gòu)對在華戰(zhàn)略的構(gòu)想和業(yè)...

關(guān)鍵字: 數(shù)字化 BSP 供應(yīng)鏈 控制

東京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式會社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團公司上海通運國際物流有限公司(Nipp...

關(guān)鍵字: 溫控 精密儀器 半導(dǎo)體制造 BSP

廣州2022年10月18日 /美通社/ -- 10月15日,第 132 屆中國進出口商品交易會("廣交會")于"云端"開幕。本屆廣交會上高新技術(shù)企業(yè)云集,展出的智能產(chǎn)品超過140,...

關(guān)鍵字: 中國智造 BSP 手機 CAN

要問機器人公司哪家強,波士頓動力絕對是其中的佼佼者。近來年該公司在機器人研發(fā)方面獲得的一些成果令人印象深刻,比如其開發(fā)的機器人會后空翻,自主爬樓梯等。這不,波士頓動力又發(fā)布了其機器人組團跳男團舞的新視頻,表演的機器人包括...

關(guān)鍵字: 機器人 BSP 工業(yè)機器人 現(xiàn)代汽車

測試測量

28688 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉