ssd2828 RGB转MIPI接口调试记录

news/2024/10/19 2:23:40/

问题描述:

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

问题原因分析:

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

解决措施:

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

#define DELAY_CMD 0xFFstruct 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函数。

测试验证:屏幕能够正常显示彩条。


http://www.ppmy.cn/news/746852.html

相关文章

一次阿里云Schedulerx换成Spring定时任务的过程

1、当前现状 所有的任务已经迁移到阿里云Schedulerx&#xff1b;阿里云Schedulerx是按照调用次数收费&#xff0c;有些任务每秒调用一次&#xff0c;费用太高&#xff1b; 2、明确需求 需要把执行非常频繁的定时任务从阿里云迁移&#xff08;阿里云收费根据调用次数&#xff0c…

Linux 磁盘划分规则,如何规范的划分,比如300G, 900G,1T, 2T都是如何划分比较好。

Linux磁盘划分规则可以参考下面的建议&#xff1a; 1.根目录 (/)&#xff1a;根目录是Linux文件系统的根节点&#xff0c;所有其他目录和文件都是从此目录开始的。根目录使用50GB的空间足以满足绝大部分应用&#xff0c;但如果您需要存储更多的数据或支持更多的应用程序&#…

Centos6.7创建逻辑卷挂载1T机械硬盘

今天公司需要&#xff0c;做一个SVN服务器&#xff0c;然后安装Centos系统&#xff0c;服务器的硬盘是固态硬盘1T机械硬盘 然后就把系统安装到固态硬盘中去了&#xff0c;采用的自动分区&#xff0c;安装过程不再赘述&#xff0c;网上已有大把的教程了 一、先扔一个各种卷的概…

计算机硬盘没容量了,电脑硬盘容量为什么偏少 硬盘空间容量有差异的原因

相信很多人都会看到硬盘的实际容量与标识容量有差异的现象&#xff0c;一般1TB硬盘只有950G左右&#xff0c;那么为什么会这样呢&#xff1f;为什么硬盘容量无法达到标准容量呢&#xff1f;除了换算的差异之外还有其他原因吗&#xff1f;下面为大家详细解释硬盘容量出现差异的原…

数据结构--二叉树的存储结构

数据结构–二叉树的存储结构 二叉树的顺序存储 #define MaxSize 100 struct TreeNode {ElemType value;bool isEmpty; }; TreeNode tree[MaxSize];初始化 void init() {for (int i 0; i < MaxSize; i)tree[i].isEmpty true; }几个重要常考的基本操作: i的左孩子: 2 i 2…

0基础学习VR全景平台篇 第56篇:专业版功能-故事线

功能位置示意 一、本功能将用在哪里&#xff1f; 故事线功能&#xff0c;支持将多个VR视频片段&#xff0c;自由设置剧情&#xff0c;在故事中设置多个路线结局&#xff0c;实现VR视频创作新玩法。 区别传统VR视频单项输出内容&#xff0c;促使用户主动思考&#xff0c;参与剧…

自用vscode neovim插件配置文件 init.vim

自用vscode neovim插件配置文件 init.vim 这样配置是为了区分 terminal 中使用 neovim 和在 vscode 中使用 neovim 使用不同的配置文件 $ cat ~/.config/nvim/init.vim 注意 window系统生效的配置文件和 *unix 系统文件生效的配置文件存放不同&#xff0c;window系统的配置是 …

python求信号的模糊熵

要计算信号的模糊熵&#xff0c;您可以使用以下Python代码&#xff1a; import numpy as npdef fuzzy_entropy(signal, m, r):N len(signal)B 0.0C 0.0A 0.0# 将信号向量化signal np.array(signal)# 遍历每一个子序列&#xff0c;计算模糊熵for i in range(N - m):for j …