![FPGA Cyclone IV DueProLogic - Nút nhấn & đèn LED: 5 bước FPGA Cyclone IV DueProLogic - Nút nhấn & đèn LED: 5 bước](https://i.howwhatproduce.com/images/001/image-1648-12-j.webp)
Mục lục:
2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-23 15:14
![FPGA Cyclone IV DueProLogic - Nút nhấn & đèn LED FPGA Cyclone IV DueProLogic - Nút nhấn & đèn LED](https://i.howwhatproduce.com/images/001/image-1648-13-j.webp)
Trong hướng dẫn này, chúng ta sẽ sử dụng FPGA để điều khiển mạch LED bên ngoài. Chúng tôi sẽ thực hiện các nhiệm vụ sau
(A) Sử dụng các nút nhấn trên FPGA Cyclone IV DuePrologic để điều khiển đèn LED.
(B) Đèn LED flash bật và tắt định kỳ
Video demo
Menu phòng thí nghiệm:
Bước 1: Xây dựng vi mạch điện tử
Bước 2: Kiểm tra Công cụ lập kế hoạch ghim và chỉnh sửa mã Verilog
![Kiểm tra Công cụ lập kế hoạch ghim và chỉnh sửa mã Verilog Kiểm tra Công cụ lập kế hoạch ghim và chỉnh sửa mã Verilog](https://i.howwhatproduce.com/images/001/image-1648-14-j.webp)
Bước 3: Chỉnh sửa mã Verilog
![Chỉnh sửa mã Verilog Chỉnh sửa mã Verilog](https://i.howwhatproduce.com/images/001/image-1648-15-j.webp)
Khi bạn mua FPGA DueProLogic, bạn sẽ nhận được một đĩa DVD. Sau khi bạn mở "Projects_HDL", bạn sẽ thấy tệp mã gốc
Thêm mã được đánh dấu. Nó đăng ký các cổng I / O và gán số cho các cổng.
dây đầu ra [7: 0] XIO_1, // XIO - D2-D9
dây đầu ra [5: 0] XIO_2, // XIO - D10-D12
dây đầu ra [5: 0] XIO_3, // XIO - D22-D29
dây đầu vào [5: 0] XIO_4, // XIO - D30-D37
dây đầu vào [5: 0] XIO_5, // XIO - D38-D45
dây đầu ra [4: 0] XIO_6_OUT, // XIO - D46-D53
dây đầu vào [31: 5] XIO_6, // XIO - D46-D53
dây đầu ra [2: 0] XIO_7, // XIO - D69, D70, D71, D74, D75, D76
dây đầu vào UBA, // Công tắc nút nhấn
dây đầu vào UBB // Công tắc nút nhấn
gán XIO_1 [3] = start_stop_cntrl;
gán XIO_2 [1] = start_blinky; // Bật và tắt đèn LED flash LED
gán XIO_2 [2] = 1'b1; // đầu ra CAO
gán XIO_2 [3] = ~ UBA; // Nhấn nút A
gán XIO_2 [4] = UBB; // Nhấn nút B
gán c_enable = XIO_5 [2];
gán LEDExt = XIO_5 [5];
Sau đó, chúng tôi phải đặt một bộ đếm thời gian trễ. Nhận xét mã hẹn giờ ban đầu và viết một chức năng hẹn giờ mới
//-----------------------------------------------
// LED Bắt đầu nhấp nháy
//-----------------------------------------------
/*
luôn @ (posedge CLK_66 hoặc negedge RST)
bắt đầu
nếu (! RST)
start_blinky <= 1'b0;
khác
bắt đầu
if (control_register [7: 4]> 0)
start_blinky <= 1'b1;
khác
start_blinky <= 1'b0;
kết thúc
kết thúc
*/
reg [31: 0] ex;
bắt đầu ban đầu
ví dụ <= 32'b0;
start_blinky <= 1'b0;
kết thúc
always @ (posedge CLK_66)
bắt đầu
ex <= ex + 1'b1;
if (ví dụ: 100000000) // bật / tắt flash ~ 1,6 giây, xung nhịp 66MHz
bắt đầu
start_blinky <=! start_blinky;
ví dụ <= 32'b0;
kết thúc
kết thúc
//-----------------------------------------------
// Bộ đếm thời gian trễ LED
//-----------------------------------------------
/*
luôn @ (posedge CLK_66 hoặc negedge RST)
bắt đầu
nếu (! RST)
led_delay_counter <= TIMER_LOW_LIMIT;
khác
bắt đầu
nếu (trạng thái [SELECT_MODE])
led_delay_counter <= timer_value;
khác nếu (trạng thái [WAIT_FOR_TIMER])
led_delay_counter <= led_delay_counter - 1'd1;
kết thúc
kết thúc*/
Bước 4: Biên dịch mã Verilog
![Biên dịch mã Verilog Biên dịch mã Verilog](https://i.howwhatproduce.com/images/001/image-1648-16-j.webp)
![Biên dịch mã Verilog Biên dịch mã Verilog](https://i.howwhatproduce.com/images/001/image-1648-17-j.webp)
Nhấn "Start Compilation" trong Quartus, không có thông báo lỗi nào được tạo ra.
Nếu bạn nhận được thông báo lỗi về nhiều chân. Vào Assignments -> Device -> Device and Pin Options -> Dual-Purpose Pins -> thay đổi giá trị của ghim thích hợp thành "Sử dụng như I / O thông thường".
Sau khi biên dịch, bạn sẽ nhận được tệp đầu ra pof trực tiếp. Nếu phần mềm của bạn không được cập nhật, bạn chỉ có thể nhận được tệp mềm. Khi nó xảy ra, hãy nhấp vào "Tệp" trong Quartus -> "chuyển đổi tệp lập trình". Thay đổi cài đặt được đánh dấu bằng hộp màu đỏ.
Bước 5: Hãy dùng thử
![](https://i.ytimg.com/vi/HNIsi5TWfXQ/hqdefault.jpg)
Rốt cuộc, nó sẽ hoạt động !!! Đèn LED màu vàng luôn sáng. Đèn LED màu đỏ đang nhấp nháy. Đèn LED xanh lam sẽ tắt nếu bạn nhấn nút B. Đèn LED xanh lục sẽ bật nếu bạn nhấn nút A
Đề xuất:
TỰ LÀM ĐÈN FLOODLIGHT W / Đèn LED AC (+ Đèn LED HIỆU QUẢ VS DC): 21 bước (có Hình ảnh)
![TỰ LÀM ĐÈN FLOODLIGHT W / Đèn LED AC (+ Đèn LED HIỆU QUẢ VS DC): 21 bước (có Hình ảnh) TỰ LÀM ĐÈN FLOODLIGHT W / Đèn LED AC (+ Đèn LED HIỆU QUẢ VS DC): 21 bước (có Hình ảnh)](https://i.howwhatproduce.com/images/002/image-3870-j.webp)
DIY FLOODLIGHT W / AC LED (+ EFFICIENCY VS DC LED): Trong video / hướng dẫn này, tôi sẽ chế tạo một đèn pha bằng chip LED AC không cần điều khiển cực kỳ rẻ. Chúng có tốt không? Hay chúng hoàn toàn là thùng rác? Để trả lời điều đó, tôi sẽ so sánh đầy đủ với tất cả các đèn tự làm của tôi. Như thường lệ, với giá rẻ
FPGA Cyclone IV DueProLogic Controls Máy ảnh Raspberry Pi: 5 bước
![FPGA Cyclone IV DueProLogic Controls Máy ảnh Raspberry Pi: 5 bước FPGA Cyclone IV DueProLogic Controls Máy ảnh Raspberry Pi: 5 bước](https://i.howwhatproduce.com/images/001/image-1646-19-j.webp)
FPGA Cyclone IV DueProLogic Controls Máy ảnh Raspberry Pi: Mặc dù FPGA DueProLogic được thiết kế chính thức cho Arduino, chúng tôi sẽ làm cho FPGA và Raspberry Pi 4B có thể truyền thông. Ba tác vụ được thực hiện trong hướng dẫn này: (A) Nhấn đồng thời hai nút nhấn trên FPGA để lật góc của
Tạo nhãn cầu Đơn thuốc cho nhãn cầu của bạn: Dự án BME60B: 9 bước
![Tạo nhãn cầu Đơn thuốc cho nhãn cầu của bạn: Dự án BME60B: 9 bước Tạo nhãn cầu Đơn thuốc cho nhãn cầu của bạn: Dự án BME60B: 9 bước](https://i.howwhatproduce.com/images/001/image-791-57-j.webp)
Eyeballing Your Eyeball's Prescription: a BME60B Project: By: Hannah Silos, Sang Hee Kim, Thomas Vazquez, Patrick VisteMagnification là một trong những tính năng chính hiện nay của kính đọc sách, được phân loại theo đơn thuốc của chúng. Theo Đại học Công nghệ Michigan, một diopter là một
FPGA Cyclone IV DueProLogic điều khiển Động cơ Servo: 4 bước
![FPGA Cyclone IV DueProLogic điều khiển Động cơ Servo: 4 bước FPGA Cyclone IV DueProLogic điều khiển Động cơ Servo: 4 bước](https://i.howwhatproduce.com/images/002/image-3532-21-j.webp)
FPGA Cyclone IV DueProLogic Controls Servo Motor: Trong hướng dẫn này, chúng ta sẽ viết mã Verilog để điều khiển động cơ servo. Servo SG-90 được sản xuất bởi Waveshare. Khi bạn mua động cơ servo, bạn có thể nhận được một biểu dữ liệu liệt kê điện áp hoạt động, mô-men xoắn cực đại và Pu
UVIL: Đèn ngủ có đèn nền đen (hoặc Đèn chỉ báo SteamPunk): 5 bước (có hình ảnh)
![UVIL: Đèn ngủ có đèn nền đen (hoặc Đèn chỉ báo SteamPunk): 5 bước (có hình ảnh) UVIL: Đèn ngủ có đèn nền đen (hoặc Đèn chỉ báo SteamPunk): 5 bước (có hình ảnh)](https://i.howwhatproduce.com/images/004/image-9163-43-j.webp)
UVIL: Đèn ngủ có đèn nền đen (hoặc Đèn chỉ báo SteamPunk): Cách kết hợp một đèn báo tia cực tím tân cổ điển phát sáng kỳ lạ. . Ý tưởng của tôi là sử dụng những thứ này khi tôi