隨著物聯網應用的采用勢頭越來越猛,嵌入式開發社區面臨的壓力也越來越大,他們需要平衡每個設計的可用計算資源、延遲、成本和尺寸。由于其實時性,對云連接的關注也被視為某些發展的挑戰,從而導致混合“霧”計算方法。配置本地網關以向霧方法提供本地云方面可能需要相當高的計算需求和算法處理。許多負責開發網關設備的設計人員面臨的挑戰是了解其計算要求的多樣性。一些應用,尤其是工業物聯網部署中的應用,可能涉及相當復雜的電機控制或視覺處理任務。對于這些要求,不僅需要高水平的計算能力,還需要實時確定性行為。雖然高端CPU通常是首選設備,但還有許多其他設備正在引起開發人員的注意。其中之一是現場可編程門陣列 (FPGA),由于其硬確定性能力,它正在迅速發展。
那些不熟悉使用 FPGA 的人面臨著許多關于這些設備的復雜性、成本和功耗特性的神話。許多開發人員認為 FPGA 可能只適用于高度專業化、高成本的軍事系統,但目前的情況與這種情況相去甚遠。在當今的云連接世界中,FPGA 的最大應用是數據中心應用,除了加速搜索功能外,它們還用于使用神經網絡深度學習技術進行圖像識別搜索。
毫無疑問,精通構建基于微控制器或微處理器的系統的嵌入式開發人員在考慮使用 FPGA 時會被前面的學習曲線嚇倒。對大多數人來說,顯著的區別將是從基于軟件的思維過程轉向硬件“門”方法。FPGA 被認為是最接近設計定制 IC 的最接近的東西,它可以完全按照您的要求進行設計,FPGA 本質上是通用門和單元的空白畫布,是使用硬件描述語言 (HDL) 編程或連接在一起的結構(圖1)。學習數字邏輯的電子工程師很快就會對 FPGA 背后的基本概念感到賓至如歸,而其他人可能會發現有關該主題的在線進修課程很有用。Simon Monk 對 FPGA 進行編程。
圖 1:FPGA 器件的功能框圖。
隨著 FPGA 在各種應用中的使用勢頭越來越猛,有關它們的信息的可用性也越來越高。這主要是由領先的 FPGA 供應商推動的,他們投入巨資提供免費的開源軟件工具,以幫助定義和加速設計流程。在 FPGA 架構中集成MCU以創建 FPGA 片上系統 (SoC) 設備進一步有助于管理 FPGA 并將其集成到最終應用中。極大地簡化了學習和開發過程,有助于在更廣泛的應用中使用 FPGA,并促進開放社區論壇的發展。在創客社區內采用 FPGA 也有助于激發對其功能的興趣,并為 Mojo 和 Papilio 等許多眾籌 FPGA 評估板項目做出了貢獻。FPGA 制造商還努力通過創建在更廣泛的開源社區中得到很好支持的開發套件和評估板來使設計更易于訪問。所有這些舉措共同創造了豐富的技術信息和支持資源,有助于鼓勵設計人員考慮他們的第一個 FPGA 設計。
這種評估板的一個例子是Microsemi的 SmartFusion2 入門套件,如圖 2 所示。
圖 2:SmartFusion2 入門套件。
該入門套件包含一個系統級模塊 (SOM),其中包含帶有相關存儲器和時鐘的 Microsemi SmartFusion2 FPGA SoC 器件,以及一個承載原型設計區域、電源轉換器和電源管理IC 的 SmartFusion2 基板,該入門套件提供了一個完整的平臺開始您的第一個設計。
FPGA SoC 器件具有 32 位ARM Cortex-M3 微控制器內核,在 FPGA 架構中實現為微控制器子系統 (MSS)。它支持 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 網站免費下載。套件中還包括作為 Libero 項目設置的完整 FPGA SoC 和電路板。Libero 將 FPGA 設計的設計流程與嵌入式應用程序開發集成在一起,如圖 5 所示。
圖 5:Libero 將傳統的 FPGA 設計流程與微控制器固件開發集成在一起。
Libero 快速入門指南很好地介紹了使用 Libero 和整個設計流程。Libero 的一個關鍵部分是 System Builder 向導(圖 6),它通過提出一系列問題來幫助開發人員進行架構設計過程,這些問題有助于塑造基本系統要求、配置選項,并在需要時向架構添加額外的外圍設備。
圖 6:Libero System Builder 向導 - MSS 中時鐘功能的示例設置。
與傳統的開發實踐保持一致,“Hello World”第一程序的現代解釋是通過閃爍的 LED 設計項目實現的。在本教程中完整記錄,該文檔指導工程師完成設計流程以實現此基本設計功能。圖 7 是本教程的屏幕截圖,突出顯示了將輸出信號分配給指定的 GPIO 引腳,該引腳在基板上連接了一個 LED。
圖 7:閃爍 LED 示例中的 GPIO 引腳分配。
結論
FPGA 在原始計算能力、設計靈活性和每瓦性能方面可為開發人員提供很多幫助。以前被視為程序復雜、耗電大且價格昂貴的設備,隨著越來越多的商業應用利用其廣泛的功能,它們在最近已經成熟了很多。眾所周知,在工程師創建復雜的神經網絡設計之前,有一個合理的學習曲線。但是,由于本文中描述的開發工具的可用性,邁出第一步變得容易得多。
掃描二維碼獲取
更多精彩
FPGA設計論壇
有你想看的精彩 至芯科技-FPGA就業培訓來襲!你的選擇開啟你的高薪之路!3月28號北京中心開課、歡迎咨詢! 英特爾走向Fabless的可能性分析 簡談:基于FPGA 的CRC校驗碼生成器 詳細分析:電容器的四個典型應用電路圖
歡迎關注至芯科技
至芯官網:www.zxopen.com
至芯科技技術論壇:www.fpgaw.com
至芯科技淘寶網址:
https://zxopen.taobao.com
至芯科技FPGA初級課程(B站):
https://space.bilibili.com/521850676
至芯科技FPGA在線課程(騰訊課堂):
https://zxopenbj.ke.qq.com/
至芯科技-FPGA 交流群(QQ):282124839
更多資料下載歡迎注冊http://www.fpgaw.com
掃碼加微信回復加群
邀請您加入FPGA學習交流群
歡迎加入至芯科技FPGA微信學習交流群,這里有一群優秀的FPGA工程師、學生、老師、這里FPGA技術交流學習氛圍濃厚、相互分享、相互幫助、叫上小伙伴一起加入吧!
原文標題:基于FPGA 架構的微控制器子系統實現
文章出處:【微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。
-
FPGA
+關注
關注
1630文章
21784瀏覽量
605031
原文標題:基于FPGA 架構的微控制器子系統實現
文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論