跳轉到主要內容

預先應考量事項

本節的目的是在決定硬體之前給出一些建議,說明應考慮哪些因素。 每個產品都是不同的,因此有不同的標準和要求,因此,請參考以下內容,以便您在做決定之前了解應該考慮的因素。

以下主題涉及顯示幕的外觀、系統中記憶體的需求、UI 的預期效能以及產品的物理設計。

顯示解析度

顯示器有多種不同的解析度和長寬比。 一般來說,TouchGFX 不依賴於這些參數中的任何一個。 在選擇合適的硬體時,顯示解析度是主要因素之一,較高的解析度通常等於更多像素,因此需要渲染和傳輸的資料更多。

在 16/24 bpp 下,STM32 微控制器通常支援 XGA 解析度 (1024*768), 也支援非標準解析度,如寬或圓顯示。 對於 XGA 以上的解析度,通常必須在顏色深度、每秒幀數... 等做出妥協。

以下是標準解析度的 3 個範例:

顯示解析度範例

還應考慮像素密度,因為較大的顯示器尺寸需要更高的解析度才能看起來比較銳利,但較高的像素密度通常需要更高的成本。

在為應用程式選擇解決方案時,您應該問自己的一些問題是:

  • 什麼是終端使用者的目標區間?消費者通常需要更高的像素密度,而一些工業應用可能會爲了降低成本或更容易整合而在這一方面妥協。
  • 您打算在應用程式中使用大量的小文字嗎?由於像素密度更高,大塊的小文字通常在解析度較高的顯示幕上更易讀。
  • 您通常會同時在螢幕上顯示許多不同的元素嗎?較大的顯示器允許顯示更多元素,或使某些元素更清晰,因為有更多的螢幕尺寸可用。

顏色深度

第二個主要因素是顏色深度(各像素位元數),它決定了影像中每個像素可以儲存的資訊量,這意味著您能夠將多少種不同的顏色賦值給一個像素。

每像素 1 位元和每像素應用 24 位元

顯示器支援不同的顏色深度,在 24bpp 顯示幕上執行 16bpp GUI 應用程式是可能的,但在僅能夠顯示 16 位顏色的顯示器上執行 24bpp 應用程式將產生反效果。

顯示色彩上有很多細微差別的複雜影像需要更高的色彩深度才能盡可能接近源影像。 所選的顏色深度對所需的記憶體量有影響。

不要低估在低色彩深度上可以實現的目標,因為許多現代 UI 設計理念都圍繞著扁平化和色彩密集度較低的應用(例如 Google 的材料設計)。 TouchGFX 可以透過應用一種抖動演算法,幫助複雜影像在低顏色深度上變得有用。 你可以在較低的顏色深度上實現,下面是一些範例:

低色深度應用範例

在為應用程式選擇顏色深度時,您應該問自己的一些問題是:

  • 您是否需要顯示真實生活中的影像?如果使用真實影像或多層組合影像,建議在應用程式和顯示器使用 24 bpp 像素,因為在某些情況下,16bpp 不足以顯示所有所需的顏色。 16bpp 在許多情況下已經足夠了,並且仍然是業界標準之一。
  • 灰度顏色或簡單的 6/8 bpp 是您的應用程式所需傳達的全部內容嗎?也許您的應用程式不需要分散的顏色來正確傳達其功能,因此可以選擇較低的顏色深度。 這也減少了影像緩衝區的大小,從而減少了RAM的需求。
  • 您是否對記憶體和/或快閃記憶體有限制?限制顏色深度將減少點陣圖和影像緩衝區 (RAM) 需求的大小。

影像緩衝區大小計算

影像緩衝區是存儲、渲染和傳輸幀像素資料到顯示器的位置。 影像緩衝區的大小非常重要,因為更高的像素量和更高的顏色深度要求在 RAM 和顯示介面上獲得更高的傳輸量。

影像緩衝區的位元大小為:

顯示器寬度*顯示器高度*(每像素位/8)

例如,顏色深度為 16bpp 的 800x480 應用程式和單個影像緩衝區需要分配一個大小為:

800 * 480 * (16 / 8) = 768.000 位元組(768.000/1024 = 750KB)

因此,當您決定解析度和顏色深度時,請確保您有足夠的 RAM 來支援它。 有些應用程式需要 2 個框架緩衝區,因此在上述範例中,所需的 RAM 為 750 千兆位元組 * 2 = 1500 千兆位元組。

影像緩衝區計算

Further reading
請注意,支援影像緩衝區所需的記憶體也嚴重依賴於所選的影像緩衝區策略(單、雙、部分),您可以在影像緩衝策略文章影像緩衝中閱讀更多內容。 一些 STM32 微控制器的內部 RAM最多只能支援HVGA 解析度 ,以獲得非常經濟高效的解決方案。

顯示

介面

可以選擇具有不同顯示介面(如 SPI、LTDC、MIPI-DSI)的顯示器,這些顯示器對所需的引腳數量、頻寬、支援解析度以及可能需要的外部 RAM 數量都有不同的影響。 閱讀更多與此有關的內容以及顯示幕章節中每個優點和缺點。

尺寸

顯示器的物理尺寸也很重要。 較大的顯示幕通常操作更方便,提供精確的觸摸指令也更容易,但也需要更大的解析度才能輕鬆觀看,從而影響對更多記憶體和傳輸量的需求。 如果顯示器上的資訊顯示在 1-2 米之外,則文字、圖示等需要足夠大。

觸控

觸控顯示器有兩種主要類型:

電容型

電容式觸控顯示器具有更高的觸控靈敏度,這在需要更先進的觸控操作(如拖拉、輕掃等)中是很重要的它也是現代裝置中使用最多的。

然而它們也更昂貴,且往往不能戴手套操作,所以如果這一點很重要,也許電阻式是解決方案。

電阻型

這種更便宜的替代品不太敏感,在陽光下能見度低,但可以戴手套操作,而且它對意外的接觸不太敏感,通常也更耐用。

因此,如果您所有的觸控操作都由簡單的點按按鈕組成,則電阻顯示器可能就足夠了。 STM32F429-DISCO 板使用電阻式觸控顯示器。

動畫

如果硬體的傳輸量和計算能力不足,執行複雜的動畫(如全屏轉換、旋轉和縮放)可能會對效能產生重大影響。

在決定應用程式中的動畫等級時,您需要問自己的一些問題是:

  • 您是否需要高速全屏轉換?全螢幕轉換需要渲染完整的影像緩衝區,因此依賴於足夠的 MCU 時脈,以及足夠快的存取和傳輸像素資料 所需的系統效能還取決於解析度和顏色深度。 建議在STM32高效能產品上使用高解析度全屏轉換。 某些轉換需要額外的儲存空間,因此可能導致需要更大的記憶體。
  • 您是否需要複雜的紋理貼圖動畫,如旋轉和縮放?在計算和傳輸點陣圖時,驅動紋理貼圖進行動畫繪製在系統上可能相當密集,因此通常需要更高的 MHz 和較高的記憶體輸送量。

動畫

機械設計要求

產品的物理外殼要求會有很大的差異,並可能對選擇的硬體產生影響。 家用電器與工業用途有不同的要求,因此,在了解物理限制之後,您應該考慮的一些問題可能是:

  • 您的產品需求是否非常小?例如智慧型手錶,其外殼尺寸有限,限制了電路板的大小,因此選擇正確的元件非常重要。 STM32 提供各種各樣的 MCU 套件,如 WLCSP 套件。
  • 您的產品是否會受到極端溫度的傷害?電容顯示器在異常高溫或異常寒冷時可能會效能不佳。 因此,如果您在冷凍庫中安裝產品,電阻顯示器可能會獲得更好的使用者體驗。 STM32 產品組合提供環境溫度範圍高達85、105和125度的微控制器。
  • 您的產品是否需要對室外環境因素(如水或灰塵)具有很強的抵抗力?
  • 強陽光下的可視性重要嗎?顯示器在燭光和流明中各不相同,顯示器的流明和燭光越高,顯示器的可讀性越高。 添加特殊的保護板也可以改善這一點。 或者使用另一種可能提供反光功能的顯示技術。

每秒幀數

每秒更高穩定的畫面幀數 (FPS)通常更好,因為這樣可以使應用程式看起來更流暢。

但有時 FPS 不太重要。 例如,在靜態GUI中,具有最小顯示動畫更新。 在這種情況下,低成本硬體可能更加合適。

但是,擁有一個漂亮流暢並帶有許多華麗動畫的應用程式也可以是一個巨大的賣點,這取決於目標使用者所在的行業,因此與硬體選擇相關的任何事情都是為了滿足最終使用者的期望,並提供良好的使用者體驗。

圖形使用者介面的整體效能歸結為系統層面的效能,包括 MCU、RAM、Flash、顯示、介面傳輸量等元件,以及 STM32 Chrom -ART 等硬體功能。

下面的圖示概括的描繪了一些不同參數的影響。 要選擇正確的硬體,需要考慮這些參數。 同時考慮到STM32 Chrom -ART正在減輕MCU的工作量,因此在某些情況下降低了高MCU頻率的重要性。

不同參數對 FPS 的影響