Thiết kế thử nghiệm điều khiển hiển thị LED 5x7 dot trên FPGA

52 9 0
Thiết kế thử nghiệm điều khiển hiển thị LED 5x7 dot trên FPGA

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƢỜNG ĐẠI HỌC LÂM NGHIỆP VIỆT NAM KHOA CƠ ĐIỆN VÀ CƠNG TRÌNH BỘ MƠN KỸ THUẬT ĐIỆN VÀ TỰ ĐỘNG HĨA KHỐ LUẬN TỐT NGHIỆP Tên đề tài: Thiết kế thử nghiệm điều khiển hiển thị LED 5x7 dot FPGA Giảng viên hƣớng dẫn : ThS Lê Minh Đức Sinh viên thực hiện: Bùi Đình Khá Lớp : K58-CĐT Khoá : 58 Hà Nội – năm 2017 LỜI NĨI ĐẦU Ngày nhu cầu thơng tin quảng cáo lớn, việc áp dụng phƣơng tiện kĩ thuật vào lĩnh vực cần thiết Khi đến nơi công cộng, dễ dàng bắt gặp áp phích quảng cáo điện tử chạy theo hƣớng với nhiều hình ảnh ấn tƣợng Những áp phích quảng cáo đƣợc xây dựng từ ma trận LED Xuất phát từ ƣu điểm áp phích quảng cáo điện tử nhƣ đẹp, dễ gây ấn tƣợng, gọn gàng loại áp phích quảng cáo truyền thống khả ứng dụng thực tiễn lớn nên em định chọn đề tài nghiên cứu khóa luận là: “Thiết kế thử nghiệm điều khiển hiển thị LED 5x7 dot FPGA” Nội dung khóa luận bao gồm 03 chƣơng: Chương 1: Cơ sở lý thuyết Chương 2: Hệ thống phát triển CIC-310 FPGA Chương 3: Thiết kế điều khiển hiển thị LED 5x7 FPGA Khóa luận em đƣợc thực mô chủ yếu hệ thống phát triển CIC-310 với mục đích thiết kế điều khiển hiển thị LED ma trận 5x7 qua hiểu chất áp dụng cho loại ma trận LED khác Trong khóa luận khơng tránh khỏi việc có sai sót, mong thầy, thơng cảm góp ý để em hồn khóa luận tốt Cuối cùng, em xin chân thành cảm ơn thầy LÊ MINH ĐỨC trang bị kiến thức nhiệt tình giải đáp thắc mắc em q trình thực khóa luận Hà Nội, ngày 10 tháng năm 2017 Sinh viên thực đề tài (Họ tên) Bùi Đình Khá NHẬN XÉT (Của giảng viên hướng dẫn) GIẢNG VIÊN HƯỚNG DẪN (Chữ ký, họ tên) NHẬN XÉT (Của giảng viên phản biện) GIẢNG VIÊN PHẢN BIỆN (Chữ ký, họ tên) MỤC LỤC Lời nói đầu Chương 1: CƠ SỞ LÝ THUYẾT 1.1 Giới thiệu chung mạch giải mã 1.1.1 Khái niệm mạch giải mã 1.1.2 Phân loại mạch giải mã 1.2 Mạch giải mã LED ma trận 5x7 (LED 5x7 dot) 1.2.1 Sơ đồ khối 1.2.2 Nguyên lý quét LED ma trận 1.3 Trình tự thiết kế điều khiển hiển thị LED 5x7 dot 1.3.1 Trình tự thiết kế 1.3.2 Bài toán minh họa Chương 2: HỆ THỐNG PHÁT TRIỂN CIC-310 VÀ FPGA 2.1 Hệ thống phát triển CIC-310 2.1.1 Bảng phát triển mạch SN-PLDE2 2.1.2 Bảng thí nghiệm SN-PLDE3A 11 2.2 Cơ lập trình logic FPGA 18 2.2.1 Khái niệm FPGA 18 2.2.2 Các bước thiết kế FPGA 20 2.3 Ngôn ngữ mô tả phần cứng VHDL 21 2.3.1 Giới thiệu chung 21 2.3.2 Cấu trúc ngôn ngữ VHDL 22 2.4 Sử dụng phần mềm MAX Plus II 25 2.4.1 Cài đặt phần mềm 25 2.4.2 Trình tự tạo Project phần mềm MAX Plus II 26 Chương 3: THIẾT KẾ BỘ ĐIỀU KHIỂN HIỂN THỊ LED 5X7 TRÊN FPGA 29 3.1 Sơ đồ khối 29 3.2 Thiết kế phần mềm Maxplus II 29 3.3 Kết nối phần cứng CIC – 310 39 3.4 Kết thực 40 KẾT LUẬN 43 DANH MỤC TÀI LIỆU THAM KHẢO 44 Giáo viên hướng dẫn: ThS.Lê Minh Đức Sinh viên thực hiện: Bùi Đình DANH MỤC BẢNG Bảng 1.1: Bảng mã ASCII biểu diễn số nhị phân 7bit Bảng 1.2: Bảng chân lý Giáo viên hướng dẫn: ThS.Lê Minh Đức Sinh viên thực hiện: Bùi Đình DANH MỤC HÌNH Hình 1.1: Sơ đồ khối mạch giải mã LED ma trận Hình 1.2: Sơ đồ ma trận LED 5x7 Hình 1.3: Mô tả cách mà ma trận LED 5x7 hiển thị số Hình 1.4: Các bước thiết kế hiển thị LED 5x7 dot Hình 1.5: Các chữ Đ, T, V hiển thị LED ma trận 5x7 Hình 1.6: Các nhóm đèn Hình 1.7: Sơ đồ mạch logic Hình 2.1: Sơ đồ khối hệ thống phát triển CIC-310 Hình 2.2: Bảng phát triển mạch SN-PLDE2 10 Hình 2.3: Bảng thí nghiệm SN-PLDE3A 12 Hình 2.4: Mạch cơng tắc đầu vào Logic S1, S2, S3 13 Hình 2.5: Hiển thị LED Logic 13 Hình 2.6: Phân định chân cắm hiển thị phân đoạn 14 Hình 2.7: Mã song song 15 Hình 2.8: Mã nối tiếp 15 Hình 2.9: Các nút ấn 16 Hình 2.10: Hiển thị 16 phân đoạn 17 Hình 2.11: Ổ cắm hiển thị 16 phân đoạn 17 Hình 2.12: Phân định chân cắm LED chấm 5x7 17 Hình 2.13: Ổ cắm LED chấm 5x7 JP22 chọn lọc điểm chấm JP24 18 Hình 2.14: Bộ kết nối LCD 2021 18 Hình 2.15: Kiến trúc chung FPGA 19 Hình 2.16: Cấu trúc cell logic đơn giản 20 Hình 2.17: Cấu trúc mô tả phần cứng đối tượng VHDL 25 Hình 2.18: Khởi động phần mềm 26 Hình 2.19: Tạo dự án 27 Hình 2.20: Tạo tệp 27 Hình 2.21: Soạn thảo chương trình 28 Hình 2.22: Lưu tệp 28 Hình 3.1: Sơ đồ khối điều khiển hiển thị LED ma trận 29 Giáo viên hướng dẫn: ThS.Lê Minh Đức Sinh viên thực hiện: Bùi Đình Hình 3.2: Màn hình phần mềm khởi động 29 Hình 3.3: Tạo dự án 30 Hình 3.4: Đặt tên cho dự án là: 57dots 30 Hình 3.5: Tạo tệp soạn thảo code 30 Hình 3.6: Bảng soạn thảo code 31 Hình 3.7: Lưu lại tệp 57dots.tdf 35 Hình 3.8: Chọn máy 35 Hình 3.9: Chọn thơng số máy 36 Hình 3.10: Lưu kiểm tra lỗi 37 Hình 3.11: Hộp thoại kiểm tra lỗi 37 Hình 3.12: Hộp thoại kiểm tra biên dịch 38 Hình 3.13: Gán cổng vào/ra cho chip điều khiển 38 Hình 3.14: Lưu kiểm tra 39 Hình 3.15: Hộp thoại kiểm tra biên dịch 39 Hình 3.16: Chọn cổng kết nối 40 Hình 3.17: Đường dẫn file 57dots 40 Hình 3.18: Nạp code cho thiết bị 40 Hình 3.19: Ma trận LED 5x7 thiết bị CIC-310 41 Hình 3.20: Núm xoay LFQ ADJ HFQ ADJ 41 Chương 1: CƠ SỞ LÝ THUYẾT 1.1 Giới thiệu chung mạch giải mã 1.1.1 Khái niệm mạch giải mã Để biến đổi tín hiệu điều khiển thành hình ảnh hiển thị ma trận LED ta cần sử dụng đến mạch giải mã – ứng dụng mạch tổ hợp Mạch tổ hợp mạch mà tín hiệu phụ thuộc vào tín hiệu vào, phương trình xác định tín hiệu mạch là: Yi = fi(X1, X2,…,Xn) với i = ÷ m (1.1) Yi tín hiệu đầu thứ i, Xj (j = ÷ n) tin hiệu vào, n số tín hiệu vào, m số tín hiệu Có thể gọi mạch tổ hợp mạch khơng nhớ Giải mã q trình thực việc chuyển từ mã sang tin tức, mạch giải mã mạch logic thực trình giải mã 1.1.2 Phân loại mạch giải mã Có thể chia mạch giải mã làm loại sau: a) Mạch giải mã từ mã sang mã khác - Mạch giải mã nhị phân – thập phân - Mạch giải mã thập phân – nhị phân - Mạch giải mã BCD 8421 – thập phân - Mạch giải mã nhị phân – GRAY b) Mạch giải mã hiển thị - Mạch giải mã BCD – LED đoạn - Mạch giải mã BCD – LCD - Mạch giải mã bảng chữ ký tự đặc biệt ASCII Đối với ma trận LED đề tài dùng để hiển thị cho giải mã chữ ký tự đặc biệt Để minh họa, bảng 1.1 biểu diễn mã ASCII sử dụng máy tính Chúng ta thấy chữ hay ký tự biểu diễn số hệ có bit Bảng 1.1: Bảng mã ASCII biểu diễn số nhị phân 7bit b7 b6 0 0 1 1 1 1 b5 1 1 NUL DLE SP @ P p b7 b6 b5 b4 b3 b2 b1 Hàng Cột 0 0 0 1 SOH DC1 ! A Q a q 0 STX DC2 “ B R b r 0 1 ETX DC3 # C S c s 0 EOT DC4 $ D T d t 1 END NAK % E U e u 1 ACK SYN & F V f v 1 BEL EBT „ G W g w 0 BS CAN ( H X h x 0 HT EM ) I Y i y 1 10 LF SUB ` : J Z j z 1 11 VT ESC + ; K £ k { 1 0 12 FF FS , < L \ l | 1 13 CR GS - = M ] m } 1 14 SO RS * > N ^ n ~ 1 1 15 SI US / ? O [ o DEL 1.2 Mạch giải mã LED ma trận 5x7 (LED 5x7 dot) 1.2.1 Sơ đồ khối a) Sơ đồ khối Hình 1.1 thể sơ đồ khối mạch giải mã LED ma trận chung Dữ liệu điều khiển đưa đến hai khối giải mã hàng giải mã cột, sau giải mã, tín hiệu hình ảnh hiển thị LED ma trận Hình 1.1: Sơ đồ khối mạch giải mã LED ma trận - Khối giải mã hàng: giải mã tín hiệu điều khiển theo hàng ma trận LED từ liệu đưa vào Khối giải mã cột: giải mã tín hiệu điều khiển theo cột ma trận LED từ liệu đưa vào Khối ma trận LED: hiển thị LED nhóm LED theo hàng cột giải mã Hình 3.3: Tạo dự án Hình 3.4: Đặt tên cho dự án là: 57dots Bước 3: Tạo tệp mới: trỏ chuột vào File => New, click chọn Text Editor file nhấn OK Hình 3.5: Tạo tệp soạn thảo code 30 Một bảng Hình 3.6: Bảng soạn thảo code Bước 4: Soạn thảo chương trình Nội dung phần code sau: SUBDESIGN 57DOTS ( CLK,CLR,CLKS:INPUT; D[7 1],S[5 1]:OUTPUT; ) VARIABLE SCNT[2 0] :DFF; SCAN[3 0] :DFF; DTAB[6 0] :NODE; BEGIN SCNT[].CLK=CLK; SCAN[].CLK =CLKS; SCNT[].CLRN=!CLR; SCAN[].CLRN=!CLR; IF (SCNT[]==4) THEN SCNT[]=0; ELSE SCNT[]=SCNT[]+1; END IF; 31 SCAN[]=SCAN[]+1; CASE SCNT[] IS WHEN => S[]=B"11110"; DTAB[]=(SCAN[],0,0,0); WHEN => S[]=B"11101"; DTAB[]=(SCAN[],0,0,1); WHEN => S[]=B"11011"; DTAB[]=(SCAN[],0,1,0); WHEN => S[]=B"10111"; DTAB[]=(SCAN[],0,1,1); WHEN => S[]=B"01111"; DTAB[]=(SCAN[],1,0,0); WHEN OTHERS =>S[]=B"11111"; END CASE; TABLE DTAB[]=> D[]; H"0" => b"0000000";%0% H"1" => b"1111111"; H"2" => b"1000001"; H"3" => b"1111111"; H"4" => b"0000000"; H"8" H"9" H"a" H"b" H"c" => => => => => b"0000000";%1% b"0000001"; b"1111111"; b"0000000"; b"0000000"; H"10" H"11" H"12" H"13" H"14" => => => => => b"0000000";%2% b"1111001"; b"1001001"; b"1001111"; b"0000000"; H"18" H"19" H"1a" H"1b" H"1c" => => => => => b"0000000";%3% b"1001001"; b"1001001"; b"1111111"; b"0000000"; 32 H"20" H"21" H"22" H"23" H"24" => => => => => b"0000000";%4% b"0001111"; b"0001000"; b"1111111"; b"0000000"; H"28" H"29" H"2a" H"2b" H"2c" => => => => => b"0000000";%5% b"1001111"; b"1001001"; b"1111001"; b"0000000"; H"30" H"31" H"32" H"33" H"34" => => => => => b"0000000";%6% b"1111001"; b"1001001"; b"1111111"; b"0000000"; H"38" H"39" H"3a" H"3b" H"3c" => => => => => b"0000000";%7% b"0000001"; b"0000001"; b"1111111"; b"0000000"; H"40" H"41" H"42" H"43" H"44" => => => => => b"0000000";%8% b"1111111"; b"1001001"; b"1111111"; b"0000000"; H"48" H"49" H"4a" H"4b" H"4c" => => => => => b"0000000";%9% b"1001111"; b"1001001"; b"1111111"; b"0000000"; H"50" => b"0000000";%A% 33 H"51" H"52" H"53" H"54" => => => => b"1111110"; b"0001001"; b"1111110"; b"0000000"; H"58" H"59" H"5a" H"5b" H"5c" => => => => => b"0000000";%B% b"1111111"; b"1001001"; b"0110110"; b"0000000"; H"60" H"61" H"62" H"63" H"64" => => => => => b"0000000";%C% b"1111111"; b"1000001"; b"1000001"; b"0000000"; H"68" H"69" H"6a" H"6b" H"6c" => => => => => b"0000000";%D% b"1111111"; b"1000001"; b"0111110"; b"0000000"; H"70" H"71" H"72" H"73" H"74" => => => => => b"0000000";%E% b"1111111"; b"1001001"; b"1001001"; b"0000000"; H"78" => H"79" => H"7a" => H"7b" => H"7c" => END TABLE; END; b"0000000";%F% b"1111111"; b"0001001"; b"0001001"; b"0000000"; Ở viết code cho 16 số hệ hexa 223 ký tự bảng mã ASCII (32 mã đầu khơng có ký tự tương ứng nên ta bỏ qua) ký tự lại viết tương tự 34 Bước 5: Lưu dự án: trỏ chuột vào File => Save, hộp thoại nhấn OK Hình 3.7: Lưu lại tệp 57dots.tdf Bước 6: Chọn thiết bị: trỏ chuột vào Assign chọn Device, chọn máy theo hình nhấn OK Hình 3.8: Chọn máy Tiếp tục vào Assign => Global Project Dvice Option, chọn theo hình nhấn OK 35 Hình 3.9a: Chọn thông số máy Tiếp tục vào Assign => Global Project Logic Synthesis, chọn theo hình nhấn OK Hình 3.9b: Chọn thông số máy Bước 7: Lưu kiểm tra lỗi: trỏ chuột vào File => Project => Save & Check 36 Hình 3.10: Lưu kiểm tra lỗi Một hộp thoại hình 3.11 báo trình lưu kiểm tra khơng có lỗi cảnh báo nào, nhấn OK để tiếp tục Hình 3.11: Hộp thoại kiểm tra lỗi Nhấn Start, hộp thoại hình 3.12 báo biên dịch thành cơng, khơng có lỗi cảnh báo nào, nhấn OK để tiếp tục 37 Hình 3.12: Hộp thoại kiểm tra biên dịch Bước 8: Gán cổng vào/ra cho chip điều khiển: trỏ chuột trái tới MAX plus II chọn Floorplan Editor Tiếp theo gán cổng vào/ra theo chân chip tương ứng hình 3.13 Hình 3.13: Gán cổng vào/ra cho chip điều khiển 38 Bước 9: Kiểm tra cổng kết nối: trỏ chuột trái vào File =>Project => Save & Compile Hình 3.14: Lưu kiểm tra Một hộp thoại hình 3.15 báo lưu kiểm tra thành cơng, khơng có lỗi cảnh báo nào, nhấn OK để tiếp tục Hình 3.15: Hộp thoại kiểm tra biên dịch Hồn thành q trình thiết kế điều khiển hiển thị LED 5x7 Dot 3.3 Kết nối phần cứng CIC – 310 Bước 1: Khởi động thiết bị, cắm cáp mở phần mềm CPLDEXP – Sinosoinc Bước 2: Chọn cổng kết nối phần mềm nạp code 39 Hình 3.16: Chọn cổng kết nối Bước 3: Tìm đến đường dẫn tệp code 57dots Hình 3.17: Đường dẫn file 57dots Bước 4: Nạp code cho thiết bị: Bấm “add” để thêm code cho thiết bị, sau bấm “Config” để kích hoạt code Hình 3.18: Nạp code cho thiết bị 3.4 Kết thực 40 Sau kết nối thiết bị thành cơng, hình ảnh ký tự lập trình hiển thị vùng ma trận LED 5x7 thiết bị CIC-310 Chúng hiển thị theo thứ tự xếp sẵn Hình 3.19: Ma trận LED 5x7 thiết bị CIC-310 Điều chỉnh núm xoay LFQ ADJ HFQ ADJ để thay đổi tốc độ quét ảnh hiển thị ma trận Hình 3.20: Núm xoay LFQ ADJ HFQ ADJ Đây hình ảnh 16 ký tự lập trình trên, ma trận quét hiển thị từ ký tự “0” ký tự “F” sau lặp lại trình quét 41 42 KẾT LUẬN Qua trình thực khóa luận: “Thiết kế thử nghiệm điều khiển hiển thị LED 5x7 dot FPGA”, giúp em cố lại kiến thức môn học kỹ thuật số đồng thời hiểu thêm FPGA LED ma trận nói chung Khơng thế, việc thực đồ án giúp em sử dụng thành thạo phần mềm MAX Plus II thí nghiệm CIC-310 - Bộ hiển thị LED 5x7 dot có ưu điểm: Hiển thị ký tự bao gồm số chữ - Số lượng ký tự hiển thị linh hoạt, khơng bị hạn chế Tốc độ hiển thị thay đổi dễ dàng, nhanh chóng - Cơng suất tiêu thụ điện thấp - Bên cạnh ưu điểm, hiển thị tồn nhược điểm sau: Màu sắc hiển thị chưa phong phú sử dụng đèn LED màu - Hình ảnh hiển thị không sắc nét độ phân giải thấp Do việc thực khóa luận dừng lại mức “thiết kế thử nghiệm” nên chưa thể tưởng phạm vi ứng dụng rộng lớn đề tài, sau có hội phát triển tiếp đề tài em bổ sung thêm tính như: - Mở rộng chương trình điều khiển để hiển thị hình ảnh sắc nét - Hiển thị thêm thông tin tùy theo yêu cầu cụ thể VD: hiển thị ngày tháng, hình ảnh động,… Lựa chọn, bổ sung thêm linh kiện để hiển thị màu sắc phong phú - 43 DANH MỤC TÀI LIỆU THAM KHẢO Nguyễn Thúy Vân (2004), Kỹ thuật số, NXB Khoa học kỹ thuật Nguyễn Kim Giao (2006), Kỹ thuật điện tử số, NXB Đại học Quốc gia Hà Nội Lý Thanh Thuận (2000), Sổ tay lập trình VHDL, Tài liệu internet ThS.Trần Thị Thúy Hà (2006), Điện tử số, Học viện cơng nghệ Bưu viễn thông Hướng dẫn sử dụng phần mềm MAX + Plus II, tài liệu internet Hướng dẫn sử dụng hệ thống phát triển CIC-310, tài liệu internet 44 ... Trình tự thiết kế điều khiển hiển thị LED 5x7 dot 1.3.1 Trình tự thiết kế Quá trình thiết kế điều khiển hiển thị LED 5x7 dot mô tả hình 1.4 Hình 1.4: Các bước thiết kế hiển thị LED 5x7 dot a) Bài... 3: THIẾT KẾ BỘ ĐIỀU KHIỂN HIỂN THỊ LED 5X7 TRÊN FPGA 3.1 Sơ đồ khối Đây sơ đồ khối chung điều khiển hiển thị LED ma trận Hình 3.1: Sơ đồ khối điều khiển hiển thị LED ma trận Tín hiệu điều khiển. .. ? ?Thiết kế thử nghiệm điều khiển hiển thị LED 5x7 dot FPGA? ?? Nội dung khóa luận bao gồm 03 chƣơng: Chương 1: Cơ sở lý thuyết Chương 2: Hệ thống phát triển CIC-310 FPGA Chương 3: Thiết kế điều khiển

Ngày đăng: 22/06/2021, 09:52

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan