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.

[参考译文] TDA2SX:如何同时捕获 Vin1和 VIN2

Guru**** 2927270 points

Other Parts Discussed in Thread: SYSBIOS

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/663229/tda2sx-how-to-capture-vin1-and-vin2-simultaneously

器件型号:TDA2Sx
Thread 中讨论的其他器件:SYSBIOS

您好!

我想在 VIN1和 VIN2上捕获帧、但我不知道如何对 VIP 进行编程以实现这一点。 我正在使用 starterware_01_03_00_09、并已将当前项目基于示例 videoLoopback 和 ov10630_sensor。  

要为 VIN1或 VIN2配置 VIP,我首先运行 App_FrameBufInit(),然后运行 App_coreOpen(),然后运行 App_configureVIP()。 对于这三个函数中的每个函数、我都为各种句柄创建了唯一变量、包括 VpsDrv_CaptInstObj 和 App_FrameBufObj 以及唯一的回调函数。 如果在调用 App_coreStart()函数之前为该 VIN 编号运行3个配置函数,我可以从 VIN1或 VIN2捕获图像。 但是,当我为 VIN1和 VIN2运行这3个配置函数,然后为其中的任何一个 VIN 调用 App_coreStart()时,只有在我运行的最后一个 VIP 配置函数与我尝试捕获的 VIN 编号相匹配时,才会捕获图像。 那么、当我再次调用同样的3个函数时、VIP 中似乎有一个内容会被覆盖? 我不知道为什么在我对 VIP 进行编程时、我还能从每个 VIN 中捕获数据、然后再进行捕获。

我还想知道、在同时捕获两个摄像头时 IRQ 应该如何工作。 我目前正在使用 映射到 IPU1_27的 VIP1_IRQ1、因为这就是示例的配置方式。 我习惯将内核中断映射到 ISR、但我看不到 VIP 配置函数是如何实现这一点的。 我是否需要添加 VIP1_IRQ2以便每个 VIN 有一个 IRQ?

谢谢、
胡安

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

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

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

    VIP 驱动程序支持从多个端口进行捕获,并在 SYSBIOS 驱动程序级别进行验证。 您能否分享视频回送应用程序中所做的更改?

    如果您从 VIN1 (VIP1 Slice 0端口 A)和 VIN2 (VIP1 Slice 1端口 B)捕获数据、则它们共享同一中断。 驾驶员在内部负责管理此操作。 因此,无需像您在帖子中所提到的那样设置 inettrupt 路由

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

    如果我从 VIN1 (VIP1 Slice 0端口 A)和 VIN2 (VIP1 Slice 1端口 A)捕获数据、该怎么办? 我想我看到每个帧捕获的中断都得到了正确管理、但我仍然无法从两个输入进行捕获。 这可能是因为端口 A 上都有这两个?

    对于多个摄像头输入、您建议使用哪一个、即 VIP1 (VIN1)和 VIP2 (VIN3)层0端口 A 上各有一个、或在端口 A (VIN1和 VIN2)的 VIP1、层0和层1上都有一个? 是否有更好的不同配置?

    拥有3个输入呢? 更建议使用哪种配置? VIP1 (VIN1)、VIP2 (VIN3)和 VIP3 (VIN5)或 VIP1、端口 A (VIN1和 VIN2)的片0和片1以及 VIP2片0端口 A (VIN3)?

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

    通过不同 VIP 实例和切片的 Porta 捕获多个视频没有问题。 您只需确保引脚不被共享、并且引脚复用设置的编程没有冲突。

    您使用的是哪款 EVM/板? TI EVM +视觉板还是定制板? 如果这是定制板、请查看有关端口之间任何冲突的原理图。

    您唯一希望在不同的 VIP 实例/层上捕获多个输入的时间是为每个输入执行 CSC 或 SC 块的时间。 请注意、片内的 SC/CSC 块在端口 A 和 B 之间共享

    从 VIP 的角度来看,为多个输入选择端口时没有限制(除了我上面提到的端口)。 您需要考虑的是 SOC 级引脚多路复用器、并且不同 VIP 端口的引脚排列没有冲突。 您需要参阅 TDA 数据表、以了解哪些引脚与所有 VIP 端口进行多路复用。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的后续回复。 我已经验证了所有引脚都不是共享的、并且引脚多路复用器的正确配置适用于所有焊盘。 但我一次只能为一台摄像机对 VIP 进行编程。 尝试先对 camera1进行编程、然后对 camera2进行编程、再尝试捕获 camera1将不起作用。 但是、从 camera2捕获确实有效。

    我使用的是定制硬件、在审阅后、我们不会看到端口之间存在任何冲突。 一个摄像头连接到 VIN1、另一个摄像头连接到 VIN2。 我们是否有您推荐的任何特定内容?

    最好了解 CSC 或 SC 块要求。 我们目前未使用此功能、因此似乎没有问题。 还感谢您清除 VIP 输入限制。 好的、除了确保这些引脚上的引脚多路复用之外、我们没有任何限制。

    除了尝试同时从两个摄像头捕获数据之外、我还发现了一个新错误、即使使用一个摄像头、捕获软件也不会在每个端口捕获到最大缓冲器数后循环回到索引0。 我看到函数 App_GetFrameBuf()在达到最大值后将该索引值设置回0,但软件在达到最大值后从未捕获图像。

    由于我仍然没有看到问题、我希望与您私下分享我的一些软件。 有可能吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 JG:

    您能否先通过在 VIP 中检查帧大小寄存器来检查 VIP 是否正确接收帧? 帧大小寄存器位于从 VIP 基地址偏移量0x30处。 如果在此位置看到正确的帧大小、VIP 将正确接收流、并能够检测正确的同步。  

    Rgds、

    Brijesh