FPGA 供應商一直在故意推動 FPGA 架構中不斷擴大的分歧。主要供應商要么傾向于使用具有高性能應用處理器的 SoC FPGA,要么提供不帶處理器的低端 FPGA。服務器群和高性能計算等應用程序需要不斷提高性能。為了解決這個問題,許多 SoC FPGA 都采用了非常適合這些應用的 ARM A 級應用處理器。許多其他應用程序的現實情況是,這些處理器超出了所需。A 級 SoC FPGA 通常過于昂貴,由于所需的操作系統而需要過多的軟件支持負擔,并且具有更高的功耗。此外,通常不需要原始計算性能。
另一方面,沒有硬微控制器或處理器的低端 FPGA 可能會限制眾多設計。低端 FPGA 僅提供軟微控制器,沒有附帶的外圍設備或子系統。如果需要外設,則必須使用 FPGA 門創建它們。帶有軟微控制器的低端 FPGA 運行速度非常慢,由于創建微控制器和子系統所需的 FPGA 門而效率低下,不提供安全性,并且是在專有架構上開發的。
對于廣泛的應用,基于硬化微控制器的 SoC FPGA 通常是更有效的解決方案。每年都會生產大量 32 位微控制器架構,因為有許多應用程序可以使用它們。想象一下,如果有一個帶有通用組件子系統的微控制器,并且它還包括一個可以實現硬件加速任務或其他邏輯功能的可配置塊?ARM Cortex-M3 SoC FPGA 可以被視為具有可配置硬件加速的微控制器。硬件加速和邏輯功能的實現是 FPGA 架構擅長的兩個關鍵特性。結合使用 ARM Cortex-M3 和 FPGA 架構,可以為各種應用中的許多任務實現理想的分工。
使用處理器和 FPGA 結構對設計示例進行分區
由于架構和訪問存儲器指令的要求,微控制器非常適合低速串行任務。FPGA 架構非常適合對時間要求更高的并行處理功能。當以這種方式劃分設計時,每個組件應該實現哪些功能就變得很清楚了。例如,控制多個電機的主要挑戰之一是需要電機控制回路的確定性響應。為確保設計可靠,每個電機都必須在嚴格的、確定的時間內進行維修,且時間不存在較大的變化。因為多軸電機控制算法是一個時間關鍵的功能,它應該駐留在 FPGA 架構中。FPGA 是實現具有嚴格確定性時序的控制回路的理想選擇。圖 1 是多軸電機控制設計的框圖。大部分電機控制算法在 FPGA 架構中,而速度較慢的接口連接到 ARM Cortex-M3。
圖 1:多軸電機控制設計框圖。
電機控制算法不是唯一需要的功能。完整的電機控制設計通常需要一個或多個通信接口和控制 I/O。這些接口不是面向高性能的,是 Cortex-M3 等微控制器實現的理想選擇。通信接口可以是CAN總線、SPI、UART或其他控制總線。
為設計添加數據安全性
增加數據安全性需要證書和密鑰交換,以及對數據實施加密和解密算法。有多個數據安全握手交換,并且通常需要對多種格式的支持。交換握手通常不是時間關鍵的,但每個交換算法都有不同的字符串需要解析、各種驗證協議和多輪證書檢查。由于所有這些程序和時間緊迫性的缺乏,在 Cortex-M3 等微控制器中實現證書和密鑰交換是理想的。可以根據請求的握手交換調用和執行適當的代碼。一旦交換了密鑰并且兩個設備都受信任,則需要對數據通信進行加密和解密。有許多有線和無線通信速度和協議,并且根據鏈路速度,數據加密和解密通常需要性能。當需要性能吞吐量時,建議在 FPGA 架構中實現。發送設備將實施諸如 AES 256、三重 DES、RSA 或類似的加密算法,而接收設備將實施相同的解密算法。如果數據鏈路性能不重要,Cortex-M3 可以實現加密和解密。然而,FPGA 架構非常適合需要更高吞吐量的情況。建議在 FPGA 架構中實現它。發送設備將實施諸如 AES 256、三重 DES、RSA 或類似的加密算法,而接收設備將實施相同的解密算法。如果數據鏈路性能不重要,Cortex-M3 可以實現加密和解密。然而,FPGA 架構非常適合需要更高吞吐量的情況。建議在 FPGA 架構中實現它。發送設備將實施諸如 AES 256、三重 DES、RSA 或類似的加密算法,而接收設備將實施相同的解密算法。如果數據鏈路性能不重要,Cortex-M3 可以實現加密和解密。然而,FPGA 架構非常適合需要更高吞吐量的情況。
向設計中添加自定義外圍設備
盡管處理器和微控制器提供通用外設,但許多設計都需要定制接口。許多醫療、工業和嵌入式設計通常需要添加額外的接口,而開放式總線接口連接器解決了這個問題。兩個比較流行的外圍總線連接器是外圍模塊 (Pmod) 和 Arduino shield。有許多外設設計利用了這些連接器,而 SoC FPGA 非常適合在這些定制外設和設計的其余部分之間進行橋接。當需要額外的外圍設備時,可以獨特地利用基于微控制器的 SoC FPGA。微控制器和FPGA架構的結合可以實現橋接、加速功能、通信協議管理、I/O擴展和控制邏輯。一個示例是需要添加自定義顯示的設計。與顯示器接口需要接口控制邏輯、圖像處理以及寄存器配置。ARM Cortex-M3 可以解決后者并執行其他管理任務,而 FPGA 最適合與顯示器接口并根據需要修改圖像。
Avnet Electronics 最近創建了一個硬件套件,以展示基于微控制器的 SoC 可以為廣闊市場帶來的強大功能(圖 2)。該板可以使用許多外圍選項,因為它具有 Pmod 連接器和 Arduino 屏蔽連接器組。其他主要功能包括板載外圍設備、低功耗藍牙 (BLE)、USB 以及大量傳感器和開關。該板采用 Microsemi SmartFusion2 SoC FPGA,其中包括硬核 ARM Cortex-M3 微控制器和綜合子系統。該架構包含 HDL 和 C 代碼參考設計、基于 Windows 的軟件 GUI 和 Android 應用程序,以增加靈活性。Windows GUI 可以連接到所有板載組件,參考設計示例支持添加 Arduino 擴展板或 Pmod 外設。使用 Windows GUI 連接到 Android 手機時,可以看到完整的數據安全演示。這種數據安全設計實現了 SmartFusion2 FPGA 和 Android 智能手機之間的密鑰交換和數據加密。
圖 2: Avnet SmartFusion2 KickStart 套件。
有各種各樣的通用應用程序理想地在基于微控制器的 SoC FPGA 中實現,可以解決橋接、I/O 擴展、硬件加速、協議管理和電路板初始化等解決方案。使用帶有參考設計和軟件 GUI 的硬件解決方案可以讓設計理念迅速變為現實。
審核編輯:郭婷
-
微控制器
+關注
關注
48文章
7560瀏覽量
151496 -
FPGA
+關注
關注
1629文章
21746瀏覽量
603757 -
soc
+關注
關注
38文章
4170瀏覽量
218373
發布評論請先 登錄
相關推薦
評論