基于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("\r\nStart initial panel\r\n");

    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("\r\nFinish initial panel\r\n");
} 

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

3. 总结

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

嵌入式实操

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

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

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

打赏作者

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

抵扣说明:

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

余额充值