10-01-2018 02:20 AM
I am confused about how to connect the SFP in my Zynq Ultrascale MPSOC board (ZCU102). And I cannot find useful information about how to install it.
The SFP I have is: DM7041-R
What I want to do, is very simple. I want to send UDP packets through the SFP from my FPGA to a PC. To start with, I found in the schematic an I2C bus to configure the SFP. What I need to configurate through this bus?
In the examples xapp1305 and xapp1306 there is not explained how to configure the SFP.
I would like to implement the UDP Transmitter in an easy way, but all the information about doing it is very confusing. I want to understand all the necessary steps to implement UDP and send frames to the PC. But I don't want to use Petalinux, neither the library LightWeigh. I have a FIFO with my frame infornation and I want to send it through the AXI Ethernet block.
Anyone can guide me to do that?
10-02-2018 07:21 AM
If you do not want to use Linux, then XAPP1306 will be a better reference. You will need to make sure which mode the SFP is running , ie, 1000BASE-X or SGMII? In your AXI Ethernet core, you will have to configure to the same protocol to support it in order to get this to work.
10-02-2018 11:07 AM
although I configure the PCS/PMA block as a 1000BASE-X (as my SFP device), do I need to create the I2C connection in order to configure manually the SFP? I mean, in my constraints there are only the RX and TX pins form the SFP. It is necessary to access to another pin or configure anything else?
Thanks and best regards,
10-03-2018 02:51 AM
You should find this info in your SFP datasheet and if it comes out as 1000BASE-X as default mode and if you will need to program it properly.
10-30-2018 09:15 AM - edited 11-07-2018 12:22 AM
Please check that thread https://forums.xilinx.com/t5/Embedded-Processor-System-Design/Petalinux-Vivado-2017-4-Ethernet-via-PCS-PMA-and-SFP-in-SGMII/m-p/820427
I have faced and solved the similar problem.
I have used Linux there, but the solution uses low-level I2C tools, so probably you can use something similar with bare-metal application as well.