首页 > 技术知识 > 正文

海思mipi lcd屏幕调试记录

  最近点亮了一块ic为ili9881c的mipi lcd屏幕,虽然之前有调试过mipi屏幕,但是时间太久了,又重新踩了一遍之前的坑,这里对碰到的问题做个记录。(之前在网上查阅相关资料的时候看到说是sdk中有sample可以提供参考,但是我直接在公司大佬们的代码上进行调试)

  关于海思的屏幕调试,海思提供了很多的文档,个人觉得写的已经很详细了,但如果只是看其中的部分也还是会云里雾里的感觉。

1.屏幕对接 使用指南.pdf:调试屏幕的整体流程,建议先过一遍,了解各大概

2.MIPI使用指南.pdf: mipi相关函数的参考文档,mipi时序配置结构体

3.HiMPP V4.0 媒体处理软件开发参考.pdf:vo时序配置。。。

4.RGB_MIPI屏幕时钟时序计算器.xlsx:该表格能够自动帮你计算vo和mipi的时钟时序,就根据用户手册去自己计算了。(据说旧版本的sdk没有,太惨了)

vo和mipi_tx时序问题:

(开发记录)海思mipi lcd屏幕的调试 (ILI9881C)

(开发记录)海思mipi lcd屏幕的调试 (ILI9881C)1

这些参数的配置可以通过RGB_MIPI屏幕时钟时序计算器.xlsx这个表格直接计算出,只要输入VBP,VSP,VSA,帧率,lane个数等参数,其中的前后消隐,同步时序可能厂商会直接给出,如果没有的话也可以通过屏幕手册自己调试得出。(如果想要了解这些前后消隐的具体意思可以去查阅芯片的用户手册,里面有比较详细的说明)

mipi屏幕的初始化序列:

  对我来说这块最大的坑应该就是如何导入参数了(可能是在别人的代码上调试,没有看过海思sample的原因),开始拿到初始化序列的时候不是很懂什么意思,拿到的初始化序列有两种格式,一种是以.dts文件给出

(开发记录)海思mipi lcd屏幕的调试 (ILI9881C)2

另一种是和手册一起的

(开发记录)海思mipi lcd屏幕的调试 (ILI9881C)3

  其实导入参数在屏幕对接指南中的配置 MIPI Tx 屏幕初始化序列步骤中有详细介绍,主要有命令类型,命令长度,数据指针(数据长度为1或0的时候为NULL)。

  再看dts中的配置,第一个参数肯定是数据类型了,根据手册0x15是发送一个地址一个数据,那地3个参数就是数据长度了,0x15的时候发两个字节数据,分别是地址0x01和数据0x00,最后就是第2个00了,好像和mipi发送数据结构体并没有什么关系,最后是在厂商提供的屏幕初始化文档中发现了延时的操作Delayms(200)和Delayms(100);加上延迟操作,成功点亮。

PS:一定要注意屏幕的使能管脚和初始化管脚,还有reset管脚。

猜你喜欢