999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于PXI總線數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)

2016-10-14 06:44:33苗忠海徐志躍
電子設(shè)計(jì)工程 2016年12期
關(guān)鍵詞:系統(tǒng)設(shè)計(jì)

苗忠海,徐志躍

(北京航空航天大學(xué)北京100191)

基于PXI總線數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)

苗忠海,徐志躍

(北京航空航天大學(xué)北京100191)

本文介紹一種通用的數(shù)據(jù)采集系統(tǒng)來對壓力,溫度等進(jìn)行數(shù)據(jù)采集和處理。文中包含了采集系統(tǒng)的硬件設(shè)計(jì)和軟件設(shè)計(jì)兩部分,其中硬件部分包括PXI采集板卡,軟件部分包括采集板卡WDM驅(qū)動,基于C#的上位機(jī)界面以及與MATLAB的混合編程。實(shí)際應(yīng)用表明,該系統(tǒng)具有操作簡便、測試準(zhǔn)確的特點(diǎn),達(dá)到了設(shè)計(jì)要求。

數(shù)據(jù)采集;PXI;WDM驅(qū)動;混合編程

數(shù)據(jù)采集與處理是計(jì)算機(jī)應(yīng)用的重要分支,主要研究的是數(shù)據(jù)的采集、存儲和處理。在工業(yè)生產(chǎn)、科研及醫(yī)療等領(lǐng)域經(jīng)常需要針對一些現(xiàn)象來進(jìn)行處理,比如在工業(yè)生產(chǎn)中對壓力,溫度等進(jìn)行監(jiān)測控制,在科研方面對某些現(xiàn)象進(jìn)行系統(tǒng)分析,提取關(guān)鍵因素從而進(jìn)行系統(tǒng)建模。而數(shù)據(jù)采集系統(tǒng)在里面具有很大重要性。對于簡單的數(shù)據(jù)采集系統(tǒng)一般采用單片機(jī)或者ARM等微控制器加上外部模擬電路來實(shí)現(xiàn),但對于復(fù)雜的采集系統(tǒng),需要對數(shù)據(jù)進(jìn)行實(shí)時傳輸和存儲并且需要復(fù)雜處理的情況,是不能夠滿足的。計(jì)算機(jī)在后續(xù)的數(shù)據(jù)處理方面擁有絕對的優(yōu)勢。因此基于PXI的計(jì)算機(jī)數(shù)據(jù)采集系統(tǒng)具有廣泛的應(yīng)用性。利用PC機(jī)作為數(shù)據(jù)采集的平臺,通過PXI數(shù)據(jù)總線將采集的數(shù)據(jù)傳輸?shù)絇C機(jī)內(nèi)存中,然后進(jìn)行數(shù)據(jù)處理。

1 總體設(shè)計(jì)

本文將基于PXI總線設(shè)計(jì)一種數(shù)據(jù)采集系統(tǒng)。系統(tǒng)結(jié)構(gòu)圖如圖1所示。主要包括PXI數(shù)據(jù)采集卡的板卡設(shè)計(jì),板卡驅(qū)動開發(fā),上位機(jī)軟件編程以及與MATLAB的混合編程。

2 系統(tǒng)硬件設(shè)計(jì)

基于PXI數(shù)據(jù)采集卡主要分為5部分:PXI總線接口芯片PCI 9054、FPGA、數(shù)字量輸出調(diào)理電路、AD采集電路和輸入/輸出連接器。其原理框圖如圖2所示。

其板卡實(shí)物圖如圖3所示。

為了實(shí)現(xiàn)板卡與主機(jī)物理連接,板卡設(shè)計(jì)成PXI總線連接器,通過與主機(jī)的PXI總線插座連接。圖中的FPGA芯片通過對主機(jī)傳過來的上位機(jī)指令進(jìn)行解析譯碼,配合上位機(jī)的讀寫時序,將設(shè)計(jì)的數(shù)字量傳至底層的硬件,或者將下層采集的AD值傳給主機(jī)。底層的AD采集硬件主要包括多路選擇器,量程設(shè)置電路,差分/單端選擇電路和AD轉(zhuǎn)換電路。AD采集的工作流程為將采集到的數(shù)據(jù)先緩存至FPGA里面的FIFO中,判斷是否滿足觸發(fā)條件,然后進(jìn)行觸發(fā)上位機(jī)中斷,此時上位機(jī)讀取轉(zhuǎn)換的AD采集數(shù)據(jù)[1]。

雖然主機(jī)與板卡進(jìn)行了物理連接,但要進(jìn)行通信需要一定的邏輯電路來實(shí)現(xiàn)接口。采用PLX公司的PCI總線接口芯片(PCI9054)來實(shí)現(xiàn)接口,配合時序、邏輯電路,以PCI9054為核心來實(shí)現(xiàn)Local總線與PXI總線的接口[2]。

圖1 系統(tǒng)總體結(jié)構(gòu)圖

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

3.1驅(qū)動程序的編寫

在Windows操作系統(tǒng)下,一般的應(yīng)用程序不能直接操作I/O端口,往往通過驅(qū)動程序?qū)?shù)據(jù)讀至計(jì)算機(jī)的內(nèi)存中,然后再進(jìn)行數(shù)據(jù)操作。因此驅(qū)動程序在硬件和上層應(yīng)用程序之間具有紐帶作用。然而如何去設(shè)計(jì)驅(qū)動程序,不同的硬件具有不同的驅(qū)動程序,特別是不同類型硬件更是有不同的方式[3],比如USB驅(qū)動,PCI驅(qū)動等不同種類的驅(qū)動開發(fā)方法。所以在設(shè)計(jì)驅(qū)動前要明確以下步驟:

1)寄存器:設(shè)備具有寄存器的數(shù)量,功能,以及何種類型(控制、數(shù)據(jù)、狀態(tài));

2)設(shè)備錯誤和狀態(tài):設(shè)備具有哪些狀態(tài)和錯誤信號,最后需要反饋給用戶;

3)中斷行為:確定設(shè)備所使用的中斷數(shù)量和觸發(fā)條件;

4)數(shù)據(jù)傳輸機(jī)制:數(shù)據(jù)傳輸方式基本包含I/O傳輸和DMA傳輸;

5)操作流程和注意事項(xiàng)。

驅(qū)動類型為WDM驅(qū)動程序,它編寫規(guī)范,源自Windows NT驅(qū)動程序體系,具有即插即用、電源管理等功能。開發(fā)所需要的環(huán)境有微軟公司提供的DDK(Device Driver Kits),開發(fā)軟件選擇Driver Studio+VC6.0。

圖2 數(shù)據(jù)采集板卡原理圖

圖3 數(shù)據(jù)采集板卡實(shí)物圖

PXI板卡驅(qū)動開發(fā)流程:

①首先參照DDK的幫助文檔等相關(guān)資料,實(shí)現(xiàn)PCI驅(qū)動程序的框架,設(shè)計(jì)一個虛擬的驅(qū)動程序,不對真實(shí)硬件操作,初步能夠?qū)崿F(xiàn)在操作系統(tǒng)上進(jìn)行安裝和卸載[4]。

②同樣編寫驅(qū)動程序與應(yīng)用程序的接口,能夠完成基本的的虛擬設(shè)備操作。不操作硬件,主要驗(yàn)證驅(qū)動程序與應(yīng)用程序通信的可行性。

③將設(shè)計(jì)的板卡插入至機(jī)箱,驗(yàn)證所編寫的驅(qū)動程序的正確性,此時只完成了驅(qū)動的基本操作,如簡單的讀寫寄存器,突發(fā)傳輸方式讀寫板載FIFO,同時驗(yàn)證FPGA邏輯程序的正確性。

④驗(yàn)證中斷服務(wù)程序和延遲過程調(diào)用例程的正確性。

⑤去掉開發(fā)板卡,直接對自主設(shè)計(jì)的PCI板卡進(jìn)行驗(yàn)證。

⑥完善整個驅(qū)動程序,實(shí)現(xiàn)與應(yīng)用程序的接口部分,并進(jìn)行封裝。

3.2上層界面設(shè)計(jì)

系統(tǒng)的上位機(jī)采用C#語言進(jìn)行界面開發(fā),如圖4所示。C#具有縮短軟件開發(fā)周期,入門簡單,移植性優(yōu)秀的特點(diǎn),支持.NET技術(shù)增加了軟件的可移植性和可靠性。C#作為微軟公司在2000年發(fā)布的全新的面向?qū)ο笳Z言,吸取了之前的C,C++和JAVA的語言的優(yōu)點(diǎn),經(jīng)過這些年的使用更新,越來越占有編程軟件的市場份額,這也使它始終位于科技前沿,在現(xiàn)代企業(yè)計(jì)算環(huán)境里作為一種效率高,可用性強(qiáng)的高級編程語言。C#融合了當(dāng)今世界上使用最為廣泛的3種程序設(shè)計(jì)語言,還增加自己獨(dú)有的新技術(shù),為程序設(shè)計(jì)提供了全新的開發(fā)設(shè)計(jì)平臺。

但C#不能直接去操作硬件,在開發(fā)完驅(qū)動后,生成對應(yīng)的DLL庫,通過對庫進(jìn)行封裝,通過引用DLL的方式去操作板卡[5]。對相應(yīng)函數(shù)進(jìn)行說明。

①初始化模擬采集任務(wù)CPXI7040Card(uint dev)

在該方法中,首先通過DAQmxCreateTask()函數(shù)創(chuàng)建模擬輸入任務(wù),通過DAQmxCreateAIChan()函數(shù)創(chuàng)建模擬輸入通道。

②設(shè)置板卡參數(shù)AIConfig()

與數(shù)字輸出不同的是模擬采集任務(wù)需要配置任務(wù)參數(shù),使用板卡驅(qū)動的API函數(shù)DAQmxCfgSampClkTiming()可以設(shè)置采樣率、采集觸發(fā)方式、采樣模式、每通道采樣點(diǎn)數(shù)。分別設(shè)置為10000S/s,上升沿觸發(fā)、連續(xù)采樣、每通道采集100個點(diǎn)。

③啟動模擬采集任務(wù)AIStart()

圖4 上層界面設(shè)計(jì)

啟動模擬采集任務(wù),通過調(diào)用板卡驅(qū)動的API函數(shù)DAQmxStartTask()來啟動數(shù)據(jù)采集。這時板卡不斷地對模擬信號進(jìn)行采集。如果想獲得采集到的數(shù)據(jù),則需要在啟動數(shù)據(jù)采集前調(diào)用驅(qū)動API提供的注冊函數(shù)DAQmxRegisterEveryNSamplesEven()注冊回調(diào)函數(shù),并在回調(diào)函數(shù)中調(diào)用DAQmxReadAnalogF64()讀取數(shù)據(jù)即可。

④停止模擬采集任務(wù)AIStop()

在該方法中通過板卡驅(qū)動API的DAQmxClearTask()來停止采集任務(wù),清理采集通道。

3.3C#與MATLAB混合編程

MATLAB在算法和數(shù)學(xué)計(jì)算方面具有很大的優(yōu)勢,可以處理各種數(shù)據(jù),然而卻沒有比較好的界面去顯示,同時C#具有很好的界面,但作為C家族的成員,在計(jì)算方面一般,不能進(jìn)行復(fù)雜的運(yùn)算,因此將兩者結(jié)合充分發(fā)揮他們的有點(diǎn),彌補(bǔ)他們的缺點(diǎn)是很好的數(shù)據(jù)處理方法。

MATLAB軟件提供了多種方法來和供C#使用,其中還可以利用MATLAB自身的編譯工具(MATLAB COM Builder)將M文件生成COM組件,然后再C#可以添加引用里調(diào)用生成的COM組件[6]。

1)環(huán)境配置

在開發(fā)之前要搭載好開發(fā)環(huán)境,需要安裝的軟件有:

①M(fèi)ATLAB 2010b;

②MCR(Matlab Compile Runtime)。

③Microsoft Visual Studio 2008;

其中MCR在安裝目錄下可以找到。

2)設(shè)計(jì)COM組件

首先編寫MATLAB的M文件,M文件里包含了數(shù)據(jù)處理的方法函數(shù),然后在MATLAB菜單欄里新建Deployment Project。在Type類型里選擇.net assembly。選擇好名字點(diǎn)擊下一步,在Add Class選項(xiàng)添加M文件,點(diǎn)擊編譯等待一段時間即可生成對應(yīng)DLL文件。

3)混合編程

在C#里引用生成的DLL文件,從而對MATLAB生成的算法進(jìn)行使用。首先新建一個C#工程,在引用里添加生成的DLL文件,同時,由于MATLAB和C#有不同的數(shù)據(jù)類型,因此在使用時要給兩者提供一個翻譯機(jī)制。因此我們還需要引用MATLAB提供的.NET支持的DLL庫(MWArray.dll),同時在文件中引用他們。最后在程序中可以使用M文件的功能函數(shù)進(jìn)行數(shù)據(jù)處理了。

4 結(jié)論

利用模擬信號技術(shù)和數(shù)字信號技術(shù),基于計(jì)算機(jī)的PXI總線數(shù)據(jù)采集系統(tǒng)能夠有效地解決科研,工業(yè)等領(lǐng)域的數(shù)據(jù)采集問題。擁有良好的界面且具有處理復(fù)雜數(shù)據(jù)的能力,是科研人員有益的工具。在溫度監(jiān)控,壓力測試等數(shù)據(jù)采集領(lǐng)域具有重要的應(yīng)用。

[1]韓喜春.計(jì)算機(jī)總線技術(shù)應(yīng)用實(shí)例[M].北京:化學(xué)工業(yè)出版社,2010.

[2]李貴山,陳金鵬.PCI局部總線及其應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2003.

[3]尹勇,李宇.PCI總線設(shè)備開發(fā)寶典[M].北京:北京航空航天大學(xué)出版社,2005.

[4]武安河.Windows 2000/XP WDM設(shè)備驅(qū)動程序開發(fā)[M],北京:電子工業(yè)出版社,2003.

[5]李煥英.數(shù)據(jù)采集系統(tǒng)的研究與設(shè)計(jì)[D].南京理工大學(xué),2012.

[6]張亮.MATLAB與C/C++混合編程[M].北京:人民郵電出版社,2008.

Design of data acquisition system based on PXI bus

MIAO Zhong-hai,XU Zhi-yue
(Bei Hang University,Beijing 100191,China)

In order to collect and deal with the data,such as pressure and temperature,a general-purpose data acquisition system is designed in this paper.It contains the hardware system and the software system.The hardware part introduces the design of the PXI Card.what's more,the software part introduces the Card WDM driver,the mixed programming of MATLAB and C#.The experiment and application show that this test system has good performance,and achieve the design requirement.

data collection;PXI;WDM driver;hybrid programming

TN919

A

1674-6236(2016)12-0067-03

2015-06-29稿件編號:201506247

苗忠海(1991—),男,山東日照人,碩士。研究方向:WDM驅(qū)動開發(fā)、計(jì)算機(jī)測控。

猜你喜歡
系統(tǒng)設(shè)計(jì)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機(jī)系統(tǒng)
ZC系列無人機(jī)遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
何為設(shè)計(jì)的守護(hù)之道?
《豐收的喜悅展示設(shè)計(jì)》
流行色(2020年1期)2020-04-28 11:16:38
基于PowerPC+FPGA顯示系統(tǒng)
半沸制皂系統(tǒng)(下)
瞞天過海——仿生設(shè)計(jì)萌到家
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設(shè)計(jì)秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
主站蜘蛛池模板: 欧美日韩理论| 色综合手机在线| 国产00高中生在线播放| 免费无码AV片在线观看中文| 丝袜无码一区二区三区| 免费人成又黄又爽的视频网站| 日韩精品一区二区三区大桥未久| 试看120秒男女啪啪免费| 国产97视频在线| 国产av一码二码三码无码| 免费午夜无码18禁无码影院| 日本人妻丰满熟妇区| 欧美精品成人一区二区在线观看| 国模粉嫩小泬视频在线观看| 日韩小视频在线观看| 精品无码视频在线观看| 久久久精品久久久久三级| 午夜毛片免费看| 国产精品无码久久久久久| 久久91精品牛牛| 国产亚洲精品自在线| 欧美色综合网站| 精品黑人一区二区三区| 99ri国产在线| 九九免费观看全部免费视频| 亚洲男人的天堂网| 国产精品欧美日本韩免费一区二区三区不卡 | 中文一级毛片| 欧美性精品| 国产女主播一区| 天天色综合4| 国产经典三级在线| 国产精品极品美女自在线| 国产成人精品三级| 国产a v无码专区亚洲av| 手机永久AV在线播放| 国内老司机精品视频在线播出| 亚洲国产综合自在线另类| 日本午夜三级| 亚洲第一视频网| h网站在线播放| 欧美激情,国产精品| 亚洲国产高清精品线久久| 99热精品久久| 色妞永久免费视频| 人妻少妇久久久久久97人妻| 亚洲国产综合精品一区| jijzzizz老师出水喷水喷出| 在线观看国产精美视频| 日韩欧美视频第一区在线观看| 国产一区二区三区在线精品专区 | 亚洲精品制服丝袜二区| 在线看免费无码av天堂的| 日韩国产 在线| 精品夜恋影院亚洲欧洲| a级毛片网| 亚洲欧美日韩成人高清在线一区| AV天堂资源福利在线观看| 日韩精品成人在线| 99在线视频免费| 三上悠亚一区二区| 国语少妇高潮| 欧美精品一二三区| 亚洲啪啪网| 国产在线91在线电影| 亚洲床戏一区| 精品亚洲欧美中文字幕在线看| 欧美另类视频一区二区三区| 免费在线看黄网址| 三上悠亚在线精品二区| 国产偷国产偷在线高清| 国产伦精品一区二区三区视频优播| 国模极品一区二区三区| 国产成人免费观看在线视频| 欧美人人干| 99久久精品国产麻豆婷婷| 亚洲综合经典在线一区二区| 中文字幕免费在线视频| 激情在线网| 免费国产黄线在线观看| 欧美人人干| 免费一级毛片|