<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>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 8/16位MCU應用升級成32位將會(huì )怎樣?

8/16位MCU應用升級成32位將會(huì )怎樣?

作者: 時(shí)間:2011-01-31 來(lái)源:網(wǎng)絡(luò ) 收藏
特定應用的微控制器選型分類(lèi)有很多種方法。從內核處理器類(lèi)型和存儲器總線(xiàn)系統入手是其中常見(jiàn)的一種。是選擇8位、16位,還是32位架構,通常有以下幾個(gè)參考標準:性能級別、可尋址存儲器和系統成本。

客戶(hù)有時(shí)還可能遇到各種需要多內核架構的應用,這種情況意味著(zhù)用戶(hù)不僅要花更多時(shí)間了解并掌握各種內核技術(shù)、外設編程技術(shù)和工具使用,還要在管理不同架構特性方面額外增加物流費用。

針對這一問(wèn)題,恩智浦推出了基于32位ARM Cortex-M0處理器內核的LPC1100系列微控制器。該處理器是ARM公司Cortex-M系列尺寸最小的一款,具有32位架構性能、低功耗和超小封裝等優(yōu)點(diǎn)。LPC1100是恩智浦半導體大獲成功的LPC1000微控制器系列的最新產(chǎn)品(參見(jiàn)圖1),主要針對目前8/16位微控制器占主流的低成本應用的市場(chǎng)。


圖1: 恩智浦Cortex-Mx微控制器系列

LPC1100完全具有圍繞LPC1300和LPC1700微控制器(均采用Cortex-M3內核)建立的生態(tài)系統優(yōu)勢。從諸如UART、I2C和SPI等標準接口到高端的CAN和USB,LPC1100外設種類(lèi)齊全。LPC1000生態(tài)系統包括多家供應商提供的編譯器和調試工具、各種操作系統和軟件。由于LPC1100系列微控制器Cortex-M0能夠向上兼容M3內核,因此能夠實(shí)現開(kāi)發(fā)共享。

本文將針對過(guò)去8/16位微控制器的幾個(gè)薄弱應用環(huán)節,重點(diǎn)介紹LPC1100的優(yōu)勢。此外,還將涉及LPC1100如何解決成本、功耗和代碼大小等難題,以及如何提高傳統8/16位微控制器應用領(lǐng)域的系統效率。

節能

對于門(mén)、窗或照明控制等家庭應用領(lǐng)域,主要采用傳感器連接到家庭系統內部總線(xiàn),這些總線(xiàn)和傳感器從專(zhuān)用直流電路獲取電流,大部分時(shí)間都處于工作模式。LPC1100在工作模式下出色的低功耗特點(diǎn)為此類(lèi)應用提供了理想選擇。

圖2是一個(gè)從閃存執行代碼并在RAM里操作動(dòng)態(tài)數據的典型應用示例,顯示了LPC1100在正常工作模式下幾個(gè)內部系統模塊的功耗情況。


圖2: 20MHz內核頻率的各模塊耗電量

在電流消耗總量中,Cortex-M0內核和內部存儲系統所占比重最大。盡管Cortex-M0內核的處理能力超強,但是采用該內核的LPC1100在無(wú)限循環(huán)運行時(shí)的平均耗電量?jì)H為150μA/MHz左右。


圖3 正常工作模式下,從閃存執行代碼的耗電量

預計在推出低功耗(LP)LPC1100新產(chǎn)品后,現有的LPC1100微控制器低功耗表現會(huì )得到進(jìn)一步提升。工作模式耗電量有望降至130uA/MHz左右。

此外,由于M0內核采用32位架構,因此電流利用效率要高于8/16位架構。對于執行相同的計算任務(wù),M0內核的實(shí)際運行速度可比8/16位微控制器低2-4倍,因此功耗要遠低于8/16位微控制器。

對于“深度睡眠”或“深度掉電”模式,Cortex-M0內核的強大處理能力同樣有用武之地,與8/16位架構相比,32位架構執行任務(wù)的時(shí)間更短,因此微控制器更多時(shí)間會(huì )處于低功耗模式運行。新型LP系列產(chǎn)品將大幅減少深度睡眠模式(2uA)和深度掉電模式(220nA)耗電量。

運算能力

LPC1100非常適合同時(shí)處理微控制器(MCU)基本任務(wù)和各種操作數(8位、16位或更高位)運算。嵌入快速的32位Cortex-M0內核(最大頻率50MHz)并保持微控制器操作和編程靈活性(Cortex-M0 內核可以完全采用C語(yǔ)言)是代替16位混合系統的最好解決方案。

Cortex-M0微控制器可以輕松超越高端8/16位單片機。Cortex-M0內核的額定處理能力高達0.8DMIPS/MHz,是高端8 /16位單片機的2-4倍。由于DMIPS和MIPS有時(shí)并不能準確反映用戶(hù)器件性能,因此圖4根據一些通用的測試基準程序給出了各器件的相對性能。大多數常用Cortex-M0 Thumb2指令為單周期指令,所有8位、16位和32位數據傳輸在一個(gè)指令周期內完成。在8位和16位單片機中處理長(cháng)字乘法運算通常要花很長(cháng)時(shí)間,但由于Cortex-M0內核是32位架構,恩智浦在LPC1100中采用了32x32位硬件乘法器,通過(guò)MULS指令,成功地在一個(gè)指令周期內完成了兩個(gè)32位字的乘法運算。


圖4 Cortex-M0相對性能

除法運算可通過(guò)軟件完成,Cortex-M0對于各種操作數除法運算有同樣出色的表現。

對于具體的應用,復雜的計算通常會(huì )涉及多次加法、乘法和除法。圖5顯示了一個(gè)復雜計算的執行時(shí)間,其執行條件是從閃存執行代碼,采用浮點(diǎn)操作數共進(jìn)行5次乘法、5次加法和1次除法計算。對于浮點(diǎn)運算,C語(yǔ)言代碼可通過(guò)一個(gè)特定的Cortex-M0數學(xué)庫函數做優(yōu)化。


圖5: 浮點(diǎn)運算時(shí)間實(shí)例

從數學(xué)庫向RAM重新優(yōu)化一些重要的函數可以進(jìn)一步提升性能。應該在RAM中調用這些庫函數,這樣可避免從ROM頁(yè)到RAM頁(yè)的分配過(guò)程出現長(cháng)分支,以縮短執行時(shí)間。

微控制器的性能不僅要看執行速度,中斷處理也一個(gè)重要方面。中斷性能一般通過(guò)延遲時(shí)間和抖動(dòng)(jitter)體現。延遲是指從中斷事件產(chǎn)生到進(jìn)入中斷服務(wù)程序的時(shí)間,抖動(dòng)用以描述延遲的變化。

Cortex-M0通過(guò)將中斷控制器和內核緊密耦合,最大程度縮短了延遲時(shí)間。最高優(yōu)先級中斷延遲時(shí)間固定為16個(gè)時(shí)鐘周期。中斷控制器最多可支持32個(gè)不同的中斷源,包含一個(gè)非屏蔽中斷輸入。LPC1100對各種中斷事件提供了專(zhuān)用中斷向量,任何中斷都會(huì )自動(dòng)分配一個(gè)專(zhuān)用中斷服務(wù)程序(ISR, Interupt Service Routine),無(wú)須軟件處理。

為了縮短嵌套中斷的延遲時(shí)間,LPC1100采用了一種集成機制,如果高優(yōu)先級中斷在低優(yōu)先級中斷進(jìn)入服務(wù)程序前到達,可避免重新堆棧。此外,LPC1100還支持尾鏈功能(tail chaining),通過(guò)疊合異常出棧順序以及隨后出現的異常進(jìn)棧順序可直接進(jìn)入ISR,縮短延遲時(shí)間。

影響系統總成本有幾個(gè)方面的因素,對于小型系統,內核和內存所占比重最大。

內核尺寸:Cortex-M0內核專(zhuān)門(mén)針對低成本應用開(kāi)發(fā),主要面向以往的8/16位小型微控制器架構市場(chǎng)。Cortex-M0內核的尺寸僅為Cortex-M3的1/4,參見(jiàn)圖6。對于外設較少、Flash空間有限的小型系統,較小的內核可以減少芯片的整體尺寸。Cortex-M0邏輯門(mén)數量達到了最經(jīng)典的8位內核水平,卻帶來(lái)了更出色的處理能力,并為更強大的Cortex-M系列處理器提供向上兼容性。


圖6 Cortex-M0內核尺寸

閃存占用量?。簝Υ鎽贸绦虼a所需的閃存尺寸是影響系統總成本的另一個(gè)重要因素??紤]到32位指令比8位指令性能更強,并且能一次代替多條8位指令,因此可以假設應用代碼尺寸基本相同(不包括常數表)。不過(guò),通過(guò)輸入LPC1100的8位代碼的實(shí)際測試結果看,應用代碼尺寸要小很多,甚至可以達到50%以下。

ARM Cortex-M0執行Thumb指令集,包括少量使用Thumb-2技術(shù)的32位指令,參見(jiàn)圖7。Thumb指令集是ARM Cortex-M3和ARM Cortex-M4支持的指令集的子集,并與之二進(jìn)制編碼向上兼容。

將ARM7TDMI的16位Thumb指令和部分Thumb-2功能強大的32位指令結合在一起使用,可以提高代碼密度。編譯器會(huì )選擇是使用16位還是32位指令,最終代碼中兩者可以完全共存。運行期間系統能夠實(shí)現16位和32位代碼無(wú)縫切換,無(wú)需像在使用ARM7TDMI時(shí)那樣,需要專(zhuān)用指令。下表是一張Cortex-M0完整的指令集。


圖7:Cortex M0指令集

總體來(lái)看,LPC1100在低成本MCU市場(chǎng)具有很強的競爭力,其出色的靈活性和強大的性能將成為8位和16位架構占統治地位的各應用領(lǐng)域最有力的競爭對手。LPC1100支持超小封裝(16引腳CSP,2.5 x 2.5mm)以及易于操作的HVQFN和LQFP封裝。該系列所有產(chǎn)品均支持UART、I2C和SPI等常見(jiàn)外設,并可在LPC1000系列其他產(chǎn)品上復用這些外設的驅動(dòng)。此外,LPC1100還支持USB和CAN等高端外設,其驅動(dòng)代碼內嵌在ROM掩膜中, 因此Flash閃存可完全用于用戶(hù)自己的應用程序。目前系統中的Flash尺寸介于8KB(2KB RAM)和32KB(8KB RAM)之間。LPC1100的市場(chǎng)售價(jià)(1萬(wàn)片起訂)為65美分。

要了解該系列微控制器詳細信息,請與恩智浦半導體代表或分銷(xiāo)伙伴聯(lián)系,或者直接登錄 www.nxp.com/microcontroller。

作者:Bernhard Fink(應用經(jīng)理)
orsten Katschinsky(現場(chǎng)應用資深工程師)
Cristian Ionescu(應用市場(chǎng)經(jīng)理)
恩智浦公司



評論


相關(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>