充分利用 16 位微控制器的高性能和低功耗
出處:電子發(fā)燒友 發(fā)布于:2019-08-10 11:57:42
雖然 8 位微控制器的功能逐漸強(qiáng)大,但是鑒于處理能力和可尋址存儲(chǔ)器有限,性能上存在固有限制,以致于高性能應(yīng)用通常不會(huì)選用 8 位微控制器。另一方面,基于 32 位內(nèi)核的系統(tǒng)對(duì)于這些應(yīng)用往往又稍顯過火,尤其是導(dǎo)致不必要的功耗過大時(shí)。
解決方案恰恰位于 8 位和 32 位內(nèi)核中間的平衡點(diǎn)——16 位微控制器。這類器件既像簡單的單電源 8 位微控制器一樣功耗較低,又 具有 32 位內(nèi)核的部分性能和存儲(chǔ)器優(yōu)勢(shì)。如果應(yīng)用不要求很多線程同時(shí)處理,存儲(chǔ)器要求也不太高,那么 16 位微控制器可以提供適 當(dāng)?shù)男阅芩讲⒛茱@著節(jié)能。
本文介紹了 16 位微控制器的架構(gòu)及其如何成為許多電池供電的消費(fèi)類設(shè)備和物聯(lián)網(wǎng)端點(diǎn)應(yīng)用的選擇。此外,還介紹了 Microchip Technology 和 Texas Instruments 推出的幾款 16 位微控制器,并說明如何使用 16 位內(nèi)核著手設(shè)計(jì)。
微控制器選型
在設(shè)計(jì)過程中,定義項(xiàng)目要求后的步就是為應(yīng)用選擇合適的微控制器。三種主流選項(xiàng)分別是 8 位、16 位和 32 位微控制器。
不夸張地說,8 位微控制器應(yīng)用極為普遍,堪稱設(shè)計(jì)人員的主力器件。低成本、低功耗的 8 位微控制器幾乎適用于任何小功率應(yīng)用:主流微控制器中功耗的器件,某些器件待機(jī)電流低于 100 nA。
使用也相對(duì)簡單,8 位微控制器大多基于累加器,盡管一些較新的架構(gòu)具有寄存器組,因而編程模型簡單且有限:累加器或帶單個(gè)狀態(tài)寄存器的小寄存器組、堆棧指針,以及一個(gè)或多個(gè)變址寄存器。堆棧往往都是硬件堆棧,并且固件無法訪問程序計(jì)數(shù)器 (PC)。
盡管 8 位架構(gòu)廣受青睞,可一旦涉及網(wǎng)絡(luò)和通信就遇到了瓶頸。幾乎所有通信堆棧和網(wǎng)絡(luò)協(xié)議都采用 16 位或 32 位,因此不必考慮 8 位架構(gòu)。此外,即便是高端 8 位微控制器也往往局限于 16 位尋址,不具備分頁機(jī)制,限制了固件的大小和復(fù)雜性。
另一方面,32 位微控制器在所有高性能應(yīng)用中廣泛應(yīng)用?;诩拇嫫鞯募軜?gòu)可輕松支持網(wǎng)絡(luò)和通信;通常使用 32 位尋址,支持浮點(diǎn)運(yùn)算和高等代數(shù)運(yùn)算,并且時(shí)鐘速率可達(dá)千兆赫級(jí)。32 位內(nèi)核具有更復(fù)雜的編程模型,包括多個(gè)狀態(tài)寄存器、固件可訪問的 PC、復(fù)雜的中斷管理以及兩層或多層固件執(zhí)行權(quán)限。
16 位微控制器雖都基于寄存器,但架構(gòu)同 8 位內(nèi)核一樣簡單。因此,16 位內(nèi)核往往都具有良好的低功耗性能,電流消耗明顯低于 32 位架構(gòu),功耗則幾乎與 8 位內(nèi)核一樣低。如果應(yīng)用需要進(jìn)行高等數(shù)學(xué)運(yùn)算,一些 16 位微控制器具有數(shù)學(xué)協(xié)處理器,在相同的內(nèi)部時(shí)鐘速度下其數(shù)學(xué)性能可與 32 位內(nèi)核媲美。
此外,許多通信協(xié)議棧都支持 16 位微控制器聯(lián)網(wǎng)。對(duì)于以太網(wǎng)、CAN、USB 和 Zigbee 等協(xié)議棧,只要應(yīng)用程序代碼的性能足以支持堆棧,那么使用 16 位微控制器的運(yùn)行速度可與 32 位微控制器一樣快。
使用 16 位微控制器進(jìn)行大型閃存陣列尋址
32 位與 16 位架構(gòu)的一大差異在于存儲(chǔ)器尋址范圍。32 位微控制器具有 32 位地址總線,可以訪問高達(dá) 4 GB 的存儲(chǔ)器。傳統(tǒng) 16 位 微控制器使用 16 位尋址,只能訪問 64 KB 的存儲(chǔ)器。不過,如今許多 16 位架構(gòu)都使用高達(dá) 24 位的擴(kuò)展尋址,相當(dāng)于擴(kuò)充了 16 MB 的地址空間。
Microchip Technology 的低功耗 PIC24F 微控制器系列是擴(kuò)展尋址方式的典型范例。其中一款微控制器 PIC24FJ1024GA,32 MHz 的 16 位微控制器具有 1 MB 的板載閃存和 32 KB 的板載 SRAM,使用類似于許多 8 位微控制器的簡單編程模型(圖 1)。
Microchip 的 PIC24F 編程模型示意圖
PIC24 具有 23 位程序計(jì)數(shù)器,可以訪問高達(dá) 8 MB 的程序閃存。16 個(gè) 16 位寄存器,稱為工作寄存器 (WREG),記作 W0 至 W15:W0 至 W13 寄存器是通用寄存器 (GP),可在固件控制下用于存儲(chǔ)數(shù)據(jù);W15 是專用堆棧指針 (SP),除了可以通過函數(shù)和子例程調(diào)用、編程異常處理和調(diào)用返回使其自動(dòng)遞增和遞減外,SP 也可如 W0 至 W13 寄存器一樣通過固件修改。
使用 LINK 和 UNLINK 匯編指令可將 W14 用作堆棧幀指針 (FP)。堆棧指針限制寄存器 (SPLIM) 是一個(gè)獨(dú)立寄存器,可與 SP 配合使用以防止堆棧溢出。
PIC24 采用具有獨(dú)立地址和數(shù)據(jù)空間的哈佛架構(gòu)。與特殊指令配合使用,數(shù)據(jù)表頁地址 (TBLPAG) 寄存器和程序空間可視性頁地址 (PSVPAG) 寄存器可用于訪問并在地址和數(shù)據(jù)空間之間傳輸數(shù)據(jù)。這是 32 位架構(gòu)的常用功能,但 8 位內(nèi)核卻鮮少具備。
16 位重復(fù)循環(huán)計(jì)數(shù)器 (RCOUNT) 寄存器包含循環(huán)計(jì)數(shù)器,可用于 REPEAT 匯編指令。
16 位 CPU 內(nèi)核控制 (CORCON) 寄存器用于配置 PIC24 內(nèi)核的內(nèi)部操作模式。
,16 位狀態(tài)寄存器包含 PIC24 內(nèi)核狀態(tài)的工作狀態(tài)位,包括上次執(zhí)行匯編指令所產(chǎn)生的結(jié)果狀態(tài)。
根據(jù) Microchip Technology 對(duì) PIC24FJ1024GA606T 的性能評(píng)定,工作頻率為 32 MHz 時(shí)可達(dá) 16 MIPS。對(duì)于 16 位內(nèi)核而言,這一指標(biāo)著實(shí)令人印象深刻。該內(nèi)核具有 32 位微控制器的許多功能,例如同時(shí)支持分?jǐn)?shù)運(yùn)算的 17 位 × 17 位硬件乘法器以及 32 位/16 位硬件除法器。對(duì)于需要對(duì)傳感器數(shù)據(jù)進(jìn)行計(jì)算的物聯(lián)網(wǎng)端點(diǎn)而言,這些功能相當(dāng)管用。此外,該架構(gòu)還可以同時(shí)讀寫數(shù)據(jù)存儲(chǔ)器,卻絲毫不影響性能。
雖然 PIC24FJ1024GA606T 具有 USB OTG 等多種標(biāo)準(zhǔn)外設(shè),但在電池供電應(yīng)用中其功耗相當(dāng)?shù)?。所需的供電電壓僅為 2.0 V 至 3.6 V,微控制器以 32 MHz 的工作頻率全速運(yùn)行時(shí)電流消耗值為 7.7 mA,換作是 32 位內(nèi)核則極難實(shí)現(xiàn)這一指標(biāo)。通過固件可以控制和外設(shè)時(shí)鐘。目前有兩種使器件進(jìn)入低功耗模式的匯編指令:IDLE 指令使 PIC24 內(nèi)核停止運(yùn)行,但外設(shè)可以繼續(xù)工作;SLEEP 指令將停止除看門狗(可選)和外部中斷檢測(cè)外所有器件的操作??臻e模式下,電流僅為 2.8 mA,而休眠模式下,電流范圍為 10 至 45 ?A,具體取決于外設(shè)配置。在功耗模式,即休眠模式下,仍保存隨機(jī)存取存儲(chǔ)器 (RAM) 中的內(nèi)容,PIC24F 的消耗電流低至 190 nA。
為了獲得更高的性能,Microchip Technology 在 dsPIC? 系列中推出高端 16 位微控制器。Microchip 的 dsPIC33EP512GP506T 是其中一款 16 位 70 MIPS 微處理器,具有 512 KB 的閃存。dsPIC 的內(nèi)核寄存器與 PIC24 大致相同,只是增加了支持?jǐn)?shù)字信號(hào)處理 (DSP) 指令的寄存器,包括兩個(gè) 40 位累加器且支持 32 位乘法。如需對(duì) PIC24 進(jìn)行系統(tǒng)內(nèi)升級(jí),PIC24 微控制器大多可以進(jìn)行引腳兼容的 dsPIC 升級(jí),因而使用同一塊印刷電路板亦可提高性能。
當(dāng)然,性能越高,功率也就越大。這款 dsPIC33 的供電電壓為 3.0 至 3.6 V,運(yùn)行速度達(dá) 70 MIPS 時(shí),電流為 60 mA。
降低功耗,提高性能
Texas Instruments 的 MSP430FR599x 微控制器系列采用該公司的鐵電隨機(jī)存取存儲(chǔ)器 (FRAM) 程序存儲(chǔ)器,實(shí)現(xiàn)更高的讀/寫性能,而 功耗較之閃存微控制器更低。MSP430FR5994IPNR 16 位微控制器是該系列產(chǎn)品之一,時(shí)鐘頻率達(dá) 16 MHz,具有 256 KB 的 FRAM。
MSP430FR 微控制器內(nèi)核的性能增強(qiáng)功能包括雙向關(guān)聯(lián)緩存(由四個(gè)行寬為 64 字節(jié)的緩存塊組成),從而實(shí)現(xiàn)更高的 FRAM 性能;32 位硬件乘法器可提高數(shù)學(xué)密集型操作的性能;以及獨(dú)立于 MSP430 主內(nèi)核的低能耗加速器 (LEA) 協(xié)處理器。該 LEA 可執(zhí)行 256 點(diǎn)復(fù)數(shù)快速傅立葉變換 (FFT)、有限沖激響應(yīng) (FIR) 濾波器和矩陣乘法。根據(jù) TI 的介紹,矩陣乘法的運(yùn)算速度比 Arm? Cortex?-M0+ 多快 40 倍。該 LEA 可提高傳感器融合操作、圖像增強(qiáng)和超聲波傳感器數(shù)據(jù)處理的性能。面對(duì)這些應(yīng)用時(shí),開發(fā)人員通常都優(yōu)先考慮 32 位內(nèi)核,而非超低功耗的 16 位微控制器。
MSP430R 的編程模型非常簡單(圖 2),共有 16 個(gè) 16 位寄存器 R0 至 R15:R0 是程序計(jì)數(shù)器,R1 是堆棧指針,R2 是狀態(tài)寄存器,R3 是常數(shù)發(fā)生器(用于立即操作數(shù)),R4 至 R15 是通用寄存器。其他寄存器配置則采用內(nèi)存映射方式,與多數(shù) 32 位內(nèi)核類似。
Texas Instruments 的 MSP430 微控制器寄存器組示意圖
提高了性能,卻絲毫沒有增加功耗。待機(jī)模式下,TI 的 MSP430FR5994 以實(shí)時(shí)時(shí)鐘 (RTC) 運(yùn)行,電流消耗僅為 350 nA。關(guān)斷模式下,電流消耗僅為 45 nA。這一指標(biāo)低于目前市面上任何一款 32 位微控制器,甚至低于多數(shù) 8 位微控制器。
MSP430FR5994IPNR 的工作電壓范圍為 1.8 至 3.6 V。固件以 FRAM 運(yùn)行而緩存命中率為零時(shí),MSP430FR 的電流消耗僅為 3 mA。若從緩存運(yùn)行代碼,則電流消耗僅為 790 ?A。結(jié)合 LEA,這款 16 位微控制器可提供極高的處理性能和極低的功耗。
通過 TI 的 MSP-EXP430FR5994 LaunchPad? 可輕松開發(fā) MSP430FR5994 系列的低功耗應(yīng)用。該 LaunchPad 開發(fā)套件包含了開發(fā)人員著手 MSP-EXP430FR5994 微控制器編碼和固件調(diào)試所需的一切(圖 3)。
TI 的 MSP-EXP430FR5994 LaunchPad 圖片
圖 3:TI 的 MSP-EXP430FR5994 LaunchPad 具有開發(fā)人員著手 MSP-EXP430FR5994 16 位 FRAM 微控制器編碼和固件調(diào)試所需的一切。(圖片 Instruments)。
該 LaunchPad 具有兩個(gè)按鈕、兩個(gè) LED 和一個(gè) microSD 卡插槽。為了證明 MSP430FR5994 微控制器的低功耗性能,該 LaunchPad 具有 0.22 F 的超大電容為 LaunchPad 供電。將 LaunchPad 接入外部電源并將跳線 J8 設(shè)置為“充電”,即可為電容充電。只需 2 至 3 分 鐘就可將電容完全充滿。三分鐘后,將跳線 J8 設(shè)置為“使用”,移除外部電源,MSP430 即可運(yùn)行數(shù)分鐘,具體視應(yīng)用而定。
此外,該 LaunchPad 還可用于測(cè)量 MSP430 及其應(yīng)用的電流消耗。J101 隔離塊具有包括 3 V 電源跳線 3V3 在內(nèi)的七根跳線。移除跳線 3V3,即可通過這兩個(gè)引腳測(cè)量應(yīng)用的電流。
該 LaunchPad 還支持 TI 的 EnergyTrace? 技術(shù),可以連接計(jì)算機(jī)使用 Texas Instruments 的 EnergyTrace 圖形用戶界面 (GUI),使開發(fā) 人員能夠?qū)崟r(shí)觀測(cè) MSP430 微控制器和應(yīng)用的功耗數(shù)據(jù),從而微調(diào)應(yīng)用以實(shí)現(xiàn)功耗。
例如,實(shí)時(shí)電流監(jiān)控和記錄可以顯示 MSP430 微控制器的電流消耗偶爾出現(xiàn)激增。電流激增會(huì)降低電池質(zhì)量,縮短電池壽命。電流激增可能緣于片上外設(shè)的錯(cuò)誤配置、外部電感或電容負(fù)載,甚至是由于固件試圖同時(shí)啟動(dòng)所有功能。通過電流監(jiān)控和記錄,開發(fā)人員可以明確應(yīng)該如何調(diào)整固件,從而控制尖峰電流。
總結(jié)
對(duì)于許多低功耗、中等性能的電池供電嵌入式應(yīng)用而言,開發(fā)人員可以選擇合適的 16 位微控制器,而非 32 位內(nèi)核。如上所述,在許多應(yīng)用中,16 位微控制器的功耗比 32 位內(nèi)核低得多,卻仍然可以實(shí)現(xiàn)所需的性能。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫電子市場(chǎng)網(wǎng),http://www.udpf.com.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 電表互感器匝數(shù)倍率怎么看?2025/9/5 17:05:11
- 顏色傳感器原理及實(shí)際應(yīng)用案例2025/9/5 16:09:23
- 調(diào)諧器和調(diào)制器的區(qū)別2025/9/4 17:25:45
- 有載變壓器和無載變壓器的區(qū)別有哪些2025/9/4 17:13:35
- 什么是晶體諧振器?晶體諧振器的作用2025/9/4 16:57:42
- 線性穩(wěn)壓電源與開關(guān)穩(wěn)壓電源:原理、特性及應(yīng)用
- 電容器旁路的基本原理
- TTL、RS232、485 到底能傳輸多遠(yuǎn)距離
- 一文了解車規(guī)級(jí)芯片認(rèn)證標(biāo)準(zhǔn)
- eMMC 屬于閃存還是內(nèi)存?從定義到應(yīng)用講透核心區(qū)別
- 什么是芯片的納米等級(jí)的含義,28nm,14nm,3nm 工藝
- 一文詳解:半導(dǎo)體、芯片、集成電路、晶圓之差異
- 深度解析:“直流變頻” 與 “變頻” 的本質(zhì)區(qū)別與應(yīng)用選擇
- 直線電機(jī)工作原理與應(yīng)用全解析
- 空調(diào)空開跳閘的原因及解決方法