配置屏参 1. 屏参配置文件介绍¶ 屏参配置文件在alkaid中的路径为project/board/ini/misc/config.ini
系统启动过程中会去解析屏参配置文件,然后将不同屏参保存到系统中,给显示模块使用。
显示模块会根据用户调用API的参数设定向系统获取所需屏参。
屏参配置文件由section、variable name组成:
section:
文件中"[]"中的字段。
variable name:
文件中"="左边的字段,右边是给variable name赋的值。
section是唯一的,不允许有同名,但是variable name允许。如上图,section DACOUT_576I只能有一个,但是m_pPanelName可以在不同的section中。系统根据不同的section区分variable name,然后添加不同的屏参。
variable name的字段为系统预先定义,在添加新的屏参时,只能填写系统中现有的,新增或者修改时请告知owner,否则系统无法识别。如m_pPanelName,在新增屏参时只能使用m_pPanelName定义新的panel name。
variable name赋值示例如下:
2. 新增屏参¶ 新屏参定义section name不能和现有section name相同
将新屏参的section name追加到ROOT section的m_pnlList变量中(不同接口的LCD section只能存在一个,比如m_pnlList中已经存在一个TTL的panel section name,那么如果想要添加新的TTL,只能删除掉之前存在的section)
将新的屏参添加到新的section中,如下:
[SAT070AT50H18BH]
m_pPanelName = "SAT070AT50H18BH_1024x600";
m_bPanelDither = 0;
m_ePanelLinkType = 0; #0:ttl 1:lvds 11:mipi
m_bPanelInvDCLK = 0;
m_bPanelInvDE = 0;
m_bPanelInvHSync = 0;
m_bPanelInvVSync = 0;
m_wPanelHSyncWidth = 48;
m_wPanelHSyncBackPorch = 46;
m_wPanelVSyncWidth = 4;
m_wPanelVBackPorch = 23;
m_wPanelHStart = 98;
m_wPanelVStart = 27;
m_wPanelWidth = 1024;
m_wPanelHeight = 600;
m_wPanelHTotal = 1344;
m_wPanelVTotal = 635;
m_wPanelDCLK = 51;
m_wSpreadSpectrumStep = 0;
m_wSpreadSpectrumSpan = 0;
m_eOutputFormatBitMode = 2; #0:10bit 1:6bit 2:8bit 3:565bit
m_ucPanelSwapChnR = 3;
m_ucPanelSwapChnG = 2;
m_ucPanelSwapChnB = 1;
m_ucPanelSwapRgbML = 1;
3. 屏参参数说明¶ 参数 描述 m_pPanelName panel name m_bPanelDither 1:enable Dither 0:disable Dither m_ePanelLinkType 接口类型 TTL :0 MIPI_DSI :10 m_bPanelInvDCLK Pixel clk极性反转 m_bPanelInvDE DE极性反转 m_bPanelInvHSync Hsync极性反转 m_bPanelInvVSync Vsync极性反转 m_wPanelHSyncWidth 行同步信号脉宽 m_wPanelHSyncBackPorch 行同步信号后肩 m_wPanelVSyncWidth 场同步信号脉宽 m_wPanelVBackPorch 场同步信号后肩 m_wPanelHStart m_wPanelHSyncWidth+m_wPanelHSyncBackPorch m_wPanelVStart m_wPanelVSyncWidth+ m_wPanelVBackPorch m_wPanelWidth 行有效像素点数 m_wPanelHeight 场有效行数 m_wPanelHTotal m_wPanelWidth+m_wPanelHSyncWidth+m_wPanelHSyncBackPorch+HsyncFrontPorch m_wPanelVTotal m_wPanelHeight+m_wPanelVSyncWidth+ m_wPanelVBackPorch+VsyncFrontPorch m_wPanelDCLK m_wPanelHTotal*m_wPanelVTotal*fps(IP内部使用clk) m_wSpreadSpectrumFreq 时钟延展幅度调制(详见展频计算) m_wSpreadSpectrumRatio 时钟延展频率调制(详见展频计算) m_eOutputFormatBitMode 10BIT :0 6BIT :1 8BIT :2 565BIT :3 m_ucPanelSwapChnR Swap Channel R 0:default 1:select R 2:select G 3:select B m_ucPanelSwapChnG Swap Channel G 0:default1:select R 2:select G 3:select B m_ucPanelSwapChnB Swap Channel B 0:default 1:select R 2:select G 3:select B m_ucPanelSwapRgbML Swap Rgb MSB/LSB 0:disable M/L swap 1:enable M/L swap 如果是MIPI panel,还需要对MIPI DSI进行配置。
MIPI DSI参数说明:
参数 描述 m_wHsTrail Default: 5 m_wHsPrpr Default: 3 m_wHsZero Default: 5 m_wClkHsPrpr Default: 10 m_wClkHsExit Default: 14 m_wClkTrail Default: 3 m_wClkZero Default: 12 m_wClkHsPost Default: 10 m_wDaHsExit Default: 5 m_wContDet Default:0 m_wLpx Default:16 m_wTaGet Default:26 m_wTaSure Default:24 m_wTaGo Default:50 m_wHactive Follow 屏参设定 m_wHpw Follow 屏参设定 m_wHbp Follow 屏参设定 m_wHfp Follow 屏参设定 m_wVactive Follow 屏参设定 m_wVpw Follow 屏参设定 m_wVbp Follow 屏参设定 m_wVfp Follow 屏参设定 m_wBllp 0 m_wFps Default:60 m_eLaneNum one lane :1 two lane :2 three lane :3 four lane :4 m_eFormat RGB565 :0 RGB666 :1 LOOSELY_RGB666 :2 RGB888 :3 m_eCtrlMode CMD_MODE :0 SYNC_PULSE :1 SYNC_EVENT :2 BURST_MODE :3 m_ucClkLane Clk lane selection(default:2) 0:select chn0 1:select chn1 2:select chn2 3:select chn3 4:select chn4 m_ucDataLane0 data lane0 selection(default:4) 0:select chn0 1:select chn1 2:select chn2 3:select chn3 4:select chn4 m_ucDataLane1 data lane1 selection(default:3) 0:select chn0 1:select chn1 2:select chn2 3:select chn3 4:select chn4 m_ucDataLane2 data lane2 selection(default:1) 0:select chn0 1:select chn1 2:select chn2 3:select chn3 4:select chn4 m_ucDataLane3 data lane3 selection(default:0) 0:select chn0 1:select chn1 2:select chn2 3:select chn3 4:select chn4 m_pCmdBuff Mipi panel cmd m_pCmdBuff= { Cmd, parameter cnt, parameter0, parameter1, … , Cmd, parameter cnt, parameter0, parameter1, … , Cmd, parameter cnt, parameter0, parameter1, … , ……… } m_ucPolCh0 Chn0极性 0:default 1:positive 2:negative m_ucPolCh1 Chn1极性 0:default 1:positive 2:negative m_ucPolCh2 Chn2极性 0:default 1:positive 2:negative m_ucPolCh3 Chn3极性 0:default 1:positive 2:negative m_ucPolCh4 Chn4极性 0:default 1:positive 2:negative 根据屏规格书填写屏参:
在屏规格书中找到Timing相关部分,如下表定义:
屏规格书中Timing定义和屏参参数对应如下表所示:
m_wPanelHSyncWidth HSYNC period time m_wPanelHSyncBackPorch 参考HSYNC blanking的要求 根据上表,如果HSYNC blanking为320,那么m_wPanelHSyncBackPorch要小于320,差值部分为hsync front porch大小 m_wPanelVSyncWidth VSYNC period time m_wPanelVBackPorch 参考VSYNC blanking的要求 根据上表,如果VSYNC blanking为35,那么m_wPanelVBackPorch要小于35,差值部分为vsync front porch大小 m_wPanelHStart m_wPanelHSyncWidth+m_wPanelHSyncBackPorch m_wPanelVStart m_wPanelVSyncWidth+ m_wPanelVBackPorch m_wPanelWidth Horizonial display area m_wPanelHeight Vertical display area m_wPanelHTotal m_wPanelWidth+HSYNC blanking m_wPanelVTotal m_wPanelHeight+VSYNC blanking m_wPanelDCLK m_wPanelHTotal*m_wPanelVTotal*fps 如果是MIPI panel,还需要配置MIPI AC timing相关参数,首先在panel规格书中找到MIPI timing specification部分。
UI的计算方法:
H_Total = HACT+HPW+HBP+HFP
V_Total = VACT+VPW+VBP+VFP
BitsPerPixel=24(RGB888)/18(RGB666)/16(RGB565)
Bitrate = H_Total*V_Total*FPS*BitsPerPixel/lane number
UI = 1/Bitrate
比如表格中HS-PREPARE的要求是大于40ns+4*UI并且小于85ns+6*UI,那么对应MIPI AC timing中的参数如下。
(40ns+4*UI)/8*UI \< m_wHsTrail \< (85ns+6*UI)/8*UI
其他MIPI AC timing中参数计算方法同上。
注意:
当前这套屏参设置需要更新:config_tool/mi_disp/mhal,若涉及uboot 点屏需要更新uboot。