فهرست مطالب:
- مرحله 1: ایجاد مدار الکترونیکی
- مرحله 2: Pin Planner و Edit Verilog Code را بررسی کنید
- مرحله 3: کد Verilog را ویرایش کنید
- مرحله 4: کد Verilog را کامپایل کنید
- مرحله 5: بیایید آن را امتحان کنیم
تصویری: FPGA Cyclone IV DueProLogic - دکمه فشار و LED: 5 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:52
در این آموزش ، ما قصد داریم از FPGA برای کنترل مدار LED خارجی استفاده کنیم. ما قصد داریم کارهای زیر را اجرا کنیم
(الف) از دکمه های فشار روی FPGA Cyclone IV DuePrologic برای کنترل LED استفاده کنید.
(B) LED فلش به صورت دوره ای روشن و خاموش می شود
نمایشی ویدئویی
منوی آزمایشگاه:
مرحله 1: ایجاد مدار الکترونیکی
مرحله 2: Pin Planner و Edit Verilog Code را بررسی کنید
مرحله 3: کد Verilog را ویرایش کنید
هنگام خرید FPGA DueProLogic ، باید یک DVD دریافت کنید. پس از باز کردن "Projects_HDL" ، باید فایل کد اصلی را مشاهده کنید
کد برجسته شده را اضافه کنید. پورت های ورودی/خروجی را ثبت کرده و شماره هایی را به پورت ها اختصاص می دهد.
سیم خروجی [7: 0] XIO_1 ، // XIO-D2-D9
سیم خروجی [5: 0] XIO_2 ، // XIO-D10-D12
سیم خروجی [5: 0] XIO_3 ، // XIO-D22-D29
سیم ورودی [5: 0] XIO_4 ، // XIO-D30-D37
سیم ورودی [5: 0] XIO_5 ، // XIO-D38-D45
سیم خروجی [4: 0] XIO_6_OUT ، // XIO-D46-D53
سیم ورودی [31: 5] XIO_6 ، // XIO-D46-D53
سیم خروجی [2: 0] XIO_7 ، // XIO - D69 ، D70 ، D71 ، D74 ، D75 ، D76
سیم ورودی UBA ، // کلیدهای فشار دکمه
سیم ورودی UBB // کلیدهای فشار دکمه
اختصاص XIO_1 [3] = start_stop_cntrl؛
اختصاص XIO_2 [1] = start_blinky؛ // LED فلش LED روشن و خاموش
اختصاص XIO_2 [2] = 1'b1 ؛ // خروجی HIGH
اختصاص XIO_2 [3] = ~ UBA؛ // دکمه A را فشار دهید
اختصاص XIO_2 [4] = UBB ؛ // دکمه B را فشار دهید
اختصاص c_enable = XIO_5 [2]؛
اختصاص LEDExt = XIO_5 [5] ؛
سپس باید تایمر تاخیر را تنظیم کنیم. کد تایمر اصلی را کامنت کنید و یک تابع تایمر جدید بنویسید
//-----------------------------------------------
// شروع LED چشمک زن
//-----------------------------------------------
/*
همیشه @(posedge CLK_66 یا negedge RST)
شروع
اگر (! RST)
start_blinky <= 1'b0؛
دیگری
شروع
if (control_register [7: 4]> 0)
start_blinky <= 1'b1؛
دیگری
start_blinky <= 1'b0؛
پایان
پایان
*/
reg [31: 0] سابق ؛
شروع اولیه
ex <= 32'b0؛
start_blinky <= 1'b0؛
پایان
همیشه @(posedge CLK_66)
شروع
ex <= ex + 1'b1؛
if (ex> 100000000) // فلاش روشن/خاموش ~ 1.6 ثانیه ، کلاک 66 مگاهرتز
شروع
start_blinky <=! start_blinky؛
ex <= 32'b0؛
پایان
پایان
//-----------------------------------------------
// شمارنده تایمر تاخیری LED
//-----------------------------------------------
/*
همیشه @(posedge CLK_66 یا negedge RST)
شروع
اگر (! RST)
led_delay_counter <= TIMER_LOW_LIMIT؛
دیگری
شروع
if (وضعیت [SELECT_MODE])
led_delay_counter <= timer_value؛
else if (وضعیت [WAIT_FOR_TIMER])
led_delay_counter <= led_delay_counter - 1'd1؛
پایان
پایان*/
مرحله 4: کد Verilog را کامپایل کنید
"شروع گردآوری" را در Quartus فشار دهید ، هیچ پیام خطایی ایجاد نمی شود.
در صورت دریافت پیام خطا در مورد چندین پین. به Assignments -> Device -> Device and Pin Options -> Dual -Purple Pins -بروید و مقدار پین مناسب را به "Use as I/O معمولی" تغییر دهید.
پس از کامپایل ، باید فایل خروجی pof را مستقیماً دریافت کنید. اگر نرم افزار شما به روز نیست ، ممکن است فقط فایل sof دریافت کنید. هنگامی که این اتفاق می افتد ، روی "فایل" در Quartus -> "تبدیل فایل های برنامه نویسی" کلیک کنید. تنظیماتی را که با کادر قرمز مشخص شده اند تغییر دهید.
مرحله 5: بیایید آن را امتحان کنیم
بالاخره باید کار کنه !!! LED زرد همیشه روشن است. LED قرمز چشمک می زند. اگر دکمه B. را فشار دهید LED آبی خاموش می شود اگر دکمه A را فشار دهید LED سبز روشن می شود
توصیه شده:
FPGA Cyclone IV DueProLogic دوربین رزبری پای را کنترل می کند: 5 مرحله
FPGA Cyclone IV DueProLogic دوربین رزبری پای را کنترل می کند: با وجود اینکه FPGA DueProLogic به طور رسمی برای آردوینو طراحی شده است ، ما FPGA و Raspberry Pi 4B را قابل انتقال می کنیم. سه کار در این آموزش اجرا می شود: (الف) همزمان دو دکمه را فشار دهید FPGA برای چرخاندن زاویه
FPGA Cyclone IV DueProLogic Control Servo Motor: 4 مرحله
FPGA Cyclone IV DueProLogic Controls Servo Motor: در این آموزش قصد داریم کد Verilog را برای کنترل سرو موتور بنویسیم. سرو SG-90 توسط Waveshare تولید می شود. هنگام خرید سروو موتور ، ممکن است یک برگه داده دریافت کنید که ولتاژ کار ، حداکثر گشتاور و Pu پیشنهادی را نشان می دهد
مقاوم سازی چراغ فشار LED: 9 مرحله (همراه با تصاویر)
تغییر یک چراغ فشار LED: این پروژه شروع شد زیرا من یک چراغ فشار LED در کمدم داشتم که به اندازه کافی روشن نبود تا بتوانم خوب ببینم. من فکر می کردم باتری ها فقط کم می شوند ، اما وقتی آنها را تعویض کردم ، روشن تر نشد! فکر کردم چراغ را باز می کنم تا
سوئیچ فشار آردوینو به LED: 4 مرحله
سوئیچ فشار آردوینو به LED: این پروژه نحوه استفاده از سنسور فشار را به عنوان سوئیچ نشان می دهد ، که باعث می شود LED تا زمانی که فشار به سنسور اعمال می شود روشن تر شود
سه فشار فشار - خاموش فشار مدارهای اتصال: 3 مرحله
سه Push ON-Push OFF Latching Circuits: فلیپ فلاپ یا لچ مداری است که دارای دو حالت پایدار است و می توان از آن برای ذخیره اطلاعات حالت استفاده کرد. مدار را می توان با اعمال سیگنال (در این مورد ، با فشار دادن یک دکمه) تغییر حالت داد. در اینجا ، من سه روش مختلف برای نشان دادن