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.

DM648 3-port switch, data rate disturbingly low

Hello.

I am currently working with DM648, my task at hand is to set up a G-ethernet communication channel to a PC with a view to transferring raw video frames with different resolution and at different frame rates. My hardware setup is the DSP connected via SGMII to an SFP which accepts fiber cable that goes to a switch hub. I am a littled confused and concerned with efficiency I am getting from this setup.

I am using only one TX-channel, assembling a queue that is supposed to issue a burst of packets into the medium, that process being repeated at regular intervals. I am increasing the frame rate to find the upper limit. The results I am getting are quite dissapointing - barely 60 MB/s. For some time I've been attempting to ferret out the bottleneck that throws a wrench in the whole scheme. I believe I found it.

For some reason I cannot comprehend, it takes the controller a ridiculous amount of time to transfer a single packet. I am timing this process as the controller scans through the queue (by polling OWNERSHIP flag of the TX descriptors) and the transfer time ranges from 18us to 28 us, way longer than theoretical 12us. The payload part of the packet resides in DDR2, but I make sure that no other module requests transfers from this memory, so the path is clear.

I was through the 3PSW user guide many times and I fail to find any insights. If you could give me some as to what I an doing wrong or what is out of place in this setup, I would appreciate it deeply. Please help.

Thank you in advance.