04-13-2011 09:21 AM
I would like to have some advises about method to handle LWIP communication with Hard DMA.
- I'm using a virtex5 FX with a PPC440
- Hard DMA with descriptors and interrupt are setup
- Hard TEMAC is used to communicate with LAN
- Local link protocol is used to link sub VHDL module with the PPC
- Purpose is to receive data from the LWIP payload and send them to VHDL sub module by Llink
- Then VHDL sub module send back data that are writen on the DDR2 (also by Llink protocol)
- Finally the TEMAC read data on the DDR2 to send them on the LAN using the LWIP stack
- Actually i'm able to receive data from the LAN, then send them to VHDL sub module, then get data back from VHDL sub module and write them into the DDR2.
- Everytime a DMA interrupt happen (every 1 writen packet), i get the data and send them on the TCP by the command "TCP_write()". Problem is that sometime acknowledge is to long so the TCP_buffer become full.
- Can someone advise me on the way to handle acknowledge, read data from buffer descriptor and so please. I need a solution to read written data on the DDR2 and put them on the TCP/IP at the same time DMA is working by writing new data on the DDR2.
Thank you so much for your help.