李正軒,費樹岷
(東南大學 自動化學院,南京 210096)
?
基于Zynq-7000 FPGA的高速信號采集處理平臺
李正軒,費樹岷
(東南大學 自動化學院,南京 210096)
摘要:基于Xilinx Zynq-7000系列FPGA,搭建了速度等級在100 Msps的高速信號采集處理平臺。平臺包含了高速信號采集、高速數(shù)據(jù)存儲以及數(shù)字信號處理,在成本、采樣速度、數(shù)據(jù)量、數(shù)據(jù)處理、穩(wěn)定性以及可擴展性上都能滿足嵌入式高速信號采集處理的需求。詳細地介紹了平臺的設計、搭建以及后續(xù)拓展。
關鍵詞:Xilinx Zynq-7000;FPGA;高速采樣;信號處理
引言
隨著技術的發(fā)展,在檢測系統(tǒng),特別是實時檢測系統(tǒng)中,嵌入式高速信號采集處理系統(tǒng)的應用越來越廣泛,相對PC采集處理系統(tǒng)更加輕便靈活。在高速信號采集及處理系統(tǒng)中,需要解決高速應用、高速緩存、大數(shù)據(jù)存儲、高速處理以及通信這幾項問題。
在嵌入式平臺上,一般采用高速A/D轉換器及DDR搭建高速采集與存儲模塊,對處理器有比較高的要求:一是速度上要滿足A/D轉換器采樣速率,在100 Msps的采樣速度下,往往只有FPGA或高檔的DSP能滿足要求;二是對于DDR的控制比較繁雜,這對于大部分處理器而言將耗去不少的資源;三是高速數(shù)據(jù)處理需要使用ARM或DSP作為計算核心,采用FPGA則要面對算法對Verilog/VHDL語言移植的問題。
因此,市面上更多的采用FPGA+ARM/DSP處理器架構,但其在成本、通信設計和擴展性上都不盡如人意。而Xilinx公司推出的Zynq-7000系列FPGA集成了兩個Cortex-A9 MPCore 處理器,打破了傳統(tǒng)的FPGA+ARM/DSP核架構,提供了單CPU、多處理核的新型解決方案。
1平臺設計
1.1Xilinx Zynq-7000系列FPGA
Xilinx Zynq-7000系列FPGA,繼承了兩個1 GHz 的ARM Cortex-A9內(nèi)核,打破了傳統(tǒng)的FPGA+ARM/DSP的架構,使用單片F(xiàn)PGA就能很好地完成工作。FPGA和ARM通過高達100 Gbps的內(nèi)部高速總線通信,比FPGA+ARM/DSP外部通信的架構更加迅速而且更加可靠。
Zynq-7000系列FPGA帶有DDR控制器硬核,支持1 GB 多種數(shù)據(jù)位的地址寬度,在ARM(PS)端有64位的數(shù)據(jù)通道,最高支持1 066 MT/s的速度,其在速度、穩(wěn)定性和泛用性上都非常優(yōu)秀,特別適用于做系統(tǒng)的高速存儲。
1.2MicroZed評估板
MicroZed評估板是Xilinx公司基于Zynq-7000系列FPGA的開發(fā)評估板,其基本特征如下。
① 采用Xilinx Zynq-7010-CLG400 FPGA其存儲容量如下:256M×32位(1 GB)DDR3,128M QSPI Flash和4 GB MicroSD卡。
② 接口配置如下,具有:Xilinx JTAG編程器,可同時對邏輯部分(PL)和ARM部分(PS)進行編成與仿真,10/100/1000M以太網(wǎng)接口,USB2.0接口,microSD 卡讀寫器和USB2.0-UART全速串口驅動。
可以說MicroZed評估版包含了高速數(shù)據(jù)采樣處理系統(tǒng)中的采集控制器、高速數(shù)據(jù)存儲以及數(shù)據(jù)處理器,后面將使用MicroZed評估版對平臺進行搭建。
1.3平臺整體構架
在MicroZed平臺上構建高速信號采樣處理平臺,其處理平臺整體架構如圖1所示。
圖1 高速信號采樣的處理平臺整體架構
高速數(shù)據(jù)通過A/D轉換器采樣,經(jīng)過FPGA送到DDR實現(xiàn)高速緩存,ARM從DDR獲取數(shù)據(jù)、進行處理,并對外部接口進行控制與通信。
2平臺搭建
2.1高速采樣
高速采樣部分選用Analog Devices公司的A/D芯片AD9214系列,其基本特征如下:
◆ 10位65/80/105 Msps三種速度等級;
◆ 信噪比為57 dB @39 MHz模擬輸入;
◆ 300 MHz模擬帶寬;
◆ 3.3 V單電源供電,模擬輸入最大為2Vpp;
◆ 數(shù)字輸入與時鐘輸入TTL/CMOS兼容;
◆ 功耗小于285 mW@105 Msps。
AD9214速度與精度能廣泛地滿足高速信號的采樣要求,其TTL/CMOS兼容的電平模式與MicroZed評估板能無縫結合,控制簡單。市面上同等級的A/D芯片往往采用BGA或者帶背部金屬盤(PAD)的封裝,但AD9214采用的是常用的雙側引腳扁平封裝(SOP)封裝,這將為中小規(guī)模的研發(fā)節(jié)省巨大的焊接成本。
圖2為AD9214驅動原理圖,信號采樣有兩種方式可選:一是采用ADT1-1射頻隔離器進行隔離驅動,二是采用AD8138單端轉差分運放對A/D芯片進行驅動,時鐘線和數(shù)據(jù)線可與MicroZed直接相連。由于信號頻率相對較高,在布線時需主要考慮信號完整性,數(shù)據(jù)線和時鐘線盡量走等長。
2.2高速存儲
MicroZed評估板上使用兩片Micron公司的DDR3內(nèi)存MT41K256M16HA -125:E,形成了256M×32位寬的存儲結構。
圖2 AD9214驅動原理圖
圖3 數(shù)據(jù)存儲結構圖
通過FPGA搭建A/D數(shù)據(jù)高速緩存機制,A/D數(shù)據(jù)經(jīng)過FPGA的片上緩存,寫入DDR A/D數(shù)據(jù)區(qū),作為高速緩存,DDR其他空間作為ARM控制系統(tǒng)的運行程序,與A/D轉換器進行數(shù)據(jù)交互。數(shù)據(jù)存儲結構圖如圖3所示。
對于設定的10位100 Msps的A/D轉換器,數(shù)據(jù)在片上緩存按16位讀取,片上緩存到DDR按64位讀取,配置DDR控制時鐘為533 MHz,可計算得存儲速度約為采樣速率的40倍,這將大大地保證采樣數(shù)據(jù)的有效存儲,而且保證了DDR有足夠的時間與控制系統(tǒng)進行數(shù)據(jù)交互。
2.3數(shù)據(jù)處理
ARM Cortex-A9核的運算能力,基本能滿足日常的各種數(shù)據(jù)處理需求,在搭建的平臺上有兩種可選的數(shù)據(jù)處理方案。
第一種方案是在Linux系統(tǒng)下的數(shù)據(jù)處理。Xilinx提供了MicroZed上精簡的Linux系統(tǒng),由于添加了A/D轉換器外設,仍然需要對系統(tǒng)的內(nèi)核和設備樹作一些修改,Xilinx SDK上提供了相關的工具,在Xilinx wiki和Xilinx github上也提供了完備的教程與資源,使得Linux系統(tǒng)的搭建相對比較輕松。系統(tǒng)搭建完成后,可在Linux下進行算法的編寫或移植。
第二種方案是在Zynq-7000上進行數(shù)據(jù)處理。注意有別于在其他ARM上進行數(shù)據(jù)處理的方案,因為Zynq-7000是FPGA內(nèi)嵌ARM的架構,所有數(shù)據(jù)的處理可以是FPGA和ARM部分共同完成的。Xilinx提供的SDK工具支持C++對ARM編程,使得算法的移植比較簡捷。Xilinx還提供了高層次綜合工具(HLS),可以使用C和C++對FPGA進行IP核編寫與封裝,通過這些工具可以使得ARM和FPGA共同完成數(shù)據(jù)處理過程,這將比ARM單獨完成在速度上有不少優(yōu)化。
第一種方案具有更高的普遍性與可擴展性,算法的移植要比第二種方案簡單,后續(xù)系統(tǒng)的搭建與研發(fā)都在Linux平臺上進行。但是Linux系統(tǒng)將失去更多的系統(tǒng)資源,在數(shù)據(jù)處理速度上會慢于方案二。方案二最大的特點是使用ARM+FPGA架構對算法進行優(yōu)化提速,但其可擴展性低,要求設計人員對并行計算有一定的了解。因此,方案二適用于單一算法的優(yōu)化處理,或是對算法速度和實時性要求比較高的場合,而且其系統(tǒng)穩(wěn)定性會高于方案一。
2.4平臺實現(xiàn)
圖4 Vivado 框圖
根據(jù)設計的平臺架構,在Vivado上搭建系統(tǒng),圖 4 為Vivado上框圖(Block Diagram)。PS核通過AXI總線對FPGA上的IP核進行控制和交互。A/D轉換器控制IP包括A/D差分數(shù)據(jù)讀入、片上高速緩存及DDR寫入控制。外設都通過AXI總線控制器訪問及控制,綜合后得到圖5所示的資源消耗統(tǒng)計圖,可見主要消耗的LUT(邏輯單元表)資源在1/3左右,仍然有很多擴展的余量,MMCM為Xilinx的混合模式時鐘管理器,片上共2個,使用了1個,所以消耗占50%。
2.5運行情況
圖6為在Vivado上捕捉的A/D數(shù)據(jù),數(shù)據(jù)源為20 MHz的方波信號。測試信號只通過射頻隔離器進入A/D轉換器,所以波形有輕度失真,后續(xù)可根據(jù)具體信號的頻率與特征對輸入運放進行調(diào)試,可獲得更好的采樣效果。
圖5 資源消耗統(tǒng)計圖
圖6 Vivdo Hardware Manager上捕捉的20 MHz方波
為對平臺運算能力進行評估,在ARM核上對50 000個采樣點進行了3層小波分解算法,結果耗時約500 ms,同樣的算法在Matlab軟件上耗時約200 ms,可見本平臺的數(shù)據(jù)運算能力相當優(yōu)秀。
為后續(xù)擴展,修改了MicroZed的Linux內(nèi)核,加入了常用的系統(tǒng)工具,如gcc編譯器、文本編輯器等,系統(tǒng)啟動時間在40 s左右,在可接受范圍。圖7為在MicroZed的Linux系統(tǒng)上掛載SD卡,編譯并運行的SD卡上的Hello World程序。
圖7 MicroZed上的Linux系統(tǒng)操作
結語
參考文獻
[1] 陸佳華,江舟,馬岷.嵌入式系統(tǒng)軟硬件協(xié)調(diào)設計實戰(zhàn)指南:基于Xilinx Zynq[M].2版.北京:機械工業(yè)出版社,2014.
[2] 符曉宏.基于AVR和FPGA的電纜路徑檢測系統(tǒng)的研究與設計[D].西安:西安電子科技大學, 2010.
[3] AVNET Corporation.MicroZed Zynq Evaluation and Development and System on Module Hardware User Guide, 2015.
[4] 齊紅濤,蘇濤.基于FPGA的高速AD采樣設計[J].航空兵器,2010(1).
[5] 楊曉安,羅杰,蘇豪,等.基于Zynq-7000高速圖像采集與實時處理系統(tǒng)[J].電子科技,2014(7).
[6] Xilinx Inc.Zynq-7000 All Programmable SoC Technical Reference Manual(v1.10),2015.
[7] 何賓.Xilinx all programmable Zynq-700 Soc[M].北京:清華大學出版社,2013.
李正軒(碩士),研究方向為工業(yè)自動控制、嵌入式系統(tǒng);費樹岷(教授),主要研究方向為控制工程與控制理論、非線性系統(tǒng)、復雜系統(tǒng)建模。
英飛凌3D圖像傳感器REAL3助力智能手機實現(xiàn)虛擬現(xiàn)實
英飛凌科技股份公司與pmd科技有限公司聯(lián)合推出了3D圖像傳感器芯片。REAL3將能實現(xiàn)非常逼真的虛擬并增強現(xiàn)實游戲體驗,其中涉及通過游戲玩家使用頭戴式終端設備在自己的雙手與其生活環(huán)境之間的互動。圖像傳感器芯片的其他應用包括:房間和物體的空間測量、室內(nèi)導航和圖片特效等。
在2016年美國拉斯維加斯消費電子展(CES)上,英飛凌與pmd共同展出了REAL3產(chǎn)品家族最新推出的3D圖像傳感器芯片。較之前一代產(chǎn)品,全新3D圖像傳感器的光學靈敏度以及功耗均得到改善。此外,內(nèi)置電子器件所占用的空間非常小。該芯片使手機可以操作能測量3D深度數(shù)據(jù)的微型攝像系統(tǒng)。
利用微透鏡提高靈敏度
攝像頭的測距和測量精度取決于兩個因素:所發(fā)射和反射的紅外光的強度,并在很大程度上取決于3D圖像傳感器芯片的像素靈敏度?,F(xiàn)在,全新3D圖像傳感器芯片的光學像素靈敏度是前一代產(chǎn)品的兩倍。這意味著,它們的測量質量不相上下,但新一代芯片的發(fā)射光輸出功率只需一半。因此,手機攝像系統(tǒng)的制造商不僅能提供更符合成本效益的紅外照明,還能將攝像頭系統(tǒng)的耗電量減半。
最優(yōu)化的外形:傳感器尺寸減半
展示的3D圖像傳感器芯片專為手機而設計,手機上的大多數(shù)應用只需要3.8萬像素的分辨率。以前的10萬像素矩陣相應縮小,而其他功能組件(比如影響芯片面積和性能范圍的模擬/數(shù)字轉換器)得到優(yōu)化。因而,系統(tǒng)成本得以降低:傳感器芯片面積幾乎減半,并且,由于分辨率降低,可使用更小、更便宜的光學透鏡。
High-Speed Signal Sampling and Processing Platform Based on Zynq-7000 FPGA
Li Zhengxuan,Fei Shumin
(School of Automation,Southeast University,Nanjing 210096,China)
Abstract:Based on Xilinx Zynq-7000 series FPGA,the platform of 100 Msps speed level is constructed.The platform includes the high-speed signal sampling module,the high-speed data storage module and the digital signal processing system,which satisfies the requirement in the cost,the sampling rate,the data quantity,the data processing,the running stability and scalability.This paper gives detail instruction about the platform design,the modules construction and the subsequent expansion prospects.
Key words:Xilinx Zynq-7000;FPGA;high-speed sampling;signal processing
收稿日期:(責任編輯:楊迪娜2015-08-17)
中圖分類號:TP792
文獻標識碼:A