这是本文档旧的修订版!
目录
HDMI转GMSL2转换盒
本装置用于将HDMI信号转化为GMSL2信号用于视频的注入, 以方便算法的测试与验证。
本装置支持YUV422及RGB888两种格式,如需RAW格式回灌注入,请使用支持RAW输出的HDMI转GMSL2模块,如需支持DVP接口CMOS相机,请使用DVP接口GMSL1相机模拟器。
揖越科技为满足不同客户不同场景的需求,推出了不同版本的HDMI转GMSL模块,根据供电方式,可以分为:
- 单独POC供电
- 单独外部供电(12V)
- POC供电与外部供电(+5V)自动切换(外部供电优先)
根据串化器的具体型号,可以分为:
- MAX9295 (默认)
- MAX96717
- MAX96717F
- MAX96701
- MAX96705
- MAX96715
根据默认分辨率/帧率,可以分为(注意,默认分辨率即 preferred resolution, 并不是单个转换器同时支持所有以下分辨率):
- RES_1920X1080_15FPS
- RES_1920X1080_30FPS
- RES_1920X1080_20FPS
- RES_1920X1080_25FPS
- RES_1920X1280_15FPS
- RES_1920X1080_60FPS
- RES_1920X1536_30FPS
- RES_1920X1536_20FPS
- RES_1920X1536_15FPS
- RES_640X512_25FPS
- RES_1600X1300_30FPS
- RES_4K_15FPS
- RES_1920X720_60FPS
- RES_4K_30FPS
- RES_1280X720_50FPS
- RES_1280X800_25FPS
- RES_1280X800_60FPS
- RES_800X480_60FPS
- RES_960X480_60FPS
- 其它订制分辨率
在确认订制或使用时,请与我司技术人员进行确认。
框图与构成
如上图所示连接电脑(或者其它视频播放设备)以及带解串器的主控制器,正常工作时, - 对于电脑而言,本产品表现为一显示设备,分辨率可设置; - 对于主控制器而言,本产品为一分辨率可设置的摄像头模组(格式 YUV422-8Bit,分辨率即显示设置分辨率)。
适合于替换自带 ISP 的摄像头模组,进行图像注入测试。
外形(仅供参考,可能与实物有差异):
使用说明
此模块相当于一视频信号透传模拟,将hdmi信号转化为gmsl2信号,保持输出的分辩率不变。输出模式为YUV422,(输入为yuv420时,输出格式保持不变。)
此模块不需要特别配置。
使用场景
用户案例1:图像loopback测试
用户案例2:前视相机注入测试
用户案例3:环视注入测试
使用方法介绍
基本步骤
- 连接产品 HDMI 至视频源
- 使用 GMSL 线缆连接本产器 Fakra 接口至主控制器解串器。
- GMSL 的 POC 供电 6~16V,供电正常时,设备红色 LED 亮起。
- 检查视频源是否检测到新的显示设备
- 在主控端加载驱动,配置串化,解串芯片
设置分辨率
上电后,在主控端使能 GMSL 的 POC 输出 (电源指示红灯亮),连接 HDMI 端子至视频输出设备(以下以电脑为例),设备在电脑上显示为正常的显示器,名称为 XREAL9295。
首次上电,默认分辨率为 4K(3840×2160),帧率为 30fps。可以修改
- 在高级显示页面,名称为 XREAL9295 的显示器,有源信号仍为 3840×2160。
- 点击”XREAL9295“ 下方的 “显示器 x 的显示适配器属性” 链接
- 在弹出的对话窗口中,选中 “监视器” 页面,设置屏幕刷新率为 60Hz。
(注意,WINDOWS 版本不同,此处界面有所不同,请注意进行相应的修改)
CSIRX 的参考配置参数
主控 CSIRX 接收端配置参考值:
- 4K 3840*2160:
format: YUV422 8BIT resolution: 3840*2160 mipi lane: 4 mipi rate: 1200 ~ 1350 Mbps
- 2K 1920*1080:
format: YUV422 8BIT resolution: 1920*1080 mipi lane: 4 mipi rate: 560-640 Mbps
调试建议
一般的调试步骤:
- 不接 gmsl 线缆,观察解串器是否被正常识别,如 i2c 不通,检查解串器的供电,PWDN,晶振,i2c 地址是否正确等。
- 连好线,检测本产品供电是否正常,是否被识别为显示器,设置好输出分辨率。
- 在主控侧查看,是否检测到串化器 max9295(默认 i2c 地址 0x80,7bit 地址 0x40),如没有检测到 max9295, 检查解串器 gmsl 模式是否正确,link 是否使能。
- 配置串化器解串器必要的寄存器 (参考文档)。
- 检查解串器侧是否有 video lock
- 用示波器检查解串器 mipi 是否有输出,
- SOC(ecu)接收图像是否正常。
使用方法
以下对使用过程中常见问题进行说明及解答
分辨率的确定
输出分辨率是由什么决定呢?理论上最终由视频源决定。
但是实际输出的视频,是由视频源与显示设备(如HDMI2GMSL)“协商”而来的。
每一个HDMI显示设备都有一个表明自己信息的存储器,即EDID, 这里记录了显示设备所支持的分辨率/帧率等时序信息。其中一个分辨率为所谓“preferred timing”, 即优先或称为偏好分辨率帧率。如果这时视频源也支持,侧会输出此分辨率。
揖越科技HDMI2GMSL设备会根据客户的需要,配置优先分辨率,当工作于优先分辨率时,不需要额外的设置,即插即用。
当然,显示设备一般会支持多种标准时序,用户可以设置界面进行选择。修改的分辨率设置会被操作系统记忆下来。
除了设置界面下拉菜单中可供选择的分辨率,部分显卡还支持输出自定义分辨率,用户可以根据自己的需要设置所需要的分辨率。 需要注意,自定义分辨率不能超过GMSL的传输带宽。
多路相机连接方法
我们推荐使用多HDMI输出独立显卡,输出多路视频。使用前需要确认单视频输出的最大能力,及同时输出时,各路视频的输出能力。
视频播放自动化
下面给出使用python控制VLC自动播放视频的演示脚本:
# os.environ['PYTHON_VLC_MODULE_PATH'] = "./vlc" import vlc def play_video(video_file, rotate = 0): # init player print("xxx") vlc_instance = vlc.Instance("--no-xlib --quiet --video-filter=rotate --rotate-angle=" + str(rotate)) print("xxx") player = vlc_instance.media_player_new(video_file) player.set_fullscreen(True) # play player.play() time.sleep(1) while player.is_playing(): time.sleep(0.1) player.stop()
为什么供电模式有POC和外供电
一般的相机,都使用POC供电,CMOS/ISP在上电后,很短的时间可完成初始化,输出特定格式视频信号。
但是,对于HDMI2GMSL设备,需要与视频源协商分辨率/帧率,锁定视频信号等,这个过程需要相对较长的时间。
在原位替代相机的应用中,一般不会修改主机获取图像的驱动,而不少驱动程序,为了节能,仅会在打开相机前给POC供电,并且在上电后一定时间后对GMSL视频锁定状态进行判断,一旦主机检测并判断视频信号不存在,有可能退出,或者重试。 这样逻辑可能影响HDMI2GMSL模块的正常运行。在这种情况下,使用外供电,可以持续建立稳定的视频链路。
相关代码
需要配置MAX9295工作于GMSL2,3G模式,具体的代码可以参考软件修改max9296的模式及速率








