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