جدول المحتويات:

ساعة توقيت أساسية باستخدام لوحة VHDL و Basys3: 9 خطوات
ساعة توقيت أساسية باستخدام لوحة VHDL و Basys3: 9 خطوات

فيديو: ساعة توقيت أساسية باستخدام لوحة VHDL و Basys3: 9 خطوات

فيديو: ساعة توقيت أساسية باستخدام لوحة VHDL و Basys3: 9 خطوات
فيديو: تايمر 24 ساعة التايمر والمؤقت الزمني timer 24 hours 2024, شهر نوفمبر
Anonim
Image
Image

مرحبًا بك في التعليمات حول كيفية إنشاء ساعة توقيت باستخدام لوحة VHDL و Basys 3 الأساسية. نحن متحمسون لمشاركة مشروعنا معك! كان هذا مشروعًا نهائيًا لدورة CPE 133 (التصميم الرقمي) في Cal Poly ، SLO في خريف 2016. المشروع الذي أنشأناه عبارة عن ساعة توقيت بسيطة تبدأ ، وتعيد تعيين ، وتوقف مؤقتًا. تأخذ ثلاثة أزرار ضغط على لوحة Basys3 كمدخلات ، ويتم عرض الوقت على شاشة اللوحة المكونة من أربعة أرقام المكونة من سبعة أجزاء. يتم عرض الوقت المنقضي بالثواني: تنسيق المئتي ثانية. يستخدم ساعة نظام اللوحة كمدخل لتتبع الوقت المنقضي وإخراج الوقت للأرقام الأربعة للشاشة المكونة من سبعة أجزاء.

الخطوة 1: المواد

ضبط المدخلات والمخرجات
ضبط المدخلات والمخرجات

المواد التي ستحتاجها لهذا المشروع:

  • 1 كمبيوتر مثبت عليه Vivado Design Suite WebPack من Xilinx (يفضل الإصدار 2016.2)
  • 1 Digilent Basys3 لوحة Xilinx Artix-7 FPGA
  • 1 كابل منفذ USB

الخطوة 2: ضبط المدخلات والمخرجات

يوضح الشكل أعلاه مخطط كتلة المستوى العلوي لوحدة ساعة الإيقاف الرئيسية. تأخذ ساعة الإيقاف مدخلات "CLK" (ساعة) ، و "S1" (زر البدء) ، و "S2" (زر الإيقاف المؤقت) ، و "RST" (إعادة الضبط) ولديها إخراج 4 بت "Anodes" ، 7 بت الإخراج "الجزء" ، والمخرج أحادي البت "DP" (الفاصلة العشرية). عندما يكون الإدخال "S1" مرتفعًا ، تبدأ ساعة الإيقاف في حساب الوقت. عندما يكون "S2" منخفضًا ، توقف ساعة الإيقاف الوقت مؤقتًا. عندما تكون "RST" عالية ، تتوقف ساعة الإيقاف وتعيد ضبط الوقت. توجد أربع وحدات فرعية داخل الدائرة: مقسم الساعة ، وعداد الأرقام ، ومحرك العرض ذي الأجزاء السبعة ، ومشفّر العرض ذي الأجزاء السبعة. تربط الوحدة الرئيسية لساعة الإيقاف جميع الوحدات الفرعية معًا وبالمدخلات والمخرجات.

الخطوة 3: صنع الساعات

صنع الساعات
صنع الساعات

تأخذ وحدة مقسم الساعة ساعة النظام وتستخدم إدخال القاسم لإنشاء ساعة بأي سرعة لا تزيد عن ساعة النظام. تستخدم ساعة الإيقاف وحدتي ساعة مختلفتين ، إحداهما تنشئ ساعة 500 هرتز والأخرى تنشئ ساعة 100 هرتز. يظهر الرسم التخطيطي لمقسم الساعة في الشكل أعلاه. يأخذ مقسم الساعة مدخلات أحادية بت "CLK" ، ومدخلات 32 بت "مقسوم" ومخرج أحادي بت "CLKOUT". "CLK" هي ساعة النظام و "CLKOUT" هي الساعة الناتجة. تتضمن الوحدة أيضًا بوابة NOT ، والتي تقوم بتبديل إشارة "CLKTOG" عندما يصل العد إلى قيمة المقسوم عليه.

الخطوة 4: العد إلى عشرة

عد إلى عشرة
عد إلى عشرة

يحسب عداد الأرقام كل رقم من 0 إلى 10 وينشئ ساعة أخرى للرقم التالي ليعمل خارج هذا الرقم عندما يصل العد إلى 10. تأخذ الوحدة 3 إدخالات أحادية بت "S" و "RST" و "CLK "ويؤدي إلى إخراج بت واحد" N "وإخراج 4 بت" D ". الإدخال "S" هو تمكين الإدخال. تضيء الساعة عندما تكون "S" عالية وتنطفئ عندما تكون "S" منخفضة. "RST" هو إدخال إعادة التعيين بحيث تتم إعادة ضبط الساعة عندما تكون "RST" عالية. "CLK" هو إدخال الساعة لعداد الأرقام. "N" هو خرج الساعة الذي يصبح ساعة الإدخال للرقم التالي. يمثل الإخراج "D" القيمة الثنائية للرقم الموجود عليه العداد.

الخطوة 5: عرض الأرقام

عرض الأرقام
عرض الأرقام

سيعمل مشفر العرض المكون من سبعة أجزاء على ترميز الرقم الثنائي المستلم من وحدة تشغيل شاشة العرض المكونة من سبعة أجزاء وتحويله إلى دفق من البتات التي سيتم تفسيرها على أنها قيم "1" أو "0" لكل جزء من العرض. يتم استلام الرقم الثنائي بواسطة الوحدة النمطية باعتباره "رقم" إدخال 4 بت وينتج عنه "مقاطع" إخراج ذات 7 بتات. تتكون الوحدة النمطية من فدرة عملية ذات حالة واحدة تخصص تدفقًا محددًا من 7 بتات لكل قيمة إدخال محتملة من 0 إلى 9. وتمثل كل بتة في التدفقات ذات السبع بتات واحدة من الأجزاء السبعة للأرقام المعروضة على الشاشة. ترتيب المقاطع في الدفق هو "abcdefg" حيث تمثل القيمة 0 المقاطع التي تضيء للرقم المحدد.

الخطوة 6: كيفية عرض ساعة الإيقاف

كيفية عرض ساعة الإيقاف
كيفية عرض ساعة الإيقاف

في وحدة تشغيل شاشة العرض المكونة من سبعة أجزاء ، هناك أربعة مدخلات 4 بت "D0" و "D1" و "D2" و "D3" ، يمثل كل منها أربعة أرقام يتم عرضها. الإدخال "CLK" هو إدخال ساعة النظام. يمثل الإخراج أحادي البت "DP" الفاصلة العشرية على الشاشة ذات الأجزاء السبعة. تحدد "الأنودات" الناتجة ذات 4 بت الرقم الذي يظهر على الشاشة المكونة من سبعة أجزاء ويعتمد الإخراج المكون من 4 بتات "temp" على حالة إدخال التحكم 2 بت "SEL". تستخدم الوحدة 4 معددات لمدخل التحكم "SEL" والمخرجات الثلاثة ؛ "الأنودات" و "درجة الحرارة" و "موانئ دبي".

الخطوة 7: جمع كل ذلك معًا

يتم استخدام كتلة عملية "if" التي تعمل على مدار الساعة 500 هرتز لإنشاء أزرار البدء والإيقاف المؤقت. ثم اربط جميع الوحدات الفرعية معًا في الوحدة الرئيسية لساعة الإيقاف عن طريق الإعلان عن مكونات كل وحدة فرعية فردية واستخدام إشارات مختلفة. تأخذ الوحدات الفرعية للأرقام إخراج الساعة للوحدة الفرعية المكونة من الرقم السابق مع أخذ أول واحد في الساعة 100 هرتز. ثم تصبح مخرجات "D" للوحدات الفرعية المكونة من الأرقام هي المدخلات "D" لوحدة تشغيل شاشة العرض ذات الأجزاء السبعة. وأخيرًا ، يصبح خرج "temp" لوحدة تشغيل شاشة العرض المكونة من سبعة أجزاء هو الإدخال "temp" لوحدة التشفير المكون من سبعة أجزاء.

الخطوة 8: القيود

القيود
القيود

استخدم 3 أزرار انضغاطية (W19 و T17 و U18) لمدخلات "RST" و "S1" و "S2". W19 هو زر إعادة الضبط ، T17 هو زر البدء (S1) ، و U18 هو زر الإيقاف المؤقت (S2). يلزم أيضًا تقييد إدخال إدخال الساعة باستخدام المنفذ W5. تذكر أيضًا إضافة هذا السطر إلى قيد الساعة:

create_clock -add -name sys_clk_pin -period 10.00 -waveform {0 5} [get_ports {CLK}]

قم أيضًا بربط الأنودات والمقاطع باللوحة بحيث يتم عرض ساعة الإيقاف على الشاشة المكونة من سبعة أجزاء كما هو موضح في ملف القيود.

الخطوة 9: الاختبار

اختبارات
اختبارات

تأكد من أن جهازك يعمل من خلال اللعب بالأزرار الثلاثة: الضغط عليها مع الاستمرار في كل ترتيب ممكن من أجل العثور على أي مشاكل محتملة في التعليمات البرمجية الخاصة بك.

موصى به: