TWD | USD

享受 16 位元微控制器的效能和低功率優勢

作者:Bill Giovino

資料提供者:Digi-Key 北美編輯群

持久的電池續航力,是使用者對消費性裝置滿意度的重要因素。就電池供電的物聯網 (IoT) 端點來說,延長電池續航力就可降低維護成本並提高可靠度。由於這些裝置使用的微控制器可能非常耗電,設計人員需要選擇並採用正確的架構,來滿足這些應用的需求。在許多情況下,16 位元微控制器是最佳選擇。

雖然 8 位元微控制器的功能越來越強大,但是在處理能力和可定址記憶體方面,其效能受到先天的限制,因此 8 位元的產品無法用在更高效能的應用上。另一方面,以 32 位元核心為基礎的系統對應用來說往往是大材小用,甚至會耗用不必要的電力。

解決辦法就是採用兩者之間的 16 位元微控制器,可在 8 位元和 32 位元核心之間取得平衡。不僅具備簡單型單一電源 8 位元微控制器的低功率,還可提供 32 位元核心的一些效能與記憶體優勢。如果應用不需要多執行緒的密集運算,且記憶體需求不大,那 16 位元微控制器就能提供恰當的效能以及顯著的節能效果。

本文將介紹 16 位元微控制器的架構,及其如何成為眾多電池供電型消費性及 IoT 端點應用的最佳選擇。然後還會介紹 Microchip TechnologyTexas Instruments 推出的幾種 16 位元微控制器產品,並展示如何開始進行 16 位元設計。

選擇微控制器

在確定專案需求之後,設計流程的前幾步就是針對應用選擇正確的微控制器,而 8、16 和 32 位元微控制器正是三個主流選擇。

8 位元微控制器應用的廣泛程度其實遭到低估:這款微控制器其實是設計人員的主要戰力。對於低成本、低功率的 8 位元微控制器來說,沒有什麼工作是做不來的:擁有主流微控制器市場中最低的功率,有些的待機電流更低於 100 nA。

此外,使用起來也相當容易。這種微控制器通常以累加器為架構,但有些更現代的架構則採用暫存器組。其編程模型簡單但有所限制:即累加器或一小組暫存器,包含單一狀態暫存器、堆疊指標,以及一或多個指數暫存器。堆疊通常在硬體內,且程式計數器 (PC) 無法由韌體存取。

8 位元架構雖然常見,但是在涉及網路和通訊作業時,能力就會到達極限。幾乎所有的通訊堆疊和網路協定都是 16 位元或 32 位元,因此必須捨棄 8 位元架構。此外,即使是高階的 8 位元微控制器,也往往僅限於無分頁的 16 位元定址,以便限制韌體的大小和複雜性。

另一方面,32 位元微控制器在所有高效能的應用中越來越受歡迎。這些微控制器採用暫存器架構,可輕鬆支援網路和通訊作業。通常具有 32 位元的定址功能,可支援浮點數學運算和高階代數運算,而且時脈率可達到 GHz 水準。32 位元核心擁有更複雜的編程模型,可包含多個狀態暫存器、韌體可讀的程式計數器、複雜的中斷管理,以及兩層或兩層以上的韌體執行權限。

16 位元微控制器則全部採用暫存器架構,跟 8 位元產品一樣簡單。這種微控制器往往具有良好的低功率效能,電流消耗量比 32 位元顯著減少,而功耗幾乎跟 8 位元核心一樣低。如果應用需要使用高階數學運算,有些 16 位元微控制器擁有數學輔助處理器,可在相同的內部時脈速度下,達到與 32 位元微控制器一樣的數學效能。

此外,也有足夠的通訊堆疊可支援 16 位元微控制器的聯網作業。乙太網路、CAN、USB 和 Zigbee 便是幾個協定堆疊的範例,在 16 位元微控制器上的執行速度可與 32 位元微控制器一樣快,但前提是應用程式碼可提供足夠的效能來服務該堆疊。

使用 16 位元微控制器對大型快閃記憶體陣列進行定址

32 位元和 16 位元架構最大的差異之一,就是記憶體定址範圍。32 位元微控制器具有 32 位元位址匯流排,可存取高達 4 GB 的記憶體。傳統的 16 位元微控制器具有 16 位元定址,僅可存取 64 KB。不過,許多現代的 16 位元架構,現已擁有高達 24 位元的擴充定址,可存取龐大的 16 MB 位址空間。

擴充定址方法的絕佳範例是 Microchip Technology 的低功率 PIC24F 微控制器系列。PIC24FJ1024GA 便隸屬於此系列。此 32 MHz、16 位元微控制器,具有 1 MB 的板載快閃記憶體和 32 KB 的板載 SRAM。產品採用簡單的編程模型,類似於許多 8 位元微控制器 (圖 1)。

Microchip 的 PIC24F 編程模型示意圖圖 1:Microchip 的 PIC24F 編程模型類似於高階的 8 位元微控制器,採用以暫存器為基礎的架構,其中含有十六個一般用途 16 位元暫存器、一個堆疊指標、程式計數器以及五個支援暫存器。(圖片來源:Microchip Technology)

PIC24 具有 23 位元程式計數器,可存取高達 8 MB 的快閃程式記憶體;還有十六個 16 位元暫存器,亦稱為工作暫存器 (WREG),以 W0 至 W15 來表示。暫存器 W0 至 W13 是一般用途暫存器 (GP),可在韌體控制下儲存資料。W15 是專用堆疊指標 (SP)。雖然 SP 會因為函數與子常式的調用、編程例外及調用返回而自動遞增和遞減,但也可像 W0 至 W13 一樣,由韌體進行修改。

W14 可利用 LINK 和 UNLINK 組譯指令,當作堆疊框架指標 (FP) 使用。堆疊指標限制暫存器 (SPLIM) 是獨立的暫存器,可搭配 SP 使用,避免堆疊溢位。

PIC24 採用哈佛架構,具有獨立的位址和資料空間。資料表頁面位址 (TBLPAG) 暫存器和程式空間可見性頁面位址 (PSVPAG) 暫存器,可搭配特殊指令使用,在位址和資料空間之間存取並傳輸資料。此功能常見於 32 位元架構,但在 8 位元核心中極為少見。

16 位元重複迴圈計數器 (RCOUNT) 暫存器含有 REPEAT 組譯指令用的迴圈計數器。

16 位元 CPU 核心控制 (CORCON) 暫存器,可用來設定 PIC24 核心的內部操作模式。

最後,16 位元狀態暫存器包含 PIC24 核心狀態的操作狀態位元,包括最後一次執行組譯指令後進入的狀態。

Microchip Technology 的 PIC24FJ1024GA606T 效能在 32 MHz 下達到 16 MIPS;對 16 位元核心來說,相當令人驚豔。此核心具有 32 位元微控制器的許多功能,如 17 位元配 17 位元硬體乘法器 (可支援分數的數學運算),以及 32 位元配 16 位元硬體除法器。這對於需要執行感測器資料計算的 IoT 端點來說相當有用。此外,此架構還能同時讀寫資料記憶體,而不會降低效能。

雖然 PIC24FJ1024GA606T 有很多標準周邊裝置,包括 USB On-The-Go (OTG),但是對電池供電型應用來說,其耗電量非常低。此微控制器需要的電源電壓僅有 2.0 V 至 3.6 V,且在全速工作下,在 32 MHz 時的最大消耗電流為 7.7 mA,這對 32 位元核心來說相當不容易達成。韌體可以精密控制核心和周邊裝置的時脈。目前有兩個低功率模式組譯指令。IDLE 指令會停止 PIC24 核心,同時允許周邊裝置執行。SLEEP 指令則會停止所有裝置的操作,但選用的監控設備及外部中斷偵測除外。閒置電流僅有 2.8 mA (最大),而最大睡眠電流則介於 10 µA 至 45 µA 之間,視週邊裝置的配置而定。在最低功率模式下,亦即保留隨機存取記憶體 (RAM) 內容的睡眠模式下,PIC24F 的電流消耗量最低為 190 nA。

如需更高效能,Microchip Technology 在 dsPIC® 系列中有提供高階的 16 位元微控制器。其中一個便是 16 位元的 dsPIC33EP512GP506T,其內建 512 KB 快閃記憶體,額定效能為 70 MIPS。這款 dsPIC 的核心暫存器幾乎與 PIC24 相同,並有額外的暫存器可支援數位訊號處理 (DSP) 指令,內含兩個 40 位元累加器並支援 32 位元乘法運算。在系統中升級 PIC24 時,許多 PIC24 微控制器都有提供引腳相容的 dsPIC 升級項目,可使用相同的 PC 板提供更高效能。

當然,額外的效能就需要額外的電力。這款 dsPIC33 需要 3.0 V 至 3.6 V 的電源電壓,在 70 MIPS 操作下,最大電流消耗量為 60 mA。

降低功耗,同時提高效能

相較於快閃記憶體微控制器,Texas Instruments 的 MSP430FR599x 微控制器系列採用該公司的鐵電隨機存取記憶體 (FRAM) 程式記憶體,可在更低功率下達到更高的讀寫效能。MSP430FR5994IPNR 是該系列的 16 位元微控制器之一,具有 16 MHz 時脈及 256 KB 的 FRAM。

此 MSP430FR 微控制器核心具有效能增強功能,包括雙向關聯快取以及四行 64 位元的快取區塊,可提供更優異的 FRAM 效能。32 位元的硬體乘法器,可增強運算密集型操作的效能。此外,該產品還有一個獨立於 MSP430 主核心運作的低功耗加速器 (LEA) 輔助處理器。LEA 可以執行 256 點複雜型快速傅立葉轉換 (FFT)、有限脈衝回應 (FIR) 濾波器,以及矩陣乘法。TI 表示其執行速度比 Arm® Cortex®-M0+ 最多快 40 倍。LEA 可以提升感測器融合運算的效能、增強影像表現,並可處理超音波感測器資料。而這些應用對開發人員來說,首先都會想到使用 32 位元核心,而不是超低功率的 16 位元微控制器。

MSP430R 的編程模型非常簡單 (圖 2),總共有 16 個 16 位元暫存器,分別為 R0 至 R15。R0 是程式計數器;R1 是堆疊指標;R2 是狀態暫存器;R3 則是常數產生器 (供立即運算元使用);R4 至 R15 為一般用途暫存器;其餘的組態暫存器都是記憶體對映暫存器,與大多數的 32 位元核心類似。

Texas Instruments 的 MSP430 微控制器暫存器組示意圖圖 2:MSP430 微控制器暫存器組的組態與其他暫存器架構 16 位元核心類似。其餘的組態暫存器都是記憶體對映暫存器。(圖片來源:Texas Instruments)

此效能不會增加功耗。在即時時脈 (RTC) 維持運作的待機模式下,TI 的 MSP430FR5994 僅消耗 350 nA;在關機模式下的電流消耗量則只有 45 nA。這比目前所有已知的 32 位元微控制器都要低,甚至比大多數 8 位元微控制器更低。

MSP430FR5994IPNR 的工作電壓介於 1.8 V 至 3.6 V。在韌體從 FRAM 執行且無快取命中的情況下,MSP430FR 僅需 3 mA 的電流。若從快取執行程式碼,電流消耗量僅有 790 µA。若搭配 LEA,可為 16 位元微控制器提供顯著的效能增益並達到極低的耗電量。

使用 TI 的 MSP-EXP430FR5994 LaunchPad™,就可輕鬆開發 MSP430FR5994 系列的低功率應用。LaunchPad 提供開發人員所需的各項資源,以便開始對 MSP-EXP430FR5994 微控制器韌體進行編寫和除錯 (圖 3)。

TI 的 MSP-EXP430FR5994 LaunchPad 圖片圖 3:TI 的 MSP-EXP430FR5994 LaunchPad 含有開發人員所需的各項資源,可開始對 MSP430FR5994 16 位元 FRAM 微控制器韌體進行程式碼編寫和除錯 (圖片來源:Texas Instruments)。

LaunchPad 有兩個按鈕、兩個 LED 和一個 microSD 卡槽。為了發揮 MSP430FR5994 微控制器的低功率能力,LaunchPad 配備了一個能為 LaunchPad 供電的 0.22 F 大蓄電量超級電容。將 LaunchPad 連接外部電源,並將跳接器 J8 設定至「充電」設定,即可為超級電容充電,完全充滿需要兩至三分鐘。三分鐘後,將跳接器 J8 切換到「使用」設定,然後斷開外部電源。MSP430 可以執行好幾分鐘,視應用而定。

此外,LaunchPad 還可用於測量 MSP430 及應用的電流消耗量。J101 隔離區塊有七個跳接器,包括一個 3 V 電源供應器跳接器 (3V3)。這個 3V3 雙引腳跳接器可以移除,應用的電流即可透過這兩個引腳進行測量。

LaunchPad 還支援 TI 的 EnergyTrace™ 技術,並可使用 Texas Instruments 的 EnergyTrace 圖形使用者介面 (GUI) 連至電腦。這可讓開發人員觀察 MSP430 微控制器和應用的即時功耗,進而依據功耗進行應用微調。

舉例來說,透過即時的電流監測與記錄功能,可指出 MSP430 微控制器的電流消耗偶爾出現尖峰。電流尖峰會導致電池衰退,進而縮短電池使用壽命。晶片上周邊裝置配置不當、外部的電感負載或電容負載,甚至是韌體嘗試同時開啟所有功能,都有可能造成電流尖峰。電流的監測與記錄功能可向開發人員指出韌體的調整方向,以便控制電流尖峰。

結論

對許多低功率、中等效能的電池供電型嵌入式應用來說,開發人員可以選擇適當的 16 位元微控制器,而無需挑選 32 位元核心。如前文所示,對許多應用來說,16 位元微控制器的功率可能遠低於 32 位元微控制器,但仍可達到需要的效能。

聲明:各作者及/或論壇參與者於本網站所發表之意見、理念和觀點,概不反映 Digi-Key Electronics 的意見、理念和觀點,亦非 Digi-Key Electronics 的正式原則。

關於作者

Bill Giovino

Bill Giovino 是電子工程師,擁有美國雪城大學的電機工程學士學位,也是少數從設計工程師跨足現場應用工程師,再到技術行銷領域的成功典範之一。

Bill 過去 25 年來熱衷於向科技和非科技業的對象推廣新技術,包括 STMicroelectronics、Intel 和 Maxim Integrated 等多家企業。Bill 在 STMicroelectronics 任職期間,曾協助領導該公司順利進軍微控制器領域。在 Infineon 任職時,則策劃出該公司首款在美國汽車業大受歡迎的微控制器設計。Bill 目前是他個人公司 CPU Technologies 的行銷顧問,曾協助諸多企業讓表現不佳的產品重獲市場青睞。

Bill 更是採用物聯網的先驅,包括在微控制器中首次納入完整的 TCP/IP 堆疊。Bill 致力於推廣「用教育促成銷售」的理念,也認可在線上推銷產品時有清楚完整文字說明的重要性。他在 LikedIn 熱門的半導體銷售和行銷群組中擔任管理員,也擁有深厚的 B2E 知識。

關於出版者

Digi-Key 北美編輯群