{"id":20081750,"url":"https://github.com/delhatch/zynq_udp","last_synced_at":"2025-05-06T00:31:24.011Z","repository":{"id":53559593,"uuid":"134193536","full_name":"delhatch/Zynq_UDP","owner":"delhatch","description":"Transfer data over UDP with a Zedboard. This is an example project that transmits and receives data over UDP.","archived":false,"fork":false,"pushed_at":"2021-03-24T12:27:04.000Z","size":150,"stargazers_count":25,"open_issues_count":5,"forks_count":15,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-09T06:07:17.328Z","etag":null,"topics":["udp","zedboard","zynq"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/delhatch.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-05-20T22:57:54.000Z","updated_at":"2025-03-12T14:09:24.000Z","dependencies_parsed_at":"2022-09-15T15:31:38.595Z","dependency_job_id":null,"html_url":"https://github.com/delhatch/Zynq_UDP","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delhatch%2FZynq_UDP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delhatch%2FZynq_UDP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delhatch%2FZynq_UDP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delhatch%2FZynq_UDP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/delhatch","download_url":"https://codeload.github.com/delhatch/Zynq_UDP/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252598301,"owners_count":21774233,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["udp","zedboard","zynq"],"created_at":"2024-11-13T15:40:10.281Z","updated_at":"2025-05-06T00:31:23.709Z","avatar_url":"https://github.com/delhatch.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Zynq_UDP\n\nAuthor\n\nDel Hatch\n\n** Communicating over UDP\n\nThe purpose of this project is to demostrate data transfers over UDP using the Zedboard. This can be used on the MicroZed and other Zynq-based boards with minor modifications.\n\n** Build a Zynq system using Vivado\n\nUsing the figure below as a guide, build a Zynq system. The AXI Interconnect, Processor Reset, and GPIO modules are optional, but I like to put them in for command/control/debugging later.\n\n![screenshot](https://github.com/delhatch/Zynq_UDP/blob/master/system.JPG)\n\nYou can use all of the system defaults, peripheral auto-address assignments, and system configuration defaults -- no need to customize anything.\n\nAfter you build the system and export the hardware (including the bit file), launch the SDK.\n\n** SDK and software\n\nAfter the SDK opens, click File -\u003e New -\u003e Application Project.\n\nGive the project a name, then click Next.\n\nSelect \"lwIP Echo Server\" from the list of Available Templates, and Finish.\n\nAt this point you can compile, load and run the Echo Server on the Zedboard. I use PuTTY to see it working.\n\nLaunch PuTTY, type in the IP address of the Zedboard defined in the main.c file, set the Port value to 7, and select \"Telnet\" as the connection type. In the window that opens, you can type letters and see them echoed back to PuTTY.\n\n** Changing the Echo Server to use UDP\n\nThe default lwIP Echo Server uses TCP. To convert it to use UDP instead, replace the supplied main.c with the main.c in this Github repository. Also, replace the echo.c file.\n\nAlso, download the includes.h file and add it to your project.\n\nCopy the files into your project's project.sdk/project/src directory. Then in the SDK, highlight the \u003cSDK project\u003e line in the \"Project Explorer\" frame, and hit F5 to refresh.\n\n** Compile and run\n\nNow compile and run the code. As the code runs, in the connected terminal program, you will see this:\n\n![screenshot](https://github.com/delhatch/Zynq_UDP/blob/master/terminal.JPG)\n\nThe dots along the bottom indicate that the Zedboard is sending a UDP packet. This happens once every 500 mSeconds. The packet consists of a single integer with a value of 0x45.\n\nTo see the packets being sent, use Wireshark.\n\nThere are many ways to transmit UDP packets to the Zedboard. I used the VLC media player and set it to stream a .mpg file over UDP. Here's how to do that:\n\nLaunch VLC and click Media -\u003e Stream...\n\nOn the File tab, click \"+Add\" and select a media file. I use a .mpg video file. Click the Stream button.\n\nClick Next. For the Destination Setup, pull-down the New destination box. Select UDP (legacy). Click Add. Type in the IP address of the Zedboard and set the Port to 7.\n\nClick Next. I un-select \"Activate Transcoding\" but it does not matter for this purpose.\n\nClick Next, and then Stream.\n\nIn the terminal program you will see a lot of messages (from the Zedboard) showing you the length of the UDP datagrams received by the Zedboard from the VLC program.\n\n** Improvements\n\nThis project is mainly a demonstration of how to use UDP to send and receive data using a Zedboard or other Zynq board.\n\nI will be using it to stream media from the Zedboard to a PC, and using VLC to view the media stream.\n\n** Credit\n\nLance Simms posted a very good, and complicated, project that uses UDP here: http://lancesimms.com/Xilinx/MicroZed_UDP_Server_for_Waveform_Centroiding_Table_Of_Contents.html\n\nMy project reduces that code base to the fundamental UDP principles to provide an easily extended platform for custom projects.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdelhatch%2Fzynq_udp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdelhatch%2Fzynq_udp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdelhatch%2Fzynq_udp/lists"}