• 嵌入式实操----基于RT1170 首板硬件之MIPI显示调试(十七)


    本文主要是通过迁移的思维,记录本人初次使用NXP MCUXpresso SDK API进行BSP开发

    所有的显示驱动调试,均涉及像素时钟和显示时序的适配,本身这些参数就和屏有关系以及根据屏厂要求发送相关的MIPI命令。本文主要说明如何在NXP的显示框架下面适配MIPI屏。

    1. 首先阅读原理图

    在这里插入图片描述
    涉及的文件如下:
    在这里插入图片描述

    2. 调试过程

    2. 1 时序注册

    在这里插入图片描述

    2. 2 显示资源注册

    在这里插入图片描述

    2.3 显示时钟初始化

    在这里插入图片描述
    根据屏参及显示的帧率60,需要66M的像素时钟。528/8 = 66M

    2.4 屏初始化

    在这里插入图片描述
    HSD088IPW1_Init 主要是对MIPI屏的上送,配置LINE显示数目及打开背光。

    status_t HSD088IPW1_Init(display_handle_t *handle, const display_config_t *config)
    {
        uint32_t i;
        uint8_t param[2];
        status_t status              = kStatus_Success;
        hsd088ipw1_resource_t *resource = (hsd088ipw1_resource_t *)(handle->resource);
        mipi_dsi_device_t *dsiDevice = &(resource->dsiDevice);
    
        /* Only support 1920 * 480 */
        if (config->resolution != FSL_VIDEO_RESOLUTION(480, 1920) )
        {
            return kStatus_InvalidArgument;
        }
    		/*给MIPI屏上电*/
        HSD088IPW1_Power_On_Sequene();
    
        
        /* 针对屏,设置MIPI 2LINE 显示 */
        for (i = 0; i < ARRAY_SIZE(lcmInitSetting); i++)
        {
            status = MIPI_DSI_GenericWrite(dsiDevice, lcmInitSetting[i], 2); //MIPI_DSI_GenericWrite
               
            if (kStatus_Success != status)
            {
                return status;
            }
    		    HSD088IPW1_DelayMs(10);
        }
    
        HSD088IPW1_DelayMs(300);
    		/*打开背光*/
    		bsp_pwm_set_brightness_duty_cycle(100);  
    
        return kStatus_Success;
    }
    

    3. 总结

    经过前期对MIPI显示的学习,找到如何依据NXP框架注册新的MIPI屏,调试起来也比较顺利。

  • 相关阅读:
    002-pythn基础-循环、编码
    001-python3 初识
    confluence6.x安装
    python+ffmpeg切割视频
    Elasticsearch6.x和Kibana6.x的安装
    django基础
    CDH的完全离线安装(ubuntu16)
    python之旅十【第十篇】paramiko模块
    解决 MariaDB无密码就可以登录的问题
    切割日志(mysql,nginx,php tomcat)使用logrotate
  • 原文地址:https://www.cnblogs.com/lianghong881018/p/15169586.html
Copyright © 2020-2023  润新知