音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

一種數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)

出處:電子應(yīng)用技術(shù) 發(fā)布于:2011-06-13 10:43:40

  摘 要:介紹了一種利用USB2.0的高速傳輸特性,基于USB和DSP的數(shù)據(jù)采集系統(tǒng)。詳細(xì)論述了系統(tǒng)的總體結(jié)構(gòu)、部分硬件設(shè)計(jì),并簡(jiǎn)要敘述了相應(yīng)固件程序的實(shí)現(xiàn)。

  測(cè)量?jī)x器是為了取得目標(biāo)物某些屬性值而進(jìn)行衡量所需要的第三方標(biāo)準(zhǔn),故測(cè)量?jī)x器一般都具有刻度,容積等單位。一般分為接觸試和光學(xué)試測(cè)量?jī)煞N,概念其基本內(nèi)容包括、誤差、測(cè)量標(biāo)準(zhǔn)器材、長(zhǎng)度測(cè)量、角度測(cè)量、形狀測(cè)量、傳統(tǒng)光學(xué)儀器、在精密測(cè)量上的應(yīng)用等。

  測(cè)量?jī)x器一般由數(shù)據(jù)采集、數(shù)據(jù)分析和顯示三部分組成,而數(shù)據(jù)分析和顯示可以由PC機(jī)的軟件來(lái)完成,因此只要額外提供一定的數(shù)據(jù)采集硬件就可以和PC機(jī)組成測(cè)量?jī)x器。這種基于PC機(jī)的測(cè)量?jī)x器被稱為虛擬儀器[1]。而在一些數(shù)據(jù)量比較大、采集時(shí)間比較長(zhǎng)的場(chǎng)合,就需要采用高速的數(shù)據(jù)傳輸通道?;谔摂M儀器的思想和高速傳輸通道的要求,設(shè)計(jì)了一種基于DSP和USB2.0的高速數(shù)據(jù)傳輸接口。

  1 數(shù)據(jù)采集系統(tǒng)硬件

  數(shù)據(jù)采集系統(tǒng)由A/D數(shù)據(jù)采集單元、USB從接口單元、U盤讀寫單元組成。硬件原理圖如圖1所示。被測(cè)信號(hào)經(jīng)A/D轉(zhuǎn)換后寫入FIFO中;當(dāng)FIFO數(shù)據(jù)半滿后,產(chǎn)生中斷,通知DSP進(jìn)行數(shù)據(jù)壓縮處理;DSP把壓縮好的數(shù)據(jù)依次寫入U(xiǎn)SB接口芯片的4個(gè)從FIFO中,4個(gè)從FIFO對(duì)應(yīng)USB的4個(gè)端點(diǎn),DSP一邊寫入數(shù)據(jù),已寫滿的從FIFO就一邊通過(guò)相應(yīng)端點(diǎn)由SIE把數(shù)據(jù)發(fā)送到上位機(jī),上位機(jī)一邊把收到的數(shù)據(jù)通過(guò)多線程存儲(chǔ)到硬盤中,一邊把數(shù)據(jù)解壓并把波形實(shí)時(shí)顯示出來(lái)。對(duì)于少量的數(shù)據(jù),可以存儲(chǔ)到U盤,送回PC機(jī)進(jìn)行分析顯示。

    該系統(tǒng)具有如下特點(diǎn):數(shù)據(jù)采集通用性較強(qiáng)。不僅可采集電氣量,亦可采集非電氣量。電氣參數(shù)采集用交流離散采樣,非電氣參數(shù)采集采用繼電器巡測(cè),信號(hào)處理由高隔離運(yùn)算放大器AD202JY調(diào)理,線性度好,高。

  整個(gè)系統(tǒng)采用分布式結(jié)構(gòu),軟、硬件均采用了模塊化設(shè)計(jì)。數(shù)據(jù)采集部分采用自行開(kāi)發(fā)的帶光隔離的RS-485網(wǎng),通信效率高,安全性好,結(jié)構(gòu)簡(jiǎn)單。后臺(tái)系統(tǒng)可根據(jù)實(shí)際被監(jiān)控系統(tǒng)規(guī)模大小及要求,構(gòu)成485網(wǎng)、Novell網(wǎng)及WindowsNT網(wǎng)等分布式網(wǎng)絡(luò)。由于軟、硬件均為分布式、模塊化結(jié)構(gòu),因而便于系統(tǒng)升級(jí)、維護(hù),且根據(jù)需要組成不同的系統(tǒng)。

  數(shù)據(jù)處理在WindowsNT平臺(tái)上采用VisualC++語(yǔ)言編程,處理能力強(qiáng)、速度快、界面友好,可實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)共享。

  整個(gè)系統(tǒng)自行開(kāi)發(fā),符合我國(guó)國(guó)情。對(duì)發(fā)電廠原有系統(tǒng)的改動(dòng)很小,系統(tǒng)造價(jià)較低,比較適合中小型發(fā)電廠技術(shù)改造需要。

  1.1 A/D采集模塊

  作為單通道輸入的MAX1189,主要控制信號(hào)有CS、R/C(Read/Conversion)、EOC(End of Conversion)。圖2為MAX1189的時(shí)序圖[2]。如圖2所示,每個(gè)采樣周期長(zhǎng)達(dá)CS信號(hào)的三個(gè)周期。在個(gè)CS信號(hào)的下降沿,如果R/C為低電平,也就進(jìn)入了應(yīng)答模式,這是開(kāi)始采樣前必須的準(zhǔn)備工作。低電平時(shí),ADC內(nèi)部參考電壓無(wú)需進(jìn)行轉(zhuǎn)換,這樣在開(kāi)始下一個(gè)周期的轉(zhuǎn)換時(shí)無(wú)需等待電壓的變化。高電平時(shí),內(nèi)部參考電壓會(huì)進(jìn)行調(diào)變,這樣在開(kāi)始下一周期的轉(zhuǎn)換時(shí)需要等待大約12?滋s的時(shí)間。在CS信號(hào)的第三個(gè)下降沿,EOC信號(hào)變?yōu)榈碗娖?,表示采樣結(jié)束,此時(shí)R/C信號(hào)為高電平,會(huì)把采樣數(shù)據(jù)放到總線上,這樣就完成了一個(gè)周期的采樣。采樣模塊的控制信號(hào)是由FPGA控制的。

  1.2 DSP與FIFO的連接

  數(shù)字信號(hào)處理(Digital Signal Processing,簡(jiǎn)稱DSP)是一門涉及許多學(xué)科而又廣泛應(yīng)用于許多領(lǐng)域的新興學(xué)科。20世紀(jì)60年代以來(lái),隨著計(jì)算機(jī)和信息技術(shù)的飛速發(fā)展,數(shù)字信號(hào)處理技術(shù)應(yīng)運(yùn)而生并得到迅速的發(fā)展。數(shù)字信號(hào)處理是一種通過(guò)使用數(shù)學(xué)技巧執(zhí)行轉(zhuǎn)換或提取信息,來(lái)處理現(xiàn)實(shí)信號(hào)的方法,這些信號(hào)由數(shù)字序列表示。在過(guò)去的二十多年時(shí)間里,數(shù)字信號(hào)處理已經(jīng)在通信等領(lǐng)域得到極為廣泛的應(yīng)用。德州儀器、Freescale等半導(dǎo)體廠商在這一領(lǐng)域擁有很強(qiáng)的實(shí)力。

  主處理器DSP既要控制采集,又要完成數(shù)據(jù)的處理和傳輸,因此數(shù)據(jù)采集模塊采集來(lái)的數(shù)據(jù)不能直接傳送給DSP,這會(huì)極大影響DSP的處理效率。解決辦法是利用數(shù)據(jù)緩沖器如雙口RAM、FIFO等,對(duì)數(shù)據(jù)進(jìn)行適度緩存,當(dāng)緩存的數(shù)據(jù)量達(dá)到一個(gè)設(shè)定值時(shí),可以通知CPU進(jìn)行高速數(shù)據(jù)傳輸,將緩存的數(shù)據(jù)性地讀入。在設(shè)計(jì)中采用了緩沖,較好地解決了采集端與處理端的速度匹配問(wèn)題。

  FIFO的讀寫由各自的控制時(shí)鐘FIFOR和FIFOW控制,寫時(shí)鐘與采樣時(shí)鐘同步,讀時(shí)鐘與DSP處理數(shù)據(jù)的時(shí)序有關(guān)。當(dāng)FIFO半滿后,F(xiàn)PGA會(huì)根據(jù)FIFOHF、FIFOE/F、FIFOPAFE的相應(yīng)位判斷FIFO是否半滿,F(xiàn)PGA便向DSP發(fā)出中斷請(qǐng)求。本設(shè)計(jì)中采用外部中斷的EXTINT3來(lái)作為FIFO緩沖數(shù)據(jù)的DMA傳輸觸發(fā)事件。DSP響應(yīng)FPGA中斷請(qǐng)求,讀取數(shù)據(jù)進(jìn)行數(shù)據(jù)壓縮。當(dāng)DSP數(shù)據(jù)處理速度跟不上采集數(shù)據(jù)速度時(shí),F(xiàn)IFO就會(huì)全滿,F(xiàn)PGA根據(jù)FIFOHF、FIFOE/F、FIFOPAFE相應(yīng)位狀態(tài)判斷到FIFO已全滿,于是向USB接口芯片單片機(jī)發(fā)出中斷請(qǐng)求,通知系統(tǒng)數(shù)據(jù)己溢出,采集發(fā)生嚴(yán)重錯(cuò)誤。

  1.3 USB從接口電路

  USB ,是英文Universal Serial BUS(通用串行總線)的縮寫,而其中文簡(jiǎn)稱為“通串線,是一個(gè)外部總線標(biāo)準(zhǔn),用于規(guī)范電腦與外部設(shè)備的連接和通訊。是應(yīng)用在PC領(lǐng)域的接口技術(shù)。USB接口支持設(shè)備的即插即用和熱插拔功能。USB是在1994年底由英特爾、康柏、IBM、Microsoft等多家公司聯(lián)合提出的。USB用一個(gè)4針(USB3.0標(biāo)準(zhǔn)為9針)插頭作為標(biāo)準(zhǔn)插頭,采用菊花鏈形式可以把所有的外設(shè)連接起來(lái),多可以連接127個(gè)外部設(shè)備,并且不會(huì)損失帶寬。USB需要主機(jī)硬件、操作系統(tǒng)和外設(shè)三個(gè)方面的支持才能工作。目前的主板一般都采用支持USB功能的控制芯片組,主板上也安裝有USB接口插座,而且除了背板的插座之外,主板上還預(yù)留有USB插針,可以通過(guò)連線接到機(jī)箱前面作為前置USB接口以方便使用(注意,在接線時(shí)要仔細(xì)閱讀主板說(shuō)明書(shū)并按圖連接,千萬(wàn)不可接錯(cuò)而使設(shè)備損壞)。而且USB接口還可以通過(guò)專門的USB連機(jī)線實(shí)現(xiàn)雙機(jī)互連,并可以通過(guò)Hub擴(kuò)展出更多的接口。

  USB從接口單元采用CYPRESS的CY7C68013芯片。如圖3所示,USB接口芯片CY7C68013由3.3V電源供電。PAO/INTO#選擇INTO工作方式,其中斷級(jí)別,當(dāng)FIFO全滿造成數(shù)據(jù)溢出導(dǎo)致數(shù)據(jù)采集發(fā)生嚴(yán)重錯(cuò)誤時(shí),該中斷請(qǐng)求發(fā)生,系統(tǒng)通知數(shù)據(jù)溢出錯(cuò)誤,并停止數(shù)據(jù)采集。RESET#為USB接口芯片復(fù)位輸入。

  USB的FDO~FDl5與DSP的I/O數(shù)據(jù)線相連,用于DSP與USB從FIFO通信,SLWR為寫控制時(shí)鐘。FLAGB、FLAGC用于輸出2,4,6,8相應(yīng)端點(diǎn)從FIFO的空滿狀態(tài),以便DSP寫USB從FIFO時(shí)獲取空滿狀態(tài)。

  FIFOADRO、FIFOADR1用于DSP尋址2,4,6,8相應(yīng)端點(diǎn)USB從FIFO,F(xiàn)IFOADRO及FIFOADR1功能真值表如表1所示。FIFOADRO、FIFOADR1的初值為00,對(duì)應(yīng)DSP寫端點(diǎn)2的從FIFO, FIFOADRO和FIFOADR1的值自加變?yōu)?1,對(duì)應(yīng)DSP寫端點(diǎn)4的從FIFO。以此類推,DSP依次寫2,4,6,8端點(diǎn)數(shù)據(jù),當(dāng)FIFOADRO和FIFOADR1的值為11時(shí),再自加,F(xiàn)IFOADRO和FIFOADR1的值又變?yōu)?0,因此,DSP可循環(huán)寫2,4,6,8端點(diǎn)。需要說(shuō)明的是,當(dāng)DSP開(kāi)始寫一新端點(diǎn)的從FIFO之前,DSP要讀FLAGB、FLAGC標(biāo)志位,若該端點(diǎn)不空,則等待;若空,則進(jìn)行寫數(shù)據(jù)操作。

  1.4 U盤讀寫單元

  此電路單元采用USB主控芯片CH375。CH375 是一USB總線的通用接口芯片,支持USB-HOST主機(jī)方式和USB-DEVICE/SLAVE設(shè)備方式。此系統(tǒng)中只采用USB的主功能,用來(lái)讀寫U盤[4]。

  CH375 芯片的RD#和WR#引腳分別連接DSP的讀選通輸出引腳和寫選通輸出引腳。CS#由地址譯碼電路驅(qū)動(dòng)。INT#輸出的中斷請(qǐng)求是低電平有效,可以連接到DSP的中斷輸入引腳。當(dāng)RD#為高電平并且CS#和WR#都為低電平而A0 為高電平時(shí),D7~D0上的數(shù)據(jù)被作為命令碼寫入CH375芯片中。CH375內(nèi)置了處理Mass-Storage 海量存儲(chǔ)設(shè)備的專用通訊協(xié)議的固件,DSP可以直接以扇區(qū)為基本單位讀寫常用的USB 存儲(chǔ)設(shè)備(包括USB硬盤/USB閃存盤/U 盤)。

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

  本設(shè)計(jì)的軟件主要由兩大部分組成:USB芯片軟件及DSP通信軟件。其中,USB芯片軟件的設(shè)計(jì)是關(guān)鍵,它又包括固化程序、驅(qū)動(dòng)程序、PC機(jī)端應(yīng)用程序[5]以及DSP端通信接口程序。

  2.1 固化程序

  USB芯片的固化程序主要負(fù)責(zé):

 ?。?) 寄存器初始化工作,設(shè)置一些特殊功能寄存器的初值以實(shí)現(xiàn)所需的屬性或者功能;

 ?。?) 輔助硬件完成設(shè)備的枚舉過(guò)程,對(duì)主機(jī)的設(shè)備請(qǐng)求作出適當(dāng)?shù)捻憫?yīng);

 ?。?) 完成中斷處理、數(shù)據(jù)接收及發(fā)送以及對(duì)外圍電路的控制。

  2.2 驅(qū)動(dòng)程序

  開(kāi)發(fā)USB設(shè)備驅(qū)動(dòng)程序可采用Jungo公司的WinDriverv6.03,并以VC++6.0作為輔助開(kāi)發(fā)環(huán)境。利用WinDriver提供的開(kāi)發(fā)平臺(tái),用戶即可完成驅(qū)動(dòng)程序的設(shè)計(jì)工作,剩下的底層細(xì)節(jié)由WinDriver內(nèi)核統(tǒng)一處理,從而降低了對(duì)開(kāi)發(fā)者編程能力的要求,同時(shí)也大大縮短了開(kāi)發(fā)周期。下面對(duì)使用WinDriver開(kāi)發(fā)驅(qū)動(dòng)程序的步驟作一個(gè)簡(jiǎn)要說(shuō)明:

 ?。?) 啟動(dòng)WinDriver的DriverWizard工具;

 ?。?) 利用DriverWizard檢測(cè)硬件是否正常;

 ?。?) 在DriverWizard中選擇所使用的開(kāi)發(fā)環(huán)境,這里使用VC6.0開(kāi)發(fā)環(huán)境,并生成驅(qū)動(dòng)程序代碼;

  (4) 對(duì)生成的代碼進(jìn)行修改,使其符合系統(tǒng)的需要;

  (5) 在WinDriver環(huán)境的用戶模式下調(diào)試驅(qū)動(dòng)程序。

  2.3 PC端應(yīng)用程序

  USB主機(jī)應(yīng)用程序是計(jì)算機(jī)中完成特定功能的程序,其關(guān)鍵是實(shí)現(xiàn)從USB 外設(shè)讀取或發(fā)送特定數(shù)量的數(shù)據(jù)、USB標(biāo)準(zhǔn)設(shè)備請(qǐng)求和特定的命令等。另外,可以對(duì)數(shù)據(jù)做進(jìn)一步的處理,如:存儲(chǔ)、顯示、快速傅立葉變換等。

  主機(jī)應(yīng)用程序的編寫使用VC編譯環(huán)境中的API函數(shù)實(shí)現(xiàn)。應(yīng)用程序的編程方法與串口編程類似。首先必須查找設(shè)備,調(diào)用WIN32函數(shù)CreateFilea( )打開(kāi)設(shè)備的句柄;然后調(diào)用WIN32函數(shù)DeviceIoControl( )就可以進(jìn)行數(shù)據(jù)讀寫和控制操作;關(guān)閉設(shè)備句柄。

  2.4 DSP端通信接口程序

  在本設(shè)計(jì)中,DSP處于主控地位,通過(guò)INT中斷決定什么時(shí)候接收USB送來(lái)的數(shù)據(jù),并把接收來(lái)的數(shù)據(jù)做簡(jiǎn)單的壓縮運(yùn)算,決定何時(shí)往USB發(fā)送這些數(shù)據(jù)。在讀數(shù)據(jù)時(shí),應(yīng)首先判斷FX2的FIFO2是否為空,如果不為空則將數(shù)據(jù)讀進(jìn)來(lái),讀進(jìn)一個(gè)16位數(shù)。在寫數(shù)據(jù)時(shí),首先判斷要寫的數(shù)據(jù)個(gè)數(shù)是否為512字節(jié)的整倍數(shù)。

  由于開(kāi)發(fā)此系統(tǒng)涉及到USB驅(qū)動(dòng)開(kāi)發(fā)以及應(yīng)用程序的設(shè)計(jì),比較繁瑣,嘗試?yán)肕ass Storage協(xié)議開(kāi)發(fā)虛擬設(shè)備,把數(shù)據(jù)采集卡當(dāng)作一個(gè)Windows的外圍設(shè)備,采用文件系統(tǒng)格式直接以文件形式存儲(chǔ)數(shù)據(jù)。這部分主要是修改CY7C68013的固件程序,如設(shè)備描述符、端點(diǎn)描述符,主機(jī)會(huì)把采集卡認(rèn)為是一Mass Storage設(shè)備,然后利用SCSI協(xié)議以及文件系統(tǒng)就可以直接存儲(chǔ)由DSP傳過(guò)來(lái)的數(shù)據(jù),這樣就省去了復(fù)雜的驅(qū)動(dòng)和應(yīng)用程序設(shè)計(jì)。

  本文介紹了基于USB2.0的16bit數(shù)據(jù)采集系統(tǒng),采用數(shù)據(jù)壓縮算法完成了數(shù)據(jù)量的壓縮以及高速數(shù)據(jù)傳輸。由于USB的即插即用特性,彌補(bǔ)了傳統(tǒng)數(shù)據(jù)采集卡插拔困難的缺點(diǎn),相信隨著技術(shù)的進(jìn)步,USB技術(shù)必將得到更廣泛的應(yīng)用。


  
關(guān)鍵詞:一種數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫(kù)提出的寶貴意見(jiàn),您的參與是維庫(kù)提升服務(wù)的動(dòng)力!意見(jiàn)一經(jīng)采納,將有感恩紅包奉上哦!