新聞中心

EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 淺談自制便攜式虛擬儀器的快速實(shí)現(xiàn)方法

淺談自制便攜式虛擬儀器的快速實(shí)現(xiàn)方法

作者: 時(shí)間:2017-01-12 來(lái)源:網(wǎng)絡(luò) 收藏
  1. 引言

  隨著計(jì)算機(jī)軟硬件技術(shù)和信號(hào)處理技術(shù)的迅速發(fā)展,不僅使得已經(jīng)提出多年的虛擬儀器成為現(xiàn)實(shí),并且逐步得到日益廣泛的應(yīng)用和廣大科學(xué)工作者以及工程人員的青睞。虛擬儀器技術(shù)就是利用高性能的模塊化硬件,結(jié)合高效靈活的軟件來(lái)完成各種測(cè)試、測(cè)量和自動(dòng)化的應(yīng)用。自1986年問(wèn)世以來(lái),世界各國(guó)的工程師和科學(xué)家們都已將NI LabVIEW圖形化開(kāi)發(fā)工具用于產(chǎn)品設(shè)計(jì)周期的各個(gè)環(huán)節(jié),從而改善了產(chǎn)品質(zhì)量、縮短了產(chǎn)品投放市場(chǎng)的時(shí)間,并提高了產(chǎn)品開(kāi)發(fā)和生產(chǎn)效率。使用集成化的虛擬儀器環(huán)境與現(xiàn)實(shí)世界的信號(hào)相連,分析數(shù)據(jù)以獲取實(shí)用信息,共享信息成果,有助于在較大范圍內(nèi)提高生產(chǎn)效率。虛擬儀器提供的各種工具能滿足我們?nèi)魏雾?xiàng)目需要。實(shí)現(xiàn)了自制虛擬儀器的可行性、經(jīng)濟(jì)性、快速性和便攜性。

本文引用地址:http://m.butianyuan.cn/article/201701/337666.htm

  2. 整體設(shè)計(jì)

  虛擬儀器技術(shù)是在PC技術(shù)的基礎(chǔ)上發(fā)展起來(lái)的,所以完全"繼承"了以現(xiàn)成即用的PC技術(shù)為主導(dǎo)的最新商業(yè)技術(shù)的優(yōu)點(diǎn),包括功能超卓的處理器和文件I/O,使您在數(shù)據(jù)高速導(dǎo)入磁盤的同時(shí)就能實(shí)時(shí)地進(jìn)行復(fù)雜的分析。此外,不斷發(fā)展的因特網(wǎng)和越來(lái)越快的計(jì)算機(jī)網(wǎng)絡(luò)使得虛擬儀器技術(shù)展現(xiàn)其更強(qiáng)大的優(yōu)勢(shì)。在仔細(xì)研究了虛擬儀器的設(shè)計(jì)制作后,不難發(fā)現(xiàn)虛擬儀器采用了現(xiàn)代計(jì)算機(jī)的外圍接口和數(shù)據(jù)處理軟件外,其數(shù)據(jù)采集部分硬件設(shè)計(jì)和傳統(tǒng)的儀器制作過(guò)程是相同的??偟膩?lái)說(shuō),虛擬儀器的設(shè)計(jì)分硬件部分和軟件部分兩大塊設(shè)計(jì)。

  無(wú)論是傳統(tǒng)的儀器還是虛擬儀器都少不了信號(hào)采集部分,傳統(tǒng)的儀器把信號(hào)采集后加以信號(hào)處理并直接顯示出來(lái),沒(méi)有和計(jì)算機(jī)交互的過(guò)程。虛擬儀器是將信號(hào)采集后的結(jié)果利用計(jì)算機(jī)接口技術(shù)送往計(jì)算機(jī)進(jìn)行后期的處理和顯示。所以我們的虛擬儀器的硬件設(shè)計(jì)包括數(shù)據(jù)采集板卡和板卡接口的設(shè)計(jì)。如果板卡接口采用并行總線(PCI、ISA等),那么板卡裝卸麻煩,易受到機(jī)箱內(nèi)環(huán)境的干擾,而且受計(jì)算機(jī)插槽數(shù)量、電源功率以及地址、中斷資源的限制;如果使用專用的儀器總線,其成本和時(shí)間上受限制。在此我們采用USB總線作為硬件板卡接口,USB總線解決了一般通用總線的缺點(diǎn),具有速度快、連線少、即插即用、自帶電源以及支持熱插拔等特性,并且其開(kāi)發(fā)時(shí)間較短,能夠?qū)崿F(xiàn)便攜式的要求。因而我們擬設(shè)計(jì)的虛擬儀器的硬件板卡是帶有USB接口的數(shù)據(jù)采集卡。

  虛擬儀器的硬件系統(tǒng)一般分為計(jì)算機(jī)硬件平臺(tái)和測(cè)控功能硬件。計(jì)算機(jī)硬件平臺(tái)可以是各種類型的計(jì)算機(jī),如臺(tái)式計(jì)算機(jī)、便攜式計(jì)算機(jī)、工作站、嵌入式計(jì)算機(jī)等。它管理著虛擬儀器的軟件資源,是虛擬儀器的硬件基礎(chǔ)。因此,計(jì)算機(jī)技術(shù)在顯示、存儲(chǔ)能力、處理器性能、網(wǎng)絡(luò)、總線標(biāo)準(zhǔn)等方面的發(fā)展,導(dǎo)致了虛擬儀器系統(tǒng)的快速發(fā)展。

  A) 硬件的設(shè)計(jì)

  虛擬儀器的好壞關(guān)鍵是硬件部分的設(shè)計(jì),而硬件的關(guān)鍵是數(shù)據(jù)采集卡的設(shè)計(jì)。硬件部分主要是數(shù)據(jù)采集卡及其接口電路設(shè)計(jì)硬件部分完成信號(hào)的接受及模擬信號(hào)的預(yù)處理和轉(zhuǎn)換,經(jīng)模/數(shù)轉(zhuǎn)換的數(shù)據(jù)送至計(jì)算機(jī)進(jìn)行處理及結(jié)果顯示等硬件功能。數(shù)據(jù)采集卡是虛擬儀器的重要部件和唯一需要開(kāi)發(fā)的硬件電路,其元件特性、電路結(jié)構(gòu)是決定虛擬儀器性能指標(biāo)的主要因素。根據(jù)需設(shè)計(jì)的虛擬儀器的用途和性能要求,擬設(shè)計(jì)的數(shù)據(jù)采集板卡性能指標(biāo)如下:①最大數(shù)據(jù)采集率為1MSPS;②信號(hào)輸入范圍為+40伏~-40伏。我們選用了美信MAXIM公司的數(shù)模轉(zhuǎn)換器 MAXIM114,它的最大信號(hào)采集數(shù)率為1MSPS。對(duì)于USB接口芯片,我們采用Philips公司的PDIUSBD12芯片,PDIUSBD12芯片是高性能USB接口芯片,集成了SIE、FIFO存儲(chǔ)器、收發(fā)器以及電壓調(diào)整器,它符合USB1.1版本規(guī)范,在批量模式和同步模式下均可實(shí)現(xiàn) 1MB/S的數(shù)據(jù)傳輸速率,能夠滿足擬設(shè)計(jì)的虛擬儀器的要求。整個(gè)板卡主要的電路原理設(shè)計(jì)如圖一所示。

  圖 一

  數(shù)據(jù)采集卡的工作原理:

  數(shù)據(jù)采集(DAQ),是指從傳感器和其它待測(cè)設(shè)備等模擬和數(shù)字被測(cè)單元中自動(dòng)采非電量或者電量信號(hào),送到上位機(jī)中進(jìn)行分析,處理。數(shù)據(jù)采集系統(tǒng)是結(jié)合基于計(jì)算機(jī)或者其他專用測(cè)試平臺(tái)的測(cè)量軟硬件產(chǎn)品來(lái)實(shí)現(xiàn)靈活的、用戶自定義的測(cè)量系統(tǒng)。 數(shù)據(jù)采集卡,即實(shí)現(xiàn)數(shù)據(jù)采集(DAQ)功能的計(jì)算機(jī)擴(kuò)展卡,可以通過(guò)USB、PXI、PCI、PCI Express、火線(1394)、PCMCIA、ISA、CompactFlash、485、232、以太網(wǎng)、各種無(wú)線網(wǎng)絡(luò)等總線接入個(gè)人計(jì)算機(jī)。

  首先,PC機(jī)上發(fā)出啟動(dòng)數(shù)據(jù)采集的請(qǐng)求,MAXIM114開(kāi)始進(jìn)行信號(hào)采樣以及模數(shù)轉(zhuǎn)換,模數(shù)轉(zhuǎn)換后的結(jié)果存儲(chǔ)到雙端口存儲(chǔ)器IDT7024 中,IDT7024的存儲(chǔ)深度為2K,單片機(jī)SST89E564通過(guò)輪詢計(jì)數(shù)器54HC4040的BA10位,一旦發(fā)現(xiàn)此位變?yōu)楦唠娢?,便從雙端口數(shù)據(jù)存儲(chǔ)器中讀出數(shù)據(jù),并把數(shù)據(jù)傳給USB接口送往PC機(jī)。其中,當(dāng)雙端口存儲(chǔ)器IDT7024存滿2K個(gè)數(shù)據(jù)時(shí)便給計(jì)數(shù)器54HC4040發(fā)出清零信號(hào),從此雙端口存儲(chǔ)器IDT7024進(jìn)行下一輪的2K數(shù)據(jù)存儲(chǔ)的過(guò)程。USB接口中的數(shù)據(jù)傳輸方式有控制傳輸、中斷傳輸、批量傳輸和同步傳輸。根據(jù)USB接口芯片 PDIUSBD12的特點(diǎn),在此,USB數(shù)據(jù)傳輸采用非同步的批量傳輸方式,單片機(jī)SST89E564一次只能發(fā)送64字節(jié)的數(shù)據(jù)給USB接口芯片 PDIUSBD12。

  應(yīng)用時(shí),數(shù)據(jù)采集系統(tǒng)置于被監(jiān)控的設(shè)備處,通過(guò)傳感器對(duì)設(shè)備的電壓或者電流信號(hào)進(jìn)行采樣、保持,并送入A/D轉(zhuǎn)換器變成數(shù)字信號(hào),然后將該信號(hào)送到FIFO中。當(dāng)FIFO中存放的數(shù)據(jù)到了一定數(shù)目時(shí),由ARM7從FIFO中讀出,然后通過(guò)ARM7的以太網(wǎng)接口或者RS232送給上位機(jī)??紤]到要監(jiān)控的設(shè)備可能會(huì)很多,所以設(shè)計(jì)了多路采集通道,他們經(jīng)過(guò)模擬開(kāi)關(guān)后再進(jìn)入A/D轉(zhuǎn)換器。CPLD是整個(gè)系統(tǒng)的控制核心,他控制采集通道的切換、A/D轉(zhuǎn)換器的啟/停、轉(zhuǎn)換后的數(shù)據(jù)在FIFO中的存放地址發(fā)生器、產(chǎn)生中斷請(qǐng)求以通知ARM7讀取存放在FIFO中的數(shù)據(jù)等。

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

  軟件部分的設(shè)計(jì)分為:數(shù)據(jù)采集板卡底層固件開(kāi)發(fā)、板卡的驅(qū)動(dòng)程序的開(kāi)發(fā)和上層應(yīng)用程序的開(kāi)發(fā)。

 ?。?)對(duì)于帶有USB接口的數(shù)據(jù)采集板卡的固件開(kāi)發(fā),主要有主循環(huán)程序(發(fā)送USB請(qǐng)求、處理USB總線事件和自定義功能處理)、硬件提取層程序(對(duì)單片機(jī)的I/O口、數(shù)據(jù)總線等硬件接口進(jìn)行操作)、PDIUSBD12命令接口程序(對(duì)PDIUSBD12器件進(jìn)行操作的模塊子程序集)、中斷服務(wù)程序(當(dāng)PDIUSBD12向單片機(jī)發(fā)出中斷請(qǐng)求時(shí),讀取PDIUSBD12的中斷傳輸來(lái)的數(shù)據(jù),并設(shè)定事件標(biāo)志和Setup包數(shù)據(jù)緩沖區(qū)傳輸給主循環(huán)程序)和標(biāo)準(zhǔn)請(qǐng)求處理程序(對(duì)USB的標(biāo)準(zhǔn)設(shè)備請(qǐng)求進(jìn)行處理)。全部的程序都是用C51編寫(xiě)的,在這不列出具體的程序。

 ?。?)在編好了單片機(jī)中的固件程序以后,進(jìn)行USB板卡的驅(qū)動(dòng)程序編寫(xiě)。開(kāi)發(fā)驅(qū)動(dòng)程序的工具有windriver、微軟提供的DDK和 Compuware的DriverStudio工具包,我們使用DriverStudio驅(qū)動(dòng)程序開(kāi)發(fā)工具,對(duì)于熟悉面向?qū)ο缶幊痰能浖_(kāi)發(fā)員,DriverStudio是一個(gè)良好的驅(qū)動(dòng)開(kāi)發(fā)工具,并且開(kāi)發(fā)時(shí)間比較短。DriverStudio工具包中的DriverWorks提供了三個(gè)類:KDriver、KPnpDevice和KPnpLowerDevice,這三個(gè)類用于實(shí)現(xiàn)WDM驅(qū)動(dòng)程序的框架結(jié)構(gòu)。

  在用到以上類外,開(kāi)發(fā)USB驅(qū)動(dòng)程序還用到了DriverWorks提供的三個(gè)用于實(shí)現(xiàn)USB設(shè)備操作的類:KUsbLowerDevice、 KUsbInterface和KUsbPipe類。其中,KPnpLowerDevice實(shí)例代表端點(diǎn)0,允許USB驅(qū)動(dòng)程序通過(guò)默認(rèn)控制管道控制USB 設(shè)備,如配置USB設(shè)備,傳輸各種控制和狀態(tài)請(qǐng)求;KusbInterface類的作用更多是結(jié)構(gòu)上的而非功能上的,其成員函數(shù)幾乎不與實(shí)際物理設(shè)備交互作用,驅(qū)動(dòng)程序用這個(gè)類獲取接口和管道信息;KusbPipe類對(duì)應(yīng)與管道,管道是主機(jī)和一個(gè)端點(diǎn)的信息連接,這個(gè)類用于初始化管道信息和管道操作控制。驅(qū)動(dòng)程序代碼在此略。

 ?。?)虛擬儀器軟面板的開(kāi)發(fā)在LABWINDOWS提供的CVI環(huán)境下完成的。這種圖形開(kāi)發(fā)環(huán)境比其它高級(jí)語(yǔ)言(C和VC)開(kāi)發(fā)的圖形界面不僅容易而且效果更好。并且這個(gè)工具提供了許多信號(hào)處理算法的功能模塊。如果有C或者VC編程基礎(chǔ),可以在較短時(shí)間編寫(xiě)出比較完美的所要的應(yīng)用程序。在這不列寫(xiě)出具體的程序。

  3. 總論

  自制便攜式虛擬儀器設(shè)計(jì)已經(jīng)完成,基本上能滿足我們所需的工程項(xiàng)目的測(cè)試要求,而且運(yùn)行良好。證實(shí)了一種快速的、經(jīng)濟(jì)的和有效的虛擬儀器設(shè)計(jì)方法。便攜式虛擬儀器具有精度高、運(yùn)行穩(wěn)定、實(shí)時(shí)性好、抗干擾能力強(qiáng)、性價(jià)比高的特點(diǎn)。



關(guān)鍵詞: 虛擬儀器快速實(shí)

評(píng)論


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

關(guān)閉