Main Content

Automated Control of SP701 Over LAN using lwIP

This project shows how to use an lwIP server on the SP701 to be able to send it commands/data on a local area network (LAN).

With the transition from Spartan 6 to Spartan 7 in full swing, I decided that my SP701 needed to be added to my network for remote control access, specifically using the lwIP stack since I’ve previously demonstrated how to set up that bare metal C application in Vitis.

I’m starting this project using the Vivado hardware design from 2021.2 I did in this project and I’m starting with the embedded C lwIP application that I created in Vitis here. My goal for this project is to expand the echo server application running on the SP701 to include actions to specific commands received from the Python echo client script running on the host PC on top of it echoing back the string it receives.

There are 8 LEDs on the SP701 that are perfect for a quick add functionality-wise so I’ll be adding the capability to turn off/on each of the 8 LEDs individually or altogether to the echo server application in Vitis then writing a new Python script echo client to test out the remote control of the LEDs.

GPIO Control Functions
In the hardware design for the SP701 in Vivado, the 8 LEDs are controlled by their own AXI GPIO block in the block design. It is configured such that it has one channel with an 8-bit bus of all output signals.

Make note of its name in the block design, axi_gpio_1, so we can find it in xparameters.h in Vitis.”

Link to article