مربع الموسيقية والتشفير الروتاري على لوحة FPGA

مقدمة


نحن طلاب السنة الأولى الذين يدرسون علوم الكمبيوتر في جامعة Innopolis ، ونود أن نشارك تجربتنا في تطوير برنامج Verilog لإنشاء أروع جهاز تشفير دوار (جيدًا ، على الأقل ، أعلى صوت) على لوحة FPGA.

في هذه المقالة ، ستجد قصة رائعة عن مشروعنا والأجهزة والبرامج التي استخدمناها وبعض النظريات الأساسية فيما يتعلق بالتشفير الدوار وخلق الأصوات في صفارة FPGA. أخيرًا ، سنوفر رابطًا إلى مستودع جيثب حيث يمكن للقارئ الوصول إلى شفرة المصدر. نأمل أن يعجبك هذا المشروع وأن يلهمك أن تصنع شيئًا مماثلاً.
لذا دعنا نبدأ!

الأجهزة والبرامج



الصورة

  • دعم جهاز Cyclone IV FPGA لـ Quartus Prime

  • Quartus برايم لايت الطبعة

  • ترميز دوارة من مجموعة اردوينو

  • ModelSim * -Intel FPGA (للتصحيح فقط)

  • أسلاك من عدة اردوينو

قصة قصيرة


منذ زمن بعيد في مجرة ​​بعيدة ، قررت مجموعة من الطلاب (نحن) الاقتراب من الأجهزة. لقد أتاحت لنا دورة هندسة الكمبيوتر فرصة عظيمة لعمل مشروع على لوحات FPGA. بعد بعض المناقشات ، اخترنا تطبيق نظام مع التشفير دوارة. لقد أنجزنا المهمة ولكن لم يكن ذلك كافياً لإرضاء رغباتنا ، لذلك قررنا ترقية مشروعنا من خلال تحويله إلى أداة موسيقية باستخدام لوحة مفاتيح وجرس لوحة لتشغيل الملاحظات المختلفة. ومع ذلك ، اتضح أن منفذ PS / 2 الخاص بـ FPGA قد مات.

في النهاية ، انتهى بنا المطاف بكتابة لحن بسيط يتم تشغيله عند الضغط على الزر.

مربع الموسيقية


يمكننا أن نميز مذكرة واحدة عن الأخرى بترددات الموجات الصوتية الخاصة بهم. وبالتالي ، لجعل الطنان يلعب الملاحظات المختلفة ، نحتاج إلى جعله يولد موجات صوتية بترددات مختلفة.

قررنا العمل مع الموجات المربعة لأنها سهلة التنفيذ.

الموجة المربعة هي إشارة تغير حالتها بين الأعلى والمنخفض. الفكرة الرئيسية للموجة المربعة هي أن الوقت الذي تكون فيه الإشارة عند الحالة المرتفعة والوقت الذي تكون فيه الإشارة في الحالة المنخفضة هي نفسها. لإنشاء موجة مربعة تحتاج إلى تشغيل I / O ، انتظر x مقدار الوقت ، قم بإيقاف I / O ، انتظر من x مقدار الوقت ، وكرر هذه الإجراءات عدة مرات حسب حاجتك.

الصورة

لقد التقطت هذه الصورة من هنا .

يحتوي الإعصار IV على مولد مدار بتردد 50 MHz. باستخدام تعريف الموجة المربعة ، ليس من الصعب اشتقاق الصيغة التالية:

س = (50 * 10 ^ 6) / (2 * ن )

حيث n هو التردد المرغوب في Hz و x هو عدد من دورات الساعة التي نحتاج إلى الانتظار قبل تغيير الحالة من الأعلى إلى الأدنى والعكس بالعكس.

لجعل الجرس توليد موجات مع تردد ن هرتز نفذنا مقسم ساعة.
المزيد عن مقسم الساعة والأمواج المربعة التي يمكنك قراءتها هنا .

آخر ولكن :
نظرًا لتدني مستوى جودة الأجهزة الصاخبة ، لا يمكن تشغيل الملاحظات بترددات منخفضة. لذلك ، استخدمنا تلك من F # من أوكتاف 4 إلى C # من أوكتاف الخامس.

إنه مخطط انسيابي يوضح منطق الصندوق الموسيقي.

الصورة

التشفير الروتاري


كيف يعمل التشفير الدوراني؟

إنه شيء مصنوع من دائرة مع لوحات موصل واثنين من أجهزة الاستشعار التناظرية.

كما ترون من صورة عند تشغيل المشفر الدوار ، فإن أحد المستشعرات يمس اللوحة أولاً وينتقل من الأقل إلى الأعلى. لذلك ، في تلك اللحظة يمكننا أن نعرف ، ما إذا كنا ندير المشفر في اتجاه عقارب الساعة أم عكس عقارب الساعة. الفكرة هي ما يلي: سننظر إلى المستشعر B في كل مرة ينتقل فيها المستشعر A من الأقل إلى الأعلى. إذا تم تأكيد B في تلك اللحظة ، فقد تم تشغيل برنامج الترميز في اتجاه عقارب الساعة ، وإلا ، عكس اتجاه عقارب الساعة. الآن ، عن طريق كلمة التناوب ، فإننا نعني تحويل التشفير على قسم واحد.

الصورة

(سرقت الصورة من موقع howtomechatronics.com )

إنه مخطط انسيابي يوضح منطق المشفر الدوار

الصورة

أيضًا ، نريد إخراج زاوية الدوران على شاشة 8 قطاعات. يحتوي برنامج التشفير الخاص بنا على 20 قطعة ، وبالتالي فإن التناوب على قطعة واحدة يساوي الدوران بزاوية 18 والصيغة التي نستخدمها هي:

الزاوية = ( عدد الدورات 20 وزارة الدفاع) * 18

المواد


رمز مشروعنا هنا .

هنا وهنا أشرطة الفيديو من التشفير دوارة والمربع الموسيقية.

المؤلفون : أمينة مفتاحه ، كامل كماليف ، ليف سفالوف.

Source: https://habr.com/ru/post/ar431612/


All Articles