This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM62P:使用 V4L2应用程序捕获图像失败

Guru**** 2540720 points
Other Parts Discussed in Thread: AM62P

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1413138/am62p-capturing-images-with-the-v4l2-application-failed

器件型号:AM62P

工具与软件:

我在开发摄像头启动过程中遇到了一个问题。 详细信息如下:

共有四个摄像头连接到解串器。 但不需要控制这四个摄像头、因此我只实现了解串器的驱动器。

我是根据《处理器 SDK Linux 软件开发人员指南》的第3.2.2.2章 CSI2RX 开发的。

已探测驱动程序、以下是来自 lsmode 和媒体图表的日志。

$ lsmod | grep 712
max96712               12288  1
v4l2_async             20480  4 v4l2_fwnode,j721e_csi2rx,cdns_csi2rx,max96712
videodev              258048  8 v4l2_async,v4l2_fwnode,j721e_csi2rx,videobuf2_v4l2,cdns_csi2rx,max96712,v4l2_mem2mem,wave5
mc                     61440  8 v4l2_async,videodev,j721e_csi2rx,videobuf2_v4l2,cdns_csi2rx,videobuf2_common,max96712,v4l2_mem2mem


$ media-ctl -p
Media controller API version 6.6.32

Media device information
------------------------
driver          j721e-csi2rx
model           TI-CSI2RX
serial
bus info        platform:30102000.ticsi2rx
hw revision     0x1
driver version  6.6.32

Device topology
- entity 1: 30102000.ticsi2rx (7 pads, 7 links, 1 route)
            type V4L2 subdev subtype Unknown flags 0
            device node name /dev/v4l-subdev0
        routes:
                0/0 -> 1/0 [ACTIVE]
        pad0: Sink
                [stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
                <- "cdns_csi2rx.30101000.csi-bridge":1 [ENABLED,IMMUTABLE]
        pad1: Source
                [stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
                -> "30102000.ticsi2rx context 0":0 [ENABLED,IMMUTABLE]
        pad2: Source
                -> "30102000.ticsi2rx context 1":0 [ENABLED,IMMUTABLE]
        pad3: Source
                -> "30102000.ticsi2rx context 2":0 [ENABLED,IMMUTABLE]
        pad4: Source
                -> "30102000.ticsi2rx context 3":0 [ENABLED,IMMUTABLE]
        pad5: Source
                -> "30102000.ticsi2rx context 4":0 [ENABLED,IMMUTABLE]
        pad6: Source
                -> "30102000.ticsi2rx context 5":0 [ENABLED,IMMUTABLE]

- entity 9: cdns_csi2rx.30101000.csi-bridge (5 pads, 2 links, 1 route)
            type V4L2 subdev subtype Unknown flags 0
            device node name /dev/v4l-subdev1
        routes:
                0/0 -> 1/0 [ACTIVE]
        pad0: Sink
                [stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
                <- "max96712 1-0027":0 [ENABLED,IMMUTABLE]
        pad1: Source
                [stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
                -> "30102000.ticsi2rx":0 [ENABLED,IMMUTABLE]
        pad2: Source
        pad3: Source
        pad4: Source

- entity 15: max96712 1-0027 (1 pad, 1 link, 0 routes)
             type V4L2 subdev subtype Unknown flags 0
             device node name /dev/v4l-subdev2
        pad0: Source
                [stream:0 fmt:RGB888_1X24/1920x1080 field:none]
                -> "cdns_csi2rx.30101000.csi-bridge":0 [ENABLED,IMMUTABLE]

- entity 21: 30102000.ticsi2rx context 0 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video2
        pad0: Sink
                <- "30102000.ticsi2rx":1 [ENABLED,IMMUTABLE]

- entity 27: 30102000.ticsi2rx context 1 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video3
        pad0: Sink
                <- "30102000.ticsi2rx":2 [ENABLED,IMMUTABLE]

- entity 33: 30102000.ticsi2rx context 2 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video4
        pad0: Sink
                <- "30102000.ticsi2rx":3 [ENABLED,IMMUTABLE]

- entity 39: 30102000.ticsi2rx context 3 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video5
        pad0: Sink
                <- "30102000.ticsi2rx":4 [ENABLED,IMMUTABLE]

- entity 45: 30102000.ticsi2rx context 4 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video6
        pad0: Sink
                <- "30102000.ticsi2rx":5 [ENABLED,IMMUTABLE]

- entity 51: 30102000.ticsi2rx context 5 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video7
        pad0: Sink
                <- "30102000.ticsi2rx":6 [ENABLED,IMMUTABLE]

示波器测量可以确认 解串器 此时已发送图像数据。

当我继续执行捕获原始帧命令时、收到一条错误消息:找不到传感器

$ LIBCAMERA_LOG_LEVELS=*:DEBUG cam -c1 --stream width=640,height=480,pixelformat=UYVY -C20
[5:28:22.165815510] [1384] DEBUG IPAModule ipa_module.cpp:334 ipa_rkisp1.so: IPA module /usr/lib/libcamera/ipa_rkisp1.so is signed
[5:28:22.166152500] [1384] DEBUG IPAManager ipa_manager.cpp:245 Loaded IPA module '/usr/lib/libcamera/ipa_rkisp1.so'
[5:28:22.166392220] [1384] DEBUG IPAModule ipa_module.cpp:334 ipa_rpi_vc4.so: IPA module /usr/lib/libcamera/ipa_rpi_vc4.so is signed
[5:28:22.166492085] [1384] DEBUG IPAManager ipa_manager.cpp:245 Loaded IPA module '/usr/lib/libcamera/ipa_rpi_vc4.so'
[5:28:22.166631620] [1384]  INFO Camera camera_manager.cpp:284 libcamera v0.2.0+dirty (2024-08-19T13:39:16+00:00)
[5:28:22.167048720] [1385] DEBUG Camera camera_manager.cpp:69 Starting camera manager
[5:28:22.180743400] [1385] DEBUG DeviceEnumerator device_enumerator.cpp:230 New media device "j721e-csi2rx" created from /dev/media0
[5:28:22.181584125] [1385] DEBUG DeviceEnumerator device_enumerator_udev.cpp:96 Defer media device /dev/media0 due to 7 missing dependencies
[5:28:22.185222680] [1385] DEBUG DeviceEnumerator device_enumerator_udev.cpp:322 All dependencies for media device /dev/media0 found
[5:28:22.185301070] [1385] DEBUG DeviceEnumerator device_enumerator.cpp:258 Added device /dev/media0: j721e-csi2rx
[5:28:22.186494685] [1385] DEBUG Camera camera_manager.cpp:113 Found registered pipeline handler 'PipelineHandlerISI'
[5:28:22.186635085] [1385] DEBUG Camera camera_manager.cpp:113 Found registered pipeline handler 'PipelineHandlerRkISP1'
[5:28:22.186725140] [1385] DEBUG Camera camera_manager.cpp:113 Found registered pipeline handler 'PipelineHandlerVc4'
[5:28:22.186778740] [1385] DEBUG RPI vc4.cpp:179 Unable to acquire a Unicam instance
[5:28:22.186801965] [1385] DEBUG RPI vc4.cpp:179 Unable to acquire a Unicam instance
[5:28:22.186824330] [1385] DEBUG Camera camera_manager.cpp:113 Found registered pipeline handler 'SimplePipelineHandler'
[5:28:22.186854935] [1385] DEBUG DeviceEnumerator device_enumerator.cpp:318 Successful match for media device "j721e-csi2rx"
[5:28:22.186930735] [1385] ERROR SimplePipeline simple.cpp:1424 No sensor found
[5:28:22.186964820] [1385] DEBUG Camera camera_manager.cpp:113 Found registered pipeline handler 'PipelineHandlerUVC'
Camera 1 not found
Failed to create camera session

相关 DTS 文件如下。 您能否帮助确认此错误的原因?

&main_i2c1 {
	#address-cells = <1>;
	#size-cells = <0>;
	status = "okay";

			camera@27 {
				compatible = "maxim,max96712";
				reg = <0x27>;

				clocks = <&clk_max96712_fixed>;
				clock-names = "xclk";

				port {
					csi2_cam0: endpoint {
						remote-endpoint = <&csi2rx0_in_sensor>;
						#link-frequencies = /bits/ 64 <456000000>;
						clock-lanes = <0>;
						data-lanes = <1 2 3 4>;
					};
				};
	};
};

&cdns_csi2rx0 {
	ports {
		#address-cells = <1>;
		#size-cells = <0>;

		csi0_port0: port@0 {
			reg = <0>;
			status = "okay";

			csi2rx0_in_sensor: endpoint {
				remote-endpoint = <&csi2_cam0>;
				bus-type = <4>; /* CSI2 DPHY. */
				clock-lanes = <0>;
				data-lanes = <1 2 3 4>;
			};
		};
	};
};

&ti_csi2rx0 {
	status = "okay";
};

&dphy0 {
	status = "okay";
};

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    您的"c4l2-ctl --list-devices"显示什么? 您能否尝试使用 yavta 进行捕获、看看这是否有效?

    此致、

    建中

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    这是 使用 v4l2-ctl 和 yavta 测试的日志。

    $ v4l2-ctl --list-devices
    j721e-csi2rx (platform:30102000.ticsi2rx):
            /dev/video2
            /dev/video3
            /dev/video4
            /dev/video5
            /dev/video6
            /dev/video7
            /dev/media0
    
    wave5-dec (platform:30210000.video-codec):
            /dev/video0
            /dev/video1
            
    $ v4l2-ctl -d2 --stream-mmap -v width=640,height=480,pixelformat=UYVY
                    VIDIOC_STREAMON returned -1 (Broken pipe)
    
    $ yavta -s 640x480 -f UYVY /dev/video2 -c20
    Device /dev/video2 opened.
    Device `j721e-csi2rx' on `platform:30102000.ticsi2rx' (driver 'j721e-csi2rx') supports video, capture, without mplanes.
    Video format set: UYVY (59565955) 640x480 (stride 1280) field none buffer size 614400
    Video format: UYVY (59565955) 640x480 (stride 1280) field none buffer size 614400
    8 buffers requested.
    length: 614400 offset: 0 timestamp type/source: mono/EoF
    Buffer 0/0 mapped at address 0xffffa13ca000.
    length: 614400 offset: 614400 timestamp type/source: mono/EoF
    Buffer 1/0 mapped at address 0xffffa1334000.
    length: 614400 offset: 1228800 timestamp type/source: mono/EoF
    Buffer 2/0 mapped at address 0xffffa129e000.
    length: 614400 offset: 1843200 timestamp type/source: mono/EoF
    Buffer 3/0 mapped at address 0xffffa1208000.
    length: 614400 offset: 2457600 timestamp type/source: mono/EoF
    Buffer 4/0 mapped at address 0xffffa1172000.
    length: 614400 offset: 3072000 timestamp type/source: mono/EoF
    Buffer 5/0 mapped at address 0xffffa10dc000.
    length: 614400 offset: 3686400 timestamp type/source: mono/EoF
    Buffer 6/0 mapped at address 0xffffa1046000.
    length: 614400 offset: 4300800 timestamp type/source: mono/EoF
    Buffer 7/0 mapped at address 0xffffa0fb0000.
    Unable to start streaming: Broken pipe (32).
    8 buffers released.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的建中:

    需要您对此问题给予高优先级当您回到办公室时、客户需要尽快将软件交付给汽车 OEM。

    BR、

    Biao

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Cheng Nu、您好!

    您的"v4l2-ctl --list-devices"看起来正常。

    一些问题和建议:

    1.为什么设备树的链路频率行中有"#"?

    #link-frequencies =/bits/ 64 <456000000>;

    2. 从"meida-ctl -p"的输出来看、"cdns_csi2rx.30101000.csi-bridge"和"max96712 1-0027"的格式不匹配。 请参阅 此常见问题解答 、了解如何配置媒体管道格式。

    3.是否可以在运行 yavta 命令时使用 devmem2来检查这些寄存器?

    • devmem2 0x30101020 w
    • devmem2 0x30101104 w
    • devmem2 0x30111000 w

    有关这些寄存器的更多信息、请参阅之前的主题。

    此致、

    建中

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、建中:

    在驱动程序中定义了链路频率、我将在设备树中删除链路频率行。

    2.我 修改了介质管道格式,但仍然 不起作用。

    $ media-ctl -p
    Media controller API version 6.6.32
    
    Media device information
    ------------------------
    driver          j721e-csi2rx
    model           TI-CSI2RX
    serial
    bus info        platform:30102000.ticsi2rx
    hw revision     0x1
    driver version  6.6.32
    
    Device topology
    - entity 1: 30102000.ticsi2rx (7 pads, 7 links, 1 route)
                type V4L2 subdev subtype Unknown flags 0
                device node name /dev/v4l-subdev0
            routes:
                    0/0 -> 1/0 [ACTIVE]
            pad0: Sink
                    [stream:0 fmt:UYVY8_1X16/1920x1536 field:none]
                    <- "cdns_csi2rx.30101000.csi-bridge":1 [ENABLED,IMMUTABLE]
            pad1: Source
                    [stream:0 fmt:UYVY8_1X16/1920x1536 field:none]
                    -> "30102000.ticsi2rx context 0":0 [ENABLED,IMMUTABLE]
            pad2: Source
                    -> "30102000.ticsi2rx context 1":0 [ENABLED,IMMUTABLE]
            pad3: Source
                    -> "30102000.ticsi2rx context 2":0 [ENABLED,IMMUTABLE]
            pad4: Source
                    -> "30102000.ticsi2rx context 3":0 [ENABLED,IMMUTABLE]
            pad5: Source
                    -> "30102000.ticsi2rx context 4":0 [ENABLED,IMMUTABLE]
            pad6: Source
                    -> "30102000.ticsi2rx context 5":0 [ENABLED,IMMUTABLE]
    
    - entity 9: cdns_csi2rx.30101000.csi-bridge (5 pads, 2 links, 1 route)
                type V4L2 subdev subtype Unknown flags 0
                device node name /dev/v4l-subdev1
            routes:
                    0/0 -> 1/0 [ACTIVE]
            pad0: Sink
                    [stream:0 fmt:UYVY8_1X16/1920x1536 field:none]
                    <- "max96712 1-0027":0 [ENABLED,IMMUTABLE]
            pad1: Source
                    [stream:0 fmt:UYVY8_1X16/1920x1536 field:none]
                    -> "30102000.ticsi2rx":0 [ENABLED,IMMUTABLE]
            pad2: Source
            pad3: Source
            pad4: Source
    
    - entity 15: max96712 1-0027 (1 pad, 1 link, 0 routes)
                 type V4L2 subdev subtype Unknown flags 0
                 device node name /dev/v4l-subdev2
            pad0: Source
                    [stream:0 fmt:UYVY8_1X16/1920x1536 field:none]
                    -> "cdns_csi2rx.30101000.csi-bridge":0 [ENABLED,IMMUTABLE]
    
    - entity 21: 30102000.ticsi2rx context 0 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video2
            pad0: Sink
                    <- "30102000.ticsi2rx":1 [ENABLED,IMMUTABLE]
    
    - entity 27: 30102000.ticsi2rx context 1 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video3
            pad0: Sink
                    <- "30102000.ticsi2rx":2 [ENABLED,IMMUTABLE]
    
    - entity 33: 30102000.ticsi2rx context 2 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video4
            pad0: Sink
                    <- "30102000.ticsi2rx":3 [ENABLED,IMMUTABLE]
    
    - entity 39: 30102000.ticsi2rx context 3 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video5
            pad0: Sink
                    <- "30102000.ticsi2rx":4 [ENABLED,IMMUTABLE]
    
    - entity 45: 30102000.ticsi2rx context 4 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video6
            pad0: Sink
                    <- "30102000.ticsi2rx":5 [ENABLED,IMMUTABLE]
    
    - entity 51: 30102000.ticsi2rx context 5 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video7
            pad0: Sink
                    <- "30102000.ticsi2rx":6 [ENABLED,IMMUTABLE]
                    
    $ yavta -s 1920x1536 -f UYVY /dev/video2 -c2
    Device /dev/video2 opened.
    Device `j721e-csi2rx' on `platform:30102000.ticsi2rx' (driver 'j721e-csi2rx') supports video, capture, without mplanes.
    Video format set: UYVY (59565955) 1920x1536 (stride 3840) field none buffer size 5898240
    Video format: UYVY (59565955) 1920x1536 (stride 3840) field none buffer size 5898240
    8 buffers requested.
    length: 5898240 offset: 0 timestamp type/source: mono/EoF
    Buffer 0/0 mapped at address 0xffff7fd80000.
    length: 5898240 offset: 5898240 timestamp type/source: mono/EoF
    Buffer 1/0 mapped at address 0xffff7f7e0000.
    length: 5898240 offset: 11796480 timestamp type/source: mono/EoF
    Buffer 2/0 mapped at address 0xffff7f240000.
    length: 5898240 offset: 17694720 timestamp type/source: mono/EoF
    Buffer 3/0 mapped at address 0xffff7eca0000.
    length: 5898240 offset: 23592960 timestamp type/source: mono/EoF
    Buffer 4/0 mapped at address 0xffff7e700000.
    length: 5898240 offset: 29491200 timestamp type/source: mono/EoF
    Buffer 5/0 mapped at address 0xffff7e160000.
    length: 5898240 offset: 35389440 timestamp type/source: mono/EoF
    Buffer 6/0 mapped at address 0xffff7dbc0000.
    length: 5898240 offset: 41287680 timestamp type/source: mono/EoF
    Buffer 7/0 mapped at address 0xffff7d620000.
    

    这是 寄存器值。 您可以帮助检查它吗?

    devmem2 0x30101020 w
    /dev/mem opened.
    Memory mapped at address 0xffff7ffe6000.
    Read at address  0x30101020 (0xffff7ffe6020): 0x00000000
    $ devmem2 0x30101104 w
    /dev/mem opened.
    Memory mapped at address 0xffffa3a1b000.
    Read at address  0x30101104 (0xffffa3a1b104): 0x80000111
    $ devmem2 0x30111000 w
    /dev/mem opened.
    Memory mapped at address 0xffff97dc7000.
    Read at address  0x30111000 (0xffff97dc7000): 0x40800000

    谢谢!

    Cheng Nu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、建中:

    在我更改了 max96712的驱动程序后、我现在可以捕获图像。 但图像似乎异常,如下图所示。

    $ yavta -s 1920x1536 -f UYVY /dev/video2 -c20 -F#.uyvy
    Device /dev/video2 opened.
    Device `j721e-csi2rx' on `platform:30102000.ticsi2rx' (driver 'j721e-csi2rx') supports video, capture, without mplanes.
    Video format set: UYVY (59565955) 1920x1536 (stride 3840) field none buffer size 5898240
    Video format: UYVY (59565955) 1920x1536 (stride 3840) field none buffer size 5898240
    8 buffers requested.
    length: 5898240 offset: 0 timestamp type/source: mono/EoF
    Buf[  640.925244] max96712 1-0027: s_stream true
    fer 0/0 mapped at address 0xffffa01f0000.
    length: 5898240 offset: 5898240 timestamp type/source: mono/EoF
    Buffer 1/0 mapped at address 0xffff9fc50000.
    length: 5898240 offset: 11796480 timestamp type/source: mono/EoF
    Buffer 2/0 mapped at address 0xffff9f6b0000.
    length: 5898240 offset: 17694720 timestamp type/source: mono/EoF
    Buffer 3/0 mapped at address 0xffff9f110000.
    length: 5898240 offset: 23592960 timestamp type/source: mono/EoF
    Buffer 4/0 mapped at address 0xffff9eb70000.
    length: 5898240 offset: 29491200 timestamp type/source: mono/EoF
    Buffer 5/0 mapped at address 0xffff9e5d0000.
    length: 5898240 offset: 35389440 timestamp type/source: mono/EoF
    Buffer 6/0 mapped at address 0xffff9e030000.
    length: 5898240 offset: 41287680 timestamp type/source: mono/EoF
    Buffer 7/0 mapped at address 0xffff9da90000.
    0 (0) [-] any 0 5898240 B 642.400161 642.400208 0.605 fps ts mono/EoF
    1 (1) [-] any 1 5898240 B 643.711627 643.711669 0.763 fps ts mono/EoF
    2 (2) [-] any 2 5898240 B 665.611989 665.612037 0.046 fps ts mono/EoF
    3 (3) [-] any 3 5898240 B 665.866927 665.866973 3.923 fps ts mono/EoF
    4 (4) [-] any 4 5898240 B 669.178686 669.178737 0.302 fps ts mono/EoF
    5 (5) [-] any 5 5898240 B 676.500780 676.500829 0.137 fps ts mono/EoF
    6 (6) [-] any 6 5898240 B 676.612162 676.620227 8.978 fps ts mono/EoF
    7 (7) [-] any 7 5898240 B 711.530218 711.530275 0.029 fps ts mono/EoF
    8 (0) [-] any 8 5898240 B 712.504567 712.504605 1.026 fps ts mono/EoF
    9 (1) [-] any 9 5898240 B 713.793573 713.793616 0.776 fps ts mono/EoF
    10 (2) [-] any 10 5898240 B 723.561606 723.561658 0.102 fps ts mono/EoF
    11 (3) [-] any 11 5898240 B 741.471081 741.471136 0.056 fps ts mono/EoF
    12 (4) [-] any 12 5898240 B 747.979442 747.979493 0.154 fps ts mono/EoF
    13 (5) [-] any 13 5898240 B 766.582051 766.582098 0.054 fps ts mono/EoF
    14 (6) [-] any 14 5898240 B 768.813624 768.813669 0.448 fps ts mono/EoF
    15 (7) [-] any 15 5898240 B 769.837988 769.838024 0.976 fps ts mono/EoF
    16 (0) [-] any 16 5898240 B 770.380320 770.380351 1.844 fps ts mono/EoF
    17 (1) [-] any 17 5898240 B 785.136490 785.136539 0.068 fps ts mono/EoF
    18 (2) [-] any 18 5898240 B 789.547291 789.547336 0.227 fps ts mono/EoF
    19 (3) [-] any 19 5898240 B 789.780626 789.780663 4.286 fps ts mono/EoF
    [  790.084523] max96712 1-0027: s_stream false
    Captured 20 frames in 149.033627 seconds (0.134198 fps, 791531.426121 B/s).
    8 buffers released.
    

    实际上、解串器 max96712通过四个虚拟通道传输来自四个摄像头的图像数据。

    如何修改设备树以完成四摄像头配置? 您能否提供示例 DTS?

    谢谢!

    Cheng Nu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Cheng Nu:

    请参阅 ds90ub960驱动程序和 multi-IMX390设备树以获取参考:

    此致、

    建中

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Unknown 说:
    但这四个摄像头不需要控制,因此我只为解串器实现了驱动程序。

    您的意思是摄像头不是由 AM62A 控制、而是可以自行开始流式传输?  

    我修改了 ub960、ub953和 imx219的驱动程序以满足我的需要。

    您使用的 SerDes 与 ub960/ub953不同。  确保驱动程序将正确的值写入正确的寄存器。

    [quote userid="623005" url="~/support/processors-group/processors/f/processors-forum/1413138/am62p-capturing-images-with-the-v4l2-application-failed 示波器测量可确认 解串器 此时已发送图像数据。

    如何确保解串器发送的图像数据有效? 如何将数据从传感器发送到解串器? 您能否验证它是否有效?

    是否可以使用 IMX219或 OV5640和您的 SerDes 进行概念验证? 我们知道 AM62P 支持 IMX219和 OV5640。

    此致、

    建中

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、建中:

    我将验证 解串器发送的图像数据的有效性。

    另外、 解串器 MAX96712的数据速率为2Gbps/通道、这是 Maxim 建议的数据速率、因为需要发送4个通道的3M 图像数据。

    将 cdns_csi2rx0的链路频率更改为1000000000是否合适?  

    顺便说一句,你可以帮助提供一种方法来打开 mipi 偏斜?

    谢谢!

    Cheng Nu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、建中:

    很高兴了解最新进展情况。

    我尝试只连接三个摄像头,发现我可以通过 yavta 从三个摄像头捕捉正确的图像数据。

    因此、我认为问题在于 cdns_csi2rx0的数据速率 配置不正确。

    您能否帮助确认如何配置2Gbps/通道 或适当的速率?

    我们的图像格式为1920x1536@30fps YUV422-8位。

    谢谢!

    Cheng Nu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Cheng Nu、您好!

    是否可以将 cdns_csi2rx0的链路频率更改为1000000000?  [报价]

    我认为您不需要将链路频率设置为这么高。 公式为:link_freq = bits_per_sample * pixel_rate / 2 / nr_of_Lanes。

    在您的用例中、 如果您使用4个通道、则 link-freq = 16x1920x1536x30 / 2 / 4 ~= 177MHz。

    您当前使用的链路频率是多少?

    我尝试仅连接三台摄像机、发现我可以通过 yavta 从三台摄像机捕捉正确的图像数据。

    是否确定是链路频率问题? 如果您连接所有摄像机、那么4个摄像机中的每一个都只能使用一个摄像机进行拍摄吗?

    此致、

    建中

    [/quote]
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、建中

    您当前使用的链接频率是多少

    我当前正在尝试使用以下两种链路频率、但结果似乎相同、因此我不知道我的更改是否可行。

    • Link-frequencies =/bits/ 64 <800000000>;
    • 链路频率=/bits/ 64 <1000000000>;
    [报价 userid="35284" url="~/support/processors-group/processors/f/processors-forum/1413138/am62p-capturing-images-with-the-v4l2-application-failed/5429929 #5429929"]对于您的用例、 如果您使用的是4个通道、则 link-freq = 16x1920x1536x30 / 2 / 4 ~= 177MHz。

    是的、我使用4个通道。 但需要注意的是、四个摄像头的图像数据是同时传输的、因此结果需要乘以4。

    如果您连接了所有摄像机、那么4台摄像机中的每台只能用一台摄像机进行拍摄吗?

    如果我连接四台相机,我拍摄的图像都异常,就像几天前发布的一样。

    所以我想尝试更改链路频率以对其进行测试。

    您能否帮助确认修改链接频率和打开 mipi 偏斜的方法?

    谢谢!

    Cheng Nu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="623005" url="~/support/processors-group/processors/f/processors-forum/1413138/am62p-capturing-images-with-the-v4l2-application-failed/5430113 #5430113"]是的、我使用的是4个通道。 但需要注意的是、四个摄像机的图像数据是同时传输的、因此结果需要乘以4。

    感谢您的纠正。 你是对的。 它   ~为 link-freq = 16x1920x1536x30x4 / 2 / 4 μ s = 708MHz。 因此800MHz 应该没有问题。

    在 TI 的 SDK 中、链路频率在此 DTS 中指定: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/arch/arm64/boot/dts/ti/k3-am62a7-sk-fusion.dtso?h=ti-linux-6.6.y

    CSI 偏差校准在以下位置完成: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/drivers/media/i2c/ds90ub960.c?h=ti-linux-6.6.y#n1757。  

    您可以在此函数中添加一些调试文件以验证配置的链接频率: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/drivers/media/platform/cadence/cdns-csi2rx.c?h=ti-linux-6.6.y#n193。

    此致、

    建中