隨著物聯(lián)網應用的采用勢頭越來越猛,嵌入式開發(fā)社區(qū)面臨的壓力也越來越大,他們需要平衡每個設計的可用計算資源、延遲、成本和尺寸。由于其實時性,對云連接的關注也被視為某些發(fā)展的挑戰(zhàn),從而導致混合“霧”計算方法。配置本地網關以向霧方法提供本地云方面可能需要相當高的計算需求和算法處理。許多負責開發(fā)網關設備的設計人員面臨的挑戰(zhàn)是了解其計算要求的多樣性。一些應用,尤其是工業(yè)物聯(lián)網部署中的應用,可能涉及相當復雜的電機控制或視覺處理任務。對于這些要求,不僅需要高水平的計算能力,還需要實時確定性行為。雖然高端 CPU 通常是首選設備,但還有許多其他設備正在引起開發(fā)人員的注意。其中之一是現(xiàn)場可編程門陣列 (FPGA),由于其硬確定性能力,它正在迅速發(fā)展。
那些不熟悉使用 FPGA 的人面臨著許多關于這些設備的復雜性、成本和功耗特性的神話。許多開發(fā)人員認為 FPGA 可能只適用于高度專業(yè)化、高成本的軍事系統(tǒng),但目前的情況與這種情況相去甚遠。在當今的云連接世界中,F(xiàn)PGA 的最大應用是數據中心應用,除了加速搜索功能外,它們還用于使用神經網絡深度學習技術進行圖像識別搜索。
毫無疑問,精通構建基于微控制器或微處理器的系統(tǒng)的嵌入式開發(fā)人員在考慮使用 FPGA 時會被前面的學習曲線嚇倒。對大多數人來說,顯著的區(qū)別將是從基于軟件的思維過程轉向硬件“門”方法。FPGA 被認為是最接近設計定制 IC 的最接近的東西,它可以完全按照您的要求進行設計,F(xiàn)PGA 本質上是通用門和單元的空白畫布,是使用硬件描述語言 (HDL) 編程或連接在一起的結構(圖1)。學習數字邏輯的電子工程師很快就會對 FPGA 背后的基本概念感到賓至如歸,而其他人可能會發(fā)現(xiàn)有關該主題的在線進修課程很有用。Simon Monk 對 FPGA 進行編程。
圖 1:FPGA 器件的功能框圖。
隨著 FPGA 在各種應用中的使用勢頭越來越猛,有關它們的信息的可用性也越來越高。這主要是由領先的 FPGA 供應商推動的,他們投入巨資提供免費的開源軟件工具,以幫助定義和加速設計流程。在 FPGA 架構中集成 MCU 以創(chuàng)建 FPGA 片上系統(tǒng) (SoC) 設備進一步有助于管理 FPGA 并將其集成到最終應用中。極大地簡化了學習和開發(fā)過程,有助于在更廣泛的應用中使用 FPGA,并促進開放社區(qū)論壇的發(fā)展。在創(chuàng)客社區(qū)內采用 FPGA 也有助于激發(fā)對其功能的興趣,并為 Mojo 和 Papilio 等許多眾籌 FPGA 評估板項目做出了貢獻。FPGA 制造商還努力通過創(chuàng)建在更廣泛的開源社區(qū)中得到很好支持的開發(fā)套件和評估板來使設計更易于訪問。所有這些舉措共同創(chuàng)造了豐富的技術信息和支持資源,有助于鼓勵設計人員考慮他們的第一個 FPGA 設計。
這種評估板的一個例子是Microsemi 的 SmartFusion2 入門套件,如圖 2 所示。
圖 2:SmartFusion2 入門套件。
該入門套件包含一個系統(tǒng)級模塊 (SOM),其中包含帶有相關存儲器和時鐘的 Microsemi SmartFusion2 FPGA SoC 器件,以及一個承載原型設計區(qū)域、電源轉換器和電源管理 IC 的 SmartFusion2 基板,該入門套件提供了一個完整的平臺開始您的第一個設計。
FPGA SoC 器件具有 32 位 ARM? Cortex?-M3 微控制器內核,在 FPGA 架構中實現(xiàn)為微控制器子系統(tǒng) (MSS)。它支持 64 MB DDR 內存和 16 MB 閃存,并且能夠運行高達 142 MHz。圖 3 顯示了 SmartFusion2 SOM 的功能框圖。
圖 3:SmartFusion2 系統(tǒng)級模塊的功能框圖。
SOM 還包括一個 JTAG 接口、一個看門狗定時器、一個以太網接口以及大量 GPIO 和串行(I 2 C、CAN、SPI 和 UART)接口?;暹B接和用戶 I/O 功能的全部范圍如圖 4 所示。FPGA 架構的大小取決于模型,范圍從 6060 到 56520 個邏輯元件。SoC 代碼運行 uClinux 內核,通過提供對所有 Linux 工具(包括 SSH、FTP 和 Telnet 等網絡實用程序)的訪問,進一步幫助開發(fā)過程。
圖 4:SmartFusion2 基板功能框圖。
在對 FPGA SoC 進行編程時,Microsemi 的設計流程工具Libero可從 Microsemi 網站免費下載。套件中還包括作為 Libero 項目設置的完整 FPGA SoC 和電路板。Libero 將 FPGA 設計的設計流程與嵌入式應用程序開發(fā)集成在一起,如圖 5 所示。
圖 5:Libero 將傳統(tǒng)的 FPGA 設計流程與微控制器固件開發(fā)集成在一起。
Libero 快速入門指南很好地介紹了使用 Libero 和整個設計流程。Libero 的一個關鍵部分是 System Builder 向導(圖 6),它通過提出一系列問題來幫助開發(fā)人員進行架構設計過程,這些問題有助于塑造基本系統(tǒng)要求、配置選項,并在需要時向架構添加額外的外圍設備。
圖 6:Libero System Builder 向導 - MSS 中時鐘功能的示例設置。
與傳統(tǒng)的開發(fā)實踐保持一致,“Hello World”第一程序的現(xiàn)代解釋是通過閃爍的 LED 設計項目實現(xiàn)的。在本教程中完整記錄,該文檔指導工程師完成設計流程以實現(xiàn)此基本設計功能。圖 7 是本教程的屏幕截圖,突出顯示了將輸出信號分配給指定的 GPIO 引腳,該引腳在基板上連接了一個 LED。
圖 7:閃爍 LED 示例中的 GPIO 引腳分配。
結論
FPGA 在原始計算能力、設計靈活性和每瓦性能方面可為開發(fā)人員提供很多幫助。以前被視為程序復雜、耗電大且價格昂貴的設備,隨著越來越多的商業(yè)應用利用其廣泛的功能,它們在最近已經成熟了很多。眾所周知,在工程師創(chuàng)建復雜的神經網絡設計之前,有一個合理的學習曲線。但是,由于本文中描述的開發(fā)工具的可用性,邁出第一步變得容易得多。
更多信息可以來這里獲取==>>電子技術應用-AET<<