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.

[参考译文] TDA4VEN-Q1:捕获帧时保持挂起

Guru**** 2337880 points
Other Parts Discussed in Thread: AM67A, AM67, ALP
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1489904/tda4ven-q1-keep-hanging-when-capturing-frame

器件型号:TDA4VEN-Q1
Thread 中讨论的其他器件:AM67、AM67A ALP

工具/软件:

尊敬的 TI:

我们有 TDA4VEN - DS90UB960 - IMX390 (内置 DS90UB953)、并设置器件树继电器。 现在、我们要使用以下代码测试传感器的通电和工作是否正常:

# after boot and login, config code provided by manutacturer
$ i2cset -y 7 0x3d 0x4c 0x01
$ i2cset -y 7 0x3d 0x58 0x5e
$ i2cset -y 7 0x3d 0x1f 0x02
$ i2cset -y 7 0x3d 0x20 0x20
$ i2cset -y 7 0x3d 0x33 0x03

#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
#include <linux/videodev2.h>
#include <string.h>
#include <errno.h>

#define DEVICE "/dev/video4"
#define WIDTH  1936
#define HEIGHT 1100

int main() {
	int fd = open(DEVICE, O_RDWR);
	if (fd == -1) {
    	perror("Error opening video device");
    	return 1;
	}

	// Set video format
	struct v4l2_format fmt;
	memset(&fmt, 0, sizeof(fmt));
	fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
	fmt.fmt.pix.width = WIDTH;
	fmt.fmt.pix.height = HEIGHT;
	fmt.fmt.pix.pixelformat = V4L2_PIX_FMT_SRGGB12;  // 10-bit Bayer Packed
	fmt.fmt.pix.field = V4L2_FIELD_NONE;

	if (ioctl(fd, VIDIOC_S_FMT, &fmt) == -1) {
    	perror("VIDIOC_S_FMT failed");
    	printf("Error: %d\n", errno);
    	close(fd);
    	return 1;
	}

	// Request buffers
	struct v4l2_requestbuffers req;
	memset(&req, 0, sizeof(req));
	req.count = 1;  // Request 1 buffer
	req.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
	req.memory = V4L2_MEMORY_MMAP;

	if (ioctl(fd, VIDIOC_REQBUFS, &req) == -1) {
    	perror("VIDIOC_REQBUFS failed");
    	close(fd);
    	return 1;
	}

	// Query buffer
	struct v4l2_buffer buf;
	memset(&buf, 0, sizeof(buf));
	buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
	buf.memory = V4L2_MEMORY_MMAP;
	buf.index = 0;

	if (ioctl(fd, VIDIOC_QUERYBUF, &buf) == -1) {
    	perror("VIDIOC_QUERYBUF failed");
    	close(fd);
    	return 1;
	}

   // Map buffer to user space             	 
	void* buffer = mmap(NULL, buf.length, PROT_READ | PROT_WRITE, MAP_SHARED, fd, buf.m.offset);
	if (buffer == MAP_FAILED) {                                                            	 
    	perror("Memory mapping failed");                                                   	 
    	close(fd);                                                                         	 
    	return 1;                                                                          	 
	}                                                                                      	 
                                                                                           	 
	// Queue buffer                                                                        	 
	if (ioctl(fd, VIDIOC_QBUF, &buf) == -1) {                                              	 
    	perror("VIDIOC_QBUF failed");                                                      	 
    	close(fd);                                                                         	 
    	return 1;                                                                          	 
	}                                                                                      	 
                                                                                           	 
	// Start streaming                                                                     	 
	int type = V4L2_BUF_TYPE_VIDEO_CAPTURE;                                                	 
	if (ioctl(fd, VIDIOC_STREAMON, &type) == -1) {                                         	 
    	perror("VIDIOC_STREAMON failed");                                                  	 
    	close(fd);                                                                         	 
    	return 1;                                                                          	 
	}                                                                                      	 
                                                                      	 
	// Dequeue buffer (capture frame)        	 
	if (ioctl(fd, VIDIOC_DQBUF, &buf) == -1) {    
    	perror("VIDIOC_DQBUF failed");       	 
    	close(fd);                                                                         	 
    	return 1;                                                                          	 
	}                                                                                      	 
                                                                                           	 
	// Save raw Bayer frame                  	 
	FILE* file = fopen("frame.raw", "wb");                                                 	 
	if (file) {                              	 
    	fwrite(buffer, buf.length, 1, file);    
    	fclose(file);                       	 
    	printf("Frame captured and saved as frame.raw\n");
	} else {                                         	 
    	perror("Error saving frame");                	 
	}                                                	 
                                                     	 

	// Stop streaming                                                                      	 
	if (ioctl(fd, VIDIOC_STREAMOFF, &type) == -1) {  	 
    	perror("VIDIOC_STREAMOFF failed");           	 
	}                                                	 
                                                     	 
	// Cleanup                                       	 
	munmap(buffer, buf.length);                      	 
	close(fd);                                       	 
	return 0;                                        	 
}

执行在第88行挂起、如果我们使用 ctrl + c 中断并检查954的0x20和0x33寄存器、则该值分别修改回0xf0和0x02。 在执行第81行之后、这些值似乎被修改了。

我们还尝试了`v4l2-ctl --device /dev/video4 --stream-mmap --stream-count=1 --stream-to=frame.raw`并将其挂起。

此致

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

    您好:

    您能否分享一下您正在使用哪个特定 IMX390模块?  如果 不是  D3RCM-IMX390-953、我建议查看 下面链接的常见问题解答列表以帮助您进行调试。

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1403223/faq-most-common-problems-encountered-when-developing-camera-applications-on-the-am6x

    AM67 Academy: 使用摄像头

    如果您有任何其他问题、敬请告知。

    谢谢您、

    法比亚纳

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

    大家好、我们使用  的是这款 imx390模块。 我们的供应商没有/没有提供 Linux 中953 <->传感器的配置(他们说是在固件中完成的)。 该模块仅在 RTOS 中进行了开发和测试。

    D3RCM-IMX390-953是否 也需要配置? 我在他们的网站上看不到任何步骤。 如果是即插即用模块、我们会考虑购买新模块(也会减少集成摄像头的工作量)。

    谢谢你。

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

    您好、

    当提到 配置时、您指的是设备树叠加层吗?  TDA4VEN Linux 和 RTOS 平台均支持 D3RCM-IMX390-953。 仅 RTOS 支持 Discovery IMX390模块。 您链接的传感器尚未通过我们的验证。 请 查看以下页面、了解更多信息。

    常见问题: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1452909/faq-am67a-enabling-csi2-sensors-via-fusion-board-on-am6x

    J722S Foundational_Components Kernel_Drivers 文档:https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-j722s/10_01_00_04/exports/docs/linux/Linux/内核/SDK/Camera/CSI2RX.html#enableing-camera-sensors

    开箱即用支持的传感器列表: https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-j722s/10_01_00_04/exports/docs/imaging/imaging_release_notes.html

    谢谢您、

    法比亚纳

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

    您好、提到的"配置"是指 i2c 设置。 我们的供应商提供了几行命令来设置 ub960的寄存器。 看起来:

    0x4C,0x01 // set TI954 config
    0x58,0x5E
    0x1F,0x02
    0x20,0x20
    0x33,0x03 // stream on

    我相信这些都是 RTOS 设置。 如果我们没有 Linux (edgeai SDK)上的相应 i2c 设置、那么我们无法从传感器接收数据、是吗(dtbo 已设置)?

    D3RCM-IMX390-953是否需要额外的 i2c 设置? 还是在插入解串器后直接工作?

    此致

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

    您好、

    您似乎在使用 UB954解串器、对吗? 那么 SDK 中默认不支持这。 您需要更新成像组件以支持该解串器。

    此致、

    Brijesh

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

    您好、我们既有 ub954又有 ub960、传感器制造商提供的配置相同(如上所示)。 我们最终使用 ub960来避免一些意外错误。

    很抱歉粘贴误导性代码。

    此致

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

    那么、从 SD 卡引导后、带 FOV70的 D3RCM-IMX390-953是否无需在 Linux 上执行任何额外步骤即可工作? 我们希望使用该工具在 TI 预编译的 Linux tarball 中简单地演示 edgeai 库。

    此致

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

    您好、

    是的、融合板上带有 UB960的 D3-RCM 摄像头无需执行任何额外步骤即可在 EVM 上工作。

    此致、

    Brijesh

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

    您好、

    感谢您的确认。 我们订购这个传感器进行演示。

    此致

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

    抱歉、我发现我们需要大约 FOV100的摄像头。  D3 Discovery IMX390是否 已经过测试、并且目前只是进行 Linux edgeai-gst-apps 库演示的替代选项?

    此致

    编辑:我 这里的"支持的图像传感器 EdgeAI"部分找到了另一个 OV2312传感器、但 此处未列出。 是否可以进行开箱即用的 edgeai 演示?

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

    您好:

    根据最后一个测试案例、j722s + fusion1 + ov2312在仅 RGB 和仅 IR 模式下工作正常、但同时流式传输失败。 我已联系我们的成像团队以 了解有关此问题的状态。

    谢谢您、

    法比亚纳

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

    但是、您好、我在 edgeai-gst-apps' configs (类似 ov2312_cam_example.yaml)下找不到相应的配置、但仅找到 OV5640一个。 如果我通过 此模板创建一个新模板、是否可以 使它一次只流式传输 RGB 或 IR? 我找到  am62a 的这个描述、但 am67a/j722s 缺少这一部分。

    很抱歉详细确认。 我们已经购买了两台不支持的相机。

    此致

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

    您好:

    您是否已经购买了 ov2312传感器? 您是否希望简单地从 ov2312流式传输或捕获帧、或者是否还想在采用 此传感器 作为输入的情况下运行基于边缘 AI GStreamer 的示例应用? 请参阅可完成任一任务的流水线和示例配置文件。 虽然我已经共享了同时进行 RGB + IR 流式传输的流水线、但请记住、是这样  不会  经验证 在该器件上工作。 因为我目前没有 ov2312传感器、  所以我还没有测试示例配置文件、所以如果您在尝试使用它时遇到任何问题、请告诉我。

    仅 RGB

    gst-launch-1.0 v4l2src device=/dev/video-ov2312-rgb-cam0 io-mode=5 ! \
    video/x-bayer, width=1600, height=1300, format=bggi10 ! queue leaky=2 ! tiovxisp sensor-name=SENSOR_OV2312_UB953_LI \
    dcc-isp-file=/opt/imaging/ov2312/linear/dcc_viss.bin \
    sink_0::dcc-2a-file=/opt/imaging/ov2312/linear/dcc_2a.bin sink_0::device=/dev/v4l-ov2312-subdev0 format-msb=9 \
    sink_0::pool-size=8 src::pool-size=8 ! \
    video/x-raw, format=NV12, width=1600, height=1300, framerate=30/1 !  kmssink driver-name=tidss sync=false

    仅限 IR

    gst-launch-1.0 v4l2src device=/dev/video-ov2312-ir-cam0 io-mode=5 ! \
    video/x-bayer, width=1600, height=1300, format=bggi10 ! queue leaky=2 ! tiovxisp sensor-name=SENSOR_OV2312_UB953_LI \
    dcc-isp-file=/opt/imaging/ov2312/linear/dcc_viss.bin \
    sink_0::dcc-2a-file=/opt/imaging/ov2312/linear/dcc_2a.bin format-msb=9 \
    sink_0::pool-size=8 src_0::pool-size=8 ! \
    video/x-raw, format=GRAY8, width=1600, height=1300 ! \
    videoconvert ! video/x-raw, format=NV12 ! kmssink driver-name=tidss sync=false

    RGB + IR 同时

    gst-launch-1.0 v4l2src device=/dev/video-ov2312-rgb-cam0 io-mode=5 ! \
    video/x-bayer, width=1600, height=1300, format=bggi10 ! queue leaky=2 ! tiovxisp sensor-name=SENSOR_OV2312_UB953_LI \
    dcc-isp-file=/opt/imaging/ov2312/linear/dcc_viss.bin \
    sink_0::dcc-2a-file=/opt/imaging/ov2312/linear/dcc_2a.bin sink_0::device=/dev/v4l-ov2312-subdev0 format-msb=9 \
    sink_0::pool-size=8 src::pool-size=8 ! \
    video/x-raw, format=NV12, width=1600, height=1300 ! queue ! mosaic.sink_0 \
    v4l2src device=/dev/video-ov2312-ir-cam0 io-mode=5 ! video/x-bayer, width=1600, height=1300, format=bggi10 ! queue leaky=2 ! \
    tiovxisp sensor-name=SENSOR_OV2312_UB953_LI \
    dcc-isp-file=/opt/imaging/ov2312/linear/dcc_viss.bin \
    sink_0::dcc-2a-file=/opt/imaging/ov2312/linear/dcc_2a.bin format-msb=9 sink_0::pool-size=8 src_0::pool-size=8 ! \
    video/x-raw, format=GRAY8, width=1600, height=1300 ! videoconvert ! \
    video/x-raw, format=NV12 ! queue ! mosaic.sink_1 \
    tiovxmosaic name=mosaic \
    sink_0::startx="<0>" sink_0::starty="<0>" sink_0::widths="<640>" sink_0::heights="<480>" \
    sink_1::startx="<640>" sink_1::starty="<480>" sink_1::widths="<640>" sink_1::heights="<480>" ! \
    queue ! kmssink driver-name=tidss sync=false

    ov2312的 edgeai-gst-apps 示例配置

    title: "OV2312 Camera"
    log_level: 2
    inputs:
        input0:
            source: /dev/video-ov2312-rgb-cam0
            subdev-id: /dev/v4l-ov2312-subdev0
            width: 1600
            height: 1300
            format: bggi10
            framerate: 30
        input1:
            source: /dev/video-ov2312-ir-cam0
            subdev-id: /dev/v4l-ov2312-subdev0
            width: 1600
            height: 1300
            format: bggi10
            framerate: 30
    models:
        model0:
            model_path: /opt/model_zoo/TVM-CL-3090-mobileNetV2-tv
            topN: 5
        model1:
            model_path: /opt/model_zoo/ONR-OD-8200-yolox-nano-lite-mmdet-coco-416x416
            viz_threshold: 0.6
        model2:
            model_path: /opt/model_zoo/ONR-SS-8610-deeplabv3lite-mobv2-ade20k32-512x512
            alpha: 0.4
    outputs:
        output0:
            sink: kmssink
            width: 1920
            height: 1080
            overlay-perf-type: graph
        output1:
            sink: /opt/edgeai-test-data/output/output_video.mkv
            width: 1920
            height: 1080
        output2:
            sink: /opt/edgeai-test-data/output/output_image_%04d.jpg
            width: 1920
            height: 1080
        output3:
            sink: remote
            width: 1920
            height: 1080
            port: 8081
            host: 127.0.0.1
            encoding: jpeg
            overlay-perf-type: graph
    
    flows:
        flow0: [input0,model1,output0,[320,150,1280,720]]

    谢谢您、

    法比亚纳

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

    感谢您提供的示例。 我们的 OV2312将在2周内到达、然后我们将尝试脚本。

    此致

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

    嗨、我发现这里有一种异常格式

      身高:1300
      格式:rggi10
      帧速率:30

    "rggi10"是否是此应用程序中的有效格式?

    此致

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

    尊敬的 陈梦鸿

    很棒的收获! 在编写 ov2312的示例配置时、我使用了 imx219配置文件作为基础、似乎有一个拼写错误! IMX219 使用格式 rggb、所以当我 用 bggi10替换它时 、我错过了"r"。 正如我提到的、我没有测试这个配置文件、所以我很容易错过!  Slight smileμ s

    我对上面的回答进行了更改、以使用正确的格式。

    谢谢您、

    法比亚纳

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

    您好:

    您的显示屏分辨率是多少?如何将传感器连接到 EVM? 如果您连接了1920x1080显示屏、请尝试运行以下操作。

    gst-launch-1.0 v4l2src device=/dev/video-ov2312-rgb-cam0 io-mode=5 ! \
    video/x-bayer, width=1600, height=1300, format=bggi10 ! queue leaky=2 ! tiovxisp sensor-name=SENSOR_OV2312_UB953_LI \
    dcc-isp-file=/opt/imaging/ov2312/linear/dcc_viss.bin \
    sink_0::dcc-2a-file=/opt/imaging/ov2312/linear/dcc_2a.bin sink_0::device=/dev/v4l-ov2312-subdev0 format-msb=9 \
    sink_0::pool-size=8 src::pool-size=8 ! \
    video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 !  kmssink driver-name=tidss sync=false

    如果上面的命令无法按预期工作、您能否共享的输出 media-ctl -p

    谢谢您、

    法比亚纳

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

    您好、

    如何将传感器连接到 EVM? 此传感器已仅在使用 Fusion 1修订版 C 的 J722S 上进行了验证。 您是否也在 uEnv.txt 中启用了融合板的 dtbo? 对于此 EVM、 k3-j722s-evm-fpdlink-fusion.dtbo   频率计数器。  传感器连接到哪个端口? 这是否与正在使用的 ov2312重叠相匹配?

    谢谢您、

    法比亚纳

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

    您好、

    我们将 ov2312与 DS90UB960连接、并将相应的.dtbo 应用于 uEnv.txt。登录后会检测到并显示传感器、因此我认为连接正常。

    顺便说一下、我将.dtbo 编辑为正确的 i2c 总线(由 i2cdetect -y -r n (n 从0到9)检测到)、并在应用它之前重新编译它。

    我不知道我的解串器 是否为 Fusion 1修订版 C。 它上有任何标签吗?

    谢谢你。

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

    您好:

    您的融合板是否如下所示: https://www.ti.com/lit/ug/spruii1a/spruii1a.pdf?你可以分享板的图片(正面和背面),我可以看看它。

    谢谢您、

    法比亚纳

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

    您好、

    我们现在使用  连接到 TDA4VEN 的(Google 搜索)。

    这是否意味着我们需要为应用购买另一款新的融合板...

    是否有任何其他解决方案或配置来使我们的解串器正常工作?

    谢谢你。

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

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

    您好、

    我目前出差外出。 请预计我的回复会延迟~1-2天。

    谢谢您、

    法比亚纳

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

    您好、

    我懂了。 我将在你方便的时候等待你的答复。

    此致

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

    感谢您的理解。

    此致、

    法比亚纳

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

    您好、

    只是签入查看是否有任何更新。 如果您需要我提供的任何其他信息、请告诉我。

    再次感谢

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

    您好、

    感谢您的耐心。 您可以尝试运行以下命令吗?

    gst-launch-1.0 v4l2src device=/dev/video3 io-mode=5 ! \
    video/x-bayer, width=1600, height=1300, format=bggi10 ! queue leaky=2 ! tiovxisp sensor-name=SENSOR_OV2312_UB953_LI \
    dcc-isp-file=/opt/imaging/ov2312/linear/dcc_viss.bin \
    sink_0::dcc-2a-file=/opt/imaging/ov2312/linear/dcc_2a.bin sink_0::device=/dev/v4l-subdev4 format-msb=9 \
    sink_0::pool-size=8 src::pool-size=8 ! \
    video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 !  kmssink driver-name=tidss sync=false

    如果上述流水线未成功、您能否分享的输出  setup_cameras.sh 位于 opt/edgeai-gst-apps/scripts 目录中?

    此致、

    法比亚纳

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

    我非常感谢您的详细回答! 我正在等待这个传感器在我这边进行尝试、但与此同时、您是否尝试过运行 IR 流水线?

    gst-launch-1.0 v4l2src device=/dev/video-ov2312-ir-cam0 io-mode=5 ! \
    video/x-bayer, width=1600, height=1300, format=bggi10 ! queue leaky=2 ! tiovxisp sensor-name=SENSOR_OV2312_UB953_LI \
    dcc-isp-file=/opt/imaging/ov2312/linear/dcc_viss.bin \
    sink_0::dcc-2a-file=/opt/imaging/ov2312/linear/dcc_2a.bin format-msb=9 \
    sink_0::pool-size=8 src_0::pool-size=8 ! \
    video/x-raw, format=GRAY8, width=1600, height=1300 ! \
    videoconvert ! video/x-raw, format=NV12 ! kmssink driver-name=tidss sync=false

    谢谢您、

    法比亚纳

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

    您好、

    使用 RGB 流水线时、结果相同。 它悬挂在同一条线路上、外部显示器未显示输出屏幕。

    PP: Init ... !!!
        58.322513 s: MEM: Init ... !!!
        58.322578 s: MEM: Initialized DMA HEAP (fd=8) !!!
        58.322779 s: MEM: Init ... Done !!!
        58.322795 s: IPC: Init ... !!!
        58.389077 s: IPC: Init ... Done !!!
    REMOTE_SERVICE: Init ... !!!
    REMOTE_SERVICE: Init ... Done !!!
        58.397998 s: GTC Frequency = 200 MHz
    APP: Init ... Done !!!
        58.403429 s:  VX_ZONE_INFO: Globally Enabled VX_ZONE_ERROR
        58.403493 s:  VX_ZONE_INFO: Globally Enabled VX_ZONE_WARNING
        58.403505 s:  VX_ZONE_INFO: Globally Enabled VX_ZONE_INFO
        58.405538 s:  VX_ZONE_INFO: [tivxPlatformCreateTargetId:134] Added target MPU-0 
        58.405760 s:  VX_ZONE_INFO: [tivxPlatformCreateTargetId:134] Added target MPU-1 
        58.405886 s:  VX_ZONE_INFO: [tivxPlatformCreateTargetId:134] Added target MPU-2 
        58.406000 s:  VX_ZONE_INFO: [tivxPlatformCreateTargetId:134] Added target MPU-3 
        58.406019 s:  VX_ZONE_INFO: [tivxInitLocal:126] Initialization Done !!!
        58.406032 s:  VX_ZONE_INFO: Globally Disabled VX_ZONE_INFO
    Setting pipeline to PAUSED ...
    Pipeline is live and does not need PREROLL ...
    Pipeline is PREROLLED ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock
    

    我终止了这个过程、再次显示相同的错误。

    [  113.072215] ds90ub960 5-003d: rx0 CSI error: 0xc
    [  113.076881] ds90ub960 5-003d: rx0 CSI checksum error
    [  113.081872] ds90ub960 5-003d: rx0 CSI length error
    

    我认为问题可能来自我们的解串器 ds90ub960-Q1-EVM。 是否有任何方法可以验证 DES 系列器之间的通信? 我记得 ALP 中有一个用于 ub954-ub953的预定义脚本。 我将在 ub960上试用(可能需要修改一些寄存器)。

    谢谢你。

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

    您好、

    好的、我尝试了 BIST 脚本、看起来没有问题。 我还尝试了模式生成、但仍然无法使用 gst-launch1.0 v4l2-ctl 获取流。

    我启用了这两个器件、并在 ALP 的"Pattern Generation"选项卡中将数据类型设置为 RAW10,1600x1300。

    顺便说一下、在媒体流水线中、格式为"SBGGI10_1x10"、在 GST 中为"bggi10"。 它们是不常见的格式,我只发现了一些关于它们的信息。

    注意

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

    尊敬的 陈梦鸿

    我一直在与我们的成像团队讨论、注意到尽管 您在启动时看到传感器检测消息、但未探测到 ds90ub960。

    ds90ub960:5-0036探测器失败、错误为-121

    我们的其他融合板以前未从外部正确供电时、就会出现这个问题。 您能否验证 ds90ub960是否由外部供电、并确认在为 j722供电之前为 ds90ub90 EVM 通电?  

    谢谢您、

    法比亚纳

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

    您好、

    我们使用12V 外部电源、并在对 j722供电之前通电。 我认为启动程序是好的。

    我认为此错误消息来自.dtso、try 用于在 i2c 地址0x36和0x3D 上探测 ds90ub960、但我们的 ds90ub960-Q1-EVM 只有一个 ds90ub960、而不是双核 ds90ub960 (与融合板不同)、我们仅使用 i2cdetect 在地址0x3D 上检测器件。

    Nethelees、解串器和传感器都通过"setup_camers.sh"和 media-ctl、v4l2-ctl 检测。

    谢谢你

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

    您好:

    谢谢您的澄清。 我怀疑这可能是电源问题。 传感器已被清楚地检测到、但 可能没有足够的功率来成功通过流式传输。 该器件上测试和支持的唯一融合板是 Fusion 1 Rev C、Fusion 2和 Arducam V3Link。  您能否验证 ds90ub960是否正确地从外部供电?

    谢谢您、

    法比亚纳

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

    您好、

    好的、我将尝试另一个电源。 我们之前使用了12V/1A。

    您能否提供上述"Fusion 1 Rev C、Fusion 2和 Arducam V3Link "模块的实际器件型号以及它们之间的电源线(来自外部电源或 TDA4VEN/J722S 上的 J22连接器)? 我们将检查我们的供应商是否具备 或可以订购这些产品。

    谢谢你

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

    您好:

    您能否提供上述"Fusion 1 Rev C、Fusion 2和 Arducam V3Link "模块的实际器件型号以及它们之间的电源线(来自 TDA4VEN/J722S 上的外部电源或 J22连接器)?

    此常见问题解答 https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1452909/faq-am67a-enabling-csi2-sensors-via-fusion-board-on-am6x 中概述了这些信息

    t OV2312的建议 Fusion 1修订版 C 对 Fusion 2的支持目前 仅限于其他操作系统上的某些传感器、但我们正在增加对该设备的 Linux 支持。 有关更多详细信息、请参见上面链接的常见问题解答中的"映像发行说明"。    为了大家的方便、我也在这里进行了链接。  

    如果您有任何其他问题、敬请告知!

    谢谢您、

    法比亚纳

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

    您好、

    感谢您的信息,我们将联系我们的供应商。

    "我正在等待得到这个传感器来试一下。"

    您这边的传感器是否工作正常?

    我尝试用12V/1.5A 旧电源替换旧的12V/1A 电源、但仍然出现错误。

    我还尝试使用不同的 FAKRA 端口(例如、更新后的 uEnv.txt)、错误仍然存在。

    OV2312 Camera 0 detected
        device IR = /dev/video-ov2312-ir-cam0
        device RGB = /dev/video-ov2312-rgb-cam0
        name = ov2312
        format = [fmt:SBGGI10_1X10/1600x1300 field: none]
        subdev_id = /dev/v4l-ov2312-subdev0
        isp_required = yes
        ldc_required = no
    root@j722s-evm:/opt/edgeai-gst-apps# apps_python/app_edgeai.py configs/ov2312.yaml
    libtidl_onnxrt_EP loaded 0x1ac4b4f0
    Final number of subgraphs created are : 1, - Offloaded Nodes - 123, Total Nodes - 123
    APP: Init ... !!!
       127.286189 s: MEM: Init ... !!!
       127.286283 s: MEM: Initialized DMA HEAP (fd=5) !!!
       127.286530 s: MEM: Init ... Done !!!
       127.286564 s: IPC: Init ... !!!
       127.353170 s: IPC: Init ... Done !!!
    REMOTE_SERVICE: Init ... !!!
    REMOTE_SERVICE: Init ... Done !!!
       127.364879 s: GTC Frequency = 200 MHz
    APP: Init ... Done !!!
       127.369661 s:  VX_ZONE_INFO: Globally Enabled VX_ZONE_ERROR
       127.369721 s:  VX_ZONE_INFO: Globally Enabled VX_ZONE_WARNING
       127.369734 s:  VX_ZONE_INFO: Globally Enabled VX_ZONE_INFO
       127.372047 s:  VX_ZONE_INFO: [tivxPlatformCreateTargetId:134] Added target MPU-0
       127.372718 s:  VX_ZONE_INFO: [tivxPlatformCreateTargetId:134] Added target MPU-1
       127.372867 s:  VX_ZONE_INFO: [tivxPlatformCreateTargetId:134] Added target MPU-2
       127.372981 s:  VX_ZONE_INFO: [tivxPlatformCreateTargetId:134] Added target MPU-3
       127.372997 s:  VX_ZONE_INFO: [tivxInitLocal:126] Initialization Done !!!
       127.373022 s:  VX_ZONE_INFO: Globally Disabled VX_ZONE_INFO
    ==========[INPUT PIPELINE(S)]==========
    
    [PIPE-0]
    
    v4l2src device=/dev/video-ov2312-rgb-cam0 io-mode=5 pixel-aspect-ratio=None ! queue leaky=2 ! capsfilter caps="video/x-bayer, width=(int)1600, height=(int)1300, format=(string)bggi10;" ! tiovxisp dcc-isp-file=/opt/imaging/ov2312/linear/dcc_viss.bin sensor-name=SENSOR_OV2312_UB953_LI format-msb=9 ! capsfilter caps="video/x-raw, format=(string)NV12;" ! tiovxmultiscaler name=split_01
    split_01. ! queue ! capsfilter caps="video/x-raw, width=(int)1280, height=(int)720;" ! tiovxdlcolorconvert out-pool-size=4 ! capsfilter caps="video/x-raw, format=(string)RGB;" ! appsink max-buffers=2 drop=True name=sen_0
    split_01. ! queue ! capsfilter caps="video/x-raw, width=(int)512, height=(int)512;" ! tiovxdlpreproc out-pool-size=4 data-type=3 ! capsfilter caps="application/x-tensor-tiovx;" ! appsink max-buffers=2 drop=True name=pre_0
    
    
    ==========[OUTPUT PIPELINE]==========
    
    appsrc do-timestamp=True format=3 block=True name=post_0 ! tiovxdlcolorconvert ! capsfilter caps="video/x-raw, format=(string)NV12, width=(int)1280, height=(int)720;" ! queue ! mosaic_0.sink_0
    
    tiovxmosaic target=1 background=/tmp/background_0 name=mosaic_0 src::pool-size=4
    sink_0::startx="<320>" sink_0::starty="<150>" sink_0::widths="<1280>" sink_0::heights="<720>"
    ! capsfilter caps="video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080;" ! queue ! tiperfoverlay title=OV2312 Camera ! kmssink sync=False max-lateness=5000000 qos=True processing-deadline=15000000 driver-name=tidss connector-id=40 plane-id=31 force-modesetting=True fd=42
    
     +--------------------------------------------------------------------------+
     | OV2312 Camera                                                            |
     +--------------------------------------------------------------------------+
     +--------------------------------------------------------------------------+
     | Input Src: /dev/video-ov2312-rgb-cam0                                    |
     | Model Name: ONR-SS-8610-deeplabv3lite-mobv2-ade20k32-512x512             |
     | Model Type: segmentation                                                 |
     +--------------------------------------------------------------------------+
     +--------------------------------------------------------------------------+
    
     +--------------------------------------------------------------------------+
     | OV2312 Camera                                                            |
     +--------------------------------------------------------------------------+
     +--------------------------------------------------------------------------+
     | Input Src: /dev/video-ov2312-rgb-cam0                                    |
     | Model Name: ONR-SS-8610-deeplabv3lite-mobv2-ade20k32-512x512             |
     | Model Type: segmentation                                                 |
     +--------------------------------------------------------------------------+
     +--------------------------------------------------------------------------+
    
     +--------------------------------------------------------------------------+
     | OV2312 Camera                                                            |
     +--------------------------------------------------------------------------+
     +--------------------------------------------------------------------------+
     | Input Src: /dev/video-ov2312-rgb-cam0                                    |
     | Model Name: ONR-SS-8610-deeplabv3lite-mobv2-ade20k32-512x512             |
     | Model Type: segmentation                                                 |
     +--------------------------------------------------------------------------+
     +--------------------------------------------------------------------------+
    
     +--------------------------------------------------------------------------+
     | OV2312 Camera                                                            |
     +--------------------------------------------------------------------------+
     +--------------------------------------------------------------------------+
     | Input Src: /dev/video-ov2312-rgb-cam0                                    |
     | Model Name: ONR-SS-8610-deeplabv3lite-mobv2-ade20k32-512x512             |
     | Model Type: segmentation                                                 |
     +--------------------------------------------------------------------------+
     +--------------------------------------------------------------------------+
    
     +--------------------------------------------------------------------------+
     | OV2312 Camera                                                            |
     +--------------------------------------------------------------------------+
     +--------------------------------------------------------------------------+
     | Input Src: /dev/video-ov2312-rgb-cam0                                    |
     | Model Name: ONR-SS-8610-deeplabv3lite-mobv2-ade20k32-512x512             |
     | Model Type: segmentation                                                 |
     +--------------------------------------------------------------------------+
     +--------------------------------------------------------------------------+[ERROR] Error pulling tensor from GST Pipeline
    
     +--------------------------------------------------------------------------+
     | OV2312 Camera                                                            |
     +--------------------------------------------------------------------------+
     +--------------------------------------------------------------------------+
     | Input Src: /dev/video-ov2312-rgb-cam0                                    |
     | Model Name: ONR-SS-8610-deeplabv3lite-mobv2-ade20k32-512x512             |
     | Model Type: segmentation                                                 |
     +--------------------------------------------------------------------------+
     +--------------------------------------------------------------------------+[  123.700011] ds90ub960 5-003d: rx1 CSI error: 0xc
    [  123.704659] ds90ub960 5-003d: rx1 CSI checksum error
    [  123.709632] ds90ub960 5-003d: rx1 CSI length error
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    APP: Deinit ... !!!
    REMOTE_SERVICE: Deinit ... !!!
    REMOTE_SERVICE: Deinit ... Done !!!
       134.432140 s: IPC: Deinit ... !!!
       134.432929 s: IPC: DeInit ... Done !!!
       134.432993 s: MEM: Deinit ... !!!
       134.433013 s: DDR_SHARED_MEM: Alloc's: 32 alloc's of 86080496 bytes
       134.433027 s: DDR_SHARED_MEM: Free's : 32 free's  of 86080496 bytes
       134.433038 s: DDR_SHARED_MEM: Open's : 0 allocs  of 0 bytes
       134.433055 s: MEM: Deinit ... Done !!!
    APP: Deinit ... Done !!!
    root@j722s-evm:/opt/edgeai-gst-apps#

    CSI 错误是来自解串器还是串行器? 我是否可以使用图形发生器绕过摄像头捕捉并单独测试各个组件?

    我尝试在 ALP 中启用它、但显示器没有按预期显示测试屏幕上的条形图(CSI 错误消失、但"[error] Error prapping tensor from GST Pipeline (从 GST 流水线拉取张量错误)"仍然存在)。

    此致

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

    调查这一问题的专家已经离职、因此在作出答复方面出现了延误。 感谢您的耐心。

    谢谢。

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

    您好:

    是的、用于 OV2312的 GStreamer 流水线(仅限 RBG仅限 IR) 不会 同时运行 RGB + IR)时、可在具有 Fusion 1修订版 C 的 J722S 上运行

    以下 CSI 校验和错误并不表示传感器配置有任何问题或流式传输错误。 这些错误消息与 CSI-SDK ECC 验证/校正和校验和验证相关、这是 Rx 的一项新功能。 该功能计划在下一个11.0 SDK 版本中完全实现、因此您可以在该版本之前看到此类型的消息。

    [  113.072215] ds90ub960 5-003d: rx0 CSI error: 0xc
    [  113.076881] ds90ub960 5-003d: rx0 CSI checksum error
    [  113.081872] ds90ub960 5-003d: rx0 CSI length error

    我建议在 E2E 接口论坛上提出新问题、询问任何 ALP 软件或 DS90UB90-Q1具体问题。 您可以链接到此线程以提供一些上下文。 任何特定于处理器的问题都应保留在处理器论坛上。

    谢谢您、

    法比亚纳

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

    您好、

    明白。 我会查看接口论坛。

    顺便说一句,这个网站似乎损坏时加载 codeblock. 当我从我所有的 PC/平板电脑/手机浏览器打开它时,它会冻结,我需要打开 F12 devtools 来执行一些更改,以使其正常工作。 原始页面将停留在行"return A? A.REPLACE (...)"。

    您是否知道我可以在哪里报告此问题? 这是一个有点恼人,当我想检查这个线程出...

    谢谢你

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

    您好:

    我已经在内部报告了此页面的问题。 同时、我建议使用 Firefox 浏览器。

    谢谢您、

    法比亚纳

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

    您好、

    感谢您的报告和信息!

    我已经  在接口论坛上打开了一个问题。 我们是否可以获得支持所需的 i2c 设置日志? 我认为 i2c 操作都是由内核驱动程序完成的...

    此致

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

    您好:

    是的、您可以共享使用的 ds90ub960驱动程序和引导日志。

    https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/drivers/media/i2c/ds90ub960.c?h=ti-linux-6.6.y

    谢谢您、

    法比亚纳

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

    您好、

    我只知道我们可以通过`dmesg`获取内核启动日志。 不过,我认为接口论坛支持的实际日志是 i2c 配置序列,比如:

    {0x4C, 0x01, 0x10}, /* 0x01 */
    {0x32, 0x01, 0x10}, /*Enable TX port 0*/
    {0x33, 0x02, 0x10}, /*Enable Continuous clock mode and CSI output*/
    {0xBC, 0x00, 0x10}, /*Unknown*/
    {0x5D, 0x30, 0x10}, /*Serializer I2C Address*/
    {0x65, (PORT_0_SER_ADDR << 1U), 0x10},
    {0x5E, 0x42, 0x10}, /*Sensor I2C Address*/
    {0x66, (PORT_0_SENSOR_ADDR << 1U), 0x10},

    也许我需要转储 ub960_READ/ub960_WRITE 中的读/写操作并重新编译内核?

    谢谢你

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

    您好:

    是的、这是获取此信息的有效方法。

    谢谢您、

    法比亚纳

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

    您好、

    我在驱动程序中添加了一些调试打印和启用调试宏、发现线长与摄像机的分辨率1600 * 1300不一致。

    https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1508776/ds90ub960-q1evm-cannot-receive-data-from-deserializer/5822567#5822567

    正确吗?

    谢谢你