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