FPGA與單片機的區別
FPGA是在PAL、GAL、CPLD等可編程器件的基礎上進(jìn)一步發(fā)展的產(chǎn)物。它的出現的,既解決了定制電路的不足,又克服了原有可編程器件門(mén)電路數有限的缺點(diǎn)。單片機是把中央處理器、存儲器、定時(shí)/計數器(Timer/Counter)、各種輸入輸出接口等都集成在一塊集成電路芯片上的微型計算機。既然都同屬編程類(lèi)的電子元件,那么這兩者有什么區別呢?下面一起來(lái)看看吧:
1.結構區別
單片機是一種微處理器,類(lèi)似于電腦CPU的,它一般采用的是哈佛總線(xiàn)結構,或者馮諾依曼結構,對單片機的編程很大程度上要考慮到它的結構和各個(gè)寄存器的作用,單片機用途比較廣,一般用在控制流水線(xiàn)上。
圖1 哈佛總線(xiàn)結構
FPGA它的結構是查找表結構,其程序不用去太考慮芯片的結構,要注意的是時(shí)序上問(wèn)題,它的結構比較復雜,功能也很強大,一般應用在通信領(lǐng)域等比較高端的場(chǎng)合,目前在FPGA還算是一個(gè)新興的行業(yè)。
圖2 FPGA結構
簡(jiǎn)單來(lái)說(shuō),單片機是一個(gè)微控制器,通過(guò)加載模塊軟件來(lái)實(shí)現某種功能,是成型的芯片;而FPGA是用來(lái)設計芯片的芯片。
2.本質(zhì)區別
FPGA和單片機的區別,本質(zhì)上是軟件和硬件的區別,FPGA更偏向于硬件電路,而單片機更偏于軟件。
單片機設計屬軟件范疇;它的硬件(單片機芯片)是固定的,通過(guò)軟件編程語(yǔ)言描述軟件指令在硬件芯片上的執行;
FPGA設計屬硬件范疇,它的硬件(FPGA)是可編程的,是一個(gè)通過(guò)硬件描述語(yǔ)言在FPGA芯片上自定義集成電路的過(guò)程;
3.速度區別
FPGA由于是硬件電路,內部是并行的,所有的電路邏輯都是在同一個(gè)時(shí)鐘觸發(fā)下工作的,運行速度直接取決于晶振速度,系統穩定。
圖3 FPGA內部并行圖
單片機屬于單線(xiàn)程,內部屬于順序執行,一個(gè)執行完了再執行下一個(gè),哪怕是常用的M3系列流水線(xiàn)也是單線(xiàn)程執行,程序語(yǔ)句也需要等待單片機周期才能執行,所以速度比較慢。
圖4 單片機單線(xiàn)程圖
4.應用區別
FPGA主要是用于VLSI(超大規模集成電路)設計的,主要是數字系統,是一些邏輯電路的模塊,通過(guò)可編程的布線(xiàn)網(wǎng)絡(luò )來(lái)連接這些邏輯模塊(可對硬件進(jìn)行排列組合),從而實(shí)現不同的邏輯功能。
單片機是一個(gè)微型的計算機,它的硬件電路是不能動(dòng)的,主要是通過(guò)軟件來(lái)描述指令在硬件電路上的執行步驟,從而實(shí)現功能。主要應用在處理事件上,比如外部有個(gè)中斷信號,MCU檢測到后,軟件就指揮硬件進(jìn)行某種處理。
5.入門(mén)難易程度
單片機比FPGA簡(jiǎn)單些,價(jià)格也低一些。要做PID算法控制的用單片機可以,STM32F4系列已經(jīng)到300M+跑PID完全足夠,如果是跑嵌入式的話(huà)可以上ARM芯片。涉及通信、圖像等高速部分可以采用單FPGA模塊。
以上就是FPGA與單片機的區別介紹了。FPGA和單片機開(kāi)發(fā)都是屬于數字電路設計設計的范疇,其中的編程也差不多,雖然兩者有并行執行和穿行執行的區別,但是兩個(gè)器件執行的功能都是屬于邏輯功能一類(lèi)。相對來(lái)說(shuō)FPGA設計要復雜一些,對于底層硬件知識的掌握要求也要高一些。
關(guān)注公眾號“優(yōu)特美爾商城”,獲取更多電子元器件知識、電路講解、型號資料、電子資訊,歡迎留言討論。
*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。