• 基于RT1052 Aworks MIPI 2line 显示 (十八)


    本文主要是通过迁移的思维,记录本人初次使用周立功的Aworks框架进行BSP开发

    本文主要讲述在RT1052上面,原先的MIPI 4line显示调整为MIPI 2line显示。

    1. 原理

    MIPI显示由4line显示调整为2line显示,从原理上需要修改的地方有三处:
    1) MIPI line数由4改为2。
    2) MIPI时钟需要调整。
    3) 需要发送DSC命令让MIPI屏支持2line即可

    2. 操作过程

    1. MIPI line数由4改为2
    @@ -467,7 +467,7 @@ void LT9211_MipiTxDigital(void)
         HDMI_WriteI2C_Byte(0x16,0x55);
         HDMI_WriteI2C_Byte(0x10,0x01);
         HDMI_WriteI2C_Byte(0x11,0x30); //read delay
    -    HDMI_WriteI2C_Byte(0x13,0x0f);     //bit[5:4]:lane num, bit[2]:bllp,bit[1:0]:vid_mode
    +    HDMI_WriteI2C_Byte(0x13,0x2f);     //bit[5:4]:lane num, bit[2]:bllp,bit[1:0]:vid_mode^M
    
    

    2)MIPI时钟需要调整。

    @@ -396,9 +396,9 @@ void LT9211_MipiTxpll(void)
         HDMI_WriteI2C_Byte(0xff,0x82);
         HDMI_WriteI2C_Byte(0x36,0x03); //b7:txpll_pd
         HDMI_WriteI2C_Byte(0x37,0x28);
    -    HDMI_WriteI2C_Byte(0x38,0x04);
    -    //HDMI_WriteI2C_Byte(0x3a,0x91);
    -           HDMI_WriteI2C_Byte(0x3a,0x92);
    +    HDMI_WriteI2C_Byte(0x38,0x44);
    +    HDMI_WriteI2C_Byte(0x3a,0x92);
    +         //  HDMI_WriteI2C_Byte(0x3a,0x90);
    
    
    1. 需要发送DSC命令让MIPI屏支持2line即可,该命令由屏的供应商提供
    +    Generic_Short_Write_1P(0xB0,0x5A);
    +               aw_mdelay(10);
    +    Generic_Short_Write_1P(0xB1,0x00);         
    +               aw_mdelay(10);
    +    Generic_Short_Write_1P(0x89,0x01);         
    +               aw_mdelay(10);  
    +    Generic_Short_Write_1P(0xB1,0x03);         
    +               aw_mdelay(10);
    +    Generic_Short_Write_1P(0x14,0xE1);         
    +               aw_mdelay(10);  
    +    Generic_Short_Write_1P(0xB1,0x00);         
    +               aw_mdelay(10);
    +    Generic_Short_Write_1P(0x89,0x03);         
    +               aw_mdelay(10);  
    
    void InitPanel( void )
    {
    
    	HDMI_WriteI2C_Byte(0xff,0x81);
    	HDMI_WriteI2C_Byte(0x0e,0xef);
    	HDMI_WriteI2C_Byte(0x0e,0xff);
    	HDMI_WriteI2C_Byte(0x0b,0xfe);
    
    	HDMI_WriteI2C_Byte(0xff,0x86);
    	HDMI_WriteI2C_Byte(0x47,0x01);
    	HDMI_WriteI2C_Byte(0x48,0x01);
    
    	HDMI_WriteI2C_Byte(0xff,0xd4);
    	HDMI_WriteI2C_Byte(0x20,0x2f);
    	HDMI_WriteI2C_Byte(0x21,0x10);
    	
    extern void 	rgb2mipi_first_time_power_on_sequence();
    	rgb2mipi_first_time_power_on_sequence();    
    	
    	aw_mdelay(300);
        aw_kprintf("
    Start initial panel
    ");
    
        Generic_Short_Write_1P(0xB0,0x5A);
    		aw_mdelay(10);
        Generic_Short_Write_1P(0xB1,0x00);		
    		aw_mdelay(10);
        Generic_Short_Write_1P(0x89,0x01);		
    		aw_mdelay(10);	
        Generic_Short_Write_1P(0xB1,0x03);		
    		aw_mdelay(10);
        Generic_Short_Write_1P(0x14,0xE1);		
    		aw_mdelay(10);	
    
        Generic_Short_Write_1P(0xB1,0x00);		
    		aw_mdelay(10);
        Generic_Short_Write_1P(0x89,0x03);		
    		aw_mdelay(10);	
        aw_kprintf("
    Finish initial panel
    ");
    } 
    

    4)测试结果
    在这里插入图片描述

    3. 总结

    如果2line显示不成功如何排查:
    1、通过示波器测量MIPI 钟时是否正常
    2、通过示波器测试MIPI数据线上是否只剩下line0 line1 有数据。
    3、通过MIPI逻辑分析仪确认DSC是否发送成功,这个方法很直接,但是一般公司是没有MIPI逻辑分析仪的。
    在这里插入图片描述

  • 相关阅读:
    SQL Server DB 基于多核CPU的设置
    如何在64位的Windows 2008的系统配置导入Excel功能
    如果在IIS中没有将虚拟目录配置为应用程序,则可能导致此错误
    .NET 数据绑定中空格符的问题
    .net 读取客户端文件的方法
    spring4+quartz
    web端 图片上传
    Maven配置setting.xml详细说明
    Timer
    实现quartz定时器及quartz定时器原理介绍
  • 原文地址:https://www.cnblogs.com/lianghong881018/p/15169488.html
Copyright © 2020-2023  润新知