Forum Discussion
Altera_Forum
Honored Contributor
15 years agoData send thru ethernet
Hello, I am trying to do a simple task: I will form an UDP packet in hardware, then I want to move it to Nios, add IP header and send to ethernet. I will split my problem into two parts: ...
Altera_Forum
Honored Contributor
15 years agoSo my first idea failed:
Stream -> SGDMA -> INiche+uCOS -> TSE -> LAN everything up to DMA writes was correct (checked with memory content editor), but the interrupt of SGDMA in uCOS lasts too long and I get missed incoming stream packets. I suppose the logic is OK, but packets received during interrupt fills up FIFO. So I moved to a different approach. My idea is to use avalon-st multiplexer to connect sgdma_tx used by TSE and my own stream. Here is how it looks like: http://i51.tinypic.com/6gabeg.png Now the problem is that the stream is transferred to ethernet only a certain amount of time. Sometimes it is a few seconds, sometimes a minute, but usually no longer. If I do all the stuff with backpressure (use aso_ready signal), then ready becomes low after a few seconds after stream start. I suppose the problem could be in FIFO buffers of TSE, but I get no errors in InterNiche and my own stream is below 4mbps. Where is the problem? I've added scfifo after stream input (dma_input is just old name, there is no dma), but that didn't help either. P.S. Someone here in forum said that it is possible to achieve a few hundreds of mbps. How to build such interconnect? Connect stream directly to TSE_transmit? Then what to do with receive port and how to control the PHY? I suppose standard uCOS+InterNiche package will not even start without sgdma buffers. Anyone did that?