0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RK3399|RK3399方案讲解如何实现双路mipi拼接屏+HDMI 三屏显示

飞凌嵌入式 2021-11-25 13:58 次阅读

VOP

Rockchip 平台的LCD Controller 称为VOP(Video Output Processor),芯片中一般集成1~2 个VOP。只有支持两个VOP 的芯片,才能支持双屏异显。
RK3399 有两个VOP,分别为VOPB(4096x2160),VOPL(2560x1600),所以对于分辨率大于2560x1600 的应用,只能选择VOPB 作为输入。

在这里插入图片描述

MIPI-DSI

RK3399 VOP可以接单通道MIPI屏也可以接双通道MIPI屏。单通道一半对应的是4 lanes,双通道对应8 lanes。
1) Single-channel

在这里插入图片描述


2) Dual-channel (RK3288/RK3399)
① 标准的dual-channel 接口MIPI 屏;

在这里插入图片描述


② 分别接一样的屏,组合成dual-channel 接口MIPI 屏,panel0 显示左半屏,panel1 显示右
半屏。

在这里插入图片描述

双路mipi拼接屏

之所以可以做成双路mipi拼接显示,究其原因是RK3399的vop可以支持双通道mipi,借用这个特性,我们才能进行拼接。
我们选择了两个1080x1920分辨率的竖屏进行拼接,使用VOP BIG进行输出。

软件修改

reset引脚时序控制

在这里插入图片描述


根据手册提供的示意图可知,reset引脚需要先拉高,然后拉低保持tRESW时间,再拉高保持tREST时间,显示控制芯片就进入Initial Condition,这个时候我们就可以进行写初始化序列了。一般可以再找FAE确认一下reset的时序要求。

reset引脚控制时序

fdtdec_set_gpio(&panel->reset_gpio, 1); msleep(panel->delay_init); fdtdec_set_gpio(&panel->reset_gpio, 0); msleep(panel->delay_reset); fdtdec_set_gpio(&panel->reset_gpio, 1); msleep(panel->delay_enable);

初始化序列

在设备树中配置mipi屏的初始化序列,在dsi节点中配置panel-init-sequence数组序列

&dsi { panel@0{ panel-init-sequence = [ 39 10 04 B9 FF 83 99 39 10 10 B1 02 04 6D 8D 01 32 33 11 11 5A 5F 56 73 02 02 39 10 0C B2 00 80 80 AE 05 07 5A 11 10 10 00 ... 15 10 02 D0 39 15 64 02 11 00 15 64 02 29 00 ]; }; };

命令解析:

39 10 04 B9 FF 83 99 Data Type:0x39 (DCS Long Write) Delay:0x10 (16 ms) Payload Length:0x04 (4 Bytes) Payload:0xB9 0xFF 0x83 0x99

进一步分析,该命令前3个字节属于命令格式,后面“B9 FF 83 99”才是要传输的指令。
B9是要写入的命令,“FF 83 99”是该命令后面的3个参数

在这里插入图片描述

设置时钟参数

&dsi { panel@0{ display-timings { native-mode = <&timing0>; timing0: timing0 { clock-frequency = <120000000>; hactive = <1080>; vactive = <1920>; hback-porch = <32>; hfront-porch = <32>; vback-porch = <10>; vfront-porch = <8>; hsync-len = <32>; vsync-len = <4>; hsync-active = <0>; vsync-active = <0>; de-active = <0>; pixelclk-active = <0>; }; }; }; };

设置完这些,单个屏幕就可以正常点亮显示了,但这不是我们的目的,我们的目的是双屏拼接。

dual-channel

使能dsi1节点,配置“rockchip,dual-channel”、“dsi,lanes”属性。
将horizontal方向上的显示参数增加一倍,并将时钟频率调高一倍。

&dsi { status = "okay"; rockchip,dual-channel = <&dsi1>; panel@0{ dsi,lanes = <8>; display-timings { native-mode = <&timing1>; timing1: timing1 { clock-frequency = <240000000>; hactive = <2160>; vactive = <1920>; hback-porch = <64>; hfront-porch = <64>; vback-porch = <10>; vfront-porch = <8>; hsync-len = <64>; vsync-len = <4>; hsync-active = <0>; vsync-active = <0>; de-active = <0>; pixelclk-active = <0>; }; }; }; }; &dsi1 { status = "okay"; };

修改完就可以点亮两块mipi屏了,效果如下:



两个MIPI使用了VOP BIG,VOPLITTLE还可以再支持一路HDMI显示。再插入HDMI,显示效果如下:


这样就可以实现瑞芯微教学视频中的三屏显示方案了,通过写app就可以做出三屏拼接显示或者三屏异显的方案。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • RK3399
    +关注

    关注

    2

    文章

    211

    浏览量

    24858
  • 瑞芯微RK3399
    +关注

    关注

    1

    文章

    20

    浏览量

    5605
收藏 人收藏

    评论

    相关推荐

    高清电视盒子方案分享,红外遥控适配过程全解析

    高效地控制电视设备。极大的提升了用户体验。 iTOP-RK3399平台介绍     红外遥控方案示例 iTOP-RK3399 开发板搭载了HS0038B 红外接收模块。接下来我们在RK3399
    的头像 发表于 12-17 10:46 198次阅读
    高清电视盒子<b class='flag-5'>方案</b>分享,红外遥控适配过程全解析

    RK3568的显示问题及其解决方法

    关闭LVDS的视频输出。具体而言,OK3568设备的出厂镜像默认配置为支持三路视频输出:LVDS、MIPIHDMI。其中,LVDS与MIPI均支持触摸操作。然而,在默认的
    发表于 12-16 09:14

    RK3576单板发布倒计时:RK3399RK3576对比

    好多人说RK3576是RK3399的升级版,某种程度上也可以这么说,RK3576在强大的多媒体功能的基础上,性能和接口都进行了升级 一、工艺 性能 rk3576采用 Rockchip
    的头像 发表于 12-03 16:59 241次阅读
    <b class='flag-5'>RK</b>3576单板发布倒计时:<b class='flag-5'>RK3399</b>与<b class='flag-5'>RK</b>3576对比

    玩转迅为RK3588开发板!基于connector-split 功能实现联动

    什么是多拼接显示? 多拼接显示就是把几个显示器(
    发表于 12-02 16:59

    瑞芯微RK3399开发板Android7.1修改网络优先级方法,触觉智能SBC3968开发板演示

    本文介绍Android7.1修改网络优先级方法,基于触觉智能SBC3968主板,搭载瑞芯微RK3399芯片,底板具备千兆网口、USB、HDMI、TYPE-C、音频等接口。可适用于工业主机、物联网设备、医疗健康设备、广告机、互动自助终端、教学实验平台、
    的头像 发表于 10-09 11:37 247次阅读
    瑞芯微<b class='flag-5'>RK3399</b>开发板Android7.1修改网络优先级方法,触觉智能SBC3968开发板演示

    基于RK3588J的6MIPI CSI视频采集案例分享,多路视频系统必看!

    之类的操作。 RK3588J典型应用领域图5 6视频采集案例演示案例说明本案例实现6摄像头的图像采集,并对图像进行缩放和拼接处理,最终通
    发表于 08-22 11:51

    异显案例分享,基于全国产RK3568J工业平台!

    可通过鼠标分别点击不同显示屏下方的应用图标显示相关画面,亦可通过鼠标拖动画面至不同显示屏实现
    发表于 07-17 10:53

    Firefly-RK3399产品规格书

    Firefly-RK3399产品规格书
    发表于 07-16 10:50 3次下载

    AIoT设备新一代高性能处理器瑞芯微RK3576,东胜物联RK3588等核心板定制开发

    作为瑞芯微的合作伙伴,AIoT设备供应商东胜物联可向广大客户提供基于RK3588/RK3588M/RK3568/RK3568J/RK3399
    的头像 发表于 06-17 14:20 1453次阅读
    AIoT设备新一代高性能处理器瑞芯微<b class='flag-5'>RK</b>3576,东胜物联<b class='flag-5'>RK</b>3588等核心板定制开发

    ARM架构:鸿道Intewell操作系统芯生态之·瑞芯微RK3399

    通过瑞芯微RK3399芯片与鸿道Intewell操作系统的结合,可以构建出高性能、灵活多样的嵌入式系统解决方案,满足各类复杂应用的需求。
    的头像 发表于 06-03 17:58 681次阅读

    慧视Viztra-ME025图像处理板 中端性能的RK3399Pro板卡

    的Viztra-ME025图像处理板就十分合适。Viztra-ME025图像处理板采用国内智能AI芯片RK3399pro,植入公司自主研发的智能图像算法,基于输入的可见光
    的头像 发表于 06-01 08:29 437次阅读
    慧视Viztra-ME025图像处理板  中端性能的<b class='flag-5'>RK3399</b>Pro板卡

    【OpenHarmony鸿蒙实战】在RK3399开发板实现智能门禁人脸识别

    基于RK3399开发板,使用OpenHarmony3.0-LTS开发的应用。通过定时获取摄像头数据,实现人脸识别比对等功能。
    的头像 发表于 03-20 17:38 1348次阅读
    【OpenHarmony鸿蒙实战】在<b class='flag-5'>RK3399</b>开发板<b class='flag-5'>实现</b>智能门禁人脸识别

    rk3399移植Linux内核

    Linux内核移植到RK3399上。 首先,我们需要了解RK3399的硬件架构和特性。RK3399采用的是ARM架构,具有核Cortex-A72和四核Cortex-A53处理器,支持
    的头像 发表于 01-08 09:56 1139次阅读

    RK3399开发版正常刷机成功后 通电开机黑屏 HDMI无图像输出

    我有个RK3399的开发版正常刷入安卓系统后通电开机黑屏 屏幕没图像不知道系统是否正常启动插网线指示灯亮开机电视HDMI也能识别但就是黑屏请问各大佬是怎么回事啊?麻烦指点下谢谢
    发表于 01-04 08:01

    RK3399硬件设计指南

    RK3399是一款基于ARM架构的高性能处理器,常用于嵌入式系统和单板计算机。在进行RK3399硬件设计时,需要考虑多个方面,包括电源、封装、信号传输、外设接口等。本文将详细介绍RK3399硬件
    的头像 发表于 12-28 10:59 1650次阅读