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