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