ssd2828 RGB转MIPI接口调试记录

问题描述:

主控芯片通过spi接口对ssd2828芯片进行配置fpga输出RGB信号给ssd2828转换成MIPI信号输出到LCD无显示

问题原因分析:

MIPI屏控制芯片是HX8399,需要通过MIPI接口发送dcs命令对屏幕进行初始化。

解决措施:

增加MIPI屏初始化配置,MIPI屏初始化代码如下:

#define DELAY_CMD 0xFF



struct st_lcdSettigTable

{

u8 regAddr;

u8 dataCnt;

u8 dataList[60];

};



void Delay_ms(int Num)

{

int Timer;

while(Num--)

{

  Timer = 1000;

while(Timer--);

}

}



struct st_lcdSettigTable HX8399_setting[]=

{

{0xB9,3,{0xFF,0x83,0x99}},

{0xB1,15,{0x02,0x04,0x70,0x90,0x01,0x32,0x33,0x11,0x11,0x4D,\

 0x57,0x56,0x73,0x02,0x02}},

{0xB2,11,{0x00,0x80,0x80,0xAE,0x0A,0x0E,0x75,0x11,0x00,0x00,\

 0x00}},

{0xB4,46,{0x00,0xFF,0x04,0xA4,0x02,0xA0,0x00,0x00,0x10,0x00,\

 0x00,0x02,0x00,0x24,0x02,0x04,0x0A,0x21,0x03,0x00,\

 0x00,0x08,0xA6,0x88,0x04,0xA4,0x02,0xA0,0x00,0x00,\

 0x10,0x00,0x00,0x02,0x00,0x24,0x02,0x04,0x0A,0x00,\

 0x00,0x08,0xA6,0x00,0x08,0x11}},

{0xD3,33,{0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x32,0x10,\

 0x09,0x00,0x09,0x32,0x10,0x00,0x00,0x00,0x00,0x00,\

 0x00,0x00,0x00,0x11,0x00,0x02,0x02,0x03,0x00,0x00,\

 0x00,0x0A,0x40}},

{0xD5,32,{0x18,0x18,0x18,0x18,0x21,0x20,0x18,0x18,0x19,0x19,

 0x19,0x19,0x18,0x18,0x18,0x18,0x03,0x02,0x01,0x00,

 0x2F,0x2F,0x30,0x30,0x31,0x31,0x18,0x18,0x18,0x18,

 0x18,0x18}},                  

                         

{0xD6,32,{0x18,0x18,0x18,0x18,0x20,0x21,0x19,0x19,0x18,0x18,\

 0x19,0x19,0x18,0x18,0x18,0x18,0x00,0x01,0x02,0x03,\

 0x2F,0x2F,0x30,0x30,0x31,0x31,0x18,0x18,0x18,0x18,\

 0x18,0x18}},

{0xD8,8,{0x0A,0xBE,0xFA,0xA0,0x0A,0xBE,0xFA,0xA0}},

{0xBD,1,{0x01}},

{0xD8,8,{0x0F,0xFF,0xFF,0xE0,0x0F,0xFF,0xFF,0xE0}},

{0xBD,1,{0x02}},

{0xD8,8,{0x0F,0xFF,0xFF,0xE0,0x0F,0xFF,0xFF,0xE0}},

{0xBD,1,{0x00}},

{0xE0,54,{0x01,0x11,0x1C,0x17,0x39,0x43,0x54,0x51,0x5A,0x64,\

 0x6C,0x74,0x7A,0x83,0x8D,0x92,0x99,0xA4,0xA9,0xB4,\

 0xAA,0xBA,0xBE,0x63,0x5E,0x69,0x73,0x01,0x11,0x1C,\

 0x17,0x39,0x43,0x54,0x51,0x5A,0x64,0x6C,0x74,0x7A,\

 0x83,0x8D,0x92,0x99,0xA4,0xA7,0xB2,0xA9,0xBA,0xBE,\

 0x63,0x5E,0x69,0x73}},

{0xB6,2,{0x97,0x97}},

{0xCC,1,{0x00}},

{0xBF,4,{0x40,0x41,0x50,0x49}},

{0xC6,2,{0xFF,0xF9}},

{0xC0,2,{0x25,0x5A}},

    {0x11,1,{0}},

    {DELAY_CMD,120},

{0x29,1,{0}},

    {DELAY_CMD,50},

};



void HX8399_LCD_Init(void)

{

int i,j;

        

for(i=0;i<sizeof(HX8399_setting)/sizeof(struct st_lcdSettigTable);i++)

{



          if(DELAY_CMD==HX8399_setting[i].regAddr)

          {

           DIS_Delayms(HX8399_setting[i].dataCnt);

          }

          else

          {

                GP_COMMAD_PA(HX8399_setting[i].dataCnt+1);

                SPI_WriteData(HX8399_setting[i].regAddr);

for(j=0;j<HX8399_setting[i].dataCnt;j++)

{

SPI_WriteData(HX8399_setting[i].dataList[j]);

}

          }      

}

}

开机初始化时调用HX8399_LCD_Init函数。

测试验证:屏幕能够正常显示彩条。文章来源地址https://uudwc.com/A/1YdBG

阅读剩余 72%

原文地址:https://blog.csdn.net/luky_zhou123/article/details/131569951

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

h
上一篇 2023年07月07日 10:43
Java 设计模式 随笔1 监听器/观察者
下一篇 2023年07月07日 10:44