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