<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 業(yè)界動(dòng)態(tài) > 探索IoT應用中對于8位、32位MCU的選擇

探索IoT應用中對于8位、32位MCU的選擇

作者:Josh Norem 時(shí)間:2016-05-26 來(lái)源:電子產(chǎn)品世界 收藏

  在embedded world大會(huì )展示產(chǎn)品期間,我曾非常愉快的與一位思慮敏捷的人士進(jìn)行了交談。當我向他介紹我們最新推出的EFM8 MCU時(shí),他打斷我并問(wèn):“可我為什么還要使用8位MCU呢?”這不是我第一次聽(tīng)到這樣的問(wèn)題,當然,也不會(huì )是最后一次。

本文引用地址:http://dyxdggzs.com/article/201605/291787.htm

  人們會(huì )很自然想到,正如汽車(chē)替代了馬拉車(chē)、電子郵件替代了普通郵件一樣,32位設備讓8位MCU變得黯然失色。盡管在還有些遙遠的未來(lái),8位MCU向32位MCU的過(guò)渡將會(huì )成為現實(shí),但在當前還沒(méi)那么容易實(shí)現。事實(shí)證明8位MCU和32位MCU仍是互補的技術(shù),在某些方面各有千秋,而在其它方面卻表現的同樣出色。這其中的訣竅在于弄清什么樣的應用適合什么樣的MCU架構。

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

  優(yōu)化和圣戰

  有時(shí),當我對比人們所熟知的事物(例如ARM和8051)時(shí),我感覺(jué)就像在互聯(lián)網(wǎng)論壇上發(fā)出“《星際迷航》比《星球大戰》好看”的帖子一樣,事情很快就能火起來(lái)。

  事實(shí)上“ARM Cortex和8051哪個(gè)更好”并不是個(gè)邏輯問(wèn)題。就像是在問(wèn),“吉他和鋼琴哪個(gè)更好”一樣。真正要解決的問(wèn)題是“哪種MCU能幫我最好的解決當下面臨的問(wèn)題?”。不同的任務(wù)需要使用不同的工具,我們的目的是要了解“如何才能最好的運用我們所擁有的工具”,包括8位和32位設備。幾乎可以肯定的說(shuō),那些簡(jiǎn)單回答“ARM更好”或“8051更好”的人各有其目的,正在試圖銷(xiāo)售某種商品。

  對不同的設備進(jìn)行比較,需要對其進(jìn)行測量。有很多構建工具可供選擇,我盡力選擇一些場(chǎng)景,我認為其能夠進(jìn)行最公平的比較,且最能代表開(kāi)發(fā)人員的真實(shí)體驗。以下ARM數據是通過(guò)GCC + nanoCLibrary和-03優(yōu)化選項所生成的。

  我并不想為任何一種設備優(yōu)化代碼。我只是簡(jiǎn)單的實(shí)現90%開(kāi)發(fā)人員都會(huì )使用的最顯而易見(jiàn)的“常規”代碼。我更感興趣的是普通開(kāi)發(fā)人員所見(jiàn)到的結果,而不是理想狀態(tài)下的結果。當然,花費諸多時(shí)間、精力和財力去調整8051代碼使其表現比ARM更好是可能的(反之亦然),但一開(kāi)始就選擇適合該項工作的最佳工具卻更為簡(jiǎn)易。

  并非所有的MCU都是一樣的

  在開(kāi)始對架構進(jìn)行比較之前,要注意到并非所有生產(chǎn)的MCU都是一樣的,這一點(diǎn)非常重要。如果將基于A(yíng)RM Cortex-M0+處理器的現代MCU與30年前的8051 MCU進(jìn)行對比,8051 MCU在性能對比上不會(huì )勝出。幸運的是,許多供應商一直在對8位處理器進(jìn)行持續投資。例如:Silicon Labs一直更新基于8051內核的EFM8 MCU產(chǎn)品線(xiàn),比原來(lái)的8051架構更為高效,而且開(kāi)發(fā)過(guò)程也已經(jīng)實(shí)現現代化。所以,在許多應用中,8位內核能夠容易彌補比M0+或M3內核不利的地方,甚至在一些方面性能更佳。

  開(kāi)發(fā)工具也很重要?,F代嵌入式固件開(kāi)發(fā)需要全功能IDE、現成的固件庫、豐富的示例、完整的評估和入門(mén)套件、以及助手應用,以簡(jiǎn)化硬件配置、庫管理和量產(chǎn)編程之類(lèi)的工作。當MCU有了現代化的8位內核和開(kāi)發(fā)環(huán)境時(shí),在很多情況下,這樣的MCU將超越基于A(yíng)RM-Cortex的類(lèi)似MCU。

  一般性取舍

  在深入探討內核架構和其它技術(shù)細節之前,我要和大家講一個(gè)故事,在我讀大學(xué)的時(shí)候,記得有一次考試,我太在意考取好分數和比其他同學(xué)先完成考題,以至于沒(méi)有注意到在試卷的正反面都印有試題。不用說(shuō),我的確是第一個(gè)完成考卷的人,但卻是我不愿再想起的一次經(jīng)歷。如果一個(gè)應用需要的只是256KB的閃存或0.25美元的批量定價(jià),那么分析復雜的MCU特性和功能是沒(méi)有意義的。這些需求足以說(shuō)明何種MCU架構才是最佳選擇。

  系統規模

  第一個(gè)一般性原則是,ARM Cortex-M內核更適用于較大的系統規模(> 64KB代碼),而8051設備適用于較小的系統規模(< 8KB代碼)。中等規模的系統可以選擇兩種方式,這取決于系統要執行的任務(wù)。有必要注意一點(diǎn),在大多數情況下,外設組合將會(huì )發(fā)揮重要作用。如果需要3個(gè)UART、1個(gè)LCD控制器、4個(gè)時(shí)鐘和2個(gè)ADC,你可能并不會(huì )在8位MCU上找到所有這些外設。

  易用性vs.成本和尺寸

  對于中等規模的系統來(lái)說(shuō),使用任何一種架構都可以完成工作。但主要的權衡是選擇ARM內核帶來(lái)的易用性,還是8051設備帶來(lái)的成本和物理尺寸優(yōu)勢。

  ARM Cortex-M架構具有統一的存儲模式,并且在所有常見(jiàn)編譯器中支持完整的C99,這使得這種架構非常易于寫(xiě)固件。此外,還可得到一系列庫和第三方代碼。當然,這種易用性的代價(jià)就是成本。對于高復雜性、上市時(shí)間較短的應用或缺乏經(jīng)驗的固件開(kāi)發(fā)人員來(lái)說(shuō),易用性是個(gè)重要因素。

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

  通常,8位器件也具有物理尺寸上的優(yōu)勢。例如:Silicon Labs提供的最小的32位QFN封裝為4mm×4mm,而基于8051的8位器件的QFN封裝可小至2mm×2mm。芯片級封裝(CSP)的8位和32位架構之間的差異較小,但卻使成本增加,且組裝較難。對于空間嚴格受限的應用來(lái)說(shuō),通常需要選擇8051設備來(lái)滿(mǎn)足限制要求。

  通用代碼和RAM效率

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

  注意這種8位存儲資源的優(yōu)勢并不總是如此,這一點(diǎn)很重要。在某些情況下,ARM內核會(huì )像8051內核一樣高效或比其更高效。例如:32位運算僅需要一條ARM設備指令,而在8051 MCU上則需要多條8位指令。顯然,這種代碼在A(yíng)RM架構上有更高的執行效率。

  ARM架構在Flash/RAM尺寸較小時(shí)的兩個(gè)主要缺點(diǎn)是:代碼空間效率和RAM使用的可預測性。

  首要也是最明顯的問(wèn)題是通用代碼空間效率。8051內核使用1字節、2字節或3字節指令,而ARM內核使用2字節或4字節指令。通常情況下,8051指令更小,但這一優(yōu)勢因實(shí)際上花費許多時(shí)間而受到削弱,ARM內核比8051在一條指令下能做更多工作。32位運算就是這樣一個(gè)示例。實(shí)踐起來(lái),指令寬度是能在8051上產(chǎn)生適度的更密集代碼。

  代碼空間效率

  在含有分布式訪(fǎng)問(wèn)變量的系統中,ARM架構的加載/存儲架構通常比指令寬度更為重要。試想信號量的實(shí)現,一個(gè)變量需要在代碼周?chē)亩鄠€(gè)不同位置進(jìn)行減量(分配)或者增量(釋放)。ARM內核必須將變量加載到寄存器,對其進(jìn)行操作并重新存儲,這需要3條指令。另一方面,8051內核可以直接在內存位置上進(jìn)行操作,且僅需1條指令。隨著(zhù)每次對變量完成工作量的增大,由于加載/存儲而產(chǎn)生的消耗就變得微不足道。但對于每次僅完成一點(diǎn)工作的情況來(lái)說(shuō),加載/存儲能產(chǎn)生重要影響,讓8051獲得明顯的效率優(yōu)勢。

  盡管信號量在嵌入式軟件中并非常見(jiàn)結構,但簡(jiǎn)單的計數器和標志卻廣泛應用于控制導向的應用中并起著(zhù)相同的作用。許多常見(jiàn)的MCU代碼都屬于這一類(lèi)型。

  另一個(gè)原因是ARM處理器比8051內核更多的自由使用棧這一事實(shí)。通常情況下,8051設備針對每次函數調用僅在棧上存儲返回地址(2字節),通過(guò)通常分配給棧的靜態(tài)變量處理大量的任務(wù)。在某些情況下,這會(huì )產(chǎn)生問(wèn)題,因為這會(huì )造成函數默認不可重入。然而,這也意味著(zhù)必需保留的??臻g很小,且完全可預測,這在RAM容量有限的MCU中至關(guān)重要。

  舉個(gè)簡(jiǎn)單的例子,我創(chuàng )建了以下程序。然后測量funcB內部的棧深度,發(fā)現M0+內核的棧用了48個(gè)字節,而8051內核的棧僅用了16個(gè)字節。當然,8051內核還靜態(tài)分配了8個(gè)字節的RAM,總共用了24個(gè)字節。在較大的系統中,這個(gè)差異顯得微不足道,但是在僅有256字節ARM的系統中,這就變得很重要。

  架構細節

  現在,我們來(lái)說(shuō)說(shuō)基本情景。假設有基于A(yíng)RM和基于8051的MCU各一個(gè),配有所需的外設,那么對于較大的系統或需要重點(diǎn)考慮易用性的應用來(lái)說(shuō),ARM設備是更好的選擇。如果首要考慮的是低成本/小尺寸,那么8051設備將是更好的選擇。下面我們對于每種架構更擅長(cháng)的應用進(jìn)行更詳細的分析,同時(shí)也劃分出一般原則。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: Silicon Labs IoT

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>