1. 简介专栏总目录
hdmi in功能可以通过桥接芯⽚的⽅式实现,将hdmi信号转换成mipi信号接收,rk3588芯⽚平台⾃带
hdmi rx模块,可以直接接收hdmi信号。
本篇文章主要介绍在rk3588 平台通过hdmi rx模块开发实现hdmi in功能的⽅法。
2. dts配置2.1 hdmi rx控制器配置/* should work with at least 128mb cma reserved above. */ &hdmirx_ctrler { status = okay; /* effective level used to trigger hpd: 0-low, 1-high */ hpd-trigger-level = ; hdmirx-det-gpios = ; pinctrl-names = default; pinctrl-0 = ; }; &pinctrl { hdmirx { hdmirx_det: hdmirx-det { rockchip,pins = ; }; };}2.2 预留内存rk3588 hdmi rx模块只能使用物理连续内存,需要预留至少128mb的cma内存:
注:按3840x2160分辨率,rgb888图像格式,4个轮转buffer计算。
/* if hdmirx node is disabled, delete the reserved-memory node here. */ reserved-memory { #address-cells = ; #size-cells = ; ranges; /* reserve 128mb memory for hdmirx-controller@fdee0000 */ cma { compatible = shared-dma-pool; reusable; reg = ; linux,cma-default; }; };3. 调试hdmi-in 设备在内核中会被注册为 video 设备,生成的节点如:/dev/video20,可以通过 v4l2-ctl 命令来获取设备信息和抓帧。
查看所有video节点
ls /dev/video*获取设备信息,查找rk_hdmirx设备对应的是哪个video节点
v4l2-ctl -d /dev/video* -d 例: v4l2-ctl -d /dev/video20 -d使⽤v4l2-ctl -d参数指定vidoe节点,-d命令查看节点信息,通过driver name确认哪个是节点是rk_hdmirx 设备:
获取外部设备输入的分辨率信息
v4l2-ctl -d /dev/video20 -v
可以看出此时输入源的像素格式为 ' nv24 ' 。分辨率为 1920 * 1080
抓图:根据输入源的格式和分辨率设置好抓图命令的格式和分辨率: ( 这里像素格式为 ' nv24 ' 。分辨率为 1920 * 1080 )
v4l2-ctl -d /dev/video20 --set-fmt-video=width=1920,height=1080,pixelformat=nv24 --stream-mmap=3 --stream-skip=100 --stream-to=/oem/nv24.yuv --stream-count=1 --stream-poll在 pc 端查看抓取到的帧文件
将抓取到的nv24.yuv图片可adb pull到pc端,通过7yuv、yuview等⼯具软件查看:
adb pull /oem/nv24.yuv ./
各大交易所已正式推出了比特币期权产品
关于区块链中分布式存储的浅析
高温模温机的作用是什么?如何选用?
如何将土壤湿度传感器与Arduino接口
系统实时在线监测设计实现
RK3588-HDMIRX
非洲猪瘟检测仪器生产厂家哪家好?
基于串口数据流传输实现控制管理设备硬件的设计
华为P10闪存门事件终于平息,那么华为荣耀V9对比小米6怎么样?
一家聚焦NAND闪存应用和存储芯片定制、存储软件开发的中国存储企业
到底快充对电池有没有损害?
无线会议麦克风1拖2方案如何选择|天惠微科技
如何让AI教机器自己玩俄罗斯方块?
苹果13运行内存
苹果iOS14.3自动解锁 Mac 的可靠性
什么是边缘计算通过实际案例解析详细的解读介绍
韦乐平:5G的竞争正演变为一场光纤基础设施的竞争
面板业需求趋缓 调整定位是大势所趋
小间距LED显示屏市场集中度正不断提升
MOS管特性及其几种常用驱动电路详解,电子工程师手把手教你