【经验】R-Car M3使用MIPI-CSI进行视频流采集的问题及原因
RENESAS的SoC R-Car M3有2ch MIPI-CSI接口,一路4Lane,一路2Lane,1.5Gbps/Lane,因此MIPI接口可以支持到6路720P视频输入,加上2路Digital输入,配合内部的8ch VIN通道,可以实现同时接8路视频输入。输入接口和内部的VIN通道可以灵活配置,R-Car BSP已经集成了media-ctl配置工具。本文主要介绍了用户在使用MIPI-CSI进行视频流采集时遇到的问题现象,并进行了问题排查和原因分析。
用户需要使用MIPI-CSI接口进行4路视频输入的同时采集,使用media-ctl对MIPI-CSI和VIN通道匹配关系进行Link配置,具体配置如下:
media-ctl -d /dev/media0 -r
media-ctl -d /dev/media0 -l "'rcar_csi2 feaa0000.csi2':1 -> 'VIN0 output':0 [1]"
media-ctl -d /dev/media0 -l "'rcar_csi2 feaa0000.csi2':2 -> 'VIN1 output':0 [1]"
media-ctl -d /dev/media0 -l "'rcar_csi2 feaa0000.csi2':3 -> 'VIN2 output':0 [1]"
media-ctl -d /dev/media0 -l "'rcar_csi2 feaa0000.csi2':4 -> 'VIN3 output':0 [1]"
然后对各个通道进行采集测试,发现当测试完VIN0后,VIN1和VIN2通道测试无法启动,VIN3通道测试可以执行,但是采集到的视频流非预期的输入视频,而是另一MIPI-CSI通道上的输入视频流。仔细检查配置log,看到有如下打印信息:
………
[ 50.607186] rcar-vin e6ef0000.video: after vin 0, vnmc 0x0, set IFMD 0x6000000
[ 88.768268] rcar-vin e6ef0000.video: before vin 0, chsel 3, vnmc 0x0, read IFMD 0x6000000
[ 88.776505] rcar-vin e6ef0000.video: after vin 0, vnmc 0x0, set IFMD 0x6000003
[ 88.783872] rcar-vin e6ef0000.video: before vin 0, chsel 3, vnmc 0x0, read IFMD 0x6000003
………
发现IFMD寄存器的低三位被置成了0x3,但是当VIN采集完毕close掉后,再配置Link配置时,发现IFMD寄存器的低三位又被置成了0x0,导致VIN1和VIN2采集失败。而先启动其他三路VIN采集,则所有通道都能正常运行。通过在源码rvin_set_channel_routing()函数中加打印,发现在除VIN0的Link配置时会调用该函数外,其他通道的Link配置并不会调用该函数。查阅RCAR手册描述,发现VIN模块分成两组,VIN0~VIN3一组,其中VIN0是Master,因此怀疑是不是因为VIN0是Master,其通道关闭时会有其它调用,导致该寄存器被改写。
进一步排查,在rcar-dma.c中的rvin_stop_streaming()函数中增加打印,发现在调用pm_runtime_put_sync()函数后IFMD寄存器值被改写,经过仔细分析该函数得出以下结论:
1、在测试中出现了在pm_runtime_put(vin->dev);之后读取VNCSI_IFMD_REG寄存器的值总是为0x0,这个是kernel下电源管理,对VNCSI_IFMD_REG的真实值没有影响,只是暂时读取不到VNCSI_IFMD_REG的值,所以是0x0。
2、在videox访问结束关闭的时候会调用到驱动代码rcar-dma.c中的rvin_stop_streaming()函数,其中有模块reset代码:
reset_control_assert(vin->rstc);
reset_control_deassert(vin->rstc);
以上代码会reset对应的vinx。
3、当关闭的是video0的时候reset的是vin0,vin0是master ,管理了寄存器VNCSI_IFMD_REG,所以就被清0了,如果其他的videox 最终不会清0 VNCSI_IFMD_REG。
在rcar_dma.c文件的rvin_stop_streaming()函数中将reset_control_assert(vin->rstc)和reset_control_deassert(vin->rstc)函数注释掉,同时加打印,会发现IFMD寄存器值低三位仍为0x0,这是如上述第一条结论,受到了pm_runtime_put(vin->dev)函数的影响,此时测试VIN视频流采集,会发现其他通道不再受到VIN0关闭的影响。但是注释掉源有驱动流程是否会带来其他风险无法预估,因此关于该问题的解决不建议这么做。
根据测试情况以及原因分析,对于该问题的解决方法建议如下:
1.可以不使用video0
2.video0可以最后启动,且不关闭
3.如果不同时使用,每次开启都设置一次link。
- |
- +1 赞 0
- 收藏
- 评论 1
本文由夜雨提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】R-Car H3/H3N/M3 SoC芯片的AVS模块介绍及寄存器的配置
Renesas推出驾驶安全辅助系统和车载信息娱乐系统的第三代R-Car SoC芯片,内核方面使用的是Cortex-A57 CPU、Cortex-A53 CPU和Cortex-R7,主要面向无人驾驶、智能辅助驾驶、车机、仪表和ADAS等应用场景,并以其强大的算力和丰富的外设资源赢得了广大车厂和Tier 1的认可。本文将介绍瑞萨R-Car H3/H3N/M3的AVS模块介绍及寄存器的配置。
【经验】SoC R CAR V3H2 端侧推理输出的rcar_output.npy数据查看方法
RENESAS R CAR V3H2 端侧推理输出的数据有cvs格式,总共512个输出,同时把cvs数据转化为npy格式保存为一个rcar_output.npy文件,那我如何查看这些数据呢,本文记录数据查看方法。
【经验】SoC R CAR V3H2 cnn模型转换后执行以及benchmark过程实操指南
RENESAS SoC R CAR V3H2 cnn模型转换后的输出文件有bcl和.pb 2类,都是可以在端侧执行的,本文记录.pb的推理输出以及benchmark过程实操及解析。
【产品】 瑞萨第三代汽车级SOC RCAR-M3带你走进自动驾驶时代
瑞萨电子推出第三代Rcar系列芯片,致力于高级安全(智能)驾驶系统和车载娱乐系统,建立一个完善的无人驾驶领域半导体的技术平台。其中新的Rcar-M3成员(SOC),提供ARM双核cortex-A57以及4核cortex-A53的高CPU性能、3D图像识别处理引擎,符合ISO 26262(ASIL-B)的安全等级,支持系统级封装(SiP)集成高速缓存,功能完善,完美支持先进驾驶辅助系统的开发设计。
【产品】瑞萨新一代SOC R-Car V3H,专为自动驾驶前置摄像头应用
瑞萨开发了专门针对前置摄像头应用的SoC——R-Car V3H,集成了专门针对图像处理的功能单元,它比R-Car V3M在视觉处理方面的性能提高了5倍,并只有0.3瓦的超低功耗,更好的适应自动驾驶的需求。
【选型】车联网V2X车载端产品(V-BOX)推荐:车规级SoC RCAR M3,7核主频1.8ghz、运力30DMIPS
3GPP给出了相关的应用场景,车联网(V2X)分:V2N/V2I/V2P/V2V这几种应用。那么在硬件设计上,现阶段主要是V2X的车载OBU产品和路测的RSU产品。笔者当下接到的项目则是整合传统T-BOX的OBU产品:V-BOX。整个系统功能融合了TBOX和V2I/V2N/V2V的功能。可以使用瑞萨RCAR M2 SoC,内部集成2核A57和4核A53,还有实时内部R7。
Renesas(瑞萨电子) R-Car M3车载SoC设备概述手册
本资料概述了Renesas Electronics的R-Car M3系列SoC的初步规格。R-Car M3具备下一代车载导航系统所需的基本功能,包括双核1.5GHz ARM Cortex-A57和四核1.3GHz ARM Cortex-A53核心、LPDDR4内存控制器、多种接口和图形处理单元。资料详细介绍了处理器、内存、显示、视频处理、音频接口、存储和网络等模块的规格和功能。
RENESAS - 片上系统,SOC,STARTER KIT,SOC,入门套件,R-CAR M3,车载通讯,车载娱乐,车载,车联网
【应用】支持EtherCAT协议的瑞萨单芯片SoC用于伺服系统,实现实时响应,降低20%成本
在伺服系统的应用上,对于主控SoC的选择非常重要,Renesas SoC RZ/T1系列的R7S910025可以实现联网实时响应,采用ARM Coretex-R4F高实时性内核,自带FPU浮点运算单元,最高支持600MHz主频,达到962MIPS的运行速度。
【经验】SoC R CAR V3H2 CNN工具链转换restnet18 caffe模型为端侧可执行命令过程解析
RENESAS SoC R CAR V3H2 CNN工具链最主要的功能就是把caffe,onnx等模型转换为V3H2 芯片端可执行模型,命令,本文记录并分析此转换过程。
【产品】全新开放式平台,加大对ADAS及自动驾驶的支持
新型R-Car V3M SoC符合ISO26262功能安全标准,为视觉处理提供了低功耗硬件加速功能,还配有内置图像信号处理器。
【经验】使用瑞萨SoC R CAR V3H2 cnn工具链实现onnx模型转caffe模型的实操
R CAR V3H2 的cnn神经网络模块需要运行int16的定点模型,而onnx模型首先需要通过cnn工具链转成caffe模型,然后再转成端侧的可执行模型,本文使用瑞萨的cnn工具链实现onnx模型转caffe模型。
【经验】如何实现SoC R CAR S4从网络启动配置操作?
R CAR S4的DEMO板上emmc中的内核以及文件系统烧录,需要先从网络启动系统后,然后通过挂载emmc,才能把内核以及文件系统copy到emmc分区中,本文记录spider board的配置烧录过程。
【经验】瑞萨RZ/T1 SoC芯片最小系统关于应用ΔΣ的IGBT波动干扰解决
很多客户使用了瑞萨RZ/T1的ΔΣ delta sigma,反馈IGBT波动有干扰。电源的干扰有可能对芯片的工作有影响,因为没有符合电源规范。变频的是MCU,电源可以+-20%呢,而rzt1是要求5%。 CPU没有出现异常,也可能是因为主频是450M,离600M还有很大的余量。本文介绍解决办法。
【经验】解决瑞萨RZ/T1 SoC芯片最小系统硬驱IIC断点死循环问题
客户反应问题:设置瑞萨RZ/T1高性能SoC芯片最小系统硬驱IIC断点,执行不下去,进入while死循环。本文介绍如何解决该问题。
【经验】瑞萨SOC R CAR V3H2 cnn工具链docker环境制作以及注意事项
瑞萨(RENESAS)SoC R CAR V3H2 cnn工具链是一个复杂的应用环境,需要多种安装包的安装以及依赖,我们通常把它单独制作为一个docker镜像,以容器的方式来使用cnn工具链,本文记录R CAR V3H2的cnn docker镜像制作以及注意事项。
电子商城
品牌:SILICON LABS
品类:Wireless Gecko SoC
价格:¥8.1764
现货: 100,879
品牌:SILICON LABS
品类:Wireless Gecko SoC
价格:¥10.4994
现货: 93,399
品牌:SILICON LABS
品类:Mighty Gecko Multi-Protocol Wireless SoC
价格:¥27.0929
现货: 90,767
现货市场
登录 | 立即注册
提交评论