[智能AI摄像头]RV1126适配3inch mipi屏幕

3寸屏幕

硬件平台

3寸屏:ST7701S驱动芯片,mipi接口,2lane

rv1126:易佰纳38板、正点原子rv1126开发板

所需资料

《屏幕规格书》、《开发板原理图》、《屏幕初始化序列》、《ST7701S数据手册》《rk屏幕相关文档》

驱动板绘制

因为开发板的DSI接口和屏幕的线序并不匹配,因此需要绘制转接驱动板,这里以易佰纳的开发板为例,DSI接口线序如下,这里主要关注供电输出为12V,CLKN、CLKP、D0N、D0P、D1N、D1P以及RST引脚,其中RST连接到的是GPIO2_D6,IO电压为3.3V(这里很重要,因为屏幕的RST电压要求3.3V才行,而正点原子的RST电压仅为1.8V导致屏幕一直没有反应)

原理图

背光电源芯片选用恒流输出的MP3302DJ,屏幕背光需要18V20mA,电流计算公式为200mV/R1因此采样电阻R1选用10R使之恒流20mA

LAYOUT

由于使用的是MIPI DSI接口,使用的是高速差分信号对,因此先要了解一下MIPI的布线规则。

MIPI布线规则

1:MIPI 的差分线阻抗(电压与电流的比值)控制标准是100 欧姆,误差不能大于±10%;

2:MIPI信号线下方最好有连续的地层(至少宽度为mipi单条线宽的4倍);

3:线对之间的误差不要超过10mil,即等长以确保数据同时到达,保证数据的正确性;

4:线对与线对之间的误差不要超过200mil;

5:线对之间要保持对称和等距,以保证信号的稳定;

6:线对与线对之间要保持3W以上的距离,防止干扰;

计算线宽和线距

1:打开嘉立创阻抗计算器,得出线距为4,线宽为6.19;

按照要求布线即可

RV1126适配屏幕

rv1126的屏幕驱动使用的是simple-panel驱动,我们只需要配置好设备树即可,可以参考《Rockchip_DRM_Panel_Porting_Guide》,其中所需的一些信息需要通过查找屏幕厂商提供的资料进行获得:

获取屏幕的时序和初始化序列,打开《屏幕数据手册》,可以获取以下信息,屏幕的显示物理尺寸为36.72mm*65.28mm,分辨率为480*854.

timing

打开初始化序列得到屏幕时序

HSYNC叫做水平同步信号(行同步信号)此信号表示新的一行开始,VSYNC表示垂直同步信号(帧同步信号)表示要开始新的一帧,由于硬件本身的特性会导致一定的延时,因此图像只显示在有效显示区域显示,而黑边(无效显示区域)就是为了延时而存在的。

1)一行即将显示,扫描枪就会快速移至左边,当HSYNC信号发起并结束,扫描枪打开;

2)扫描枪打开后延时HBP后继续扫描,此时开始处正是显示有效区域;

3)一行扫描结束后,扫描抢关闭等待HSYNC信号到来耗时HFP时间;

4)重复1/2/3步骤直至一帧扫描完成;

5)显示一帧后,等待VSYNC信号,耗时VFP;

6)VSYNC信号发起并结束,扫描枪重新移到左上角后打开后延时VBP开始等待HSYNC信号并继续步骤1

这里需要注意:水平方向上延时都是按照像素计算的,但是垂直方向上都是按照来计算的!!!(看图更加直观)

计算公式:

单位均是CLK

HOZVAL为有效显示宽度,单位为像素

LINE为有效显示行数,单位为

显示一行所需要的时间就是:HSYNC(HSPW )+ HBP + HOZVAL + HFP个像素之间(一般为clk)

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

最终耗时:T=行数*行时间=(VSYNC+VBP+LINE+VFP)*(HSYNC(HSPW )+ HBP + HOZVAL + HFP)clks

以本屏幕为例子计算一下

一帧耗时:(10+42+4+854)*(480+8+2+43)=485030clk

60fps为60*485030=29.1MHZ

初始化序列

由于是mipi屏幕,因此需要初始化序列来初始化屏幕的驱动芯片,初始化序列如下所示,其中初始化序列格式为[数据包类型 延时时长 数据包大小 数据]其中数据包类型有0x39 0x15 0x05等等,0x39表示长写入命令,即数据+命令>2,0x15表示短写入命令,即数据+命令=2,0x05为短写命令,发送单命令或者单数据

最后重新生成内核并烧入,

dmesg | grep drm

查看当前显示状态

cat /sys/kernel/debug/dri/0/summary

显示设备使用的vop(显示控制器)为ffb00000.vop,使用的接口为DSI,使用的是win2-0图层

查看drm buffer使用情况

屏幕成功点亮:

       

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/12031.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

文件怎么转成二维码图片?长期使用的文件活码的制作方法

文件二维码是现在很常用的一种展现分享文件的方式,采用这种方式可以快速通过扫码的方式来查看文件内容,比如excel、word、ppt、pdf等文件格式都可以生成二维码之后在手机上预览内容。那么文件制作二维码的步骤是什么样的呢?下面就来教大家一招…

男士内裤一般什么价位?五款爆品无广测评,人气榜单推荐

不少男性朋友在选男士内裤的时候,都觉得品牌众多和各种不同材质,让大家款得眼花缭乱不知道怎么选。选择男士内裤时要综合考虑多种因素,才能够让舒适感和透气性大大提升,而且抗菌效果更好能够减少细菌滋生。 今天就给大家分享五款…

祝贺誉天杨峰老师率先通过HCIE-openEuler认证!

热烈祝贺誉天教育杨峰老师4月29日成功通过HCIE-openEuler认证! 杨峰老师HCIE-openEuler证书 作为HCIP-openEuler全国首位通过者,杨峰老师凭借他深厚的专业知识、丰富的实践经验和不懈的努力,成功通过了华为认证的HCIE-openEuler专家级认证&a…

VB6连接各种类型的数据库

VB6连接各种类型的数据库 一、连接VFP数据库 Dim CNN As New ADODB.Connection Dim rssys As New ADODB.Recordset If CNN.state 1 Then CNN.Close CNN.ConnectionString "Driver{Microsoft Visual FoxPro Driver};SourceType.DBc;SourceDb" Trim(Text1) CNN…

代码随想录 打卡day23,24,25

1 二叉搜索树的最小绝对差 注意审题&#xff0c;题目当值说到是一个二叉搜索树&#xff0c;因此我们只需进行中序遍历即可&#xff0c;然后得到一个有序数组之后进行编辑&#xff0c;统计出来最小差。 class solution{ private:vector<int> vec;void traversal(TreeNode…

【数据结构】线性表----链表详解

数据结构—-链表详解 目录 文章目录 链表的定义链表的构成链表的分类双向和单向带头和不带头循环和不循环 链表的命名基本操作的实现初始化打印取值查找插入指定位置插入删除删除销毁 部分其他链表的代码实现循环链表双向链表 优点/缺点&#xff08;对比顺序表&#xff09;优点…

基于ssm学生档案管理系统论文

系统简介 身处网络时代&#xff0c;随着网络系统体系发展的不断成熟和完善&#xff0c;人们的生活也随之发生了很大的变化&#xff0c;人们在追求较高物质生活的同时&#xff0c;也在想着如何使自身的精神内涵得到提升&#xff0c;而读书就是人们获得精神享受非常重要的途径。…

linux性能监控之free

free&#xff1a;linux系统自带命令&#xff0c;显示内存状态&#xff0c;命令查询来源于/proc/meminfo 文件 [rootk8s-master ~]# free --helpUsage:free [options]Options:-b, --bytes show output in bytes-k, --kilo show output in kilobytes-m, --mega…

flutter开发实战-compute将工作交由isolate处理

flutter开发实战-compute将工作交由isolate处理 最近查看flutter文档时候&#xff0c;看到了compute可以将工作交由isolate处理。通过 Flutter 提供的 compute() 方法将解析和转换的工作移交到一个后台 isolate 中。这个 compute() 函数可以在后台 isolate 中运行复杂的函数并…

利用阿里国际站和eBay平台销售数据提升产品销售额的有效方法。

作为全球知名的跨境电商平台&#xff0c;阿里国际站和eBay汇聚了众多跨境电商商家。为了提升业务效率和优化经营策略&#xff0c;商家们需要时刻关注自家店铺中产品的销售情况。通过深入了解销售数据&#xff0c;商家们能够准确把握店铺的经营状态&#xff0c;及时识别潜在问题…

Android XML的使用详解

一、布局文件&#xff1a; 在layout目录下&#xff0c;使用比较广泛&#xff1b;我们可以为应用定义两套或多套布局&#xff0c;例如&#xff1a;可以新建目录layout_land(代表手机横屏布局)&#xff0c;layout_port(代表手机竖屏布局)&#xff0c;系统会根据不同情况自动找到…

OpenAI 今日(北京时间 5 月 14 日凌晨两点)将发布的大更新,不是 GPT-5,也不是搜索引擎

&#x1f989; AI新闻 &#x1f680; OpenAI 今日&#xff08;5月13日&#xff09;将发布的大更新&#xff0c;不是 GPT-5&#xff0c;也不是搜索引擎 摘要&#xff1a;OpenAI 预计即将推出一款新的 AI 语音助手&#xff0c;该助手不仅可以进行语音和文字交流&#xff0c;还能…

Hashmap详细解析,原理及使用方法分析

hashmap基本原理 根据的hashCode值存储数据。由数组链表组成的&#xff0c;Entnr数组是HashMap的主体&#xff0c;数组中每个元素是一个单向链表。链表则是1/1解哈希冲突而存在的。在lava8中&#xff0c;使用红黑树优化。当链表长度大于8并且元素个数大于64&#xff0c;转为红…

常见加解密算法02 - RC4算法分析

RC4是一种广泛使用的流密码&#xff0c;它以其简洁和速度而闻名。区别于块密码&#xff0c;流密码特点在于按位或按字节来进行加密。 RC4由Ron Rivest在1987年设计&#xff0c;尽管它的命名看起来是第四版&#xff0c;实际上它是第一个对外发布的版本。 RC4算法的实施过程简洁…

centos7.8 迁移为 TencentOS Server 2.4(TK4) 报错解决

文章目录 一 问题二 解决三 注意 一 问题 CentOS 官方计划停止维护 CentOS Linux 项目&#xff0c;公司某台腾讯云的centos7.8服务器计划迁移为 TencentOS Server 2.4(TK4) 。在下载rpm包执行迁移命令后报错&#xff0c;场景还原如下。 首先 安装 Python 3 yum install -y p…

什么?免费使用GPT-4o?

⭐简单说两句⭐ ✨ 正在努力的小叮当~ &#x1f496; 超级爱分享&#xff0c;分享各种有趣干货&#xff01; &#x1f469;‍&#x1f4bb; 提供&#xff1a;模拟面试 | 简历诊断 | 独家简历模板 &#x1f308; 感谢关注&#xff0c;关注了你就是我的超级粉丝啦&#xff01; &a…

[Algorithm][多源BFS][矩阵][飞地的数量][地图中的最高点][地图分析] + 多源BFS原理讲解 详细讲解

目录 0.原理讲解1.矩阵1.题目链接2.算法原理详解3.代码实现 2.飞地的数量1.题目链接2.算法原理详解3.代码实现 3.地图中的最高点1.题目链接2.算法原理详解3.代码实现 4.地图分析1.题目链接2.算法原理详解3.代码实现 0.原理讲解 注意&#xff1a;只要是用**BFS解决的最短路径问题…

Apache SeaTunnel在世界级银行巨头JP Morgan 内部的应用实践

作者系 JP Morgan 大数据工程师&#xff0c;文章内容来源于[DET 网络研讨会] 与 Apache SeaTunnel 的数据集成&#xff1a;https://www.youtube.com/watch?vln4mn6vLenc&#xff08;有兴趣的同学可以观看演讲&#xff09; 文章介绍了他任职期间使用 Apache SeaTunnel 优化数据…

基础模型的工具学习:综述

23年6月清华、人大、UIUC、纽约大学、北邮和CMU等的论文“Tool Learning with Foundation Models”。 人类拥有创造和利用工具的非凡能力&#xff0c;使他们能够克服物理限制并探索新领域。随着最近强大的基础模型的出现&#xff0c;人工智能系统有可能像人类一样熟练地使用工…

实践指南:如何将 SpringBoot 项目无缝部署到 Tomcat 服务器

序言 SpringBoot 是一个用来简化 Spring 应用初始搭建以及开发过程的框架&#xff0c;我们可以通过内置的 Tomcat 容器来轻松地运行我们的应用。但在生产环境中&#xff0c;我们可能需要将应用部署到独立的 Tomcat 服务器上。本文给大家介绍 SpringBoot 项目部署到独立 Tomcat…