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

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