跳转至

屏参使用指南


REVISION HISTORY

Revision No.
Description
Date
1.0
  • Initial release
  • 02/22/2024
    1.1
  • 完善关键字和屏参配置文件说明
  • 新增BT/MIPI-DSI/LVDS接口特有参数说明
  • 新增5.2协议规范说明
  • 05/12/2025
    1.2
  • 新屏参架构说明
  • 11/06/2025
    1.3
  • 添加对屏参 "m_ePacketType" 的描述
  • 04/30/2026
    1.4
  • 新增屏参配置文件加载机制说明
  • 07/22/2026

    1. 基本介绍

    1.1 概述

    屏参顾名思义是屏幕使用的参数配置。本文档主要讲解点屏相关配置,屏参的含义和如何设置正确的屏参。

    1.2. 关键字说明

    • TTL/BT656/SRGB/MIPI-DSI

      TTL: Transistor-Transistor Logic,接口信号为数字信号,传输并行RGB数据。

      BT656: 接口信号为数字信号,传输YUV数据。

      SRGB: Series RGB,接口信号为数字信号,传输串行RGB数据。

      MIPI-DSI: Mobile Industry Processor Interface-Display Serial Interface,接口信号以差分信号传输,传输RGB数据,有高速HS和低速LP模式。


    2. 屏参配置文件介绍

    2.1 屏参配置文件路径

    project\board\$(chip)\screen_param\config_disp.json
    project\board\$(chip)\$(boardname)\config\config_board.json
    

    2.2 屏参配置文件组成

    编译image时,会将config_disp.json、config_board.json、config_fb.json整合成一个文件config.json,拷贝到对应的分区中。

    系统启动过程中会去解析屏参配置文件,然后将不同屏参保存到系统中,给显示模块使用。显示模块会根据用户调用API的参数设定向系统获取所需屏参。

    2.2.1 config_disp.json

    config_disp.json描述支持的屏参信息,组成如下图所示。mi_disp是根节点,包含两个子节点content和屏参。

    content节点是屏参名称列表的集合,包含了四个子节点:m_pnlList、m_btList、m_mipidsiList、m_hdmiList。

    • m_pnlList

      "m_pnlList": [
          "SAT070AT50H18BH",
          "RM68200_LX50HDH40145",
          ......
          "DUAL_LVDS_SG2151B04"
      ]
      

      m_pnlList罗列多种用户自定义屏参名称,即m_ePanelTiming=E_MI_DISP_OUTPUT_USER(52)。

    • m_btList

      "m_btList": [
          "BT656OUT_576P_50",
          "BT656OUT_480P_60",
          "BT656OUT_1080P_25",
          "BT656OUT_1080P_30",
          "BT656OUT_720P_25",
          "BT656OUT_720P_30",
          "BT656OUT_720P_50",
          "BT656OUT_720P_60",
          "BT601OUT_576P_50",
          "BT601OUT_480P_60",
          "BT601OUT_1080P_25",
          "BT601OUT_1080P_30",
          "BT601OUT_720P_25",
          "BT601OUT_720P_30",
          "BT601OUT_720P_50",
          "BT601OUT_720P_60",
          "BT1120OUT_576P_50",
          "BT1120OUT_480P_60",
          "BT1120OUT_1080P_25",
          "BT1120OUT_1080P_30",
          "BT1120OUT_1080P_50",
          "BT1120OUT_1080P_60",
          "BT1120OUT_720P_25",
          "BT1120OUT_720P_30",
          "BT1120OUT_720P_50",
          "BT1120OUT_720P_60"
      ]
      

      m_btList罗列BT601/BT656/BT1120多种标准分辨率屏参的名称。

    • m_mipidsiList

      "m_mipidsiList": [
          "MIPIDSI_480P_60",
          "MIPIDSI_576P_50",
          "MIPIDSI_720P_30",
          "MIPIDSI_720P_50",
          "MIPIDSI_720P_60",
          "MIPIDSI_1080P_25",
          "MIPIDSI_1080P_30",
          "MIPIDSI_1080P_50",
          "MIPIDSI_1080P_60",
          "MIPIDSI_4KP_30"
      ]
      

      m_mipidsiList罗列mipidsi多种标准分辨率屏参的名称。

    • m_hdmiList

      "m_hdmiList": [
          "DACOUT_800x600P_60",
          "DACOUT_720P_24",
          "DACOUT_720P_25",
          "DACOUT_720P_2997",
          "DACOUT_720P_30",
          "DACOUT_720P_50",
          "DACOUT_720P_5994",
          "DACOUT_720P_60",
          ......
          "DACOUT_4KP_30"
      ]
      

      m_hdmiList罗列hdmi和vga多种标准分辨率屏参的名称。

    • Screen Parameter

      屏参由section和variable name组成:

      "SAT070AT50H18BH": {
          "m_wPanelDispPath":       0,
          "m_pPanelName": "SAT070AT50H18BH",
          "m_ePanelTiming":         52,
          "m_ePanelIntfType":       9,
          "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":           51000000,
          "m_ucPanelSwapChnR":      3,
          "m_ucPanelSwapChnG":      2,
          "m_ucPanelSwapChnB":      1,
          "m_ucPanelSwapRgbML":     0
      },
      

      section指的是图中屏参名称,EX:"SAT070AT50H18BH"。

      variable name指的是":"左边的字段,右边是给variable name赋的值。

      section是唯一的,不允许有同名。section与m_pPanelName需保持一致,屏参才能正确获取。

    2.2.2 config_board.json

    config_board.json描述与board相关的硬件信息和默认配置信息,组成如下图所示。board是根节点,包含bootlogo、dev_property、pq、power_sequence四个子节点。

    bootlogo节点描述请参考:bootlogo

    • dev_property

      参数 描述
      device_type 屏幕类型,该参数是bootlogo使用
      TTL/BT656/SRGB/MCU/MCU_NOFLM/MIPIDSI
      panel_name 屏参名称
      dev_id device id
      rotate 旋转参数,该参数是bootlogo使用
      0:0°
      90:90°
      180:180°
      270:270°
      color_metrix_id csc 矩阵 id
      gop_dst_id 该参数暂未启用

      该节点描述mi_disp和bootlogo共用的默认配置信息。通过panel_name获取默认配置屏参。

    • pq

      参数 描述
      pq_enable pq功能是否启用
      pq_file_path PQ.bin的文件路径
    • power_sequence

      参数 描述
      ps_enable power sequence功能是否启用
      panel_name 需要替换的屏参名称
      m_pAfterLP11 需要替换的m_pAfterLP11内容
      m_pAfterInit 需要替换的m_pAfterInit内容
      m_pAfterDeinitCmd 需要替换的m_pAfterDeinitCmd内容

      针对mipidsi屏幕的特殊上下电时序需求,设计特殊的屏参用于客户自定义配置,具体参考本文MIPIDSI接口特有参数章节。

      由于不同的封装可能有不同的硬件设计,上下电配置内容也需要跟随变化。此时可配置config_board.json中的power_sequence节点,开启ps_enable。image打包生成config.json的过程中,会将power_sequence节点对应的屏参内容进行替换。

    2.3 屏参配置文件加载机制

    系统启动时按固定顺序查找屏参配置文件,依次尝试以下路径,首个能成功打开并解析为合法 JSON 的路径即被采用(参考 sdk/impl/common/mi_common_cjson.c 中的 MI_COMMON_CJSON_InitCustomerCjson):

    顺序 路径
    1 /misc/config.json
    2 /config/config.json

    misc 分区挂载成功但无文件时的行为:加载逻辑只关心配置文件能否被打开,与 misc 分区是否挂载无关。当 misc 分区已挂载但其中没有 config.json 时,第 1 路径 /misc/config.json 打开失败,会自动顺延到第 2 路径 /config/config.json 继续尝试,依此类推。

    运行时动态加载任意路径:除启动时的静态查找外,还可在运行时通过 proc 节点动态指定配置文件路径:

    echo /customer/config.json > /proc/mi_modules/mi_common/config_json
    

    写入的路径无白名单限制,只要该路径文件存在且为合法 JSON 即可加载(例如 /customer/config.json 这类不在启动查找列表里的路径)。该操作会原地刷新内部链表第 1 个节点的配置,DISP 模块在下一次初始化或重新配置时(参考 sdk/impl/disp/mi_disp_impl.c 中的 _MI_DISP_IMPL_ConfigInit)取到的就是新配置,从而动态生效。


    3. 新增屏参与屏参获取流程

    3.1 新增屏参

    1. 新增屏参定义的section name不允许和已有的section name重名

    2. 新增的屏参节点名称可以追加在m_pnlList中。

    3. 在屏参节点中添加新屏参,如下所示:

      "mi_disp": {
          "content": {
              "m_pnlList": [
                  "RM68200_LX50HDH40145",
                  "SAT070AT50H18BH"
              ],
              ......
          },
          "SAT070AT50H18BH": {
              "m_wPanelDispPath":       0,
              "m_pPanelName": "SAT070AT50H18BH",
              "m_ePanelTiming":         52,
              "m_ePanelIntfType":       9,
              "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":           51000000,
              "m_bPanelInvDCLK":        0,
              "m_bPanelInvDE":          0,
              "m_bPanelInvHSync":       0,
              "m_bPanelInvVSync":       0,
              "m_ucPanelSwapChnR":      3,
              "m_ucPanelSwapChnG":      2,
              "m_ucPanelSwapChnB":      1,
              "m_ucPanelSwapRgbML":     0
          },
          ......
      }
      

    3.2 屏参获取流程

    目前获取指定屏参的方式分为三种:用户接口传参方式获取,指定eIntfType和eIntfSync获取标准定义屏参,board节点获取默认自定义屏参。

    优先级最高的是用户通过调用MI_DISP_SetPubAttr接口传参的方式,优先根据用户指定的pu8PanelName寻找指定屏参。

    若MI_DISP_SetPubAttr传参的pu8PanelName为空或者u32PanelNameSize为0,则继续判断当前传入的eIntfSync是否为E_MI_DISP_OUTPUT_USER用户自定义。

    如果是user,那么寻找board节点指定的默认屏参。如果不是user,则根据eIntfType和eIntfSync找到标准定义屏参。

    解析流程如下所示:


    4. 屏参参数说明

    4.1 公共参数

    参数 描述
    m_pPanelName panel name
    m_ePanelTiming 输出分辨率,52表示用户自定义
    m_ePanelIntfType 接口类型
    VGA:2
    BT656:3
    BT1120:4
    HDMI:5
    TTL:9
    MIPIDSI:10
    SRGB:12
    MCU:13
    MCU_NOFLM:14
    BT601:15
    BT1120-DDR:16
    LVDS:17
    LVDS1:18
    DUAL-LVDS:19
    MIPIDSI1:20
    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 pixel clk: m_wPanelHTotal * m_wPanelVTotal * fps
    m_bPanelInvDCLK pixel clk极性反转
    m_bPanelInvHSync Hsync极性反转
    m_bPanelInvVSync Vsync极性反转
    m_wSpreadSpectrumFreq 时钟延展频率调制(详见spreadSpectrumFreqCalculation
    m_wSpreadSpectrumRatio 时钟延展幅度调制(详见spreadSpectrumFreqCalculation
    m_ucPanelSwapChnR Swap channel R
    default = 0(保持物理线路原始连接,即R通道使用硬件设计中默认对应的信号源)
    1:select R(强制覆盖通道信号源,将R通道数据替换为主控输出的R通道信号)
    2:select G
    3:select B
    m_ucPanelSwapChnG Swap channel G
    default = 0
    1:select R
    2:select G
    3:select B
    m_ucPanelSwapChnB Swap channel B
    default = 0
    1:select R
    2:select G
    3:select B
    m_ucPanelSwapRgbML Swap RGB MSB/LSB(控制RGB数据的高低位(MSB/LSB)顺序交换)
    0:disable M/L swap
    1:enable M/L swap
    MSB:数据的最高位有效
    LSB:数据的最低位有效
    m_ePanelRgbDataType RGB data type or LCD data bus
    0:E_MI_DISP_MHALPNL_RGB_DTYPE_RGB888,
    1:E_MI_DISP_MHALPNL_RGB_DTYPE_RGB666,
    2:E_MI_DISP_MHALPNL_RGB_DTYPE_RGB565,
    3:E_MI_DISP_MHALPNL_RGB_DTYPE_RGB444,
    4:E_MI_DISP_MHALPNL_RGB_DTYPE_RGB333,
    5:E_MI_DISP_MHALPNL_RGB_DTYPE_RGB332,
    6:E_MI_DISP_MHALPNL_RGB_DTYPE_BGR888,
    7:E_MI_DISP_MHALPNL_RGB_DTYPE_BGR666,
    8:E_MI_DISP_MHALPNL_RGB_DTYPE_BGR565,
    9:E_MI_DISP_MHALPNL_RGB_DTYPE_BGR444,
    10:E_MI_DISP_MHALPNL_RGB_DTYPE_BGR333,
    11:E_MI_DISP_MHALPNL_RGB_DTYPE_BGR332,
    12:E_MI_DISP_MHALPNL_RGB_DTYPE_YUV422_UY0VY1,
    13:E_MI_DISP_MHALPNL_RGB_DTYPE_YUV422_VY0UY1,
    14:E_MI_DISP_MHALPNL_RGB_DTYPE_YUV422_UY1VY0,
    15:E_MI_DISP_MHALPNL_RGB_DTYPE_YUV422_VY1UY0,
    16:E_MI_DISP_MHALPNL_RGB_DTYPE_YUV422_Y0UY1V,
    17:E_MI_DISP_MHALPNL_RGB_DTYPE_YUV422_Y0VY1U,
    18:E_MI_DISP_MHALPNL_RGB_DTYPE_YUV422_Y1UY0V,
    19:E_MI_DISP_MHALPNL_RGB_DTYPE_YUV422_Y1VY0U
    m_ePanelRgbDeltaOddMode delta mode 奇场数据排列
    0: RGB
    1: RBG
    2: GRB
    3: GBR
    4: BRG
    5: BGR
    m_ePanelRgbDeltaEvenMode delta mode 偶场数据排列
    0: RGB
    1: RBG
    2: GRB
    3: GBR
    4: BRG
    5: BGR
    m_ePanelRgbDataSwap RGB data swap ,对所有的数据做swap
    0: disable
    1: enable
    m_wPadDrvngLvl pin脚驱动能力调整,对接口所有的pin脚设置驱动能力档位,共有4个档位
    0: 4mA
    1: 8mA
    2: 12mA
    3: 16mA

    注:m_ePanelRgbDataType的12~19是BT接口可选。

    m_bPanelInvDCLK,m_bPanelInvHSync,m_bPanelInvVSync正常timing示意图:

    m_bPanelInvDCLK,m_bPanelInvHSync,m_bPanelInvVSync开启极性反转timing示意图:

    4.2 BT接口特有参数

    panel默认是逐行扫描模式(P mode),如果是BT601/BT656/BT1120还可以选择隔行扫描模式(I mode),需配置以下参数,下图以BIT656 525 lane举例。

    参数 描述
    m_ePanelScanMode scan mode
    0:default
    1:old P mode
    2:new P mode
    3:I mode
    m_wPanelOddVfdeStart vertical active start point for I mode odd field
    m_wPanelOddVfdeEnd vertical active end point for I mode odd field
    m_wPanelEvenVfdeStart vertical active start point for I mode even field
    m_wPanelEvenVfdeEnd vertical active end point for I mode even field
    m_wPanelField0Start field0 start point for I mode
    m_wPanelField0End field0 end point for I mode

    注:old P mode 与 new P mode区别是硬件通路不同,输出给屏幕的数据是相同的。

    4.3 MIPIDSI接口特有参数

    如果是MIPI panel,还需要对MIPI-DSI进行配置。

    MIPI-DSI参数说明:

    注:如果没有特殊时序需求,目前支持自动计算m_wHsTrail、m_wHsPrpr、m_wHsZero、m_wDaHsExit、m_wClkTrail、m_wClkHsPrpr、m_wClkZero、m_wClkHsExit、m_wClkHsPost、m_wLpx、m_wTaGet、m_wTaSure、m_wTaGo、m_wContDet。即这些参数可不填写,由代码自动计算。

    注:以上dphy参数来源于MIPI_D-PHY_specification.pdf

    参数 描述
    m_wHsTrail T_{HS-TRAIL} (可参考文件配置MIPIDSIParamCalculation
    m_wHsPrpr T_{HS-PREPARE} (可参考文件配置MIPIDSIParamCalculation
    m_wHsZero T_{HS-ZERO} (可参考文件配置MIPIDSIParamCalculation
    m_wDaHsExit T_{HS-EXIT} (可参考文件配置MIPIDSIParamCalculation

    参数 描述
    m_wClkTrail T_{CLK-TRAIL} (可参考文件配置MIPIDSIParamCalculation
    m_wClkHsPrpr T_{CLK-PREPARE} (可参考文件配置MIPIDSIParamCalculation
    m_wClkZero T_{CLK-ZERO} (可参考文件配置MIPIDSIParamCalculation
    m_wClkHsExit T_{HS-EXIT} (可参考文件配置MIPIDSIParamCalculation
    m_wClkHsPost T_{CLK-POST} (可参考文件配置MIPIDSIParamCalculation

    参数 描述
    m_wLpx T_{LPX} (可参考文件配置MIPIDSIParamCalculation
    m_wTaGet T_{TA-GET} (可参考文件配置MIPIDSIParamCalculation
    m_wTaSure T_{TA-SURE} (可参考文件配置MIPIDSIParamCalculation
    m_wTaGo T_{TA-GO} (可参考文件配置MIPIDSIParamCalculation
    m_wContDet contention detection, default 0(可参考文件配置MIPIDSIParamCalculation
    m_wBllp blanking or low power interval, default 0
    m_wFps frame per second, follow panel spec
    m_eLaneNum data lane number, 1 ~ 4
    m_eFormat data output format
    0:RGB565
    1:RGB666
    2:LOOSELY_RGB666
    3:RGB888
    m_eCtrlMode 0:CMD_MODE
    1:SYNC_PULSE
    2:SYNC_EVENT
    3:BURST_MODE
    m_wDataClkSkew default: 7
    m_ucPolCh0 Channel 0 polarity
    0:default
    1:positive
    m_ucPolCh1 Channel 1 polarity
    0:default
    1:positive
    m_ucPolCh2 Channel 2 polarity
    0:default
    1:positive
    m_ucPolCh3 Channel 3 polarity
    0:default
    1:positive
    m_ucPolCh4 Channel 4 polarity
    0:default
    1:positive
    m_ucClkLane clk lane selection
    0:select chn0
    1:select chn1
    2:select chn2
    3:select chn3
    4:select chn4
    m_ucDataLane0 data lane0 selection
    0:select chn0
    1:select chn1
    2:select chn2
    3:select chn3
    4:select chn4
    m_ucDataLane1 data lane1 selection
    0:select chn0
    1:select chn1
    2:select chn2
    3:select chn3
    4:select chn4
    m_ucDataLane2 data lane2 selection
    0:select chn0
    1:select chn1
    2:select chn2
    3:select chn3
    4:select chn4
    m_ucDataLane3 data lane3 selection
    0:select chn0
    1:select chn1
    2:select chn2
    3:select chn3
    4:select chn4
    m_ePacketType MIPI LP cmd Data Type, default 0:DCS
    m_pCmdBuff MIPI panel cmd buffer, follow panel spec
    m_pDeinitCmd MIPI panel deinit cmd buffer, follow panel spec, 内容格式与m_pCmdBuff相同,如不需要可删除该参数

    m_ePacketType 指定 m_pCmdBuff 的 Data Type。0 表示 DCS1 表示 GENERIC,非 0 且非 1 的值将被作为 Data Type 的实际值封装进数据包内。只接受传入十进制值。

    示例:设定 LP Cmd 的 Data Type 为 0x32(Turn On Peripheral Command)。

    "m_ePacketType": 50
    

    m_pCmdBuff是panel初始化cmd,该部分是各panel厂商参照协议标注自定义的,因此该参数设定内容一般找panel厂商提供。该参数的设定内容格式如下所示,以十六进制填写。

    "m_pCmdBuff":[
        "cmd1","data_num","data[0]","data[1]",...,"data[num-1]",
        ...,
        "cmdN","data_num","data[0]","data[1]",...,"data[num-1]",
        "0xFF","0xFF"  //结束符
    ]
    

    注:m_pCmdBuff中的"0xFE, 0xFE, 0xXX"表示延时,单位:ms

    参数 描述
    m_pAfterLP11 LP11之后,power on时序控制,如不需要可删除该参数
    m_pAfterInit mipidsi init cmd发送完成后,power on时序控制,如不需要可删除该参数
    m_pAfterDeinitCmd mipidsi deinit cmd发送完成后,power off 时序控制,如不需要可删除该参数

    m_pAfterLP11、m_pAfterInit、m_pAfterDeinitCmd 用于控制屏幕的上下电时序,内容格式如下所示。pin_idx后面必须跟上level和delay_ms,以十进制填写。

    "m_pAfterLP11":[
        "pin_idx","level","delay_ms",
        "pin_idx","level","delay_ms",
        ...,
        "pin_idx","level","delay_ms"
    ]
    

    示例:m_pAfterLP11:拉高gpio_179并延时10ms -> 拉低gpio_179并延时10ms -> 拉高gpio_179并延时10ms。

    "m_pAfterLP11":[
        "179","1","10",
        "179","0","10",
        "179","1","10"
    ]
    


    4.4 LVDS接口特有参数

    LVDS接口需要额外配置下列参数,若未配置则默认是0。

    参数 描述
    lvds_eFormat data format
    0:VESA
    1:JEIDA
    lvds_eLaneNum lane number
    0:NONE
    3:3 lane
    4:4 lane
    lvds_u8SwapOddEven swap odd and even for dual-lvds
    0:default
    1:swap
    lvds_u8SwapML Swap RGB MSB/LSB
    0:disable M/L swap
    1:enable M/L swap
    lvds_u8PolHsync Hsync polarity
    lvds_u8PolVsync Vsync polarity
    lvds_u8ClkLane default: 0x63
    lvds_u8PolLane0 lane0 polarity
    0:default
    1:positive
    lvds_u8PolLane1 lane1 polarity
    0:default
    1:positive
    lvds_u8PolLane2 lane2 polarity
    0:default
    1:positive
    lvds_u8PolLane3 lane3 polarity
    0:default
    1:positive
    lvds_u8PolLane4 lane4 polarity
    0:default
    1:positive
    lvds_u8SwapLane0 data lane0 selection
    0:select chn0
    1:select chn1
    2:select chn2
    3:select chn3
    4:select chn4
    lvds_u8SwapLane1 data lane1 selection
    0:select chn0
    1:select chn1
    2:select chn2
    3:select chn3
    4:select chn4
    lvds_u8SwapLane2 data lane2 selection
    0:select chn0
    1:select chn1
    2:select chn2
    3:select chn3
    4:select chn4
    lvds_u8SwapLane3 data lane3 selection
    0:select chn0
    1:select chn1
    2:select chn2
    3:select chn3
    4:select chn4
    lvds_u8SwapLane4 data lane4 selection
    0:select chn0
    1:select chn1
    2:select chn2
    3:select chn3
    4:select chn4

    5. 配置正确的屏参

    配置正确的屏参除了可以参考上述列表中的附件表格,还需要根据屏幕规格书或者协议规范调整对应的参数。

    5.1 屏幕规格书

    大部分屏芯片的规格书可以找到Timing相关部分,如下图所示。如果找不到,可以找厂家询问。

    参数 描述
    m_wPanelVSyncWidth Horizontal Sync. Width
    m_wPanelHSyncBackPorch Horizontal Sync. Back Porch
    m_wPanelVSyncWidth Vertical Sync. Width
    m_wPanelVBackPorch Vertical Sync. Back Porch
    m_wPanelHStart m_wPanelHSyncWidth+m_wPanelHSyncBackPorch
    m_wPanelVStart m_wPanelVSyncWidth+m_wPanelVBackPorch
    m_wPanelWidth 240(H)
    m_wPanelHeight 320(V)
    m_wPanelHTotal m_wPanelHStart+m_wPanelWidth + hfp
    m_wPanelVTotal m_wPanelVStart+m_wPanelHeight + vfp

    5.2 协议规范

    如果是MIPI panel,还需要根据MIPI spec配置MIPI dphy相关参数。

    UI的计算方法:
    
    H_Total = m_wPanelHTotal
    
    V_Total = m_wPanelVTotal
    
    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 dphy timing中的参数

    (40ns + 4 * UI) / (8 * UI) < m_wHsPrpr < (85ns + 6 * UI) / (8 * UI)

    其他MIPI dphy timing中参数计算方法同上。

    hpw、hbp、hfp需满足下列公式

    data_init_cycle = HsExit + Lpx + HsPrpr + HsZero
    
    HFP_WC = HFP * BPP – 12 – data_init_cycle * lane_num
    
    HBP_WC = HBP * BPP – 10
    
    HSA_WC = HPW * BPP – 10
    
    HFP_WC/HBP_WC/HSA_WC need > 0
    

    上述参数计算都可参考文件 MIPIDSIParamCalculation