Bài tập lớn thông tin di động THIẾT KẾ MẠCH LỌC SỐ FIR VÀ ĐƯA RA CÁC HỆ SỐ BỘ LỌC TRÊN FPGA

38 17 0
Bài tập lớn thông tin di động  THIẾT KẾ MẠCH LỌC SỐ FIR VÀ ĐƯA RA CÁC HỆ SỐ BỘ LỌC 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 BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ VIỄN THÔNG BÀI TẬP LỚN THÔNG TIN DI ĐỘNG Đề tài THIẾT KẾ MẠCH LỌC SỐ FIR VÀ ĐƯA RA CÁC HỆ SỐ BỘ LỌC TRÊN FPGA Sinh viên thực hiện DƯƠNG HOÀNG CHÍ – 2017242.

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ - VIỄN THÔNG BÀI TẬP LỚN THÔNG TIN DI ĐỘNG Đề tài: THIẾT KẾ MẠCH LỌC SỐ FIR VÀ ĐƯA RA CÁC HỆ SỐ BỘ LỌC TRÊN FPGA Sinh viên thực hiện: DƯƠNG HỒNG CHÍ – 20172429 - ĐTVT.01 K62 PHẠM VIỆT HỒNG - 20172574 – ĐTVT.02 K62 NGUYỄN DỖN HOAN – 20172563– ĐTVT.02 K62 Giảng viên hướng dẫn: PGS TS NGUYỄN VĂN ĐỨC Hà Nội, 11-2021 LỜI NÓI ĐẦU Thế kỷ 21 kỷ công nghệ thông tin kỹ thuật số với phát triển ứng dụng rộng rãi vi xử lý Bằng việc đưa sức mạnh kỹ thuật số vào thực tiễn, vi xử lý ngày thay đổi cách sống loài người Các vật dụng máy tính, điện thoại, điều hịa, máy giặt, … ngày thông minh mạnh mẽ nhờ vi xử lý Trong cơng nghệ FPGA xuất giải pháp thay cho vấn đề đưa thị trường sớm tránh 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 (PLA) tiên tiến ngành công nghệ chế tạo IC chuyên biệt gọi ASIC Ngoài kỷ 21 thời đại truyền thông không dây tốc độ cao, độ xác tin cậy cao Do đó,nhóm chúng em xin chọn đề tài: “THIẾT KẾ MẠCH LỌC SỐ FIR VÀ ĐƯA RA CÁC HỆ SỐ BỘ LỌC TRÊN FPGA” Đề tài nhóm em gồm chương: • • • • • Chương 1: Tổng quan FPGA Chương 2: Lý thuyết FSK Chương 3: Lý thuyết lọc số Chương 4: Triển khai khối điều chế FPGA Chương 5: Triển khai lọc số FPGA MỤC LỤC CHƯƠNG 1: TỔNG QUAN VỀ FPGA 1.1 Khái niệm FPGA Field-programmable gate array (FPGA) loại mạch tích hợp cỡ lớn dùng cấu trúc mảng phần tử logic mà người dùng lập trình Chữ “field” muốn đến khả tái lập trình từ bên ngồi người sử dụng, không phụ thuộc vào dây truyền sản xuất phức tạp nhà máy bán dẫn Vi mạch FPGA cấu thành từ phận như: • • • • Các khối logic lập trình (logic block) Hệ thống mạch liên kết lập trình Khối vào/ (I/O pads) Phần tử thiết kế sẵn DSP slice, RAM, ROM, nhân xử lý, … FPGA xem loại vi mạch bán dẫn chuyên dụng ASIC, so sánh FPGA với ASIC đặc chế hoàn toàn hay ASIC thiết kế thư viện logic FPGA khơng đạt mức độ tối ưu loại hạn chế khả thực tác vụ đặc biệt phức tạp, FPGA ưu việt chỗ tái cấu trúc lại sử dụng, công đoạn thiết kế đơn giản, chi phí giảm, rút ngắn thời gian đưa sản phẩm vào sử dụng Còn so sánh với dạng vi mạch bán dẫn lập trình dùng cấu trúc mảng phần tử logic PLA, PAL, CPLD FPGA ưu việt điểm: tác vụ lập trình FPGA thực đơn giản hơn, khả lập trình linh động khác biệt quan trọng kiến trúc FPGA cho phép có khả chứa khối lượng lớn cổng logic (logic gate), so với vi mạch bán dẫn lập trình có trước Thiết kế hay lập trình cho FPGA thực chủ yếu ngôn ngữ mô tả phần cứng HDL VHDL, Verilog, … Các hang sản suất FPGA lớn Xilinx, Altera thường cung cấp gói phần mềm thiết bị phụ trợ cho trình thiết kế, ngồi có số hang thứ cung cấp gói phần mềm kiểu Synopsys, Synplify,… Các gói phần mềm có khả thực tất bước tồn quy trình thiết kế IC chuẩn với đầu vào mã thiết kế HDL (còn gọi mã RTL) 1.2 Cấu trúc FPGA Hình 1 Cấu trúc FPGA 1.2.1 Khối logic Hình Khối logic Phần tử FPGA khối logic (logic block) Khối logic cấu thành từ LUT phần tử nhớ đồng Flip-flop, LUT (Look up table) khối logic thực hàm logic từ đầu vào, kết hàm tùy vào mục đích mà gửi ngồi khối logic trực tiếp hay khơng thơng qua phần tử nhớ Flipflop Các dòng FPGA Xilinx sử dụng khái niệm slice, slice tạo thành từ khối logic, số lượng slice thay đổi từ vài nghìn tới vài chục nghìn tùy theo loại FPGA Bốn slice tạo thành khối Configurable Logic Blocks (CLBs) CLBs phần tử cấu thành FPGA, phần tử cấu thành FPGA, nguồn tài nguyên logic tạo nên mạch logic Nếu nhìn cấu trúc tổng thể mảng LUT ngồi đầu vào kể hỗ trợ them đầu vào bổ sung từ khối logic phân bố trước sau nâng tổng số đầu vào LUT lên chân Cấu trúc nhằm tang tốc số học logic Hình Configurable Logic Blocks 1.2.2 Hệ thống mạch liên kết Hình Mạng liên kết FPGA Mạng liên kết FPGA cấu thành từ đường kết nối theo hai phương ngang cà đứng, tùy theo loại FPGA mà đường kết nối chia thành nhóm khác nhau, ví dụ XC4000 Xilinx có ba loại kết nối: ngắn, dài dài Các đường kết nối nối với thông qua khối chuyển mạch lập trình (programmable switch), khối chuyển mạch chứa số lượng nút chuyển lập trình đảm bảo cho dạng liên kết phức tạp khác 1.2.3 Các phần tử tích hợp sẵn Ngồi khối logic tùy theo loại FPGA khác mà có phần tử tích hợp thêm khác nhau, ví dụ để thiết kế ứng dụng SoC, dòng Virtex 4, Xilinx có chứa nhân Power PC, hay dịng Atmel FPSLIC tích hợp nhân AVR,… hay ứng dụng xử lý tín hiệu số FPGA có tích hợp sẵn DSP slices nhân cộng tốc độ cao, thực hàm A * B + C, ví dụ dịng Virtex Xilinx chứa từ vài chục đến hàng tram DSP slices với A, B, C 18-bit 1.2.4 Block RAM Ngoài FPGA Xilinx cịn có block RAM, khái qt Block RAM nhớ nhỏ nằm FPGA Những block nhỏ (khoảng vài chục Kb đến vài Mb tùy theo loại FPGA) tạo thành nhớ nhỏ ROM, FIFO 1.3 Quy trình thiết kế FPGA 1.3.1 Mô tả thiết kế (Specitification) Khi xây dựng chip khả trình (FPGA) với ý nghĩa dành cho ứng dụng riêng biệt, xuất phát từ ứng dụng thực tiễn sống đặt yêu cầu phải thiết kế IC thực tối ưu ứng dụng Bước quy trình thiết kế có nhiệm vụ tiếp nhận yêu cầu thiết kế xây dựng nên kiến trúc tổng quát thiết kế 1.3.2 Thiết kế (Design) Trong bước này, từ yêu cầu thiết kế dựa khả cơng nghệ có, người thiết kế kiến trúc xây dựng nên toàn kiến trúc tổng quan cho thiết kế Nghĩa phần người thiết kế kiến trúc phải mô tả vấn đề sau: • • • • Thiết kế có khối nào? Mỗi khối có chức gì? Hoạt động khối sao? Phân tích kỹ thuật sử dụng thiết kế công cụ, phần mềm bổ trợ cho việc thiết kế Một thiết kế mơ tả sử dụng ngôn ngữ mô tả phần cứng VHDL hay Verilog mơ tả qua bảng vẽ mạch để mô tả chi tiết cho khối sơ đồ 1.3.3 Mô logic (Function simulation) Sau mô tả thiết kế, người thiết kế cần mô tổng thể thiết kế mặt chức để kiểm tra thiết kế có hoạt động với chức yêu cầu 1.3.4 Tổng hợp mạch logic (Logic Synthesis) Tổng hợp q trình tổng hợp mơ tả thiết kế thành sơ đồ bố trí mạch (netlist) Q trình chia làm bước: Chuyển đổi mã RTL, mã HDL thành mô tả dạng biểu thức đại số Boolean Dựa biểu thức kết hợp với thư viện tế bào chuẩn hóa sẵn để tổng hợp nên thiết kế tối ưu 1.3.5 Hiệu chỉnh kết nối (Datapath Schematic) Nhập netlist ràng buộc thời gian vào công cụ phân tích thời gian (timing analysic), cơng cụ tách rời tất kết nối thiết kế, tính thời gian trễ kết nối dựa ràng buộc Dựa kết phân tích (report) cơng cụ phân tích, xác định kết nối không thỏa mãn mặt thời gian Tùy theo nguyên nhân dẫn đến khơng thỏa mã mà ta viết lại mã tiến hành lại tổng hợp mạch logic hiệu chỉnh lại ràng buộc 1.3.6 Thực thi (Implementation) Q trình gồm bước: • Ánh xạ (mapping): chuẩn bị liệu đầu vào, xác định kích thước khối Các khối phải phù hợp với cấu trúc tế bào FPGA (gồm nhiều cổng logic) đặt chúng vào vị trí tối ưu cho việc dây • Sắp đặt định tuyến (Place and route): Sắp đặt khối đặt khối vào tế bào vị trí tối ưu cho việc dây Định tuyến bước thực việc nối dây tế bào Để thực công việc cần có thơng tin sau: • Các thơng tin vật lý thư viện tế bào, ví dụ kích thước tế bào, điểm để kết nối, định thời, trở ngại dây • Một netlist tổng hợp chi tiết instance mối quan hệ kết nối bao gồm đường dẫn bị hạn chế thiết kế, • Tất yêu cầu tiến trình cho lớp kết nối, bao gồm luật thiết kế cho lớp dây, trở kháng điện dung, tiêu thụ lượng, luật dẫn điện lớp 1.3.7 Quá trình lập trình nạp chương trình Sau trình thực thiết kế, thiết kế cần được nạp vào FPGA dạng bit Quá trình nạp thiết kế vào FPGA lưu trữ nhớ tạm, tắt nguồn Ở để thực triển khai thiết kế KIT FPGA Nexys sử dụng phần mềm ISE Xilinx để tạo file nạp dùng phần mềm Digilent Adept để nạp file bit xuống kit FPGA Nexys 10 1.4 Giới thiệu Kit Xilinx Spartan Nexys Hình Kit Nexys Các thông số kit:            Kit hoạt động tần số 100MHz 16MB Cellular RAM 16MB SPI 10/100 Ethernet PHY USB2 cho chạy chương trình truyền liệu xfer USB-UART USB-HID bit VGA GPIO: LEDs, nút bấm, công tắc led 2278 slices, slices bao gồm LUT đầu vào Flip-flop 576Kb cho khối RAM phục vụ xử lý nhanh 32 DSP Đánh giá: Kit phục vụ tốt cho nhu cầu sinh viên phòng LAB Tần số hoạt động cao kit DE2 giúp cho việc xử lý khối hoạt động nhanh 11 CHƯƠNG 2: LÝ THUYẾT VỀ FSK 2.1 Khái niệm Frequency Shift Keying (FSK) sơ đồ điều chế tần số thơng tin số truyền qua thay đổi tần số riêng biệt tín hiệu sóng mang Cơng nghệ sử dụng cho hệ thống thông tin liên lạc đo từ xa, radio , user ID, dụng cụ mở cửa nhà để xe truyền vô tuyến tần số thấp băng tần VLF ELF FSK đơn giản FSK nhị phân (BFSK) BFSK sử dụng cặp tần số riêng biệt để truyền thông tin nhị phân (0 1) Hình FSK modulation Hình 2 Phổ tín hiệu FSK 12 • Rst_n: reset mạch • Cs_dac, mosi_dac, sclk_dac: chân tín hiệu giao tiếp SPI để truyền liệu sang DAC để chuyển đổi tín hiệu số sang tín hiệu tương tự 4.2 Thiết kế chi tiết Module FSK_mod bao gồm khối kết nối với hình vẽ có chức sau: • Khối Bit_rate_1Khz dùng để chuyển tín hiệu từ bit song song sang bit nối tiếp với tốc độ 1Kbps, nối sang khối Sin_data để điều khiển q trình ghép sóng mang • Khối Sin_data nhận tín hiệu bit điều khiển từ khối Bit_rate_1Khz để ghép nối sóng mang theo bit với lý thuyết FSK, bit tần số 16Khz, bit tần số 13 Khz • Khối dac_out giúp chuyển tín hiệu fsk_signal sang DAC thơng qua giao tiếp SPI 4.2.1 Khối Bit_rate_1Khz Hình Sơ đồ chân khối Bit_rate_1Khz 26 Hình 4 Thiết kế chi tiết khối Bit_rate_1Khz 4.2.2 Khối sin_data Tín hiệu sóng sin điều chế dựa dòng bit đầu vào với bit tần số sóng sin 16 Khz với bit tần số sóng sin 13 Khz Hình Sơ đồ chân khối sin_data 27 Hình Thiết kế chi tiết khối sin_data 4.2.3 Khối dac_out Khối dac_out giúp FPGA giao tiếp với DAC MCP 4921 để chuyển từ tín hiệu số sang tín hiệu tương tự thơng qua giao tiếp SPI Hình SPI timing MCP 4921 28 Hình Sơ đồ chân khối dac_out Hình Thiết kế chi tiết khối dac_out 4.3 Kết Synthesis Bảng Phần cứng sử dụng Device Utilization Summary (estimated values) Logic Utilization Number of Slice Registers Number of Slice LUTs [-] Used Available Utilization 84 18224 0% 522 9112 5% 29 Number of fully used LUT-FF pairs Number of bonded IOBs Number of BUFG/BUFGCTRLs 77 529 14% 13 232 5% 16 6% Theo bảng ta thấy phần cứng sử dụng nhỏ so với tài nguyên phần cứng hệ thống, giúp phát triển thêm tương lai Kết timing report: Timing Summary: Speed Grade: -2 Minimum period: 6.285ns (Maximum Frequency: 159.109MHz) Minimum input arrival time before clock: 4.736ns Maximum output required time after clock: 4.746ns Maximum combinational path delay: No path found Kết testbench Hình 10 Wareform 30 CHƯƠNG 5: TRIỂN KHAI BỘ LỌC SỐ TRÊN FPGA 5.1 Bộ lọc FIR Hình Cấu trúc lọc IIR Bộ lọc FIR thiết kế theo ý tưởng trên, tham số lọc tính tốn sử dụng Filter Designer Matlab Bậc lọc 20 Kết synthesis sau Bảng Kết phần cứng sử dụng lọc FIR Device Utilization Summary (estimated values) Logic Utilization Number of Slice Registers Number of Slice LUTs Number of fully used LUT-FF pairs Number of bonded IOBs Number of BUFG/BUFGCTRLs [-] Used Available Utilization 338 18224 1% 2617 9112 28% 154 2801 5% 34 232 14% 16 6% Kết testbench đạt 31 Hình Kết testbench Ở kiểm thử lọc thơng thấp tần số 2Khz, tín hiệu đưa vào tín hiệu có tần số 2Khz 5Khz Kết sau lọc tần số 2Khz, đảm bảo yêu cầu thiết kế 5.2 Bộ lọc IIR Hình Cấu trúc lọc IIR Bộ lọc IIR chia nhỏ thành lọc nhỏ (section) với tham số lọc tính tool Filter Designer MatLab, bậc lọc 10 Hình Sơ đồ chân IIR_passband 32 Hình 5 Thiết kế chi tiết IIR_passband Trong module IIR_passband bao gồm section nhỏ, section có cấu trúc sau Hình Sơ đồ chân khối section Ta có chân a1, a2, b0, b1, b2 tham số thiết kế section lọc IIR 33 Hình Thiết kế chi tiết khối section Bảng Phần cứng sử dụng cho lọc IIR Device Utilization Summary (estimated values) Logic Utilization Number of Slice Registers Number of Slice LUTs Number of fully used LUT-FF pairs Number of bonded IOBs Number of BUFG/BUFGCTRLs [-] Used Available Utilization 390 18224 2% 5636 9112 61% 56 5970 0% 34 232 14% 16 12% Kết testbench thu hình dưới, lọc IIR bandpass thiết kế với tần số 13-16Khz ta thấy cho tín hiệu có tần số 14Khz vào tín hiệu 14Khz dễ qua lọc không bị suy hao 34 Hình Kết testbench 35 KẾT LUẬN TÀI LIỆU THAM KHẢO [1] https://en.wikipedia.org/wiki/Frequency-shift_keying [2] Kennedy, G.; Davis, B (1992) Electronic Communication Systems (4th ed.) McGraw-Hill International ISBN 978-0-07-112672-4., p 509 [3] https://reference.digilentinc.com/reference/programmable-logic/nexys3/reference-manual [4] https://www.microchip.com/wwwproducts/en/MCP4921 36 ... delay: No path found Kết testbench Hình 10 Wareform 30 CHƯƠNG 5: TRIỂN KHAI BỘ LỌC SỐ TRÊN FPGA 5.1 Bộ lọc FIR Hình Cấu trúc lọc IIR Bộ lọc FIR thiết kế theo ý tưởng trên, tham số lọc tính tốn sử... thể dùng tần số cao (3-30MHz) để truyền sóng radio cáp đồng trục 13 CHƯƠNG 3: LÝ THUYẾT VỀ BỘ LỌC SỐ 3.1 Khái quát loại lọc số Bộ lọc số giúp chọn lọc tần số mong muốn lọc bỏ tần số không mong... muốn tín hiệu Bộ lọc số bao gồm loại lọc là:  Bộ lọc FIR: Lọc phi đệ quy  Tín hiệu phụ thuộc vào tín hiệu vào tín hiệu vào trước  Đáp ứng xung hữu hạn  Luôn ổn định  Bộ lọc FIR: Lọc đệ quy

Ngày đăng: 08/12/2022, 21:34

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

Tài liệu liên quan