嵌入式電腦主控智能家居系統(tǒng)方案
FPGA和單片機(jī)在概念上的區(qū)別
單片機(jī)是什么?單片機(jī)可以簡單理解為集成在單一芯片上的微型計(jì)算機(jī),也有運(yùn)算器、控制器、存儲(chǔ)器、總線及輸入輸出設(shè)備,采用也是存儲(chǔ)程序執(zhí)行的方式,對(duì)單片機(jī)的編程就是對(duì)其中的ROM寫入程序,在加電后ROM中的程序會(huì)像計(jì)算機(jī)內(nèi)存中的程序一樣得到逐條的執(zhí)行。
單片機(jī)有很強(qiáng)的接口性能,非常適合于工業(yè)控制,因此又叫微控制器(MCU) 。
FPGA是什么?FPGA則是操控層次更低,所以自由度更大的芯片,對(duì)FPGA的編程在編譯后是轉(zhuǎn)化為FPGA內(nèi)的連線表,相當(dāng)于FPGA內(nèi)提供了大量的與非門、或非門、觸發(fā)器(可以用與非門形成吧)等基本數(shù)字器件,編程決定了有多少器件被使用以及它們之間的連接。只要FPGA規(guī)模夠大,這些數(shù)字器件理論上能形成一切數(shù)字系統(tǒng),包括單片機(jī)甚至CPU。
FPGA是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。
FPGA的優(yōu)勢有三個(gè)方面:
1)通信高速接口設(shè)計(jì)。FPGA可以用來做高速信號(hào)處理,一般如果AD采樣率高,數(shù)據(jù)速率高,這時(shí)就需要FPGA對(duì)數(shù)據(jù)進(jìn)行處理,
比如對(duì)數(shù)據(jù)進(jìn)行抽取濾波,降低數(shù)據(jù)速率,使信號(hào)容易處理,傳輸,存儲(chǔ)。
2)數(shù)字信號(hào)處理。包括圖像處理,雷達(dá)信號(hào)處理,醫(yī)學(xué)信號(hào)處理等。優(yōu)勢是實(shí)時(shí)性好,用面積換速度,比CPU快的多。
3)更大的并行度。這個(gè)主要是通過并發(fā)和流水兩種技術(shù)實(shí)現(xiàn)。并發(fā)是指重復(fù)分配計(jì)算資源,使得多個(gè)模塊之間可以同時(shí)獨(dú)立進(jìn)行計(jì)算。
FPGA的并發(fā)可以在不同邏輯功能之間進(jìn)行,而不局限于同時(shí)執(zhí)行相同的功能。流水是通過將任務(wù)分段,段與段之間同時(shí)執(zhí)行。其實(shí)這一點(diǎn)和CPU相似,只是CPU是指令間的流水而FPGA是任務(wù)間流水或者我們可以說是線程間流水。
利用硬件并行的優(yōu)勢,F(xiàn)PGA打破了順序執(zhí)行的模式,在每個(gè)時(shí)鐘周期內(nèi)完成更多的處理任務(wù),超越了數(shù)字信號(hào)處理器(DSP)的運(yùn)算能力。
總的來說,F(xiàn)PGA與DSP的區(qū)別主要是對(duì)處理數(shù)據(jù)速率的區(qū)別:
DSP適用于系統(tǒng)較低取樣速率、低數(shù)據(jù)率、多條件操作、處理復(fù)雜的多算法任務(wù)、使用C語言編程、系統(tǒng)使用浮點(diǎn)。適合于較低采樣速率下多條件進(jìn)程、特別是復(fù)雜的多算法任務(wù)。
FPAG適用于系統(tǒng)高速取樣速率、高數(shù)據(jù)率、框圖方式編程、處理任務(wù)固定或重復(fù)、使用定點(diǎn)。) 、適合于高速采樣頻率下,特別是任務(wù)比較固定或重復(fù)的情況以及試制樣機(jī)、系統(tǒng)開發(fā)的場合。
現(xiàn)在常用的軟件無線電平臺(tái)就是利用FPGA+DSP+ARM的結(jié)構(gòu),F(xiàn)PGA主要對(duì)高速數(shù)據(jù)進(jìn)行預(yù)處理,降低數(shù)據(jù)的速率,然后將數(shù)據(jù)送給DSP,去實(shí)現(xiàn)復(fù)雜的算法,ARM主要用來做顯示控制。