亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        測試系統(tǒng)硬件驅(qū)動插件機制的設(shè)計與實現(xiàn)

        2010-07-14 01:53:06石小江彭仁強
        燃?xì)鉁u輪試驗與研究 2010年3期
        關(guān)鍵詞:板卡驅(qū)動程序插件

        古 平,石小江,彭仁強

        (中國燃?xì)鉁u輪研究院,四川 江油 621703)

        1 引言

        測試系統(tǒng)最主要的功能是采集被測對象的被測參數(shù)[1]。以往的測試程序,往往把所有的測試參數(shù)、儀器程控指令、測試結(jié)果和分析處理結(jié)果都放在測試系統(tǒng)軟件主體(平臺)中,而測試系統(tǒng)由于所選硬件配置的不同,相應(yīng)驅(qū)動程序就各不一樣,一旦硬件有所變化,就必須更改測試系統(tǒng)軟件主體(平臺),否則測試系統(tǒng)就不能正常運行,這樣就造成測試系統(tǒng)的靈活性、易用性、可靠性、可維護(hù)性、可擴充性、可移植性很差。若能把不同的驅(qū)動程序按其功能劃分,定義統(tǒng)一的接口,使其功能模塊化、插件化,組成通用插件庫,那么在測試系統(tǒng)集成應(yīng)用時,就可根據(jù)所選硬件類型調(diào)用相應(yīng)的驅(qū)動程序插件,做到即插即用,使測試系統(tǒng)軟件主體(平臺)更加規(guī)范、靈活,同時也將大大縮短軟件開發(fā)時間,便于后期的軟件維護(hù)。

        2 插件機制方案設(shè)計

        測試系統(tǒng)硬件驅(qū)動插件是連接軟、硬件和獲得前端采集信號的橋梁,要構(gòu)建通用的、可靈活配置的、模塊化的硬件驅(qū)動插件程序,就應(yīng)該具有一個開放式的結(jié)構(gòu)和標(biāo)準(zhǔn)接口,同時還要考慮系統(tǒng)功能的可擴充性和技術(shù)的可延續(xù)性。作為一個完備的硬件驅(qū)動插件架構(gòu)體系設(shè)計,不僅要包括硬件驅(qū)動插件的設(shè)計,還應(yīng)該包括測試系統(tǒng)平臺的設(shè)計。平臺的功能通常包括測試系統(tǒng)軟件的核心功能和硬件驅(qū)動插件的處理功能,而硬件驅(qū)動插件通常是用來對測試系統(tǒng)使用到的硬件采集功能,按照定義的標(biāo)準(zhǔn)接口進(jìn)行封裝,然后集中管理。平臺需要通過插件接口調(diào)用插件所實現(xiàn)的采集功能,讀取前端的采集信號等。本文僅對硬件驅(qū)動插件機制進(jìn)行設(shè)計和實現(xiàn),硬件和測試系統(tǒng)平臺軟件都不在此討論。硬件驅(qū)動插件和整個測試系統(tǒng)的關(guān)系如圖1所示。

        2.1 驅(qū)動插件的創(chuàng)建和加載

        硬件驅(qū)動是控制測試儀器I/O接口及其相關(guān)功能的規(guī)范,是計算機與儀器之間的軟件層連接,一般由設(shè)備廠商提供給用戶,是一套可調(diào)用的函數(shù)或指令集,實現(xiàn)對測試儀器的程序控制,完成對某一特定測試儀器的控制和通訊。每個測試儀器都有相應(yīng)的驅(qū)動程序或通訊協(xié)議。通過在廠商提供的驅(qū)動程序或通訊協(xié)議的基礎(chǔ)上進(jìn)行開發(fā)和封裝,將插件程序需要開放的屬性、方法、實現(xiàn)等定義出來,制定統(tǒng)一的數(shù)據(jù)結(jié)構(gòu)和通訊協(xié)議,通過接口的方式提供給平臺程序使用。驅(qū)動程序的插件庫根據(jù)硬件類型必須是可加載、修改和擴展的。若用戶購置了新的硬件測試設(shè)備(儀器),而硬件驅(qū)動庫中沒有對應(yīng)的驅(qū)動程序,可按照系統(tǒng)制定的統(tǒng)一數(shù)據(jù)結(jié)構(gòu)和通訊協(xié)議,開發(fā)對應(yīng)的新硬件驅(qū)動插件,然后再將驅(qū)動插件加載到系統(tǒng)插件庫并保存,即可供用戶使用。開發(fā)和加載驅(qū)動插件過程如圖2所示。

        圖1 測試系統(tǒng)總體結(jié)構(gòu)圖Fig.1 The structure of measurement system

        驅(qū)動插件加載實例如圖3所示,圖中“驅(qū)動動態(tài)庫”是二次開發(fā)封裝的插件庫,“相關(guān)文件”就是硬件供應(yīng)商提供的驅(qū)動庫文件。

        圖2 驅(qū)動插件加載過程Fig.2 The loading process of the plug-in of driver

        圖3 驅(qū)動插件加載實例Fig.3 The loading instance of the plug-in of driver

        2.2 驅(qū)動插件的數(shù)據(jù)結(jié)構(gòu)

        要做到通用,就必須具備統(tǒng)一的規(guī)范和標(biāo)準(zhǔn),并且在開發(fā)硬件驅(qū)動插件程序時嚴(yán)格遵守。

        不同的設(shè)備應(yīng)有不同的設(shè)備ID,以區(qū)分不同的設(shè)備類型(如 DSA、華太 VXI、縱橫 VXI等),不同設(shè)備要有各自的設(shè)備名稱、該設(shè)備所包含的所有采集板卡類型、以及實際擁有的板卡類型數(shù)。同樣,每一種硬件板卡類型都應(yīng)有一個唯一區(qū)別的ID,以區(qū)分不同的板卡類型;每種采集板卡對應(yīng)的采集通道數(shù)固定。根據(jù)設(shè)備ID和采集板卡ID,系統(tǒng)即可確定采用何種驅(qū)動程序來向指定的硬件發(fā)指令,用戶則可得到指定設(shè)備中指定采集板卡的通道數(shù)和各通道的采集數(shù)據(jù)。采集設(shè)備及板卡的數(shù)據(jù)結(jié)構(gòu)層次見圖4。

        圖4 采集設(shè)備及板卡數(shù)據(jù)結(jié)構(gòu)層次Fig.4 The data structure tree of acquiring device and card

        下面給出部分統(tǒng)一的數(shù)據(jù)結(jié)構(gòu)內(nèi)容項并加以概要說明(C++語言):

        typedef struct{

        int nCardID; //板卡類型代碼

        char ame[24]; //板卡類型名稱

        int nChNums; //板卡類型通道數(shù)

        }CARDTYPE; //硬件板卡類型結(jié)構(gòu)

        typedef struct{

        int nDeviceID; //設(shè)備代碼

        char DeviceName[24];//設(shè)備名稱

        int nCardTypeNums;//設(shè)備板卡類型數(shù)

        CARDTYPE CardType[CARD_TYPE_NUMS];

        //板卡類型

        }DEVICEINFO; //硬件設(shè)備信息結(jié)構(gòu)

        3 驅(qū)動插件的應(yīng)用

        3.1 硬件配置

        用戶應(yīng)用時,根據(jù)設(shè)備采集系統(tǒng)硬件配置類型,從驅(qū)動程序插件庫中選擇與之對應(yīng)的插件,并設(shè)置相應(yīng)的屬性,即完成硬件驅(qū)動配置。系統(tǒng)通過硬件驅(qū)動插件訪問設(shè)備的驅(qū)動程序,向硬件設(shè)備(儀器)發(fā)出一系列指令,就可得到對應(yīng)硬件設(shè)備(儀器)的采集數(shù)據(jù)。若硬件類型發(fā)生改變,只需改變硬件驅(qū)動配置即可,用戶不必修改平臺軟件的源程序就能實現(xiàn)硬件設(shè)備(儀器)的即插即用。應(yīng)用示例見圖5。

        圖5 硬件配置應(yīng)用示例Fig.5 The applied demonstration of hardware configuration

        圖5 中,左邊為硬件驅(qū)動模塊插件庫列表,列出了已加載硬件驅(qū)動插件類型;右邊為已配置完成的驅(qū)動模塊程序插件組合。如某一測試系統(tǒng)的硬件由VXI、DSA和PSI組成,其中VXI由一塊16015S卡和一塊JV53124卡組成;DSA由一個3017模塊組成;PSI由一個9816模塊組成。用戶在配置測試系統(tǒng)硬件時,只需在左邊驅(qū)動程序插件庫中選擇與之對應(yīng)的插件,放入右邊的列表中,并設(shè)置相應(yīng)的屬性即可完成驅(qū)動配置。插件屬性設(shè)置實例見圖6。

        圖6 插件屬性設(shè)置實例Fig.6 The setup instance of the property of plug-in

        用戶分別設(shè)置采集卡所在的設(shè)備編號(機箱號)、采集卡在指定設(shè)備中的位置(槽號)、采集數(shù)據(jù)的平均遍數(shù)、采樣率、通道類型、增益、量程等參數(shù),確定后,系統(tǒng)將保存用戶的設(shè)置,并按用戶的設(shè)置對硬件設(shè)備進(jìn)行初始化,完成硬件系統(tǒng)準(zhǔn)備工作。

        3.2 生成掃描表

        在完成硬件驅(qū)動配置后,系統(tǒng)根據(jù)其配置的各采集卡的通道數(shù),自動生成一有序的物理通道掃描表,用戶可根據(jù)此表選擇本次試驗中用到的物理通道,按用戶習(xí)慣排列組合成一適應(yīng)用戶習(xí)慣的邏輯通道表,當(dāng)然,也可以選擇其硬件配置中所有物理通道。在此邏輯通道表中,用戶還可定義一些其它的非物理通道的參數(shù),如性能計算通道,邏輯通道表數(shù)據(jù)結(jié)構(gòu)部分內(nèi)容項如下:

        typedef struct{

        ……

        short PhyNo; //物理通道編號

        short PrgGain; //程控增益

        shortEuTabNo; //工程單位轉(zhuǎn)換類型

        char PhyAddr[40]; //物理通道標(biāo)示

        A-aa-bb-xx

        char ChName[32]; //通道名稱[英文符號]

        char ChName_Std[16];//發(fā)動機標(biāo)準(zhǔn)名稱

        char EngUnit[16]; //工程單位

        char Range[16]; //信號量程

        char LineNum[16]; //管線號

        char SensorNum[16];//傳感器編號

        char Remark[40]; //通道注釋

        }CHANNELDEFINE; //通道定義信息表

        其中,與硬件設(shè)備密切相關(guān)項是“物理通道標(biāo)示(PhyAddr)”,它標(biāo)示該邏輯通道項與實際硬件設(shè)備通道的聯(lián)系,包含有與硬件相關(guān)的物理信息,用于硬件系統(tǒng)識別,也是區(qū)分非物理通道的標(biāo)示。系統(tǒng)運行時,通過“物理通道標(biāo)示(PhyAddr)”獲得硬件系統(tǒng)對應(yīng)通道的信號數(shù)據(jù)。圖7是編輯完成的部分邏輯通道表格式實例。圖中1~4項為物理通道,5、6項為計算通道(計算通道中的數(shù)據(jù)由系統(tǒng)通過一系列計算后得到,計算中一般都要用到一些物理通道中的數(shù)據(jù))。

        圖7 部分邏輯通道表格式實例Fig.7 Part of the format instance of logic channels

        4 系統(tǒng)運行流程

        測試系統(tǒng)平臺軟件在運行時,首先根據(jù)裝入的通道表對物理通道進(jìn)行采集設(shè)備及板卡分類,然后根據(jù)不同的采集設(shè)備和板卡,從系統(tǒng)驅(qū)動插件庫中裝入對應(yīng)的驅(qū)動插件,并執(zhí)行采集設(shè)備初始化。數(shù)據(jù)采集開始后,平臺軟件只需根據(jù)不同的采集設(shè)備和板卡調(diào)用驅(qū)動插件采集接口執(zhí)行數(shù)據(jù)采集即可。整個測試系統(tǒng)插件調(diào)用流程如圖8所示。

        5 結(jié)束語

        本文設(shè)計并實現(xiàn)了一種測試系統(tǒng)驅(qū)動程序插件機制的實現(xiàn)方案,為測試系統(tǒng)驅(qū)動插件標(biāo)準(zhǔn)化提供了一個參考;此方案可以進(jìn)一步擴充,實現(xiàn)更為靈活的實現(xiàn)方案。

        測試系統(tǒng)硬件驅(qū)動的插件化使測試系統(tǒng)能夠做到通用化、模塊化、智能化、標(biāo)準(zhǔn)化,可徹底改變現(xiàn)有測試系統(tǒng)標(biāo)準(zhǔn)化程度低、功能單一、品種繁多、可維護(hù)性及保障性差的現(xiàn)狀。該設(shè)計現(xiàn)已在實際數(shù)據(jù)采集系統(tǒng)中得到推廣和應(yīng)用,實踐表明,采用硬件驅(qū)動插件技術(shù)極大地提高了測試系統(tǒng)的開發(fā)效率,解決了測試系統(tǒng)的通用化問題。

        圖8 測試系統(tǒng)插件調(diào)用流程圖Fig.8 The flow chart of plug-in in measurement system

        [1]張寶誠.航空發(fā)動機試驗和測試技術(shù)[M].北京:航空航天大學(xué)出版社,2005.

        猜你喜歡
        板卡驅(qū)動程序插件
        自編插件完善App Inventor與樂高機器人通信
        電子制作(2019年22期)2020-01-14 03:16:34
        基于PCI9054的多總線通信板卡的研制
        基于FPGA的多通道模擬量采集/輸出PCI板卡的研制
        一種基于光纖數(shù)據(jù)傳輸?shù)亩喟蹇ㄜ浖绦驘龑懠夹g(shù)
        MapWindowGIS插件機制及應(yīng)用
        基于Revit MEP的插件制作探討
        一種通用模擬量及開關(guān)量信號采集板卡的設(shè)計
        驅(qū)動程序更新與推薦
        驅(qū)動程序更新與推薦
        驅(qū)動程序更新與推薦
        精品亚洲国产成人蜜臀av| 亚洲无码美韩综合| 视频一区中文字幕日韩| 久久精品国产亚洲av网| 日本黄网站三级三级三级| 真正免费一级毛片在线播放| 开心五月婷婷综合网站| 少妇高潮久久蜜柚av| 成人影院yy111111在线| 日韩久久无码免费毛片软件| 国产一区二区在线视频| 久精品国产欧美亚洲色aⅴ大片| 毛片色片av色在线观看| 久久精品中文字幕女同免费| 九九久久自然熟的香蕉图片| 少妇的肉体k8经典| 欧美巨大xxxx做受中文字幕| 桃色一区一区三区蜜桃视频| 日本无码欧美一区精品久久| 久久天天躁夜夜躁狠狠躁2022| 免费国人成人自拍视频| 国产亚洲精品90在线视频| 国产精品成人aaaaa网站| 黑人性受xxxx黑人xyx性爽| 色婷婷一区二区三区四| 精品国产yw在线观看| 无码日韩精品一区二区免费暖暖 | 国产一女三男3p免费视频| 久99久精品视频免费观看v| 人妻av午夜综合福利视频| 国产自拍精品在线免费观看| 亚洲国产精品久久人人爱 | 丁香五月缴情综合网| 亚洲免费观看一区二区三区| 日本护士口爆吞精视频| 中文字幕v亚洲日本| 98精品国产综合久久| 另类人妖在线观看一区二区| 国产一区二区中文字幕在线观看 | 青青国产成人久久91| 99久久婷婷国产精品综合网站|