【導讀】很多人經(jīng)常使用單片機、嵌入式等,但是并非知道單片機、ARM、FPGA的特點及區(qū)別要領(lǐng)。本文由名家講解,深入解析單片機、ARM、FPGA的特點及區(qū)別要領(lǐng),詳細介紹了各自的特點及如何區(qū)分的典型案例。
單片機的特點:
(1)受集成度限制,片內(nèi)存儲器容量較小,一般內(nèi)ROM:8KB以下;
(2)內(nèi)RAM:256KB以內(nèi)。
(3)可靠性高
(4)易擴展
(5)控制功能強
(6)易于開發(fā)
ARM的特點:
(1) 自帶廉價的程序存儲器(FLASH)和非易失的數(shù)據(jù)存儲器(EEPROM)。這些存儲器可多次電擦寫,使程序開發(fā)實驗更加方便,工作更可靠。
(2) 高速度,低功耗。在和M51單片機外接相同晶振條件下,AVR單片機的工作速度是M51單片機的30-40倍;并且增加了休眠功能及CMOS技術(shù),使其功耗遠低于M51單片機。
(3) 工業(yè)級產(chǎn)品。具有大電流輸出可直接驅(qū)動SSR和繼電器,有看門狗定時器,防止程序走飛,從而提高了產(chǎn)品的抗干擾能力。
(4) 超功能精簡指令,具有32個通用工作寄存器,相當于M51單片機中32個累加器!從而克服了單一累加器工作的瓶頸效應(yīng)。
(5) 程序下載方便。AVR單片機即可并行下載也可串行下載,無需昂貴的編程器。此外,還可以在線下載!也就是說可以直接在電路板上進行程序修改和燒錄。
(6) 具有模擬比較器、脈寬調(diào)制器、模數(shù)轉(zhuǎn)換功能。使得工業(yè)控制中的模擬信號處理更為簡單方便。
(7) 并行口、定時計數(shù)器、中斷系統(tǒng)等單片機內(nèi)部重要資源的功能進行了大幅度提升,使之更適合工業(yè)生產(chǎn)過程的實時控制。
(8) 其時鐘頻率既可外接也可使用單片機內(nèi)部自帶的振蕩器,其頻率可在1MHz-8MHz內(nèi)設(shè)置,使得硬件開發(fā)制作更為簡潔。
(9) 強大的通訊功能,內(nèi)置了同步串行接口SPI、通用串行接口UAST、兩線串行總線接口TWI(I2C ),使網(wǎng)絡(luò)控制、數(shù)據(jù)傳送更為方便。
(10) 超級保密功能,應(yīng)用程序可采用多重保護鎖功能??傻蛢r快速完成廠家產(chǎn)品商品化等等。 除上述特點外“零外設(shè)”也是AVR嵌入式單片機的重要特征。由于該芯片已內(nèi)置了程序存儲器、晶振并增加了在線匯編功能。
所以AVR單片機芯片接上直流電源,下載個程序就可以獨立工作。無需附加外部設(shè)備,無需使用昂貴的編程器和仿真裝置。這給我們學習和開發(fā)帶來了便利條件。
FPGA的特點:
(1)采用FPGA設(shè)計ASIC電路(專用集成電路),用戶不需要投片生產(chǎn),就能得到合用的芯片。
(2)FPGA可做其它全定制或半定制ASIC電路的中試樣片。
(3)FPGA內(nèi)部有豐富的觸發(fā)器和I/O引腳。
(4)FPGA是ASIC電路中設(shè)計周期最短、開發(fā)費用最低、風險最小的器件之一。
(5)FPGA采用高速CMOS工藝,功耗低,可以與CMOS、TTL電平兼容。
可以說,F(xiàn)PGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。
FPGA是由存放在片內(nèi)RAM中的程序來設(shè)置其工作狀態(tài)的,因此,工作時需要對片內(nèi)的RAM進行編程。用戶可以根據(jù)不同的配置模式,采用不同的編程方式。
加電時,F(xiàn)PGA芯片將EPROM中數(shù)據(jù)讀入片內(nèi)編程RAM中,配置完成后,F(xiàn)PGA進入工作狀態(tài)。掉電后,F(xiàn)PGA恢復成白片,內(nèi)部邏輯關(guān)系消失,因此,F(xiàn)PGA能夠反復使用。
FPGA的編程無須專用的FPGA編程器,只須用通用的EPROM、PROM編程器即可。當需要修改FPGA功能時,只需換一片EPROM即可。這樣,同一片F(xiàn)PGA,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此,F(xiàn)PGA的使用非常靈活。
嵌入式系統(tǒng)的特點:
1、系統(tǒng)內(nèi)核小
由于嵌入式系統(tǒng)一般是應(yīng)用于小型電子裝置的,系統(tǒng)資源相對有限,所以內(nèi)核較之傳統(tǒng)的操作系統(tǒng)要小得多。比如Enea公司的OSE分布式系統(tǒng),內(nèi)核只有5K,而Windows的內(nèi)核?簡直沒有可比性。
2、專用性強
嵌入式系統(tǒng)的個性化很強,其中的軟件系統(tǒng)和硬件的結(jié)合非常 緊密,一般要針對硬件進行系統(tǒng)的移植,即使在同一品牌、同一系列的產(chǎn)品中也 需要根據(jù)系統(tǒng)硬件的變化和增減不斷進行修改。同時針對不同的任務(wù),往往需要 對系統(tǒng)進行較大更改,程序的編譯下載要和系統(tǒng)相結(jié)合,這種修改和通用軟件的 “升級”是完全兩個概念。
3、系統(tǒng)精簡
嵌入式系統(tǒng)一般沒有系統(tǒng)軟件和應(yīng)用軟件的明顯區(qū)分,不要求 其功能設(shè)計及實現(xiàn)上過于復雜,這樣一方面利于控制系統(tǒng)成本,同時也利于實現(xiàn)系統(tǒng)安全。
4、高實時性的系統(tǒng)軟件(OS)是嵌入式軟件的基本要求。而且軟件要求固態(tài)存儲,以提高速度;軟件代碼要求高質(zhì)量和高可靠性。
5、嵌入式軟件開發(fā)要想走向標準化,就必須使用多任務(wù)的操作系統(tǒng)
嵌入式系統(tǒng)的應(yīng)用程序可以沒有操作系統(tǒng)直接在芯片上運行;但是為了合理地調(diào)度多任 務(wù)、利用系統(tǒng)資源、系統(tǒng)函數(shù)以及和專家?guī)旌瘮?shù)接口,用戶必須自行選配RTOS (Real-Time Operating System)開發(fā)平臺,這樣才能保證程序執(zhí)行的實時性、 可靠性,并減少開發(fā)時間,保障軟件質(zhì)量。
6.嵌入式系統(tǒng)開發(fā)需要開發(fā)工具和環(huán)境。
由于其本身不具備自舉開發(fā)能力, 即使設(shè)計完成以后用戶通常也是不能對其中的程序功能進行修改的,必須有一套 開發(fā)工具和環(huán)境才能進行開發(fā),這些工具和環(huán)境一般是基于通用計算機上的軟硬 件設(shè)備以及各種邏輯分析儀、混合信號示波器等。開發(fā)時往往有主機和目標機的 概念,主機用于程序的開發(fā),目標機作為最后的執(zhí)行機,開發(fā)時需要交替結(jié)合進行。
相關(guān)閱讀:
深度解析:高頻逆變電源中的單片機“三步曲”
管腳和單片機為什么要接上拉電阻?
單片機電路PK三極管電路,驅(qū)動LED哪個強?