選擇最佳微控制器的10個(gè)步驟
在項(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è)專門的備注。這些接口對(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)中空間更小些的器件。
評(píng)論