選擇最佳微控制器的10個步驟
在項目剛啟動時,人們經常壓抑不住馬上動手的欲望,在系統細節出臺之前就準備微控制器選型了。這當然不是個好主意。
在微控制器方面做任何決策時,硬件和軟件工程師首先應設計出系統的高層結構、框圖和流程圖,只有到那時才有足夠的信息開始對微控制器選型進行合理的決策。此時遵循以下10個簡單步驟可確保做出正確的選擇。
步驟1:制作一份要求的硬件接口清單
利用大致的硬件框圖制作出一份微控制器需要支持的所有外部接口清單。有兩種常見的接口類型需要列出來。第一種是通信接口。
系統中一般會使用到USB、I2C、SPI、UART等外設。如果應用要求USB或某種形式的以太網,還需要做一個專門的備注。這些接口對微控制器需要支持多大的程序空間有很大的影響。
第二種接口是數字輸入和輸出、模擬到數字輸入、PWM等。這兩種類型接口將決定微控制器需要提供的引腳數量。圖1顯示了常見的框圖例子,并列出了對I/O的要求。
步驟2:檢查軟件架構
軟件架構和要求將顯著影響微控制器的選擇。處理負擔是輕是重將決定是使用80MHz的DSP還是8MHz的8051。就像硬件一樣,記錄下所有要求非常重要。
例如,是否有算法要求浮點運算?有高頻控制環路或傳感器嗎?并估計每個任務需要運行的時間和頻度。然后推算出需要多少數量級的處理能力。運算能力的大小是確定微控制器架構和頻率的最關鍵要求之一。
步驟3:選擇架構
利用步驟1和步驟2得到的信息,一個工程師應該能夠開始確定所需的架構想法。8位架構可以支撐這個應用嗎?需要用16位的架構嗎?或者要求32位的ARM內核?在應用和要求的軟件算法之間經常推敲這些問題將最終得出一個解決方案。
不要忘了還有未來的可能要求和功能擴展。只是因為目前8位微控制器可以勝任當前應用并不意味著你不應為未來功能擴展甚至易用性考慮16位微控制器。
記住,微控制器選型是一個反復的過程。你可能在這個步驟中選擇了一個16位的器件,但在后面的步驟中發現32位ARM器件會更好。這個步驟只是讓工程師有一個正確的考慮方向。
步驟4:確定內存需求
閃存(flash)和RAM是任何微控制器的兩個非常關鍵的組件。確保程序空間或變量空間的充足無疑具有最高優先級。選擇一個遠多于足夠容量的閃存和RAM通常是很容易做到的。
不要等到設計末尾時才發現你需要110%的空間或者有些功能需要削減,這可不是鬧著玩的。實際上,你可以在開始時選擇一個具有較大空間的器件,后面再轉到同一芯片系統中空間更小些的器件。
評論