
Სარჩევი:
2025 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2025-06-01 06:09

ამ გაკვეთილში, ჩვენ ვაპირებთ გამოვიყენოთ FPGA გარე LED წრედის გასაკონტროლებლად. ჩვენ ვაპირებთ შემდეგი ამოცანების განხორციელებას
(A) გამოიყენეთ ღილაკები FPGA Cyclone IV DuePrologic- ზე LED- ის გასაკონტროლებლად.
(B) პერიოდულად ჩართეთ და გამორთეთ Flash LED
ვიდეო დემო
ლაბორატორიული მენიუ:
ნაბიჯი 1: შექმენით ელექტრონული წრე
ნაბიჯი 2: შეამოწმეთ Pin Planner და შეცვალეთ Verilog კოდი

ნაბიჯი 3: შეცვალეთ Verilog კოდი

როდესაც ყიდულობთ FPGA DueProLogic- ს, უნდა მიიღოთ DVD. მას შემდეგ რაც გახსნით "Projects_HDL" - ს, თქვენ უნდა ნახოთ ორიგინალური კოდის ფაილი
დაამატეთ მონიშნული კოდი. ის აღრიცხავს I/O პორტებს და რიცხვებს ანიჭებს პორტებს.
გამომავალი მავთული [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, // Push Button Switches
შეყვანის მავთული UBB // Push Button კონცენტრატორები
მიანიჭეთ XIO_1 [3] = start_stop_cntrl;
მიანიჭე XIO_2 [1] = დაწყება_ მოციმციმე; // LED flash LED ჩართული და გამორთული
მინიჭება XIO_2 [2] = 1'b1; // გამომავალი მაღალი
დავალება 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;
სხვა
დაწყება
თუ (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;
თუ (ყოფილი> 100000000) // ჩართვა/გამორთვა ~ 1.6 წამი, საათი 66 MHz
დაწყება
start_blinky <=! start_blinky;
ex <= 32'b0;
დასასრული
დასასრული
//-----------------------------------------------
// LED დაყოვნების ტაიმერის მრიცხველი
//-----------------------------------------------
/*
ყოველთვის @(posedge CLK_66 ან negedge RST)
დაწყება
თუ (! RST)
led_delay_counter <= TIMER_LOW_LIMIT;
სხვა
დაწყება
თუ (მდგომარეობა [SELECT_MODE])
led_delay_counter <= ქრონომეტრაჟის მნიშვნელობა;
სხვა შემთხვევაში (მიუთითეთ [WAIT_FOR_TIMER])
led_delay_counter <= led_delay_counter - 1'd1;
დასასრული
დასასრული*/
ნაბიჯი 4: შეადგინეთ Verilog Code


დააჭირეთ ღილაკს "შედგენის დაწყება" Quartus- ში, შეცდომის შეტყობინება არ უნდა იყოს გენერირებული.
თუ თქვენ მიიღებთ შეცდომის შეტყობინებას მრავალი ქინძისთავის შესახებ. გადადით დავალებებზე -> მოწყობილობა -> მოწყობილობისა და პინის პარამეტრები -> ორმაგი დანიშნულების ქინძისთავები -> შეცვალეთ შესაბამისი პინის მნიშვნელობა "გამოიყენეთ როგორც რეგულარული I/O".
შედგენის შემდეგ, თქვენ პირდაპირ უნდა მიიღოთ pof გამომავალი ფაილი. თუ თქვენი პროგრამული უზრუნველყოფა არ არის უახლესი, შეგიძლიათ მიიღოთ მხოლოდ sof ფაილი. როდესაც ეს მოხდება, დააწკაპუნეთ "ფაილზე" Quartus -> "პროგრამირების ფაილების გადაყვანა". შეცვალეთ წითელი ყუთებით მონიშნული პარამეტრები.
ნაბიჯი 5: მოდით ვცადოთ

ყოველივე ამის შემდეგ, ის უნდა იმუშაოს !!! ყვითელი LED ყოველთვის ჩართულია. წითელი LED ანათებს. ლურჯი LED გამორთულია თუ დააჭირეთ ღილაკს B. მწვანე LED ჩართულია თუ დააჭერთ ღილაკს A
გირჩევთ:
FPGA Cyclone IV DueProLogic აკონტროლებს ჟოლოს Pi კამერა: 5 ნაბიჯი

FPGA Cyclone IV DueProLogic აკონტროლებს ჟოლოს კამერას: მიუხედავად იმისა, რომ FPGA DueProLogic ოფიციალურად შექმნილია Arduino– სთვის, ჩვენ ვაპირებთ FPGA და Raspberry Pi 4B გადამდები გავხადოთ. ამ დავალებაში სამი ამოცანაა შესრულებული: (ა) ერთდროულად დააჭირეთ ორ ღილაკს FPGA გადაატრიალებს კუთხეს
FPGA Cyclone IV DueProLogic Controls Servo Motor: 4 ნაბიჯი

FPGA Cyclone IV DueProLogic Controls Servo Motor: ამ სახელმძღვანელოში ჩვენ ვაპირებთ დავწეროთ Verilog კოდი სერვო ძრავის გასაკონტროლებლად. Servo SG-90 დამზადებულია Waveshare– ის მიერ. როდესაც ყიდულობთ სერვო ძრავას, თქვენ შეიძლება მიიღოთ მონაცემთა ფურცელი, რომელშიც მოცემულია სამუშაო ძაბვა, მაქსიმალური ბრუნვის მომენტი და შემოთავაზებული Pu
DIY AC/ DC Hack "Mod" RD6006 Power Supply & S06A Case W/ S-400-60 PSU Build & Upgraded DC Input: 9 Steps

DIY AC/ DC Hack "Mod" RD6006 Power Supply & S06A Case W/ S-400-60 PSU Build & Upgrade რა მაგრამ მე ნამდვილად მსურს არჩევანის გაკეთება ბატარეის გადასატანად ან ელექტროენერგიის გათიშვისთვის. ასე რომ, მე ასევე გავტეხე ან მოვახერხე საქმის მიღება DC– ს ან ბატარეაში
Amazon Dash Button Silent Doorbell: 10 Steps (სურათებით)

Amazon Dash Button Silent Doorbell: მუდმივად იყურებით ფანჯრიდან ისე, რომ თქვენ შეძლოთ სტუმრების ჩაგდება, სანამ კარზე ზარი დარეკავს? დაიღალეთ ძაღლებით და ბავშვი გიჟდება როდის დარეკავს? არ მინდა ფულის დახარჯვა " ჭკვიანურ " გამოსავალი? კარის ჩუმად ზარის გაკეთება არის
Sun Three Button RGB Light Doodler Mouse .: 11 Steps (სურათებით)

Sun Three Button RGB Light Doodler Mouse .: მე ვხვდები ლორი სტოტკოს და სტიუარტ ნაფეის http://lightdoodles.com/ ამ წლებში Makers Faire Auditions. მათ ჰქონდათ ეს მაგარი მსუბუქი კალმები, რომლითაც ისინი დუდლის გაკეთებას ცდილობდნენ. სახლში მისვლისთანავე გადავწყვიტე გამეკეთებინა და გამახსენდა ძველი მზე სამი ღილაკიანი თაგვი