當前位置: 華文世界 > 數位

【微控制器】FPGA和微控制器的區別

2024-02-12數位
  • 結構上的區別 :微控制器是一種微處理器,類似於電腦CPU的,它一般采用的是哈佛匯流排結構,或者馮諾依曼結構,對微控制器的編程很大程度上要考慮到它的結構和各個寄存器的作用,微控制器用途比較廣,一般用在控制流水線上。FPGA 它的結構是尋找表結構,其程式不用去太考慮芯片的結構,要註意的是時序上問題,它的結構比較復雜,功能也很強大,一般套用在通訊領域等比較高端的場合。微控制器是一個微控制器,透過載入模組軟體來實作某種功能,微控制器是成型的芯片; FPGA是用來設計芯片的芯片。
  • 速度上的區別: FPGA由於是硬體電路,執行速度直接取決於晶振速度,系統穩定,特別適合高速介面電路。微控制器由於是單執行緒,哪怕是常用的M3系列流水線也是單執行緒執行,程式語句需要等待微控制器周期才能執行。
  • 本質上的區別 :FPGA和微控制器的區別,本質上是軟體和硬體的區別,FPGA更偏向於硬體電路,而微控制器更偏於軟體。微控制器設計屬軟體範疇;它的硬體(微控制器芯片)是固定的,透過軟體程式語言描述軟體指令在硬體芯片上的執行; FPGA設計屬硬體範疇,它的硬體(FPGA)是可編程的,是一個透過硬體描述語言在FPGA芯片上自訂積體電路的過程。
  • 套用上的區別: 套用上,差別更大。MCU(Microcontroller Unit,微控制單元)最終所有的指令在一個MCU中都是順序執行的,而FPGA由於是邏輯單元,很容易做到並列執行。MCU:微控制單元 (Microcontroller Unit;MCU) ,又稱單片微型電腦 (Single Chip Microcomputer )或者微控制器,是把中央處理器 (Central Process Unit;CPU)的頻率與規格做適當縮減,並將記憶體 (memory)、計數器 (Timer)、USB、A/D轉換、UART、PLC、DMA等周邊介面,甚至LCD驅動電路都整合在單一芯片上,形成芯片級的電腦,為不同的套用場合做不同組合控制
  • 入門難易程度 :微控制器比FPGA簡單些,價格也低一些。要做PID演算法控制的用微控制器可以,STM32F4系列已經到300M+跑PID完全足夠,如果是跑嵌入式的話可以上ARM芯片。涉及通訊、影像等高速部份可以采用單FPGA模組