中北大學山西省光電信息與儀器工程技術研究中心 譚緒祥 王 麗 王志斌 王冠軍
基于MicroBlaze的高速數據采集與處理系統設計
中北大學山西省光電信息與儀器工程技術研究中心 譚緒祥 王 麗 王志斌 王冠軍
MicroBlaze是Xilinx公司提供的通過使用FPGA通用邏輯實現的軟核處理器。本文基于MicroBlaze設計了一個高速數據采集與處理系統,該系統可以實時采集和處理模擬信號并顯示結果,也可以通過USB將采集到的信號上傳至電腦另做處理。實驗表明,該系統可完成高速信號的采集和處理,并成功應用在彈光調制型光譜儀中。
數據采集與處理;嵌入式系統;MicroBlaze;SPOC
數據采集與處理系統在實際中有廣泛的應用,許多領域對采集速率、采樣精度和實時處理速度都要求越來越高[1],傳統數據采集與處理系統一般由ARM+DSP、FPGA+DSP等架構組成[2-3],這類架構的數據采集與處理系統大多電路復雜且穩定性差。隨著集成電路的快速發展,FPGA可編程邏輯器件的功能變得日益強大,現在FPGA可以嵌入MCU、DSP、MPU等微處理器形成可編程片上系統(System on Programmable Chip)[4-5]。
MicroBlaze是Xilinx的32位精簡指令集嵌入式軟核處理器,在EDK(Embended Development Kit)開發環境中可以靈活裁剪、參數化的設計處理器和組件,FPGA內部即可實現一個高性能的處理器[6]。由于軟核嵌入式處理器在FPGA內部實現,所以可以縮小電路板面積、減少芯片數量和連線并能有效提高穩定和速度,片上系統在功耗、成本、體積等方面都很有優勢[6-8]。
為提高系統穩定性并增強信號的采集與處理能力,本文設計了一個基于MicroBlaze的高速數據采集與處理系統,并實現了高速型號的采集和處理實驗。
本系統中的FPGA選用Xilinx的SPARTAN6系列高性能FPGA,ADC芯片采用TI公司高速高精度低功耗的雙通道ADS4245芯片,其數據精度為14bit,數據采樣頻率為125MSPS,為了讓ADC獲得更好的性能,采用專用時鐘芯片AD9524作為ADC的采樣時鐘。FPGA的配置芯片采用的是Xilinx的XCF32P,內存使用了兩片型號為MT41J128M16HA的芯片,采用CY7C68013A做為USB模塊的控制轉換芯片,顯示屏采為800×480的LCD液晶模塊,電源均采用線性電源模塊供電。主要器件框圖如圖1所示。
具體電路設計可參考各芯片數據手冊,在此不對其做詳細介紹,ADS4245采用單電源1.8V供電和差動輸入,因此需要在前面增加一個驅動電路來把單端信號轉換為差分信號,同時需要把信號電壓調理到AD芯片可采集的范圍之內。為了保證良好的阻抗匹配,本系統ADC驅動電路采用兩傳輸線變壓器背靠背式設計。設計電路時需要將數字地和模擬地隔離,高速信號布線時需考慮阻抗匹配、信號完整性、電磁干擾等因素。

圖1 系統硬件結構框圖
3.1 開發流程
MicroBlaze系統是采用開發工具EDK對硬件和軟件進行協同設計,硬件實現部分使用HDL描述語言,功能實現部分使用C語言,先在XPS中對硬件平臺進行搭建,包括設置處理器類型、總行結構、外設的連接方式等,把XPS生成的硬件文件后導入到SDK中再開發相應的驅動程序和應用程序,最后將硬件比特流文件和可執行文件協同生成配置文件下載到FPGA中,整個流程如圖2所示。

圖2 系統設計流程圖
3.2 片上系統硬件開發
先利用XPS中的BSB向導配置處理器并創建工程文件,然后定制嵌入式系統的外設,可以直接調用XPS中已經存在的IP核,本設計中使用了軟件自帶的DMA、LED、內存控制和按鍵控制四個核,對于XPS沒有提供控制核的外設,需要自己定制相應的IP核后才能使用。定制IP核是通過硬件描述語言實現處理器和外設的接口邏輯,制作好的IP核可導入到系統工程中。本文設計了時鐘配置、ADC控制、流處理、USB控制和LCD控制五個IP核,其中流處理核作用是把ADC輸出數據轉換成符合DMA傳輸要求的數據,然后把這五個核掛在一條自行設計的BRAM控制器擴展線上以便于統一管理。BRAM控制器擴展線是由一個BRAM控制器的讀寫操作封裝而成,CPU通過對BRAM控制器操作來操作掛在該擴展線上的IP核,嵌入式片上硬件系統開發如圖3所示。

圖3 MicroBlaze片上系統結構圖
3.3 嵌入式軟件設計
軟件設計包括外設驅動的設計和應用程序設計,外設驅動程序可通過BSP向導生成,EDK開發環境提供大量的庫函數,應用程序設計主要是完成軟件調度程序編寫。本系統應用程序設計流程如圖4所示:

圖4 應用程序編寫流程
首先編寫時鐘芯片AD9524和ADC芯片 ADS4245的配置程序,再編寫 DMA開啟程序來開始數據傳輸,然后根據后續數據處理需要編寫相應程序來控制采集數據的長度,再加入數據處理算法程序對采集的信號做處理,最后編寫顯示程序把處理結果顯示到LCD屏上。
使用本系統對10M正弦信號進行采集測試,實驗結果如圖5所示,其中圖5為LCD屏幕上顯示的信號波形,可以看出所采集的信號波形為正弦信號,圖6為信號在系統中經過快速傅里葉變換后的頻譜圖,LCD上顯示頻譜信息為10M與實際信號相符合,說明該系統可以正確的實時采集和處理數據。

圖5 信號時域波形圖

圖6 信號頻譜圖
本文基于MicroBlaze設計了一套高速數據采集與處理系統,可以對高速模擬信號進行實時采集與處理,也可以通過USB將采集的數據傳送至PC機處理。MicroBlaze是以軟件方式實現的,添加和裁剪外設都比較方便,能實現數據采集與處理的SOPC系統,在實際和科研中應用前景廣闊。
[1]杜鵬飛,王志斌,王艷超,黃艷飛.彈光調制干涉信號的高速采集系統設計與實現[J].計算機工程與設計,2014,08: 2728-2731.
[2]杜鵬飛.彈光調制干涉信號的高速數據處理系統設計與實現[D].中北大學,2015.
[3]高楊,劉榮科,胡偉.基于FPGA+DSP的高清視頻圖像系統設計與實現[J].電子測量技術,2011,01:69-73.
[4]常璐.基于SOPC的數據采集系統設計[J].電子元器件應用,2011,05:24-26.
[5]劉仁偉.基于SOPC的嵌入式系統的設計[D].電子科技大學,2007.
[6]何賓,王瑜.基于Xilinx MicroBlaz多核嵌入式系統的設計[J].電子設計工程,2011,13:141-144.
[7]趙澤才,常青.基于MicroBlaze的嵌入式系統設計[J].現代電子技術,2006,10:56-57.
[8]張燕,馮永新.基于MicroBlaze的AD數據采集系統[J].電力系統通信,2008,01:39-42.
[9]楊定定,施慧彬.基于AXI總線的MicroBlaze雙核SoPC系統設計[J].電子產品世界,2012,01:76-77.
譚緒祥(1987—),男,湖南衡陽人,碩士研究生,主要從事光電信號處理和嵌入式方面研究。
國家自然科學基金儀器專項資(項目號:61127015);國家國際科技合作專項(項目號:2013DFR101150,2012DFA10680)。