91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

選擇不再困惑:8位還是32位MCU使用案例對比分析

h1654155971.7688 ? 2017-11-28 14:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

該如何對8位以及32位的MCU進行選擇?8位和32位MCU在功能上仍是互為輔助、各有千秋,這其中的訣竅就在于,需先了解什么樣的應用適合什么樣的MCU架構。

本文對比了8位MCU和32位MCU的使用案例,也可作為如何選擇這兩種MCU架構的指南使用。本文中大部分32位MCU的范例將關注ARM Cortex-M,Cortex-M在不同MCU供應商產品組合中表現得非常相似。鑒于8位MCU有很多種架構,所以很難對8位供應商產品進行類似的比較。為了便于進行比較,我們將使用廣泛應用、易于理解的8051 架構,該架構深受嵌入式開發人員的青睞。

8位和32位MCU該如何選擇?

有時,當我對比人們所熟知的事物(例如ARM和8051)時,感覺就像在物聯網論壇上發出「《星際爭霸戰》比《星際大戰》好看」的帖子一樣,很快就能火起來。

事實上,ARM Cortex和8051哪個更好并不是個邏輯問題,就像是在問:吉他和鋼琴哪個更好?真正要解決的問題應是哪種MCU能幫我更好地解決當下面臨的問題。不同的任務需要使用不同的工具,我們的目的是要了解「如何才能更好地運用我們所擁有的工具」,包括8位和32位MCU。幾乎可以肯定地說,那些簡單回答「ARM更好」或「8051更好」的人各有其目的,他們也許正在試圖銷售某種產品。

對不同的設備進行比較,需要對其進行測量。有很多構建工具可供選擇,我們盡量選擇一些場景,我認為其能夠進行最公平的比較,且最能代表開發人員的真實體驗。

并非所有的MCU都是一樣的

在開始對架構進行比較之前,要注意到并非所有生產的MCU都是一樣的,這一點非常重要。如果將基于ARM CortexM0+處理器的現代MCU與30年前的8051 MCU進行對比,8051 MCU在性能對比上不會勝出。幸運的是,依然有許多供應商一直在對8位處理器持續投資。在許多應用中,8位內核能依然能夠彌補M0+或M3內核不利的地方,甚至在一些方面性能更佳。

開發工具也很重要。現代嵌入式固件開發需要全功能IDE、現成的固件庫、豐富的范例、完整的評估和入門套件以及助手應用以簡化硬體設定、庫管理和量產程式設計之類的工作。當MCU有了現代化的8位內核和開發環境后,在很多情況下,這樣的MCU將超越基于ARM Cortex的類似MCU。

系統規模

一般性原則是,ARM CortexM內核更適用于較大的系統規模,而8051設備適用于較小的系統規模。中等規模的系統可以選擇兩種方式,這取決于系統要執行的任務。有必要注意一點,在大多數情況下,外設組合將會發揮重要的作用。如果需要3個UART、1個LCD控制器、4個時鐘和2個ADC,你可能并不會在8位MCU上找到所有這些外設。

易用性vs.成本和尺寸

對于中等規模的系統來說,使用任何一種架構都可以完成工作,需要權衡的是選擇ARM內核帶來的易用性,還是8051設備帶來的成本和物理尺寸優勢。ARM Cortex-M架構具有統一的存儲映射模式,并且在所有常見編譯器中支持完整的C99,這使得這種架構非常易于寫固件。此外,還可得到一系列庫和協力廠商代碼。當然,這種易用性的代價就是成本。對于高復雜性、上市時間較短的應用或缺乏經驗的固件開發人員來說,易用性是個重要因素。

盡管8位與32位組件相比有些成本上的優勢,但真正的區別就在于成本級別。大家經常會發現具有2 KB/512 B(Flash/RAM)的小容量8位器件,而卻很少見低于8 KB/2 KB的32位器件。在不需要很多資源的系統中,該范圍的存儲容量能夠讓系統開發人員獲得顯著降低成本的解決方案。因此,對成本極為敏感或僅需較小存儲容量的應用會更傾向于選擇8051解決方案。

通常,8位器件也具有物理尺寸上的優勢。例如,某些MCU的32位QFN封裝為4 mm×4 mm,而基于8051的8位器件的QFN封裝可小至2 mm×2 mm。芯片級封裝(CSP)的8位和32位架構之間的差異較小,但卻使成本增加,且組裝較難。對于空間嚴格受限的應用來說,通常需要選擇8051 MCU來滿足限制要求。

通用代碼和RAM效率

8051 MCU成本較低的主要原因之一是,它通常比ARM Cortex-M內核更高效地使用Flash和RAM,這允許系統采用更少資源實現。系統越大,這種影響就越小。

但這種8位存儲資源的優勢并不總是如此,在某些情況下,ARM內核會像8051內核一樣高效或比其更高效。例如:32位運算僅需要一條ARM設備指令,而在8051 MCU上則需要多條8位指令。顯然,這種代碼在ARM架構上有更高的執行效率。

ARM架構在Flash/RAM尺寸較小時的兩個主要缺點是:代碼空間效率和RAM使用的可預測性。首要也是最明顯的問題是通用代碼空間效率。8051內核使用1位組、2位組或3位組指令,而ARM內核使用2位組或4位組指令。通常情況下,8051指令更小,但這一優勢因實際上花費許多時間而受到削弱,ARM內核比8051在一條指令下能做更多工作,32位運算就是這樣一個范例。實踐起來,指令寬度是能在8051上產生適度的更密集代碼。

代碼空間效率

在含有分散式訪問變數的系統中,ARM架構的載入/存儲架構通常比指令寬度更為重要。試想訊號量的實現,一個變數需要在代碼周圍的多個不同位置進行減量(分配)或者增量(釋放)。ARM內核必須將變數載入到寄存器,對其進行操作并重新存儲,這需要3條指令。另一方面,8051內核可以直接在記憶體位置上進行操作,且僅需1條指令。隨著每次對變數完成工作量的增大,由于載入/存儲而產生的消耗就變得微不足道。但對于每次僅完成一點工作的情況來說,載入/存儲能產生重要影響,讓8051獲得明顯的效率優勢。

盡管訊號量在嵌入式軟體中并非常見,但簡單的計數器和標志訊號量卻廣泛應用于控制導向的應用中并起著相同的作用。許多常見的MCU代碼都屬于這一類型。

另一個原因是,ARM處理器比8051內核擁有更多的自由使用棧空間。通常情況下,8051設備針對每次函式呼叫僅在棧上存儲返回位址(2位組),通常通過分配給棧的靜態變數處理大量的任務。

在某些情況下,這會產生問題,因為這會造成函數預設不可重入。然而,這也意味著必須保留的棧空間很小,且完全可預測,這在RAM容量有限的MCU中至關重要。

圖一: 不同的任務需要使用不同的工具,我們的目的是要了解「如何才能更好地運用我們所擁有的工具」,包括8位和32位MCU。

架構細節

現在,我們來說基本情景。假設有基于ARM和基于8051的MCU各一個,配有所需的外設,那么對于較大的系統或需要重點考慮易用性的應用來說,ARM設備是更好的選擇。如果首要考慮的是低成本/小尺寸,那么8051設備將是更好的選擇。下面我們對于每種架構更擅長的應用進行更詳細的分析,同時也劃分出一般原則。

(1) 延時

兩種架構的中斷和函式呼叫延時存在很大差異,8051比ARM Cortex-M內核更快。此外,高級外設匯流排(APB)配備的外設也會影響延時,這是因為資料必須通過APB和AMBA高性能匯流排(AHB)傳輸。最后,當使用高頻內核時鐘時,許多基于Cortex-M的MCU需要分配APB時鐘,這也增加了外設延時。

我做了1個簡單的實驗,實驗中的中斷是通過I/O引腳觸發的。該中斷對引腳發出一些信號,并根據引發中斷的引腳更新標志。然后我測量了一些參數顯示了32位的實現。

簡單說明這個實驗結果,8051內核在中斷服務程式(ISR)進入和退出時顯示出優勢。但是,隨著中斷服務程式(ISR)越來越大和執行時間的增加,這些延遲將變得微不足道。和已有原則一致,系統越大,8051的優勢越小。此外,如果中斷服務程式(ISR)涉及到大量資料移轉或大于8位的整數資料運算,中斷服務程式(ISR)執行時間的優勢將轉向ARM內核。例如,一個采用新樣本更新16位或32位移動平均的ADC ISR可能在ARM設備上執行得更快。

(2) 控制vs處理

8051內核的基本功能是控制代碼,其中對于變數的訪問是分散的,并且使用了許多控制邏輯(if、case等)。8051內核在處理8位資料時也是非常有效的,而ARM Cortex-M內核擅長資料處理和32位運算。此外,32位資料通道使得ARM MCU復制大包的資料更加有效,因為它每次可以移動4個位組,而8051每次僅能夠移動1個位組。因此,那些主要把資料從一個地方移動到另一個地方(例如UART到CRC或者到USB)的流資料處理的應用更適合選擇基于ARM處理器的系統。

這并不意味著有大量資料移動或32位運算的應用不應該選擇8051內核完成。在許多情況下,其他方面的考慮將超過ARM內核的效率優勢,或者說這種優勢是不相關的。考慮使用UART到SPI橋接器,該應用花費大部分時間在外設之間復制資料,而ARM內核會更高效地完成該任務。

然而,這也是一個非常小的應用,可能小到足以放入一個僅有2 KB存儲容量的器件就足夠合適。盡管8051內核效率較低,但它仍然有足夠的處理能力去處理該應用中的高資料速率。對于ARM設備來說,可用的額外周期可能處于空閑回圈或「WFI」(等待中斷),等待下一個可用的資料片到來。在這種情況下,8051內核仍然最有意義,因為額外的CPU周期是微不足道的,而較小的Flash封裝會節約成本。如果我們要利用額外的周期去做些有意義的工作,那么額外的效率將是至關重要的,且效率越高可能越有利于ARM內核。這個例子說明,清楚被開發系統所關注的環境中的各種架構優勢是何等重要。做出這個最佳的決定是簡單但卻重要的一步。

(3) 指針

8051設備沒有像ARM設備那樣的統一的存儲映射,而是對存取碼(Flash)、IDATA(內部RAM)和XDATA(外部RAM)有不同的指令。為了生成高效的代碼,8051代碼的指標會說明它指向什么空間。然而,在某些情況下,使用通用指標可以指向任何空間,但是這種類型的指標是低效的訪問。例如,將指標指向緩沖區并將該緩沖區資料輸出到UART的函數。如果指標是XDATA指標,那么XDATA陣列能被發送到UART,但在代碼空間中的陣列首先需要被復制到XDATA。通用指標能同時指向代碼和XDATA空間,但速度較慢,并且需要更多的代碼來訪問。

專用區域指標在大多情況下能發揮作用,但是通用指標在編寫使用情況未知的可重用代碼時非常靈活。如果這種情況在應用中很常見,那么8051就失去了其效率優勢。

(4) 通過選擇完成工作

我已經注意到多次,運算傾向于選擇ARM,而控制傾向于選擇8051,但沒有應用僅僅著眼于計算或控制。我們怎樣才能表征廣義上的應用,并計算出它的合適范圍呢?讓我們考慮一個由10%的32位計算、25%的控制代碼和65%的一般代碼構成的假定的應用,它不能明確地歸于8位或32位類別。

這個應用也更注重代碼空間而不是執行速度,因為它并不需要所有可用MIPS,并且必須為成本進行優化。成本比應用速度更為重要的事實在一般代碼情形下將給8051內核帶來微弱優勢。此外,8051內核在控制代碼中有中間等級的優勢。ARM內核在32位計算上占上風,但是這并非是很多應用所考慮的。考慮到所有這些因素,這個特殊的應用選擇8051內核更加合適。

如果進行細微的改變,假設該應用更關心執行速度而非成本,那么通用代碼不會傾向于哪種架構,并且ARM內核在計算代碼中全面占優勢。在這種情況下,雖然有比計算更多的控制代碼,但是總的結果將相當均衡。顯然,在這個過程中有很多的評估,但是分解應用,然后評估每一元件的技術將?明并確保我們了解在哪種情況下哪種架構有更顯著的優勢。

功耗

當查閱資料手冊時,很容易根據功耗資料得出哪個MCU更優的結論。雖然睡眠模式和工作模式電流性能在某些類型MCU上更優,但是這一評估可能會非常具有誤導性。占空比(在每個電源模式上分別占用多少時間)將始終占據功耗的主導地位。除非兩個器件的占空比相同,否則資料手冊中的電流規格幾乎是沒有意義的。最適合應用需求的核心架構通常具有更低的功耗。

假設有一個系統,在設備被喚醒后添加一個16位ADC樣本到移動平均,然后返回到休眠狀態,直到獲取下一個樣本時才又被喚醒。該任務涉及到大量16位和32位計算。ARM設備將能夠進行計算,并比8051設備更快返回到休眠狀態,這會讓系統功耗更低,即使8051具有更好的睡眠和工作模式電流。當然,如果進行的任務更適合8051設備,那么MCU功耗由于相同的原因而對系統有利。

圖二: 雖然睡眠模式和工作模式電流性能在某些類型MCU上更優,但是這一評估可能會非常具有誤導性。

8位或32位?我仍然不能決定!

如果考慮到所有這些變數后,仍然不清楚哪些MCU架構是最好的選擇,會怎樣?那好吧!這說明,它們都是很好的選擇,你使用哪種體系結構并不是緊要的事情。如果沒有明確的技術優勢,那么過去的經驗和個人喜好在你的MCU架構決定中也起到了很大的作用。

此外,你也可以利用這個機會去評估可能的未來項目,如果大多數未來專案更適合ARM設備,那么選擇ARM,如果未來項目更側重于降低成本和尺寸,那么就選擇8051。

這到底意味著什么呢?

8位MCU仍然可以為嵌入式開發人員提供許多功能,并且越來越關注物聯網。當開發人員開始設計時,重要的是確保從工具箱中獲得合適的工具。雖然我還是很樂意把8051出售給可能更適合選擇32位設備的客戶,但是我不禁想像,如果開發人員僅僅花費1個小時思考就作出決定,那么他們的工作將會更加容易、最終的產品將會更好。

實際上的難題是,不能僅僅依賴于一些演示文件中的一兩個要點,就得出選擇MCU架構的結論。然而,一旦你有正確的資訊,并愿意花一點時間應用它,就不難作出最佳選擇。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17961

    瀏覽量

    366330

原文標題:選擇8位還是32位MCU?這篇文章說透了要點

文章出處:【微信號:weixin21ic,微信公眾號:21ic電子網】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    如何根據具體需求選擇輝芒微8MCU的型號?

    選擇輝芒微 8 MCU 型號做產品項目開發時,需要考慮以下幾個方面,捷尚微技術工程師老唐跟你來分享一下。 一、存儲容量 1、程序存儲: 根據程序代碼的大小來
    的頭像 發表于 06-27 14:25 ?148次閱讀

    國內外電機結構 工藝對比分析

    純分享帖,需要者可點擊附件免費獲取完整資料~~~*附件:國內外電機結構 工藝對比分析.pdf【免責聲明】本文系網絡轉載,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請第一時間告知,刪除內容!
    發表于 05-29 14:06

    主流汽車電子SoC芯片對比分析

    主流汽車電子SoC芯片對比分析 隨著汽車智能化、電動化趨勢加速,系統級芯片(SoC)已成為汽車電子核心硬件。本文從技術參數、市場定位、應用場景及國產化進程等維度,對主流汽車電子SoC芯片進行對比分析
    的頭像 發表于 05-23 15:33 ?1836次閱讀

    高性能RISC-V內核32MCU-AiP32RV15A8/AiP32RV1564

    高性能RISC-V內核32MCU-AiP32RV15A8/AiP32RV1564
    的頭像 發表于 02-12 11:48 ?587次閱讀
    高性能RISC-V內核32<b class='flag-5'>位</b><b class='flag-5'>MCU-AiP32RV15A8</b>/AiP32RV1564

    DAC3283到底是8的LVDS輸入數據還是16的LVDS輸入數據?

    請問這個DAC到底是8的LVDS輸入數據還是16的LVDS輸入數據啊。。也就是說,這個I路的15:8和7:0,是一個16
    發表于 12-31 08:27

    基于觸控型8MCU AiP8F3208循環風扇應用方案

    基于觸控型8MCU AiP8F3208循環風扇應用方案
    的頭像 發表于 11-18 09:42 ?682次閱讀
    基于觸控型<b class='flag-5'>8</b><b class='flag-5'>位</b><b class='flag-5'>MCU</b> AiP<b class='flag-5'>8</b>F3208循環風扇應用方案

    RoCE與IB對比分析(二):功能應用篇

    在上一篇中,我們對RoCE、IB的協議棧層級進行了詳細的對比分析,二者本質沒有不同,但基于實際應用的考量,RoCE在開放性、成本方面更勝一籌。本文我們將繼續分析RoCE和IB在擁塞控制、QoS、ECMP三個關鍵功能中的性能表現。
    的頭像 發表于 11-15 14:03 ?1241次閱讀
    RoCE與IB<b class='flag-5'>對比分析</b>(二):功能應用篇

    求推薦個自帶充電管理的8MCU

    求各位大神推薦個成熟的自帶充電管理的8MCU,要求:最好SOP16封裝
    發表于 09-27 10:25

    國產8MCU為什么能被國內的電子工程師大量應用?

    、易于編程等特點,在消費電子、汽車電子、智能家居、工業控制等眾多領域擁有廣泛的應用,是很多電子產品開發設計工程師比較推薦的低成本高性價比的選擇。 國產8MCU最顯著的優勢在于其成
    發表于 09-26 15:02

    有哪些便宜的8單片機可供選擇

    便宜的8單片機在市場上有多種選擇,這些單片機因其低成本、高性能和豐富的外設接口而受到廣泛應用。以下是一些性價比較高的8單片機型號及其特點
    發表于 09-26 10:26

    MCU前沿市場趨勢:8單片機和32單片機

    市場趨勢可以發現,并非只有32單片機經歷了強勁的增長。蓬勃發展的8MCU市場的復合增長率(6.4%)接近32(6.9%)。其他行業
    發表于 09-24 17:47

    對比分析點焊機與傳統焊接方法

    在焊接技術的演進歷程中,點焊機憑借其高效、精確與自動化的特性,在現代工業制造中迅速崛起,成為現代工業制造中的重要工具。相較于歷史悠久的傳統焊接方式,點焊機展現了諸多獨特優勢。以下我們將從點焊機的工作原理、優缺點及應用領域三大維度,對兩者進行細致入微的對比分析
    的頭像 發表于 09-12 11:52 ?1197次閱讀

    網關和路由器的對比分析

    網關和路由器作為計算機網絡中的關鍵設備,各自承擔著不同的角色和功能。下面將從定義、功能、應用場景、性能等多個方面對網關和路由器進行對比分析
    的頭像 發表于 08-27 10:20 ?2696次閱讀

    激光錫焊與回流焊接對焊點影響的對比分析

    針對電子裝聯技術的特點,激光錫焊與回流焊接在對焊點影響方面做以下對比分析
    的頭像 發表于 08-23 11:19 ?848次閱讀

    ADS85x8 12、14和168通道同時采樣ADC數據表

    電子發燒友網站提供《ADS85x8 12、14和168通道同時采樣ADC數據表.pdf》資料免費下載
    發表于 07-24 11:38 ?0次下載
    ADS85x<b class='flag-5'>8</b> 12<b class='flag-5'>位</b>、14<b class='flag-5'>位</b>和16<b class='flag-5'>位</b><b class='flag-5'>8</b>通道同時采樣ADC數據表
    主站蜘蛛池模板: 色偷偷成人网免费视频男人的天堂 | 一级特黄aa大片一又好看 | 亚洲播播| 狠狠操天天操夜夜操 | 国产成人精品亚洲日本在线观看 | 黄网站色在线视频免费观看 | 国产精品丝袜xxxxxxx | 成人午夜啪啪免费网站 | xxx性xxx乱 | 一级特黄毛片 | 97国内精品久久久久久久影视 | 国产四虎精品 | 日韩美女拍拍免费视频网站 | 国产精品毛片在线大全 | 不卡无毒免费毛片视频观看 | 四虎亚洲国产成人久久精品 | 亚洲jjzzjjzz在线观看 | 亚洲 欧洲 另类 综合 自拍 | 国产一区二区三区美女图片 | 国产福利在线观看你懂的 | 国产三级视频 | 阿v视频在线观看免费播放 爱爱视频天天干 | xyx性爽欧美视频 | 婷婷午夜 | 国产网站免费看 | 天天插天天狠天天透 | 色妹子在线 | 国产成年美女毛片80s | 亚洲免费色图 | 成人亚洲网站www在线观看 | 欧美成人看片一区二区三区 | 免费看美女的逼 | 国产精品福利久久2020 | 日本一二线不卡在线观看 | 中文字幕日本一区波多野不卡 | 人人做人人澡人人人爽 | 天堂网在线www资源网 | 一区在线播放 | 黄色毛片免费网站 | 亚洲成人激情电影 | 手机看片午夜 |