前言:
隨著多媒體應用需求的不斷升級,越來越多的場景要求設備能夠接入外部視頻(HDMI-IN)信號,RK3568 不直接支持HDMI-IN接口,SOC有MIPI-CSI功能;需將HDMI-IN轉(zhuǎn)換成MIPI-CSI才能獲取視頻信息。本文詳細介紹了基于RK3568平臺,通過視頻橋接芯片RK628D將HDMI-IN信號轉(zhuǎn)換為MIPI-CSI信號的調(diào)試過程。
一、背景介紹
傳統(tǒng)Linux系統(tǒng)普遍作為攝像頭數(shù)據(jù)采集及顯示端應用,而 HDMI IN 功能則將系統(tǒng)角色進行了擴展——設備不僅要輸出視頻,同時還要接收外部高清視頻信號。實現(xiàn)這一功能需要硬件、驅(qū)動及上層應用的緊密配合。
在RK3568平臺上,可采用 RK628D HDMI 轉(zhuǎn)換芯片實現(xiàn)信號轉(zhuǎn)換,并利用 V4L2 驅(qū)動將 HDMI 信號映射為 MIPI CSI 數(shù)據(jù),從而在 CameraHal3 框架下實現(xiàn)攝像頭數(shù)據(jù)采集。這一方案不僅支持常見的分辨率(如4K@30、1080P@60、720P@60等),還兼顧了 HDMI 熱拔插功能,使得系統(tǒng)在動態(tài)接入或斷開外部信號時能保持穩(wěn)定運行。
二、核心實現(xiàn)原理
2.1RK628D芯片簡介
RK628D 芯片:RK628是一款多功能視頻橋接芯片,支持多種顯示接口的轉(zhuǎn)換;其作為 HDMI 轉(zhuǎn)換芯片,主要負責接收 HDMI 信號,并將其轉(zhuǎn)換為 MIPI CSI 數(shù)據(jù)。
- 工作原理:
HDMI RX 接收到外部視頻信號后,通過內(nèi)部處理(包括顏色空間轉(zhuǎn)換、時序解析等),將數(shù)據(jù)信號輸出到 MIPI CSI 接口。
設備模擬:
系統(tǒng)將轉(zhuǎn)換后的數(shù)據(jù)模擬為類攝像頭設備,通過標準 V4L2 框架對接。
RK628D轉(zhuǎn)換芯片數(shù)據(jù)流圖如下:
2.2硬件連接
RK628D與RK3568的硬件連接,主要有以下幾點:
24MHz時鐘:時鐘信號;
I2S:音頻信號傳輸;
RGB:顯示信號源;
其它GPIO:供電、復位
2.3驅(qū)動配置
RK628驅(qū)動有兩個版本,一個是SDK系統(tǒng)自帶的版本,一個是RK628-for-all版本。本文調(diào)試使用的是RK的rk628-for-all v21驅(qū)動。將驅(qū)動補丁文件添加至 kernel/drivers/misc/rk628/ 目錄Media 為 RK628 HDMI IN 通路的驅(qū)動代碼,將RK628D作為類camera設備使用。
在以下驅(qū)動文件中添加編譯規(guī)則
1.kernel/drivers/misc/Kconfig
source "drivers/misc/rk628/Kconfig"
2.kernel/drivers/misc/Makefile
obj-y += rk628/
DTS配置:
dts配置分顯示和音頻兩部分,顯示部分在i2c中添加rk628節(jié)點,音頻部分使用i2s通信。部分核心代碼如下:
&i2c1 { status = "okay"; clock-frequency = <400000>; rk628: rk628@50 { compatible = "rockchip,rk628"; reg = <0x50>; pinctrl-names = "default"; interrupt-parent = <&gpio1>; interrupts =
修改完驅(qū)動文件,編譯內(nèi)核燒錄到RK3568核心板。
三、運行測試
1. 查看media設備:
ls /dev/media*
/dev/media0 /dev/media1
2. i2c設備的通用調(diào)試命令:查看設備是否掛載到i2c總線下:
i2cdetect -y 2
3. 查看media節(jié)點的拓撲結(jié)構(gòu)命令:
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實現(xiàn)預覽;如下是RK3568預覽的Windows端畫面:
四、調(diào)試總結(jié)
文章主要目的是為了向大家介紹RK3568即使沒有原生HDMI IN功能,也可以使用RK628D橋接芯片實現(xiàn)的思路,只體現(xiàn)了整體實現(xiàn)原理;還有一些細節(jié)上的配置:EDID配置、HDMI IN APK適配等未體現(xiàn);想了解更多細節(jié)配置,常用調(diào)試FAQ,可參考官方文檔或聯(lián)系我司技術支持工程師。 想了解更多相關技術知識或產(chǎn)品信息,請關注眺望電子公眾號并聯(lián)系我們,我們將竭誠為您服務!
-
芯片
+關注
關注
459文章
51927瀏覽量
433688 -
HDMI
+關注
關注
32文章
1804瀏覽量
154114 -
RK3568
+關注
關注
5文章
562瀏覽量
5922
發(fā)布評論請先 登錄
相關推薦
RK628D三大優(yōu)勢解析
RK3568核心板簡介
瑞芯微視頻橋接24合1芯片RK628D 六大場景應用解析

24合1芯片RK628D替代龍訊LT6911C/東芝TC358749XBG/HDMI TO MIPI...

ROC RK3568 PC源代碼RK3568/RK3588 RKNN SDK

評論