Forum Discussion

2258432's avatar
2258432
Icon for Occasional Contributor rankOccasional Contributor
2 years ago

How to use mSGDMA to continuously read data

I am working on a project where video data is generated on the FPGA side of a cycloneV board, transmitted to the second board through HPS Ethernet, and finally displayed though HDMI.

After the data is generated on the FPGA side of the first board, it is written to HPS DDR3 through mSGDMA, and then the HPS side reads the data in DDR3 and sends it to the second board through Ethernet. On the second board, I use the mmap function to write data into DDR3, and finally use mSGDMA to read data onto the FPGA side.

However, when I use signalTap to simulate and observe the receiving signal, the signal is always intermittent and not continuous. This is obviously unable to display the video. How can I modify my design to display the video normally on the receiving board. Video resolution is 1920x1080@8fps .

Can someone help me? Any help would be greatly appreciated.

Thank you in advance.

sending board qsysreceiving board qsys

signalTap simulation

3 Replies

  • ZH_Intel's avatar
    ZH_Intel
    Icon for Frequent Contributor rankFrequent Contributor

    Hi Lii Yuhang,

    Thank you for reaching out.

    Apologize for the delayed response as we encounter some technical difficulty.

    Just to let you know that Intel has received your support request and currently we are confirming the details with our internal team.

    I shall come back to you with findings.

    Thank you for your patience.

    Best Regards,

    ZulsyafiqH_Intel


    • 2258432's avatar
      2258432
      Icon for Occasional Contributor rankOccasional Contributor

      Hello ZulsyafiqH,

      Thank you for your reply, and I apologize for the delay in responding.

      After testing, the problem is not with mSGDMA, but with the slow Ethernet transmission rate. Currently, the Ethernet transmission rate is approximately 24MB/s (192Mbps), while transmitting 1920x1080@8fps video requires a rate of about 75.5MB/s (604Mbps). I reduced the video resolution to match the transmission rate, and now the data is continuous.

      The Ethernet communication rate between the two boards is set to 1Gbps, but the actual rate is only about 192Mbps. Next, I will learn how to improve the Ethernet transmission rate.

      Thanks again for your assistance.

      Best regards.

  • ZH_Intel's avatar
    ZH_Intel
    Icon for Frequent Contributor rankFrequent Contributor

    Hi Lii Yuhang,

    Thank you for your reply.

    Apologize for the delayed response as we encounter some technical difficulty.

    Glad that you manage to root cause the problem.

    With that, I now transition this thread to community support. If you have a new question, feel free to open a new thread to get the support from Intel experts. Otherwise, the community users will continue to help you on this thread.


    Thank you.

    Best Regards,

    ZulsyafiqH_Intel