Forum Discussion
Altera_Forum
Honored Contributor
8 years agoIf you're trying to use the SGDMA in Ethernet IP to receive and then transmit data, you've done only 50% of it. You can't do a loopback of RxD to TxD simply by doing
tx_buffer = rx_buffer. What you've done here is only copy the contents of the Rx buffer to the Tx buffer. You seem to have created the rx_descriptors and used the Rx send function correctly. But you didn't do the same for the Tx. You need to uncomment the Tx buffers, descriptors and functions. Get the Rx Data to the rx_buffer as you've done, and in the for loop copy the buffer contents to tx_buffer. Then use the Tx descriptors functions , program the Tx_Desc and call the Tx send data function. This will now send the received data via the Tx lines over the Ethernet and you should be able to see the data at the other terminal. Do keep in mind to account for the Tx buffer size, filling it up too soon will cause data loss.