嵌入式实操----基于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屏,调试起来也比较顺利。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式实操

希望博文有助于您,您不必加班。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值