
جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-23 12:53

في هذا الدليل ، سنقوم بتصميم SPI Bus Master من البداية في VHDL.
الخطوة 1: نظرة عامة على SPI
- SPI هو ناقل تسلسلي متزامن
- جعلت شعبيتها وبساطتها معيارًا واقعيًا في الاتصال التسلسلي
- ناقل مزدوج الاتجاه
- بروتوكول بسيط ومن بين أسرع ناقل تسلسلي
الخطوة 2: مواصفات التصميم
هذه هي مواصفات SPI Master التي سنقوم بتصميمها:
- يدعم جميع أوضاع التشغيل الأربعة ؛ شكلي ديناميكيًا
- تتيح الساعة التحكم لتوفير الطاقة
- طول الكلمة وسرعة شكليًا إحصائيًا
- مقاطعة واحدة لكل من الإرسال والاستقبال
الخطوة 3: البدء
بادئ ذي بدء ، يجب أن يحتوي IP الخاص بنا على واجهتين. أحدهما هو واجهة تسلسلية والآخر هو واجهة متوازية. يتكون السطح البيني التسلسلي من الإشارات القياسية الواقعية لـ SPI: MOSI و MISO و SS و SCLK.
يُطلق على MOSI أحيانًا اسم SDO ويطلق على MISO أحيانًا اسم SDI.
يتم استخدام الواجهة التسلسلية للتواصل مع الأجهزة الطرفية الخارجية ، مثل العبيد SPI.
يتم استخدام الواجهة المتوازية للتواصل مع مضيفنا ، أي متحكم دقيق أو معالج دقيق ، والذي يخبر السيد فعليًا بالبيانات التي يجب إرسالها بشكل تسلسلي واستلامها من خلال الخطوط التسلسلية. على سبيل المثال ، تنتمي جميع حافلات البيانات إلى واجهة متوازية.
لدينا ساعة عالمية تقود منطق SPI الداخلي ، وكذلك SCLK ، والتي نقوم بإنشائها داخليًا.
لدينا أيضًا بعض إشارات التحكم مثل تمكين الكتابة وتمكين الساعة. والمقاطعة وإشارات الحالة الأخرى.
نظرًا لأنه يتعين علينا التعامل مع ظروف التحكم المعقدة ، فمن الأسهل تصميم عناوين IP للاتصالات التسلسلية مثل FSM. سنقوم بتصميم SPI master باعتباره ولايات ميكرونيزيا الموحدة كذلك. سيتم تشغيل FSM بواسطة ساعة داخلية أخرى تبلغ ضعف SCLK. يتم إنشاء تلك الساعة الداخلية باستخدام عدادات متزامنة من الساعة العالمية.
تحتوي جميع إشارات التحكم التي تعبر نطاقات الساعة على مزامنات لتكون في الجانب الأكثر أمانًا.
الخطوة 4: عرض RTL لأشكال الموجات المحاكاة و SPI Master Core


إنه تصميم RTL مكشوف بدون استخدام عناوين IP مخصصة لـ FPGA. ومن ثم فهو رمز محمول بالكامل لأي FPGA.
موصى به:
تصميم وحدة تحكم بسيطة في ذاكرة التخزين المؤقت رباعية الاتجاهات في VHDL: 4 خطوات

تصميم وحدة تحكم ذاكرة تخزين مؤقت بسيطة رباعية الاتجاهات في VHDL: في التعليمات السابقة الخاصة بي ، رأينا كيفية تصميم وحدة تحكم ذاكرة تخزين مؤقت بسيطة ومباشرة. هذه المرة ، نتقدم خطوة للأمام. سنقوم بتصميم وحدة تحكم بسيطة في ذاكرة التخزين المؤقت الترابطية رباعية الاتجاهات. مميزات ؟ معدل تفويت أقل ، ولكن على حساب الأداء
تصميم وحدة تحكم المقاطعة القابلة للبرمجة في VHDL: 4 خطوات

تصميم وحدة تحكم المقاطعة القابلة للبرمجة في VHDL: لقد غمرني نوع الردود التي أحصل عليها في هذه المدونة. شكرًا يا رفاق على زيارة مدونتي وتحفيزهم على مشاركة معرفتي معكم. هذه المرة ، سأقدم تصميم وحدة أخرى مثيرة للاهتمام نراها في جميع SOCs - Interrupt C
تصميم وحدة تحكم ذاكرة تخزين مؤقت بسيطة في VHDL: 4 خطوات

تصميم وحدة تحكم ذاكرة تخزين مؤقت بسيطة في VHDL: أكتب هذه التعليمات ، لأنني وجدت أنه من الصعب بعض الشيء الحصول على بعض رموز VHDL المرجعية للتعلم والبدء في تصميم وحدة تحكم ذاكرة التخزين المؤقت. لذلك صممت وحدة تحكم في ذاكرة التخزين المؤقت بنفسي من البداية ، واختبرتها بنجاح على FPGA. لدي ص
تصميم برنامج I2C Master in VHDL: 5 خطوات

تصميم I2C Master in VHDL: في هذه التعليمات ، تتم مناقشة تصميم سيد I2C بسيط في VHDL. ملاحظة: انقر فوق كل صورة لرؤية الصورة كاملة
تصميم وحدة تحكم VGA بسيطة في VHDL و Verilog: 5 خطوات

تصميم وحدة تحكم VGA بسيطة في VHDL و Verilog: في هذه التعليمات ، سنقوم بتصميم وحدة تحكم VGA بسيطة في RTL. وحدة تحكم VGA هي الدائرة الرقمية المصممة لتشغيل شاشات VGA. يقرأ من Frame Buffer (VGA Memory) الذي يمثل الإطار المراد عرضه ، ويولد