Pengarang
Del Hatch
** Berkomunikasi melalui UDP
Tujuan dari proyek ini adalah untuk mendemonstrasikan transfer data melalui UDP menggunakan Zedboard. Ini dapat digunakan pada MicroZed dan papan berbasis Zynq lainnya dengan sedikit modifikasi.
** Bangun sistem Zynq menggunakan Vivado
Dengan menggunakan gambar di bawah ini sebagai panduan, buatlah sistem Zynq. Modul AXI Interconnect, Processor Reset, dan GPIO bersifat opsional, tetapi saya ingin menggunakannya untuk perintah/kontrol/debugging nanti.
Anda dapat menggunakan semua default sistem, penetapan alamat otomatis periferal, dan default konfigurasi sistem -- tidak perlu menyesuaikan apa pun.
Setelah Anda membangun sistem dan mengekspor perangkat keras (termasuk file bit), luncurkan SDK.
** SDK dan perangkat lunak
Setelah SDK terbuka, klik File -> New -> Application Project.
Beri nama proyek tersebut, lalu klik Berikutnya.
Pilih "lwIP Echo Server" dari daftar Templat yang Tersedia, dan Selesai.
Pada titik ini Anda dapat mengkompilasi, memuat dan menjalankan Server Echo di Zedboard. Saya menggunakan PuTTY untuk melihatnya berfungsi.
Luncurkan PuTTY, ketik alamat IP Zedboard yang ditentukan dalam file main.c, atur nilai Port ke 7, dan pilih "Telnet" sebagai jenis koneksi. Di jendela yang terbuka, Anda dapat mengetikkan huruf dan melihatnya bergema kembali ke PuTTY.
** Mengubah Server Echo menggunakan UDP
Server Echo lwIP default menggunakan TCP. Untuk mengonversinya agar menggunakan UDP, ganti main.c yang disediakan dengan main.c di repositori Github ini. Ganti juga file echo.c.
Juga, unduh file include.h dan tambahkan ke proyek Anda.
Salin file ke direktori project.sdk/project/src proyek Anda. Kemudian di SDK, sorot baris di bingkai "Project Explorer", dan tekan F5 untuk menyegarkan.
** Kompilasi dan jalankan
Sekarang kompilasi dan jalankan kodenya. Saat kode dijalankan, di program terminal yang terhubung, Anda akan melihat ini:
Titik-titik di bagian bawah menunjukkan bahwa Zedboard mengirimkan paket UDP. Ini terjadi setiap 500 mSeconds sekali. Paket terdiri dari satu bilangan bulat dengan nilai 0x45.
Untuk melihat paket yang dikirim, gunakan Wireshark.
Ada banyak cara untuk mengirimkan paket UDP ke Zedboard. Saya menggunakan pemutar media VLC dan mengaturnya untuk melakukan streaming file .mpg melalui UDP. Berikut cara melakukannya:
Luncurkan VLC dan klik Media -> Streaming...
Pada tab File, klik "+Tambahkan" dan pilih file media. Saya menggunakan file video .mpg. Klik tombol Aliran.
Klik Berikutnya. Untuk Pengaturan Tujuan, tarik ke bawah kotak Tujuan baru. Pilih UDP (warisan). Klik Tambahkan. Ketik alamat IP Zedboard dan atur Port ke 7.
Klik Berikutnya. Saya membatalkan pilihan "Aktifkan Transcoding" tetapi itu tidak masalah untuk tujuan ini.
Klik Berikutnya, lalu Streaming.
Di program terminal Anda akan melihat banyak pesan (dari Zedboard) yang menunjukkan panjang datagram UDP yang diterima Zedboard dari program VLC.
** Perbaikan
Proyek ini terutama merupakan demonstrasi bagaimana menggunakan UDP untuk mengirim dan menerima data menggunakan Zedboard atau papan Zynq lainnya.
Saya akan menggunakannya untuk melakukan streaming media dari Zedboard ke PC, dan menggunakan VLC untuk melihat aliran media.
** Kredit
Lance Simms memposting proyek yang sangat bagus dan rumit yang menggunakan UDP di sini: http://lancesimms.com/Xilinx/MicroZed_UDP_Server_for_Waveform_Centroiding_Table_Of_Contents.html
Proyek saya mengurangi basis kode tersebut menjadi prinsip dasar UDP untuk menyediakan platform yang mudah diperluas untuk proyek khusus.