TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI PROJECT CUỐI KỲ HỌC PHẦN FPGA VÀ ỨNG DỤNG Thiết kế hệ thống điều khiển đèn giao thông cho người đi bộ qua đường Giảng viên hướng dẫn: TS. Nguyễn Đại Dương Nhóm 18 Sinh viên thực hiện: Mã số sinh viên Phạm Văn Lưu 20174039 Trần Sỹ Nhật Minh 20174056 Nguyễn Tiến Hoàng 20173900 Đỗ Quốc Đáng 20173721 HÀ NỘI 62021 MỤC LỤC CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI 1 CHƯƠNG 2. LỰA CHỌN LINH KIỆN 2 2.1 KIT ALTERA EPM240 V1 2 2.2 Mạch nạp usb blaster 2 2.3 Led 7seg 3 2.4 Led màu 3 2.5 Board test 4 2.6 Dây nối 4 CHƯƠNG 3. SƠ ĐỒ KHỐI VÀ NGUYÊN LÝ HOẠT ĐỘNG 5 3.1 Sơ đồ khối 5 3.2 Nguyên lý hoạt động 5 3.2.1 Kit FPGA 1 5 3.2.2 Kit FPGA 2 16 3.3 Trình tự mở file Quartus: 23 CHƯƠNG 4. KẾT LUẬN 24 4.1 Đánh giá 24 4.2 Hướng phát triển 24 TÀI LIỆU THAM KHẢO 25 DANH MỤC HÌNH VẼ Hình 1.1 Nút bấm cho người đi bộ muốn qua đường 1 Hình 2.1 Kit FPGA EMP240 2 Hình 2.2 Usb blaster 2 Hình 2.3 Led 7seg đôi 3 Hình 2.4 Led màu 3 Hình 2.5 Board test 4 Hình 2.6 Dây nối 4 Hình 3.1 Sơ đồ khối 5 Hình 3.2 Sơ đồ nguyên lý kit FPGA 1 5 Hình 3.3 Bộ đếm không đồng bộ Mod 10 7 Hình 3.4 Chế độ cài đặt giờ 9 Hình 3.5 Cài đặt thời gian theo bt3 9 Hình 3.6 Chế độ thực hiện 14 Hình 3.7 Sơ đồ mạch khử rung 16 Hình 3.8 Kết quả mô phỏng khử rung. 18 Hình 3.9 Phần hiểm thị 23 Hình 3.10 Danh sách các file code được lưu dạng .text 23 Hình 4.1 Mạch thật 24 CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI Từ lâu, chuyện sang đường vẫn được xem là một cú vượt đầy mạo hiểm. Giữa những tuyến đường dù rộng hay hẹp, lúc nào xe cộ cũng ầm ầm chạy, đối với người thường đã khó vậy đối với người mù thì phải làm sao đây? Một số nơi trên các cột đèn tín hiệu, người ta gắn một thiết bị có nút ấn dành cho người muốn băng qua đường. Hệ thống đèn giao thông cho người đi bộ với các chức năng: Khi người đi bộ muốn qua đường thì nhấn nút, đèn đường xe chạy sẽ chuyển từ xanh sang vàng trong a(giây) rồi chuyển thành đỏ b(giây) để cho người đi bộ qua đường. Sau đó đèn chuyển màu xanh để các phương tiện tiếp tục di chuyển Khi đèn giao thông trên đường màu xanh thì đèn người đi bộ màu đỏ. Các thời gian a,b có thể sử dụng nút bấm để thay đổi được. Nút bấm có khả năng chống rung. Hình 1.1 Nút bấm cho người đi bộ muốn qua đường CHƯƠNG 2. LỰA CHỌN LINH KIỆN 2.1 KIT ALTERA EPM240 V1 Hình 2.1 Kit FPGA EMP240 • Sử dụng Chip: EPM240T100C5N TQFP100 • Điện áp: DC5V • Tương thích mạch nạp USB Blaster • Giao tiếp LCD1602, LCD12864 • Giao tiếp UART • Giao tiếp Key Đơn • Giao Tiếp LED Đơn • Hỗ Trợ Công IO Sử dụng 2 kit EPM240 o Kit 1: thực hiện 2 chế độ cài đặt giờ và chế độ cho người đi bộ. o Kit2: thực hiện khử rung và hiển thị. 2.2 Mạch nạp usb blaster Hình 2.2 Usb blaster Cáp tải USBBlaster tải dữ liệu cấu hình cho các thiết bị Altera sau đây: + Stratix loạt FPGA + Cyclone loạt FPGA + Max CPLD loạt: + Arria GX loạt FPGA + APEX ™ loạt FPGA + ACEX 1K FPGA + loạt FPGA FLEX 10K + Excalibur +FPGA Có thể thực hiện các chương trình trong hệ thống các thiết bị sau: + Các thiết bị cấu hình Altera bao gồm các thiết bị EPC2. + Các thiết bị cấu hình bao gồm tăng cường EPC4, EPC8, và các thiết bị EPC16. + Các thiết bị cấu hình nối tiếp bao gồm EPCS1, EPCS4, EPCS16, EPCS64, và thiết bị EPCS128. Cáp tải USBBlaster hỗ trợ các hệ thống mục tiêu sử dụng 5,0V TTL, 3,3V 2.3 Led 7seg Hình 2.3 Led 7seg đôi Sử dụng để hiển thị số giây của đèn. 2.4 Led màu Hình 2.4 Led màu 5 led màu: • đèn xanh, đỏ, vàng cho đường xe chạy. • đèn xanh, đỏ cho đường người đi bộ. 2.5 Board test Hình 2.5 Board test 2.6 Dây nối Hình 2.6 Dây nối CHƯƠNG 3. SƠ ĐỒ KHỐI VÀ NGUYÊN LÝ HOẠT ĐỘNG 3.1 Sơ đồ khối Hình 3.1 Sơ đồ khối • Bt1 là nút bấm cho người đi bộ khi muốn qua đường • Bt2 tạo tín hiệu tempp để chuyển đổi qua lại 2 chế độ ở kit1 • BT3 để chuyển vị trí cài đặt giờ • BT4 bấm tang số theo mod 10. • Xung 50mhz để đồng bộ 2 kit fpga. • Kit 1 thực hiện 2 chế độ cài đặt giờ và chế độ cho người đi bộ. • Kit 2 thực hiện khử rung và hiển thị Tín hiệu đc đưa từ kít 1 trở về kít 2xử lý và đưa lên led hiển thị. 3.2 Nguyên lý hoạt động 3.2.1 Kit FPGA 1 Hình 3.2 Sơ đồ nguyên lý kit FPGA 1 Kit 1 thực hiện 2 chế độ cài đặt giờ và chế độ cho người đi bộ. 3.2.1.1. Chế độ cài đặt giờ Hoạt động khi tín hiệu tempp=’1’. Code tạo JKFipFlop: jk.vhd library IEEE; use ieee. std_logic_1164.all; use ieee. std_logic_arith.all; use ieee. std_logic_unsigned.all; entity jk is port( j : in STD_LOGIC; k : in STD_LOGIC; clk : in STD_LOGIC; reset : in STD_LOGIC; q : out STD_LOGIC qb : out STD_LOGIC ); end jk; architecture virat of jk is begin jkff : process (j,k,clk,reset) is variable m : std_logic := 0; begin if (reset = 0) then m := 0; elsif (falling_edge (clk)) then if (j = k) then m := j; elsif (j = 1 and k = 1) then m := not m; end if; end if; q