這是使用NuMicro M480系列微控制器在OLED螢幕上顯示靜態與動態資訊的電競參考設計。NuMicro M480系列微控制器強大的運算力所賜,在OLED螢幕上除了顯示一般靜態資訊外,如環境溫度、系統狀態、顯示卡風扇轉速等,更可以即時解碼GIF動態影像,在OLED螢幕上流暢地播放動畫。
此參考設計中包含了emWin GUI資料庫,搭配易用的視窗軟體,即可快速勾勒出精緻的圖形介面,讓整體OLED畫面看起來更專業。此外還內置字型庫用以輸出高品質文字。
NuMicro M480系列微控制器基於Arm Cortex-M4內核,帶有數位訊號處理指示(DSP)與浮點數運算單元(FPU),主頻最高可達192 MHz,能夠快速解碼GIF動態影像,多達512KB嵌入式快閃記憶體與160KB 嵌入式記憶體,可用以儲存字型庫及圖型快取(Cache)。除了本身內部記憶體外還支持外部SPI Flash的SPIM通訊介面,最大可擴充容量到32Mbytes並且可以設定為直接記憶體映射模式(Direct Memory Map Mode)以及32Kbytes記憶體快取來加速存取速度,讓OLED螢幕能流暢地播放動畫。(一) 硬體介面線路
- SPI NOR Flash : 因顯示的(BMP、PNG、JPEG及GIF)圖檔所站的空間非常龐大,必須外接SPI Flash增加記憶容量才能來容納龐大的圖庫,本方案利用M480支持的Quad SPI的4位傳輸模式來增加存取速度處理龐大的資料量,以避免畫面顯示時的延遲達到順暢的動畫顯示效果。
- OLED介面 : MCU採用標準的SPI 接口與OLED 驅動IC對接,驅動IC控制介面選擇用單線式SPI介面,本方案的線路除了提供驅動IC工作電壓3V之外還需額外提供16V給OLED面板之電源,應用線路參考如下:
- OLED面板模組控制介面
-
16.0V DC/DC升壓線路
-
OLED面板模組接腳定義
(二)軟體移植及設定
- SPI NOR Flash : SPIM初始設置成DMM模式可以讓CPU從記憶體映射模式位址0x8000000地方直接讀取SPI Flash內容,其中可規劃將32 KB內部的SRAM來支援快取機制加速讀取或執行外部SPI Flash上的程式,不需要再經由像一般Command/Address/Data的I/O存取方式,直接由DMM硬體處理以及啟動快取記憶體(Cache Memory)雙重功能來提高讀取效能最佳化目的,寫入方式還是樣藉由一般Erase/Program/Verify原來的存取機制處理,但並不會直接影響顯示的效能。
-
SPIM同步序列介面控制器(SPI主機模式)框圖
-
SPIM程式設定步驟包含Quad SPI、Enable Cache及進入DMM模式
-
在Keil開發環境將圖檔或程式配置到SPI Flash的0x08000000區域範例如下
步驟一 : 設置存儲區域IROM2 = 0x08000000,Size = 0x0400000(W25Q32)
-
OLED驅動程式設定:
emWin是一個高品質繪圖軟體函數庫,對產品的圖形化使用者介面(GUI)進行迅速、高效率的配置。emWin可提供無閃爍的動畫(Memory Devices)、抗鋸齒最佳化(Antialiasing)的繪圖功能,以及一個用於視窗物件建構(GUIBuilder, Widget)與視窗管理(The Window Manager)。emWin 也提供包括字體轉換器 (FontCvtDemo)、Unicode 語言支援,色彩管理(Colors)及圖形分層(multi layer)在內的廣泛的圖形功能,能適應任何大小面板的顯示。在移植過程中在Driver層與Hardware Layer(BSP)之間需要針對實際搭配不同使用的硬體需要做些修改與設定。在此針對程式移植部分加以說明
此外,為了降低CPU工作負載提升處理效能,在顯示輸出控制部分(Frame Buffer到SPI介面之間)直接交由DMA處理不需要由CPU介入,預設刷新頻率為30fps,讓CPU專注在GUI圖形處理部分,在動態顯示圖形狀態下能更佳流暢,避免有停頓、鬼影、延遲現象發生。
►場景應用圖
►展示板照片
►方案方塊圖
►核心技術優勢
高達192 MHz Cortex-M4及DSP與FPU 支援32KB快取記憶體(Cache Memory) 外接SPI快閃記憶體最大32MBytes,支援標準的1位、2位和4位元I/O傳輸模式,最高達96Mbit/s 支援CPU直接從SPI快閃記憶體讀取(Direct Memory Map Mode) 支援高速GIF動態點陣圖解碼(LZW ) 支援高速BMP、PNG、JPEG解碼 支援各種客制化OLED顯示幕來動態播放各種資訊 內建多樣字型字庫
►方案規格
NuMicro M484 (32-bit Arm® Cortex®-M4F)內建DSP指令集、記憶體保護單元 高達192 MHz工作主頻 內建512 KB Flash/160 KB SRAM 高達96 MHz SPI 通訊介面 16通道周邊DMA控制器 12個增強型PWM帶有12個16位元計時器 USB 2.0高速裝置/主機/OTG控制器及內置PHY USB 2.0全速裝置/主機/OTG控制器及內置PHY 多達6個低功耗UART介面(17 Mbps),包含2個LIN介面 1個四線SPI介面(可達48 MB/s) 2個USCI介面,支援可程設UART/SPI/I²C 3個I²C介面(可達3.4 Mbps) 2個SD卡控制器(50MHz) 支持W25Q32 SPI Flash 支持單色2” OLED(ELW2106AA)面板256 x 64畫素 電壓範圍:1.8V至3.6V 溫度範圍:-40°C至+105°C