I've been looking around for ways to transfer ZMOD ADC samples through ethernet (or literally any other way other than UART/SD because it is very slow for my particular application) on the Eclypse Z7 board. It seems like the only option is to use an altered version of the several lwIP examples provided in SDK/Vitis. For someone with limited experience in networking, like myself, this seems like a path of great resistance. Upon trying the demo, I quickly ran into issues such as the connection routine failing to perform a successful handshake with the board. Part of me realizes that it's time to be a big boy and learn the nuances of TCP/UDP, but I'd like to evaluate any and all possible options before I get around to it.
Google presented to me what looked like my saving grace, the Tri-Mode Ethernet MAC LogiCORE IP in the form of a super neat example project done by fpgadeveloper. He was able to get the IP to do some cool tricks, like interfacing with a separate breakout board to provide the user with four different ethernet ports.
The coolest part, though, was the fact that an ethernet connection (from what I can understand) is possible without the use of the PS. I got really excited at this news, as I am trying to develop a real-time analog signal acquisition and processing system, and this IP block advertising an Ethernet connection using programmable logic alone seems to be as 'real-time' as it gets. Keep in mind that I've been doing FPGA development as an undergrad student for maybe half a year, so it is more than possible that I completely misunderstood the intended applications of the IP and how it can benefit my own application.
FPGAdeveloper's IP bring-up process was an Inception style example within an example, assembled for the KC705 and AC701 to interface with their on-board general purpose switches and push buttons. His walkthrough got the IP up and running (on a board I do not own), but I was still unsure as to how the thing worked. This lead me to the Product Guide, where I quickly realized I was way in over my head when I began to read the hieroglyphics that is probably incredibly useful to someone who knows what their doing.
I looked around for other implementations involving similar hardware and purposes to no avail, so I decided to get my hands dirty and opened up the IP in Vivado to see if I could get an idea of how it worked. In short, I still don't get it (shocker). I started with going pin-by-pin and Googling their possible usages. It seems like the left side of the IP interfaces with an AXI EthernetLite block for data transmission, but that's really all was able to deduce. Maybe some pins should be externalized to allow DDR interfacing through EMIO, but which ones exactly are a mystery to me.
I will continue to brute force an understanding of the IP by staring at the product guide until I get it. Until then, I was wondering if anyone could provide any insight on how one would use this IP to send ZMOD ADC data through ethernet to a host PC, or crush my dreams and explain to me why it's not possible. Surely it's too good to be true, but this last glimmer of hope, I feel, is still worth looking into before I resort to lwIP.
Question
davwamai
I've been looking around for ways to transfer ZMOD ADC samples through ethernet (or literally any other way other than UART/SD because it is very slow for my particular application) on the Eclypse Z7 board. It seems like the only option is to use an altered version of the several lwIP examples provided in SDK/Vitis. For someone with limited experience in networking, like myself, this seems like a path of great resistance. Upon trying the demo, I quickly ran into issues such as the connection routine failing to perform a successful handshake with the board. Part of me realizes that it's time to be a big boy and learn the nuances of TCP/UDP, but I'd like to evaluate any and all possible options before I get around to it.
Google presented to me what looked like my saving grace, the Tri-Mode Ethernet MAC LogiCORE IP in the form of a super neat example project done by fpgadeveloper. He was able to get the IP to do some cool tricks, like interfacing with a separate breakout board to provide the user with four different ethernet ports.
The coolest part, though, was the fact that an ethernet connection (from what I can understand) is possible without the use of the PS. I got really excited at this news, as I am trying to develop a real-time analog signal acquisition and processing system, and this IP block advertising an Ethernet connection using programmable logic alone seems to be as 'real-time' as it gets. Keep in mind that I've been doing FPGA development as an undergrad student for maybe half a year, so it is more than possible that I completely misunderstood the intended applications of the IP and how it can benefit my own application.
FPGAdeveloper's IP bring-up process was an Inception style example within an example, assembled for the KC705 and AC701 to interface with their on-board general purpose switches and push buttons. His walkthrough got the IP up and running (on a board I do not own), but I was still unsure as to how the thing worked. This lead me to the Product Guide, where I quickly realized I was way in over my head when I began to read the hieroglyphics that is probably incredibly useful to someone who knows what their doing.
I looked around for other implementations involving similar hardware and purposes to no avail, so I decided to get my hands dirty and opened up the IP in Vivado to see if I could get an idea of how it worked. In short, I still don't get it (shocker). I started with going pin-by-pin and Googling their possible usages. It seems like the left side of the IP interfaces with an AXI EthernetLite block for data transmission, but that's really all was able to deduce. Maybe some pins should be externalized to allow DDR interfacing through EMIO, but which ones exactly are a mystery to me.
I will continue to brute force an understanding of the IP by staring at the product guide until I get it. Until then, I was wondering if anyone could provide any insight on how one would use this IP to send ZMOD ADC data through ethernet to a host PC, or crush my dreams and explain to me why it's not possible. Surely it's too good to be true, but this last glimmer of hope, I feel, is still worth looking into before I resort to lwIP.
Edited by davwamaiadded tags
Link to comment
Share on other sites
1 answer to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now