進一步降低可穿戴裝置功耗的設計秘訣

作者 : Harsha Medu、Vinay Manikkoth,Cypress應用工程師

研究顯示,可穿戴裝置中對電池電量消耗量最大的就是顯示器,解決方法之一是直接提高電池容量,但大容量電池會增加尺寸和重量,對可穿戴裝置不合適...

更長的電池壽命是可穿戴裝置提供良好使用者體驗的關鍵。研究顯示,可穿戴裝置中對電池電量消耗量最大的就是顯示器,解決方法之一是直接提高電池容量,但大容量電池會增加尺寸和重量,對可穿戴裝置不合適,尤其是在市場不斷追求更小型化的新款產品時更是如此。更具挑戰性的是,電池技術的發展跟不上日益成長的系統需求。因此,最大限度降低顯示器功耗成為可穿戴裝置市場的關鍵設計因素。

人類的視覺感知非常精確,推動了製造商在可穿戴裝置中使用更高解析度的顯示器。雖然有多種節能方案可供使用,但任何視覺品質下降都會直接影響裝置的整體體驗,因此在為顯示器考慮節能方案時必須謹慎小心。要想提高顯示器解析度,就需要提高記憶體頻寬,所以為了延長電池使用壽命,降低記憶體在待機模式和運作模式下的功耗變得更有實際意義。

顯示系統架構

顯示器由畫素(pixel)陣列構成,每個畫素的驅動值決定顯示的顏色。基於RAM的影格緩衝記憶體(frame buffer)保存了顯示器上每個畫素的顏色資訊,大部分常用的平行顯示器需要更新週期,從影格緩衝記憶體讀取資料,然後在顯示器上顯示。如果顯示器的解析度和色彩深度不高,控制器內建的RAM也可以當作影格緩衝記憶體。

隨著顯示器尺寸增加,解析度和色彩深度提高,內建RAM將無法提供足夠的容量或性能。為了避免畫面撕裂(screen tearing),也有必要採用雙緩衝記憶體。在這些系統中,通常以外部記憶體作為影格緩衝記憶體;在更新週期中,從外部影格緩衝記憶體讀取資料,並連同控制訊號輸出給顯示控制器資料匯流排。圖1是採用外部影格緩衝記憶體的典型顯示器功能區塊。

20200213_FRAM_TA31P1

圖1:平行SRAM顯示器緩衝記憶體實作範例。
(圖片來源:Cypress)

降低顯示器功耗的方法有很多種。

  1. 將顯示控制器整合到主微控制器內部;市場上常見的顯示器模組都有內建控制器,完成上述整合後,有助於充分利用主微控制器的低功耗特性。
  2. 使用低功耗記憶體作為影格緩衝記憶體;因為影格緩衝記憶體始終處於開啟狀態,所以應使用低待機電流的記憶體。
  3. 減少對影格緩衝記憶體的頻繁更新;使用容量足夠大的記憶體並載入多個影格,可降低CPU有效電流(active current)。如果將最常存取的影格存入記憶體,就無需從影格緩衝記憶體存取資料。將影格緩衝記憶體切換到不同的記憶體位置,就能切換顯示器上顯示的影像。

傳統上,我們一直將平行非同步SRAM用作外部顯示緩衝記憶體,因為控制器和顯示器能夠輕鬆地為他們提供支持。然而,這種類型的記憶體封裝尺寸大、接腳數量多。串列記憶體接腳數量少、封裝尺寸小,可以減少所需的控制器接腳數,節省PCB成本;在以Quad SPI模式運作於108MHz時,串列記憶體的性能可媲美平行非同步SRAM。

舉例來說,Cypress Excelon F-RAM就是一款最大密度高達8Mbit,並採用低接腳數小型GQFN封裝的串列非揮發性記憶體。為最佳化功耗,該元件可支援四種功耗模式。在典型的Quad SPI模式下以108MHz運作時,有效電流為16mA;當記憶體不運作時,待機模式耗電102μA。深度待機模式可進一步將耗電降至0.8μA,休眠模式下只需要0.1μA的最低耗電。

節省電力

由於可使用多種功耗模式並結合不同的喚醒次數,因此開發人員可根據應用需求降低整體功耗水準。當顯示器處於使用狀態時,記憶體將根據何時被存取以進行突發讀取,在運作模式和待機模式之間交替。當顯示器需要短時間暫停使用時,可使用深度待機模式。至於顯示器將在較長時間內停止使用時,可使用休眠模式。

20200213_FRAM_TA31P2

圖2:採用Cypress PSoC 6 + Excelon F-RAM的顯示器解決方案。
(圖片來源:Cypress)

圖2所示為採用串列F-RAM的典型實作案例。CPU負責將初始顯示資料寫入到影格緩衝記憶體;寫入後,LCD控制器將來自F-RAM影格緩衝記憶體的資料週期性更新至LCD顯示器。在設計時採用F-RAM,能為可穿戴裝置顯示器提供每秒>30影格(fps)的更新率。採用QSPI F-RAM在各種解析度的顯示器上提供的典型fps如表1所示。

20200213_FRAM_TA31T1

表1:採用QSPI F-RAM在各種解析度的顯示器上所提供的典型fps。

除了作為顯示緩衝記憶體,非揮發性F-RAM還能用作預渲染影像(pre rendered images)記憶體,從而釋放快閃記憶體空間,如此還能為影格緩衝記憶體節省初始設置時間。過去的做法是在電力開啟或從低功耗模式喚醒時,從快閃記憶體將資料和/或顯示範本複製到影格緩衝記憶體。使用非揮發性記憶體可以釋放系統,從而加快啟動時間。圖3所示為顯示應用中微控制器的典型功耗特徵,最大功耗發生在渲染和傳輸所顯示影像期間;使用預渲染影像可縮短微控制器的工作時間,減少這一額外功耗。

20200213_FRAM_TA31P3

圖3:微控制器功耗特徵。
(圖片來源:Cypress)

低功耗設計

顯示應用通常採用320×240解析度和每畫素16位元的顯示器;這種顯示器需要150KB容量的顯示緩衝記憶體。一顆4Mbit的串列F-RAM能保存三個影格大小的影像,在一般情況下可穿戴裝置的顯示器尺寸和解析度更小,需要的顯示緩衝記憶體也更小。在用作顯示緩衝記憶體時,串列F-RAM以記憶體映射模式(emory mapped mode)運作,以便CPU和存取其他內建記憶體一樣存取串列F-RAM。

在圖4的範例中,顯示控制器使用PSoC 6中的通用數位區塊(Universal Digital Blocks,UDB)、串列記憶體介面區塊(Serial Memory Interface Block,SMIF)和直接記憶體存取(DMA)來實現,以實現低功耗更新運作。顯示控制器(UDB)將生成用於顯示的控制訊號,包括HSync、VSync、Data Enable (DE)和Dot Clock。由於UDB只有一個4-byte FIFO,因此以內建SRAM作為線緩衝記憶體(line buffer)。與影格緩衝記憶體相較,線緩衝記憶體很小,不需要大容量內部SRAM。

20200213_FRAM_TA31P4

圖4:採用串列記憶體的整合式LCD控制器架構。
(圖片來源:Cypress)

顯示控制器更新率的表達方式是fps。Vsync脈衝表示每個影格的起始,在每個影格中都有多條線(line)與水平顯示線相對應;每一條線的起始以Hsync脈衝表示。而每個Hsync脈衝內的資料則以點時脈(Dot Clock)計時,如圖5所示。

20200213_FRAM_TA31P5

圖5:顯示器更新週期。
(圖片來源:Cypress)

在每個水平同步脈衝之前,透過觸發DMA從外部F-RAM向SRAM複製線緩衝記憶體。由於DMA無需CPU干預,因此CPU可以保持休眠模式以節省電力。在每個點時脈上,由線緩衝記憶體(即SRAM)至顯示器控制器(UDB FIFO)初始化DMA。顯示控制器將向顯示匯流排輸出資料和正確的控制訊號。兩個影格更新週期之間的時間被稱為空白期(blanking period,具體為應該稱為vertical blanking),可用來更新F-RAM影格緩衝記憶體。

整體功耗與CPU、影格緩衝記憶體、顯示器模組三者的功耗總和呈函數關係,如果CPU和顯示模組使用串列或平行記憶體產生的功耗保持不變,則因串列F-RAM和平行SRAM電流消耗不同而觀察到的功耗差異如表2。

20200213_FRAM_TA31T2

表2:使用SRAM與F-RAM的功耗差異。

與傳統的顯示緩衝記憶體相比,F-RAM不僅功耗更低,而且接腳數更少、封裝更小。可以F-RAM作為通用影格緩衝記憶體,並與帶有內建顯示控制器的控制器搭配使用。除了能最大限度降低功耗,F-RAM記憶體也能作為可穿戴裝置的非揮發性儲存,從而提高效率。

可穿戴裝置市場正呈現爆發性成長,富於想像力的設計人員正在創造外型更小巧的產品。電池使用壽命長、功耗水準低是吸引消費者的關鍵致勝因素,為了實現此一目標,主要策略是最大化降低顯示器功耗水準,以F-RAM取代傳統SRAM顯示緩衝記憶體是一種理想方案。

本文同步刊登於電子工程專輯雜誌2020年2月號

(參考原文: Optimizing wearable display power consumption,by Harsha Medu and Vinay Manikkoth)

發表評論