当前位置: 首页 > news >正文

AI交互之AXI总线架构与DRM overlay

目录

axi总线架构

DRM Overlay Plane 原理图

overlay总体框图

RK3588 VOP2

视频与UI控制融合


使用各种AI 工具学习或者工作,当时与AI聊天,明白了,然而由于AI给出的答案,不像自己一点点学习的,易忘。因而后续针对性记录搭建完整只是结构。

axi总线架构

下面这个网站链接方便编辑mermaid,导出图片。

BOM Management and PCB | Mermaid Chart

上图中有个不对的地方,但好像直接用mermaid改不了,即方向。

1) 接收写响应。应该从SLAVE 到master

2) 读数据同样的。

这个图比较直观的展示了AXI的各个信号及协议交互。

下面这章则描述了各个信号的中文名称。

BOM Management and PCB | Mermaid Chart

DRM Overlay Plane 原理图

overlay总体框图

DRM (Direct Rendering Manager) 是 Linux 内核中负责 GPU 显示管理的子系统。Overlay Plane 是 DRM 框架中一种硬件层面的独立显示图层,与 Primary Plane(主图层)和 Cursor Plane(光标图层)并列。
简单来说,Overlay 就是显示器硬件本身支持的"画中画"功能——它允许系统同时显示多个独立的图像层,由显示控制器硬件直接合成,而无需 CPU/GPU 参与逐像素混合。

  1. 独立处理:每个 Overlay Plane 可以独立进行缩放、裁剪、旋转、颜色空间转换(如 YUV→RGB)。

RK3588 VOP2

[v4] Add VOP2 support on rk3588 | Patchew

\Linux\Common\DISPLAY\Rockchip_VOP2_Plane_Assign.pdf

上面AI生成的图还是挺可靠的,下面是官方文档里面的图。

每个硬件 Window 在 DRM 子系统中注册为一个独立的 Plane

硬件 Window (8个) DRM Plane (8个) ├─ Cluster Win0 ───────→ DRM_PLANE_TYPE_OVERLAY (或 PRIMARY) ├─ Cluster Win1 ───────→ DRM_PLANE_TYPE_OVERLAY ├─ Cluster Win2 ───────→ DRM_PLANE_TYPE_OVERLAY ├─ Cluster Win3 ───────→ DRM_PLANE_TYPE_OVERLAY ├─ Esmart Win0 ───────→ DRM_PLANE_TYPE_OVERLAY (或 PRIMARY) ├─ Esmart Win1 ───────→ DRM_PLANE_TYPE_OVERLAY ├─ Esmart Win2 ───────→ DRM_PLANE_TYPE_OVERLAY └─ Esmart Win3 ───────→ DRM_PLANE_TYPE_OVERLAY
特性Cluster WindowEsmart Window
**DRM Plane 类型**`OVERLAY` / `PRIMARY``OVERLAY` / `PRIMARY`
**AFBC 压缩**✅ 支持❌ 不支持
**RGB 格式**✅ Linear RGB✅ Linear RGB
**YUV 格式**✅ 仅 AFBC YUV✅ Linear YUV (NV12/NV20/NV30)
**最大分辨率**4K\@60Hz4K\@60Hz
**典型用途**视频播放 (AFBC)、主画面UI 层、摄像头预览、普通视频

下表第二列有待验证

Video PortDRM CRTC最大输出可连接接口
VP0CRTC04096×2160HDMI0 / DP0 / MIPI-DSI
VP1CRTC14096×2160HDMI1 / DP1 / MIPI-DSI
VP2CRTC24096×2160eDP / MIPI-DSI
VP3CRTC32048×1080MIPI-DSI / RGB

视频与UI控制融合

显⽰通路

再次浏览这个图。在代码部分分配的framebuffer实际可以不止一个,存在多个,每个对应一个plane。在旧有的知识结构中,可能以为每个显示接口只能一个framebuffer,而通过上面几章的介绍,可以明确了解plane的在这方面的应用。

DRM 驱动Ä libdrm 的交互过程
下图清晰两个事情:

1) DRM的独占性。

2)概念与硬件的关联。例如CRTC对应3588的VOP组件;plane对应3588 内部的cluster等;而encoder和connector则对应具体的显示接口。

分辨率支持

方案设计与设备选项时关注上限支持情况。

RK3588 平台有四路独⽴的 Video Port, 所以在最基础的条件下,RK3568 和 RK3588 可以分别实现 3 路和 4 路独⽴的显⽰输出。


多屏显⽰


Connector-mirror

如图所⽰,在 RK3588 上,通过 connector-mirror 技术,把两路 HDMI/eDP 连接在 VP0 上,把两路 DP 连接在 VP1 上,把两路 MIPI DSI连接在 VP2 上,VP3 通过 BT656,BT1120 可以同时输出 7 路,四组独⽴的显⽰输出,其中每⼀组(同⼀个 VIdeo Port 上的两个显⽰接口)输出的显⽰时序相同,且显⽰内容相同


Connector-split


可以让⼀路 Video Port 输出按照⽔平⽅向平分成左右两路,同时驱动两个显⽰接口,显⽰时序相同,内容独⽴的画⾯

如果在 VP0 上开启 split 模式,则 VP0 的输出可以同时驱动两个显⽰接口(HDMI0/1、eDP0/1 或者其他能与 VP0 连接的显⽰接口),两个显⽰接口上显⽰的内容为 VP0 输出的内容⽔平⽅向左右平分,⽐如VP0 以 3840x1080 的分辨率输出,则两个显⽰接口各显⽰ 1920x1080 的输出。

需要注意的是,每⼀个 VP 上参与 split 输出的两个显⽰接口,输出的时序,帧率必须相同

假设用此种显示方法:

提问AI :

1)现在有两个4K的显示器,如何设置? 请给出mermaid图,从plane VOP 到显示的图。不用太多文字。

2)把视频和UI 图层用两个plane画。 图的方向,plane在左, HDMI在右侧,而非这种上下模式。

AI 给出图示

BOM Management and PCB | Mermaid Chart

BOM Management and PCB | Mermaid Chart

这种显⽰特性可以通过 dts 开关,dts 只要把参与 split 的两个显⽰接口挂接在同⼀个 VP 上,且打开左边显⽰接口的 split-mode 属性。⽐如 ,按照如下配置,打开 hdmi0 和 hdmi1 在 VP0 上的 split 功能:

&hdmi0 { status = "okay"; }; &hdmi1 { status = "okay"; split-mode; //左右咋区分的??? }; &hdmi0_in_vp0 { status = "okay"; }; &hdmi1_in_vp0 { status = "okay"; }; &hdmi0_in_vp1 { status = "disabled"; }; &hdmi0_in_vp2 { status = "disabled"; }; &hdmi1_in_vp1 { status = "disabled"; }; &hdmi1_in_vp2 { status = "disabled"; };

每个Video Port 上进⾏ split 的两个显⽰接口只会向 drm 系统注册⼀个 encoder 和 connector,所以在⽤⼾空间,每⼀ CRTC(Video Port) 上只会看到⼀个 connector 设备,这个信息可以通过 modetest 的输出确认

http://www.jsqmd.com/news/1272345/

相关文章:

  • 2026 年汝州比较好的40*80镀锌偏凹槽管公司哪个好,别再乱买装修辅材,难怪你家吊顶总开裂——这玩意儿居然才是隐蔽工程的关键 - 品质体验官
  • 2026 年新发布:潜山靠谱的农田抗旱井定制厂家选型指南,干旱面前,这口井如何成为田地的“生命线”?-皖江打井钻井 - 行业推荐官【官方】
  • TMS320C6713 DSP硬件设计:从核心文档到PCB布局的实战指南
  • Unity引擎界面详解:从核心窗口到高效工作流搭建
  • C++段错误(Segmentation Fault)原理、排查与预防全指南
  • AM57xx硬件设计实战:USB、以太网、RTC与JTAG接口避坑指南
  • .NET 8构建与发布优化实践
  • 2026年最新教程:照片怎么改成JPG格式上传 亲测可用方法 - 图片处理研究员
  • 基于PyTorch与迁移学习的垃圾图像分类系统:从数据到API部署全流程实践
  • GS-Agent:构建4D物理仿真环境实现多智能体协作实践指南
  • AI编程微服务拆分的“最后一公里”难题:如何让领域专家+LLM+架构师三方对齐?3小时达成共识的协同协议
  • TI Sitara EMAC与MDIO寄存器配置实战:从原理到避坑指南
  • 固体氧化物燃料电池(SOFC)仿真建模与优化实践
  • 在 Ubuntu 上安装 Docker 并运行 DolphinScheduler
  • 2026年最新教程:报名照片必须是JPG怎么改?亲测有效的免费方法 - 效率工具研究所
  • 沈阳市防水补漏_2026严寒地区漏水维修价格与本地正规施工团队推荐 - 雨婺虹房屋维修
  • 大模型技术解析:从基础概念到Prompt工程与RAG应用
  • 2026 年至今,平度诚信的天地盖成型机企业哪家可靠,颠覆想象:这台机器如何重塑你的制造流程?-建升机械 - 行业甄选官
  • 超流体真空理论:量子介质与宇宙规律新解
  • C++笔记之条件变量wait()的入参个数,及从忙等待、自旋锁、轮询、到阻塞休眠
  • PHP文件包含漏洞实战:绕过白名单校验与路径解析差异利用
  • 最新安装包|Windows 系统 OpenClaw 可视化部署全流程详解
  • 嵌入式图像处理中的数据流优化与内存带宽管理实战
  • Opus 5模型性能提升与价格策略分析:技术选型新思路
  • Agent智能体技术解析:核心架构与工程实践
  • 高品质耐油O型圈选型靠谱供应商,工况密封难题一站式解决,O型圈/防尘圈/垫圈/密封圈/黑色O型圈,O型圈生产厂家选哪家 - 品牌推荐师
  • 健康管理的科学理念与实践路径
  • Python基础语法与实战:从作业到项目开发
  • 2026年最新教程:照片怎么转成PNG格式 亲测有效的免费方法 - 效率工具研究所
  • 基于Matlab的射击训练自动报靶系统设计与实现