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.

[参考译文] TDA3XEVM:相同的传感器(OV10640)、不同的摄像头模块

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/660456/tda3xevm-same-sensor-ov10640-different-camera-module

器件型号:TDA3XEVM

您好!

我知道 OV10640传感器可与 TDA3x 配合使用、因为我有一个 D3摄像头(https://d3engineering.com/store/product/designcore-rcm-ov10640-rugged-camera-module/)。

现在、我是否可以将任何其他摄像头与 OV10640传感器(带 FAKRA 连接器)配合使用? 如果不是、是否需要简单的修改(如仅设置地址)?

任何输入都非常感谢、

谢谢、

摩根

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

    我已将您的问题转交给 ISS 专家。

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

    您计划使用哪种串行器?
    请注意、它不仅仅是传感器/串行器。 我们还需要确保它在信令/电平上匹配。 请咨询您当地的 TI FAE、以在本例中为您提供帮助。

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

    它是 FDP-Link III 串行器/解串器、但我不知道基准 另一个摄像头还具有 FAKRA 连接器。
    在其他摄像机文档中、我可以阅读以下内容以将其置于"活动"状态(流视频):
    •发送0x60 (I2C 器件地址)
    •发送0x3012 (寄存器地址)
    •发送0x01 (将该寄存器中的 LSB 设置为1将开始从摄像机流式传输)

    然后、我们提到要进行进一步配置、我应该检查 OV10640数据表和 SCCB 规格。 也许、我可以通过仅修改"开始"传感器部分(之前指定了地址和值)来使其正常工作、不能吗? 代码可能位于(vision_sdk/ti_component-drivers/pdk_01_08_00_16/packages/ti/drv/vps/src/devices/ov10640)、但我不确定要修改什么...

    谢谢、

    此致、

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

    您好、Morgan、

    可以、您可以在开始函数中修改 i2c 地址。  

    但请注意、解串器中存在传感器地址别名、因此您可能只需保持别名地址不变并在解串器配置中更改传感器地址。

    Rgds、

    Brijesh

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

    您好、Brijesh、

    感谢您的输入。 但是、我不确定"更改解串器配置中的传感器地址"是什么意思。 请向我提供有关要修改的变量位置的更多信息。 我不确定、但您可以确认、我应该更改 ti_component-drivers/pdk_01_08_00_16/packages/ti/drv/vPS/examples/bsputils_ub960-h 中的 UB960_slave_ADDR 值

    如果有用、我将使用以下设置:Capture Source (捕获源):Sensor OV10640 IMI 1280x720 @ 30fps - ISS CSI2、Bayer (仅限 TDA3x EVM)。 我的用例取自 ISS 用例:立体声捕捉+ ISS ISP +自动校准

    考虑到之前在寄存器地址0x3012处设置0x01的声明、传感器地址修改是否足以使其正常工作?

    如果您有任何 I2C 通信、我很乐意接受 TDA 中的任何 I2C 通信文档、以便更好地了解我应该做什么。

    谢谢、

    摩根

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

    您使用的是哪种解串器?
    您还在使用哪个 VSDK 用例?

    UB960和 UB914设置位于文件 ti_component-drivers\pdk_01_08_01_00\packages/ti\drv\v\vps\examples\utility\src\bsputils_ub960/c 中

    在此文件中可以看到、ub960/914配置阵列用于配置传感器地址及其别名。 例如、寄存器0x5D 表示传感器实际地址、寄存器0x65表示传感器别名地址。
    如果您更改了传感器实际 i2c 地址、则需要更改寄存器0x5D 中的值。
    同样、也有一些寄存器可用于指定串行器的 i2c 地址及其别名。 请浏览此文件。

    为基于 OV10640的新摄像头板正确更改此文件后、软件中不需要进行其他更改。

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

    再次感谢您的投入、非常感谢您的参与。

    用例是 ISS 用例:立体声捕捉+ ISS ISP +自动校准。

    在启动期间、TDA 输出(串行链路)为"检测到的964 v3解串器"。 我想我正在使用的是这个解串器...

    然后、我将尝试将寄存器0x5D 的值修改为0x60。 我会告诉您这是否有效。

    谢谢、

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

    Brijesh、

    嗯、我很难使它正常工作... 我不明白为什么还有别名... 我尝试了以下操作:

    • 将 gUb960Cfg_IMI 中寄存器0x5D 的值替换为0x60... 替换了四行"{0x5D、0x60、0x0}"。 这将输出以下内容(运行用例时)

    Sc/BSP_deviceI2c.c @第580行:
    [IPU1-0]     8.746355 s: I2C0:DEV 0x74:WR 0x03 = 0xc5…… 错误!!!
    [IPU1-0]     8.7464s:src="BSP_deviceI2c.c @第602行:
    [IPU1-0]     8.746538 s: I2C0:错误超时0ms!!!
    [IPU1-0]     8.746599 s:src/bsputils_ub999.c @第1133行:
    [IPU1-0]     8.746690 s:无法配置 UB913 Ser!!!
    [IPU1-0]     8.747239 s:src/bsp_deviceI2c.c @第667行:
    [IPU1-0]     8.747331 s: I2C0:DEV 0x40:错误!!!
    [IPU1-0]     8.747422 s:src/bsp_deviceI2c.c @第689行:
    [IPU1-0]     8.747514 s: I2C0:错误超时0ms!!!
    [IPU1-0]     8.747544 s: 断言@行:324在/usr/local/VISION_SDK_03_01_00_00/vision_sdk/apps/src/rtos/iss/src/common/app_util_iss.c 中:0 =状态:失败!!!

    • 将文件(VISION_SDK/APPS/src/RTOS/iss/src/sensor/sensor_sensor_tda3xx.c)中的前四个值(0x60)和传感器别名地址从"{0x40、0x42、0x44、0x46}"替换为"{0x60、0x62、 0x64、0x66}"(0x60表示传感器的 i2c 地址... 我为其他值复制了类似的模式) 、因为之前的错误涉及0x40、我可以将文件中的 i2cAddress 跟踪为这些值。 当我运行用例时、它不会崩溃(嗯... 显示一些相同的错误、但没有断言)、运行主循环(询问一些选项)、我能够正确退出、但 HDMI 输出上没有显示...

    当我的新相机文档中提供的所有信息为:

    •发送0x60 (I2C 器件地址)
    •发送0x3012 (寄存器地址)
    •发送0x01 (将该寄存器中的 LSB 设置为1将开始从摄像机流式传输)

    因此、我不知道摄像头的串行器参数。 至于 TDA 串行器、我想除了给他新摄像头的 i2c 地址之外、我不应该更改任何内容。

    我希望您对我的问题有一些线索...

    感谢您的支持、

    摩根

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我仅修改了 i2c 地址、但仍然崩溃。 我将 gUb960Cfg_IMI 中寄存器0x5D 的值替换为0x60... 为以下"{0x5D、0x60、0x0}"替换了四行
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Morgan、

    从日志中可以看到、即使是串行器也无法进行通信。 它看起来甚至没有锁定到输入串行器。 您能否锁定 ub960解串器中的位并查看其是否已锁定。

    此致、
    Brijesh
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否看到崩溃或断言?

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

    在进行不同修改后、我具有以下输出:

    • 使用新摄像头进行测试、无需修改:

    [IPU1-0]  12.161288 s: 检测到964 v3解串器             

    [IPU1-0]  12.172238 s:src/bsp_deviceI2c.c @第580行:            

    [IPU1-0]  12.172360 s: I2C0:DEV 0x74:WR 0x03 = 0xc5…… 错误!!!     

    [IPU1-0]  12.172451 s:src/bsp_deviceI2c.c @第602行:            

    [IPU1-0]  12.172512 s: I2C0:错误超时1ms!!!              

    [IPU1-0]  12.172604 s:src="/bsputils_ub960/c @第1133行:           

    [IPU1-0]  12.172665 s:无法配置 UB913 Ser!!!           

    [IPU1-0]  12.173244 s:src/bsp_deviceI2c.c @第667行:            

    [IPU1-0]  12.173305 s: I2C0:DEV 0x40:错误!!!               

    [IPU1-0]  12.173397 s:src="BSP_deviceI2c.c @第689行:            

    [IPU1-0]  12.173488 s: I2C0:错误超时1ms!!!              

    [IPU1-0]  12.173549 s: Assertion @ Line:326 in /usr/local/VISION_SDK_03_01!

    =>观察:崩溃

    • 使用工作摄像头进行测试:

    [IPU1-0]  12.657140: 检测到964 v3解串器

    [IPU1-0]  13.291801 s: ####传感器配置时间= 964msec ####

    =>观察:正确运行

    • 在 bsputils_ub960/c (变量(BspUtils_Ub960I2cParams) gUb960Cfg_IMI 中使用工作摄像头和 i2c 地址修改进行测试,修改行:从{0x5D、0xBA、0x00}到{0x5D、0x60、0x00}):

    [IPU1-0]  28.473372 s: 检测到964 v3解串器

    [IPU1-0]  28.484414 s:src/bsp_deviceI2c.c @第580行:

    [IPU1-0]  28.484536 s: I2C0:DEV 0x74:WR 0x03 = 0xc5…… 错误!!!

    [IPU1-0]  28.484627 s:src/bsp_deviceI2c.c @第602行:

    [IPU1-0]  28.484688 s: I2C0:错误超时0ms!!!

    [IPU1-0]  28.484780 s:src="/bsputils_ub960/c @第1133行:

    [IPU1-0]  28.484841 s:无法配置 UB913 Ser!!!

    [IPU1-0]  29.466144 s:src="BSP_deviceI2c.c @第580行:

    [IPU1-0]  29.466266 s: I2C0:DEV 0x74:WR 0x0d = 0x9d... 错误!!!

    [IPU1-0]  29.466357 s:src="BSP_deviceI2c.c @第602行:

    [IPU1-0]  29.466418 s: I2C0:错误超时1ms!!!

    [IPU1-0]  29.466510 s:src="/bsputils_ub960/c @第1869行:

    [IPU1-0]  29.466571 s:无法配置 UB913 Ser!!!

    [IPU1-0]  29.466632 s: ####传感器配置时间= 1323msec ####

    =>观察:正确运行

    • 在 bsputils_ub960-c (变量(BspUtils_Ub960I2cParams) gUb960Cfg_IMI 中使用新的摄像头和 i2c 地址修改进行测试,修改行:从{0x5D、0xBA、0x00}到{0x5D、0x60、0x00}):

    [IPU1-0]  21.668974 s: 检测到964 v3解串器

    [IPU1-0]  21.679954 s:src/bsp_deviceI2c.c @第580行:

    [IPU1-0]  21.680046 s: I2C0:DEV 0x74:WR 0x03 = 0xc5…… 错误!!!

    [IPU1-0]  21.680168 s:src/bsp_deviceI2c.c @第602行:

    [IPU1-0]  21.680229 s: I2C0:错误超时1ms!!!

    [IPU1-0]  21.680320 s:src="/bsputils_ub960/c @第1133行:

    [IPU1-0]  21.680381 s:无法配置 UB913 Ser!!!

    [IPU1-0]  21.680961 s:src="BSP_deviceI2c.c @第667行:

    [IPU1-0]  21.681022 s: I2C0:DEV 0x40:错误!!!

    [IPU1-0]  21.681113 s:src/bsp_deviceI2c.c @第689行:

    [IPU1-0]  21.681174 s: I2C0:错误超时1ms!!!

    [IPU1-0]  21.681235 s: 断言@行:326在/usr/local/VISION_SDK_03_01_00_00/vision_sdk/apps/src/rtos/iss/src/common/app_util_iss.c 中:0 =状态:失败!!!

    =>观察:崩溃

    • 在 bsputils_ub960.c (变量(BspUtils_UbI2cParams) gUB960Cfg_IMI 中使用新的摄像头和 i2c 地址修改进行测试,修改行:从{0x5D、0xBA、0x00}到{0x5D、0x60、0x00})+ Sensorsensor_imensor_imensor_immor 中的传感器别名(修改行:0x60_intsensor_intsensor_intsensor_0x40、0x40、0x640、0x40、0x360、0x40、0x40、0x360、0x360、0x40、0x360、0x40、0x40、0x360、0x40、0x360、0x360、0x40、0x360、 0x64、0x66}):

    [IPU1-0]   8.684285 s: 检测到964 v3解串器

    [IPU1-0]   8.695296 s:src/bsp_deviceI2c.c @第580行:

    [IPU1-0]   8.695418 s: I2C0:DEV 0x74:WR 0x03 = 0xc5…… 错误!!!

    [IPU1-0]   8.695510 s:src/bsp_deviceI2c.c @第602行:

    [IPU1-0]   8.695571 s: I2C0:错误超时0ms!!!

    [IPU1-0]   8.695662 s:src="/bsputils_ub960-.c @第1133行:

    [IPU1-0]   8.695723 s:无法配置 UB913 Ser!!!

    [IPU1-0]   8.701152 s:src/bsp_deviceI2c.c @第580行:

    [IPU1-0]   8.701244: I2C0:DEV 0x74:WR 0x0d = 0x9d…… 错误!!!

    [IPU1-0]   8.701335 s:src/bsp_deviceI2c.c @第602行:

    [IPU1-0]   8.701427 s: I2C0:错误超时1ms!!!

    [IPU1-0]   8.701488 s:src="/bsputils_ub960-.c @第1869行:

    [IPU1-0]   8.701549 s:无法配置 UB913 Ser!!!

    [IPU1-0]   8.701640 s: ####传感器配置时间= 347毫秒###

    =>观察:运行时不显示输出(黑屏)、issCapture 链接的性能输出:

    [IPU1-0]  313.383974 s: ### CPU [IPU1-0]、LinkID [77]、

    [IPU1-0]  313.384035 s:  

    [IPU1-0]  313.384096 s: [ ISSCAPTURE]链路统计、

    [IPU1-0]  313.384157 s: ********

    [IPU1-0]  313.384218 s:  

    [IPU1-0]  313.384249 s: 经过时间   = 3044 msec

    [IPU1-0]  313.384310 s:  

    [IPU1-0]  313.384340 s:  

    [IPU1-0]  313.384371 s: 输入统计、

    [IPU1-0]  313.384432 s:  

    [IPU1-0]  313.384462 s: CH | In Recv | In Drop | In User Drop | In Process

    [IPU1-0]  313.384554 s:  | FPS  | FPS  | FPS      | FPS     

    [IPU1-0]  313.384615 s:-------------------------------------------------------  

    [IPU1-0]  313.384676 s:  

    [IPU1-0]  313.384737 s: 输出统计、

    [IPU1-0]  313.384889 s:  

    [IPU1-0]  313.384950 s: CH | OUT | OUT  DROP | OUT USER DROP

    [IPU1-0]  313.385011 s:  | ID | FPS  | FPS   | FPS      

    [IPU1-0]  313.385072 s: ---------------

    [IPU1-0]  313.385164 s:  

    [IPU1-0]  313.385194 s: [ISSCAPTURE]延迟、

    [IPU1-0]  313.385255 s: ****

    [IPU1-0]  313.385286 s:  

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

    我不知道如何"锁定 ub960解串器中的位并查看其是否已锁定"。 但是,我不确定这些错误是否有意义,因为当我将0x5D 的值修改为0x60,并放置前一个摄像头模块(OV10640)时,它会输出以下内容,但用例运行正常并显示我的视频输出:
    [IPU1-0] 28.473372 s:检测到964 v3解串器
    [IPU1-0] 28.484414 s:src/bsp_deviceI2c.c @第580行:
    [IPU1-0] 28.484536 s:I2C0:dev 0x74:WR 0x03 = 0xc5…… 错误!!!
    [IPU1-0] 28.484627 s:src/bsp_deviceI2c.c @第602行:
    [IPU1-0] 28.484688 s:I2C0:错误超时0ms!!!
    [IPU1-0] 28.484780 s:src/bsputils_ub960-c @第1133行:
    [IPU1-0] 28.484841 s:无法配置 UB913 Ser!!!
    [IPU1-0] 29.466144 s:src/bsp_deviceI2c.c @第580行:
    [IPU1-0] 29.466266 s:I2C0:dev 0x74:WR 0x0d = 0x9d…… 错误!!!
    [IPU1-0] 29.466357 s:src="BSP_deviceI2c.c @第602行:
    [IPU1-0] 29.466418 s:I2C0:错误超时1ms!!!
    [IPU1-0] 29.466510 s:src="/bsputils_ub960/c @第1869行:
    [IPU1-0] 29.466571 s:无法配置 UB913 Ser!!!
    [IPU1-0] 29.466632 s:####传感器配置时间= 1323msec ####

    谢谢、

    摩根
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您的意思是、即使在打印此错误后、它也能够捕获和显示图像??
    您在显示屏上看到的图像是否正常?

    此致、
    Brijesh
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    BTW、您使用的是哪个 VSDK 版本?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、即使在打印此错误后、用例也能按预期工作(良好地显示捕获视频)。 我已检查另一次并确认(这次没有显示"检测到964 v3解串器..."这一行) 以确保用例按预期工作(良好的输出显示)。

    我使用 VSDK 版本3_1。

    同样、如果有任何用途、当我将别名地址从{0x40、0x42、0x44、0x46}更改为{0x60、0x62、 0x64、0x66}在 iss_sensor_tda3xx.c 中、用例不会崩溃(在上一个答案中有详细说明)、但没有显示。

    谢谢、

    摩根
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    真是个好消息。 OV10640的 i2c 配置、即使出现一些初始故障也是如此。 在探测 OV10640/UB913之前、可能需要稍多的时间。

    I2C 别名取决于整个系统。 请检查您是否有任何其他 i2c 从器件连接到这些地址。

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

    您好、Brijesh、

    我尝试使用 waitAfterPowerOn 和 waitAfter960Init 变量(在 bsputils_ub960-c 中)延迟一些时间、但它无法正常工作...


    但是、我现在知道问题可能是什么... 传感器版本:我的新摄像头有一个 OV10640版本0xDC、之前的(工作中)摄像头有一个版本0xB4。 此外、OV10640_IMI_Start (iss_sensor_ov1060.c)中存在检查此值的条件、如果不相等、则不发送 i2c 参数... 我已经尝试绕过该条件、它能够发送 i2c 参数、但仍然没有图像(用例名义上开始(已经提到一些错误)、但没有显示)。

    传感器版本之间是否存在一些基本变化? 我可以让它轻松工作吗?

    谢谢、

    摩根

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

    根据我的经验、我看到了 OV10640修订版之间的寄存器设置差异、因此0xDC 和0xB4之间可能存在配置差异。 从 VSDK 的角度来看、这是我们支持的修订版。 您需要联系 OmniVision 以获取此新版本的更新配置。

    此致、
    Brijesh
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    再次感谢您的支持、我将了解届时我可以使用 OmniVision 做些什么。

    此致、

    摩根