فهرست مطالب:

سیستم زنگ خطر رقابتی: 5 مرحله
سیستم زنگ خطر رقابتی: 5 مرحله

تصویری: سیستم زنگ خطر رقابتی: 5 مرحله

تصویری: سیستم زنگ خطر رقابتی: 5 مرحله
تصویری: لزبازی لیلا اوتادی چه لبی میگیره (نبینی از دستت رفته) 2024, نوامبر
Anonim
Image
Image
مواد
مواد

سیستم بوزر رقابتی طراحی شده در این پروژه مشابه سیستمهای زنگوله ای است که در مسابقات منطقه ای و ملی کاسه علمی استفاده می شود. این پروژه از مشارکت من با تیم کاسه علمی دبیرستان به مدت سه سال الهام گرفت. ما همیشه آرزو داشته ایم که سیستم زنگ اخطار را با تایمر 5 ثانیه و 20 ثانیه بازسازی کنیم.

برای ارائه پیش زمینه ای در مورد سیستم زنگ ، زنگ های کاسه علمی طوری برنامه ریزی شده اند که حداکثر 8 پخش کننده (با 8 بوزر جداگانه) وارد کنند. پس از فشار دادن یک زنگ ، زنگ اول شخص روشن می شود تا نشان دهد کدام بازیکن س questionال را دریافت می کند. بقیه بازیکنان "قفل" می شوند ، این بدان معناست که تا زمانی که ناظر سیستم تنظیم کننده زنگ را تنظیم نکند ، زنگ های آنها پاسخ نمی دهند.

پس از خواندن سوالات توسط ناظر ، دکمه ای را برای شروع زمان شمارش معکوس فشار می دهد که روی صفحه نمایش هفت قسمتی نمایش داده می شود. پس از پرسش "جمع و جور کردن" ، ناظم می تواند دکمه سمت راست را فشار داده تا شمارش معکوس از 5 ثانیه شروع شود. در همین حال ، پس از یک سوال "پاداش" ، ناظم می تواند دکمه سمت چپ را فشار داده تا شمارش معکوس از 20 ثانیه شروع شود. وقتی تایمر به صفر رسید ، یک زنگ صدا نشان می دهد که زمان پخش تمام شده است.

برای تنظیم مجدد سیستم و تایمر شمارش معکوس ، ناظم می تواند دکمه مرکزی را فشار دهد. برای تنظیم مجدد مکانیزم قفل و LED های پخش کننده ، کلیدهای پخش کننده 1 و پخش کننده 2 باید کم باشد.

مرحله 1: مواد

به موارد زیر نیاز خواهید داشت:

  • برد Basys3 (یا برد FPGA معادل آن)
  • کابل USB Micro-B
  • بلندگو (من از بلندگوی غیرفعال استفاده کردم)
  • 2 سیم
  • نرم افزار پیاده سازی بر روی FPGA (من از Vivado استفاده کردم)
  • فایل سیستم وزوز رقابتی

مرحله 2: نمودار جعبه سیاه

نمودار جعبه سیاه
نمودار جعبه سیاه

نمودار جعبه سیاه ورودی ها و خروجی هایی را که در این سیستم زنگ استفاده می شود نشان می دهد.

ورودی:

player1، player2 این ورودی ها به دو کلید روی برد Basys3 متصل می شوند. برای راحتی ، از چپ ترین و راست ترین سوئیچ ها استفاده می شود.

تنظیم مجدد دکمه مرکزی برای نشان دادن دکمه تنظیم مجدد استفاده می شود.

count_down_20_sec دکمه سمت چپ برای نشان دادن دکمه تایمر 20 ثانیه استفاده می شود.

count_down_5_sec دکمه سمت راست برای نشان دادن دکمه تایمر 20 ثانیه استفاده می شود. برای اطمینان از شروع هر دو تایمر 20 ثانیه و 5 ثانیه ، دکمه را نگه دارید تا زمانی که صفحه هفت قسمتی تایمر را نشان می دهد.

CLK برد FPGA یک ساعت تولید می کند که با فرکانس 10 ns کار می کند.

خروجی ها:

بلندگو خروجی بلندگو به یک زنگ یا بلندگوی خارجی متصل است. شما باید بلندگو را به پورت های Basys3 برد JA pmod وصل کنید. این مرحله در زیر شرح داده خواهد شد.

speaker_LED این خروجی به یک LED در مرکز برد متصل است و فقط زمان خروجی بلندگوی FPGA را بالا نشان می دهد. می توانید از این دستگاه برای آزمایش بلندگوی خارجی خود استفاده کنید. توجه داشته باشید که برخی از درگاه های pmod ممکن است خوب کار نکنند ، بنابراین می توانید پورت های مختلف را امتحان کنید و از LED برای بررسی اینکه آیا بلندگو باید روشن باشد استفاده کنید.

SEGMENTS این خروجی به هشت قسمت جداگانه در صفحه هفت قسمتی از جمله نقطه اعشار متصل می شود.

DISP_EN این خروجی به چهار آند در صفحه هفت قسمتی متصل است.

player_LED این خروجی یک سیگنال 2 بسته است که به LED های بالای سوئیچ های player1 و player2 متصل است. اولین بازیکنی که سوئیچ مربوطه را بچرخاند با LED نشان داده می شود. توجه داشته باشید که هر دو LED نمی توانند همزمان روشن شوند.

مرحله 3: اتصال بلندگوی خارجی

اتصال بلندگوی خارجی
اتصال بلندگوی خارجی

برای اتصال بلندگوی خارجی به برد Basys3 ، دو سیم خود را برداشته و مطابق تصویر بالا وصل کنید. خط سفید پایانه منفی بلندگو را به پورت زمین روی برد متصل می کند. خط قرمز پایانه مثبت بلندگو را به درگاه pmod JA10 روی برد متصل می کند.

فایل محدودیت ها به گونه ای طراحی شده است که هر پورتی از JA1 تا JA10 باید کار کند. با این حال ، برخی از پین های روی برد پاسخگو نیستند ، بنابراین اگر JA10 کار نکند ، می توانید سایر پورت ها را امتحان کنید.

مرحله 4: نمودار ساختاری

نمودار ساختاری
نمودار ساختاری

تصویر بالا نمودار ساختاری سیستم وزوز رقابتی شامل تمام اجزای تشکیل دهنده ماژول اصلی را نشان می دهد. شرح آنها به شرح زیر است:

player_lockout_LED1 جزء LED قفل کننده دستگاه یک دستگاه حالت محدود است که از کدگذاری یک گرم استفاده می کند. دارای چهار ورودی است: player1 ، player2 ، reset و CLK. این شامل یک بسته خروجی 2 بیتی player_LED است. ورودی ها و خروجی های جزء player_lockout_LED1 همه مستقیماً به ورودی ها و خروجی های ماژول اصلی با نام یکسان متصل می شوند.

buzzer_tone1 جزء buzzer بر اساس این کد است که در انجمن ارسال شده است

stackoverflow.com/questions/22767256/vhdl-… با این حال ، آن را تغییر داد تا صدایی پیوسته با فرکانس 440 هرتز (یک یادداشت) تولید کند. ورودی فعال به سیگنال buzzer_enable متصل است که خروجی قطعه down_counter_FSM1 است.

clk_div1 جزء تقسیم کننده ساعت نسخه تغییر یافته تقسیم کننده ساعت پروفسور برایان میلی است که در PolyLearn ارائه شده است. سرعت را کند می کند بنابراین دوره خروجی 1 ثانیه است.

down_counter_FSM1 شمارنده پایین یک FSM است که برای شمارش صفر شمارش شده است. دو زمان شروع احتمالی 20 یا 5 است که توسط ورودی کاربر انتخاب می شود. هنگامی که زمان سنج به صفر برسد ، خروجی "1" را نشان می دهد که نشان می دهد زمان تمام شده است. این خروجی به عنوان یک فعال کننده برای جزء صدای زنگ عمل می کند. شمارنده همچنین یک سیگنال بسته 8 بیتی را ارسال می کند که یک BCD 8 بیتی را که به رمزگشای بخش ارسال می شود ارسال می کند. خروجی دیگر counter_on است که به ورودی معتبر در رمزگشای قطعه نیز متصل است.

sseg_dec1 جزء رمزگشای هفت قسمتی در PolyLearn ارائه شده است و توسط پروفسور برایان میلی نوشته شده است. از ورودی BCD ارائه شده توسط down_counter_FSM1 استفاده می کند و معادل اعشاری را در صفحه نمایش هفت قسمتی خروجی می دهد. وقتی شمارنده روشن است ، ورودی معتبر زیاد است. این به رمزگشا اجازه می دهد تا عدد اعشاری را در صفحه هفت قسمت نمایش دهد. وقتی شمارنده خاموش است ، ورودی معتبر کم است. صفحه نمایش هفت قسمتی تنها چهار خط تیره را نشان می دهد.

مرحله 5: نمودار ماشین حالت محدود (FSM)

نمودار ماشین حالت محدود (FSM)
نمودار ماشین حالت محدود (FSM)

لیست حساسیت برای دستگاه حالت محدود شامل player1 ، player2 ، reset و clock است. خروجی FSM یک پخش کننده بسته نرم افزاری 2 بیتی است که به دو LED در برد Basys3 متصل است. ماشین حالت محدود سه حالت زیر را نشان می دهد:

ST0 حالت شروع است. در این حالت ، دو LED خاموش هستند. اگر player1 و player2 پایین باشند FSM در این حالت باقی می ماند. تنظیم مجدد ناهمزمان نیز حالت ST0 را تنظیم می کند. وقتی سوئیچ player1 روی بالا تنظیم شود ، حالت بعدی ST1 خواهد بود. اگر سوئیچ player2 روی بالا تنظیم شده باشد ، حالت بعدی ST2 خواهد بود.

ST1 حالتی است که LED1 برای آن روشن است. FSM برای هر ورودی در این حالت باقی می ماند. این بدان معناست که حتی زمانی که سوئیچ player2 بلافاصله پس از بالا آمدن سوئیچ player1 روی بالا تنظیم شود ، در ST1 باقی می ماند. فقط تنظیم مجدد ناهمزمان می تواند حالت بعدی را روی ST0 تنظیم کند.

ST2 حالتی است که LED2 برای آن روشن است. مشابه ST! ، FSM برای هر ورودی در این حالت باقی می ماند ، حتی زمانی که سوئیچ player1 بلافاصله پس از بالا رفتن سوئیچ player2 روی بالا تنظیم شود. باز هم ، فقط تنظیم مجدد ناهمزمان می تواند حالت بعدی را روی ST0 تنظیم کند.

توصیه شده: