嵌入式開發(fā):如何進(jìn)行單片機(jī)選型?
在嵌入式開發(fā)中,單片機(jī)選型可以說是非常有難度的事情,因?yàn)樯婕暗剿霎a(chǎn)品的工作性能、成本等要素,一般而言,單片機(jī)選型應(yīng)從實(shí)用性、可開發(fā)性、價(jià)格等方面考慮。具體詳情如下:
內(nèi)存
單片機(jī)FLASH的容量根據(jù)程序的大小確定,FLASH容量必須大于代碼量。舉例來說,如果你的代碼量大約50 KB,那么建議你選擇FLASH容量為64 KB或128 KB的單片機(jī)。
速度
單片機(jī)的運(yùn)行速度首先看時(shí)鐘頻率,一般情況對(duì)于同一種結(jié)構(gòu)的單片機(jī),時(shí)鐘頻率越高速度越快。
如果你的設(shè)計(jì)對(duì)速度要求很高,那么要選擇一個(gè)運(yùn)行速度較快的單片機(jī)。例如,一般情況下,電機(jī)控制應(yīng)用大多采用100ksps或更高的采樣速率,因此當(dāng)單片機(jī)用于電機(jī)控制時(shí),時(shí)鐘頻率要足夠高。
總之,在選用單片機(jī)時(shí)要根據(jù)產(chǎn)品需要選擇時(shí)鐘頻率,不要片面追求高速度,時(shí)鐘頻率越高功耗也就越大。此外,單片機(jī)的穩(wěn)定性、抗干擾性等參數(shù)基本上跟單片機(jī)的運(yùn)行速度成反比。因此,要盡量尋找可以在很高的時(shí)鐘頻率下運(yùn)行而功耗又不高的單片機(jī)。
外設(shè)需求
如果你的設(shè)計(jì)需要ADC、SPI、GPIO、USB等之類的外設(shè),那么你需要尋找一款集成所有這些外設(shè)的單片機(jī)。因?yàn)椋褂靡粋€(gè)具有上述外設(shè)的單片機(jī)顯然比使用一個(gè)普通的單片機(jī)及外圍加一個(gè)單獨(dú)的ADC更為經(jīng)濟(jì)。
此外,外設(shè)集成于單片機(jī)同時(shí)也意味著更低的功耗,因?yàn)闆]有可以產(chǎn)生功耗的外圍電路,也沒有用于連接外圍電路的能產(chǎn)生功耗的敷銅,只有單片機(jī)本身產(chǎn)生功耗。
方便的開發(fā)工具
這是個(gè)非常重要的方面,因?yàn)殚_發(fā)工具可以極大地影響你所設(shè)計(jì)的產(chǎn)品的功耗。很多公司都已經(jīng)開發(fā)出了具有代碼優(yōu)化功能的編譯器,所以當(dāng)你編譯代碼的時(shí)候,編譯器會(huì)告知具體編譯信息,你可以根據(jù)編譯信息優(yōu)化代碼以降低功耗。
舉例來說,如果你的設(shè)計(jì)需要用到ADC、UART和GPIO等外設(shè),你就需要初始化這些器件,但是設(shè)計(jì)中使用UART是有條件的(僅用于調(diào)試時(shí)顯示結(jié)果),此時(shí)編譯器會(huì)提示你禁用這個(gè)外設(shè)以降低功耗。必須得說這種智能化的開發(fā)工具對(duì)開發(fā)者來說是一種福音。
未來需求和兼容性
設(shè)計(jì)者在設(shè)計(jì)產(chǎn)品時(shí)需要考慮產(chǎn)品未來可能需要升級(jí)等之類的問題。例如,若需要給設(shè)計(jì)增加某些功能,那么可能需要增加內(nèi)存、外設(shè)等,還可能需要加提高單片機(jī)的運(yùn)行速度。因此,在單片機(jī)的選型上需要在當(dāng)前設(shè)計(jì)需求以及未來設(shè)計(jì)上尋找平衡,以滿足不同程度的要求。
成本
一個(gè)好的設(shè)計(jì)不僅要功能完善,而且要滿足成本要求,如果無法控制成本,再好的設(shè)計(jì)也是枉然。因此,需要盡可能地降低單片機(jī)甚至整個(gè)產(chǎn)品的成本。
工作電壓(VCC)
單片機(jī)的工作電壓是指可以讓其正常工作所需要提供的電壓。工作電壓越高,單片機(jī)的功耗也就越大。因此,為了降低產(chǎn)品功耗,必須要盡可能地降低工作電壓。
除此之外,設(shè)計(jì)者根據(jù)具體產(chǎn)品需求選擇合適芯片架構(gòu)。若僅是個(gè)簡單的控制應(yīng)用(如照明系統(tǒng)、電子玩具等),那么并不需要一個(gè)像ARM那樣具有復(fù)雜架構(gòu)的芯片。對(duì)于低功耗設(shè)計(jì),單片機(jī)必須具有睡眠模式,基于中斷操作的睡眠模式/低功耗模式的使用是降低功耗的一個(gè)標(biāo)準(zhǔn)的行業(yè)慣例。
結(jié)語:任何時(shí)候,我們應(yīng)清楚:單片機(jī)只是實(shí)現(xiàn)開發(fā)功能的一個(gè)工具,不必糾結(jié)芯片是不是剛上市,最新產(chǎn)品,我們需要下功夫的地方還是精進(jìn)我們的嵌入式理論知識(shí)、積累開發(fā)經(jīng)驗(yàn),選出性價(jià)比最高的單片機(jī)!
- 贊