8051、AVR和ARM的關(guān)系及實(shí)際情況
首先,我們先來談?wù)勎覀儗?051、AVR、ARM或其它單片機(jī)的現(xiàn)有印象是怎么來的。主要的來源其實(shí)有兩種,來自于網(wǎng)絡(luò)上關(guān)于芯片的介紹,來自書架上芯片的教學(xué)書籍。主要都是一些官話、套話,什么具有精簡指令集、增加了多個(gè)定時(shí)器、更快的速度、價(jià)格更低,更適合工業(yè)設(shè)備開發(fā)之類。大家可以看出,這些介紹的用語都是比較詞,也就是說性能的優(yōu)秀是與另一個(gè)不優(yōu)秀的相比較得來的。8051系列單片機(jī)因?yàn)槭亲钤绲奶幚砥鲀?nèi)核,很不幸,8051 內(nèi)核的單片機(jī)成了眾矢之地。AVR、ARM和其它一大堆單片機(jī)都在和8051比較。最終的結(jié)果就是大家認(rèn)為8051是最落后的,AVR、ARM,還是 PIC、MSP430都比8051強(qiáng)大。再加上以8051系列單片機(jī)入門的圖書很多,如以AT89C51、STC89C52之類的單片機(jī)或開發(fā)板入門的書幾乎占了一大半的書架。所以大部分愛好者選擇8051來入門,同時(shí)也自然而然的意識到學(xué)完最簡單的8051之后還要學(xué)習(xí)更“高級”的AVR、ARM、 PIC、MSP430之類的單片機(jī)。認(rèn)為只有學(xué)會了這些才是一個(gè)提升的過程,會用AVR和ARM,就成為了單片機(jī)高手了。
本文引用地址:http://m.butianyuan.cn/article/201612/324229.htm這種觀念的形成主要是沒有得到正確的引導(dǎo),因?yàn)榇蟛糠秩腴T教程都是沒有作者主見的純技術(shù)知識的堆積,讀者從書中得不到學(xué)習(xí)方式、方法的引導(dǎo),所以會產(chǎn)生一大堆錯(cuò)誤的觀念。當(dāng)錯(cuò)誤的觀念形成的多了,久而久之在更多的人群中,錯(cuò)誤的觀念慢慢好像變得“正確”了。而且愛好者的圈子里一般都是僅討論純技術(shù),而不去交流行業(yè)和相關(guān)的非技術(shù)內(nèi)容,使的更多的人不斷進(jìn)入觀念錯(cuò)誤的循環(huán)。而且很難把他們轉(zhuǎn)變過來。就好像來過我網(wǎng)站的人都說我的制作有創(chuàng)意,其實(shí)不是我的能力強(qiáng),而是大家都是在研究技術(shù)上的實(shí)現(xiàn),而不是考慮如何創(chuàng)新,就算想創(chuàng)新了,也沒有花上足夠的時(shí)間去構(gòu)想、實(shí)驗(yàn)。這與圖書的作者只想著把知識點(diǎn)放到書里,卻沒有研究怎么有主見的引導(dǎo)讀者的正確觀念的道理是一樣的。
以上就是我所分析的原因,如果您認(rèn)同我的說法則請繼續(xù)閱讀下面我所講的所謂的正確觀念。如果您不認(rèn)同我以上所說,那就請停止閱讀,不要浪費(fèi)您的時(shí)間。
在說正確的觀念之前,我們來看一看單片機(jī)真正的用途是什么。雖然電子愛 好者可以用它來制作各種好玩的電子制作,但再怎么制作每個(gè)人也用不上100片單片機(jī),僅靠電子制作是無法支撐單片機(jī)市場的。那么最大的需求者是誰呢?說白了,他們就是成批量生產(chǎn)電子產(chǎn)品的廠家。例如他們有用單片機(jī)來制作每個(gè)公司門口都會用到的門禁系統(tǒng)、考勤機(jī)。僅中國大大小小的公司無計(jì)其數(shù),需要的單片機(jī)數(shù)量自然是如繁星一般了。還有消費(fèi)類電子產(chǎn)品,工業(yè)控制設(shè)備、安防設(shè)備、小家電、公辦自動化產(chǎn)品,還有大大小小特殊需要的定制產(chǎn)品。這些需求,就是單片機(jī)最主要的市場了。如此之大的市場需求,生產(chǎn)單片機(jī)的廠商自然盯大的眼睛想著怎么多賣多賺錢了。單片機(jī)廠商的競爭和我們?nèi)粘K姷母髌放剖謾C(jī)、菜市場中各攤位的競爭沒有什么區(qū)別。
怎么才能占據(jù)更多的市場份額呢?那就要看單片機(jī)產(chǎn)品的開發(fā)者關(guān)注什么東西了。誰是單片機(jī)產(chǎn)品的開發(fā)者?就是那些門禁系統(tǒng)、考勤機(jī)設(shè)計(jì)公司的老板和工程師們。如果你是設(shè)計(jì)公司的老板兼工程師,你會需要怎么樣的單片機(jī)?首先要能滿足我制作門禁系統(tǒng)、考勤機(jī)的功能需要,然后是價(jià)格便宜,性能穩(wěn)定,容易開發(fā),采購方便,有同類替代產(chǎn)品。大家注意,在以上的需求中沒有要求功能強(qiáng)大,因?yàn)檫@并不重要。如果我只需要4個(gè)I/O接口,而單片機(jī)卻有著40個(gè)I/O接口,這對產(chǎn)品的價(jià)值提升并沒有什么意義,而且通常功能越多,價(jià)格也越高。如果一款單片機(jī)非常便宜,卻只有2個(gè)I/O接口也是不行的,因?yàn)樗俦阋艘膊荒軡M足我們需要4個(gè)I/O接口的目的。所以單片機(jī)的選擇是適用就好,而不是走價(jià)格和性能的極端。
那么8051、AVR、ARM、PIC等單片機(jī)就是在這種市場環(huán)境中出現(xiàn)的,換句話說,這些單片機(jī)就是為了滿足這種市場需求而被生產(chǎn)出來的。從這個(gè)角度上看,8051、AVR、ARM就沒有什么高、低、貴、*之分了,大家都是為了滿足這個(gè)不同電子產(chǎn)品應(yīng)用需要的大市場。并沒有說8051就是下*的,ARM 就是高級的,大家都是靠銷量說話的。用8051去開發(fā)多媒體產(chǎn)品和用ARM去開發(fā)簡單的流水燈都是非常白癡的行為了。不過,雖然我們除去了高貴與低*的歧視,可是又不得不承認(rèn),不同的單片機(jī)的開發(fā)難度是不同的。有一些是系統(tǒng)復(fù)雜所帶來的難度,還有一些是因?yàn)閱纹瑱C(jī)開發(fā)相關(guān)軟硬件功能的落后再導(dǎo)致的。還有一小部分是學(xué)習(xí)者本身智商程度所產(chǎn)生的難度。不管怎么樣,任何的開發(fā)難度都會變成這款單片機(jī)推廣銷售的不利因素,誰也不希望學(xué)習(xí)困難的東西。當(dāng)然,還有一些人就是愿意學(xué)習(xí)難學(xué)的東西,非要學(xué)難學(xué)的單片機(jī),費(fèi)大力氣研究難懂的數(shù)據(jù)手冊。這種情況多出現(xiàn)在不是工程開發(fā)人員的單片機(jī)愛好者身上,因?yàn)樗麄儾挥贸袚?dān)實(shí)際的項(xiàng)目,不用考慮學(xué)習(xí)的時(shí)間、開發(fā)風(fēng)險(xiǎn)和項(xiàng)目開發(fā)中的各種困難與壓力。所以他們并不認(rèn)為學(xué)習(xí)某款單片機(jī)的困難是單片機(jī)生產(chǎn)廠商做的工作不足,而是把原因歸到自己身上,認(rèn)為自己不如別人聰明,非要把這款單片機(jī)學(xué)會才能證明自己的智商。
我所說的,正是許多人要學(xué)習(xí)AVR的迷局。除了出于天真的想法去學(xué)習(xí)難學(xué)的單片機(jī),還有一個(gè)原因是沒有真正了解這些單片機(jī)的性能、應(yīng)用以及它們之間的區(qū)別。有人說8051單片機(jī)落后了,能說出這種話的定是還沒什么開發(fā)經(jīng)驗(yàn)的初學(xué)者。而越是什么都不懂的人越容易發(fā)表評論。下面我們來看看AVR和8051的區(qū)別吧。
AVR和8051單片機(jī)同為8位單片機(jī),AVR當(dāng)年發(fā)布的時(shí)候其最大的亮點(diǎn)就是它是1T單片機(jī),帶給開發(fā)者有實(shí)際意義的信息就是速度快(和8051相比),還有就是低功率,內(nèi)部集成了更多的功能。在發(fā)布之初,我也非??春肁VR單片機(jī),也買了幾片回來玩玩??墒茿VR雖然性能上有了不少優(yōu)勢,可是把玩的時(shí)候卻發(fā)現(xiàn)了相關(guān)配套服務(wù)的不足,比如AVR的引腳甚至封裝和 8051的不兼容,開發(fā)軟件也和8051不同,下載線要重新制作,單片機(jī)內(nèi)部結(jié)構(gòu)和編程方法都要重新學(xué)習(xí)。對于之前沒有學(xué)過8051單片機(jī)的人來說,這些都是新鮮的,沒有阻礙的??墒菍τ?051單片機(jī)的老手來講,學(xué)習(xí)AVR就需要重新學(xué)習(xí)和使用一套完全不同的平臺,而學(xué)習(xí)新的平臺需要花上不少的時(shí)間。這一事實(shí)阻止了一部分人轉(zhuǎn)向使用AVR。如果AVR可以在設(shè)計(jì)之初考慮到與8051相關(guān)配套軟硬件兼容的問題,那么AVR將會占有更多的市場份額。必竟 8051單片機(jī)是最早的單片機(jī),已經(jīng)有非常多的忠實(shí)用戶了。
AVR的獨(dú)斷專行,讓其它單片機(jī)廠商看到了機(jī)會。推出一款功能與AVR相當(dāng)甚至更強(qiáng)大,同時(shí)又兼容8051軟硬件的單片機(jī)必然會得到市場的歡迎。于是飛利浦、SST、STC等廠商開始研發(fā),增強(qiáng)型8051單片機(jī)問世了。增加型8051單片機(jī)是延用8051的內(nèi)核,在單片機(jī)內(nèi)部集成更多功能模塊。其中做的最出色的就是STC公司的單片機(jī)了。它的接口和傳統(tǒng)的8051完全兼容,而且內(nèi)部集成了復(fù)位芯片、EEPROM等功能。STC12C系列的單片機(jī)也與AVR 相同,達(dá)到了1T單片機(jī)的速度。而且STC12系列單片機(jī)還在片內(nèi)集成了ADC、PWM、EEPROM、獨(dú)立時(shí)鐘、內(nèi)部R/C振蕩器、增加了P4接口。從性能上超過了AVR的產(chǎn)品,價(jià)格也便宜,同時(shí)又和傳統(tǒng)的8051的軟硬件兼容。STC12C完全超過了AVR的性能,工程師們又不需要學(xué)習(xí)新的開發(fā)平臺,只要在原來的8051平臺上就直接可以開發(fā)STC的1T單片機(jī)了。在這種情況之后AVR的落后是必然的結(jié)果,雖然ATMEL公司還在大力推出新款A(yù)VR單片機(jī),可以市場占有率越來越少,以至于在一般的電子市場上都買不到了。但是在網(wǎng)絡(luò)上還有一些原來在AVR最興盛時(shí)的粉絲團(tuán),他們還在堅(jiān)持用AVR來制作和開發(fā)產(chǎn)品。不過在技術(shù)高速發(fā)展的今天,固執(zhí)的忠實(shí)于一種品牌,而不是根據(jù)發(fā)展的需要而改變,這是很不理智的。當(dāng)然,AVR目前還是有一定市場的,只是市場很小罷了。
8051和ARM的比較是另外一會事。就算是最強(qiáng)的增加型8051也不可能和ARM相比較。因?yàn)锳RM是32位處理器核心,支持更大的處理速度和尋址能力,ARM9又支持MMU,可以安裝嵌入式操作系統(tǒng)。ARM是在8051和PC機(jī)用CPU之間的中層產(chǎn)品。用來開發(fā)多媒體產(chǎn)品,如MP4、手機(jī)等。8051和ARM的軟硬件平臺也是不同的,可是學(xué)習(xí) ARM可以做一個(gè)8051根本做不到的事情,所以學(xué)習(xí)ARM是值得的學(xué)習(xí)投入。只是在學(xué)習(xí)之前需要先想好,學(xué)習(xí)ARM的目的。是為了找一份好工作,還是為了制作更好玩的電子制作。
現(xiàn)在基礎(chǔ)ARM平臺開發(fā)的公司有許多,學(xué)習(xí)ARM可以找到不錯(cuò)的工作。但是學(xué)好了8051也一樣可以有好的工作機(jī)會,只是ARM起步晚,會的人不多,競爭相對小一些。而且不管學(xué)什么都要面對未來繼續(xù)學(xué)習(xí)新技術(shù)的事實(shí)。學(xué)習(xí)ARM最關(guān)鍵的是學(xué)習(xí)操作系統(tǒng),而不是ARM芯片本身。ARM最大的優(yōu)勢就是因?yàn)樗梢园惭b操作系統(tǒng),好像我們的電腦一樣,我們所寫的應(yīng)用程序可以在操作系統(tǒng)上運(yùn)行,而不像8051那樣單線程運(yùn)行。安裝操作系統(tǒng)最大的好處就是可以降低開發(fā)難度。有的人認(rèn)為學(xué)習(xí)ARM要用操作系統(tǒng)是很難學(xué)的東西。其實(shí)這是錯(cuò)誤的觀念,安裝操作系統(tǒng)就是為了減少開發(fā)難度,有一些如USB、液晶屏、鼠標(biāo)、鍵盤的驅(qū)動程序已經(jīng)有現(xiàn)成的了,只要在我們的應(yīng)用程序中調(diào)用就行了。ARM的開發(fā)更側(cè)重于軟件層面的開發(fā),更多的是開發(fā)上層應(yīng)用程序和少量的底層驅(qū)動程序。 ARM的硬件也是有固定的接口,有占用的LCD接口,有占用的USB接口,只要按官方的數(shù)據(jù)手冊制作就可以了。
對于想玩ARM的愛好者朋友,ARM的趣味并不大,而ARM的門檻卻很高。首先ARM芯片很貴,便宜的也要30多元,加上周邊的一系列配套的電路,一片ARM系統(tǒng)也要百元以上。而且ARM芯片封裝都是高密腳貼片封裝,沒有所謂的直插封裝。制作ARM的作品就必須制作PCB板, 而且是2層到8層的PCB板。對于一般的愛好者來說,這是不容易接受的。另外,用ARM來完全小制作的資料非常之少,ARM的相關(guān)驅(qū)動程序一般都是某些公司的內(nèi)部資料。相對來說最豐富的還是開源的LINUX和部分WIN CE的資料。一般開發(fā)ARM是需要團(tuán)隊(duì)完成的,有專門開發(fā)軟件的,有專門負(fù)責(zé)硬件的,很少有一個(gè)人完成的。更不用說我們用ARM自己開發(fā)有趣的制作了??傊?,ARM雖好,可是目前還不適合電子愛好者把玩。增強(qiáng)型8051單片機(jī)是最好的選擇,使用性能更好,功能更多的單片機(jī)可以產(chǎn)生許多創(chuàng)新設(shè)計(jì)。
以上就是我的一些評論,說的都是實(shí)話,言語中可能對某些現(xiàn)象表示了我個(gè)人的不滿,如有不周請?jiān)?。歡迎發(fā)表您的看法,如果大家喜歡我的行業(yè)評論文章,請多多支持,好讓我有信心繼續(xù)撰寫更多的一家之言。謝謝!
評論