單片機的選型是一件重要而費心的事,如果選型得當(dāng),則做出來的產(chǎn)品就會性價比較高,且工作穩(wěn)定;反之,則可能會造成產(chǎn)品成本過高或影響產(chǎn)品正常運行,甚至可能根本就達不到預(yù)先設(shè)計要求。一般來說,總的選型原則是:
?。?)“芯片含有(功能或數(shù)量)略大于設(shè)計需求”,“設(shè)計需求盡可能(用)芯片完成(少用外圍器件)”; ?。?)“選大(大廠)不選小,選多(供應(yīng)量多)不選少,選名(名牌)不選渺(飄渺,不知詳情的廠子),選廉(廉價)但要好(質(zhì)量保證)”。具體要從單片機應(yīng)用的技術(shù)性、實用性和開可發(fā)性等方面來考慮:
1、內(nèi)存
單片機FLASH的容量根據(jù)程序的大小確定,F(xiàn)LASH容量必須大于代碼量。舉例來說,如果你的代碼量大約50 KB,那么建議你選擇FLASH容量為64 KB或128 KB的單片機。
2、速度
單片機的運行速度首先看時鐘頻率,一般情況對于同一種結(jié)構(gòu)的單片機,時鐘頻率越高速度越快。如果你的設(shè)計對速度要求很高,那么要選擇一個運行速度較快的單片機。例如,一般情況下,電機控制應(yīng)用大多采用100ksps或更高的采樣速率,因此當(dāng)單片機用于電機控制時,時鐘頻率要足夠高??傊?,在選用單片機時要根據(jù)產(chǎn)品需要選擇時鐘頻率,不要片面追求高速度,時鐘頻率越高功耗也就越大。此外,單片機的穩(wěn)定性、抗干擾性等參數(shù)基本上跟單片機的運行速度成反比。因此,要盡量尋找可以在很高的時鐘頻率下運行而功耗又不高的單片機。
3、外設(shè)需求
如果你的設(shè)計需要ADC、SPI、GPIO、USB等之類的外設(shè),那么你需要尋找一款集成所有這些外設(shè)的單片機。因為,使用一個具有上述外設(shè)的單片機顯然比使用一個普通的單片機及外圍加一個單獨的ADC更為經(jīng)濟。此外,外設(shè)集成于單片機同時也意味著更低的功耗,因為沒有可以產(chǎn)生功耗的外圍電路,也沒有用于連接外圍電路的能產(chǎn)生功耗的敷銅,只有單片機本身產(chǎn)生功耗。
4、方便的開發(fā)工具
這是個非常重要的方面,因為開發(fā)工具可以極大地影響你所設(shè)計的產(chǎn)品的功耗。很多公司都已經(jīng)開發(fā)出了具有代碼優(yōu)化功能的編譯器,所以當(dāng)你編譯代碼的時候,編譯器會告知具體編譯信息,你可以根據(jù)編譯信息優(yōu)化代碼以降低功耗。舉例來說,如果你的設(shè)計需要用到ADC、UART和GPIO等外設(shè),你就需要初始化這些器件,但是設(shè)計中使用UART是有條件的(僅用于調(diào)試時顯示結(jié)果),此時編譯器會提示你禁用這個外設(shè)以降低功耗。必須得說這種智能化的開發(fā)工具對開發(fā)者來說是一種福音。
5、未來需求和兼容性
設(shè)計者在設(shè)計產(chǎn)品時需要考慮產(chǎn)品未來可能需要升級等之類的問題。例如,若需要給設(shè)計增加某些功能,那么可能需要增加內(nèi)存、外設(shè)等,還可能需要加提高單片機的運行速度。因此,在單片機的選型上需要在當(dāng)前設(shè)計需求以及未來設(shè)計上尋找平衡,以滿足不同程度的要求。
6、成本
一個好的設(shè)計不僅要功能完善,而且要滿足成本要求,如果無法控制成本,再好的設(shè)計也是枉然。因此,需要盡可能地降低單片機甚至整個產(chǎn)品的成本。
7、工作電壓(VCC)
單片機的工作電壓是指可以讓其正常工作所需要提供的電壓。工作電壓越高,單片機的功耗也就越大。因此,為了降低產(chǎn)品功耗,必須要盡可能地降低工作電壓。
除此之外,我還要建議設(shè)計者根據(jù)具體產(chǎn)品需求選擇合適芯片架構(gòu)。若僅是個簡單的控制應(yīng)用(如照明系統(tǒng)、電子玩具等),那么并不需要一個像ARM那樣具有復(fù)雜架構(gòu)的芯片。此外,對于低功耗設(shè)計,單片機必須具有睡眠模式,基于中斷操作的睡眠模式/低功耗模式的使用是降低功耗的一個標(biāo)準(zhǔn)的行業(yè)慣例。