天天看點

選擇最佳微控制器的10個步驟

選擇最佳微控制器的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%的空間或者有些功能需要削減,這可不是鬧着玩的。實際上,你可以在開始時選擇一個具有較大空間的器件,後面再轉到同一晶片系統中空間更小些的器件。

借助軟體架構和應用中包含的通信外設,工程師可以估計出該應用需要多大的閃存和RAM空間。不要忘了預留足夠空間給擴充功能和新的版本!這将解決未來可能遇到的許多頭疼問題。

步驟5:開始尋找微控制器

既然對微控制器所需功能有了更好的想法,現在就可以開始尋找合适的微控制器了!像艾睿、安富利、富昌電子等微控制器供應商是尋找微控制器的一個很好的起點場所。

與這些供應商的現場應用工程師讨論你的應用和要求,通常他們會向你推薦一款技術領先又能滿足要求的新器件。不過要記住,他們可能有推銷某個系列微控制器的沖動!

第二個最佳場所是你已經熟悉的晶片供應商。例如,如果你過去用過Microchip的器件,并有豐富的使用經驗,那就開啟他們的網站吧。

大多數晶片供應商都有一個搜尋引擎,允許輸入你的外設組合、I/O和功耗要求,搜尋引擎會逐漸縮小器件範圍,最終找出比對要求的器件清單來。工程師随即可以在這個清單中仔細選擇出最合适的一款微控制器。

步驟6:檢查價格和功耗限制

到這時,選型過程應該得出許多潛在的候選器件了。這時應認真檢查它們的功耗要求和價格。如果器件需要從電池和移動裝置供電,那麼確定器件低功耗絕對是優先考慮的因素。

如果不能滿足功耗要求,那就按清單逐一向下排查,直到你選出一些合适的來。同時不要忘了檢查處理器的單價。雖然許多器件在大批量采購時會接近1美元,但如果它是極其專用或高端的處理機,那麼價格可能很重要。千萬不要忘了這一關鍵要素。

步驟7:檢查器件的可用性

至此你手頭就有了一份潛在器件清單,接下來需要開始檢查各個器件的可用程度如何。一些重要事項需要記住,比如器件的交貨期是多少?是否在多個分銷商那裡都有備貨,或者需要6至12周的交貨時間?你對可用性有什麼要求?你不希望拿到一份大定單卻必須幹等3個月才能拿到貨吧。

接下來的問題是器件有多新,是否能夠滿足你的産品生命周期需要。如果你的産品生命周期是10年,那麼你需要找到一種制造商保證在10年後仍在生産的器件。

步驟8:選擇開發套件

選擇一種新的微控制器的一個重要步驟是找到一款配套的開發套件,并學習控制器的内部工作原理。一旦工程師熱衷于某種器件,他們應尋找有什麼可用的開發套件。

如果找不到能用的開發套件,那麼這種器件很可能不是一個好選擇,工程師應該重新退回去尋找一款更好的器件。目前大多數開發套件不到100美元。支付比這個價格高的費用(除非這種套件能适應多種處理器子產品)實在有些冤枉。換一種器件也許是更好的選擇。

步驟9:調查編譯器和工具

開發套件的選擇基本上限制死了微控制器的選型。最後一個需要考慮的因素是檢查可用的編譯器和工具。大多數微控制器在編譯器、例程代碼和調試工具方面有許多選擇。

重要的是確定所有必要的工具都可用于這種器件。如果沒有得心應手的工具,開發過程将變得異常艱苦且代價高昂。

步驟10:開始試驗

即使標明了微控制器,事情也不是說一成不變了。通常拿到開發套件的時間遠早于第一個硬體原型建立的時間。要充分利用開發套件搭建測試電路、并将它們連接配接到微控制器。

選擇高風險的器件,設法讓它們與開發套件一起工作。随後你可能會發現,你認為能很好工作的器件存在一些不可預見的問題,然後被迫選擇另外一種微控制器。

在任何情況下,早期的試驗将確定你做出正确的選擇,如果有必要做出改變,影響将降至最小