嵌入式開發:如何進行單片機選型?

在嵌入式開發中,單片機選型可以說是非常有難度的事情,因為涉及到所做產品的工作性能、成本等要素,一般而言,單片機選型應從實用性、可開發性、價格等方面考慮。具體詳情如下:

 

內存

 

  單片機FLASH的容量根據程序的大小確定,FLASH容量必須大于代碼量。舉例來說,如果你的代碼量大約50 KB,那么建議你選擇FLASH容量為64 KB128 KB的單片機。

 

速度

 

單片機的運行速度首先看時鐘頻率,一般情況對于同一種結構的單片機,時鐘頻率越高速度越快。

 

如果你的設計對速度要求很高,那么要選擇一個運行速度較快的單片機。例如,一般情況下,電機控制應用大多采用100ksps或更高的采樣速率,因此當單片機用于電機控制時,時鐘頻率要足夠高。

 

總之,在選用單片機時要根據產品需要選擇時鐘頻率,不要片面追求高速度,時鐘頻率越高功耗也就越大。此外,單片機的穩定性、抗干擾性等參數基本上跟單片機的運行速度成反比。因此,要盡量尋找可以在很高的時鐘頻率下運行而功耗又不高的單片機。

 

外設需求

 

如果你的設計需要ADCSPIGPIOUSB等之類的外設,那么你需要尋找一款集成所有這些外設的單片機。因為,使用一個具有上述外設的單片機顯然比使用一個普通的單片機及外圍加一個單獨的ADC更為經濟。

 

此外,外設集成于單片機同時也意味著更低的功耗,因為沒有可以產生功耗的外圍電路,也沒有用于連接外圍電路的能產生功耗的敷銅,只有單片機本身產生功耗。

 

方便的開發工具

 

這是個非常重要的方面,因為開發工具可以極大地影響你所設計的產品的功耗。很多公司都已經開發出了具有代碼優化功能的編譯器,所以當你編譯代碼的時候,編譯器會告知具體編譯信息,你可以根據編譯信息優化代碼以降低功耗。

 

舉例來說,如果你的設計需要用到ADCUARTGPIO等外設,你就需要初始化這些器件,但是設計中使用UART是有條件的(僅用于調試時顯示結果),此時編譯器會提示你禁用這個外設以降低功耗。必須得說這種智能化的開發工具對開發者來說是一種福音。

 

未來需求和兼容性

 

設計者在設計產品時需要考慮產品未來可能需要升級等之類的問題。例如,若需要給設計增加某些功能,那么可能需要增加內存、外設等,還可能需要加提高單片機的運行速度。因此,在單片機的選型上需要在當前設計需求以及未來設計上尋找平衡,以滿足不同程度的要求。

 

 成本

 

一個好的設計不僅要功能完善,而且要滿足成本要求,如果無法控制成本,再好的設計也是枉然。因此,需要盡可能地降低單片機甚至整個產品的成本。

 

工作電壓(VCC)

 

單片機的工作電壓是指可以讓其正常工作所需要提供的電壓。工作電壓越高,單片機的功耗也就越大。因此,為了降低產品功耗,必須要盡可能地降低工作電壓。

 

除此之外,設計者根據具體產品需求選擇合適芯片架構。若僅是個簡單的控制應用(如照明系統、電子玩具等),那么并不需要一個像ARM那樣具有復雜架構的芯片。對于低功耗設計,單片機必須具有睡眠模式,基于中斷操作的睡眠模式/低功耗模式的使用是降低功耗的一個標準的行業慣例。

 

結語:任何時候,我們應清楚:單片機只是實現開發功能的一個工具,不必糾結芯片是不是剛上市,最新產品,我們需要下功夫的地方還是精進我們的嵌入式理論知識、積累開發經驗,選出性價比最高的單片機!

the end

評論(0)