<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 選擇微控制器的10個步驟

          選擇微控制器的10個步驟

          作者: 時間:2016-10-22 來源:網(wǎng)絡(luò) 收藏

          選擇適合某個產(chǎn)品使用的微處理器是一項艱巨的任務(wù)。不僅要考慮許多技術(shù)因素,而且要考慮可能影響到項目成敗的成本和交貨時間等商業(yè)問題。

          本文引用地址:http://www.ex-cimer.com/article/201610/309238.htm

          在項目剛啟動時,人們經(jīng)常壓抑不住馬上動手的欲望,在系統(tǒng)細節(jié)出臺之前就準備選型了。這當(dāng)然不是個好主意。

          方面做任何決策時,硬件和軟件工程師首先應(yīng)設(shè)計出系統(tǒng)的高層結(jié)構(gòu)、框圖和流程圖,只有到那時才有足夠的信息開始對選型進行合理的決策。此時遵循以下10個簡單步驟可確保做出正確的選擇。

          步驟1:制作一份要求的硬件接口清單

          利用大致的硬件框圖制作出一份微控制器需要支持的所有外部接口清單。有兩種常見的接口類型需要列出來。第一種是通信接口。

          系統(tǒng)中一般會使用到USB、I2C、SPI、UART等外設(shè)。如果應(yīng)用要求USB或某種形式的以太網(wǎng),還需要做一個專門的備注。這些接口對微控制器需要支持多大的程序空間有很大的影響。

          第二種接口是數(shù)字輸入和輸出、模擬到數(shù)字輸入、PWM等。這兩種類型接口將決定微控制器需要提供的引腳數(shù)量。圖1顯示了常見的框圖例子,并列出了對I/O的要求。

          圖1:硬件功能清單

          圖1:硬件功能清單

          步驟2:檢查軟件架構(gòu)

          軟件架構(gòu)和要求將顯著影響微控制器的選擇。處理負擔(dān)是輕是重將決定是使用80MHz的DSP還是8MHz的8051。就像硬件一樣,記錄下所有要求非常重要。

          例如,是否有算法要求浮點運算?有高頻控制環(huán)路或傳感器嗎?并估計每個任務(wù)需要運行的時間和頻度。然后推算出需要多少數(shù)量級的處理能力。運算能力的大小是確定微控制器架構(gòu)和頻率的最關(guān)鍵要求之一。

          步驟3:選擇架構(gòu)

          利用步驟1和步驟2得到的信息,一個工程師應(yīng)該能夠開始確定所需的架構(gòu)想法。8位架構(gòu)可以支撐這個應(yīng)用嗎?需要用16位的架構(gòu)嗎?或者要求32位的ARM內(nèi)核?在應(yīng)用和要求的軟件算法之間經(jīng)常推敲這些問題將最終得出一個解決方案。

          不要忘了還有未來的可能要求和功能擴展。只是因為目前8位微控制器可以勝任當(dāng)前應(yīng)用并不意味著你不應(yīng)為未來功能擴展甚至易用性考慮16位微控制器。

          記住,微控制器選型是一個反復(fù)的過程。你可能在這個步驟中選擇了一個16位的器件,但在后面的步驟中發(fā)現(xiàn)32位ARM器件會更好。這個步驟只是讓工程師有一個正確的考慮方向。

          步驟4:確定內(nèi)存需求

          閃存(flash)和RAM是任何微控制器的兩個非常關(guān)鍵的組件。確保程序空間或變量空間的充足無疑具有最高優(yōu)先級。選擇一個遠多于足夠容量的閃存和RAM通常是很容易做到的。

          不要等到設(shè)計末尾時才發(fā)現(xiàn)你需要110%的空間或者有些功能需要削減,這可不是鬧著玩的。實際上,你可以在開始時選擇一個具有較大空間的器件,后面再轉(zhuǎn)到同一芯片系統(tǒng)中空間更小些的器件。

          借助軟件架構(gòu)和應(yīng)用中包含的通信外設(shè),工程師可以估計出該應(yīng)用需要多大的閃存和RAM空間。不要忘了預(yù)留足夠空間給擴展功能和新的版本!這將解決未來可能遇到的許多頭疼問題。

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

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

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

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

          大多數(shù)芯片供應(yīng)商都有一個搜索引擎,允許輸入你的外設(shè)組合、I/O和功耗要求,搜索引擎會逐漸縮小器件范圍,最終找出匹配要求的器件清單來。工程師隨即可以在這個清單中仔細選擇出最合適的一款微控制器。

          步驟6:檢查價格和功耗約束

          到這時,選型過程應(yīng)該得出許多潛在的候選器件了。這時應(yīng)認真檢查它們的功耗要求和價格。如果器件需要從電池和移動設(shè)備供電,那么確保器件低功耗絕對是優(yōu)先考慮的因素。

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

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

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

          接下來的問題是器件有多新,是否能夠滿足你的產(chǎn)品生命周期需要。如果你的產(chǎn)品生命周期是10年,那么你需要找到一種制造商保證在10年后仍在生產(chǎn)的器件。

          步驟8:選擇開發(fā)套件

          選擇一種新的微控制器的一個重要步驟是找到一款配套的開發(fā)套件,并學(xué)習(xí)控制器的內(nèi)部工作原理。一旦工程師熱衷于某種器件,他們應(yīng)尋找有什么可用的開發(fā)套件。

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

          步驟9:調(diào)查編譯器和工具

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

          重要的是確保所有必要的工具都可用于這種器件。如果沒有得心應(yīng)手的工具,開發(fā)過程將變得異常艱苦且代價高昂。

          步驟10:開始試驗

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

          選擇高風(fēng)險的器件,設(shè)法讓它們與開發(fā)套件一起工作。隨后你可能會發(fā)現(xiàn),你認為能很好工作的器件存在一些不可預(yù)見的問題,然后被迫選擇另外一種微控制器。

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



          關(guān)鍵詞: 微控制器 MCU

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();