<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
"); //-->

博客專(zhuān)欄

EEPW首頁(yè) > 博客 > FPGA 與微控制器:嵌入式設計的另一種方法

FPGA 與微控制器:嵌入式設計的另一種方法

發(fā)布人:電子資料庫 時(shí)間:2023-01-18 來(lái)源:工程師 發(fā)布文章

大多數工程師通過(guò)學(xué)習微控制器開(kāi)始嵌入式系統培訓。微控制器在單個(gè)集成電路上需要一個(gè)完整的微型計算系統。CPU、RAM、ROM 和輸入/輸出外圍設備都在一個(gè)拇指大小的片上系統 (SoC) 上——包含所有或大部分電子元件的集成電路。

除了組件之外,嵌入式設計的另一部分涉及軟件開(kāi)發(fā)。微控制器(和微處理器)有一個(gè)在大小和操作上保持固定的指令集,這意味著(zhù)工程師通過(guò)匯編語(yǔ)言或嵌入式 C 使用相同的指令來(lái)解決計算任務(wù),通常用于實(shí)際應用程序。

好消息是,如果有編程語(yǔ)言方面的經(jīng)驗,使用微控制器學(xué)習起來(lái)相對簡(jiǎn)單。流行的版本,如 AVR、8051、PIC 和 ARM,使工程師能夠接觸到嵌入式系統的軟件開(kāi)發(fā)方面。因此,有幾種選擇。

然而,還有另一種嵌入式軟件開(kāi)發(fā)方法是微控制器所不具備的能力:基于硬件的嵌入式設計。為此,需要現場(chǎng)可編程門(mén)陣列 (FPGA)。

FPGA 由 Xilinx 于 1984 年發(fā)明。它們是包含數百萬(wàn)個(gè)邏輯門(mén)的集成電路,這些邏輯門(mén)以電子方式配置以執行特定任務(wù)(這意味著(zhù)門(mén)是現場(chǎng)可編程的)。

讓我們將 FPGA 與計算機進(jìn)行比較。計算機(可以是微控制器、微處理器或圖形處理器)是一種基于指令集執行任務(wù)的數字電子電路。這些指令包含由計算機的數字電路在數據上實(shí)現的機器代碼,其中數據在寄存器或存儲芯片上存儲和操作。

或者,FPGA 將設計帶到硬件中,因此工程師可以從架構級別設計一個(gè)(簡(jiǎn)單的)計算設備來(lái)執行特定的任務(wù)或應用程序。

image.png


微控制器與 FPGA
盡管 FPGA 通常用于設計數字電路以執行簡(jiǎn)單的計算任務(wù),但在計算方面它無(wú)法與微控制器相提并論。微控制器和微處理器是真正的具有復雜架構的計算設備。

FPGA 可與專(zhuān)用集成電路 (ASIC) 相媲美,并可與其一起工作。ASIC 是為特定任務(wù)定制的,而不是用于一般用途。事實(shí)上,任何 ASIC 功能都可以在 FPGA 上定制設計和制造。

微控制器讓具有匯編或高級編程語(yǔ)言專(zhuān)業(yè)知識的工程師為計算機設計軟件,而 FPGA 允許設計簡(jiǎn)單的計算設備。這種基于硬件的嵌入式設計需要對數字電路和計算機體系結構有詳細的了解。

語(yǔ)言上的一些差異:

  • 微控制器使用匯編語(yǔ)言或高級語(yǔ)言(例如“C”)進(jìn)行編程,然后將其轉換為機器代碼以在 CPU 上執行。

  • FPGA 芯片使用 Verilog 或超高速集成電路硬件描述語(yǔ)言 (VHDL) 進(jìn)行編程。VHDL 被轉換為在 FPGA 芯片上制造的數字邏輯塊,以設計用于特定應用的定制計算機。通過(guò)使用 VHDL 或 Verilog,工程師可以從根級別設計數據路徑和算術(shù)邏輯單元 (ALU) 硬件。如果有足夠的邏輯塊來(lái)支持設計,甚至可以在 FPGA 上設計微控制器。

首先了解微控制器和微處理器是有意義的,因為了解計算機如何運行以及如何編程以執行特定任務(wù)非常重要。微控制器、FPGA 和 CPLD(復雜可編程邏輯設備)是獨立的嵌入式系統,各有優(yōu)缺點(diǎn)。

FPGA 將這種知識擴展到硬件電路,了解如何構建計算機。

FPGA 的優(yōu)勢
FPGA 不僅可以作為學(xué)習數字設計和計算機體系結構的一種方式,而且這些芯片還可以在嵌入式系統工程中提供實(shí)際應用。它們提供了 ASIC 的替代方案,具有某些優(yōu)勢……

多線(xiàn)程。 FPGA 可以同時(shí)或以并行形式處理多條指令。與微控制器相比,這是一個(gè)很大的優(yōu)勢,微控制器一次只能按順序執行一條指令。這意味著(zhù) FPGA 在處理任務(wù)時(shí)通常要快得多。由于這些過(guò)程在硬件級別進(jìn)行邏輯編碼,因此 FPGA 芯片非常適合專(zhuān)用或專(zhuān)業(yè)應用,包括預處理傳感器數據、密碼學(xué)、邏輯電路設計、數字音頻應用、視頻流等。

另一方面,微控制器具有帶有專(zhuān)用指令集的通用架構,這使得它們更適合以較慢的速度解決可能需要標準接口的復雜計算任務(wù)。

總的來(lái)說(shuō),由于這種多線(xiàn)程特性,當應用程序中要處理的數據量很大時(shí),FPGA 具有優(yōu)勢。如今,FPGA 板可提供內置 CPU,因此特定應用程序處理只需要設計邏輯。

靈活性和設計范圍。 任何數字電路,無(wú)論復雜程度如何,都可以在 FPGA 上設計,前提是該芯片包含足夠數量的邏輯塊來(lái)模擬設計。因此,從技術(shù)上講,FPGA 可用于設計任何外圍設備或執行任何計算任務(wù)。

它們還可以被編程為具有多個(gè)定時(shí)器、通道 UART 或通道脈沖寬度調制 (PWM) 發(fā)生器——這與不提供這種靈活性的微控制器不同。這是因為無(wú)法更改微控制器中的芯片組以適應應用程序。相反,它們具有通用計算單元和內置外圍設備(例如定時(shí)器、GPIO、中斷和串行接口)。

FPGA 的這種靈活性為專(zhuān)門(mén)設計的工程師提供了更大的能力。

模擬因素。通常,在任何嵌入式系統中,控制器或處理器與提供模擬輸入的傳感器或需要來(lái)自控制器或處理器的模擬輸出的執行器耦合。

現場(chǎng)可編程模擬陣列 (FPAA) 也是讓設計人員對復雜模擬電路進(jìn)行編程的一種選擇。許多 FPGA 芯片都包含 FPAA,因此可以針對數字電路對芯片進(jìn)行編程處理模擬信號。這些混合信號芯片包含模數轉換器 (ADC) 或數模轉換器 (DAC) 外圍設備,以及模擬信號調節塊。

此類(lèi)設備中的輸出引腳可以根據該引腳上負載的需要,針對驅動(dòng)強度和轉換速率進(jìn)行編程。這是 FPGA 如何提供更大靈活性的另一個(gè)示例,能夠為特定應用提供模擬編程。

可重用性。FPGA 可以重新編程以模擬任何其他數字(或模擬)電路,因此電路永遠不會(huì )固定。當芯片上電時(shí),根據配置數據的數字設計被加載到芯片上。每次芯片上電時(shí)都會(huì )發(fā)生這種情況。

下一次啟動(dòng)新設計時(shí)可以更改配置數據。由于芯片是可重復使用的,工程師可以在同一芯片上無(wú)休止地試驗不同的數字設計。

單芯片解決方案。FPGA 為應用程序提供單芯片解決方案。這不同于通常必須與其他外圍設備(可能不是內置的)、接口或 ASIC 接口的微控制器。

實(shí)時(shí)處理。FPGA 不是通用計算 IC,而是用于在芯片上設計專(zhuān)用計算設備。與運行程序(機器代碼)的微控制器不同,數據路徑和 ALU 在 FPGA 上制造以解決計算任務(wù)。

這意味著(zhù) FPGA 不是運行程序,而是被編程為執行特定任務(wù)。這種在硬件級別執行的邏輯允許實(shí)時(shí)處理數據和信息。這就是為什么 FPGA 通常用于高速、關(guān)鍵的應用程序,在這些應用程序中,微控制器可能會(huì )因為依賴(lài)代碼在指令集有限的固定架構上運行而出現故障。

~

鑒于這些優(yōu)勢,FPGA 是高速并行處理的理想選擇,在這些情況下,要處理的數據量很大,或者處理芯片需要定制的外圍設備、可配置的模擬輸出或時(shí)間關(guān)鍵的專(zhuān)用應用程序(這在其他情況下是不可能的)通用 CPU)。

FPGA 提供了對復雜集成設計的訪(fǎng)問(wèn),否則這些設計只能以高昂的工程成本獲得。這種芯片就像****大小板上的微型半導體鑄造廠(chǎng)。

在實(shí)際應用中,FPGA 用于產(chǎn)量較低的特定垂直領(lǐng)域。它廣泛用于 ASIC 設計原型制作,通常無(wú)需冗長(cháng)的制造過(guò)程即可快速上市。

常見(jiàn)應用包括數字信號處理、圖像處理、生物信息學(xué)、密碼學(xué)、軟件設計的無(wú)線(xiàn)電、醫學(xué)成像、語(yǔ)音識別、電信、數據中心、航空航天電子和安全系統。

相比之下,微控制器用于一般嵌入式應用,例如汽車(chē)、消費和工業(yè)電子產(chǎn)品、通信系統等。

FPGA 的缺點(diǎn) FPGA
有一些明顯的缺點(diǎn),具體取決于應用。這些包括復雜性、高功率要求和價(jià)格點(diǎn)。

成本——FPGA 板比微控制器成本更高(大約 50 美元,而 10 美元或更低)。這是嵌入式設計培訓課程開(kāi)始時(shí)通常不討論 FPGA 芯片的原因之一。

然而,FPGA 是可重復使用的,從而賦予它們更大的長(cháng)期價(jià)值,特別是對于研發(fā)或原型目的。在其他情況下,盡管微控制器的速度低且架構通用,但它們通常更實(shí)惠。

image.png


FPGA開(kāi)發(fā)板。

高功率要求。大多數 FPGA 板由 48V 背板供電。不幸的是,高功率要求使它們不適用于多種嵌入式應用。將此與微控制器板進(jìn)行比較,微控制器板通常只需要 5 或 3.3 V 電源即可運行。它們是設計任何電池供電的便攜式嵌入式設備的不二之選。

揮發(fā)性。FPGA 的數字設計通過(guò)配置數據傳遞給它。通電后,電路板會(huì )進(jìn)行相應配置并開(kāi)始運行。配置數據必須在主模式下存儲在閃存中,或者在從模式下由處理器通過(guò)邊界掃描 (JTAG) 接口傳遞。一旦電路板斷電,這些數據就會(huì )丟失。

大多數 FPGA 的易失性使其不適合存在斷電或中斷風(fēng)險的應用。

啟動(dòng)時(shí)間。FPGA 每次上電時(shí)都必須加載配置數據。這會(huì )顯著(zhù)增加其操作的啟動(dòng)時(shí)間。然而,一旦加載了配置數據,FPGA 板的運行速度通常比微控制器快得多。

對于某些需要在激活后立即采取行動(dòng)的關(guān)鍵應用程序,啟動(dòng)時(shí)間可能是個(gè)問(wèn)題。FPGA 不適合嵌入式設備頻繁開(kāi)關(guān)機的應用。由于嵌入式設備的高功率要求,也不可能讓這些芯片在嵌入式設備中持續通電。

高引腳數。通常,大多數 FPGA 都有多個(gè)引腳。因此,這些芯片不適合計算處理器或控制器必須緊湊的狹小空間或受限嵌入式應用。相比之下,有許多具有八個(gè)或更少引腳的微控制器,很容易安裝在小型設備中。

復雜。使用 FPGA 需要詳細了解數字設計和計算機體系結構。它不像微控制器那么簡(jiǎn)單。與軟件開(kāi)發(fā)所需的高級編程或匯編語(yǔ)言相比,FPGA 的語(yǔ)言(VHDL 或 Verilog)學(xué)習起來(lái)相當復雜。

雖然大多數用于 FPGA 開(kāi)發(fā)的工具都是免費提供的,但它們使用起來(lái)很復雜,而且很難選擇理想的電路板。數字設計中也有許多并發(fā)癥、陷阱和注意事項,只能通過(guò)時(shí)間和實(shí)踐經(jīng)驗來(lái)學(xué)習。

設計限制。只能將數字設計的邏輯塊與 FPGA 互連。在門(mén)級也沒(méi)有控制,而且通常合成是非標準的。但是,FPGA 非常適合測試架構或早期 ASIC 設計。

耐用性。與微控制器相比,FPGA IC 的使用壽命較短。雖然微控制器可以在設備中使用數十年,但嵌入式設備中的 FPGA 芯片通常需要每?jì)傻轿迥旮鼡Q一次。

高成本、引腳、數量和功率要求,以及復雜性、易變性和設計限制意味著(zhù) FPGA 在嵌入式應用中不太常見(jiàn)。目前,它們僅用于需要專(zhuān)用架構、定制外圍設備或通過(guò)并行處理執行關(guān)鍵機器代碼的高功率設備。

結論
FPGA 有優(yōu)點(diǎn)也有缺點(diǎn)。這取決于應用程序??偟膩?lái)說(shuō),它們使工程師能夠更好地訪(fǎng)問(wèn)硬件設計并能夠探索集成電路,而微控制器是不可能做到的。但這需要一定程度的知識和經(jīng)驗。全面了解嵌入式設計工程是值得的。

微控制器和處理器提供軟件經(jīng)驗,而 FPGA 提供硬件知識。就像第一次從頭開(kāi)始構建代碼一樣,經(jīng)驗會(huì )隨著(zhù)時(shí)間的推移變得更容易。


*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。



關(guān)鍵詞: FPGA

相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>