RT595 系列透過內件 MIPI DSI 模組使用 HS Mode 進行 Panel 圖檔刷新

一、概述

MIPI (Mobile Industry Processor Interface)是由移動設備製造商創建的非營利組織Mobile Industry Processor Interface Alliance(MIPI Alliance)制定的一組規範,其規範涵蓋了各種移動設備中使用的接口和協議,例如:顯示器接口、攝像頭接口、傳感器接口、存儲器接口、調試接口等等。這些規範主要用於移動設備中的芯片、模塊和傳感器之間的通信,各種 MIPI 的通用架構如圖 1 所示,本文將著重於 RT595 的 MIPI DSI 模組進行解說。


圖 1 ( 註 1 )

RT595 透過硬體模組將資料統整為 DSI 協議,而後再由物理層的 D-PHY CLK 與 D-PHY Lane 0 與 Lane 1 將資料傳送到 Panel 的 MIPI driver 進行指令傳輸與圖像更新 ( 如圖 2 ),後續將透過 NXP RT595 EVK 與市售 Panel ( Driver ST7701S ) ,並以NXP RT595 IDE 中的 lcdif_rgb565 進行通訊與演示。

圖 2 ( 註 2 )

二、 需求物件

        2.1 硬體

                2.1.1 NXP RT595 EVK 詳細規格如下列網址所示

https://www.nxp.com/design/development-boards/i-mx-evaluation-and-development-boards/i-mx-rt595-evaluation-kit:MIMXRT595-EVK

                2.1.2 Type A to mini B USB Cable : 1 pcs

  2.1.3 Panel 1 pcs (本文中演示的 Panel 為 480 x 480 RGB565 Panel,Driver ST7701S ),附轉板

  2.1.4 轉板 FPC 0.5 40 pin to 2.54 杜邦端子轉板

        2.2 軟體

                2.2.1 MCUXPRESSO ( IDE ) 軟體開發環境如下列網址所示

https://www.nxp.com/design/software/development-software/mcuxpresso-software-and-tools-/mcuxpresso-integrated-development-environment-ide:MCUXpresso-IDE

  2.2.2 NXP RT595 SDK 原廠提供的 RT595 EVK Sample Code 如下列網址所示

                        https://mcuxpresso.nxp.com/en/welcome

三、 操作方式

3.1 因 RT595 在 MIPI 的 Connector 原為 FPC 0.5 40 pin,而 Panel 為 FPC 0.5 17 Pin,因此需先透過轉板跳訊號線,配置步驟如圖 3、4

Step 1 將 RT595 EVK 翻到背面 ( 如圖 3 ),J44 為 FPC 0.5 40 pin

圖 3 ( 註 3 )

Step 2 將 J44 Connector 透過排線與轉板連接在透過跳線的方式與 Panel 連結即可 ( 如圖 4 )

圖 4

Step 3 開啟 lcdif_rgb565 的範例,並將範例燒錄到 EVK 上,NXP RT595 EVK 板上配置有燒錄功能的 IC,如圖 5 紅框

圖 5 ( 註 4 )

3.2 將 USB Cable 連結到模組板 USB Connector,USB Cable 另一端連結到 PC 如圖 6
 
圖 6  ( 註 4 )

3.3 執行 MCUXPRESSO 並將 NXP 的 SDK 導入到 IDE 中,操作流程如圖 7、8

        3.3.1 點擊 import SDK example(s)

        3.3.2 彈出 SDK import Wizard 視窗,點選 RT595

        3.3.3 點選 Next

        3.3.4 點選 sample code lcdif_rgb565

        3.3.5 點選 Finish 完成 Project 建立

圖 7
圖 8
3.4 可先參考大大通的 “RT595 系列透過內件 MIPI DSI 模組使用 LP Mode 進行 Driver 設定方式”,先將 panel driver 透過 LP Mode 進行 init 後再接續本章節;

而後將文件中的 color bar 功能註解掉,取消演示 color bar 的功能 ( 如圖 9 )。
圖 9

3.5 回到 main code 中,取消註解掉的 DEMO_LCDIF_RGB Function,該程式是用來發送 high speed mode 的程式 ( 如圖 10 )

圖 10

3.6 到 DEMO_LCDIF_Init 中設定 Panel 相關參數 ( 如圖11 ),進入該 Function 中尋找參數位址進行設定 (如圖12 )

圖 11
圖 12

3.7 本文中使用Pixel 為 480 x 480 的圓形 Panel,HSW、HFP、HBP、VSW、VFP、VBP 為 Panel 製程上的相關數據 ( 如圖 13 ),需諮詢 Panel 製造商,各參數與 Panel 之間的關係可參考 NXP 文件 AN12940 ( https://www.nxp.com/docs/en/application-note/AN12940.pdf ),其中參數 DEMO_MIPI_DSI_LANE_NUM 為 RT595 MIPI 通訊時 Data lane 的參數設定,本文使用的 Panel Data lane 為 1,因此這邊參數設定為 1

圖 13

3.8 回到 DEMO_LCDIF_Init 的 Function 中察看到 LCDIF_SetFrameBufferStrid 內有 DEMO_BYTE_PER_PIXEL 參數 ( 如圖 14 ),將該參數設定為 4 ( 如圖 15 ),以滿足 MCU RAM 格式的規劃

圖 14
圖 15

3.9 追加一個簡易的 RAM reset function memset32((void *)0x28200000, 0, DEMO_PANEL_WIDTH * DEMO_PANEL_HEIGHT ) ( 如圖 16 )

圖 16

透過下達參數對特定的 RAM 空間進行 reset,參數解析如下:
*m = reset RAM 的起始位置
val = 復歸值
count = 預復歸的 RAM size
 
透過 *buf++ = val 批次對 MCU的 RAM 空間寫入 32 bit 的值,執行賦歸直到 count 值倒數為 0,因 Panel 規格為 RGB888、 Pixel 為 480 x 480,因此每一次寫入的 bit 數為 32,而寫入 size 為 480 x 480 ( 如圖 17 )
 
圖 17

3.10 回到 Function DEMO_LCDIF_RGB ( 如圖 18 )

圖 18

3.11 將原先的 SDK 改為圖 19 中的內碼,因Panel 設定 Pixel 為 RGB888,因此MCU 在 LCD register 中的 format 需改為參數 kLCDIF_PixelFormatXRGB8888,而後將 LCD register 的 RAM address 設定到 0x28200000,作為 Panel data 擺設的初始位置

圖 19

3.12 本文將 480 x 480 的 Panel切分為 3 等份,分別以 RGB 的色階呈現在 Panel 上,使用 memset32 function 分別將 R、G、B ( 0x00FF0000、 0x0000FF00、0x000000FF ) 的色碼輸入到對應的 RAM address,每個 Pixel 會占用掉 4 bytes 的 RAM 空間,每個色階會使用到 76800 個 Pixel,因此 RAM 的規劃位址將以 76800 x 4 bytes = 307200 ( 0x4B000 ) 的空間往上疊加 ( 如圖 20 )

圖 20

3.13 修改 code 並點擊 build 按鈕 ( 如圖 21 紅框所示 )

圖 21

3.14 點擊 GUI Flash Tool 進行燒錄動作

        3.14.1 點擊 GUI Flash Tool 如圖 22 紅框

        3.14.2 點擊 OK 選擇已 Link 的燒錄器 如圖 23 紅框

        3.14.3 點擊 Run 執行燒錄 如圖 24 紅框

        3.14.4 燒錄完畢後點擊 OK 如圖 25 紅框

圖 22
圖 23
圖 24
圖 25

3.15 將 PC 與 EVK 連接的 USB Cable 重新插拔上電後,如圖 26,Panel 呈現 480 x 480 的 Panel切分為 3 等份的 RGB 色階

圖 26

註 1:作者:MIPI Alliance;出處 https://www.mipi.org/about-us

註 2:作者:NXP Semiconductors;出處:NXP 文件 IMXRT500RM Rev. 0.1 的 Fig.180

註 3 :作者:NXP Semiconductors;出處:NXP 文件 MIMXRT595EVKHUG User's Guide Rev. 0, 的 Fig.6

註 4 :作者:NXP Semiconductors;出處:NXP 文件 MIMXRT595EVKHUG User's Guide Rev. 0, 的 Fig.1

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★博文作者未開放評論功能