用於嵌入式裝置偵錯的 UART:低功率裝置的最佳實踐

儘管 USB 已取代大多數週邊裝置的連接方式,但 UART 在嵌入式系統領域仍然活躍,用於為 GPS 模組到 Raspberry Pi 和 Arduino 板等應用進行偵錯。

開發人員在追求突破超低功率設計的極限時,經常會問:UART 是隱形的電池殺手嗎?簡單回答:不,並非如此。任何優良的工具,其效果都取決於如何實作。讓我們仔細分析一下。

注意 TX/RX 漏電流

避免非必要功耗的簡單方法之一是處理 TX 和 RX 通道的任何漏電流。雖然高漏電流並不常見,但最好能儘早進行檢查並解決潛在問題,以避免日後出現非預期的功耗。

以低功率的思維編寫和執行程式碼

在開發過程中,UART 的偵錯能力非常方便,但它就像一把瑞士刀,只有在使用時才會打開,不會隨時打開放在口袋裡。較明智的做法是在程式碼中使用 #define 觸發 UART 進行偵錯,並在元件投入生產時關閉 UART。這是一個簡單的技巧,但可以讓您排除現實中的麻煩。

想像一下:您和團隊成員正聚精會神,努力將功耗降至最低。您正在執行連續電流測量,並取得驚人的進展。在開發過程中,您啟用了 UART 進行偵錯,接受暫時的耗電量。但後來有人不小心將該程式碼合併到主分支中,此時 UART 仍然在啟用狀態,並且空中更新到數百萬台裝置上。突然間,您原本的高效率設計就像電玩機台一樣瘋狂耗電,結果是您得到一群不開心的客戶。

如何修復?設定具有電流消耗基準的連續整合系統。如此一來,可以在此問題成為代價高昂的錯誤前先發現。此系統可視為一個自動化安全網,在程式碼投入生產之前控制這些額外的電流。

確保關閉一切

啟用 UART 可以啟動軟體的各部分,包括各種 MCU 模塊和時脈。MCU 的設計通常預設開啟所有功能,以利於開發。然而,需在 MCU 進入睡眠模式之前停用不必要的組件。如果 UART 時脈保持啟用,可能會阻止 MCU 進入最深度的睡眠狀態,而會有更高的功耗。檢查時脈樹並確保連接到 UART 的所有組件在不需要時確實關閉。

實際 Otii 實驗

Seeed TechnologySeeed Studio XIAO nRF52840 上執行兩個不同版本的韌體進行實驗。首先,準備一個範例腳本,用於初始化模組、設定快閃記憶體、執行短 LED 閃爍序列,接著讓模組執行最低功率模式。其中一個版本啟用 UART,另一則停用。我們使用 QoitechOtii Ace Pro 測量電流消耗,分析和比較兩個版本在不同電壓位準下的功耗。

圖 1 中,裝置主動傳送 UART 訊息,圖 2 顯示 MCU 處於睡眠模式。藍線表示啟用 UART,橘線表示停用 UART。此差異凸顯出 UART 對功耗的影響。

圖 1:運作中的 SeeedStudio XIAO nRF52840 裝置,其 UART 通訊功能啟用 (藍) 或停用 (橘)。(圖片來源:Qoitech)

圖 2:XIAO nRF52840 裝置在低功率模式中 (圖表選定部分),其 UART 通訊為啟用 (藍) 或停用 (橘)。(圖片來源:Qoitech)

在主動模式下,平均電流消耗從 460 μA 增加到 1.34 mA (圖 1)。在睡眠模式下,電流消耗從 2.27 μA 降為 2.19 μA (圖 2)。物聯網裝置通常有長睡眠週期,因此雖然這點差異看似微不足道,但卻會對電池續航力造成明顯影響。顯然,韌體在 UART 停用時達到最佳化。

使用 Otii 估算電池續航力

我們使用 Otii 桌面應用程式電池續航力估算器展示對電池續航力的影響。假設每小時有一個活動週期,此時裝置喚醒並執行閃爍序列,接著睡眠近 3600 秒。

圖 3 中,UART 停用,而在圖 4 中,UART 啟用,顯示出電池續航力的顯著差異取決於是否使用 UART。

圖 3:停用 UART 通訊時的電池續航力估算。(圖片來源:Qoitech)

圖 4:啟用 UART 通訊時的電池續航力估算。(圖片來源:Qoitech)

差別很大!UART 保持啟用狀態時,預估電池續航力從 5.9 年縮短至僅 11.6 天。

請謹記:需確保 MCU 進入睡眠模式之前,必須關閉與 UART 相關的一切。使用 Otii 產品套件 將其整合到連續整合流程中,有助於防止意外啟用 UART,進而避免大量縮短裝置的電池續航力。

關於作者

Image of Qoitech

Qoitech offers the Otii product series, designed to help companies extend battery life throughout the prototype, development, and maintenance phases, getting insights beyond datasheets. With real-time measurements, Otii enables the optimization of devices, battery profiling, and selecting the most suitable batteries. Whether you're working from home, your desk, or outside, Otii provides a versatile on-the-bench solution.

Used by developers and teams in 3,500+ companies across more than 65 countries, Otii consists of powerful hardware options: Otii Arc, supporting up to 5V, and Otii Ace, supporting up to 25V. Coupled with the Otii Pro software, enhanced with two robust add-ons - the Battery Toolbox and Automation Toolbox - Qoitech delivers a comprehensive solution to enhance battery performance and overall device efficiency.

By leveraging Qoitech's Otii products, companies can confidently optimize battery usage, extend battery life, and streamline their development processes, resulting in improved product reliability and customer satisfaction. Qoitech empowers developers worldwide to achieve their battery life goals and deliver exceptional IoT devices.

More posts by Qoitech
 TechForum

Have questions or comments? Continue the conversation on TechForum, Digi-Key's online community and technical resource.

Visit TechForum