中北大學(xué)山西省光電信息與儀器工程技術(shù)研究中心 譚緒祥 王 麗 王志斌 王冠軍
基于MicroBlaze的高速數(shù)據(jù)采集與處理系統(tǒng)設(shè)計(jì)
中北大學(xué)山西省光電信息與儀器工程技術(shù)研究中心 譚緒祥 王 麗 王志斌 王冠軍
MicroBlaze是Xilinx公司提供的通過使用FPGA通用邏輯實(shí)現(xiàn)的軟核處理器。本文基于MicroBlaze設(shè)計(jì)了一個(gè)高速數(shù)據(jù)采集與處理系統(tǒng),該系統(tǒng)可以實(shí)時(shí)采集和處理模擬信號并顯示結(jié)果,也可以通過USB將采集到的信號上傳至電腦另做處理。實(shí)驗(yàn)表明,該系統(tǒng)可完成高速信號的采集和處理,并成功應(yīng)用在彈光調(diào)制型光譜儀中。
數(shù)據(jù)采集與處理;嵌入式系統(tǒng);MicroBlaze;SPOC
數(shù)據(jù)采集與處理系統(tǒng)在實(shí)際中有廣泛的應(yīng)用,許多領(lǐng)域?qū)Σ杉俾?、采樣精度和?shí)時(shí)處理速度都要求越來越高[1],傳統(tǒng)數(shù)據(jù)采集與處理系統(tǒng)一般由ARM+DSP、FPGA+DSP等架構(gòu)組成[2-3],這類架構(gòu)的數(shù)據(jù)采集與處理系統(tǒng)大多電路復(fù)雜且穩(wěn)定性差。隨著集成電路的快速發(fā)展,F(xiàn)PGA可編程邏輯器件的功能變得日益強(qiáng)大,現(xiàn)在FPGA可以嵌入MCU、DSP、MPU等微處理器形成可編程片上系統(tǒng)(System on Programmable Chip)[4-5]。
MicroBlaze是Xilinx的32位精簡指令集嵌入式軟核處理器,在EDK(Embended Development Kit)開發(fā)環(huán)境中可以靈活裁剪、參數(shù)化的設(shè)計(jì)處理器和組件,F(xiàn)PGA內(nèi)部即可實(shí)現(xiàn)一個(gè)高性能的處理器[6]。由于軟核嵌入式處理器在FPGA內(nèi)部實(shí)現(xiàn),所以可以縮小電路板面積、減少芯片數(shù)量和連線并能有效提高穩(wěn)定和速度,片上系統(tǒng)在功耗、成本、體積等方面都很有優(yōu)勢[6-8]。
為提高系統(tǒng)穩(wěn)定性并增強(qiáng)信號的采集與處理能力,本文設(shè)計(jì)了一個(gè)基于MicroBlaze的高速數(shù)據(jù)采集與處理系統(tǒng),并實(shí)現(xiàn)了高速型號的采集和處理實(shí)驗(yàn)。
本系統(tǒng)中的FPGA選用Xilinx的SPARTAN6系列高性能FPGA,ADC芯片采用TI公司高速高精度低功耗的雙通道ADS4245芯片,其數(shù)據(jù)精度為14bit,數(shù)據(jù)采樣頻率為125MSPS,為了讓ADC獲得更好的性能,采用專用時(shí)鐘芯片AD9524作為ADC的采樣時(shí)鐘。FPGA的配置芯片采用的是Xilinx的XCF32P,內(nèi)存使用了兩片型號為MT41J128M16HA的芯片,采用CY7C68013A做為USB模塊的控制轉(zhuǎn)換芯片,顯示屏采為800×480的LCD液晶模塊,電源均采用線性電源模塊供電。主要器件框圖如圖1所示。
具體電路設(shè)計(jì)可參考各芯片數(shù)據(jù)手冊,在此不對其做詳細(xì)介紹,ADS4245采用單電源1.8V供電和差動輸入,因此需要在前面增加一個(gè)驅(qū)動電路來把單端信號轉(zhuǎn)換為差分信號,同時(shí)需要把信號電壓調(diào)理到AD芯片可采集的范圍之內(nèi)。為了保證良好的阻抗匹配,本系統(tǒng)ADC驅(qū)動電路采用兩傳輸線變壓器背靠背式設(shè)計(jì)。設(shè)計(jì)電路時(shí)需要將數(shù)字地和模擬地隔離,高速信號布線時(shí)需考慮阻抗匹配、信號完整性、電磁干擾等因素。
圖1 系統(tǒng)硬件結(jié)構(gòu)框圖
3.1 開發(fā)流程
MicroBlaze系統(tǒng)是采用開發(fā)工具EDK對硬件和軟件進(jìn)行協(xié)同設(shè)計(jì),硬件實(shí)現(xiàn)部分使用HDL描述語言,功能實(shí)現(xiàn)部分使用C語言,先在XPS中對硬件平臺進(jìn)行搭建,包括設(shè)置處理器類型、總行結(jié)構(gòu)、外設(shè)的連接方式等,把XPS生成的硬件文件后導(dǎo)入到SDK中再開發(fā)相應(yīng)的驅(qū)動程序和應(yīng)用程序,最后將硬件比特流文件和可執(zhí)行文件協(xié)同生成配置文件下載到FPGA中,整個(gè)流程如圖2所示。
圖2 系統(tǒng)設(shè)計(jì)流程圖
3.2 片上系統(tǒng)硬件開發(fā)
先利用XPS中的BSB向?qū)渲锰幚砥鞑?chuàng)建工程文件,然后定制嵌入式系統(tǒng)的外設(shè),可以直接調(diào)用XPS中已經(jīng)存在的IP核,本設(shè)計(jì)中使用了軟件自帶的DMA、LED、內(nèi)存控制和按鍵控制四個(gè)核,對于XPS沒有提供控制核的外設(shè),需要自己定制相應(yīng)的IP核后才能使用。定制IP核是通過硬件描述語言實(shí)現(xiàn)處理器和外設(shè)的接口邏輯,制作好的IP核可導(dǎo)入到系統(tǒng)工程中。本文設(shè)計(jì)了時(shí)鐘配置、ADC控制、流處理、USB控制和LCD控制五個(gè)IP核,其中流處理核作用是把ADC輸出數(shù)據(jù)轉(zhuǎn)換成符合DMA傳輸要求的數(shù)據(jù),然后把這五個(gè)核掛在一條自行設(shè)計(jì)的BRAM控制器擴(kuò)展線上以便于統(tǒng)一管理。BRAM控制器擴(kuò)展線是由一個(gè)BRAM控制器的讀寫操作封裝而成,CPU通過對BRAM控制器操作來操作掛在該擴(kuò)展線上的IP核,嵌入式片上硬件系統(tǒng)開發(fā)如圖3所示。
圖3 MicroBlaze片上系統(tǒng)結(jié)構(gòu)圖
3.3 嵌入式軟件設(shè)計(jì)
軟件設(shè)計(jì)包括外設(shè)驅(qū)動的設(shè)計(jì)和應(yīng)用程序設(shè)計(jì),外設(shè)驅(qū)動程序可通過BSP向?qū)?,EDK開發(fā)環(huán)境提供大量的庫函數(shù),應(yīng)用程序設(shè)計(jì)主要是完成軟件調(diào)度程序編寫。本系統(tǒng)應(yīng)用程序設(shè)計(jì)流程如圖4所示:
圖4 應(yīng)用程序編寫流程
首先編寫時(shí)鐘芯片AD9524和ADC芯片 ADS4245的配置程序,再編寫 DMA開啟程序來開始數(shù)據(jù)傳輸,然后根據(jù)后續(xù)數(shù)據(jù)處理需要編寫相應(yīng)程序來控制采集數(shù)據(jù)的長度,再加入數(shù)據(jù)處理算法程序?qū)Σ杉男盘栕鎏幚恚詈缶帉戯@示程序把處理結(jié)果顯示到LCD屏上。
使用本系統(tǒng)對10M正弦信號進(jìn)行采集測試,實(shí)驗(yàn)結(jié)果如圖5所示,其中圖5為LCD屏幕上顯示的信號波形,可以看出所采集的信號波形為正弦信號,圖6為信號在系統(tǒng)中經(jīng)過快速傅里葉變換后的頻譜圖,LCD上顯示頻譜信息為10M與實(shí)際信號相符合,說明該系統(tǒng)可以正確的實(shí)時(shí)采集和處理數(shù)據(jù)。
圖5 信號時(shí)域波形圖
圖6 信號頻譜圖
本文基于MicroBlaze設(shè)計(jì)了一套高速數(shù)據(jù)采集與處理系統(tǒng),可以對高速模擬信號進(jìn)行實(shí)時(shí)采集與處理,也可以通過USB將采集的數(shù)據(jù)傳送至PC機(jī)處理。MicroBlaze是以軟件方式實(shí)現(xiàn)的,添加和裁剪外設(shè)都比較方便,能實(shí)現(xiàn)數(shù)據(jù)采集與處理的SOPC系統(tǒng),在實(shí)際和科研中應(yīng)用前景廣闊。
[1]杜鵬飛,王志斌,王艷超,黃艷飛.彈光調(diào)制干涉信號的高速采集系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2014,08: 2728-2731.
[2]杜鵬飛.彈光調(diào)制干涉信號的高速數(shù)據(jù)處理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].中北大學(xué),2015.
[3]高楊,劉榮科,胡偉.基于FPGA+DSP的高清視頻圖像系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電子測量技術(shù),2011,01:69-73.
[4]常璐.基于SOPC的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].電子元器件應(yīng)用,2011,05:24-26.
[5]劉仁偉.基于SOPC的嵌入式系統(tǒng)的設(shè)計(jì)[D].電子科技大學(xué),2007.
[6]何賓,王瑜.基于Xilinx MicroBlaz多核嵌入式系統(tǒng)的設(shè)計(jì)[J].電子設(shè)計(jì)工程,2011,13:141-144.
[7]趙澤才,常青.基于MicroBlaze的嵌入式系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2006,10:56-57.
[8]張燕,馮永新.基于MicroBlaze的AD數(shù)據(jù)采集系統(tǒng)[J].電力系統(tǒng)通信,2008,01:39-42.
[9]楊定定,施慧彬.基于AXI總線的MicroBlaze雙核SoPC系統(tǒng)設(shè)計(jì)[J].電子產(chǎn)品世界,2012,01:76-77.
譚緒祥(1987—),男,湖南衡陽人,碩士研究生,主要從事光電信號處理和嵌入式方面研究。
國家自然科學(xué)基金儀器專項(xiàng)資(項(xiàng)目號:61127015);國家國際科技合作專項(xiàng)(項(xiàng)目號:2013DFR101150,2012DFA10680)。