單片機(jī)的選擇
單片機(jī)的的選型是一件重要而費(fèi)心的事情,如果單片機(jī)型號選擇得合適,單片機(jī)應(yīng)用系統(tǒng)就會得經(jīng)濟(jì),工作可靠;如果選擇得不合適,就會造成經(jīng)濟(jì)浪費(fèi),影響單片機(jī)應(yīng)用系統(tǒng)的正常運(yùn)行,甚至根本就達(dá)不到預(yù)先設(shè)計的功能。
單片機(jī)芯片選型時,總的原則是:
“選大(大廠)不選小,選多(供應(yīng)量多)不選少,選名(名牌)不選渺(飄渺,不知詳情的廠子),選廉(謙價)但要好(質(zhì)量保證)。
對單片機(jī)選型,主要應(yīng)用從單片機(jī)應(yīng)用系統(tǒng)的技術(shù)性,實(shí)用性和要開發(fā)性三方面來考慮.
(1)技術(shù)性:要從單片機(jī)的技術(shù)指標(biāo)角度,對單片機(jī)芯片進(jìn)行選擇,以保證單片機(jī)應(yīng)用系統(tǒng)在一定的技術(shù)指標(biāo)下可靠運(yùn)行;
(2)實(shí)用性:要從單片機(jī)的供貨渠道、信譽(yù)程序等角度,對單片機(jī)的生產(chǎn)廠家進(jìn)行選擇以保證單片機(jī)應(yīng)用系統(tǒng)在能長期、可靠運(yùn)行;
(3)可開發(fā)性:選用的單片機(jī)要有可靠的可以開發(fā)手段,如程序開發(fā)工具、仿真調(diào)試手段等
2.評單片機(jī)選型的討論
對于很久以來總是能看到關(guān)于單片機(jī)的各種討論,又是這個不好啦,那個不好了,那個過時啦,這個先進(jìn)啊,學(xué)什么什么沒用啦!?
這個問題的總結(jié)只有一句話:用合適的芯片做出最合適的產(chǎn)品,把功夫用在設(shè)計上用在優(yōu)秀的思路上不要拘泥與芯片怎么怎么樣吧。
寶貴的心思用在你所做的產(chǎn)品的專業(yè)知識上。不要被爭論用什么什么單片機(jī)而迷茫,每個人的思維不一樣,將來應(yīng)用的領(lǐng)域也不一樣,當(dāng)然對每種芯片的領(lǐng)悟也是不一樣的,選用自己合適的就可以,弄透它,回過頭看,他們都是一樣的,只是不同的工具而已,也不要說學(xué)51怎么樣,學(xué)PIC怎么樣,學(xué)ARM怎么樣,不管哪一種,都是實(shí)現(xiàn)你思想的工具,那個感覺順手實(shí)用就用哪個,就學(xué)哪個,把它學(xué)好用熟悉,不要今天聽那個好就用那個,明天有人說這個好就用這個,新東西總是有,每天都有新東西,都是好東西,你一下子學(xué)的過來嗎!不如找一個適合自己先學(xué)好,將來搞其他真是的很容易的!這就是我的一個過來人的經(jīng)驗(yàn),這點(diǎn)體會也許只在這個行業(yè)的百分之五十的人,那就送這百分之五十的朋友吧。
3.在實(shí)際應(yīng)用中,如何選擇單片機(jī)的類型?
選擇原則:主要從指令結(jié)構(gòu)、運(yùn)行速度、程序存儲方式和功能等幾個方面選擇單片機(jī)。MCS-51為主流產(chǎn)品。Motorola是世界上最大的單片機(jī)廠商。品種全、選擇余地大、新產(chǎn)品多。其特點(diǎn)是噪聲低,抗干擾能力強(qiáng),比較適合于工控領(lǐng)域及惡劣的環(huán)境。Microship單片機(jī)是
選擇原則:主要從指令結(jié)構(gòu)、運(yùn)行速度、程序存儲方式和功能等幾個方面選擇單片機(jī)。
MCS-51為主流產(chǎn)品。
Motorola是世界上最大的單片機(jī)廠商。品種全、選擇余地大、新產(chǎn)品多。其特點(diǎn)是噪聲低,抗干擾能力強(qiáng),比較適合于工控領(lǐng)域及惡劣的環(huán)境。
Microship單片機(jī)是市場份額增長較快的單片機(jī)。它的主要產(chǎn)品是PIC系列8位單片機(jī)。其特點(diǎn)是運(yùn)行速度快,低價位,適用于量大、檔次低、價格敏感的產(chǎn)品。
美國德州儀器(TI)公司生產(chǎn)的MSP430系列單片機(jī)是一種特低功耗的Flash微控制器。主要用于三表及超低功耗場合。
在嵌入式系統(tǒng)低端的單片機(jī)領(lǐng)域,Intel公司的MCS-51形成了既具有經(jīng)典性又不乏生命力的一個單片機(jī)系列。許多半導(dǎo)體廠家、電器公司以MCS-51系列中的8051為基核,推出了許多兼容性的CHMOS單片機(jī)----80C51系列。
此外,還有Zilog、EM78、Senix、NEC、Epson、NS、三星、富士通、華邦、Philips、ARM等單片機(jī)。
看到了幾個帖子,討論何種單片機(jī)最好.我感覺選擇一個合適的單片機(jī)有時真的不太容易,要考慮的方面太多了.只能說某個特定場合比較適于采用某個MCU.不大可能某個牌子的MCU適合所有的設(shè)計,真要有的話那可就太好了:
1.單片機(jī)的基本參數(shù)例如速度,程序存儲器容量, I/O引腳數(shù)量
2.單片機(jī)的增強(qiáng)功能,
例如看門狗,雙指針,雙串口, RTC (實(shí)時時鐘), EEPROM ,擴(kuò)展RAM , CAN接口, I2C接口, SPI接口, USB接口.
3. Flash和OTP (一次性可編程)相比較,最好是Flash .
4.封裝.
DIP (雙列直插), PLCC ( PLCC有對應(yīng)插座)還是貼片. DIP封裝在做實(shí)驗(yàn)時可能方便一點(diǎn).
5.工作溫度范圍,工業(yè)級還是商業(yè)機(jī).
如果設(shè)計戶外產(chǎn)品,必須選用工業(yè)級.
6.功耗,
比如設(shè)計并口加*密狗,信號線取電只能提供幾個mA,用PIC就是因?yàn)榈凸?后來出了MSP430也不錯.
7.工作電壓范圍.
例如設(shè)計電視機(jī)遙控器, 2節(jié)干電池供電,至少應(yīng)該能在1.8-3.6V電壓范圍內(nèi)工作.
8.供貨渠道暢通.
能申請樣片,小批量購買有現(xiàn)貨.最好像標(biāo)準(zhǔn)51 ,中發(fā)里隨便找個柜臺就能買到(我在北京)
9.價格低.
10.有服務(wù)商,像周立功公司推Philips ,雙龍公司推AVR ,都提供了很多有用的技術(shù)支持,起碼燒寫器有地方買.
11.燒錄器價格低,如果是ICP (把單片機(jī)放在燒錄器上編程)能否利用現(xiàn)有的燒錄器,如果是表貼封裝,買一個轉(zhuǎn)接座也很貴,至少得一二百元.能否ISP (在系統(tǒng)編程,即把芯片先焊到板子上再通過預(yù)留的ISP接口編程),一般ISP編程器比較便宜大約一二百元甚至幾十元.
12.仿真器便宜.
對于FLASH型單片機(jī),仿真器不是必備的.但是對于OTP (一次性可編程)型單片機(jī),必須購買或者租用仿真器.
13.單片機(jī)匯編語言是自己熟悉的,并且能支持C語言.編程環(huán)境要像keil一樣好用,并且還是免費(fèi)的.
14.網(wǎng)站速度快,資料豐富.包括芯片手冊,應(yīng)用指南,設(shè)計方案,范例程序.最好有中文,像Atmel就不錯.
15.保密性能好,查一下專業(yè)解.密.網(wǎng)站上的黑名單,再發(fā)個mail咨詢一下解.密價格.
16.抗干擾性能好.我曾經(jīng)把XXC52改為S52后發(fā)現(xiàn)抗干擾性能下降,只好改回去.
17.和其他外設(shè)芯片放在一起的綜合考慮.
電路原理,模電,數(shù)電,通信原理,單片機(jī),Protell99 ,高頻率電子線路,信號系統(tǒng),數(shù)字信號處理,FPGA,DSP等等
我覺得:電路原理,模電,數(shù)電,單片機(jī),是自少要學(xué)好的.
信號系統(tǒng)看你是準(zhǔn)備往什么方向走了通信方向的話,就要求高很多了.單單玩單片機(jī)的話,要求沒那么高~的但是基本的幾個變換總要知道的吧~工業(yè)上PID控制器這些都是需要你自己設(shè)計計算的了~~當(dāng)然你用MATLAB也可以~
其次就是通信原理我覺得現(xiàn)代的單片機(jī)技術(shù)再也不應(yīng)該是單個單片機(jī)獨(dú)自工作的時代了~應(yīng)該是成批的單片機(jī)還有與PC聯(lián)合工作~所以編碼差錯控制都是一個不可避免的問題~
ARM其實(shí)就是單片機(jī),只是資源豐富些~~工作頻率300MHz以上~
初學(xué)者的話當(dāng)然是選擇51單片機(jī)做為入門比較好~~我們應(yīng)該更加注重編程思維的培養(yǎng)~~加強(qiáng)對有限資源合理利用~
這種思維在任何設(shè)備上都是可行的~所以建議先從簡單的開始~~
首先,我們先來談?wù)勎覀儗?051、AVR、ARM或其它單片機(jī)的現(xiàn)有印象是怎么來的。主要的來源其實(shí)有兩種,來自于網(wǎng)絡(luò)上關(guān)于芯片的介紹,來自書架上芯片的教學(xué)書籍。主要都是一些官話、套話,什么具有精簡指令集、增加了多個定時器、更快的速度、價格更低,更適合工業(yè)設(shè)備開發(fā)之類。大家可以看出,這些介紹的用語都是比較詞,也就是說性能的優(yōu)秀是與另一個不優(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來入門,同時也自然而然的意識到學(xué)完最簡單的8051之后還要學(xué)習(xí)更“高級”的AVR、ARM、PIC、MSP430之類的單片機(jī)。認(rèn)為只有學(xué)會了這些才是一個提升的過程,會用AVR和ARM,就成為了單片機(jī)高手了。
這種觀念的形成主要是沒有得到正確的引導(dǎo),因?yàn)榇蟛糠秩腴T教程都是沒有作者主見的純技術(shù)知識的堆積,讀者從書中得不到學(xué)習(xí)方式、方法的引導(dǎo),所以會產(chǎn)生一大堆錯誤的觀念。當(dāng)錯誤的觀念形成的多了,久而久之在更多的人群中,錯誤的觀念慢慢好像變得“正確”了。而且愛好者的圈子里一般都是僅討論純技術(shù),而不去交流行業(yè)和相關(guān)的非技術(shù)內(nèi)容,使的更多的人不斷進(jìn)入觀念錯誤的循環(huán)。而且很難把他們轉(zhuǎn)變過來。就好像來過我網(wǎng)站的人都說我的制作有創(chuàng)意,其實(shí)不是我的能力強(qiáng),而是大家都是在研究技術(shù)上的實(shí)現(xiàn),而不是考慮如何創(chuàng)新,就算想創(chuàng)新了,也沒有花上足夠的時間去構(gòu)想、實(shí)驗(yàn)。這與圖書的作者只想著把知識點(diǎn)放到書里,卻沒有研究怎么有主見的引導(dǎo)讀者的正確觀念的道理是一樣的。
以上就是我所分析的原因,如果您認(rèn)同我的說法則請繼續(xù)閱讀下面我所講的所謂的正確觀念。如果您不認(rèn)同我以上所說,那就請停止閱讀,不要浪費(fèi)您的時間。
在說正確的觀念之前,我們來看一看單片機(jī)真正的用途是什么。雖然電子愛好者可以用它來制作各種好玩的電子制作,但再怎么制作每個人也用不上100片單片機(jī),僅靠電子制作是無法支撐單片機(jī)市場的。那么最大的需求者是誰呢?說白了,他們就是成批量生產(chǎn)電子產(chǎn)品的廠家。例如他們有用單片機(jī)來制作每個公司門口都會用到的門禁系統(tǒng)、考勤機(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è)計公司的老板和工程師們。如果你是設(shè)計公司的老板兼工程師,你會需要怎么樣的單片機(jī)?首先要能滿足我制作門禁系統(tǒng)、考勤機(jī)的功能需要,然后是價格便宜,性能穩(wěn)定,容易開發(fā),采購方便,有同類替代產(chǎn)品。大家注意,在以上的需求中沒有要求功能強(qiáng)大,因?yàn)檫@并不重要。如果我只需要4個I/O接口,而單片機(jī)卻有著40個I/O接口,這對產(chǎn)品的價值提升并沒有什么意義,而且通常功能越多,價格也越高。如果一款單片機(jī)非常便宜,卻只有2個I/O接口也是不行的,因?yàn)樗俦阋艘膊荒軡M足我們需要4個I/O接口的目的。所以單片機(jī)的選擇是適用就好,而不是走價格和性能的極端。
那么8051、AVR、ARM、PIC等單片機(jī)就是在這種市場環(huán)境中出現(xiàn)的,換句話說,這些單片機(jī)就是為了滿足這種市場需求而被生產(chǎn)出來的。從這個角度上看,8051、AVR、ARM就沒有什么高、低、貴、賤之分了,大家都是為了滿足這個不同電子產(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í)的時間、開發(fā)風(fēng)險和項(xiàng)目開發(fā)中的各種困難與壓力。所以他們并不認(rèn)為學(xué)習(xí)某款單片機(jī)的困難是單片機(jī)生產(chǎn)廠商做的工作不足,而是把原因歸到自己身上,認(rèn)為自己不如別人聰明,非要把這款單片機(jī)學(xué)會才能證明自己的智商。
我所說的,正是許多人要學(xué)習(xí)AVR的迷局。除了出于天真的想法去學(xué)習(xí)難學(xué)的單片機(jī),還有一個原因是沒有真正了解這些單片機(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ā)布的時候其最大的亮點(diǎn)就是它是1T單片機(jī),帶給開發(fā)者有實(shí)際意義的信息就是速度快(和8051相比),還有就是低功率,內(nèi)部集成了更多的功能。在發(fā)布之初,我也非??春肁VR單片機(jī),也買了幾片回來玩玩。可是AVR雖然性能上有了不少優(yōu)勢,可是把玩的時候卻發(fā)現(xiàn)了相關(guān)配套服務(wù)的不足,比如AVR的引腳甚至封裝和8051的不兼容,開發(fā)軟件也和8051不同,下載線要重新制作,單片機(jī)內(nèi)部結(jié)構(gòu)和編程方法都要重新學(xué)習(xí)。對于之前沒有學(xué)過8051單片機(jī)的人來說,這些都是新鮮的,沒有阻礙的。可是對于8051單片機(jī)的老手來講,學(xué)習(xí)AVR就需要重新學(xué)習(xí)和使用一套完全不同的平臺,而學(xué)習(xí)新的平臺需要花上不少的時間。這一事實(shí)阻止了一部分人轉(zhuǎn)向使用AVR。如果AVR可以在設(shè)計之初考慮到與8051相關(guān)配套軟硬件兼容的問題,那么AVR將會占有更多的市場份額。必竟8051單片機(jī)是最早的單片機(jī),已經(jīng)有非常多的忠實(shí)用戶了。
AVR的獨(dú)斷專行,讓其它單片機(jī)廠商看到了機(jī)會。推出一款功能與AVR相當(dāng)甚至更強(qiáng)大,同時又兼容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ú)立時鐘、內(nèi)部R/C振蕩器、增加了P4接口。從性能上超過了AVR的產(chǎn)品,價格也便宜,同時又和傳統(tǒng)的8051的軟硬件兼容。STC12C完全超過了AVR的性能,工程師們又不需要學(xué)習(xí)新的開發(fā)平臺,只要在原來的8051平臺上就直接可以開發(fā)STC的1T單片機(jī)了。在這種情況之后AVR的落后是必然的結(jié)果,雖然ATMEL公司還在大力推出新款A(yù)VR單片機(jī),可以市場占有率越來越少,以至于在一般的電子市場上都買不到了。但是在網(wǎng)絡(luò)上還有一些原來在AVR最興盛時的粉絲團(tuá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可以做一個8051根本做不到的事情,所以學(xué)習(xí)ARM是值得的學(xué)習(xí)投入。只是在學(xué)習(xí)之前需要先想好,學(xué)習(xí)ARM的目的。是為了找一份好工作,還是為了制作更好玩的電子制作。
現(xiàn)在基礎(chǔ)ARM平臺開發(fā)的公司有許多,學(xué)習(xí)ARM可以找到不錯的工作。但是學(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í)這是錯誤的觀念,安裝操作系統(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ù)手冊制作就可以了。
評論