李海波,許建明
邵陽學院信息工程系,湖南邵陽 422000
基于SOPC技術(shù)的數(shù)據(jù)采集系統(tǒng)的設(shè)計方法
李海波,許建明
邵陽學院信息工程系,湖南邵陽 422000
本文提出一種以SOPC技術(shù)為基礎(chǔ)的數(shù)據(jù)采集系統(tǒng)設(shè)計方法,包括系統(tǒng)設(shè)計的總體思路、系統(tǒng)處置與數(shù)據(jù)通信、系統(tǒng)的實現(xiàn)等內(nèi)容,以提高數(shù)據(jù)采集系統(tǒng)運行的實時性、穩(wěn)定性。
SOPC技術(shù);數(shù)據(jù)采集系統(tǒng);設(shè)計
SOPC技術(shù)源自SOC技術(shù),主要特征為可編程性。一般SOPC的設(shè)計環(huán)境為SOPC Builder,主要集成于QuartusII中。在SOPC Builder中,具有友好的用戶圖形界面,用戶可以通過界面中提供的IP庫選擇組件,如I/O、Flash、處理器等,并選擇相應參數(shù)。另外,SOPC還有一個非常重要的功能:設(shè)計SOPC過程中,如果用戶提出特殊要求,但是IP庫中卻沒有,用戶就可以通過自定義邏輯來滿足要求。
數(shù)據(jù)采集系統(tǒng)作為DSP信號處理系統(tǒng)的一部分,整個系統(tǒng)包括放大信號、信號采樣、信號濾波、高速處理數(shù)字信號、與計算器的數(shù)據(jù)傳輸接口相連等若干個部分。其中,放大信號主要是調(diào)理輸入信號,符合采樣要求;信號采樣是將模擬信號轉(zhuǎn)化為數(shù)字信號;信號濾波主要為了避免產(chǎn)生信號混疊現(xiàn)象;高速處理數(shù)字信號是建立在隨機共振模型基礎(chǔ)上,完善各種計算方法。
在應用Verilog HDL設(shè)計技術(shù)的基礎(chǔ)上,實現(xiàn)自動在FIFO中存儲數(shù)據(jù)以及硬件控制A/D轉(zhuǎn)換,通過DSP系統(tǒng)輸出的具體時間來確定采樣頻率。隨著采樣數(shù)據(jù)的增加,直到達到一幀,F(xiàn)IFO就會向DSP發(fā)出中斷申請信號,由DSP系統(tǒng)將DMA開啟,并完成數(shù)據(jù)的讀取過程。在這期間,數(shù)據(jù)采集不中斷,可實現(xiàn)連續(xù)性的實時數(shù)據(jù)采集與處理。在設(shè)計SOPC過程中,有些系統(tǒng)的功能可以直接通過IP數(shù)據(jù)庫來完成,但是有時候IP庫中的功能不夠靈活。為了解決這一問題,就可通過客戶的自定義功能來滿足邏輯性。
在該系統(tǒng)中,應用了大規(guī)模的FPGA嵌入式雙NIOSII軟核處理器,每個處理器都設(shè)定了獨立的時鐘,確保雙核工作時間,同時提供了可以自行控制的獨立區(qū)域。系統(tǒng)的主控制軟件基于C語言設(shè)計,部分邏輯模塊采取VHDL程序設(shè)計。因此,內(nèi)部模塊之間的數(shù)據(jù)交換具有一定可測試性,且可靠性較高,系統(tǒng)處理效率高。系統(tǒng)的主控器件是FPGA32位嵌入式的CPU系統(tǒng),系統(tǒng)中各個功能模塊在雙核處理器的配合下完成工作。在SOPC內(nèi)核中,CPU分別與外部邏輯單元連接、外設(shè)控制接口,負責系統(tǒng)的采集和存儲功能。另外,在系統(tǒng)中實現(xiàn)Avalon和SDRAM的總線相連,兼容實現(xiàn)雙核CPU功能,提高系統(tǒng)運行的安全性、可靠性,確保圖像數(shù)據(jù)采集存儲的真實性、完整性。
在該系統(tǒng)中,兩個處理器分別獨立,但是共享同一個SDRAM,在SDRAM的內(nèi)部區(qū)域合理分配,確保每個處理器之間的協(xié)調(diào)運作,提高處理器的獨立性。在整個數(shù)據(jù)采集系統(tǒng)中,F(xiàn)PGA中的雙核處理器之間數(shù)據(jù)通信包括信息的傳遞和協(xié)調(diào),通過SOPC技術(shù)中自有的Mutex核以及Mailbox核協(xié)調(diào)兩個處理器之間的正常工作,確保系統(tǒng)通信的正常運行。系統(tǒng)中的CPU處理器都設(shè)有LED等,以此作為調(diào)試的參照,當軟核CPU運行時,可以共享存儲器中的堆棧數(shù)據(jù)并接受外部命令,通過FPGA中的Mailbox核遠程連接作用,向CPU2中傳遞信息,當CPU1中發(fā)出的信息傳遞到CPU2之后,調(diào)試相關(guān)時序,確保雙核正常工作。當兩個處理器處于同一個共享的存儲器中進行通信時,可能產(chǎn)生ID沖突,造成采集數(shù)據(jù)的損壞。因此,該系統(tǒng)中應引進Mutex內(nèi)核,當其中一個CPU結(jié)束對ID地址的訪問之后,自動將Mutex釋放,避免雙處理器進行共享訪問時,占用了同一個ID地址資源。
通過集成于QuanusII中的SOPC Builder生成處理器,還包括一些外設(shè)功能,如Flash、SDRAM等,此時涉及的問題就是如何配置組件的參數(shù)。例如,需要使用什么樣的串口波特率、NIOS微處理器等。用戶可以根據(jù)實際情況進行設(shè)計。如果需要32位處理器的系統(tǒng)實現(xiàn),再加上大容量寄存器文件,那么在對NIOS處理器進行配置時,就可以選擇32位NIOS處理器以及512個存儲器。這樣,通過靈活選擇組件的參數(shù),提高了SOPC設(shè)計的靈活性。最后,通過Verilog HDL編寫用戶邏輯,實現(xiàn)數(shù)據(jù)的采集??紤]到用戶邏輯應該和NIOS處理器實現(xiàn)通信,就應增設(shè)address和chipselect兩大信號。其中,address為地址信號,chipselect為片選信號,在數(shù)值是“1”時,NIOS的處理器選為用戶邏輯;只有通過address信號,才能將用戶邏輯與總線中的NIOS處理器實現(xiàn)通信。最后,將整個項目編譯完畢,并將后綴“sof”的文件下載到開發(fā)板的編程芯片中。
軟件的實現(xiàn)是一個應用程序,在該部分中,主要考慮與NIOS總線相連接的用戶邏輯問題。用戶可以通過自定義的address和chipselect信號,通過SOPC Builder 自動分配到用戶的邏輯地址。這樣,對于訪問用戶邏輯,就可以實現(xiàn)訪問用戶邏輯的分配地址。
目前,SOPC已成為未來電子設(shè)計的發(fā)展方向,已經(jīng)不再停留在單元電路層面,更重要的是集成信號采集、信號輸出、信號處理等功能,最終成為一個具有應用價值的電子系統(tǒng)芯片。
[1]柳秀山.基于SOPC的環(huán)境信息遠程采集系統(tǒng)的研究[J].通信技術(shù),2009(7).
[2]王建校,危建國.SOPC設(shè)計基礎(chǔ)與實踐[J].西安:西安電子科技大學出版社,2006.
[3]陳松柏,周進.基于DSP+FPGA的多目標實時檢測系統(tǒng)設(shè)計[J].信息與電子工程,2007(1).
TP332
A
1674-6708(2012)58-0162-01
湖南省教育廳資助項目(09C886)
李海波,學生,所在院校:邵陽學院,專業(yè):電子科學與技術(shù)
許建明,教師,碩士研究生,工作單位:邵陽學院信息工程系