色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > USB總線數(shù)據(jù)采集設(shè)備驅(qū)動程序的設(shè)計

          USB總線數(shù)據(jù)采集設(shè)備驅(qū)動程序的設(shè)計

          作者: 時間:2010-03-24 來源:網(wǎng)絡(luò) 收藏

          2 程序的開發(fā)
          Windows為設(shè)備提供了底層驅(qū)動程序,與底層驅(qū)動程序接口的是I/O請求包(IRP),Windows為應(yīng)用程序提供的接口則是API函數(shù)。因此必須在它們之間建立一個驅(qū)動程序,在底層驅(qū)動與Win32應(yīng)用程序之間傳遞消息,即程序。VC++、VB等軟件開發(fā)的應(yīng)用程序,在程序的支持下,都可以調(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ù)代碼如下:

          本文引用地址:http://cafeforensic.com/article/195484.htm


          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請求傳達(dá)給相應(yīng)的驅(qū)動程序的。
          2)Mantifacturer區(qū)段指明供應(yīng)商及其對應(yīng)Models字節(jié)的名稱。
          3)Install.AddReg/Install.Services指明注冊表添加內(nèi)容及安裝驅(qū)動的詳細(xì)信息。
          該驅(qū)動程序應(yīng)用于模塊采集電站的電壓信號,部分采集數(shù)據(jù)如表1所示:


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

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


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

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

          關(guān)閉