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.

RTOS/TDA2PXEVM: Data transmission between TDA2P EVM board using TFDTP protocol

Part Number: TDA2PXEVM

Tool/software: TI-RTOS

Hi,

I am trying to capture images using two cameras with TDA2PX EVM board and then transfer this images using TFDTP protocol to another TDA2PX EVM board for displaying on HDMI monitor.

But I am not able to do that. I think Drivers are not available for establishing communication between two EVM board using TFDTP protocol as a client and server. Please help me to solve this problem.

  • Hi Vishal,

    Could you give a little more detail as to why would you need to send the data to another EVM over TFDTP if your use case is just displaying the images captured? If I understand correctly, are both the EVMs connected to a common network, but are physically far apart from each other? Is that why you wanted to establish communication via TFDTP(for higher throughput) between two EVMs? If your aim is to send data between EVMs, there are multiple ways to do it. :)

    Regards,
    Anand
  • Hi Anand,

    Actually costumers wants to capture images using two cameras with one EVM and then transmit these images to another EVM to display on screen. First I tried with TCP/IP protocol to transmit the these images over network but speed was too low. Then we decided to use TFDTP, now we are able to receive the images at fast rate but still it is not matching our requirement. At transmitter side we are using two channel to capture 1920x1080 size images then we are scaling down to half after we are sending them but with this also we are loosing frame. If these frame are scaled down by 4 then we are getting fast transmission without any delay but quality of images are degrading. Can you please suggest that what should I do achieve both speed and quality for the same?

  • Hi Vishal,

    I am assuming that you're sending raw images/video over TFDTP. In that case, I would suggest you to encode the image and transmit over TFDTP. On the receiver side, you can decode the received image and display. One other option would be to crop your Region Of Interest from the full image captured and send only that part so that quality is not affected and still we have a reduction in size. I am also assuming you're on a 1Gbps connection.

    Regards,
    Anand
  • Hi Anand,

    Thank you for replying. Actually the requirement for the project is to send raw data only and we need full Images. We don't want to crop them and use of encoder and decoder are also not allowed.

    If I capture  and send tow channel images having dimension of 1280x720 in place of 1920 x 1080 I am facing same problem. Please suggest any solution with considering the mentioned requirement.

  • Hi Vishal,

    Please let me know :

    1) If NDK_PROC_TO_USE is A15
    2) If you're on a 1Gbps connection
    3) What network speeds do you observe while you're doing the transfer?
    4) When you say raw data, you mean YUV 420 or YUV 422?

    Regards,
    Anand
  • Hi Anand,

    I am using

    1) In my usecase NDK_PROC_TO_USE is A15

    2) Raw data format  is YUV 420

    3) I have connected both EVM directly through Ethernet cross cable.

    4) Operating system for both EVM is SYS/BIOS so that i dont know how to check the speed. But when I print the the buffer length whatever I am sending it was more than Size of buffer used to transfer the data.

    Regards,

    Vishal

  • Hi Vishal,

    Since you've connected the EVMs directly, I'm assuming 1Gbps speed. In that case, your requirement should be fulfilled possibly. Also is this buffer which you're referring to the TFDTP packet buffer or your video buffer? 

    Regards,

    Anand

  • Network_Tx_Rx_usecase.tar.gz

    Hi Anand,

    I have shared the transmitter and receiver files. You can go through that and if you find any mistake done by me then please let me know.

    And In my previous post I was reffering TFDTP packet buffer. But when we scale down Video buffer by 4 or more than that then I am able to transmit and receive the video images but the quality will be degraded.

    Regards,

    Vishal

  • Hi Anand,
    Any upadate regrading this issue?
  • Hi Vishal,

    Sorry for the late reply. To satisfy your requirement, a network speed of over 422 Mbps is required (1280x720 YUV at 30FPS). This is theoretically possible in NDK running on A15, but I am assuming there might be other delays also since your capture is happening on one EVM and display on other. I'm curious as to what is the exact application of using ethernet for sending raw data over. You could use PCI, or something like that. Could you elaborate a little more on the exact usecase? Because you were very specific on not using encoding and using ethernet between EVMs for capture and display happening on separate drivers.

    Regards,
    Anand
  • Hi Vishal,

    It's been a while since I've heard from you. Any updates? :)

    Regards,
    Anand
  • Hi Vishal,

    I haven't got any updates from you since long. Please let me know if this thread can be closed :)

    Regards,

    Anand

  • Hi Anand,

    Sorry for for late reply, I sent usecase files for Tx and Rx to you. In those usecase we are using TFDTP protocol to send and receive RAW data only. I think there is a problem in synchronization of received images and images captured locally at Rx side. Can you please run those usecases at your side with image size 1920x1080?  Because when we are scaling down the image size then communication is smooth but there is quality loss. And we are using here ethernet cable to connect EVM to modem to access the network.

    Regards,

    Vishal

  • Hi Vishal,

    Please make sure that while running the usecase, the network bandwidth is close to 422 Mbps. The modem which you're using, I am assuming it is a Gigabit modem. When you boot up VSDK, make sure that you see that the network connection type detected is 1000 Mbps. Also, as I said kindly check if you're able to match the bandwidth while the usecase is running (You can check this in system monitor/Task Manager). Since the communication is smooth in lower data sizes, I think the only issue might be that there isn't enough bandwidth. Let me know if this indeed is the issue. :)

    Regards,
    Anand