選擇適合某個(gè)產(chǎn)品使用的微處理器是一項(xiàng)艱巨的任務(wù)。不僅要考慮許多技術(shù)因素,而且要考慮可能影響到項(xiàng)目成敗的成本和交貨時(shí)間等商業(yè)問(wèn)題。
在項(xiàng)目剛啟動(dòng)時(shí),人們經(jīng)常壓抑不住馬上動(dòng)手的欲望,在系統(tǒng)細(xì)節(jié)出臺(tái)之前就準(zhǔn)備微控制器選型了。這當(dāng)然不是個(gè)好主意。
在微控制器方面做任何決策時(shí),硬件和軟件工程師首先應(yīng)設(shè)計(jì)出系統(tǒng)的高層結(jié)構(gòu)、框圖和流程圖,只有到那時(shí)才有足夠的信息開(kāi)始對(duì)微控制器選型進(jìn)行合理的決策。此時(shí)遵循以下10個(gè)簡(jiǎn)單步驟可確保做出正確的選擇。
步驟1:制作一份要求的硬件接口清單
利用大致的硬件框圖制作出一份微控制器需要支持的所有外部接口清單。有兩種常見(jiàn)的接口類型需要列出來(lái)。第一種是通信接口。
系統(tǒng)中一般會(huì)使用到USB、I2C、SPI、UART等外設(shè)。如果應(yīng)用要求USB或某種形式的以太網(wǎng),還需要做一個(gè)專門(mén)的備注。這些接口對(duì)微控制器需要支持多大的程序空間有很大的影響。
第二種接口是數(shù)字輸入和輸出、模擬到數(shù)字輸入、PWM等。這兩種類型接口將決定微控制器需要提供的引腳數(shù)量。圖1顯示了常見(jiàn)的框圖例子,并列出了對(duì)I/O的要求。
步驟2:檢查軟件架構(gòu)
軟件架構(gòu)和要求將顯著影響微控制器的選擇。處理負(fù)擔(dān)是輕是重將決定是使用80MHz的DSP還是8MHz的8051。就像硬件一樣,記錄下所有要求非常重要。
例如,是否有算法要求浮點(diǎn)運(yùn)算?有高頻控制環(huán)路或傳感器嗎?并估計(jì)每個(gè)任務(wù)需要運(yùn)行的時(shí)間和頻度。然后推算出需要多少數(shù)量級(jí)的處理能力。運(yùn)算能力的大小是確定微控制器架構(gòu)和頻率的最關(guān)鍵要求之一。
步驟3:選擇架構(gòu)
利用步驟1和步驟2得到的信息,一個(gè)工程師應(yīng)該能夠開(kāi)始確定所需的架構(gòu)想法。8位架構(gòu)可以支撐這個(gè)應(yīng)用嗎?需要用16位的架構(gòu)嗎?或者要求32位的ARM內(nèi)核?在應(yīng)用和要求的軟件算法之間經(jīng)常推敲這些問(wèn)題將最終得出一個(gè)解決方案。
不要忘了還有未來(lái)的可能要求和功能擴(kuò)展。只是因?yàn)槟壳?位微控制器可以勝任當(dāng)前應(yīng)用并不意味著你不應(yīng)為未來(lái)功能擴(kuò)展甚至易用性考慮16位微控制器。
記住,微控制器選型是一個(gè)反復(fù)的過(guò)程。你可能在這個(gè)步驟中選擇了一個(gè)16位的器件,但在后面的步驟中發(fā)現(xiàn)32位ARM器件會(huì)更好。這個(gè)步驟只是讓工程師有一個(gè)正確的考慮方向。
步驟4:確定內(nèi)存需求
閃存(flash)和RAM是任何微控制器的兩個(gè)非常關(guān)鍵的組件。確保程序空間或變量空間的充足無(wú)疑具有最高優(yōu)先級(jí)。選擇一個(gè)遠(yuǎn)多于足夠容量的閃存和RAM通常是很容易做到的。
不要等到設(shè)計(jì)末尾時(shí)才發(fā)現(xiàn)你需要110%的空間或者有些功能需要削減,這可不是鬧著玩的。實(shí)際上,你可以在開(kāi)始時(shí)選擇一個(gè)具有較大空間的器件,后面再轉(zhuǎn)到同一芯片系統(tǒng)中空間更小些的器件。
借助軟件架構(gòu)和應(yīng)用中包含的通信外設(shè),工程師可以估計(jì)出該應(yīng)用需要多大的閃存和RAM空間。不要忘了預(yù)留足夠空間給擴(kuò)展功能和新的版本!這將解決未來(lái)可能遇到的許多頭疼問(wèn)題。
步驟5:開(kāi)始尋找微控制器
既然對(duì)微控制器所需功能有了更好的想法,現(xiàn)在就可以開(kāi)始尋找合適的微控制器了!像艾睿、安富利、富昌電子等微控制器供應(yīng)商是尋找微控制器的一個(gè)很好的起點(diǎn)場(chǎng)所。
與這些供應(yīng)商的現(xiàn)場(chǎng)應(yīng)用工程師討論你的應(yīng)用和要求,通常他們會(huì)向你推薦一款技術(shù)領(lǐng)先又能滿足要求的新器件。不過(guò)要記住,他們可能有推銷某個(gè)系列微控制器的沖動(dòng)!
第二個(gè)最佳場(chǎng)所是你已經(jīng)熟悉的芯片供應(yīng)商。例如,如果你過(guò)去用過(guò)Microchip的器件,并有豐富的使用經(jīng)驗(yàn),那就開(kāi)啟他們的網(wǎng)站吧。
大多數(shù)芯片供應(yīng)商都有一個(gè)搜索引擎,允許輸入你的外設(shè)組合、I/O和功耗要求,搜索引擎會(huì)逐漸縮小器件范圍,最終找出匹配要求的器件清單來(lái)。工程師隨即可以在這個(gè)清單中仔細(xì)選擇出最合適的一款微控制器。
步驟6:檢查價(jià)格和功耗約束
到這時(shí),選型過(guò)程應(yīng)該得出許多潛在的候選器件了。這時(shí)應(yīng)認(rèn)真檢查它們的功耗要求和價(jià)格。如果器件需要從電池和移動(dòng)設(shè)備供電,那么確保器件低功耗絕對(duì)是優(yōu)先考慮的因素。
如果不能滿足功耗要求,那就按清單逐一向下排查,直到你選出一些合適的來(lái)。同時(shí)不要忘了檢查處理器的單價(jià)。雖然許多器件在大批量采購(gòu)時(shí)會(huì)接近1美元,但如果它是極其專用或高端的處理機(jī),那么價(jià)格可能很重要。千萬(wàn)不要忘了這一關(guān)鍵要素。
步驟7:檢查器件的可用性
至此你手頭就有了一份潛在器件清單,接下來(lái)需要開(kāi)始檢查各個(gè)器件的可用程度如何。一些重要事項(xiàng)需要記住,比如器件的交貨期是多少?是否在多個(gè)分銷商那里都有備貨,或者需要6至12周的交貨時(shí)間?你對(duì)可用性有什么要求?你不希望拿到一份大定單卻必須干等3個(gè)月才能拿到貨吧。
接下來(lái)的問(wèn)題是器件有多新,是否能夠滿足你的產(chǎn)品生命周期需要。如果你的產(chǎn)品生命周期是10年,那么你需要找到一種制造商保證在10年后仍在生產(chǎn)的器件。
步驟8:選擇開(kāi)發(fā)套件
選擇一種新的微控制器的一個(gè)重要步驟是找到一款配套的開(kāi)發(fā)套件,并學(xué)習(xí)控制器的內(nèi)部工作原理。一旦工程師熱衷于某種器件,他們應(yīng)尋找有什么可用的開(kāi)發(fā)套件。
如果找不到能用的開(kāi)發(fā)套件,那么這種器件很可能不是一個(gè)好選擇,工程師應(yīng)該重新退回去尋找一款更好的器件。目前大多數(shù)開(kāi)發(fā)套件不到100美元。支付比這個(gè)價(jià)格高的費(fèi)用(除非這種套件能適應(yīng)多種處理器模塊)實(shí)在有些冤枉。換一種器件也許是更好的選擇。
步驟9:調(diào)查編譯器和工具
開(kāi)發(fā)套件的選擇基本上限制死了微控制器的選型。最后一個(gè)需要考慮的因素是檢查可用的編譯器和工具。大多數(shù)微控制器在編譯器、例程代碼和調(diào)試工具方面有許多選擇。
重要的是確保所有必要的工具都可用于這種器件。如果沒(méi)有得心應(yīng)手的工具,開(kāi)發(fā)過(guò)程將變得異常艱苦且代價(jià)高昂。
步驟10:開(kāi)始試驗(yàn)
即使選定了微控制器,事情也不是說(shuō)一成不變了。通常拿到開(kāi)發(fā)套件的時(shí)間遠(yuǎn)早于第一個(gè)硬件原型建立的時(shí)間。要充分利用開(kāi)發(fā)套件搭建測(cè)試電路、并將它們連接到微控制器。
選擇高風(fēng)險(xiǎn)的器件,設(shè)法讓它們與開(kāi)發(fā)套件一起工作。隨后你可能會(huì)發(fā)現(xiàn),你認(rèn)為能很好工作的器件存在一些不可預(yù)見(jiàn)的問(wèn)題,然后被迫選擇另外一種微控制器。
在任何情況下,早期的試驗(yàn)將確保你做出正確的選擇,如果有必要做出改變,影響將降至最小!
-
微控制器
+關(guān)注
關(guān)注
48文章
7489瀏覽量
151048 -
芯片
+關(guān)注
關(guān)注
453文章
50406瀏覽量
421822 -
編譯器
+關(guān)注
關(guān)注
1文章
1618瀏覽量
49051
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論