一種實(shí)時(shí)數(shù)據(jù)采集與存儲(chǔ)系統(tǒng)的實(shí)現(xiàn)方法
3.5 軟件實(shí)現(xiàn)
由于篇幅所限,下面僅給出程序中核心的代碼:
4 性能評(píng)估
為了驗(yàn)證該系統(tǒng)的性能,我們對(duì)其所能達(dá)到的采集和存儲(chǔ)速率、以及數(shù)據(jù)正確率進(jìn)行了測(cè)試和分析。
在測(cè)試中我們使用了自己設(shè)計(jì)的數(shù)據(jù)源,它能以任意速率發(fā)送32位的線性數(shù)字信號(hào)。另外編寫了一個(gè)數(shù)據(jù)檢測(cè)程序,可給出存儲(chǔ)的數(shù)據(jù)的正確率和顯示數(shù)據(jù)錯(cuò)誤的地方。經(jīng)過長時(shí)間的測(cè)試,得到結(jié)果是:數(shù)據(jù)源發(fā)送速率為45Mbytes/sec時(shí),存儲(chǔ)的數(shù)據(jù)能達(dá)到100%的正確率。當(dāng)數(shù)據(jù)源發(fā)送速率為50Mbytes/sec時(shí),數(shù)據(jù)有錯(cuò)誤。
經(jīng)分析原因出在數(shù)據(jù)采集過程,當(dāng)有很多位發(fā)生進(jìn)位時(shí)(如FFFFFFFF→00000000)采集卡不能正確地采樣數(shù)據(jù)。實(shí)際上經(jīng)過特殊處理后,這樣的數(shù)據(jù)還是可以使用的。
計(jì)算機(jī)32位/33MHzPCI總線帶寬典型的輸出數(shù)據(jù)吞吐量為100Mbytes/sec,輸入數(shù)據(jù)吞吐量為120Mbytes/sec,而系統(tǒng)中其他的PCI設(shè)備也需要占用一定的帶寬,并且數(shù)據(jù)采集和存儲(chǔ)過程都要占用PCI總線帶寬;因此,45Mbytes/sec(100%正確率)的采集和存儲(chǔ)速率已經(jīng)接近系統(tǒng)和硬件的極限。
5 結(jié)語
本文介紹的實(shí)現(xiàn)方法易于實(shí)現(xiàn),且充分挖掘了硬件的性能,可滿足對(duì)數(shù)據(jù)采集與實(shí)時(shí)存儲(chǔ)速率要求較高(≤45Mbytes/sec)的應(yīng)用。由于使用的硬件平臺(tái)是普通的奔四級(jí)PC機(jī),所以開發(fā)成本較低。另外文中對(duì)實(shí)現(xiàn)過程中應(yīng)注意的問題作了詳細(xì)說明并給出核心編程部分,使讀者很容易在較短時(shí)間內(nèi)開發(fā)出滿足自己需要的系統(tǒng)。
評(píng)論