Hi
we need to transfer data between omap3x and FPGA.
we have wince running over omap3x.
what is the best solution in terms of throuhput.
Nathan
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.
I think this is a hardware question (i.e, deciding what interface to use) and hence better suited for the OMAP35x processor forum. I will move it to the appropriate forum. Once you have decided on the interface then the OS driver aspect of it will become relevant and if you have WinCE specific question you can open a new thread in the WinCE forum.
It helps if you can provide more information about your requirement (what kind of throughput you are looking for etc).
Hi Nathan,
In terms of maximum throughput you should definitely go for using the GPMC bus. I seem to remember that I have had the GPMC giving an effective throughput of ~150MB using DMA and 16 bit synchronous burst mode some time back? Latest information from TI is however a maximum throughput of ~103MB/s. Please see the following thread: http://e2e.ti.com/support/dsp/omap_applications_processors/f/447/p/65177/238224.aspx#238224
In case lower performance is needed or fewer connections required, you could either simulate a MMC interface giving you a theoretical throughput (at ~10 wires) of up to ~48MB/s (practical might be around 5-10MB/s with the current drivers) or a SPI/I2S interface which could both would give you a theoretical throughput of up to ~6MB/s (at ~3-4 wires)
I hope this helps you forward?
Søren
All these numbers look great but how we (experimenters) learn to reach these data transfer rates ?
Any code from which we can learn ?
Brahim
Brahim,
What exactly are you looking for? Please share more details. I may be able to help you.
Looking to learn how all these performance figures become code for us to
learn and also understand how to make use of the OMAP resources efficiently.
DMA should be used to liberate the ARM from data movement...
Brahim
Brahim,
There couple of methods to improve the performance. First one is definitely using DMA. The key thing is the timing settings. If the timings are not optimal, you will not be able to achieve best performance even using DMA. The depending on the device type, clocking will also become important.
If all of these parameters are configured for the best performance, you can get the max from the interface.