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.

[参考译文] AM625:为 IMX219启用 CSI2 (Raspberry PI 2.1摄像头)

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1182439/am625-enable-csi2-for-imx219-raspberry-pi-2-1-camera

器件型号:AM625

您好!

我们正在尝试使用 AM625设计在 CSI2上启用 IMX219。  我要连接我们为其制作的器件树覆层(如下所示)。

IMX219驱动程序加载、我们能够运行示例流水线、但我们不会从 CSI2引擎获取任何帧。  我已检查摄像机是否正在使用示波器输出数据。  数据通道和时钟通道似乎都处于活动状态(我只能真正看到消隐周期、我的示波器速度不够快、无法看到数据部分的噪声、但它看起来就像在那里)。  我怀疑器件树设置中没有正确的内容、因为在 gstreamer 流水线处于活动状态时、摄像头运行期间未使用 CDNs_dphy 模块。  我想知道 CSI2桥的 DHPY 部分是否可能未运行(因此没有任何内容经过)。  我在 dmesg 中没有看到关于 imx219的任何错误(它可以进行探查并在 i2cdetect 中报告、当未被识别到内核时、没有与器件通信的 I2C 错误)。

有什么关于如何调试的建议?



root@am62xx-EVM:~# gst-launch-1.0 v4l2src device="/dev/video0! VIDEO/x-RAW,宽度=640,高度=480! 陆上接收机和
[1] 1248
root@am62xx-EVM:~#[ 36.804536]桥接器:默认情况下不再提供通过 arp/IP/ip6tables 进行筛选的功能。 如果需要,请更新脚本以加载 br_netfilter。
[36.825108]已注册桥式防火墙
正在将管道设置为暂停...
管道处于活动状态,不需要 PREROLL...
正在将管道设置为正在播放...
新时钟:GstSystemClock
[38.447239]进程'dder/tmp/qemu-check654253808/check'从可执行堆栈开始
root@am62xx-EVM:~#!gst
gst-launch-1.0 v4l2src device="/dev/video0! VIDEO/x-RAW,宽度=640,高度=480! 陆上接收机和
[1] 1248
root@am62xx-EVM:~#[ 36.804536]桥接器:默认情况下不再提供通过 arp/IP/ip6tables 进行筛选的功能。 如果需要,请更新脚本以加载 br_netfilter。
[36.825108]已注册桥式防火墙
正在将管道设置为暂停...
管道处于活动状态,不需要 PREROLL...
正在将管道设置为正在播放...
新时钟:GstSystemClock

root@am62xx-EVM:~# lsmod | grep 'CS\|CDN\|dhpy'
cdns_csi2rx 24576 1.
j721e_csi2rx 24576 1.
videobf2_dma_contig 24576 8 j721e_csi2rx
videobf2_v4l2 32768 1 j721e_csi2rx
cdns_dphy 16384 0
v4l2_fwnode 24576 2 imx219、cdns_csi2rx
videobf2_common 57344 2 j721e_csi2rx、videobf2_v4l2

e2e.ti.com/.../k3_2D00_am62x_2D00_csi_2D00_219.dts.txt

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

    您好、Michael、

    IMX219是一款没有内置 ISP 的原始传感器、AM62x 也没有 ISP、因此在 AM62x 上无法进行流处理。  

    此致、

    _________

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

    感谢 Jianzhon、

    我们将订购支持 OV5640等经过处理的颜色输出(YUV)的摄像头进行测试。

    您是否知道是否可以将原始数据从这样的传感器捕获到存储器(例如、不要尝试运行视频/将其路由到显示)、以支持在 A53复杂系统中拍摄图片并对其进行后处理?  还是不支持该用例?

    此致、

    Mike

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

    尊敬的 Mike:

    是的、可以捕获原始图像并存储到存储器中。 下面是使用 IMX219的测试日志、供您参考:

    root@am62xx-evm:~# v4l2-ctl --list-formats
    ioctl: VIDIOC_ENUM_FMT
            Type: Video Capture
    
            [0]: 'YUYV' (YUYV 4:2:2)
            [1]: 'UYVY' (UYVY 4:2:2)
            [2]: 'YVYU' (YVYU 4:2:2)
            [3]: 'VYUY' (VYUY 4:2:2)
            [4]: 'BA81' (8-bit Bayer BGBG/GRGR)
            [5]: 'GBRG' (8-bit Bayer GBGB/RGRG)
            [6]: 'GRBG' (8-bit Bayer GRGR/BGBG)
            [7]: 'RGGB' (8-bit Bayer RGRG/GBGB)
            [8]: 'BG10' (10-bit Bayer BGBG/GRGR)
            [9]: 'GB10' (10-bit Bayer GBGB/RGRG)
            [10]: 'BA10' (10-bit Bayer GRGR/BGBG)
            [11]: 'RG10' (10-bit Bayer RGRG/GBGB)
            [12]: 'BG12' (12-bit Bayer BGBG/GRGR)
            [13]: 'GB12' (12-bit Bayer GBGB/RGRG)
            [14]: 'BA12' (12-bit Bayer GRGR/BGBG)
            [15]: 'RG12' (12-bit Bayer RGRG/GBGB)
    
    root@am62xx-evm:~# media-ctl -d /dev/media0 --set-v4l2 "'imx219 4-0010':0 [fmt:SRGGB8/3280x2464 field:none]"
    root@am62xx-evm:~# media-ctl -d /dev/media0 -p
    ...
    - entity 13: imx219 4-0010 (1 pad, 1 link, 0 route)
                 type V4L2 subdev subtype Sensor flags 0
                 device node name /dev/v4l-subdev2
            pad0: Source
                    [stream:0 fmt:SRGGB8_1X8/3280x2464 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range
                     crop.bounds:(8,8)/3280x2464
                     crop:(8,8)/3280x2464]
                    -> "cdns_csi2rx.30101000.csi-bridge":0 [ENABLED,IMMUTABLE]
    ...
    
    root@am62xx-evm:~# v4l2-ctl --device /dev/video0 --set-fmt-video=width=3280,height=2464,pixelformat=RGGB --stream-mmap --stream-to=imx219_10frm.raw --stream-count=10

    此致、

    _________

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

    您好、Jianzhong、

    我已尝试使用 media-ctl 命令按您的行强制使用 SRGGB8、并得到以下错误:

    root@am62xx-EVM:~ media-ctl -d /dev/media0 --set-v4l2 "'imx219 4-0010':0 [fmt:SRGGB8/3280x2464字段:none]"
    无法设置格式:无效参数(22)

    -Mike

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

    尊敬的 Mike:

    很抱歉耽误你的回答。 上周我在度假。  

    您现在是否能够配置 IMX219格式?

    谢谢、

    _________

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

    您好、Jianzhong、

    自从我上一篇文章以来、我们购买了使用 OV5640 (与 EVK 相同)的 Digilent Pvcam、而 TI 提供的示例流水线可实现640x480分辨率。  它不适用于任何其他分辨率、但我认为它也不适用于 TI EVM 板。  对于该媒体 I2C 控制器、内核中似乎有相当多的活动。  我们的重点主要是验证原型硬件是否稳定。

    今天或明天、我将回顾 IMX219并发布后续行动。  我们已经调整了 I2C 总线上的几个上拉电阻器、这些电阻器可能是导致该问题的根本原因。  

    感谢您的帮助!

    Mike

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

    尊敬的 Mike:

    我们在将 OV5640与 TI 的 AM62x SK EVM 配合使用时、验证了具有更高分辨率的流媒体。 请参阅 Linux Academy 中有关使用摄像头的章节。  

    此致、

    _________

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

    您好、Jianzhong、

    IMX219原始捕捉现在可以工作(在您的示例中、我需要将 I2C 总线从4更改为1)。  我可以使用您提供的命令拍摄照片并对其进行后期处理、将格式设置为:

    media/ctl -d /dev/media0 --set-v4l2 "'imx219 1-0010':0 [fmt:SRGGB8/3280x2464字段:none]"

    我看到您在 OV5640上的笔记、但我们使用的 SDK/内核版本不同、其他分辨率无法正常工作。  某些 v4l2查询的结果不匹配、例如、我看到:

    root@mitysom-am62x:~ v4l2-ctl -d /dev/v4l-subdev2 --list-subdev-MBUS-codes pad=0
    ioctl:VIDIOC_SUBDEV_ENUM_MBUS_CODE (PAD=0、STREAM =0)
    0x4001:media_bus_FMT_JPEG_1X8
    0x200f:media_BUS_FMT_UYVY8_1x16
    0x2011:media_fbus_FMT_YUYV8_1x16
    0x1017:media_fbus_FMT_RGB565_1x16
    0x1013:media_BUST_FMT_BGR888_1X24
    0x3001:MEASE_BUS_FMT_SBGGR8_1X8
    0x3013:media_fbus_FMT_SGBRG8_1X8
    0x3002:media_fbus_FMT_SGRBG8_1X8
    0x3014:media_BUS_FMT_SRGGB8_1X8

    但在您的链接上、我们应该会看到以下选项:

    0x2006:media_fbus_FMT_UYVY8_2X8 

    我怀疑当我们对齐 SDK 时、这会解决问题。

    我想我们可以解决这个问题。

    感谢您的帮助!
    Mike

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

    尊敬的 Mike:

    感谢您的更新。 很高兴您的 IMX219原始捕捉正在工作。 我将关闭该线程。

    此致、

    _________