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