海思HI3516 MIPI屏幕调试笔记

知识点

1:参考资料-《HIMPP媒体处理软件开发参考》-《屏幕对接指南》-《屏幕时钟时序计算器》-《京东方屏幕驱动》;

2:采用sample中的vdec例程进行改写,实现的主要功能为将JPG图像进行解码并通过MIPI屏幕显示;

3:PLL:倍频-Framebuff:帧缓冲设备,会生成一个/dev/fbx的设备,通过这个即可访问LCD-Alpha:透明度;

4:通过操作显存来实现LCD上显示字符或者图片;

5:mmap函数:将文件映射进内存,使得文件中的一个字节与内存对应;

6:memset函数:将内存中的一块设置为指定的内容;

7:lane:链接接收与发送设备的差分线,使用的京东方屏幕有4组lane;

8:MIPI是物理层的传输规范,包含了DSI(显示串行接口)和CSI(显示命令接口);

9:显示包含了图形层,视频层,设备层,三层通过VGS进行叠加,可以设置Alpha;

10:GPIO口设置为通用输入/输出,使能GPIO管脚>>配置GPIO_DIR,选择输入输出>>配置GPIO_DATA,设置读写信号值;

11:在将光信号转换为电信号的扫描过程中,扫描总是从图像的左上角开始,水平向前行进,同时扫描点也以较慢的速率向下移动。当扫描点到达图像右侧边缘时,扫描点快速返回左侧,重新开始在第1行的起点下面进行第2行扫描,行与行之间的返回过程称为水平消隐。一幅完整的图像扫描信号,由水平消隐间隔分开的行信号序列构成,称为一帧。扫描点扫描完一帧后,要从图像的右下角返回到图像的左上角,开始新一帧的扫描,这一时间间隔,叫做垂直消隐,也称场消隐(VBlank)

12:

13:HBP HFP VBP VFP比较重要

 14:显示一行所需要的时间就是:HSPW (hsync)+ HBP + HOZVAL + HFP

   显示一帧所需要的时间就是:VSPW(vsync)+VBP+LINE+VFP 个行时间,

Htatal=hpw+hdisp+hfp+hbp
Vtatal=vpw+vdisp+vfp+vbp

pixel_clk = Htatal*Vtatal*fps (单位HZ,程序中采用KHZ)

Mipiclock = Htatal*Vtatal*fps*bus_hpw/lane_num/2

15:


源码分析

1:首先是功能展示,由此可知该例程实现了将H264/H265/JPG格式的图像进行输出,这里我们选用JPG格式;

2:进入该函数,屏幕的分辨率是1080*1920(注意宽是1080高是1920!),按步骤进行;

3:到第五步时开始需要自己设置参数,这里需要注意,画布的大小应介于32,32到1080,1920之间,否则会报错误

4:此处开始配置屏幕,将屏幕的参数输入到屏幕时序计算器中,得到各个参数并填入,根据学长经验了解到需要将帧数减小为50,

且频率在100-110之间,

5:再配置用户,也可由计算器中得知,具体均注释出,不再赘述

6:此处:设置视频层的属性,具体可以参考HIMPP手册中的VO_VIDEO_LAYER_ATTR_S结构体的具体含义以及配置;

7:接着开始初始化屏幕,添加一条case,并设置设备属性,具体参数也可由计算器中获得

 

8:开启屏幕,根据驱动程序的初始化序列向屏幕发送初始化命令,这里涉及到三种传输方式,具体可以参考《屏幕对接指南》;

  由于设备已开启就已经点亮了屏幕并已经初始化好屏幕的参数,因此我们需要将屏幕先下电再重新初始化序列,具体代码如下;

初始化之前先给屏幕上电和reset

调试

调试过程,调试可以用到两个方法,一种是“cat /dev/logmpp”这是海思的官方日志,串口中的只显示大概的错误,而日志中可以显 示的更为详细,其中的line值并不准确,具体看后面的错误内容。另一个方法是“cat /proc/umap/mipi_tx”通过此命令可以显示你所 配置的各个时序,如下图所示:

效果展示:

踩坑点:

1:初始化序列中0x51寄存器控制的是背光,之前写了0导致屏幕不亮;

2:初始化画布是范围应是(32,32,1080,1920),仅提示未验证原因;

3:更改屏幕参数要HI_MPI_VO_Disable一下;

  • 4
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
海思hi3516dv300硬件设计用户指南是一本针对海思公司推出的hi3516dv300芯片的硬件设计的指导手册。该手册的目的是帮助用户了解hi3516dv300芯片的硬件设计要求和规范,并提供相关的设计指导和建议。 hi3516dv300芯片是一款高性能、低功耗的视频处理芯片,主要应用于视频监控、智能交通和安防等领域。硬件设计是确保芯片正常工作和发挥最佳性能的基础,因此对于使用hi3516dv300芯片的设计人员来说,掌握硬件设计指南是非常重要的。 在这本指南中,首先介绍了hi3516dv300芯片的主要特性和功能,包括处理能力、视频编解码、音频处理等。然后详细讲解了芯片的外部接口和引脚分配,包括视频输入、输出接口、音频接口、以太网接口等。同时,还对时钟、电源、存储器和外设等方面的设计进行了说明和建议。 此外,指南中还提供了关于PCB设计的一些建议,包括地域分布、信号电源分离、阻抗匹配、电磁兼容性等方面,帮助设计人员提高设计质量和可靠性。 总之,海思hi3516dv300硬件设计用户指南是一本重要的参考资料,它提供了关于hi3516dv300芯片硬件设计方面的详尽说明和建议,对于希望使用该芯片进行设计的用户来说是不可或缺的。通过认真阅读和遵循指南中的规范和要求,设计人员可以更好地实现hi3516dv300芯片的应用,提高产品的性能和可靠性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

warren@伟_

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值