全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

揭秘RK3568 HDMI IN 实现核心:RK628D芯片的桥接方案

时间:2025-04-18 08:32

人气:

作者:admin

标签: RK3568  芯片  HDMI 

导读:前言:随着多媒体应用需求的不断升级,越来越多的场景要求设备能够接入外部视频(HDMI-IN)信号,RK3568不直接支持HDMI-IN接口,SOC有MIPI-CSI功能;需将HDMI-IN转换成MIPI-CSI才能获取视频信...

前言:

随着多媒体应用需求的不断升级,越来越多的场景要求设备能够接入外部视频HDMI-IN)信号,RK3568 不直接支持HDMI-IN接口,SOC有MIPI-CSI功能;需将HDMI-IN转换成MIPI-CSI才能获取视频信息。本文详细介绍了基于RK3568平台,通过视频桥接芯片RK628D将HDMI-IN信号转换为MIPI-CSI信号的调试过程。

一、背景介绍

传统Linux系统普遍作为摄像头数据采集及显示端应用,而 HDMI IN 功能则将系统角色进行了扩展——设备不仅要输出视频,同时还要接收外部高清视频信号。实现这一功能需要硬件、驱动及上层应用的紧密配合。

在RK3568平台上,可采用 RK628D HDMI 转换芯片实现信号转换,并利用 V4L2 驱动将 HDMI 信号映射为 MIPI CSI 数据,从而在 CameraHal3 框架下实现摄像头数据采集。这一方案不仅支持常见的分辨率(如4K@30、1080P@60、720P@60等),还兼顾了 HDMI 热拔插功能,使得系统在动态接入或断开外部信号时能保持稳定运行。

二、核心实现原理

2.1RK628D芯片简介

RK628D 芯片:RK628是一款多功能视频桥接芯片,支持多种显示接口的转换;其作为 HDMI 转换芯片,主要负责接收 HDMI 信号,并将其转换为 MIPI CSI 数据。

  • 工作原理

HDMI RX 接收到外部视频信号后,通过内部处理(包括颜色空间转换、时序解析等),将数据信号输出到 MIPI CSI 接口。

设备模拟

系统将转换后的数据模拟为类摄像头设备,通过标准 V4L2 框架对接。

RK628D转换芯片数据流图如下:

2.2硬件连接
RK628D与RK3568的硬件连接,主要有以下几点:

24MHz时钟:时钟信号;

I2C:RK3568与RK628之间的通信控制;

I2S:音频信号传输;

RGB:显示信号源;

其它GPIO:供电、复位

2.3驱动配置

RK628驱动有两个版本,一个是SDK系统自带的版本,一个是RK628-for-all版本。本文调试使用的是RK的rk628-for-all v21驱动。将驱动补丁文件添加至 kernel/drivers/misc/rk628/ 目录Media 为 RK628 HDMI IN 通路的驱动代码,将RK628D作为类camera设备使用。

在以下驱动文件中添加编译规则

1.kernel/drivers/misc/Kconfig

source "drivers/misc/rk628/Kconfig"

2.kernel/drivers/misc/Makefile

obj-y += rk628/

DTS配置

dts配置分显示和音频两部分,显示部分在i2c中添加rk628节点,音频部分使用i2s通信。部分核心代码如下:

&i2c1 { status = "okay"; clock-frequency = <400000>; rk628: rk628@50 { compatible = "rockchip,rk628"; reg = <0x50>; pinctrl-names = "default"; interrupt-parent = <&gpio1>; interrupts = ; enable-gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_HIGH>; reset-gpios = <&gpio3 RK_PC4 GPIO_ACTIVE_LOW>; pinctrl-0 = <&refclk_pins>; assigned-clocks = <&pmucru CLK_WIFI>; assigned-clock-rates = <24000000>; clocks = <&pmucru CLK_WIFI>; clock-names = "soc_24M"; #sound-dai-cells = <0>; rk628,rgb-in; rk628,hdmi-out; mode-sync-pol=<0>; status = "okay"; port { rgb_in_hdmi: endpoint { remote-endpoint = <&rgb_out_hdmi>; }; }; };};

修改完驱动文件,编译内核烧录到RK3568核心板。


三、运行测试

1. 查看media设备:

ls /dev/media*
/dev/media0 /dev/media1

2. i2c设备的通用调试命令:查看设备是否挂载到i2c总线下:

i2cdetect -y 2

3. 查看media节点的拓扑结构命令:

media-ctl -d /dev/media0 -pmedia-ctl -p

4. 抓图命令:

v4l2-ctl-d/dev/video0--set-fmt-video=width=1920,height=1080,pixelformat=NV12--stream-mmap=3--stream-skip=100--stream-to=/oem/NV12.yuv--stream-count=1--stream-poll

电脑Windows端与RK3568的HDMI IN连接,即可把Windows端画面输入给RK3568实现预览;如下是RK3568预览的Windows端画面:aa58e57c-1bec-11f0-9434-92fbcf53809c.jpg

四、调试总结

文章主要目的是为了向大家介绍RK3568即使没有原生HDMI IN功能,也可以使用RK628D桥接芯片实现的思路,只体现了整体实现原理;还有一些细节上的配置:EDID配置、HDMI IN APK适配等未体现;想了解更多细节配置,常用调试FAQ,可参考官方文档或联系我司技术支持工程师 想了解更多相关技术知识或产品信息,请关注眺望电子公众号并联系我们,我们将竭诚为您服务!

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信