0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于ZYNQ芯片架構(gòu)的嵌入式系統(tǒng)設(shè)計(jì)

電子設(shè)計(jì) ? 來源:嵌入式客棧 ? 作者:嵌入式客棧 ? 2021-01-08 15:59 ? 次閱讀

基于 ZYNQ 實(shí)現(xiàn)復(fù)雜嵌入式系統(tǒng)非常便利,其應(yīng)用領(lǐng)域也越來越廣泛,本文來從對 ZYNQ 芯片架構(gòu)的理解來談?wù)剛€(gè)人體會(huì)。

ZYNQ 主要由兩大部分組成:

處理系統(tǒng) PS(Processing System):

上圖左上部分即是 PS 部分,包括:

同構(gòu)雙核 ARM Cortex A9 的對稱多處理器 (Symmetric Multi-Processing,SMP)

豐富的外設(shè),2×SPI,2×I2C,2×CAN,2×UART,2×SDIO,2×USB,2×GigE,GPIO

靜態(tài)存儲(chǔ)控制器:Quad-SPI,NAND,NOR

動(dòng)態(tài)存儲(chǔ)控制器:DDR3,DDR2,LPDDR2

編程邏輯 PL(Programmable logic):兼容賽靈思 7 系列 FPGA

基于 Artix?的芯片:Z-7010 以及 Z-7020

基于 Kintex?的芯片:Z-7030 以及 Z-7045

ZYNQ 處理系統(tǒng)端 PS 所有的外設(shè)都連接在 AMBA(Advanced Microcontroller Bus Architecture)總線,而基于 FPGA 設(shè)計(jì)的 IP 則可以通過 AXI 接口掛載在 AMBA 總線上,從而實(shí)現(xiàn)內(nèi)部各組件的互聯(lián)互通。這里涉及到兩個(gè)概念:

AMBA 總線,熟悉 ARM 架構(gòu)的朋友應(yīng)該都大致了解, AMBA 是 ARM 公司的注冊商標(biāo)。是一種用于片上系統(tǒng)(SoC)設(shè)計(jì)中功能塊的連接和管理的開放標(biāo)準(zhǔn)片上互連規(guī)范。它促進(jìn)了具有總線結(jié)構(gòu)及多控制器或組件的多核處理器設(shè)計(jì)開發(fā)。自成立以來,AMBA 已廣為應(yīng)用,遠(yuǎn)遠(yuǎn)超出了微控制器設(shè)備領(lǐng)域。如今,AMBA 已廣泛用于各種 ASIC 和 SoC 部件,包括在現(xiàn)代便攜式移動(dòng)設(shè)備中使用的應(yīng)用處理器。

高級可擴(kuò)展接口 AXI(Advanced eXtensible Interface):是 ARM 公司 AMBA 3.0 和 AMBA 4.0 規(guī)范的一部分,是并行高性能,同步,高頻,多主機(jī),多從機(jī)通訊接口,主要設(shè)計(jì)用于片上通訊。為啥說 AXI 是 AMBA 的一部分,看看下面兩個(gè)圖就可以比較清晰的了解。

ZYNQ 的高度靈活性

靈活的 PS 端 IO 復(fù)用

Multiplexed I/O (MIO):PS 端外設(shè) IO 復(fù)用,這是什么概念呢?前面介紹了 ZYNQ 主要分 PS/PL 兩大組成模塊,PS 端前面介紹的外設(shè)如 USB/CAN/GPIO/UART 等都必要需要引腳與外界打交道,這里所謂的復(fù)用與常見的單片機(jī)、處理器里引腳復(fù)用的概念一樣。但是(這里劃重點(diǎn)),ZYNQ 具有高達(dá) 54 個(gè) PS 引腳支持 MIO,MIO 具有非常高的靈活度以達(dá)到靈活配置,這給硬件設(shè)計(jì)、PCB 布板帶來了極大的便利!,MIO 的配置利用 vivado 軟件可以實(shí)現(xiàn)靈活配置,如下圖所示。

硬件工程師往往發(fā)現(xiàn)對一個(gè)復(fù)雜的系統(tǒng)的布局布線,常常會(huì)很困難,也常因?yàn)椴缓侠淼牟季植季€而陷入 EMC 深坑。ZYNQ 的 IO 引腳高度靈活性,無疑在電路設(shè)計(jì)方面提供極大的方便,可實(shí)現(xiàn)非常靈活的 PCB 布局布線。從而在 EMC 性能改善方面帶來了很大便利。

靈活的 PS-PL 互連接口

Extended Multiplexed I/O (EMIO) :擴(kuò)展 MIO,如果想通過 PS 來訪問 PL 又不想浪費(fèi) AXI 總線時(shí),就可以通過 EMIO 接口來訪問 PL。54 個(gè) I/O 中,其中一部分只能用于 MIO,大部分可以用于 MIO 或 EMIO,少量引腳只能通過 EMIO 訪問。

如上圖,比如 I2C0 則可以通過 EMIO 映射到 PL 端的引腳輸出,這無疑又增加了更多的靈活性!

PS-PL 接口 HP0-HP3:如上架構(gòu)圖中 AXI high-performance slave ports (HP0-HP3) 實(shí)現(xiàn)了 PS-PL 的接口

可配置的 32 位或 64 位數(shù)據(jù)寬度

只能訪問片上存儲(chǔ)器 OCM(On chip memory)和 DDR

AXI FIFO 接口(AFI)利用 1KB FIFOs 來緩沖大數(shù)據(jù)傳輸

PS-PL 接口 GP0-GP1:如上架構(gòu)圖中 AXI general-purpose ports

兩個(gè) PS 主接口連接到 PL 的兩個(gè)從設(shè)備

32 位數(shù)據(jù)寬度

一個(gè)連接到 CPU 內(nèi)存的 64 位加速器一致端口ACP)AXI 從接口,ACP 是 SCU (一致性控制單元)上的一個(gè) 64 位從機(jī)接口,實(shí)現(xiàn)從 PL 到 PS 的異步 cache 一致性接入點(diǎn)。ACP 是可以被很多 PL 主機(jī)所訪問的,用以實(shí)現(xiàn)和 APU 處理器相同的方式訪問存儲(chǔ)子系統(tǒng)。這能達(dá)到提升整體性能、改善功耗和簡化軟件的效果。ACP 接口的表現(xiàn)和標(biāo)準(zhǔn)的 AXI 從機(jī)接口是一樣的,支持大多數(shù)標(biāo)準(zhǔn)讀和寫的操作而不需要在 PL 部件中加入額外的一致性操作。

DMA, 中斷, 事件信號

處理器事件總線信號事件信息到 CPU

PL 外設(shè) IP 中斷到 PS 通用中斷控制器(GIC

四個(gè) DMA 通道 RDY/ACK 信號

擴(kuò)展多路復(fù)用 I/O (EMIO)允許 PS 外設(shè)端口訪問 PL 邏輯和設(shè)備 I/O 引腳。

時(shí)鐘以及復(fù)位信號:

四個(gè) PS 時(shí)鐘帶使能控制連接到 PL

四個(gè) PS 復(fù)位信號連接到 PL

靈活的時(shí)鐘系統(tǒng)

PS 時(shí)鐘源:

PS 端具有 4 個(gè)外部時(shí)鐘源引腳

PS 端具有 3 個(gè) PLL 時(shí)鐘模塊

PS 端具有 4 個(gè)時(shí)鐘源可輸出到 PL

PL 端具有 7 個(gè)時(shí)鐘源

PL 端時(shí)鐘源域相對 PS 端不同

PL 端時(shí)鐘可靈活來自 PL 端外部引腳,因?yàn)?FPGA 的硬可編程性,完全靈活配置

也可使用 PS 端的 4 個(gè)時(shí)鐘源

注意

PL 和 PS 之間的時(shí)鐘同步是由 PS 端處理

PL 不能提供時(shí)鐘給 PS 使用

豐富的 IP 庫

Zynq 是一種 SoC,具有大量的標(biāo)準(zhǔn) IP,這些部件不再需要重新設(shè)計(jì)而直接可用。以這樣的方式提升了設(shè)計(jì)抽象層級,加上重用預(yù)先測試和驗(yàn)證過的部件,開發(fā)將被加速,而成本則可以降低。就像常說的:“ 為什么要重新發(fā)明輪子呢?”。

Vivado 內(nèi)置了大量的 IP 可供使用,比如數(shù)學(xué)計(jì)算 IP,信號處理 IP、圖像視頻處理 IP,通信互連(以太網(wǎng)、DDS、調(diào)制、軟件無線電、錯(cuò)誤校驗(yàn))、處理器 IP(MicroBlaze 等)、甚至人工智能算法 IP。

比如信號處理 IP,由于采用 FPGA 硬邏輯實(shí)現(xiàn)信號處理無需 CPU 計(jì)算,對于實(shí)現(xiàn)復(fù)雜的信號運(yùn)算(比如實(shí)現(xiàn)一個(gè)非常高階的 FIR 濾波、多點(diǎn) FFT 計(jì)算)具有非常大優(yōu)勢。

雙 ARM 硬核處理器

如架構(gòu)圖,ZYNQ 內(nèi)置了雙 ARM Cortex-A9 硬核,對軟件設(shè)計(jì)提供了極大的靈活性,在該處理器上可運(yùn)行 LinuxAndroid 等復(fù)雜的操作系統(tǒng),相比常規(guī) FPGA 嵌軟核 IP 的做法具有更強(qiáng)大的運(yùn)算處理能力,你可能會(huì)說其處理器的運(yùn)算能力相比時(shí)下的其他 ARM 芯片或稍有不足,但基本能滿足常規(guī)的醫(yī)療、工業(yè)領(lǐng)域等嵌入式系統(tǒng)應(yīng)用需求。

PL/PS 的有機(jī)結(jié)合

通過前面的簡要分析介紹,不難發(fā)現(xiàn) PL 可編程硬件邏輯及處理器單元的結(jié)合做的非常好。

PL 端:可設(shè)計(jì)出高靈活的外設(shè)系統(tǒng),同時(shí)可編程硬件邏輯電路,可實(shí)現(xiàn)真正的硬并行處理、硬實(shí)時(shí)系統(tǒng)

PS 端:PL 端與 PS 的有機(jī)結(jié)合,有可實(shí)現(xiàn)對這種高靈活、硬并行、硬實(shí)時(shí)處理系統(tǒng)實(shí)現(xiàn)集中軟件管理

試想,如果一個(gè)系統(tǒng)需要實(shí)現(xiàn)硬實(shí)時(shí)、硬并行,復(fù)雜外設(shè)互連系統(tǒng):

或許會(huì)采用多微控制器(比如單片機(jī))+處理器方案,微處理器實(shí)現(xiàn)實(shí)時(shí)需求,處理器運(yùn)行 Linux 實(shí)現(xiàn)上層業(yè)務(wù)邏輯的方式。

或者采用 FPGA+處理器來實(shí)現(xiàn)。

這兩種方案技術(shù)復(fù)雜度都非常高,硬件電路 PCB 設(shè)計(jì)比較復(fù)雜,軟件開發(fā)以及維護(hù)也會(huì)增加復(fù)雜度。而 ZYNQ 則可以很好的解決此類系統(tǒng)設(shè)計(jì)需求,真正做到 system on chip,這也是 SOC 的一個(gè)很好的體現(xiàn)。

總結(jié)一下

ZYNQ 這種高度靈活性,豐富的外設(shè),豐富的 IP 庫,以及 vivado 強(qiáng)大易用的開發(fā)環(huán)境,對使用 ZYNQ 進(jìn)行嵌入式系統(tǒng)設(shè)計(jì)帶來了非常多優(yōu)勢。
編輯:hfy

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1624

    文章

    21573

    瀏覽量

    600704
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    9009

    瀏覽量

    366134
  • Zynq
    +關(guān)注

    關(guān)注

    9

    文章

    607

    瀏覽量

    47084
收藏 人收藏

    評論

    相關(guān)推薦

    簡談Xilinx Zynq-7000嵌入式系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

    今天給大俠帶來簡談Xilinx Zynq-7000嵌入式系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn),話不多說,上貨。 Xilinx的ZYNQ系列FPGA是二種看上去對立面的思想的融合,ARM處理器的串行執(zhí)
    發(fā)表于 04-10 16:00

    簡談Xilinx Zynq-7000嵌入式系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

    今天給大俠帶來簡談Xilinx Zynq-7000嵌入式系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn),話不多說,上貨。 Xilinx的ZYNQ系列FPGA是二種看上去對立面的思想的融合,ARM處理器的串行執(zhí)
    發(fā)表于 05-08 16:23

    ZYNQ嵌入式系統(tǒng)的開發(fā)流程

    “Hello World!”是各種編程語言中最簡單,同時(shí)也是最經(jīng)典的入門實(shí)驗(yàn)。因此,我們將串口打印“Hello World”作為 ZYNQ 嵌入式系統(tǒng)的開篇實(shí)驗(yàn),這也是我們步入 ZYNQ
    發(fā)表于 10-27 07:50

    嵌入式Linux系統(tǒng)知識(shí)架構(gòu)

    嵌入式Linux系統(tǒng)知識(shí)架構(gòu)及層次嵌入式Linux系統(tǒng)構(gòu)成及啟動(dòng)略析嵌入式Linux三劍客之ub
    發(fā)表于 10-27 07:22

    Xilinx Zynq-7000嵌入式系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)的相關(guān)資料分享

    今天給大俠帶來簡談Xilinx Zynq-7000嵌入式系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn),話不多說,上貨。Xilinx的ZYNQ系列FPGA是二種看上去對立面的思想的融合,ARM處理器的串行執(zhí)行+FPG
    發(fā)表于 11-09 06:43

    如何實(shí)現(xiàn)Xilinx Zynq-7000嵌入式系統(tǒng)設(shè)計(jì)?

    如何實(shí)現(xiàn)Xilinx Zynq-7000嵌入式系統(tǒng)設(shè)計(jì)?
    發(fā)表于 12-23 08:53

    基于Zynq嵌入式系統(tǒng)教學(xué)改革背景與措施

    針對傳統(tǒng)嵌入式系統(tǒng)教學(xué)中的問題,提出將Zynq平臺(tái)作為嵌入式系統(tǒng)的教學(xué)改革實(shí)踐平臺(tái)。采用全新的課程體系結(jié)構(gòu),以工程實(shí)踐訓(xùn)練為導(dǎo)向,驅(qū)動(dòng)學(xué)生自
    發(fā)表于 11-17 01:39 ?1153次閱讀
    基于<b class='flag-5'>Zynq</b>的<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>教學(xué)改革背景與措施

    了解基于Zynq嵌入式系統(tǒng)的研究

    針對傳統(tǒng)嵌入式系統(tǒng)教學(xué)中的問題,提出將Zynq平臺(tái)作為嵌入式系統(tǒng)的教學(xué)改革實(shí)踐平臺(tái)。采用全新的課程體系結(jié)構(gòu),以工程實(shí)踐訓(xùn)練為導(dǎo)向,驅(qū)動(dòng)學(xué)生自
    發(fā)表于 04-17 15:38 ?1395次閱讀

    一文解析ZYNQ芯片架構(gòu)

    基于ZYNQ實(shí)現(xiàn)復(fù)雜嵌入式系統(tǒng)非常便利,其應(yīng)用領(lǐng)域也越來越廣泛,本文來從對ZYNQ芯片架構(gòu)的理解
    的頭像 發(fā)表于 09-05 11:44 ?4588次閱讀
    一文解析<b class='flag-5'>ZYNQ</b><b class='flag-5'>芯片</b><b class='flag-5'>架構(gòu)</b>

    淺談ZYNQ芯片架構(gòu)解析

    基于 ZYNQ 實(shí)現(xiàn)復(fù)雜嵌入式系統(tǒng)非常便利,其應(yīng)用領(lǐng)域也越來越廣泛,本文來從對 ZYNQ 芯片架構(gòu)
    的頭像 發(fā)表于 04-28 10:18 ?4711次閱讀
    淺談<b class='flag-5'>ZYNQ</b><b class='flag-5'>芯片</b><b class='flag-5'>架構(gòu)</b>解析

    ZYNQ嵌入式系統(tǒng)-Hello World 實(shí)驗(yàn)

    “Hello World!”是各種編程語言中最簡單,同時(shí)也是最經(jīng)典的入門實(shí)驗(yàn)。因此,我們將串口打印“Hello World”作為 ZYNQ 嵌入式系統(tǒng)的開篇實(shí)驗(yàn),這也是我們步入 ZYNQ
    發(fā)表于 10-20 17:35 ?12次下載
    <b class='flag-5'>ZYNQ</b><b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>-Hello World 實(shí)驗(yàn)

    嵌入式開發(fā)平臺(tái)Zynq芯片介紹

    本文主要對嵌入式開發(fā)平臺(tái)Zynq芯片的發(fā)展歷史、基礎(chǔ)架構(gòu)和應(yīng)用等方面的知識(shí)進(jìn)行了介紹,其中有博主自己的**理解與認(rèn)識(shí)**,不是千篇一律的datasheet翻譯。感興趣的小伙伴可以點(diǎn)進(jìn)來
    發(fā)表于 11-03 10:51 ?10次下載
    <b class='flag-5'>嵌入式</b>開發(fā)平臺(tái)<b class='flag-5'>Zynq</b><b class='flag-5'>芯片</b>介紹

    使用ZYNQ實(shí)現(xiàn)復(fù)雜嵌入式系統(tǒng),真的好用!

    [導(dǎo)讀] 基于ZYNQ實(shí)現(xiàn)復(fù)雜嵌入式系統(tǒng)非常便利,其應(yīng)用領(lǐng)域也越來越廣泛,本文來從對ZYNQ芯片架構(gòu)
    發(fā)表于 12-01 18:06 ?0次下載
    使用<b class='flag-5'>ZYNQ</b>實(shí)現(xiàn)復(fù)雜<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>,真的好用!

    ZYNQ芯片架構(gòu)談?wù)勂錇楹稳绱苏T人

    基于ZYNQ實(shí)現(xiàn)復(fù)雜嵌入式系統(tǒng)非常便利,其應(yīng)用領(lǐng)域也越來越廣泛,本文來從對ZYNQ芯片架構(gòu)的理解
    發(fā)表于 01-26 18:03 ?0次下載
    從<b class='flag-5'>ZYNQ</b><b class='flag-5'>芯片</b><b class='flag-5'>架構(gòu)</b>談?wù)勂錇楹稳绱苏T人

    如何使用ZYNQ進(jìn)行嵌入式系統(tǒng)設(shè)計(jì)

    [導(dǎo)讀] 基于ZYNQ實(shí)現(xiàn)復(fù)雜嵌入式系統(tǒng)非常便利,其應(yīng)用領(lǐng)域也越來越廣泛,本文來從對ZYNQ芯片架構(gòu)
    的頭像 發(fā)表于 10-11 09:06 ?800次閱讀