فهرست مطالب:

ساعت زنگ دار Basys 3: 9 مرحله
ساعت زنگ دار Basys 3: 9 مرحله

تصویری: ساعت زنگ دار Basys 3: 9 مرحله

تصویری: ساعت زنگ دار Basys 3: 9 مرحله
تصویری: بهترین بهترینها؟؟؟. گیرنده رادیویی TECSUN PL680 بررسی کامل!!! #tecsun 2024, اکتبر
Anonim
ساعت زنگ دار Basys 3
ساعت زنگ دار Basys 3

پروژه ما با استفاده از برد Basys 3 FPGA ، آردوینو و برد بلندگوی بلندگو ، یک ساعت زنگ دار ایجاد می کند. کاربر می تواند با استفاده از 11 سوئیچ ورودی در Basys 3 زمان فعلی را به برد وارد کرده و با استفاده از دکمه وسط روی برد مقدار را قفل کند. سپس کاربر می تواند زمان هشدار را با استفاده از همان سوئیچ ها وارد کند اما دکمه سمت چپ را فشار دهید تا زمان زنگ هشدار قفل شود. اگر زمان اشتباه وارد شده باشد ، می توانید دکمه تنظیم مجدد (دکمه بالا) را فشار دهید و زمان ساعت فعلی و زمان زنگ ساعت 00:00 تنظیم شود. سپس کاربر می تواند ساعت را با استفاده از سمت چپ سوئیچ شروع کرده و با استفاده از کلید بعدی زنگ ساعت را روشن کند. هنگامی که زنگ هشدار روشن است ، ساعت زنگ دار هنگامی که زمان ساعت و تنظیم زمان زنگ هماهنگ می شوند ، صدا می دهد.

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

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

ما پروژه خود را با ترسیم نمودار جعبه سیاه برای تجسم ورودی ها و خروجی های مورد نیاز در برنامه خود آغاز کردیم. ورودی های زیر برای برنامه ما مانند ورودی 5 بیتی (Hour_in) برای تعیین زمان 24 ساعته ، ورودی 6 بیتی (Min_in) برای نمایش حداکثر 60 دقیقه ، دکمه تنظیم مجدد (Rst_b) برای کاربر امکان پذیر شد ورودی زمان خود را تغییر دهید ، ورودی 1 بیتی (alm_en) که ورودی زنگ هشدار را بارگذاری می کند ، ورودی 1 بیتی (alarm_sw) برای خاموش کردن ساعت زنگ دار هنگام فعال شدن ، ورودی 1 بیتی (e_sec) که زمان شمارنده را کنترل می کند ثانیه اجرا می شود ، یک ورودی 1 بیتی (Led_btn) که زمان فعلی را تنظیم می کند و در نهایت یک ورودی 1 بیتی (clk) که زمان نمایش داده شده توسط برد Basys 3 را کنترل می کند. خروجی ها عبارتند از (alm_on) که سیگنال را به آردوینو ارسال می کند ، خروجی sseg که زمان ورودی را در Basys 3 نمایش می دهد ، و خروجی آند است که محل نمایش ورودی ها را در صفحه هفت قسمت نمایش می دهد.

مرحله 2: ساعت آهسته

ساعت آهسته
ساعت آهسته

آهسته ساعت یا فایل clock_div2 ساعتی را ایجاد می کند که فرکانس آن 2 هرتز است. اگر این ساعت را به شمارنده ثانیه خود وارد کنیم ، مقدار ثانیه در هر ثانیه یک افزایش می یابد. ساعت آهسته برای ایجاد یک سیگنال ساعت قابل اعتماد استفاده می شود که یک بار در ثانیه از کم به زیاد تغییر می کند.

مرحله 3: شمارنده

پیشخوان
پیشخوان
پیشخوان
پیشخوان

شمارنده اجزاء (دقیقه و ثانیه):

عملکرد اصلی دقیقه و ثانیه این است که شمارنده هستند. شمارنده دقیقه ورودی (Vin) را که سیگنال ورودی است (Min_in) می گیرد و سپس شمارش می کند تا به ورودی مورد نظر وارد شود. ثانیه ها فقط در ورودی سوئیچ (e_Sec) طول می کشد زیرا نمی تواند در قسمت هفتم نمایش داده شود و هنگامی که سوئیچ "1" زیاد شد ، در پس زمینه شمارش می شود. هر دو مقدار (Qout) را در آنجا خروجی می دهند ، و سپس در (data) ذخیره می شود که آن را به SSEG ارسال می کند که در فایل پیوند انجام می شود. همچنین ، وقتی دقیقه و ثانیه به مقادیر 59 برسد بازنشانی می شود و خروجی آنها برای افزایش دقیقه/ساعت 1 است. همچنین می تواند با تنظیم مجدد (rst_b) به ورودی های آنها نقشه برداری شود.

مرحله 4: ساعت ضد

ساعت ضد
ساعت ضد
ساعت ضد
ساعت ضد

ساعت شمارنده اجزاء

به طور مشابه ، به شمارنده اجزای دقیقه و ثانیه ، م hourلفه ساعت ورودی هایی مانند (Vin) را که سیگنالی از پیوند ورودی فایل (Hour_in) است ، دریافت می کند و دارای خروجی هایی است که به همان ترتیب دقیقه و ثانیه به هم متصل می شوند. وقتی مقدار شمارش ساعت به 24 00 برسد به 00 00 بازنشانی می شود.

مرحله 5: زنگ هشدار

زنگ خطر. هشدار
زنگ خطر. هشدار
زنگ خطر. هشدار
زنگ خطر. هشدار
زنگ خطر. هشدار
زنگ خطر. هشدار
زنگ خطر. هشدار
زنگ خطر. هشدار

فایل.vhd آلارم از d-flip-flops تشکیل شده است که دستگاه های ذخیره سازی هستند و می توانند داده های دیجیتالی را ذخیره کنند. از فایل هشدار برای ذخیره زمانی که زنگ هشدار فعال می شود استفاده می شود. برای ذخیره داده های ساعت (ورودی 5 بیتی) و دقیقه ها (ورودی 6 بیتی) باید 11 دمپای فلاپ فلاپ را در فایل هشدار خود مهر کنیم. برای انجام این کار ، ابتدا باید منطق حاکم بر عملکرد d-flip-flops را وارد کرده و قطعات را ترسیم کنیم. هر یک از 11 d-flip-flops یک بیت از داده های ورودی را ذخیره کرده و اجازه می دهد داده ها در خروجی های فایل هشدار نقشه برداری شوند. از آنجا که d-flip-flops داده ها را ذخیره می کند ، ما می توانیم از داده ها در زمان بعدی استفاده کنیم حتی اگر سوئیچ های ورودی تغییر کرده باشند.

مرحله 6: درایور صفحه نمایش Universal Segment Segment

درایور صفحه نمایش Universal Segment Segment
درایور صفحه نمایش Universal Segment Segment
درایور صفحه نمایش جهانی هفت بخش
درایور صفحه نمایش جهانی هفت بخش
درایور صفحه نمایش جهانی هفت بخش
درایور صفحه نمایش جهانی هفت بخش

درایور صفحه نمایش جهانی هفت بخش ورودی ها را از مجموعه ساعت و ساعت دریافت می کند و قادر است آنها را به صفحه نمایش هفت بخش روی برد خروجی برساند. راننده قادر است دو عدد جداگانه را همزمان روی صفحه نمایش دهد. ما از این تابع برای نمایش زمان ساعت و دقیقه به طور جداگانه استفاده کردیم. نمایشگر هفت قسمتی فقط قادر است یک عدد را در یک زمان فعال کند ، بنابراین فایل sseg باید از multiplexing برای نمایش همزمان همه اعداد آن زمان استفاده کند. سیگنال ساعت تخته ها به sseg وارد می شود تا زمان صحیح برای مالتی پلکس را حفظ کند. برای تبدیل ورودی های فایل به فرمی که می تواند در صفحه نمایش هفت قسمت خروجی داشته باشد ، یک رمزگذار اعشاری کد شده باینری به دودویی ضروری است. خروجی نهایی فایل sseg به صفحه هفت قسمت ترسیم شده و زمان صحیح روی صفحه نمایش داده می شود.

مرحله 7: پیوند فایل

پیوند فایل
پیوند فایل
پیوند فایل
پیوند فایل
پیوند فایل
پیوند فایل

فایل پیوند همه جنبه های دیگر برنامه را متصل می کند و سیگنال ها را به مکان صحیح آنها ترسیم می کند. هر جزء در فایل آورده شده و نمونه سازی می شود. از سیگنال ها برای انتقال داده ها از یک جزء به قسمت دیگر استفاده می شود. نقشه پورت از نمودار جعبه سیاه ذکر شده در بالا پیروی می کند. فایل پیوند همچنین منطقی را که هنگام فعال شدن زنگ هشدار حاکم است ، دارد. بیشتر پروژه تا این مرحله به پایان رسیده است. کار باقی مانده این است که هر سیگنال را به مکان مناسب هدایت می کند.

مرحله 8: آردوینو

آردوینو
آردوینو
آردوینو
آردوینو

آردوینو برای فعال کردن بلندگو و همچنین کنترل لحن و مدت زمان نت پخش شده از طریق بلندگو استفاده می شود. آردوینو یک سیگنال دیجیتالی را از روی برد Basys 3 می خواند. هنگامی که این سیگنال زیاد است ، آردوینو یک سیگنال PWM را کنترل می کند که صدا و مدت زمان زنگ را کنترل می کند. سیگنال خروجی از آردوینو به سیگنال ورودی برد بلندگوی بلندگو متصل می شود که باعث افزایش صدای بلندگو می شود. آردوینو این فرایند را با سرعت زیاد و بارها در ثانیه تکرار می کند.

مرحله 9: مسیریابی کابل

مسیریابی کابل
مسیریابی کابل

برد آردوینو و Basys 3 باید از نظر فیزیکی برای انتقال سیگنال بین بردها متصل شوند. اولین کابل به سیم ، پایه پایه JA PMOD از Basys 3 تا پایه زمینی آردوینو خواهد بود. سپس سیم را از پایه 1 JA PMOD Basys 3 به پین دیجیتال 7 آردوینو وصل کنید. در مرحله بعد ، دو پایه زمینی از آردوینو را به پایه های پایه راننده بلندگو متصل کنید. در مرحله بعد ، خروجی 3.3 ولت arduino را به پین Vcc درایور بلندگو وصل کنید. سپس ، پایه دیجیتال 9 arduino را به پین In درایور بلندگو متصل کنید.

توصیه شده: