Ultra96 開發紀錄: 開箱文 一文中筆者紀錄了如何購買 Ultra96 開發板,在這邊文章中我們則是來看看 Ultra96 rev1 的版本,到底有哪些硬體與週邊。
Ultra96 有分 v1 與 v2 兩個版本, 本文使用的是 Ultra96v1 的硬體 ,不過請注意 Ultra96v1 已經被宣告 EOL 了
但是就算被宣告 EOL (End-of-Life) 了,因為我也只有這塊板子,所以會以 Ultra96v1 為主來寫文章
開發板概觀
首先先來看看這片開發板的外觀與有哪些週邊
和其他的 FPGA 開發板相比,這片板子由於只有無線網路功能,因此如果要連網的話就需要走 Wi-Fi ,使用起來會相對麻煩。
除此之外,由於沒有內建 JTAG 的功能,因此如果你目標是將這塊板子用於 FPGA 開發的話,你可能最好多買 專用的 JTAG 轉接板。
方塊圖
大概知道外觀與 I/O 後,就來看看系統的方塊圖吧
UltraZed-EG
在 Ultra96 上核心的晶片為 Xilinx UltraScale+ MPSoC 系列的 Zynq UltraScale+ EG (XCZU3EG) ,這一系列不同版本的晶片差異如下:
可以看到 Zynq UltraScale+ EG (XCZU3EG) 雖然缺少了 H.264/H.265 的硬體解碼器,但是也是具有 Mali-400 MP2 GPU 的設備,也就是說我們手上這片要跑 Android 也是可行的。
此外,因為 Zynq UltraScale+ EG 除了是 FPGA 外,同時內建了 Cortex-A53 以及 Cortex-R5 兩種用於不同工作的處理器,我們可以透過 OpenAMP 框架來達到讓 Cortex-A53 上的 Linux 和 Cortex-R5 上的 RTOS 進行通訊以及交換資料的效果,這樣除了 FPGA 可以用於處理即時性的工作外, Cortex-R5 也可以幫忙處理類似的工作。
記憶體 (LPDDR4)
Ultra96 具有 4GB 大小的記憶體,根據 Ultra96 Hardware User Guide 上的資料來看,目前在 Ultra96 rev1 上用過以下兩種記憶體元件:
低速擴充腳位
低速擴充腳位 (Low Speed Expansion Connector) 大部分依照 96board 規範 ,將對應的 I/O 拉了出來,有些 I/O 則是你可以透過 FPGA 來進行控制。
值得注意的是,這邊的插孔的寬度是 2.0mm ,和我們常用的 2.54mm 杜邦線 寬度不同,因此也可能你會需要買 2.0mm 轉 2.54mm 的擴充板 來進行接線,或是購買 Mezzanine 來進行擴充 (要先確認相容性呦~)
在表上的 HD_GPIO (High-density I/O) 位於可程式邏輯區 (Programmable Logic, PL) 上,我們可以透過 FPGA 對其進行操控,電壓可設定範圍為 1.2V ~ 3.3V (預設為 1.8V)
而其他和處理器系統 (Processing System, PS) 相關的 I/O,預設則是被設定在 1.8V 上
低速擴充腳位位置
低速擴充腳位對應表
高速擴充腳位
高速擴充腳位 (High Speed Expansion Connector) 則是使用 FCI 61082-061409LF 這個 60pin x 0.8mm 的插槽,
要注意的事情是,高速擴充腳位這邊除了 I²C2 、 I²C3 和 SD 這幾個界面外,其他都是用位於可程式邏輯區 (Programmable Logic, PL) 上的 HP_GPIO (High Performance GPIO) 替代,也就是說,需要自行透過 FPGA 去定義這些接腳的功能。
HP_GPIO 電壓可設定範圍則是 1.0V ~ 1.8V
高速擴充腳位位置
高速擴充腳位對應表