51、AVR、PIC、MSP430、ARM五大單片機(jī)全解析
據(jù)統(tǒng)計(jì),我國(guó)的單片機(jī)年容量已達(dá)1-3億片,且每年以大約16%的速度增長(zhǎng),但相對(duì)于世界市場(chǎng)我國(guó)的占有率還不到1%。這說(shuō)明單片機(jī)應(yīng)用在我國(guó)才剛剛起步,有著廣闊的前景。培養(yǎng)單片機(jī)應(yīng)用人才,特別是在工程技術(shù)人員中普及單片機(jī)知識(shí)有著重要的現(xiàn)實(shí)意義。
本文引用地址:http://2s4d.com/article/201710/366964.htm當(dāng)今單片機(jī)廠商琳瑯滿目,產(chǎn)品性能各異。針對(duì)具體情況,我們應(yīng)選何種型號(hào)呢?首先,我們來(lái)弄清兩個(gè)概念:集中指令集(CISC)和精簡(jiǎn)指令集(RISC)。采用CISC結(jié)構(gòu)的單片機(jī)數(shù)據(jù)線和指令線分時(shí)復(fù)用,即所謂馮。諾伊曼結(jié)構(gòu)。它的指令豐富,功能較強(qiáng),但取指令和取數(shù)據(jù)不能同時(shí)進(jìn)行,速度受限,價(jià)格亦高。采用RISC結(jié)構(gòu)的單片機(jī)數(shù)據(jù)線和指令線分離,即所謂哈佛結(jié)構(gòu)。這使得取指令和取數(shù)據(jù)可同時(shí)進(jìn)行,且由于一般指令線寬于數(shù)據(jù)線,使其指令較同類(lèi)CISC單片機(jī)指令包含更多的處理信息,執(zhí)行效率更高,速度亦更快。同時(shí),這種單片機(jī)指令多為單字節(jié),程序存儲(chǔ)器的空間利用率大大提高,有利于實(shí)現(xiàn)超小型化。
8051
單片微型計(jì)算機(jī)簡(jiǎn)稱為單片機(jī),又稱為微型控制器,是微型計(jì)算機(jī)的一個(gè)重要分支。單片機(jī)是70年代中期發(fā)展起來(lái)的一種大規(guī)模集成電路芯片,是CPU、RAM、ROM、I/O接口和中斷系統(tǒng)于同一硅片的器件。80年代以來(lái),單片機(jī)發(fā)展迅速,各類(lèi)新產(chǎn)品不斷涌現(xiàn),出現(xiàn)了許多高性能新型機(jī)種,現(xiàn)已逐漸成為工廠自動(dòng)化和各控制領(lǐng)域的支柱產(chǎn)業(yè)之一。
AVR和pic都是跟8051結(jié)構(gòu)不同的8位單片機(jī),因?yàn)榻Y(jié)構(gòu)不同,所以匯編指令也有所不同,而且區(qū)別于使用CISC指令集的8051,他們都是RISC指令集的,只有幾十條指令,大部分指令都是單指令周期的指令,所以在同樣晶振頻率下,較8051速度要快。另PIC的8位單片機(jī)前幾年是世界上出貨量最大的單片機(jī),飛思卡爾的單片機(jī)緊隨其后。ARM實(shí)際上就是32位的單片機(jī),它的內(nèi)部資源(寄存器和外設(shè)功能)較8051和PIC、AVR都要多得多,跟計(jì)算機(jī)的CPU芯片很接近了。常用于手機(jī)、路由器等等。DSP其實(shí)也是一種特殊的單片機(jī),它從8位到32位的都有。它是專門(mén)用來(lái)計(jì)算數(shù)字信號(hào)的。在某些公式運(yùn)算上,它比現(xiàn)行家用計(jì)算機(jī)的最快的CPU還要快。比如說(shuō)一般32位的DSP能在一個(gè)指令周期內(nèi)運(yùn)算完一個(gè)32位數(shù)乘32位數(shù)積再加一個(gè)32位數(shù)。應(yīng)用于某些對(duì)實(shí)時(shí)處理要求較高的場(chǎng)合。
高可靠性、功能強(qiáng)、高速度、低功耗和低價(jià)位指標(biāo),也是單片機(jī)占領(lǐng)市場(chǎng)、賴以生存的必要條件。
早期單片機(jī)主要由于工藝及設(shè)計(jì)水平不高,一直是衡量單片機(jī)性能的重要、功耗高和抗干擾性能差等原因,所以采取穩(wěn)妥方案:即采用較高的分頻系數(shù)對(duì)時(shí)鐘分頻,使得指令周期長(zhǎng),執(zhí)行速度慢以后的CMOS單片機(jī)雖然采用提高時(shí)鐘頻率和縮小分頻系數(shù)等措施,但這種狀態(tài)并。未被徹底改觀(51以及51兼容)。此間雖有某些精簡(jiǎn)指令集單片機(jī)(RISC)問(wèn)世,但依然沿襲對(duì)時(shí)鐘分頻的作法。
AVR單片機(jī)的推出,徹底打破這種舊設(shè)計(jì)格局,廢除了機(jī)器周期,拋棄復(fù)雜指令計(jì)算機(jī)(CISC)追求指令完備的做法;采用精簡(jiǎn)指令集,以字作為指令長(zhǎng)度單位內(nèi)容豐富的操作數(shù)與操作碼安排在一字之中(指令集中占大多數(shù)的單周期指令都是如此),取指周期短,又可預(yù)取指令,實(shí)現(xiàn)流水作業(yè),故可高速執(zhí)行指令。當(dāng)然這種速度上的升躍,是以高可靠性為其后盾的。
AVR單片機(jī)硬件結(jié)構(gòu)采取8位機(jī)與16位機(jī)的折中策略,即采用局部寄存器存堆(32個(gè)寄存器文件)和單體高速輸入/輸出的方案(即輸入捕獲寄存器、輸出比較匹配寄存器及相應(yīng)控制邏輯)。提高了指令執(zhí)行速度(1Mips/MHz),克服了瓶頸現(xiàn)象,增強(qiáng)了功能;同時(shí)又減少了對(duì)外設(shè)管理的開(kāi)銷(xiāo),相對(duì)簡(jiǎn)化了硬件結(jié)構(gòu),降低了成本。故AVR單片機(jī)在軟/硬件開(kāi)銷(xiāo)、速度、性能和成本諸多方面取得了優(yōu)化平衡,是高性價(jià)比的單片機(jī)。
總結(jié)起來(lái),AVR有以下幾個(gè)特點(diǎn)
●哈佛結(jié)構(gòu),具備1MIPS/MHz的高速運(yùn)行處理能力;
●超功能精簡(jiǎn)指令集(RISC),具有32個(gè)通用工作寄存器,克服了如8051MCU采用單一ACC進(jìn)行處理造成的瓶頸現(xiàn)象;
●快速的存取寄存器組、單周期指令系統(tǒng),大大優(yōu)化了目標(biāo)代碼的大小、執(zhí)行效率,部分型號(hào)FLASH非常大,特別適用于使用高級(jí)語(yǔ)言進(jìn)行開(kāi)發(fā);
●作輸出時(shí)與PIC的HI/LOW相同,可輸出40mA(單一輸出),作輸入時(shí)可設(shè)置為三態(tài)高阻抗輸入或帶上拉電阻輸入,具備10mA-20mA灌電流的能力;
●片內(nèi)集成多種頻率的RC振蕩器、上電自動(dòng)復(fù)位、看門(mén)狗、啟動(dòng)延時(shí)等功能,外圍電路更加簡(jiǎn)單,系統(tǒng)更加穩(wěn)定可靠;
●大部分AVR片上資源豐富:帶E2PROM,PWM,RTC,SPI,UART,TWI,ISP,AD,AnalogComparator,WDT等;
●大部分AVR除了有ISP功能外,還有IAP功能,方便升級(jí)或銷(xiāo)毀應(yīng)用程序AVR系列單片機(jī)的選型AVR單片機(jī)系列齊全,可適用于各種不同場(chǎng)合的要求。AVR單片機(jī)有3個(gè)檔次:
低檔Tiny系列AVR單片機(jī):主要有Tiny11/12/13/15/26/28等;中檔AT90S系列AVR單片機(jī):主要有AT90S1200/2313/8515/8535等;(正在淘汰或轉(zhuǎn)型到Mega中)高檔ATmega系列AVR單片機(jī):主要有ATmega8/16/32/64/128(存儲(chǔ)容量為8/16/32/64/128KB)以及ATmega8515/8535等。
想要了解更多有關(guān)ARM的設(shè)計(jì)資料,請(qǐng)點(diǎn)擊電子發(fā)燒友《物聯(lián)網(wǎng)核心技術(shù)之ARM》專題
PIC
PIC到底有什么優(yōu)勢(shì)?也許你也會(huì)有這樣的疑問(wèn),所以我在這里略談幾點(diǎn)自己的看法。
1)PIC最大的特點(diǎn)是不搞單純的功能堆積,而是從實(shí)際出發(fā),重視產(chǎn)品的性能與價(jià)格比,靠發(fā)展多種型號(hào)來(lái)滿足不同層次的應(yīng)用要求。就實(shí)際而言,不同的應(yīng)用對(duì)單片機(jī)功能和資源的需求也是不同的。比如,一個(gè)摩托車(chē)的點(diǎn)火器需要一個(gè)I/O較少、RAM及程序存儲(chǔ)空間不大、可靠性較高的小型單片機(jī),若采用40腳且功能強(qiáng)大的單片機(jī),投資大不說(shuō),使用起來(lái)也不方便。PIC系列從低到高有幾十個(gè)型號(hào),可以滿足各種需要。其中,PIC12C508單片機(jī)僅有8個(gè)引腳,是世界上最小的單片機(jī)。
該型號(hào)有512字節(jié)ROM、25字節(jié)RAM、一個(gè)8位定時(shí)器、一根輸入線、5根I/O線,市面售價(jià)在3-6元人人民幣。這樣一款單片機(jī)在象摩托車(chē)點(diǎn)火器這樣的應(yīng)用無(wú)疑是非常適合。PIC的高檔型號(hào),如PIC16C74(尚不是最高檔型號(hào))有40個(gè)引腳,其內(nèi)部資源為ROM共4K、192字節(jié)RAM、8路A/D、3個(gè)8位定時(shí)器、2個(gè)CCP模塊、三個(gè)串行口、1個(gè)并行口、11個(gè)中斷源、33個(gè)I/O腳。這樣一個(gè)型號(hào)可以和其它品牌的高檔型號(hào)媲美。
2)精簡(jiǎn)指令使其執(zhí)行效率大為提高。PIC系列8位CMOS單片機(jī)具有獨(dú)特的RISC結(jié)構(gòu),數(shù)據(jù)總線和指令總線分離的哈佛總線(Harvard)結(jié)構(gòu),使指令具有單字長(zhǎng)的特性,且允許指令碼的位數(shù)可多于8位的數(shù)據(jù)位數(shù),這與傳統(tǒng)的采用CISC結(jié)構(gòu)的8位單片機(jī)相比,可以達(dá)到2:1的代碼壓縮,速度提高4倍。
3)產(chǎn)品上市零等待(Zerotimetomarket)。采用PIC的低價(jià)OTP型芯片,可使單片機(jī)在其應(yīng)用程序開(kāi)發(fā)完成后立刻使該產(chǎn)品上市。
4)PIC有優(yōu)越開(kāi)發(fā)環(huán)境。OTP單片機(jī)開(kāi)發(fā)系統(tǒng)的實(shí)時(shí)性是一個(gè)重要的指標(biāo),象普通51單片機(jī)的開(kāi)發(fā)系統(tǒng)大都采用高檔型號(hào)仿真低檔型號(hào),其實(shí)時(shí)性不盡理想。PIC在推出一款新型號(hào)的同時(shí)推出相應(yīng)的仿真芯片,所有的開(kāi)發(fā)系統(tǒng)由專用的仿真芯片支持,實(shí)時(shí)性非常好。就我個(gè)人的經(jīng)驗(yàn)看,還沒(méi)有出現(xiàn)過(guò)仿真結(jié)果與實(shí)際運(yùn)行結(jié)果不同的情況。
5)其引腳具有防瞬態(tài)能力,通過(guò)限流電阻可以接至220V交流電源,可直接與繼電器控制電路相連,無(wú)須光電耦合器隔離,給應(yīng)用帶來(lái)極大方便。
6)徹底的保密性。PIC以保密熔絲來(lái)保護(hù)代碼,用戶在燒入代碼后熔斷熔絲,別人再也無(wú)法讀出,除非恢復(fù)熔絲。目前,PIC采用熔絲深埋工藝,恢復(fù)熔絲的可能性極小。
7)自帶看門(mén)狗定時(shí)器,可以用來(lái)提高程序運(yùn)行的可靠性。
8)睡眠和低功耗模式。雖然PIC在這方面已不能與新型的TI-MSP430相比,但在大多數(shù)應(yīng)用場(chǎng)合還是能滿足需要的。
MSP430
MSP430系列單片機(jī)的迅速發(fā)展和應(yīng)用范圍的不斷擴(kuò)大,主要取決于以下的特點(diǎn)。
強(qiáng)大的處理能力MSP430系列單片機(jī)是一個(gè)16位的單片機(jī),采用了精簡(jiǎn)指令集(RISC)結(jié)構(gòu),具有豐富的尋址方式(7種源操作數(shù)尋址、4種目的操作數(shù)尋址)、簡(jiǎn)潔的27條內(nèi)核指令以及大量的模擬指令;大量的寄存器以及片內(nèi)數(shù)據(jù)存儲(chǔ)器都可參加多種運(yùn)算;還有高效的查表處理指令;有較高的處理速度,在8MHz晶體驅(qū)動(dòng)下指令周期為125ns。這些特點(diǎn)保證了可編制出高效率的源程序。
在運(yùn)算速度方面,MSP430系列單片機(jī)能在8MHz晶體的驅(qū)動(dòng)下,實(shí)現(xiàn)125ns的指令周期。16位的數(shù)據(jù)寬度、125ns的指令周期以及多功能的硬件乘法器(能實(shí)現(xiàn)乘加)相配合,能實(shí)現(xiàn)數(shù)字信號(hào)處理的某些算法(如FFT等)。
MSP430系列單片機(jī)的中斷源較多,并且可以任意嵌套,使用時(shí)靈活方便。當(dāng)系統(tǒng)處于省電的備用狀態(tài)時(shí),用中斷請(qǐng)求將它喚醒只用6us。
超低功耗MSP430單片機(jī)之所以有超低的功耗,是因?yàn)槠湓诮档托酒碾娫措妷杭办`活而可控的運(yùn)行時(shí)鐘方面都有其獨(dú)到之處。
首先,MSP430系列單片機(jī)的電源電壓采用的是1.8~3.6V電壓。因而可使其在1MHz的時(shí)鐘條件下運(yùn)行時(shí),芯片的電流會(huì)在200~400uA左右,時(shí)鐘關(guān)斷模式的最低功耗只有0.1uA。
其次,獨(dú)特的時(shí)鐘系統(tǒng)設(shè)計(jì)。在MSP430系列中有兩個(gè)不同的系統(tǒng)時(shí)鐘系統(tǒng):基本時(shí)鐘系統(tǒng)和鎖頻環(huán)(FLL和FLL+)時(shí)鐘系統(tǒng)或DCO數(shù)字振蕩器時(shí)鐘系統(tǒng)。有的使用一個(gè)晶體振蕩器(32768Hz),有的使用兩個(gè)晶體振蕩器)。
由于系統(tǒng)時(shí)鐘系統(tǒng)產(chǎn)生CPU和各功能所需的時(shí)鐘。并且這些時(shí)鐘可以在指令的控制下,打開(kāi)和關(guān)閉,從而實(shí)現(xiàn)對(duì)總體功耗的控制。 由于系統(tǒng)運(yùn)行時(shí)打開(kāi)的功能模塊不同,即采用不同的工作模式,芯片的功耗有著顯著的不同。在系統(tǒng)中共有一種活動(dòng)模式(AM)和五種低功耗模式(LPM0~LPM4)。在等待方式下,耗電為0.7uA,在節(jié)電方式下,最低可達(dá)0.1uA。
系統(tǒng)工作穩(wěn)定。上電復(fù)位后,首先由DCOCLK啟動(dòng)CPU,以保證程序從正確的位置開(kāi)始執(zhí)行,保證晶體振蕩器有足夠的起振及穩(wěn)定時(shí)間。然后軟件可設(shè)置適當(dāng)?shù)募拇嫫鞯目刂莆粊?lái)確定最后的系統(tǒng)時(shí)鐘頻率。如果晶體振蕩器在用做CPU時(shí)鐘MCLK時(shí)發(fā)生故障,DCO會(huì)自動(dòng)啟動(dòng),以保證系統(tǒng)正常工作;如果程序跑飛,可用看門(mén)狗將其復(fù)位。
ARM
1991年ARM公司成立于英國(guó)劍橋,主要出售芯片設(shè)計(jì)技術(shù)的授權(quán)。目前,采用ARM技術(shù)知識(shí)產(chǎn)權(quán)(IP)核的微處理器,即我們通常所說(shuō)的ARM微處理器,已遍及工業(yè)控制、消費(fèi)類(lèi)電子產(chǎn)品、通信系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)、無(wú)線系統(tǒng)等各類(lèi)產(chǎn)品市場(chǎng),基于ARM技術(shù)的微處理器應(yīng)用約占據(jù)了32位RISC微處理器75%以上的市場(chǎng)份額,ARM技術(shù)正在逐步滲入到我們生活的各個(gè)方面。
ARM公司是專門(mén)從事基于RISC技術(shù)芯片設(shè)計(jì)開(kāi)發(fā)的公司,作為知識(shí)產(chǎn)權(quán)供應(yīng)商,本身不直接從事芯片生產(chǎn),靠轉(zhuǎn)讓設(shè)計(jì)許可由合作公司生產(chǎn)各具特色的芯片,世界各大半導(dǎo)體生產(chǎn)商從ARM公司購(gòu)買(mǎi)其設(shè)計(jì)的ARM微處理器核,根據(jù)各自不同的應(yīng)用領(lǐng)域,加入適當(dāng)?shù)耐鈬娐?,從而形成自己的ARM微處理器芯片進(jìn)入市場(chǎng)。目前,全世界有幾十家大的半導(dǎo)體公司都使用ARM公司的授權(quán),因此既使得ARM技術(shù)獲得更多的第三方工具、制造、軟件的支持,又使整個(gè)系統(tǒng)成本降低,使產(chǎn)品更容易進(jìn)入市場(chǎng)被消費(fèi)者所接受,更具有競(jìng)爭(zhēng)力。
ARM處理器的三大特點(diǎn)是:耗電少功能強(qiáng)、16位/32位雙指令集和眾多合作伙伴。
1、體積小、低功耗、低成本、高性能;
2、支持Thumb(16位)/ARM(32位)雙指令集,能很好的兼容8位/16位器件;
3、大量使用寄存器,指令執(zhí)行速度更快;
4、大多數(shù)數(shù)據(jù)操作都在寄存器中完成;
5、尋址方式靈活簡(jiǎn)單,執(zhí)行效率高;
6、指令長(zhǎng)度固定。
ARM商品模式的強(qiáng)大之處在于它在世界范圍有超過(guò)100個(gè)的合作伙伴(Partners)。ARM是設(shè)計(jì)公司,本身不生產(chǎn)芯片。采用轉(zhuǎn)讓許可證制度,由合作伙伴生產(chǎn)芯片。
ARM不是單片機(jī),準(zhǔn)確來(lái)講ARM是一種處理器的IP 核。英國(guó)ARM公司開(kāi)發(fā)出處理器結(jié)構(gòu)后向其他芯片廠商授權(quán)制造,芯片廠商可以根據(jù)自己的需要進(jìn)行結(jié)構(gòu)與功能的調(diào)整,因此實(shí)際中使用的ARM處理器有很多種類(lèi),主要有三星、飛利浦、ATMEL、INTEL制造的幾大類(lèi),功能與使用上均不相同。ARM處理器核還可以嵌入其他專用芯片中作為中央處理單元使用,例如飛利浦的MP3解碼芯片就是采用ARM7核心的。ARM系列處理器很少集成片上硬件資源,更接近今天的處理器范疇,基本不被認(rèn)為是單片機(jī)。
想要了解更多有關(guān)ARM的設(shè)計(jì)資料,請(qǐng)點(diǎn)擊電子發(fā)燒友《物聯(lián)網(wǎng)核心技術(shù)之ARM》專題
評(píng)論