打造更有效的智慧型裝置:第 3 篇 – 處理器效能
資料提供者:DigiKey 北美編輯群
2018-10-30
編者說明:本系列文章分為三篇,探討如何打造更有效的智慧型裝置。第 1 篇探討能讓功率與效能達到平衡的低功率設計技術。第 2 篇講述如何因應使用者透明安全性的挑戰。第 3 篇 (本文) 說明達到設計目標所需的 MCU 規格。
使用者期望智慧裝置的功能更強大、更安全並擁有更長的電池續航力。為了符合期望,開發人員挑選 MCU 時,不僅要有足夠的低功率效能與記憶體來滿足當前的功能需求,還要具備安全更新能力,以便達到功能增進與錯誤修補。
由於 MCU 是穿戴式、物聯網裝置,以及其他智慧型可攜式產品的核心,因此在高效能與低功率之間保持適當的平衡相當關鍵,這樣才可在小尺寸產品中執行日趨精細、複雜的軟體應用程式,同時降低電池耗電。除了安全保障外,長工作壽命與使用簡便性,也都是關鍵的使用者體驗因素。
本文將說明如何使用 Maxim Integrated 現成且具有良好支援的 MCU 系列產品來滿足這些需求。
界定良好的使用者體驗
從許多方面來看,使用者的需求與開發人員過去努力滿足的需求,基本上沒有太大的差異。然而,在新興智慧型產品可接受的解決方案層面,設計人員則面臨關鍵的差異問題。使用者越來越希望產品要小巧、輕便且可舒適配戴,如果要擺放在家裡或公司,也不突兀。使用者更樂於接受的智慧型產品有幾項特質:無需過度關注,且無論在使用、充電或更新上都不需要繁複的操作,同時還要保持安全。
除了互動簡便以外,使用者通常也希望智慧型產品在尺寸與外觀上 (包含「風格」),都要與功能相似的傳統產品幾乎雷同。比如說,使用者比較能夠接受類似手環或手錶的健身穿戴式裝置,而不會想在手腕上配戴一個外型突兀的裝置。
當然,如果產品無法為使用者帶來足夠的價值,再怎麼容易操作、好看的產品,仍然是失敗的產品。一個時髦的手腕穿戴式裝置,如果只能提供少許實用資訊,就跟一條昂貴的手環沒什麼兩樣。若要將技術與風格完美結合,就需要具備一定程度的隱藏式智能。
為了達到這種隱藏式智能,開發人員必須採用一些高階特性,如舒適的互動、熟悉的外觀,以及極富價值的資訊,以便滿足應用的專屬需求。
延伸需求
對設計人員而言,若要滿足使用者對於簡易互動的期望,就必須提供足夠的效能,讓智慧型產品上運行的更複雜應用軟體迅速提供結果。這些功能性需求又轉化為對處理器的需求,以便執行軟體,同時還要從逐漸增多的感測器模態中,擷取更多有用的資訊。
為了取得此資訊,這些裝置將存取有權限保護的資訊,而這需要強大的安全機制來提供保護,而又不會影響應用程式效能。
除了這些直接需求以外,智慧型裝置還要在不造成使用者負擔的前提下,利用背景執行的軟體更新,因應新型態的攻擊。同時,設計必須結合有效的節電功能,以便延長電池續航力,使用者就不必攜帶笨重的電池或頻繁地充電。
確保使用簡便性本身就包含多樣需求,光滿足這一點已經是一大挑戰,若還要符合使用者對智慧型產品的美感要求,則是難上加難。笨重的電池、太大的設計覆蓋區,或難操作的使用者介面,都會讓使用者卻步,甚至不想與產品互動。
在設計中納入智慧能力前,開發人員必須在形式與功能兩個極端間取得平衡。為達到此平衡,開發人員必須進一步確認替代方案,專注於解決諸多層面之間的既有衝突,包括高效能與低功耗、豐富功能性與覆蓋區,以及靈活性與安全性之間的衝突。
另一個因素就是成本。物聯網、穿戴式裝置與智慧型產品日新月異,意味著開發人員必須提供可支援未來需求的硬體,還有軟體更新。在規劃未來功能增強時,若有需要在初始設計中增添額外的處理能力與儲存空間,開發人員就必須考量裝置日後可能會增加的成本。
對開發人員來說,找到符合這些諸多要求的解決方案,其關鍵在於嵌入式智慧型產品設計的核心,亦即 MCU。雖然 8 位元與 16 位元 MCU 至今仍是熱門的選擇,但在使用者期望逐漸升高下,智慧型產品必須提供更高的效能與功能性。因此,32 位元 MCU 也成為智慧型產品系統設計的熱門選項。舉例來說,與 8 位元或 16 位元 MCU 相比,32 位元 MCU 能以更少的指令循環完成基本運算,如 32 位元加法 (清單 1)。
複製 anl PSW, #0E7H ;Register Bank 0 mov a, r0 ;load X low byte into acc add a, r4 ;add Y low byte mov r0, a ;save result mov a, rl ;load X next byte into acc addc a, r5 ;add Y next byte with carry mov rl, a ;save result mov a, r2 ;load X next byte into acc addc a, r6 ;add Y next byte mov r2, a ;save result mov a, r3 ;load X high byte into acc addc a, r7 ;add Y high byte with carry mov r3, a mov C, OV ret (A) mov a, r0 add rl mov r0, a ret (B)
清單 1:若要進行 32 位元加法,8 位元 MCU 完成同一運算所需的指令循環數 (A),比 32 位元 MCU 的循環數 (B) 高出許多。(程式碼來源:Maxim Integrated)
若設計人員在感測器融合式演算法當中併入多個感測器數據串流時,對高效能 32 位元 MCU 的需求就更顯重要。感測器融合式演算法的應用很多,例如產生精準的方位與室內位置資訊,而這些都是使用者越來越希望在穿戴式裝置與行動產品上看到的資訊。在此期望下,具備先進 MCU (如 Maxim Integrated 的 Darwin MCU 系列) 的功能,就成為實現隱藏式智能不可或缺的要素。
實現隱藏式智能
Darwin MCU 是專為支援新興智慧型產品需求而設計。此系列結合了低功耗作業與全套的整合式功能,系列成員包括 MAX32620、MAX32625 與 MAX32630。
Darwin MCU 以帶浮點單元 (FPU) 的 32 位元 Arm® Cortex®-M4 為基礎,不僅全面支援低功耗作業,也結合周邊裝置管理、電源監控與加密等專門區塊 (圖 1)。也提供安全款式,如 MAX32631,可透過整合式信任保護單元 (TPU) 延伸安全性支援;此 TPU 能夠在智慧型產品與外部主機的每次互動中支援機密性、完整性與真確性。
圖 1:Darwin MCU 包括 MAX32630 及其安全款式 MAX32631 等,兼具 32 位元處理效能,以及全套周邊裝置、介面與專門區塊,其中包括 MAX32631 中可支援關鍵安全機制的信任保護單元 (TPU)。(圖片來源:Maxim Integrated)
開發人員可善用 MCU 的多個類比與數位周邊裝置以及序列介面,針對採用多重感測器的系統,簡化其硬體設計。Maxim Integrated 使用 MAXREFDES100 評估套件展示簡化的設計。此套件包含一個板件與公版設計,可說明多種感測器的使用方法,包括 Maxim 的 MAX30205 人體溫度感測器、MAX30003 ECG 類比前端 (AFE)、MAX30101 脈搏血氧儀,以及其他用於一般健身穿戴式裝置的感測器。
擷取較為複雜的資料需要靈活的介面,但是 Darwin 指令集架構可讓這些 MCU 迅速執行複雜的演算法,而目前也越來越需要這些演算法,以便從資料中擷取有用的資訊。此指令集混合了 16 位元與 32 位元指令,縮減應用軟體覆蓋區,同時保持 32 位元架構每位元組可執行更多指令的能力。除了整合式 FPU 以外,Darwin 的 CPU 架構也具備高速硬體乘積累加運算能力 (MAC),還有單指令多資料 (SIMD) 平行處理能力,進而提供數位訊號處理能力。
浮點與 DSP 指令的結合,有助於 Darwin MCU 更快執行資料密集的演算法,以便將智慧功能融入到新一代產品中。同時,MCU 在晶片上整合足量的記憶體,可儲存演算法與其他應用程式碼,而且還有不斷補充的系統層級軟體,包括即時核心、通訊堆疊與安全性協定堆疊等。開發人員能夠從 Darwin MCU 系列產品中,找到最適合自己應用的快閃記憶體與 SRAM 組合。MAX32630/MAX32631 MCU 提供 2 MB 的快閃記憶體與 512 KB 的 SRAM;MAX32620 提供 2 MB 的快閃記憶體與 256 KB 的 SRAM;MAX32625 則具有 512 KB 的快閃記憶體與 160 KB 的 SRAM。為了簡化這些記憶體的使用,Darwin MCU 支援一致的記憶體對應,可將多種記憶體類型與記憶體對應的暫存器,合併到單一位址空間內 (圖 2)。
圖 2:Darwin MCU 使用單一位址空間,其中含有多種記憶體類型,以及功能區塊所用的記憶體對應暫存器。(圖片來源:Maxim Integrated)
開發人員能進一步擴充可用的快閃記憶體,以支援龐大的程式碼組合或系統函式庫。而 Darwin MCU 可支援晶片內執行 (XIP) 運算,能讓 CPU 直接從外部快閃記憶體執行程式碼。Maxim Integrated 以 MAXREFDES100 公版設計展示此作法,其中包含 32 MB 快閃裝置,即 Cypress Semiconductor 的 S25FS256SAGNFI001。
雖然有大量的記憶體與處理能力,Darwin MCU 仍可滿足開發人員的低功耗要求。在本文提到的 MCU 產品中,MAX32630/MAX32631 MCU 可支援的內建記憶體最大,能以區區的 3.4 µW 維持 512 KB 的 SRAM。即便是在全作用模式下,也只消耗 130 µW/MHz。此外更在兩者間提供折衷方案:在使用整合式周邊裝置管理單元 (PMU) 的特殊模式中,只要消耗 30 µW/MHz 即可啟用周邊裝置作業,而同時間 CPU 核心仍然保持在極低功率的休眠狀態中。
Darwin MCU 可在處理器休眠的同時運行周邊裝置,因此能讓開發人員限制 CPU 處於作用模式中的時間,藉此減少功耗。開發人員不必使用完全作用的 CPU 來定期輪詢感測器並將結果傳送到主機,而是可以改用 Darwin MCU 的「等待中斷」、「等待事件」與「結束後休眠」指令,將主動工作週期減至最少,進而減少整體系統的功耗 (圖 3)。
圖 3:在穿戴式或其他感測器系統中,開發人員可將 CPU 處於低功耗休眠狀態的時間最大化,從而大幅減少系統功耗;喚醒時間只需足以擷取感測器資料,並將結果傳送到主機即可。(圖片來源:Maxim Integrated)
速度較慢的 MCU 從休眠轉換到作用模式經常會浪費功耗,而這些 MCU 的喚醒時間為 5 µs,可以減少轉換期間浪費的功耗。配合本身的 SRAM 保留休眠狀態,這些裝置能快速繼續進行處理,不會有使用外部非揮發性記憶體進行儲存與狀態恢復時導致的長時間延遲和電力浪費情況。如此一來,工程師就能開發高效且注重功耗的應用。
為了支援這些應用的開發作業,Maxim 提供 MAX326XX 韌體軟體開發套件 (SDK),其中包含周邊裝置驅動程式、電路板支援驅動程式,以及應用程式範例 (圖 4)。
圖 4:為了協助軟體開發人員,Maxim Integrated 的 MAX326XX 韌體軟體開發套件 (SDK) 提供應用程式範例,示範如何使用 Arm Cortex 微控制器軟體介面標準 (CMSIS) API 內建的 SDK 周邊裝置與電路板驅動程式。(圖片來源:Maxim Integrated)
MAX326XX 韌體 SDK 周邊裝置與電路板函式庫以 Arm Cortex 微控制器軟體介面標準 (CMSIS) API 為基礎建立。應用程式軟體一般都是與周邊裝置與電路板函式庫互動,但必要時也能與 CMSIS 直接互動,以傳達至底層硬體。
結論
使用者期望穿戴式裝置、物聯網裝置與其他智慧型裝置,都能在系統中提供複雜且精密的應用功能,進而提供簡易的互動、舒適的配戴,並提供絕佳價值。為了滿足這些需求,開發人員需要的 MCU 必須結合豐富功能、高效處理能力與低功耗作業。
Maxim Integrated 的 Darwin 系列 MCU 專為滿足這些需求而設計,可讓開發人員更輕易打造具備隱藏式智能的裝置,滿足智慧型產品使用者的期望。

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