Xilinx Zynq-7000 全可編程 SoC (AP SoC) 系列集成 ARM處理器的軟件可編程性與 FPGA 的硬件可編程性,不僅可實(shí)現(xiàn)重要分析與硬件加速,同時(shí)還在單個(gè)器件上高度集成 CPU、DSP、ASSP 以及混合信號(hào)功能。Zynq-7000 器件配備雙核ARM Cortex-A9 處理器,該處理器與基于 28nm Artix-7 或 Kintex-7 的可編程邏輯集成,可實(shí)現(xiàn)優(yōu)異的性能功耗比和最大的設(shè)計(jì)靈活性。這種集成在一起的CPU與FPGA之間的通訊總線,通訊速度更快,信息傳遞結(jié)構(gòu)更簡(jiǎn)單。簡(jiǎn)單來說,就是Xilinx的這款芯片既能節(jié)省成本又能提高性能,還有這種好事?還真有,下面我來舉個(gè)例子。
鼎陽(SIGLENT)SDS1000X-E系列以及電商專供SDS1000X-C系列超級(jí)熒光示波器
2/4通道,最高帶寬200MHz
SDS1000X-E(X-C)中采用的XC7Z020 SoC芯片,具有雙核ARM Cortex-A9處理器(PS)+基于Artix-7架構(gòu)的FPGA(PL),其中處理器部分支持的最高主頻為866MHz,FPGA部分則包含85k邏輯單元、4.9Mb Block RAM和220個(gè)DSP Slice,并提供對(duì)常用外部存儲(chǔ)器如DDR2/DDR3的支持,非常契合數(shù)字示波器中對(duì)數(shù)據(jù)進(jìn)行采集、存儲(chǔ)和數(shù)字信號(hào)處理的需求。同時(shí),Zynq-7000的PS(處理器系統(tǒng))和PL(可編程邏輯)部分之間通過AXI高速總線互連,可以有效解決傳統(tǒng)數(shù)字存儲(chǔ)示波器中CPU與FPGA間數(shù)據(jù)傳輸?shù)膸捚款i問題,有利于降低數(shù)字示波器的死區(qū)時(shí)間,提高波形捕獲率。用單片SoC芯片替代傳統(tǒng)的CPU+FPGA的分立方案,也可以減少硬件布板面積,有利于將高性能處理系統(tǒng)向緊湊型的入門級(jí)示波器中集成。
數(shù)據(jù)采集與存儲(chǔ)
SDS1000X-E(X-C)中采用的高速模-數(shù)轉(zhuǎn)換(ADC)芯片,其數(shù)據(jù)接口為L(zhǎng)VDS差分對(duì)形式,每對(duì)LVDS的速率為1Gbps。采用的Zynq-7000芯片,其可編程IO的LVDS最高速率可達(dá)1.25 Gbps,可以保證穩(wěn)定可靠地接收ADC采樣到的數(shù)據(jù)。同時(shí),F(xiàn)PGA接收到的高速ADC數(shù)據(jù)需要實(shí)時(shí)地寫入到存儲(chǔ)器中,以8-bit,1GSa/s的ADC為例,其輸出數(shù)據(jù)的吞吐率為1GByte/s。Zynq-7000支持常用的DDR2、DDR3等低成本存儲(chǔ)器,最高DDR3接口速率可達(dá)1066MT/s,因此,使用單片DDR3即可滿足實(shí)時(shí)存儲(chǔ)上述ADC輸出數(shù)據(jù)的要求。而且,Zynq-7000支持PL共享PS的存儲(chǔ)器,只要給PS部分預(yù)留足夠的存儲(chǔ)器帶寬,剩余帶寬用于存儲(chǔ)ADC數(shù)據(jù),無須在PL部分再外掛存儲(chǔ)器,降低了成本。
更為重要的是,基于Zynq-7000中豐富的可編程邏輯資源(XC7Z020中為85k等效邏輯單元),SDS1000X-E(X-C)集成高靈敏度、低抖動(dòng)、零溫漂的數(shù)字觸發(fā)系統(tǒng),使得其觸發(fā)更為準(zhǔn)確;各種智能觸發(fā)功能如斜率、脈寬、視頻、超時(shí)、欠幅、碼型等,能幫助用戶更精確地隔離出感興趣的波形;總線協(xié)議觸發(fā)甚至能直接用符合條件的總線事件(如I2C總線的起始位,或UART的特定數(shù)據(jù))作為觸發(fā)條件,極大地方便調(diào)試。
數(shù)據(jù)交互
隨著數(shù)字示波器設(shè)計(jì)復(fù)雜性的增加和處理器處理能力的提升,總線結(jié)構(gòu)日益成為系統(tǒng)性能的瓶頸。傳統(tǒng)的入門級(jí)數(shù)字示波器,采用低成本的嵌入式處理器作為控制和處理核心,采用低成本的FPGA實(shí)現(xiàn)數(shù)據(jù)采集和存儲(chǔ),二者之間通過并行的本地總線互連,處理器作為主設(shè)備,F(xiàn)PGA作為從設(shè)備;總線上同時(shí)還連接其他處理器外設(shè),如FLASH、USB控制器等,如圖4所示。
這種互連方式的最大問題是數(shù)據(jù)吞吐率低,一是因?yàn)楸镜乜偩€一般是異步總線,理想的情況下一個(gè)讀/寫訪問最少需要3個(gè)周期(1個(gè)setup周期,1個(gè)access周期和1個(gè)hold周期)。以16-bit位寬,外部總線頻率100MHz的本地總線為例,其理想的最高總線訪問吞吐率為66MB/s;二是因?yàn)樽x、寫操作共用一套地址、數(shù)據(jù)總線,屬于半雙工操作;三是多個(gè)從設(shè)備會(huì)競(jìng)爭(zhēng)總線,從而降低每個(gè)從設(shè)備的有效數(shù)據(jù)吞吐率。以1GSa/s采樣率的數(shù)字示波器為例,其采樣10M點(diǎn)的時(shí)間僅為10ms,但用于傳輸10M點(diǎn)的時(shí)間(以理想的66MB/s總線吞吐率為例)至少要150ms,是數(shù)據(jù)采樣時(shí)間的15倍。換一種說法,即使不考慮數(shù)據(jù)處理的時(shí)間,死區(qū)時(shí)間也達(dá)到了15/16 = 93.75%。
SDS1000X-E(X-C)采用Zynq SoC架構(gòu),處理器(PS)和FPGA(PL)之間采用高速AXI總線互連,可以有效地解決二者間數(shù)據(jù)傳輸?shù)膸捚款i問題,大大提高數(shù)據(jù)吞吐率,降低示波器的死區(qū)時(shí)間。Zynq-7000中采用的4個(gè)AXI-HP端口,每個(gè)端口支持最大64-bit位寬,最高250MHz時(shí)鐘頻率;同時(shí)讀、寫通道分開,可執(zhí)行全雙工操作;PS和PL之間屬于點(diǎn)到點(diǎn)傳輸,不存在與其它設(shè)備的總線競(jìng)爭(zhēng)。使用單個(gè)HP端口傳輸數(shù)據(jù),其吞吐率都可以輕易達(dá)到雙向各1GB/s的速度,4個(gè)端口總共可達(dá)到的讀、寫速率一共超過8GB/s,遠(yuǎn)遠(yuǎn)大于本地總線的傳輸速率。
數(shù)字信號(hào)處理
SDS1000X-E(X-C)中配備了很多實(shí)用性高、性能強(qiáng)大的數(shù)字信號(hào)處理功能,如支持1M點(diǎn)運(yùn)算的FFT、增強(qiáng)分辨率(Eres模式,僅SDS1000X-E支持)、14M 全采樣點(diǎn)的串行協(xié)議解碼、14M 全采樣點(diǎn)的多種測(cè)量以及數(shù)學(xué)運(yùn)算等,大大提高了入門級(jí)數(shù)字示波器的數(shù)字信號(hào)處理能力。
Zynq-7000豐富的硬件資源,為SDS1000X-E(X-C)的數(shù)字信號(hào)處理功能提供了強(qiáng)大的支撐。SDS1000X-E(X-C)中采用的XC7Z020 SoC芯片,PS部分具有雙核ARM Cortex-A9處理器,最高主頻為866MHz,并行協(xié)處理器NEON可以在軟件層面執(zhí)行數(shù)字信號(hào)處理;PL部分具有220個(gè)DSP Slice和4.9Mb Block RAM;加上PS和PL之間數(shù)據(jù)接口極高的吞吐率,使得我們可以靈活地為不同的數(shù)字信號(hào)處理配置不同的硬件資源。
運(yùn)算指令復(fù)雜、適合軟件實(shí)現(xiàn)的功能,可以在PS側(cè)實(shí)現(xiàn),如信號(hào)上升沿的測(cè)量;需要使用大量乘累加運(yùn)算,對(duì)硬件資源依賴度較高的功能,可以在PL側(cè)實(shí)現(xiàn),如示波器中常用的插值濾波。
有些復(fù)雜的功能,則可以利用PS和PL間的高數(shù)據(jù)帶寬進(jìn)行協(xié)同處理,例如FFT運(yùn)算,在PL側(cè)利用豐富的DSP Slice和Block RAM資源構(gòu)建協(xié)處理器對(duì)基本FFT運(yùn)算進(jìn)行硬件加速,PS側(cè)則實(shí)現(xiàn)復(fù)雜的窗函數(shù)計(jì)算、繪圖、UI等操作。基于這種協(xié)同處理的架構(gòu),SDS1000X-E(X-C)上的FFT支持高達(dá)1M點(diǎn)的FFT,在獲得極高的頻譜分辨率的同時(shí),還能大大加快頻譜的刷新速度。圖6顯示了在SDS1000X-E(X-C)上分別進(jìn)行16k點(diǎn)和1M點(diǎn)FFT的頻譜分辨率對(duì)比。此例中我們給示波器輸入了一個(gè)雙音信號(hào),其頻率為100MHz和100.05MHz,從16k點(diǎn)FFT獲得的頻譜圖中我們無法分辨如此靠近的兩個(gè)正弦信號(hào),信號(hào)被作為一個(gè)頻率顯示出來;而1M點(diǎn)FFT的頻譜圖有著明顯更細(xì)致的頻譜以及信號(hào)處理增益,從水平100倍展開的圖中可以看出,兩個(gè)相距50kHz的正弦型號(hào)能夠被很好地區(qū)分開。
類似的,在SDS1000X-E(X-C)還有諸多這種PS和PL間相互協(xié)同處理而獲得的高性能數(shù)字信號(hào)處理。例如,SDS1000X-E(X-C)可以對(duì)14M 全采樣點(diǎn)進(jìn)行多種測(cè)量和串行協(xié)議解碼,而這是在許多中、高端示波器中都做不到的。圖7中,上方兩圖為某主流中端示波器對(duì)10ns上升沿的測(cè)量結(jié)果,下方兩圖為SDS1000X-E(X-C)對(duì)相同信號(hào)的測(cè)量結(jié)果。可以看到,在小時(shí)基下,二者的測(cè)量結(jié)果都較為精確,與實(shí)際上升時(shí)間相差不大,但在大時(shí)基下,右上圖顯示該示波器在100us/div下只能顯示"< 48ns"的測(cè)量結(jié)果,注意此時(shí)它的原始采樣率仍然有1GSa/s,這說明此時(shí)它的測(cè)量對(duì)象并不是原始波形數(shù)據(jù),而是經(jīng)過壓縮后映射到屏幕上的數(shù)據(jù)。右下圖顯示SDS1000X-E(X-C)在1ms/div的時(shí)基下的測(cè)量結(jié)果,注意此時(shí)的采樣率同樣為1GSa/s,但顯示的測(cè)量精度仍然達(dá)到了1ns,能夠較為真實(shí)地反映信號(hào)的參數(shù)。
SDS1000X-E(X-C)基于全采樣點(diǎn)的數(shù)字信號(hào)處理以及高達(dá)14M點(diǎn)的存儲(chǔ)深度,允許用戶在大時(shí)基下觀察信號(hào)整體的同時(shí),仍然能獲得細(xì)節(jié)上的處理結(jié)果;同時(shí)由于其基于Zynq架構(gòu)的處理方式,使得信號(hào)處理的性能和速度達(dá)到最優(yōu),具備更好的實(shí)時(shí)性和靈活性。
綜上,這個(gè)例子說明了一點(diǎn),就是在原本解決方案里就采用ARM+FPGA的產(chǎn)品里,使用zynq不僅能降低成本,還可以大幅度提高性能。這就使得在這款市場(chǎng)定位于入門級(jí)示波器的SDS1000X-E(X-C)上,就能夠體現(xiàn)到一些中、高端數(shù)字示波器才具有的指標(biāo)和功能。
-
Kintex-7
+關(guān)注
關(guān)注
1文章
27瀏覽量
16160
原文標(biāo)題:淺談Xilinx ZYNQ-7000平臺(tái)的應(yīng)用【文尾有福利】
文章出處:【微信號(hào):Hardware_10W,微信公眾號(hào):硬件十萬個(gè)為什么】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
簡(jiǎn)談Xilinx Zynq-7000嵌入式系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
簡(jiǎn)談Xilinx Zynq-7000嵌入式系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
基于Zynq-7000創(chuàng)龍高速數(shù)據(jù)采集處理器
Zynq-7000 SoC提供 FPGA 資源
賽靈思Zynq-7000可擴(kuò)展處理平臺(tái)讓編程流程更簡(jiǎn)單
如何實(shí)現(xiàn)Xilinx Zynq-7000嵌入式系統(tǒng)設(shè)計(jì)?
Xilinx首款可擴(kuò)展式處理平臺(tái):Zynq-7000

使用Zynq-7000 All Programmable SoC實(shí)現(xiàn)DSP功能的軟件加速
Zynq-7000可編程SOC芯片組合產(chǎn)品表的資料免費(fèi)下載

Zynq-7000所有可編程SOC模塊的詳細(xì)資料介紹

Xilinx Zynq-7000的汽車可編程SOC芯片的詳細(xì)資料說明

Zynq-7000全可編程SOC系列產(chǎn)品選擇指南免費(fèi)下載

Zynq-7000全可編程SoC產(chǎn)品中文簡(jiǎn)介資料免費(fèi)下載

Zynq-7000全可編程SoC ZC706評(píng)估套件(ISE Design Suite 14.5)入門指南

評(píng)論