国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Zynq SDK 驅動探求(一):ARM 核與外設的故事開始了
Processor is ready. Configure programable logic.

在新專欄 Rapid TCP/IP on Zynq 中,將圍繞 Xilinx Zynq 系列芯片,從 SDK 驅動,PS-PL 協(xié)同加速,嵌入式協(xié)議棧 LWIP 分析以及 TCP/IP 硬件加速等方面,一起探求可靈活配置,軟件定義,硬件加速的 TCP/IP 協(xié)議棧的實現。

PS:題圖就也用這張吧,覺得確實好看。

在專欄的首篇文章中,我們將從 Processor 處理器核和微處理器的概念辨析切入,為大家介紹 Zynq 外設相關的概念。

Zynq 出身自 FPGA 大廠 Xilinx,是賽靈思的一個產品系列。

區(qū)別于傳統(tǒng)的 FPGA 系列產品,Zynq 芯片中除了 FPGA 邏輯資源以外,還包括了兩個 ARM A9 硬核。

在嵌入式領域中,往往很容易將處理器核(Processor)和 微處理器 (單片機)搞混。

這里以大家熟悉的 STM32 為例,理清這個概念。(STM32 大家應該熟悉的吧)



處理器與處理器核

STM32 系列處理器中使用 ARM Cortex M0/3/4/7 核作為處理器核

在 ARM 提供的處理器核 IP(Processor IP) 基礎上,ST 為其添加了一系列外設,包括串口,定時器,DMA等,以及 SRAM 和片上 FLASH 這樣的 Memory ,一起流片做成了一顆 STM32 ,這樣一個微處理器,其實也是一個 SoC (System on Chip)片上系統(tǒng)。

SoC(微處理器)= Processor + 外設 + Memory?注1

那么我們斷言:STM32 就是一個 SoC?,而其處理器核為 ARM M 系列。目前主流的單片機實際上都是 SoC,但這些 SoC 的處理器核并不都是由 ARM 設計提供的。

接著斷言:Zynq 與其說是 FPGA ,不如說?Zynq 就是 SoC。而其處理器核為 ARM A9。

那么 Zynq 的 FPGA 邏輯部分怎么說,實際上 PL (Programable Logic 指 FPGA 中的可編程邏輯資源)需要聽 ARM 核的指揮,某種程度上 PL 是 ARM 核的一項外設,或者說協(xié)處理器,在之后我們會詳細討論 PL 的從屬地位。

說起來我們的 X86 CPU ,Intel 或者 AMD 其實都不是 SoC,你知道為什么?

處理器外設

接著我們說回外設( peripheral device ),外設在處理器系統(tǒng)中指的是 GPIO,UART,DMA 這些處理器的組件,他們聽從處理器核的指揮,干他們自己的活兒,比如打印串口信息。對于 STM32 這樣的單片機來說,外設只有一種,那就是固化的硬件電路,這和處理器核是一樣的,都是不能修改的 ASIC (專用硬件電路)。

但 Zynq 的情況就有所不同,擁有兩類不同的外設。

一類是和 STM32 單片機相同的硬件電路外設,這部分硬件電路和處理器核一起組成了 Zynq 的處理器系統(tǒng)(Processor System)。這部分和單片機完全相同,所以我們與其說 Zynq 嵌入了雙核 A9 硬核,不如說嵌入了一個硬件處理器系統(tǒng)(近似于一個完整的單片機)。

PS = Processor + 片上外設

另一類外設由 FPGA 部分的可編程邏輯(PL)構成,它們最大的特點在于可編程,無論是外設的數量還是類型。某個部分的邏輯資源可以在先前作為串口使用,過會兒就可以作為 SPI 接口,這種變化甚至能夠動態(tài)進行。另外,我們知道 STM32 的硬件串口在 F103C8T6 上可能就是 3 個,但在 Zynq 上,我們可以使用硬件資源部署 30 個硬件串口,300 個也。。這個或許夸張了。PL 外設相比 PS 外設的缺點在于速度要慢一些,穩(wěn)定性也可能稍差。

所以,Zynq 擁有兩類外設:PS 或者 PL。其中 PL 外設又可以分為兩類:標準 IP 和自定義 IP。Xilinx 和其他廠商提供了基礎的標準 IP,包括 FIFO,RAM,AXI-Uart,AXI-Jtag 等等,這些電路模塊都久經考驗,在基礎的功能上可以充分地信任他們。

另一類是由用戶完全自定義的 IP,用來實現定制化的功能,比如我需要一個加法器,這個加法器不一般,每次進行加法計算時,能模擬一些粗心的一年級小朋友,以小朋友犯錯的概率出現一些運算失誤。

4 + 7 = 12

這類 IP 可以從心所欲,但沒有經過歷史的考驗,有時侯就會太年輕,出現一些問題。另外標準化的 IP 得到了廠商的很多支持,比如 Xilinx 為一些 IP 提供了 Linux 上的驅動。至于自定義 IP ,那這些支持就完全不存在了。

總線

SoC 還有一個很重要的組成部分是總線,或者片上網絡。總線將處理器核和外設連接到一起。處理器核與外設的通信通過總線進行。如果把處理器核比作大秦帝國的都城,要將一條條敕令發(fā)往帝國各地,總線就好比是帝國的一條條馳道一樣必不可少。處理器核的指令就通過總線傳輸到各個外設。

Zynq 中不只存在 AXI4 系列總線,在 PS 中 ARM 核和片上外設之間的連接通過 APB,AHB 總線進行,和 STM32 使用相同的總線。APB,AHB 總線和 AXI4 類似,實際上他們都屬于 ARM AMBA 協(xié)議族。

在軟件編程的過程中,總線操作由底層 IO 驅動負責,所以并不需要加以關注。但在編寫硬件 IP 的過程中,需要對總線的接口加以了解。

注1:Memory 對于 SoC 不是必須的,或者說很多 SoC 的存儲器不完全在片上。

結語

本文通過對處理器核與微處理器這對概念進行梳理,大致地介紹了 Zynq 中 ARM 核和外設之間的關系,可以說是故事的開始。

在下一篇的 SDK 驅動探求文章中,我們將以定時器為例,追溯一個外設從初始化到工作的過程,了解外設是如何和處理器一起工作的。

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Zedboard 評測(一)——Demo演示 | 愛板網
二本渣渣通信工程春招記錄
I2C和串口有什么區(qū)別?難倒資深工程師的“簡單問題”,瞬間讀懂
Keil的軟件仿真和硬件仿真
學習嵌入式不可不知的十六個硬件相關概念!
嵌入式處理器的種類介紹
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服