《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 一種實時數據采集與存儲系統的實現方法
一種實時數據采集與存儲系統的實現方法
摘要: 經過實驗與探索,我們選用ADLINK公司的PCI-7300A_RevB超高速數字I/O卡,利用現有的單(32位/33MHz)PCI總線的計算機系統構成低成本的硬件平臺,并利用自己開發的軟件系統,最終實現了高速(45Mbytes/sec)持續的數據采集于存儲。
Abstract:
Key words :

  1  引言

  隨著信息科學的飛速發展,數據采集和存儲技術已經是數字信號處理中非常重要的環節,將決定整個系統的性能。它廣泛應用于雷達,通信,遙測遙感等領域。它己經成為人們獲得外界信息的重要手段?;诳偩€的數據采集與存儲系統,由于可靠且易于實現、經濟等優點,得到了廣泛的應用。但當數據傳輸率很高時,保持高速數據存儲過程的可靠性、實時性將會成為一個比較棘手的問題。為此一些廠商提供了雙總線技術、64位/66MHzPCI總線系統來解決這問題。但這些技術較為昂貴,且忽略了現有的硬件設備。經過實驗與探索,我們選用ADLINK公司的PCI-7300A_RevB超高速數字I/O卡,利用現有的單(32位/33MHz)PCI總線的計算機系統構成低成本的硬件平臺,并利用自己開發的軟件系統,最終實現了高速(45Mbytes/sec)持續的數據采集于存儲。

  2  硬件組成及注意事項

  為了利用現有的硬件設備,降低成本;我們采用ADLINK公司出品的PCI-7300A_RevB超高速數字I/O卡作為數據采集部分。該卡的主要特性如下:

  •   32位數字I/O通道
  •   32位PCI總線
  •   通過觸發信號控制數據采集操作的開始。
  •   100針SCSI型連接器
  •   分散/聚攏方式的DMA
  •   最高傳輸速率80Mbytes/sec

  要實現實時高速的數據存儲,使用的一般的硬盤是不行的。所以我們選用希捷公司出品的型號為ST3146707LC的SCSI硬盤,該硬盤的容量是146GB,能滿足記錄大量數據的需要,其轉速為10Krpm。相應的SCSI硬盤控制器,選用Adaptec公司出品的型號為Adaptec19160的Ultra160-SCSI硬盤控制器。

  在搭建硬件平臺的過程中有些問題是必須注意的,否則系統不能正常工作。首先,PCI-7300A_RevB卡雖然采用分散/聚攏方式的DMA,但它對CPU資源的占用率是非常高的。經過實驗證明,要保證整個數據采集與存儲系統正常工作,只能使用奔四1.7G以上的計算機系統。其次,Windows系統允許多個設備共享一個中斷請求號(IRQ)。為了保證存儲過程的實時性,必須確保SCSI硬盤控制器和PCI-7300A_RevB卡使用不同的IRQ。可以在主板BIOS里把Pnp(即插即用)/PCI設備的IRQ進行手動配置。最后Windows2000ServicePack2(SP2)及早期版本不支持大于137GB容量的硬盤。須要先安裝ServicePack3,再在注冊表(HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesAtapiParameters)里添加一個REG_DWORD類型的參數EnableBigLba,并把值設成0x1。這樣146GB的硬盤才能工作正常。

  3  軟件設計

  軟件設計直接決定硬件是否能正常工作,以及能否充分發揮硬件的性能。

  3.1 PCIS-DASK及雙緩沖區模式的工作原理

  PCIS-DASK是ADLINK公司為自己的產品提供的驅動程序包,提供了專門用于實現高速數據采集的連續多緩沖區操作的一組API函數。通過這組API函數,我們可以按照雙緩沖區的原理,非常方便地實現對數據的實時、高速、連續的采集與存儲。

  雙緩沖區模式,在工程上稱為“乒乓”緩沖區模式。跟常用的單緩沖區模式相比雙緩沖區模式的優點是,它可以使用較小容量的內存,不間斷地緩沖幾乎無限量的數據(輸入與輸出端需協同工作)。這種緩沖區模式的工作原理是:在內存里開辟兩塊容量相等的緩沖區(以下將分別它們稱為第一緩沖區和第二緩沖區)作為連續數據輸入的緩沖區。工作開始時,數據采集卡首先將數據寫入第一緩沖區中,在數據采集卡開始把數據寫入第二緩沖區的同時,用戶程序可以根據自身需要取出第一緩沖區中的數據做特定的處理。當第二緩沖區被寫滿后,數據采集卡回到第一緩沖區的起始處,以覆蓋舊數據的方式,把新數據寫入第一緩沖區中;與此同時用戶程序取出第二緩沖區中的數據。整個數據采集處理過程可以如此不斷地循環進行下去。

  3.2 板卡驅動設置及注意的問題

  對板卡驅動的深刻理解是編寫好數據采集于存儲程序的前提。在連續數據輸入模式下,板卡驅動程序需要在系統內存里開辟一塊緩沖區做為二級緩存,用戶可以設置該緩沖區的大小。方法是:從菜單開始/程序/PCI-DASK/NuDAQPCIconfigurationUtility打開DASK2000DeviceDriverConfiguration對話框,從CardType組合框中選擇Pci7300A_RevB項,在DI欄輸入你想要開辟的緩沖區容量,點擊OK按鈕完成設置。需要注意的是板卡驅動設置的緩沖區(簡稱驅動緩沖區)容量與用戶程序開辟的緩沖區(用戶緩沖區)容量存在著一定關系。經過我們多次實驗,得出驅動緩沖區容量大約是用戶緩沖區的3倍;因此,當驅動緩沖區過小,而用戶緩沖區較大時,會出現錯誤。

 

  3.3 VisualC++開發環境的設置

  為了使用PCIS-DASK提供的實現連續多緩沖區操作的API函數,以及初始化板卡、設置板卡工作方式的API函數;需要VisualC++連接PCI-DASK提供的動態連接庫(Pci-dask.lib)。具體方法是:打開工程,從菜單Project/Setting…打開ProjectSetting對話框,切換到Link選項卡,在Object/librarymodules攔中添加Pci-dask.lib,點擊OK按鈕完成設置。最后在工程中加入頭文件Dask.h.。

 

  3.4 多線程的實時數據存儲軟件設計

  在要求高速、實時和連續采集和存儲的情況下,一方面要求系統不間斷地進行數據采集,同時還要進行數據實時地存儲,否則將會丟失數據,造成數據不完整。為了解決這個問題,我們在軟件實現中,引入了Windows的多任務處理技術(multitasking)。在程序里創建兩個工作線程分別完成數據采集和數據存儲工作。緩沖方式采用上面所說雙緩沖區模式,當數據采集線程(SampleThreadProc)把采集到的數據寫入第一緩沖區時,數據存儲線程(StorageThreadProc)把第二緩沖區的數據存入SCSI硬盤;當數據采集線程把數據寫入第二緩沖區時,數據存儲線程把第一緩沖區的數據存入SCSI硬盤;如此循環。另外通過實際實驗測試Adaptec19160Ultra160-SCSI硬盤控制器,配合希捷公司出品的ST3146707LCSCSI硬盤,持續寫入速率能達到80Mbytes/sec。遠大于45Mbytes/sec的采集速率。所以當數據采集線程寫滿其中一個緩沖區之前,數據存儲線程已經把另一個緩沖區里的數據存儲入SCSI硬盤。所以這種方法能保證數據的實時性、完整性和連續性。其程序流程圖如圖1。

程序流程圖

  3.5 軟件實現

  由于篇幅所限,下面僅給出程序中核心的代碼:

程序

程序

  4  性能評估

  為了驗證該系統的性能,我們對其所能達到的采集和存儲速率、以及數據正確率進行了測試和分析。

  在測試中我們使用了自己設計的數據源,它能以任意速率發送32位的線性數字信號。另外編寫了一個數據檢測程序,可給出存儲的數據的正確率和顯示數據錯誤的地方。經過長時間的測試,得到結果是:數據源發送速率為45Mbytes/sec時,存儲的數據能達到100%的正確率。當數據源發送速率為50Mbytes/sec時,數據有錯誤。

  經分析原因出在數據采集過程,當有很多位發生進位時(如FFFFFFFF→00000000)采集卡不能正確地采樣數據。實際上經過特殊處理后,這樣的數據還是可以使用的。

  計算機32位/33MHzPCI總線帶寬典型的輸出數據吞吐量為100Mbytes/sec,輸入數據吞吐量為120Mbytes/sec,而系統中其他的PCI設備也需要占用一定的帶寬,并且數據采集和存儲過程都要占用PCI總線帶寬;因此,45Mbytes/sec(100%正確率)的采集和存儲速率已經接近系統和硬件的極限。

  5  結語

  本文介紹的實現方法易于實現,且充分挖掘了硬件的性能,可滿足對數據采集與實時存儲速率要求較高(≤45Mbytes/sec)的應用。由于使用的硬件平臺是普通的奔四級PC機,所以開發成本較低。另外文中對實現過程中應注意的問題作了詳細說明并給出核心編程部分,使讀者很容易在較短時間內開發出滿足自己需要的系統。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲高清不卡| 一区二区三区在线免费视频| 欧美中文字幕在线观看| 一区二区高清在线观看| 久久精品一二三区| 久久爱另类一区二区小说| 亚洲网站在线观看| 亚洲美女色禁图| 亚洲精品黄色| 亚洲黄色视屏| 亚洲国产成人在线播放| 精品1区2区| 黄色精品一二区| 国产在线一区二区三区四区 | 国产精品视频xxxx| 国产精品成人观看视频国产奇米| 欧美日韩精品一区二区在线播放 | 国产精品一区久久久| 国产精品免费区二区三区观看| 欧美日韩中文在线| 欧美吻胸吃奶大尺度电影| 欧美日韩91| 欧美性jizz18性欧美| 国产精品久久九九| 国产精品自拍三区| 国产午夜一区二区三区| 海角社区69精品视频| 依依成人综合视频| 亚洲激情影视| 一级日韩一区在线观看| 亚洲一区二区在线看| 性欧美大战久久久久久久久| 久久国产99| 亚洲风情亚aⅴ在线发布| 亚洲韩国青草视频| 一本色道久久综合亚洲精品按摩 | 国产精品一区在线播放| 国产视频一区在线| 红桃视频一区| 日韩午夜精品视频| 欧美性片在线观看| 欧美在线高清| 欧美一区1区三区3区公司| 国产精一区二区三区| 欧美午夜精品久久久久免费视| 性亚洲最疯狂xxxx高清| 亚洲免费av片| 久久激情综合网| 亚洲人成人99网站| 亚洲一区二区免费| 亚洲黄色高清| 欧美日韩在线不卡| 欧美日韩国产二区| 欧美欧美天天天天操| 老司机成人网| 亚洲精品欧美日韩| 欧美亚洲三区| 狠狠久久婷婷| 欧美日韩亚洲天堂| 欧美日韩国产在线| 欧美日韩精品是欧美日韩精品| 欧美性大战久久久久久久蜜臀| 国产日韩精品在线| 亚洲国产成人久久综合一区| 亚洲视屏在线播放| 久久精品2019中文字幕| 一本色道综合亚洲| 久久久99国产精品免费| 欧美精品系列| 国产日韩一区在线| 亚洲免费播放| 亚洲国产精品黑人久久久| 中国成人亚色综合网站| 久久久久久久久久久一区| 欧美区亚洲区| 国内伊人久久久久久网站视频| 亚洲精选久久| 亚洲电影网站| 亚洲一区免费网站| 欧美承认网站| 国产一区二区剧情av在线| 99精品视频网| 亚洲第一精品夜夜躁人人爽| 欧美天天综合网| 在线高清一区| 亚洲欧美激情一区二区| 99精品国产高清一区二区| 久久久久久久久久久久久9999| 欧美日韩综合久久| 亚洲国产精品va| 欧美亚洲一区二区在线| 亚洲视频在线视频| 蜜乳av另类精品一区二区| 国产精品国产三级国产aⅴ浪潮 | 亚洲高清av| 欧美一区二区网站| 亚洲图片你懂的| 欧美国产1区2区| 国内精品久久久久久影视8| 中文av一区二区| 亚洲美女免费精品视频在线观看| 久久久99免费视频| 国产农村妇女毛片精品久久麻豆 | 午夜免费久久久久| 欧美日韩国内| 亚洲国产精品视频| 久久精品一二三区| 久久精品在线| 国产欧美另类| 99re在线精品| 日韩视频中文| 欧美高清一区二区| 黄色在线一区| 国产精品成人一区二区三区夜夜夜| 好吊妞**欧美| 亚洲第一天堂av| 久久国产精品亚洲va麻豆| 性做久久久久久| 国产精品日韩精品| 日韩天堂在线观看| 这里只有精品视频| 欧美激情综合五月色丁香小说| 一区三区视频| 久久激情五月激情| 久久久久久一区二区三区| 国产欧美精品在线| 亚洲主播在线观看| 午夜在线精品| 国产精品久久久久毛片软件| av成人激情| 亚洲少妇最新在线视频| 欧美美女视频| 亚洲毛片av| 在线一区二区日韩| 欧美手机在线视频| 一区二区毛片| 亚洲男人的天堂在线| 国产精品高潮久久| 亚洲视频日本| 亚洲欧美三级在线| 欧美日韩国产123| 在线视频精品一区| 亚洲欧美日韩一区二区三区在线| 国产精品盗摄久久久| 亚洲视频图片小说| 欧美一区二区在线| 国产日韩欧美在线看| 久久aⅴ国产欧美74aaa| 老鸭窝毛片一区二区三区| 怡红院精品视频在线观看极品| 亚洲黄色成人| 欧美精品免费在线观看| 在线视频日本亚洲性| 午夜在线a亚洲v天堂网2018| 国产午夜精品一区二区三区视频| 久久精品亚洲一区二区三区浴池| 免费在线观看一区二区| 亚洲精品久久久久久久久久久| 亚洲深夜影院| 国产麻豆精品在线观看| 久久精品国产96久久久香蕉| 欧美电影资源| 尤物九九久久国产精品的特点 | 亚洲欧洲免费视频| 欧美日本三级| 亚洲高清视频在线观看| 中文在线资源观看网站视频免费不卡 | 这里只有视频精品| 国产精品亚洲第一区在线暖暖韩国| 亚洲欧美在线看| 噜噜噜久久亚洲精品国产品小说| 亚洲国产美女久久久久| 亚洲一区二区欧美日韩| 国产欧美日韩一区| 亚洲欧洲精品一区二区三区波多野1战4| 欧美国产综合| 亚洲午夜视频| 蜜桃av综合| 中文亚洲免费| 久久亚洲春色中文字幕久久久| 91久久精品国产| 欧美亚洲自偷自偷| 亚洲国产精品黑人久久久| 亚洲在线观看视频网站| 国语自产精品视频在线看| 一区二区三区黄色| 国产区精品视频| 亚洲老板91色精品久久| 国产精品另类一区| 亚洲精品日韩在线观看| 国产精品毛片在线| 亚洲激情中文1区| 国产精品萝li| 亚洲日本一区二区| 国产欧美一区在线| 一区二区欧美亚洲| 国产一区二三区| 亚洲一区二区黄色| 在线精品视频免费观看| 性亚洲最疯狂xxxx高清|