【经验】R-Car M3使用MIPI-CSI进行视频流采集的问题及原因
![SoC,R-Car M3,Renesas](http://www.sekorm.com:443/front/website/images/logo_v2_2x.png?v=2x01)
![SoC,R-Car M3,Renesas](https://www.sekorm.com/front/website/images/sekormContent.jpg)
![SoC,R-Car M3,Renesas](http://www.sekorm.com:443/front/website/images/logo_v2_2x.png?v=2x01)
![SoC,R-Car M3,Renesas](https://www.sekorm.com/front/website/images/sekormContent.jpg)
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模块介绍及寄存器的配置。
设计经验 发布时间 : 2020-03-21
【经验】SoC R CAR V3H2 端侧推理输出的rcar_output.npy数据查看方法
RENESAS R CAR V3H2 端侧推理输出的数据有cvs格式,总共512个输出,同时把cvs数据转化为npy格式保存为一个rcar_output.npy文件,那我如何查看这些数据呢,本文记录数据查看方法。
设计经验 发布时间 : 2023-09-23
【经验】SoC R CAR V3H2 cnn模型转换后执行以及benchmark过程实操指南
RENESAS SoC R CAR V3H2 cnn模型转换后的输出文件有bcl和.pb 2类,都是可以在端侧执行的,本文记录.pb的推理输出以及benchmark过程实操及解析。
设计经验 发布时间 : 2023-09-21
瑞萨公开下一代车用SoC和MCU处理器产品路线图,全新R-Car MCU系列扩展其车辆控制产品阵容
瑞萨电子公开了针对汽车领域所有主要应用的下一代片上系统(SoC)和微控制器(MCU)计划。未来产品阵容包括采用先进小芯片封装(Chiplet)集成技术的R-Car SoC和基于Arm®核的车用MCU。
厂牌及品类 发布时间 : 2023-11-11
【产品】瑞萨新一代SOC R-Car V3H,专为自动驾驶前置摄像头应用
瑞萨开发了专门针对前置摄像头应用的SoC——R-Car V3H,集成了专门针对图像处理的功能单元,它比R-Car V3M在视觉处理方面的性能提高了5倍,并只有0.3瓦的超低功耗,更好的适应自动驾驶的需求。
新产品 发布时间 : 2018-03-07
【选型】车联网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。
器件选型 发布时间 : 2020-05-23
【产品】全新开放式平台,加大对ADAS及自动驾驶的支持
新型R-Car V3M SoC符合ISO26262功能安全标准,为视觉处理提供了低功耗硬件加速功能,还配有内置图像信号处理器。
新产品 发布时间 : 2017-04-25
DA16200 Ultra Low Power Wi-Fi SoC
型号- DA16200-00000F22,DA16200-00001F22,DA16200-00001A32,DA16200-RRXXXYYZ,DA16200,DA16200-00000A32
【经验】SoC R CAR V3H2 CNN工具链转换restnet18 caffe模型为端侧可执行命令过程解析
RENESAS SoC R CAR V3H2 CNN工具链最主要的功能就是把caffe,onnx等模型转换为V3H2 芯片端可执行模型,命令,本文记录并分析此转换过程。
设计经验 发布时间 : 2023-09-16
瑞萨高性能系统级芯片(SoC)R-Car M3被大陆集团用于其车身高性能计算机
全球领先的半导体解决方案供应商瑞萨电子集团于2020年7月7日宣布,大陆集团(Continental)在其第一代车身高性能计算机(HPC)中采用了瑞萨高性能系统级芯片(SoC)R-Car M3。HPC作为车载计算平台,提供对车辆系统的集中控制,并配备安全网关功能以实现云连接。
行业资讯 发布时间 : 2020-07-08
【应用】支持EtherCAT协议的瑞萨单芯片SoC用于伺服系统,实现实时响应,降低20%成本
在伺服系统的应用上,对于主控SoC的选择非常重要,Renesas SoC RZ/T1系列的R7S910025可以实现联网实时响应,采用ARM Coretex-R4F高实时性内核,自带FPU浮点运算单元,最高支持600MHz主频,达到962MIPS的运行速度。
应用方案 发布时间 : 2020-04-27
【经验】解决瑞萨RZ/T1 SoC芯片最小系统硬驱IIC断点死循环问题
客户反应问题:设置瑞萨RZ/T1高性能SoC芯片最小系统硬驱IIC断点,执行不下去,进入while死循环。本文介绍如何解决该问题。
设计经验 发布时间 : 2021-02-13
【经验】采用瑞萨R-Car H3 SOC的车载域控制器PCB叠层设计方案
瑞萨R-Car H3处理器(SOC)是汽车域控制器专用SOC,它拥有1384个PIN,功能多、系统复杂,PIN密度很大而PIN间距很小,因此用它来设计的域控制器,其PCB板叠层结构跟常用的很不一样,需要设计独特的PCB叠层结构。笔者曾设计过一款采用了瑞萨R-Car H3 SOC的域控制器,以下为其PCB叠层结构的设计分享。
设计经验 发布时间 : 2018-08-04
【选型】Renesas(瑞萨电子)汽车电子产品选型指南
目录- RENESAS解决方案 RH850 40nm单片机 安全驾驶系统的SoC(R-Car)解决方案 环保汽车的模拟和功率器件技术 HEV/EV 动力传动系统 底盘和安全 ADAS 车身 RL78低功耗汽车单片机 驾驶舱系统解决方案 驾驶舱系统专用R-Car SoC器件 汽车仪表 汽车音响 基础技术 汽车功能安全和网络安全支持计划 瑞萨电子和AUTOSAR的三大优势 RH850族开发工具 瑞萨电子开发工具
型号- 4H12HPF,NP60N04VDK,R-CARH3,RH850/F1H,R-CARH2,R-CARH1,R-CARW1R,RH850/F1K,RH850/F1L,ΜPD166033T1U,NP60N04VUK,R32C,NP75N04YUK,RH850/F1M,SH72544R,¦ÌPD166036GR,R2A25108KFP,V850/FX4,R-CARXX,RAJ280002,RAJ280004,RAJ280003,R-CAR E1,R-CAR E2,R-CAR GEN3,RH850/F1X,R8C/3X,SH72543R,RL78/F1X,¦ÌPD166023T1J,SH72567R,RH850/D1L1,¦ÌPD166028T1K,ΜPD166038T1J,¦ÌPD166034T1U,RNA519XX,R-CAR D1,RH850/P1X,SH72A0,V850/FX4-H,¦ÌPD166035GR,V850/FX4-L,R-CAR T2,4H11HPF,R-CARE2,R-CARE1,RAA27001X,R-CARGEN1,R-CARGEN2,R-CARGEN3,R8C/5X,V850E2/PG4-L,ΜPD166027T1J,NP100N04PUK,RH850,R2A25107KFP,V850E2/PG4-S,NP160N055TUK,V850/DX4,V850E2/PX4,RH850/D1M2(H),R-CARGEN2,R-CARGEN3,R-CARV3M,R-CAR W2R,R2A251XX,RH850/P1M,R-CAR D1,RH850/P1H-C,R-CARM3,R-CAR W2H,R-CARM2,R-CARM1,V850,RH850/D1LX,R-CARM1A,R-CAR YY,R-CARV2H,V850E/SX3-H,RAA270005KFP,ΜPD166029T1J,RH850/D1MX,RL78,R2A25416SP,V850ES/SX3,R-CAR XX,V850E2/PX4-L,NP109N04PUK,SH7766,R-CAR H1,R-CAR M1A,SH72AW/AY,NP89N04PUK,R-CAR H2,R-CAR GEN3,R-CAR H3,SH7769,R-CAR GEN2,NP180N055TUK,R-CAR GEN1,¦ÌPD166030T1K,V850E2/FX4-L,V850E2/FX4-H,NP29N06QDK,RH850/D1L1,ΜPD166028T1K,RH850/D1L2,RH850/E1M-S,NP90N055VUK,78K0/FX2&KX2,¦ÌPD166024T1K,R-CAR V2H,SH72546R,NP179N04TUK,¦ÌPD166029T1J,R-CARW2R,RAA270000KFT,RH850/D1M1(H),R-CARW2H,78K0/KX2,ΜPD166034T1U,RL78/F12,RH850/D1M1,RL78/F13,RH850/D1M2,RL78/F14,RL78/F15,R-CAR V3M,ΜPD166023T1J,SH72AW/SH72AY,F1H,ΜPD168890,NP160N04TUK,R-CARYY,V850E2/FX4,78K0/FX2-L,M32C/8X,F1L,SH7268,RH850/S1X,NP30N06QDK,F1K,RZ/A1M,SH7269,SH7266,F1M,SH7267,RH850/D1L2(H),RZ/A1LU,78K0R/KX3,SH726A,NP90N04VDK,SH726B,NP90N04VUK,SH7264,¦ÌPD166026T1K,SH7262,R-CAR,R-CAR,¦ÌPD166104,ΜPD166035GR,R-CARH,¦ÌPD166037T1J,R-CARE,RL78/F14RL78/F15,R2A251XX**,ΜPD166025T1J,R-CARM,R-CAR M1,R1EX24XXX,R-CAR M2,R-CAR M3,78K0S/KX1+,RH850/E1M-S2,RH850/C1H,RH850/C1M,RH850/P1M*,V850ES/FX3,V850E2/FK4-G,¦ÌPD166031T1U,ΜPD166024T1K,SH725X,V850E2/SX4-H,NP179N055TUK,SH72A0/SH72A2,R-CAR W1R,RH850/C1X,M16C,ΜPD166030T1K,PD166033T1U,V850E2/DX4,V850E2/FF4-M,¦ÌPD166025T1J,V850/DX4-H,NP180N04TUK,RL78/D1A,R-CARD1,R32C/100,RH850/D1L,RH850/D1M,NP89N055PUK,ΜPD166104,ΜPD166026T1K,RH850/D1M2H,RH850/P1H-CE,SH72AW,SH72AY,RZ/A1,78K0S/KX1,R1EX25XXX,SH7455,SH7456,¦ÌPD166027T1J,78K0/FX2,¦ÌPD166033T1U,R-CART2,R-CARD1,RH850/D1M1H,RH850/D1X,SH72A2,NP110N04PUK,ΜPD166032T1U,R-CAR M,SH72531,SH72533,RH850/E1L,R-CAR H,4H12HPF*2,RH850/P1M-C,RH850/V1R-M,¦ÌPD166038T1J,RH850/P1M-C*,4H11HPF*2,RH850/D1L2H,SH72A0/A2,R8C/2X,ΜPD166031T1U,NP75N04VUK,ΜPD166037T1J,ΜPD166036GR,SH745X,RH850P1X-C,RH850/E1X,78K0R/FX3,RH850/P1H-C*,¦ÌPD166032T1U,R-CAR E,V850/DR4-3D,R2A25110KSP,V850E2/DX4-H,RH850/ C1X
电子商城
现货市场
登录 | 立即注册
提交评论