|
|
| <!--插入廣告JS代碼--> |
摘 要 介紹了一種基于數(shù)字信號處理器ADSP2106X的多通道、分布式、同步互聯(lián)型高速數(shù)據(jù)采集與處理系統(tǒng)。該系統(tǒng)可以廣泛應(yīng)用于高頻信號或其他動態(tài)信號的采集與處理,最高可以實現(xiàn)128路信號的同步高速數(shù)據(jù)采集、存儲示波顯示以及頻譜分析等等。本文主要介紹了系統(tǒng)的軟、硬件設(shè)計,以及系統(tǒng)設(shè)計中所采用的幾個相關(guān)技術(shù):高速數(shù)據(jù)緩存技術(shù)、數(shù)據(jù)通信技術(shù)和同步互聯(lián)技術(shù)。在軟件方面,主要介紹了系統(tǒng)的應(yīng)用軟件設(shè)計以及系統(tǒng)核心芯片ADSP2106X的監(jiān)控軟件設(shè)計。<!--摘要CH(結(jié)束)←-->
<!--→關(guān)鍵CH(開始)--> 關(guān)鍵詞:數(shù)據(jù)采集;數(shù)字信號處理器;高速緩存;ADSP2106X<!--關(guān)鍵CH(結(jié)束)←-->
<!--關(guān)鍵EN(結(jié)束)←--> 數(shù)據(jù)采集技術(shù)是一項基本的實用性技術(shù),它被廣泛應(yīng)用于圖像處理、振動測試、語音信號分析和瞬態(tài)信號分析等眾多領(lǐng)域[1]。目前不同性能指標(biāo)的通用或?qū)S玫臄?shù)據(jù)采集系統(tǒng),在各種領(lǐng)域中隨處可見。但是,由于成本或技術(shù)開發(fā)等眾多因素的影響,一般的數(shù)據(jù)采集系統(tǒng)其速度和通道數(shù)不能滿足一些特殊領(lǐng)域的測試要求,或者滿足這些要求的系統(tǒng)又由于成本相當(dāng)高而使得向市場推廣的難度加大。本文介紹了一種基于ADSP2106X的多通道、分布式、同步互聯(lián)型高速數(shù)據(jù)采集與處理系統(tǒng),它能完成最高128路寬頻帶信號的同步高速數(shù)據(jù)采集,其最高采樣頻率達(dá)20 MHz。該系統(tǒng)的研制為解決數(shù)據(jù)采集系統(tǒng)速度、通道數(shù)和成本之間的矛盾提供了一個新的思路,并對測控儀器之間的網(wǎng)絡(luò)同步互聯(lián)技術(shù)做了初步的研究。
1 系統(tǒng)的硬件設(shè)計
該系統(tǒng)的硬件核心是4通道的高速數(shù)據(jù)采集和處理模塊,圖1為模塊的原理方框圖。
整個高速數(shù)據(jù)采集和處理模塊是由前端信號調(diào)理電路、高速A/D采集和數(shù)據(jù)緩存、DSP數(shù)據(jù)處理和模塊控制、EPP接口電路以及485同步互聯(lián)接口電路幾部分組成的。在模塊中,為了便于對4路寬頻帶信號進(jìn)行同步數(shù)據(jù)采集并加快AD-SP2106X處理數(shù)據(jù)的能力,用了4片A/D轉(zhuǎn)換器分別對4路信號進(jìn)行數(shù)據(jù)采集。采集到的數(shù)據(jù)經(jīng)高速數(shù)據(jù)緩存后再進(jìn)入DSP中進(jìn)行分析與處理。數(shù)模轉(zhuǎn)換器DAC的作用是在DSP的控制下對系統(tǒng)進(jìn)行調(diào)零和自標(biāo)定,并可以進(jìn)行模擬電平或者波形的輸出。

在結(jié)構(gòu)上,整個高速數(shù)據(jù)采集與處理模塊的硬件部分分成了模擬板和數(shù)字板兩部分,其中數(shù)字板為底板,模擬板為背板,板間用插針相連,進(jìn)行數(shù)據(jù)和控制信號的傳輸。這種結(jié)構(gòu)設(shè)計難度適中,模擬信號和數(shù)字信號之間有一個整體的隔離,精度指標(biāo)相對容易滿足,并且模塊的結(jié)構(gòu)緊湊,靈活性強。
2 相關(guān)技術(shù)
2.1 系統(tǒng)核心芯片ADSP2106X
數(shù)字信號處理器是整個硬件系統(tǒng)的核心,它不但控制著整個高速數(shù)據(jù)采集系統(tǒng)的工作流程,還負(fù)責(zé)與PC機以及外部系統(tǒng)之間的數(shù)據(jù)通信。本系統(tǒng)采用了AD公司1995年推出的32 bits并行浮點DSP-ADSP2106X。ADSP2106X包括了以AD-SP21060為基礎(chǔ)發(fā)展起來的多個低成本品種,如ADSP21060, ADSP21062,ADSP21061等,它們的封裝形式一致,引腳兼容,其區(qū)別主要體現(xiàn)在片內(nèi)SRAM的大小以及有無鏈路口,在應(yīng)用中可以根據(jù)實際需要進(jìn)行選擇。ADSP2106X的運行速度非?欤渲噶钪芷跒25ns,即每秒能處理四千萬條指令,并且單周期內(nèi)可以乘法、加法、減法三操作并行,計算一個1 024點的復(fù)數(shù)FFT只需0.46 ms,而計算浮點倒數(shù)的時間只需150 ns[2]。因此,AD-SP2106X能滿足本系統(tǒng)對高頻信號進(jìn)行數(shù)據(jù)分析與處理的要求。
在本系統(tǒng)中,ADSP2106X控制著整個系統(tǒng)的工作流程和運行狀態(tài)。以單通道采集為例:當(dāng)采集開始時,ADSP2106X首先接收用戶通過PC機傳送的采集參數(shù),包括通道的設(shè)置、量程的選擇、采樣頻率和采樣長度的確定、觸發(fā)電平的大小等等。根據(jù)這些參數(shù),ADSP2106X控制信號進(jìn)入采集通道進(jìn)行數(shù)據(jù)采集,并隨時監(jiān)控信號采集的狀態(tài)。如果監(jiān)測到A/D轉(zhuǎn)換器發(fā)出溢出信號,ADSP2106X相應(yīng)調(diào)整前端信號調(diào)理電路放大倍數(shù)的大小,從而實現(xiàn)系統(tǒng)信號測量的自動量程轉(zhuǎn)換。A/D轉(zhuǎn)換器負(fù)責(zé)采集信號,并將轉(zhuǎn)換后的數(shù)據(jù)存入到一級緩存器FIFO中。ADSP2106X根據(jù)采集參數(shù),讀取一定長度的采樣數(shù)據(jù),進(jìn)行初步的數(shù)據(jù)分析和處理后,存入二級緩存器SRAM或DRAM中,等待計算機進(jìn)一步處理。
2.2 高速數(shù)據(jù)緩存技術(shù)
在一般的高速數(shù)據(jù)采集系統(tǒng)中,系統(tǒng)核心芯片數(shù)字信號處理器DSP的運行速度與前端A/D轉(zhuǎn)換器的運行速度往往是不同步的。在單通道情況下, DSP處理數(shù)據(jù)的能力往往超過了A/D轉(zhuǎn)換器采集數(shù)據(jù)的能力,而多通道同時采集的情況下,又會出現(xiàn)相反的狀況。為了協(xié)調(diào)、控制它們之間的工作,需要在兩者之間加入數(shù)據(jù)緩存器。
本系統(tǒng)采用了高速先入先出(First input firstoutput)存儲器UPD42280作為一級緩存器來緩存A/D轉(zhuǎn)換器采到的數(shù)據(jù)。UPD42280是一種256 K×8 bit的雙口FIFO型緩存器,其數(shù)據(jù)是按照一定的時鐘節(jié)拍順序?qū)懭牖蜃x出的,它的訪問時鐘速率可以達(dá)到30MHz。在本系統(tǒng)中,UPD42280的寫時鐘與A/D轉(zhuǎn)換器的工作時鐘使用同一信號源,保證了FIFO的寫操作與A/D轉(zhuǎn)換操作的同步,不致于出現(xiàn)數(shù)據(jù)漏接或混接的現(xiàn)象。而UPD42280的讀時鐘與寫時鐘不一致,即設(shè)計為異步FIFO。這是因為在一般情況下,DSP的工作速率遠(yuǎn)遠(yuǎn)高于A/D轉(zhuǎn)換器的轉(zhuǎn)換速率,如果FIFO的讀寫操作用同一時鐘,則會降低DSP的工作效率,使得DSP只有在數(shù)據(jù)接收完畢后,才能進(jìn)行其它操作,否則會出現(xiàn)數(shù)據(jù)漏接的現(xiàn)象。設(shè)計為異步FIFO,并對UPD42280進(jìn)行幀中斷管理,可以使DSP接收完一幀數(shù)據(jù)后去進(jìn)行其它操作,直到FIFO存完一幀數(shù)據(jù),向DSP發(fā)出中斷請求為止[3]。所謂幀中斷管理,即是將UPD42280的內(nèi)部存儲單元分成n個單元一幀,A/D轉(zhuǎn)換器每寫入一幀數(shù)據(jù)就等于向FIFO寫入n個數(shù)據(jù)。DSP響應(yīng)此幀中斷信號,再去讀取FIFO新緩存的一幀數(shù)據(jù)。這樣,F(xiàn)IFO的讀指針始終保持在寫指針之后,一步一趨地跟隨,而DSP的工作效率也得到了提高。
2.3 EPP接口技術(shù)
為了保證系統(tǒng)與PC機之間的高速數(shù)據(jù)傳輸,我們設(shè)計了EPP接口來與PC機進(jìn)行數(shù)據(jù)傳輸。傳統(tǒng)PC機的并行口是單向的數(shù)據(jù)傳輸口,如果想進(jìn)行雙向的數(shù)據(jù)傳輸則需要借助它的5根狀態(tài)線,這就使得系統(tǒng)與PC機之間的數(shù)據(jù)傳輸速率大大降低。而由IntelXicom和Zenith公司發(fā)起制定的 EPP(Enhanced parallel port)協(xié)議和以后的IEEE1284標(biāo)準(zhǔn),使得PC機的并行口成為一種雙向數(shù)據(jù)傳輸口,并達(dá)到了接近標(biāo)準(zhǔn)PC機內(nèi)部ISA總線傳輸數(shù)據(jù)的能力。
在實際應(yīng)用中要注意的是:DSP的工作速率比較高,每秒可以對外部數(shù)據(jù)進(jìn)行幾十兆的讀/寫操作,而PC的讀/寫速度相對比較慢,EPP最快只能達(dá)到500 K~2 M字節(jié)/s,因此,EPP與DSP之間應(yīng)該設(shè)計緩存器和數(shù)據(jù)傳輸時的讀寫握手信號[4],這樣PC與DSP之間的讀/寫過程就可以完全由速度比較慢的PC控制。當(dāng)PC讀數(shù)據(jù)時,DSP響應(yīng)讀中斷申請,將數(shù)送入緩存器中,等待PC讀取。當(dāng)PC寫數(shù)據(jù)時,DSP響應(yīng)寫中斷申請,知道PC已經(jīng)往緩存器內(nèi)寫了一個數(shù),DSP讀取此數(shù)并做相應(yīng)的處理。這兩個握手信號的設(shè)計,可以保證PC與DSP之間通信正確,不會漏接或錯接任何數(shù)據(jù)。并且,由于DSP工作速率高,在響應(yīng)完一個中斷而另一個中斷未產(chǎn)生之前,DSP還可以進(jìn)行其它操作,從而提高整個系統(tǒng)的工作效率。
2.4 網(wǎng)絡(luò)同步互聯(lián)技術(shù)
目前的網(wǎng)絡(luò)技術(shù)已經(jīng)非常成熟,以太網(wǎng)、國際互聯(lián)網(wǎng)等都是已經(jīng)被廣泛應(yīng)用的網(wǎng)絡(luò)技術(shù),但是這些網(wǎng)絡(luò)協(xié)議基本上都是異步的。然而在某些大型的多點測試場合中,各測試點的數(shù)據(jù)通常都是緊密相關(guān)的,最后分析時往往也要求能分析出各數(shù)據(jù)之間的相關(guān)關(guān)系。因此為了獲取正確的測試結(jié)果,就必須保證各點的測試設(shè)備之間是同步工作的,也就是說整個測試網(wǎng)絡(luò)內(nèi)的測試設(shè)備必須在統(tǒng)一的測試時鐘下進(jìn)行工作。目前,市場上還沒有這樣的同步技術(shù)可以被直接使用。為此本系統(tǒng)利用AD-SP2106X的高速同步串口設(shè)計了同步數(shù)據(jù)傳輸接口,并對具有同樣接口的不同設(shè)備之間的同步工作問題進(jìn)行了一些探索[5]。
如圖2所示:通過每個模塊的同步接口以及ADSP2106X串口的時分復(fù)用技術(shù)(TDM),本系統(tǒng)可以將32個高速數(shù)據(jù)采集與處理模塊連接在一起,其中任何一個模塊都可以設(shè)置為主控制模塊。一旦主控制模塊設(shè)定,其他31個模塊就都為從模塊,各模塊的測試時鐘由主模塊統(tǒng)一提供,這樣32個模塊、128路通道便可以進(jìn)行同步的高速數(shù)據(jù)采集和處理。各個模塊采到的數(shù)據(jù)經(jīng)本模塊的DSP作初步的分析和處理后,統(tǒng)一傳給主DSP,再由主模塊傳給PC機做進(jìn)一步的處理。 
這種分布式模塊之間同步互聯(lián)的方案可以有效地解決速度、通道數(shù)與成本之間的矛盾,用戶可以根據(jù)實際需要選擇合適的模塊數(shù)即通道數(shù)。另外由于ADSP2106X高速同步串口的驅(qū)動能力和數(shù)據(jù)傳輸距離有限,在硬件設(shè)計中還采用了RS-485芯片來增強網(wǎng)絡(luò)同步互聯(lián)接口的驅(qū)動能力。該同步數(shù)據(jù)傳輸接口的傳輸速率最高可以達(dá)到16 Mbps,其最大分布距離為1 000 m。
3 系統(tǒng)的軟件設(shè)計
本系統(tǒng)共設(shè)計了兩套軟件:數(shù)據(jù)采集系統(tǒng)的應(yīng)用軟件和ADSP2106X的監(jiān)控軟件。
系統(tǒng)的應(yīng)用軟件與其它數(shù)據(jù)采集系統(tǒng)一樣,設(shè)計了系統(tǒng)復(fù)位、上電自檢、系統(tǒng)自標(biāo)定、各通道調(diào)零、模擬電平輸出、單通道采集、多通道同步采集等功能。另外,應(yīng)用軟件還提供了一些基于純軟件的數(shù)據(jù)處理與顯示功能,例如頻譜分析、加窗處理、存儲示波顯示、波形實時顯示等。
為了方便用戶對該系統(tǒng)進(jìn)行透明式地調(diào)試和監(jiān)控,我們還開發(fā)了ADSP2106X的監(jiān)控軟件。通過此監(jiān)控軟件,用戶可以在PC機上看到AD- SP2106X內(nèi)部控制寄存器和程序區(qū)的值,并可讀取、修改和保存數(shù)據(jù)區(qū)的內(nèi)容,從而判斷測試系統(tǒng)的運行結(jié)果是否正確。通過此監(jiān)控軟件,用戶還可以裝載、運行ADSP2106X一些獨立的應(yīng)用程序,如:FFT、數(shù)字濾波、功率譜分析等等。這些應(yīng)用程序都裝在計算機內(nèi),使用時只需從計算機上下載,裝入 ADSP2106X的程序區(qū)內(nèi)即可,這樣做不但避免了將所有的應(yīng)用程序燒入EPROM的麻煩,還節(jié)省了ADSP2106X程序存儲區(qū)的空間。用戶也可以根據(jù)實際需要,編寫自己所需的應(yīng)用程序,用ADSP2106X提供的匯編工具生成可執(zhí)行文件,就可以直接裝入執(zhí)行,這一點使得本系統(tǒng)的應(yīng)用更加靈活和方便。
4 結(jié) 論
該系統(tǒng)的主要性能指標(biāo)如下:
。1)單模塊有4個獨立的高速數(shù)據(jù)采集通道,最大可擴展至128個通道;
。2)采樣頻率可以編程設(shè)定,最高采樣頻率為20 MHz;
(3)實時FFT(1 024點)所用時間小于1 ms;
。4)8個高速DAC通道,最高采樣速率為8MHz;
。5)同步數(shù)據(jù)傳輸接口最高傳輸速率為16Mbps,最大分布距離為1 000 m;
(6)支持電平觸發(fā)、事件觸發(fā)等多種觸發(fā)方式;
(7)系統(tǒng)具有復(fù)位功能、自檢功能、自標(biāo)定功能和DSP邊界掃描功能。
該系統(tǒng)應(yīng)用范圍廣泛,可以應(yīng)用在各種圖像處理、炮口沖擊波測試、瞬態(tài)信號分析等對速度要求較高并且通道數(shù)也要求較多的地方。
<!--→參考文獻(xiàn)CH(開始)-->
參考文獻(xiàn)
1 沈蘭蓀.高速數(shù)據(jù)采集系統(tǒng)原理與應(yīng)用[M].北京:人民郵電出版社,1995.1~10
2 蘇 濤,吳順君,廖曉群.高性能數(shù)字信號處理器與高速實時信號處理[M].西安:電子科技大學(xué)出版社,1999.30~34
3 蘇紹.高速緩存體FIFO的幀中斷管理方法[J].?dāng)?shù)據(jù)采集與處理,1999,14(3):338~342
4 陳曉露,王躍科.增強型并行口EPP在PC與DSP通信中的應(yīng)用[J].電子技術(shù),2001,6:16~195 陳曉露.基于高速數(shù)據(jù)采集模塊的網(wǎng)絡(luò)互聯(lián)型虛擬儀器的研究[D]:[學(xué)位論文].長沙:國防科技大學(xué),2001