جدول المحتويات:
- الخطوة 1: نظرة عامة على I2C Bus
- الخطوة الثانية: تصميم RTL بتنسيق VHDL
- الخطوة الثالثة: المحاكاة والاختبار
- الخطوة 4: ملاحظات مهمة
- الخطوة 5: الملفات المرفقة
فيديو: تصميم برنامج I2C Master in VHDL: 5 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:38
في هذا الدليل ، تمت مناقشة تصميم برنامج I2C Master بسيط في VHDL.
ملاحظة: انقر فوق كل صورة لرؤية الصورة كاملة
الخطوة 1: نظرة عامة على I2C Bus
• ستاند للدائرة المتكاملة المشتركة.
• متزامن ، نصف مزدوج.
• اثنين من الأسلاك واجهة - SDA و SCL.
• SDA - خط البيانات التسلسلية يتحكم فيه السيد والعبد
• SCL - الساعة التسلسلية التي تم إنشاؤها بواسطة Master
• بروتوكول متعدد الماجستير ، متعدد الرقيق.
• وضعان - 100 كيلوبت / ثانية و 400 كيلوبت / ثانية: بطيء وسريع.
الخطوة الثانية: تصميم RTL بتنسيق VHDL
مواصفات تصميم برنامج I2C Master الخاص بنا
- إطار بيانات 8 بت.
- SCL تحكم أحادي الاتجاه فقط.
- 7 بت عنوان الرقيق.
- يدعم الوضعين البطيء والسريع.
- سيد واحد ، متعدد العبيد.
- تمتثل للمواصفات الأصلية لـ I2C من Philips.
تم استخدام كود RTL النقي. لذا فإن IP يمكن حمله بسهولة عبر جميع FPGAs. يضمن التصميم المضغوط القائم على FSM باستخدام الساعة المولدة داخليًا المنطقة والأداء الأمثل.
الخطوة الثالثة: المحاكاة والاختبار
بيئة الاختبار
- محاكاة واختبار وظيفي باستخدام I2C Slave IP لجهة خارجية.
- تم تصنيعه باستخدام مجموعة أدوات Xilinx Vivado.
- تم تنفيذه واختباره على لوحة Artix-7 FPGA.
- تم التحقق من توقيت التصميم لـ 100 ميجا هرتز.
- تم اختبار الأشكال الموجية على DSO / CRO.
- تم اختبار الاتصال بنجاح مع Arduino UNO كـ I2C Slave.
الخطوة 4: ملاحظات مهمة
- أثناء اختبار Master باستخدام I2C Slave IP ، قم بتكوين كود الرقيق وفقًا لمتطلباتك. قد ترغب في تغيير تردد الساعة الافتراضي وعنوان التابع. يجب تكوين تردد الساعة في الرمز الرئيسي أيضًا.
- أثناء الاختبار على متن الطائرة ، لا تنس مقاومات السحب لأن خط SDA هو إخراج استنزاف شائع !!! تحقق من google لمقاومة السحب الموصى بها لسرعات i2c المختلفة. لقد استخدمت 2.2 كيلو هرتز لـ 100 كيلو هرتز.
- في حالة عدم استخدام منضدة الاختبار ومحاكاة Master بشكل مستقل ، قم بمحاكاة إشارة SDA بعناية ، حيث إنها إشارة ثنائية الاتجاه (inout). لديها اثنين من السائقين ، الجانب الرئيسي والجانب الرقيق. يجب أن تعرف متى "تفرض" ومتى "تفكك".
- SCL هو خط أحادي الاتجاه. لا حاجة للسحب.
- يرجى الانتقال إلى وثائق IP بدقة.
الخطوة 5: الملفات المرفقة
- جميع رموز RTL الخاصة بـ I2C Master.
- منضدة الاختبار ، رموز الرقيق I2C أيضًا ، للاختبار.
- توثيق IP.
لأية استفسارات ، لا تتردد في الاتصال بي:
ميتو راج
تابعني:
للاستفسارات ، اتصل بـ: [email protected]
موصى به:
برنامج Arduino Hang Guardian - برنامج Arduino Watchdog Timer التعليمي: 6 خطوات
برنامج Arduino Hang Guardian - برنامج Arduino Watchdog Timer التعليمي: مرحبًا بالجميع ، هذا يحدث لنا جميعًا. تقوم ببناء مشروع ، وتوصيل جميع المستشعرات بحماس ، وفجأة ، يتوقف Arduino ولا تتم معالجة أي مدخلات. "ما الذي يحدث؟" ، ستسأل وتبدأ في البحث في الكود الخاص بك ، فقط لإعادة
تصميم وحدة تحكم بسيطة في ذاكرة التخزين المؤقت رباعية الاتجاهات في VHDL: 4 خطوات
تصميم وحدة تحكم ذاكرة تخزين مؤقت بسيطة رباعية الاتجاهات في VHDL: في التعليمات السابقة الخاصة بي ، رأينا كيفية تصميم وحدة تحكم ذاكرة تخزين مؤقت بسيطة ومباشرة. هذه المرة ، نتقدم خطوة للأمام. سنقوم بتصميم وحدة تحكم بسيطة في ذاكرة التخزين المؤقت الترابطية رباعية الاتجاهات. مميزات ؟ معدل تفويت أقل ، ولكن على حساب الأداء
تصميم وحدة تحكم المقاطعة القابلة للبرمجة في VHDL: 4 خطوات
تصميم وحدة تحكم المقاطعة القابلة للبرمجة في VHDL: لقد غمرني نوع الردود التي أحصل عليها في هذه المدونة. شكرًا يا رفاق على زيارة مدونتي وتحفيزهم على مشاركة معرفتي معكم. هذه المرة ، سأقدم تصميم وحدة أخرى مثيرة للاهتمام نراها في جميع SOCs - Interrupt C
تصميم SPI Master في VHDL: 6 خطوات
تصميم SPI Master في VHDL: في هذه التعليمات ، سنقوم بتصميم SPI Bus Master من البداية في VHDL
كيفية تحويل الحيوانات باستخدام برنامج جيمب (برنامج مجاني): 5 خطوات
كيفية تحويل الحيوانات باستخدام برنامج GIMP (برنامج مجاني): سوف أعلمك كيفية تحويل حيوانين خلال هذا التدريب. يمكنك استخدام طريقة التحويل هذه لأي حيوانات ، أو أي إبداع يمكنك التوصل إليه. أرني إبداعاتك ، باستخدام هذا الدليل السهل المتابعة! الأشياء المطلوبة: الكمبيوتر ، الإبداع