1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

THIẾT kế và THỰC THI FPGA CHO bộ PHÁT HIỆN và sửa lỗi BIT (có code)

53 667 6

Đ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

Thông tin cơ bản

Định dạng
Số trang 53
Dung lượng 5,27 MB

Nội dung

THIẾT kế và THỰC THI FPGA CHO bộ PHÁT HIỆN và sửa lỗi BIT (có code) THIẾT kế và THỰC THI FPGA CHO bộ PHÁT HIỆN và sửa lỗi BIT (có code) THIẾT kế và THỰC THI FPGA CHO bộ PHÁT HIỆN và sửa lỗi BIT (có code) THIẾT kế và THỰC THI FPGA CHO bộ PHÁT HIỆN và sửa lỗi BIT (có code) THIẾT kế và THỰC THI FPGA CHO bộ PHÁT HIỆN và sửa lỗi BIT (có code)

ĐỒ ÁN TỐT NGHIỆP THIẾT KẾ VÀ THỰC THI FPGA CHO BỘ PHÁT HIỆN VÀ SỬA LỖI BIT MỤC LỤC DANH MỤC CÁC HÌNH VẼ VII DANH MỤC CÁC BẢNG BIỂU .IX DANH MỤC CÁC TỪ VIẾT TẮT X CHƯƠNG TỔNG QUAN 1.1 GIỚI THIỆU 1.2 LỊCH SỬ VỀ MÃ HAMMING 1.3 GIỚI THIỆU CÔNG NGHỆ FPGA VÀ KIT DE2-115 .2 1.3.1 Tổng quan công nghệ FPGA .2 1.3.2 Kit Altera DE2-115 1.4 PHẦN MỀM LẬP TRÌNH QUARTUS VÀ NGƠN NGỮ LẬP TRÌNH VHDL 1.4.1 Phần mềm lập trình Quartus .7 1.4.2 Ngơn ngữ lập trình VHDL 1.5 GIAO TIẾP NỐI TIẾP UART .10 1.5.1 Giới thiệu UART 10 1.5.2 Các thông số truyền nhận UART .11 CHƯƠNG PHƯƠNG PHÁP PHÁT HIỆN VÀ SỬA LỖI BIT 12 2.1 CÁC KIỂU LỖI 12 2.1.1 Lỗi bit đơn .12 2.1.2 Lỗi bit chùm 13 2.2 PHƯƠNG PHÁP PHÁT HIỆN LỖI VRC .14 2.3 PHƯƠNG PHÁP PHÁT HIỆN LỖI CRC .14 2.4 PHƯƠNG PHÁP PHÁT HIỆN LỖI CHECKSUM 15 2.5 PHƯƠNG PHÁP PHÁT HIỆN VÀ SỬA LỖI BIT BẰNG MÃ HAMMING 15 CHƯƠNG THIẾT KẾ BỘ PHÁT HIỆN VÀ SỬA LỖI BIT DÙNG PHƯƠNG PHÁP MÃ HAMMING 18 3.1 HỆ THỐNG PHÁT HIỆN VÀ SỬA LỖI BIT (EDAC) 18 3.2 NGUYÊN LÝ HỆ THỐNG PHÁT HIỆN VÀ SỬA LỖI .22 3.2.1 Phía phát 22 3.2.2 Phía thu 22 CHƯƠNG MÔ PHỎNG VÀ THỰC THI 23 4.1 LƯU ĐỒ GIẢI THUẬT .23 4.2 MÔ PHỎNG TRÊN QUARTUS 25 4.3 THỰC THI TRÊN KIT DE2 .27 4.3.1 Kiểm tra phát liệu hệ thống EDAC 27 4.3.2 Kiểm tra thu liệu hệ thống EDAC .28 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 40 5.1 KẾT LUẬN .40 5.2 HƯỚNG PHÁT TRIỂN .40 TÀI LIỆU THAM KHẢO 41 PHỤ LỤC 42 DANH MỤC CÁC HÌNH VẼ HÌNH 1-1: RICHARD HAMMING HÌNH 1-2: MƠ HÌNH FPGA .3 HÌNH 1-3: KIT ALTERA DE2-115 HÌNH 1-4: GIẢN ĐỒ KHỐI ALTERA DE2-115 HÌNH 1-5: GIAO DIỆN QUARTUS II .9 HÌNH 1-6: PHƯƠNG THỨC TRUYỀN NHẬN UART 10 HÌNH 1-7: KHUNG TRUYỀN NHẬN UART .11 HÌNH 2-1: CÁC LOẠI LỖI BIT .12 HÌNH 2-2: LỖI BIT ĐƠN 13 HÌNH 2-3: LỖI BIT CHÙM .13 HÌNH 3-1: HỆ THỐNG THU PHÁT TÍN HIỆU EDAC .18 HÌNH 3-2: SƠ ĐỒ KHỐI HỆ THỐNG EDAC .21 HÌNH 4-1: LƯU ĐỒ PHÍA PHÁT 23 HÌNH 4-2: LƯU ĐỒ PHÍA THU .24 HÌNH 4-3: RTL VIEWER 25 HÌNH 4-4: TỔNG HỢP BÁO CÁO HỆ THỐNG 25 HÌNH 4-5: MƠ PHỎNG DẠNG SĨNG 26 HÌNH 4-6: HIỂN THỊ TRÊN KIT DE2 CHO BỘ PHÁT DỮ LIỆU 27 HÌNH 4-7: TRUYỀN UART LẦN TRƯỜNG HỢP KHƠNG LỖI 29 HÌNH 4-8: TRUYỀN UART LẦN TRƯỜNG HỢP KHÔNG LỖI 29 HÌNH 4-9: TRUYỀN UART LẦN TRƯỜNG HỢP KHƠNG LỖI 30 HÌNH 4-10: HIỂN THỊ TRÊN KIT DE2 TRƯỜNG HỢP KHƠNG LỖI 30 HÌNH 4-11: TRUYỀN UART LẦN TRƯỜNG HỢP LỖI BIT .31 HÌNH 4-12: TRUYỀN UART LẦN TRƯỜNG HỢP LỖI BIT 32 HÌNH 4-13: TRUYỀN UART LẦN TRƯỜNG HỢP LỖI BIT 32 HÌNH 4-14: HIỂN THỊ TRÊN KIT DE2 TRƯỜNG HỢP LỖI BIT 33 HÌNH 4-15: TRUYỀN UART LẦN TRƯỜNG HỢP LỖI BIT 34 HÌNH 4-16: TRUYỀN UART LẦN TRƯỜNG HỢP LỖI BIT 34 HÌNH 4-17: TRUYỀN UART LẦN TRƯỜNG HỢP LỖI BIT 35 HÌNH 4-18: HIỂN THỊ TRÊN KIT DE2 TRƯỜNG HỢP LỖI BIT 36 HÌNH 4-19: TRUYỀN UART LẦN TRƯỜNG HỢP LỖI BIT PARITY .37 HÌNH 4-20: TRUYỀN UART LẦN TRƯỜNG HỢP LỖI BIT PARITY .37 HÌNH 4-21: TRUYỀN UART LẦN TRƯỜNG HỢP LỖI BIT PARITY .38 HÌNH 4-22: HIỂN THỊ TRÊN KIT DE2 TRƯỜNG HỢP LỖI BIT PARITY 39 DANH MỤC CÁC BẢNG BIỂU BẢNG 4-1: GÁN CHÂN KIT DE2 CHO BỘ PHÁT DỮ LIỆU 27 BẢNG 4-2: GÁN CHÂN KIT DE2 CHO BỘ THU DỮ LIỆU 28 DANH MỤC CÁC TỪ VIẾT TẮT ASIC Application Specific Integrated Circuit CLB Configurable Logic Block CRC Cyclic Redundancy Check DE2 Development and Education board EDAC Error Detection And Correction FPGA Field-programmable gate array IC Integrated Circuit IEEE Institute of Electrical and Electronics Engineers JTAG Joint Test Action Group LCD Liquid crystal display MAC Media Access Control PLD Programmable Logic Device RTL Register-Transfer Level UART Universal Asynchronous Receiver-Transmitter VGA Video Graphics Array VHDL VHSIC Hardware Description Language VHSIC Very HighSpeed Itergrated Circuit ĐỒ ÁN TỐT NGHIỆP Trang 1/47 CHƯƠNG TỔNG QUAN 1.1 Giới thiệu Một mạng viễn thông cần có khả truyền liệu cách xác Một hệ thống phải đảm bảo khả hoạt động Tuy nhiên liệu dạng số xử lí, lưu trữ hay truyền từ hệ thống qua hệ thống khác bị lỗi Như truyền nhận liệu xa qua môi trường điện thoại, dây cáp, vô tuyến… môi trường truyền bị tác động nhiệt độ, nhiễu đường dây, điện từ… hay chuyển đổi, xử lí lâu ngày có sai sót nhỏ làm sai lệch liệu nhận Vì vậy, trước nhận liệu phải phát lỗi sửa lỗi để nhận thơng tin cách xác Có nhiều phương pháp phát sửa lỗi bit, phương pháp phát sửa lỗi bit, lỗi bit Parity phát lỗi bit phương pháp mã Hamming 1.2 Lịch sử mã Hamming Trong năm 1940, Hamming làm việc Bell Labs máy tính Bell Model V, máy điện dùng rơ-le, với tốc độ chậm, giây giao động đồng hồ chu kỳ máy Nhập liệu cho vào máy tính thẻ đục lỗ máy tính ln ln gây lỗi trình đọc liệu Trong ngày làm việc tuần, mã sử dụng để tìm lỗi, tìm báo hiệu đèn chớp tắt cho người điều khiển biết để họ sửa, chỉnh sửa máy lại người điều khiển máy tính vắng mặt thời gian ngồi làm việc hay ngày cuối tuần, có lỗi xảy máy tính tự động bỏ qua chương trình chạy đổi sang cơng việc khác Thiết kế thực thi FPGA cho phát sửa lỗi bit SVTH: Lương Đức Tài ĐỒ ÁN TỐT NGHIỆP Trang 2/47 Hình 1-1: Richard Hamming Hamming thường làm việc ngày cuối tuần ơng dần trở nên tức dận ông phải khởi động lại chương trình từ đầu chất lượng kém, không đáng tin cậy máy đọc thẻ đục lỗ Mấy năm kế tiếp, Hamming dồn tâm huyết vào việc thiết kế, phát triển loạt thuật tốn có hiệu cao để sử lý vấn đề sửa lỗi Năm 1950, Mã Hamming ông công bố Một số chương trình ứng dụng hoạt động sử dụng mã ơng Nhiều mã phát lỗi đơn giản sử dụng trước có mã Hamming, khơng có mã hiệu mã Hamming với tổng chi phí tương đương [3] 1.3 Giới thiệu công nghệ FPGA kit DE2-115 1.3.1 Tổng quan công nghệ FPGA FPGA loại IC cho phép người lập trình chỉnh sửa thiết kế FPGA đời phương pháp cho vấn đề hạn chế thời gian để xuất Thiết kế thực thi FPGA cho phát sửa lỗi bit ĐỒ ÁN TỐT NGHIỆP Trang 3/47 thị trường rủi ro tài q trình nghiên cứu sản phẩm công nghệ điện tử FPGA loại thiết bị khả trình đại thời điển ngành công nghệ chế tạo IC chuyên biệt mà gọi ASIC Hình 1-2: Mơ hình FPGA  Cấu trúc FPGA gồm thành phần chính: - Các khối logic cấu hình (CLB) - Các khối vào/ra (IOB) - Các kết nối FPGA mạch tích hợp chứa rât nhiều logic giống xem thành phần tiêu chuẩn Mỗi ô logic giữ hay số chức riêng biệt Các ô trùng kết nối ma trận đường dẫn chuyển mạch khả trình Mảng ô logic kiểu kết nối kết cấu xây dựng khối mạch logic Các thiết kế rắc rối hình thành cách liên kết khối để tạo mạch mô tả Người thiết kế đặc trưng logic đơn xác định đóng chuyển mạch ma trận kết nối Mơ hình tổng quát FPGA Thiết kế thực thi FPGA cho phát sửa lỗi bit ĐỒ ÁN TỐT NGHIỆP Trang 32/47 Hình 4-14: Hiển thị kit DE2 trường hợp lỗi bit - Chân điều khiển để thu liệu: Control = Dữ liệu nhận truyền qua cổng UART: TR_Data = 1100110110001011110000 - Chuỗi bit phát hệ thống: IO_Data = 1001011000101110  Sửa lỗi bit sai - Loại lỗi bit hiển thị led đoạn: HEX0 =  Phát lỗi bit c Trường hợp lỗi bits Thiết kế thực thi FPGA cho phát sửa lỗi bit ĐỒ ÁN TỐT NGHIỆP Trang 33/47 Hình 4-15: Truyền UART lần trường hợp lỗi bits Truyền lần 1: IO_Data(21-16) = 111010 Hình 4-16: Truyền UART lần trường hợp lỗi bits Truyền lần 2: IO_Data(15-8) = 01100010 Thiết kế thực thi FPGA cho phát sửa lỗi bit ĐỒ ÁN TỐT NGHIỆP Trang 34/47 Hình 4-17: Truyền UART lần trường hợp lỗi bits Truyền lần 3: IO_Data(7-0) = 11100000  Sau lần truyền IO_Data nhận là: 1110100110001011100000 So với chuỗi bit phát từ phát liệu ta dễ dàng nhận thấy liệu sai bits vị trí IO_Data(19) IO_Data(4) Thiết kế thực thi FPGA cho phát sửa lỗi bit ĐỒ ÁN TỐT NGHIỆP Trang 35/47 Hình 4-18: Hiển thị kit DE2 trường hợp lỗi bits - Chân điều khiển để thu liệu: Control = Dữ liệu nhận truyền qua cổng UART: IO_Data = 1110100110001011100000 - Chuỗi bit phát hệ thống: TR_Data = 1101111000101100  không sửa lỗi - Loại lỗi bit hiển thị led đoạn: HEX0 =  phát lỗi bits d Trường hợp lỗi bit parity Thiết kế thực thi FPGA cho phát sửa lỗi bit ĐỒ ÁN TỐT NGHIỆP Trang 36/47 Hình 4-19: Truyền UART lần trường hợp lỗi bit Parity Truyền lần 1: IO_Data(21-16) = 010010 Hình 4-20: Truyền UART lần trường hợp lỗi bit Parity Truyền lần 2: IO_Data(15-8) = 01100010 Hình 4-21: Truyền UART lần trường hợp lỗi bit Parity Thiết kế thực thi FPGA cho phát sửa lỗi bit ĐỒ ÁN TỐT NGHIỆP Trang 37/47 Truyền lần 3: IO_Data(7-0) = 11110000  Sau lần truyền IO_Data nhận là: 0100100110001011110000 So với chuỗi bit phát từ phát liệu ta dễ dàng nhận thấy liệu sai vị trí bit Parity IO_Data(21) Hình 4-22: Hiển thị kit DE2 trường hợp lỗi bit Parity Thiết kế thực thi FPGA cho phát sửa lỗi bit ĐỒ ÁN TỐT NGHIỆP Trang 38/47 - Chân điều khiển để thu liệu: Control = Dữ liệu nhận truyền qua cổng UART: IO_Data = 0100100110001011110000 - Chuỗi bit phát hệ thống: TR_Data = 1001011000101110  Sửa lỗi bit Parity - Loại lỗi bit hiển thị led đoạn: HEX0 =  phát lỗi bit Parity CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 5.1 Kết luận Thiết kế thực thi FPGA cho phát sửa lỗi bit ĐỒ ÁN TỐT NGHIỆP Trang 39/47 Hệ thống EDAC đáp ứng nhu cầu cần liệu đúng, xác phạm vi thực Khả sử lý nhanh, xác, hiệu cao, dễ sử dụng… Nhiệm vụ kiểm tra mức độ an toàn liệu, phát sửa sai lỗi bit, lỗi bit Parity phát lỗi bits Bộ thu phát liệu tích hợp hệ thống để hệ thống truyền liệu song cơng, giúp việc giao tiếp việc truyền nhận trở nên dễ dàng hơn, làm hệ thống trở nên gọn gàng, không phức tạp, tăng công suất hiểu Hệ thống phát sửa lỗi bit khơng tránh khỏi mặt hạn chế nhiều bits lỗi hệ thống phát hay sửa được, nhầm tưởng lỗi bit, lỗi bit Parity lỗi bits, lúc liệu sai hồn tồn 5.2 Hướng phát triển Hệ thống EDAC cần cải tiến, hoàn thiện thêm để đáp ứng vấn đề ngày nhiều thông tin với yêu cầu độ xác cao đảm bảo tiết kiệm tài nguyên thông tin Sau vấn đề cần phải cải thiện: - Thêm bit điều khiển thu nhận liệu lỗi bit sửa được, thu có nhiệm vụ gửi tín hiệu phản hồi phát yêu cầu gửi liệu Khi phát lỗi bits, thu gửi tín hiệu phát - yêu cầu gửi lại liệu bị lỗi Dựa vào mục đích sử dụng, tính quan trọng liệu để có tăng giảm lượng liệu lần truyền đảm bảo mức độ an tồn, hiệu - xác liệu Tìm hiểu thêm nhiều phương pháp để phát sửa lỗi nhiều bit đảm bảo không tiêu tốn nhiều lưu lượng TÀI LIỆU THAM KHẢO Tiếng việt: [1] Nguyễn Việt Hùng, Nguyễn Ngô Lâm, Nguyễn Văn Phúc, Đặng Phước Hải Trang (2013), Kỹ thuật truyền số liệu, tr 217-232 Thiết kế thực thi FPGA cho phát sửa lỗi bit ĐỒ ÁN TỐT NGHIỆP Trang 40/47 [2] Tống Văn On, Thiết kế mạch số với VHDL & Verilog [3] Wikipedia, Mã Hamming (https://vi.wikipedia.org/wiki/Mã_Hamming) Tiếng anh: [4] [5] Douglas J Smith (1996), HDL Chip Design, pp 369-378 Chang K C (1999), Digital systems design with VHDL and synthesis, pp 390-407 [6] Terasic DE2-115 User Manual [7] William Stallings (2006), Computer Organization and Architecture (8th Edition), pp 169-173 PHỤ LỤC  Code VHDL cho phát sửa lỗi bit (EDAC) library ieee; Thiết kế thực thi FPGA cho phát sửa lỗi bit ĐỒ ÁN TỐT NGHIỆP Trang 41/47 use ieee.std_logic_1164.all; use ieee.numeric_std.all; entity EDAC_16B is port( Control : in std_logic; IO_Data: inout unsigned(15 downto 0); TR_Data: inout unsigned(21 downto 0); ErrorType: out unsigned(2 downto 0) ); end entity EDAC_16B; architecture struc of EDAC_16B is signal Read_IO_Data, D, Data_TR_Data: unsigned(15 downto 0); signal Write_TR_Data, DecodeSyn: unsigned(21 downto 0); signal D0_16Parity, OverallParity, P_Parity: std_logic; signal P, Parity_TR_Data: unsigned(5 downto 0); signal Syndrome: unsigned(4 downto 0); begin PR_MemData: process (TR_Data) begin Data_TR_Data(0)

Ngày đăng: 27/02/2018, 10:43

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w