مؤلف
ديل هاتش
** التواصل عبر UDP
الغرض من هذا المشروع هو عرض عمليات نقل البيانات عبر UDP باستخدام Zedboard. يمكن استخدام هذا على MicroZed وغيرها من اللوحات المستندة إلى Zynq مع تعديلات طفيفة.
** بناء نظام Zynq باستخدام Vivado
باستخدام الشكل أدناه كدليل، قم ببناء نظام Zynq. تعتبر وحدات AXI Interconnect وProcessor Reset وGPIO اختيارية، ولكنني أرغب في وضعها للأوامر/التحكم/تصحيح الأخطاء لاحقًا.
يمكنك استخدام كافة الإعدادات الافتراضية للنظام، وتعيينات العناوين التلقائية الطرفية، والإعدادات الافتراضية لتكوين النظام - لا داعي لتخصيص أي شيء.
بعد إنشاء النظام وتصدير الأجهزة (بما في ذلك ملف البت)، قم بتشغيل SDK.
** SDK والبرمجيات
بعد فتح SDK، انقر فوق ملف -> جديد -> مشروع التطبيق.
قم بتسمية المشروع، ثم انقر فوق "التالي".
حدد "lwIP Echo Server" من قائمة القوالب المتاحة، ثم قم بإنهاء.
في هذه المرحلة، يمكنك تجميع وتحميل وتشغيل Echo Server على Zedboard. أستخدم PuTTY لرؤيتها تعمل.
قم بتشغيل PuTTY، واكتب عنوان IP الخاص بـ Zedboard المحدد في ملف main.c، واضبط قيمة المنفذ على 7، ثم حدد "Telnet" كنوع الاتصال. في النافذة التي تفتح، يمكنك كتابة الحروف ورؤيتها تتكرر مرة أخرى إلى PuTTY.
** تغيير خادم الصدى لاستخدام UDP
يستخدم خادم صدى lwIP الافتراضي TCP. لتحويله لاستخدام UDP بدلاً من ذلك، استبدل main.c المزود بـ main.c في مستودع Github هذا. قم أيضًا باستبدال ملف echo.c.
قم أيضًا بتنزيل الملف include.h وأضفه إلى مشروعك.
انسخ الملفات إلى دليل project.sdk/project/src الخاص بمشروعك. ثم في SDK، قم بتمييز السطر الموجود في إطار "Project Explorer"، ثم اضغط على F5 للتحديث.
** تجميع وتشغيل
الآن قم بتجميع وتشغيل التعليمات البرمجية. أثناء تشغيل الكود، في البرنامج الطرفي المتصل، سترى هذا:
تشير النقاط الموجودة في الجزء السفلي إلى أن Zedboard يرسل حزمة UDP. يحدث هذا مرة واحدة كل 500 مللي ثانية. تتكون الحزمة من عدد صحيح واحد بقيمة 0x45.
لرؤية الحزم التي يتم إرسالها، استخدم Wireshark.
هناك طرق عديدة لنقل حزم UDP إلى Zedboard. لقد استخدمت مشغل الوسائط VLC وقمت بضبطه لدفق ملف .mpg عبر UDP. وإليك كيفية القيام بذلك:
قم بتشغيل VLC وانقر فوق الوسائط -> البث...
في علامة التبويب "ملف"، انقر فوق "+إضافة" وحدد ملف وسائط. أستخدم ملف فيديو mpg. انقر فوق زر الدفق.
انقر فوق التالي. لإعداد الوجهة، قم بسحب مربع الوجهة الجديدة للأسفل. حدد UDP (قديم). انقر فوق إضافة. اكتب عنوان IP الخاص بـ Zedboard واضبط المنفذ على 7.
انقر فوق التالي. لقد قمت بإلغاء تحديد "تنشيط التحويل" ولكن لا يهم لهذا الغرض.
انقر فوق التالي، ثم الدفق.
في برنامج المحطة سترى الكثير من الرسائل (من Zedboard) توضح لك طول مخططات بيانات UDP التي تلقاها Zedboard من برنامج VLC.
** التحسينات
يعد هذا المشروع بشكل أساسي عرضًا لكيفية استخدام UDP لإرسال واستقبال البيانات باستخدام Zedboard أو لوحة Zynq الأخرى.
سأستخدمه لدفق الوسائط من Zedboard إلى جهاز كمبيوتر، واستخدام VLC لعرض دفق الوسائط.
** ائتمان
نشر Lance Simms مشروعًا جيدًا ومعقدًا للغاية يستخدم UDP هنا: http://lancesimms.com/Xilinx/MicroZed_UDP_Server_for_Waveform_Centroiding_Table_Of_Contents.html
يقوم مشروعي بتقليل قاعدة التعليمات البرمجية هذه إلى مبادئ UDP الأساسية لتوفير منصة موسعة بسهولة للمشاريع المخصصة.