fpga簡介
FPGA(Field-Programmable Gate Array), 即現場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎上進一步發展的產物。它是作為專用集成電路(ASIC)領域中的一種半定制電路而出現的,既解決了定制電路的不足,又克服了原有可編程器件門電路數有限的缺點。
fpga工作原理
FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個概念,內部包括 可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內部連線(Interconnect)三個部分。
現場可編程門陣列(FPGA)是可編程器件,與傳統邏輯電路和門陣列(如PAL,GAL及CPLD器件)相比,FPGA具有不同的結構。FPGA利用小型查找表(16×1RAM)來實現組合邏輯,每個查找表連接到一個D觸發器的輸入端,觸發器再來驅動其他邏輯電路或驅動I/O,由此構成了既可實現組合邏輯功能又可實現時序邏輯功能的基本邏輯單元模塊,這些模塊間利用金屬連線互相連接或連接到I/O模塊。FPGA的邏輯是通過向內部靜態存儲單元加載編程數據來實現的,存儲在存儲器單元中的值決定了邏輯單元的邏輯功能以及各模塊之間或模塊與I/O間的聯接方式,并最終決定了FPGA所能實現的功能,FPGA允許無限次的編程。
fpga特點
1) 采用FPGA設計ASIC電路(專用集成電路),用戶不需要投片生產,就能得到合用的芯片。
2) FPGA可做其它全定制或半定制ASIC電路的中試樣片。
3) FPGA內部有豐富的觸發器和I/O引腳。
4) FPGA是ASIC電路中設計周期最短、開發費用最低、風險最小的器件之一。
5) FPGA采用高速CMOS工藝,功耗低,可以與CMOS、TTL電平兼容。
單片機簡介
單片機,全稱為單片微型計算機(Single-Chip Microcomputer),又稱微控制器(Microcontroller),是把中央處理器、存儲器、定時/計數器(Timer/Counter)、各種輸入輸出接口等都集成在一塊集成電路芯片上的微型計算機。它的最大優點是體積小,可放在儀表內部,但存儲量小,輸入輸出接口簡單,功能較低。由于其發展非常迅速,舊的單片機的定義已不能滿足,所以在很多應用場合被稱為范圍更廣的微控制器。
單片機工作原理
單片機自動完成賦予它的任務的過程,也就是單片機執行程序的過程,即一條條執行的指令的過程,所謂指令就是把要求單片機執行的各種操作用的命令的形式寫下來,這是在設計人員賦予它的指令系統所決定的,一條指令對應著一種基本操作;單片機所能執行的全部指令,就是該單片機的指令系統,不同種類的單片機,其指令系統亦不同。
為使單片機能自動完成某一特定任務,必須把要解決的問題編成一系列指令(這些指令必須是選定單片機能識別和執行的指令),這一系列指令的集合就成為程序,程序需要預先存放在具有存儲功能的部件——存儲器中。存儲器由許多存儲單元(最小的存儲單位)組成,就像大樓房有許多房間組成一樣,指令就存放在這些單元里,單元里的指令取出并執行就像大樓房的每個房間的被分配到了唯一一個房間號一樣,每一個存儲單元也必須被分配到唯一的地址號,該地址號稱為存儲單元的地址,這樣只要知道了存儲單元的地址,就可以找到這個存儲單元,其中存儲的指令就可以被取出,然后再被執行。
程序通常是順序執行的,所以程序中的指令也是一條條順序存放的,單片機在執行程序時要能把這些指令一條條取出并加以執行,必須有一個部件能追蹤指令所在的地址,這一部件就是程序計數器PC(包含在CPU中),在開始執行程序時,給PC賦以程序中第一條指令所在的地址,然后取得每一條要執行的命令,PC在中的內容就會自動增加,增加量由本條指令長度決定,可能是1、2或3,以指向下一條指令的起始地址,保證指令順序執行。
單片機特點
(1)體積小、結構簡單、可靠性高
(2)控制能力強
(3)低電壓、低功耗
(4)優異的性能/價格比
fpga和單片機的區別
1、結構上的區別
單片機是一種微處理器,類似于電腦CPU的,它一般采用的是哈佛總線結構,或者馮諾依曼結構,對單片機的編程很大程度上要考慮到它的結構和各個寄存器的作用,單片機用途比較廣,一般用在控制流水線上,還有日 常你看得到的東西上!
FPGA 它的結構是查找表結構,其程序不用去太考慮芯片的結構,要注意的是時序上問題,它的結構比較復雜,功能也很強大,一般應用在通信領域等比較高端的場合,目前在國內FPGA還算是一個新興的行業,當然它的價格也要比單片機貴得多!
單片機是一個微控制器,通過加載模塊軟件來實現某種功能,單片機是成型的芯片;FPGA是用來設計芯片的芯片。
2、速度上的區別
FPGA由于是硬件電路,運行速度直接取決于晶振速度,系統穩定,特別適合高速接口電路。單片機由于是單線程,哪怕是常用的M3系列流水線也是單線程執行,程序語句需要等待單片機周期才能執行。
3、本質區別
FPGA和單片機的區別,本質上是軟件和硬件的區別,FPGA更偏向于硬件電路,而單片機更偏于軟件。
單片機設計屬軟件范疇;它的硬件(單片機芯片)是固定的,通過軟件編程語言描述軟件指令在硬件芯片上的執行;
FPGA設計屬硬件范疇,它的硬件(FPGA)是可編程的,是一個通過硬件描述語言在FPGA芯片上自定義集成電路的過程;
4、應用上的區別
應用上,差別更大。MCU最終所有的指令在一個MCU中都是順序執行的,而FPGA由于是邏輯單元,很容易做到并行執行。
5、入門難易程度
單片機比FPGA簡單些,價格也低一些。要做PID算法控制的用單片機可以,STM32F4系列已經到300M+跑PID完全足夠,如果是跑嵌入式的話可以上ARM芯片。涉及通信、圖像等高速部分可以采用單FPGA模塊。
-
FPGA
+關注
關注
1629文章
21736瀏覽量
603385 -
單片機
+關注
關注
6037文章
44558瀏覽量
635300
發布評論請先 登錄
相關推薦
評論