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.

video port0 and video port2

hi for all

I am using an evmdm642 and I want to achieve the  transfer of data from one memory to another using video port0 and  video port2 as a gateway and I write these lines of code :

  Vp0 = (unsigned char *) CHIP_VP0;
  Vp2 = (unsigned char *) CHIP_VP2;
  DAT_copy (rama, vp0, sizeof (unsigned char));
  DAT_copy (Vp0, Vp2, sizeof (unsigned char));
  DAT_copy (Vp0, ramba, sizeof (unsigned char));

knowing taht  CHIP_VP0 and CHIP_VP2 are defined in csl_chip.h


 My question is:  with this method i did really the transfer of data via videos ports or no  ?

please i need your help, thank you very much.

  • I don't understand what you're doing.  Please provide more details about what is hooked up to the video port, how you configured the video ports, and what you're trying to accomplish.

  • hi

    i would import data from a block memory to an other block memory using the videos ports as a bridges:

    BLOCK_MEMORYA------->>>>video port0------->>>>video port2------->>>>BLOCK_MEMORYB.

    And i used these lines of code:

    Vp0 = (unsigned char *) CHIP_VP0;
      Vp2 = (unsigned char *) CHIP_VP2;
      DAT_copy (rama, vp0, sizeof (unsigned char));
      DAT_copy (Vp0, Vp2, sizeof (unsigned char));
      DAT_copy (Vp0, ramba, sizeof (unsigned char));

    knowing taht  CHIP_VP0 and CHIP_VP2 are defined in csl_chip.h.

     

    My question is: after running this code I found the data of blockA in  block B, but I do not know that data is passed through the port  videos or no?

  • If your goal is to move data from rama to ramba than I do not understand why you would need to get the video ports involved, as the video ports on the DM642 are entirely slave devices, they are unable ot initiate their own DMA transactions. I don't have my whole install infront of me at the moment, but looking at this csl_chip.h found through google it looks like the CHIP_ values are just masks and not actual addresses, so this would end up copying the rama to internal memory (address 0x10) from where you would copy it to the destination of ramba (assuming the vp0 in your first DAT_copy is actually Vp0). This would be more efficiently done by just running DAT_copy(rama, ramba, sizeof (unsigned char));.

    My real question here is why do you want to use the video ports to move data from one location in memory to another?

    Note that in general if you need to have data going into or out of the video ports that there is more to it than just copying data into a 'video port address', you would be best off leveraging the existing FVID video drivers.

  • hi

    At first i would validate the transfer of data from one location in memory to another, in a later step it will be used in other task.

    I read the vport.pdf and spru629.pdf to configure video ports but in this user guide the encoder and decoder of evmdm642 are used and linked to video ports.

    I would import data directly from memory via video ports without using the encoder an decoder.

    I would like to know if this task can be feasible or no? and if no what's the solution.

    Thanks for your help.
  • anna pian said:
    I would import data directly from memory via video ports without using the encoder an decoder.

    I think this is where I am losing understanding of your implementation, if you are not using an encoder or decoder connected to the video ports than what do you have connected to the video ports? The video ports are not designed to interface directly with an external memory, though you could interface them with a FPGA or a FIFO, because of this I am still not sure what you are trying to do.

  • Hi
    This application will be used for communicating with other card as a FPGA daughter card  or DSP daughter card and I do not want the data came from an encoder or a decoder connected to a camera but I want data come for example from a file. cif as foreman.cif and its data will be stored in the memory.Then this data will be imported to video port because the video port is the means of transport to daughter card.
    This my task and i don't know if it's possible or no and if it's possible please give me the solution??
    Thank you a lot.

  • This is certainly possible however I am not sure we have a perfect solution for this, in general there will be more to transferring an image to an FPGA over the video port than copying data to an address, there is much to configure with the video port to make this happen and typically you would leverage the existing FVID driver to configure the video port and move the data (though you would remove the portions that configure the video encoder). The video ports are designed to transfer data continuously so in general you would configure everything with the FVID driver and than send the same image over and over until you change it to another image, for an example there is actually an FPGA on the DM642 EVM through which all of the display data goes before reaching the video encoder to go to a TV, the FPGA is setup such that it accepts the data like a video decoder would so it interfaces nicely with the video port, the VHDL source for the FPGA is included with the EVM.