0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于微控制器的FPGA達(dá)到目標(biāo)

星星科技指導(dǎo)員 ? 來(lái)源:嵌入式計(jì)算設(shè)計(jì) ? 作者:Ted Marena ? 2022-06-13 10:34 ? 次閱讀

FPGA 供應(yīng)商一直在故意推動(dòng) FPGA 架構(gòu)中不斷擴(kuò)大的分歧。主要供應(yīng)商要么傾向于使用具有高性能應(yīng)用處理器的 SoC FPGA,要么提供不帶處理器的低端 FPGA。服務(wù)器群和高性能計(jì)算等應(yīng)用程序需要不斷提高性能。為了解決這個(gè)問(wèn)題,許多 SoC FPGA 都采用了非常適合這些應(yīng)用的 ARM A 級(jí)應(yīng)用處理器。許多其他應(yīng)用程序的現(xiàn)實(shí)情況是,這些處理器超出了所需。A 級(jí) SoC FPGA 通常過(guò)于昂貴,由于所需的操作系統(tǒng)而需要過(guò)多的軟件支持負(fù)擔(dān),并且具有更高的功耗。此外,通常不需要原始計(jì)算性能。

另一方面,沒(méi)有硬微控制器或處理器的低端 FPGA 可能會(huì)限制眾多設(shè)計(jì)。低端 FPGA 僅提供軟微控制器,沒(méi)有附帶的外圍設(shè)備或子系統(tǒng)。如果需要外設(shè),則必須使用 FPGA 門(mén)創(chuàng)建它們。帶有軟微控制器的低端 FPGA 運(yùn)行速度非常慢,由于創(chuàng)建微控制器和子系統(tǒng)所需的 FPGA 門(mén)而效率低下,不提供安全性,并且是在專(zhuān)有架構(gòu)上開(kāi)發(fā)的。

對(duì)于廣泛的應(yīng)用,基于硬化微控制器的 SoC FPGA 通常是更有效的解決方案。每年都會(huì)生產(chǎn)大量 32 位微控制器架構(gòu),因?yàn)橛性S多應(yīng)用程序可以使用它們。想象一下,如果有一個(gè)帶有通用組件子系統(tǒng)的微控制器,并且它還包括一個(gè)可以實(shí)現(xiàn)硬件加速任務(wù)或其他邏輯功能的可配置塊?ARM Cortex-M3 SoC FPGA 可以被視為具有可配置硬件加速的微控制器。硬件加速和邏輯功能的實(shí)現(xiàn)是 FPGA 架構(gòu)擅長(zhǎng)的兩個(gè)關(guān)鍵特性。結(jié)合使用 ARM Cortex-M3 和 FPGA 架構(gòu),可以為各種應(yīng)用中的許多任務(wù)實(shí)現(xiàn)理想的分工。

使用處理器和 FPGA 結(jié)構(gòu)對(duì)設(shè)計(jì)示例進(jìn)行分區(qū)

由于架構(gòu)和訪(fǎng)問(wèn)存儲(chǔ)器指令的要求,微控制器非常適合低速串行任務(wù)。FPGA 架構(gòu)非常適合對(duì)時(shí)間要求更高的并行處理功能。當(dāng)以這種方式劃分設(shè)計(jì)時(shí),每個(gè)組件應(yīng)該實(shí)現(xiàn)哪些功能就變得很清楚了。例如,控制多個(gè)電機(jī)的主要挑戰(zhàn)之一是需要電機(jī)控制回路的確定性響應(yīng)。為確保設(shè)計(jì)可靠,每個(gè)電機(jī)都必須在嚴(yán)格的、確定的時(shí)間內(nèi)進(jìn)行維修,且時(shí)間不存在較大的變化。因?yàn)槎噍S電機(jī)控制算法是一個(gè)時(shí)間關(guān)鍵的功能,它應(yīng)該駐留在 FPGA 架構(gòu)中。FPGA 是實(shí)現(xiàn)具有嚴(yán)格確定性時(shí)序的控制回路的理想選擇。圖 1 是多軸電機(jī)控制設(shè)計(jì)的框圖。大部分電機(jī)控制算法在 FPGA 架構(gòu)中,而速度較慢的接口連接到 ARM Cortex-M3。

圖 1:多軸電機(jī)控制設(shè)計(jì)框圖。

poYBAGKmomiAf43_AAFjK3_vO10567.png

電機(jī)控制算法不是唯一需要的功能。完整的電機(jī)控制設(shè)計(jì)通常需要一個(gè)或多個(gè)通信接口和控制 I/O。這些接口不是面向高性能的,是 Cortex-M3 等微控制器實(shí)現(xiàn)的理想選擇。通信接口可以是CAN總線(xiàn)、SPI、UART或其他控制總線(xiàn)。

為設(shè)計(jì)添加數(shù)據(jù)安全性

增加數(shù)據(jù)安全性需要證書(shū)和密鑰交換,以及對(duì)數(shù)據(jù)實(shí)施加密和解密算法。有多個(gè)數(shù)據(jù)安全握手交換,并且通常需要對(duì)多種格式的支持。交換握手通常不是時(shí)間關(guān)鍵的,但每個(gè)交換算法都有不同的字符串需要解析、各種驗(yàn)證協(xié)議和多輪證書(shū)檢查。由于所有這些程序和時(shí)間緊迫性的缺乏,在 Cortex-M3 等微控制器中實(shí)現(xiàn)證書(shū)和密鑰交換是理想的??梢愿鶕?jù)請(qǐng)求的握手交換調(diào)用和執(zhí)行適當(dāng)?shù)拇a。一旦交換了密鑰并且兩個(gè)設(shè)備都受信任,則需要對(duì)數(shù)據(jù)通信進(jìn)行加密和解密。有許多有線(xiàn)和無(wú)線(xiàn)通信速度和協(xié)議,并且根據(jù)鏈路速度,數(shù)據(jù)加密和解密通常需要性能。當(dāng)需要性能吞吐量時(shí),建議在 FPGA 架構(gòu)中實(shí)現(xiàn)。發(fā)送設(shè)備將實(shí)施諸如 AES 256、三重 DES、RSA 或類(lèi)似的加密算法,而接收設(shè)備將實(shí)施相同的解密算法。如果數(shù)據(jù)鏈路性能不重要,Cortex-M3 可以實(shí)現(xiàn)加密和解密。然而,F(xiàn)PGA 架構(gòu)非常適合需要更高吞吐量的情況。建議在 FPGA 架構(gòu)中實(shí)現(xiàn)它。發(fā)送設(shè)備將實(shí)施諸如 AES 256、三重 DES、RSA 或類(lèi)似的加密算法,而接收設(shè)備將實(shí)施相同的解密算法。如果數(shù)據(jù)鏈路性能不重要,Cortex-M3 可以實(shí)現(xiàn)加密和解密。然而,F(xiàn)PGA 架構(gòu)非常適合需要更高吞吐量的情況。建議在 FPGA 架構(gòu)中實(shí)現(xiàn)它。發(fā)送設(shè)備將實(shí)施諸如 AES 256、三重 DES、RSA 或類(lèi)似的加密算法,而接收設(shè)備將實(shí)施相同的解密算法。如果數(shù)據(jù)鏈路性能不重要,Cortex-M3 可以實(shí)現(xiàn)加密和解密。然而,F(xiàn)PGA 架構(gòu)非常適合需要更高吞吐量的情況。

向設(shè)計(jì)中添加自定義外圍設(shè)備

盡管處理器和微控制器提供通用外設(shè),但許多設(shè)計(jì)都需要定制接口。許多醫(yī)療、工業(yè)嵌入式設(shè)計(jì)通常需要添加額外的接口,而開(kāi)放式總線(xiàn)接口連接器解決了這個(gè)問(wèn)題。兩個(gè)比較流行的外圍總線(xiàn)連接器是外圍模塊 (Pmod) 和 Arduino shield。有許多外設(shè)設(shè)計(jì)利用了這些連接器,而 SoC FPGA 非常適合在這些定制外設(shè)和設(shè)計(jì)的其余部分之間進(jìn)行橋接。當(dāng)需要額外的外圍設(shè)備時(shí),可以獨(dú)特地利用基于微控制器的 SoC FPGA。微控制器和FPGA架構(gòu)的結(jié)合可以實(shí)現(xiàn)橋接、加速功能、通信協(xié)議管理、I/O擴(kuò)展和控制邏輯。一個(gè)示例是需要添加自定義顯示的設(shè)計(jì)。與顯示器接口需要接口控制邏輯、圖像處理以及寄存器配置。ARM Cortex-M3 可以解決后者并執(zhí)行其他管理任務(wù),而 FPGA 最適合與顯示器接口并根據(jù)需要修改圖像。

Avnet Electronics 最近創(chuàng)建了一個(gè)硬件套件,以展示基于微控制器的 SoC 可以為廣闊市場(chǎng)帶來(lái)的強(qiáng)大功能(圖 2)。該板可以使用許多外圍選項(xiàng),因?yàn)樗哂?Pmod 連接器和 Arduino 屏蔽連接器組。其他主要功能包括板載外圍設(shè)備、低功耗藍(lán)牙 (BLE)、USB 以及大量傳感器和開(kāi)關(guān)。該板采用 Microsemi SmartFusion2 SoC FPGA,其中包括硬核 ARM Cortex-M3 微控制器和綜合子系統(tǒng)。該架構(gòu)包含 HDL 和 C 代碼參考設(shè)計(jì)、基于 Windows 的軟件 GUI 和 Android 應(yīng)用程序,以增加靈活性。Windows GUI 可以連接到所有板載組件,參考設(shè)計(jì)示例支持添加 Arduino 擴(kuò)展板或 Pmod 外設(shè)。使用 Windows GUI 連接到 Android 手機(jī)時(shí),可以看到完整的數(shù)據(jù)安全演示。這種數(shù)據(jù)安全設(shè)計(jì)實(shí)現(xiàn)了 SmartFusion2 FPGA 和 Android 智能手機(jī)之間的密鑰交換和數(shù)據(jù)加密。

圖 2: Avnet SmartFusion2 KickStart 套件。

poYBAGKmom-ACi6BAAMOFEPerq8217.png

有各種各樣的通用應(yīng)用程序理想地在基于微控制器的 SoC FPGA 中實(shí)現(xiàn),可以解決橋接、I/O 擴(kuò)展、硬件加速、協(xié)議管理和電路板初始化等解決方案。使用帶有參考設(shè)計(jì)和軟件 GUI 的硬件解決方案可以讓設(shè)計(jì)理念迅速變?yōu)楝F(xiàn)實(shí)。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7552

    瀏覽量

    151426
  • FPGA
    +關(guān)注

    關(guān)注

    1629

    文章

    21736

    瀏覽量

    603419
  • soc
    soc
    +關(guān)注

    關(guān)注

    38

    文章

    4165

    瀏覽量

    218269
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    電梯的基礎(chǔ)原理:微控制器

    微控制器
    jf_10480160
    發(fā)布于 :2022年12月14日 07:20:15

    針對(duì)微控制器應(yīng)用的FPGA的實(shí)現(xiàn)

    針對(duì)微控制器應(yīng)用的FPGA的實(shí)現(xiàn)
    發(fā)表于 08-20 23:47

    怎么通過(guò)FPGA實(shí)現(xiàn)微控制器?

    親愛(ài)的朋友們,我聽(tīng)說(shuō)我們甚至可以通過(guò)FPGA實(shí)現(xiàn)微控制器。例如,我們可以用FPGA實(shí)現(xiàn)AVR micro。我的問(wèn)題是:我們?cè)鯓硬拍苁褂盟??假設(shè)我們已經(jīng)用C語(yǔ)言編寫(xiě)了代碼,現(xiàn)在我們改變了主意,決定用
    發(fā)表于 03-22 07:32

    微控制器的發(fā)展怎么樣

    被淘汰的命運(yùn)。不過(guò)就目前的情形來(lái)看,32位微控制器將在市場(chǎng)中活躍一陣子。其市場(chǎng)占有率將會(huì)逐漸上升,到2010年將會(huì)達(dá)到30.27%。     
    發(fā)表于 06-25 06:19

    如何將微控制器FPGA連接?

    晚上好,如何將微控制器FPGA連接?如何使用微控制器配置FPGA?如何使用微控制器或軟件程序?yàn)?b class='flag-5'>FPGA
    發(fā)表于 03-25 09:22

    如何將8051微控制器引到FPGA中去?

    請(qǐng)問(wèn)如何將8051微控制器引到FPGA中去?
    發(fā)表于 04-28 06:41

    請(qǐng)問(wèn)如何實(shí)現(xiàn)微控制器FPGA的接口設(shè)計(jì)?

    基于FPGA的MCU設(shè)計(jì)有兩種基本實(shí)現(xiàn)方式如何實(shí)現(xiàn)微控制器FPGA的接口設(shè)計(jì)
    發(fā)表于 05-06 10:05

    CC2640無(wú)線(xiàn)微控制器是如何工作達(dá)到低功耗的

    什么是藍(lán)牙無(wú)線(xiàn)技術(shù)?CC2640無(wú)線(xiàn)微控制器是由哪些部分組成的?CC2640無(wú)線(xiàn)微控制器是如何工作達(dá)到低功耗的?
    發(fā)表于 11-05 07:36

    針對(duì)微控制器應(yīng)用的FPGA實(shí)現(xiàn)

    對(duì)于許多微控制器應(yīng)用來(lái)說(shuō),FPGA 是非常理想的器件,因?yàn)槠涑杀鞠鄬?duì)低廉,包含大量的嵌入式存儲(chǔ)塊,具有足夠的I/O 以應(yīng)對(duì)幾乎所有控制器功能,擁有豐富的寄存,并支持包括LVC
    發(fā)表于 11-29 16:54 ?42次下載
    針對(duì)<b class='flag-5'>微控制器</b>應(yīng)用的<b class='flag-5'>FPGA</b>實(shí)現(xiàn)

    STM32F0系列微控制器安全手冊(cè)的詳細(xì)資料免費(fèi)下載

     本文件描述如何在安全相關(guān)系統(tǒng)的上下文中使用STM32F0系列的微控制器,指定用戶(hù)在安裝和操作方面的責(zé)任,以便達(dá)到目標(biāo)安全完整性水平。
    發(fā)表于 10-08 08:00 ?12次下載
    STM32F0系列<b class='flag-5'>微控制器</b>安全手冊(cè)的詳細(xì)資料免費(fèi)下載

    微控制器FPGA的配對(duì)或是你設(shè)計(jì)成功的關(guān)鍵

    FPGA已經(jīng)變得如此成本效益的,它們?cè)絹?lái)越多地與微控制器配合使用,以提高整個(gè)系統(tǒng)的效率。
    發(fā)表于 01-20 10:41 ?1012次閱讀
    <b class='flag-5'>微控制器</b>和<b class='flag-5'>FPGA</b>的配對(duì)或是你設(shè)計(jì)成功的關(guān)鍵

    什么是微控制器?如何編程微控制器?

    對(duì)微控制器進(jìn)行編程或刻錄意味著“將程序從編譯傳輸?shù)?b class='flag-5'>微控制器的存儲(chǔ)”。微控制器的程序通常是用C或匯編語(yǔ)言編寫(xiě)的,最后編譯
    的頭像 發(fā)表于 08-21 15:40 ?1w次閱讀

    基于微控制器FPGA達(dá)到目標(biāo)

    FPGA 供應(yīng)商一直在故意推動(dòng) FPGA 架構(gòu)中不斷擴(kuò)大的分歧。主要供應(yīng)商要么傾向于使用具有高性能應(yīng)用處理的 SoC FPGA,要么提供不帶處理
    的頭像 發(fā)表于 08-05 16:54 ?1642次閱讀
    基于<b class='flag-5'>微控制器</b>的<b class='flag-5'>FPGA</b><b class='flag-5'>達(dá)到目標(biāo)</b>

    基于微控制器FPGA達(dá)到目標(biāo)

    FPGA 供應(yīng)商一直在故意推動(dòng) FPGA 架構(gòu)中不斷擴(kuò)大的分歧。主要供應(yīng)商要么傾向于使用具有高性能應(yīng)用處理的 SoC FPGA,要么提供不帶處理
    的頭像 發(fā)表于 08-07 09:16 ?771次閱讀
    基于<b class='flag-5'>微控制器</b>的<b class='flag-5'>FPGA</b><b class='flag-5'>達(dá)到目標(biāo)</b>

    FPGA微控制器優(yōu)缺點(diǎn)比較

    在現(xiàn)代電子設(shè)計(jì)領(lǐng)域,FPGA微控制器(MCU)是兩種常用的計(jì)算平臺(tái)。它們各自具有獨(dú)特的優(yōu)勢(shì)和局限性,適用于不同的應(yīng)用場(chǎng)景。 性能 FPGA FPGA是一種可編程的硬件,由大量的邏輯單
    的頭像 發(fā)表于 12-02 09:58 ?318次閱讀