Thiết kế thiết bị game “đánh bóng bàn” trên FPGA

6 70 0
Thiết kế thiết bị game “đánh bóng bàn” trên FPGA

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

Thông tin tài liệu

Bài viết trên cơ sở thực hiện hệ thống nhúng trên nền FPGA, nghiên cứu này thực hiện thiết kế phần cứng thực hiện trò chơi đánh bóng bàn (Game-PingPong) đơn giản trên chip Xilinx FPGA bằng giải pháp lập trình trên ngôn ngữ chuyên dùng để thiết kế phần cứng, đó là ngôn ngữ VHDL (Very High Speed Hardware Desription Luaguage).

ISSN 2354-0575 THIẾT KẾ THIẾT BỊ GAME “ĐÁNH BÓNG BÀN” TRÊN FPGA Hoàng Thị Thanh Ngần1, 2, Hồ Khánh Lâm2 Trường Phổ thông Dân tộc nội trú THPT huyện Điện Biên, tỉnh Điện Biên Trường Đại học Sư phạm Kỹ thuật Hưng Yên Ngày tòa soạn nhận báo: 10/07/2017 Ngày phản biện đánh giá sửa chữa: 10/08/2017 Ngày báo duyệt đăng: 15/08/2017 Tóm tắt: Trong thời đại ngày nay, hệ thống nhúng ngày phát triển chiếm vai trò quan trọng sống Các thiết bị nhúng ngày phát triển theo hướng “thông minh”, xu hướng tất yếu thời đại Hệ thống nhúng có nhiều tính trội thơng minh, nhỏ gọn, giá thành thấp, tiêu hao lượng, hoạt động ổn định có nhiều ứng dụng điện tử dân dụng, hệ thống điều khiển, tự động hóa, robot, v.v… Thiết kế hệ nhúng FPGA (Field Programmable Gate Array) thuận tiện cho nghiên cứu thiết kế thử nghiệm, cho nghiên cứu khoa học tốn kinh phí thời gian Do đó, sở thực hệ thống nhúng FPGA, nghiên cứu thực thiết kế phần cứng thực trò chơi đánh bóng bàn (Game-PingPong) đơn giản chip Xilinx FPGA giải pháp lập trình ngơn ngữ chun dùng để thiết kế phần cứng, ngơn ngữ VHDL (Very High Speed Hardware Desription Luaguage) Từ khóa: FPGA, VHDL, Game-PingPong ĐẶT VẤN ĐỀ Trong năm gần đây, Việt Nam nhiều trường Đại học, phịng thí nghiệm đưa vào nghiên cứu giảng dạy bậc đại học cao học hệ nhúng FPGA FPGA cho phép thiết kế hệ thống số vi xử lý kỹ thuật lập trình với ngơn ngữ mơ phần cứng Đặc biết thiết kế FPGA cấu hình lại nhờ thay đổi chương trình thiết kế Tuy nhiên, tài liệu, chương trình đào tạo cơng trình nghiên cứu hệ thống nhúng FPGA trường cịn nên việc nghiên cứu phát triển lĩnh vực cịn gặp khó khăn Trên thực tế, Trường Đại học Cornell (Hoa Kỳ) có nghiên cứu thực hai sinh viên Hanting Lu Kedari Elety board Altera DE2 với tên nghiên cứu cụ thể “Hand tracking pong” (trị chơi bóng bàn dựa vào theo dõi bàn tay); Nghiên cứu sử dụng ngôn ngữ Verilog HDL để thiết kế phần cứng hệ thống áp dụng giải pháp nhận dạng màu da để nhận dạng theo dõi di chuyển bàn tay Ở Việt Nam, có nghiên cứu thực trường Đại học Cần Thơ hai sinh viên Trần Thanh Sang Trần Trung Hiếu board DE2-115 Development and Education hãng Terasic sản xuất với tên nghiên cứu “Thiết kế hệ nhúng mơ trị chơi đánh bóng bàn”; Nghiên cứu thực thiết kế hệ thống nhúng IP core sử dụng công cụ SOPC Builder kết hợp với phần mềm Quartus II, Nios II Software Build Tools for Eclipse, để lập trình cho hệ thống thông qua ngôn ngữ C tạo hệ 70 thống dựa core nhà sản xuất cung cấp sẵn Hệ thống sử dụng camera 5MP TRDB_D5M để nhận diện bàn tay điều khiển trò chơi Như hai nghiên cứu hệ thống cần sử dụng đến thiết bị board Altera DE2, board DE2-115 Development and Education kết hợp với camera để nhận dạng theo dõi bàn tay điều khiển trò chơi Nghiên cứu thực với ý tưởng tạo dựng thiết bị trò chơi hệ thống nhúng FPGA sử dụng board Spartan 3E-500K kết hợp với thiết bị thông dụng giá thành thấp phương thức điều khiển phím bàn phím Đây vấn đề phức tạp để thiết kế hệ thống người thiết kế vừa phải xây dựng kịch trò chơi phù hợp với thực tế vừa phải xây dựng khối lượng chương trình nhiều để thiết kế phần cứng FPGA với giao diện hình (VGA), giao diện bàn phím (Keyboard) Mục đích nghiên cứu để thiết kế phần cứng thực trị chơi đánh bóng bàn đơn giản chip Xilinx FPGA giải pháp lập trình ngơn ngữ chun dùng để thiết kế phần cứng, ngơn ngữ VHDL (Very High Speed Hardware Desription Luaguage) sử dụng board Spartan 3E-500K kết hợp với bàn phím cổng PS/2 Nhìn chung, nghiên cứu kế thừa cải tiến số hạn chế nghiên cứu trước (màu sắc giao diện, độ tin cậy, độ xác, cách điều khiển trị chơi, ), sử dụng thiết bị thông dụng, giá thành thiết bị thiết kế thấp có tính cạnh tranh cao Ngồi ra, nghiên cứu cịn có ý nghĩa ứng Khoa học & Công nghệ - Số 15/Tháng - 2017 Journal of Science and Technology ISSN 2354-0575 dụng vào thực tiễn sống cho đào tạo nghiên cứu khác CƠ SỞ KHOA HỌC VÀ CƠ SỞ THỰC TIỄN 2.1 Cơ sở khoa học Công nghệ vi mạch tích hợp chuyên dụng ASIC (Application Specific Integrated Circuit) lập trình xuất từ lâu dạng thiết bị logic lập trình PLD (Programmable Logic Device) vai trò dạng ASIC khơng nhiều số lượng cổng vi mạch dẫn tới chức PLD nghèo nàn thường sử dụng với nhiệm vụ hạn chế toàn hệ thống FPGA thiết kế Ross Freeman, người sáng lập công ty Xilinx vào năm 1984 Kể từ đến nay, cơng ty sản xuất PLD hàng đầu đẩy mạnh q trình nghiên cứu cơng nghệ vi mạch tích hợp mảng cổng lập trình theo trường FPGA (Field Programmable Gate Array) nhanh chóng cho hệ FPGA với số lượng cổng tốc độ ngày cao Các FPGA nay, có số lượng cổng logic lớn để thay hệ thống bao gồm lõi CPU, Bộ điều khiển nhớ (Memory Controller), ngoại vi SPI, Timer, I2C, GPIO, PWM, Video/Audio Controller, tương đương với hệ thống chip SoC (System on Chip) đại 2.2 Cơ sở thực tiễn - FPGA ngày sử dụng nhiều đào tạo bậc đại học, cao học cho nghiên cứu khoa học kỹ thuật giới Việt Nam - Thiết kế hệ thống nhúng, thiết bị điều khiển FPGA phương pháp thiết kế tốn sử dụng nhiều thực tế THIẾT KẾ HỆ THỐNG NHÚNG VÀ THIẾT BỊ GAME “ĐÁNH BÓNG BÀN” 3.1 Tổng quan hệ thống Hệ thống nhúng nghiên cứu sử dụng bảng phát triển Spartan 3E-500K với ngoại vi bao gồm PC, Keyboard PS/2 hình hiển thị Hình - PC (Personal Computer): Được sử dụng để xây dựng hệ thống nhúng công cụ phần mềm Xilinx ISE Design Suite 14.1 nối với bảng Spartan 3E-500K cáp UART RS-232 DTE cáp USB - Bảng Spartan 3E-500K: Được sử dụng để xây dựng hệ thống nhúng cho phép giao tiếp với Keyboard xử lý tín hiệu phím điều khiển, hiển thị trị chơi hình VGA - Màn hình máy tính: Được sử dụng để hiển thị trị chơi nối với bảng Spartan 3E-500K cáp VGA - Bàn phím máy tính có dây: Được sử dụng để điều khiển trò chơi thiết kế sẵn nối với bảng Spartan 3E-500K cổng PS/2 Hình Sơ đồ hệ thống thiết kế 3.2 Thiết kế hệ nhúng với lõi mềm vi xử lý Microblaze Hệ nhúng có đơn vị xử lý trung tâm vi xử lý Microblaze với giao tiếp ngoại vi khơng có hệ điều hành cài đặt số chương Khoa học & Công nghệ - Số 15/Tháng - 2017 trình ứng dụng nhỏ mà thiết kế thiết bị cần lập trình đưa vào hệ nhúng như: kiểm tra nhớ, kiểm tra ngoại vi để thử nghiệm vận hành Microblaze giao tiếp ngoại vi Journal of Science and Technology 71 ISSN 2354-0575 Hình Sơ đồ khối Lõi mềm vi xử lý Microblaze Để thiết kế lõi mềm vi xử lý, ta thực phần mềm XPS 14.1 (Xilinx Platform Studio) tích hợp cơng cụ Xilinx ISE Design Suite14.1 Khi cài đặt lựa chọn thiết kế chip Microblaze với nhân cấu hình phần cứng với nhớ: DDR_SDRAM, Flash, Instruction Cache, Data Cache, đếm thời gian XPS_ Timer giao tiếp ngoại vi Ethernet, RS232-DTE RS-232-DCE với tốc độ liệu 9600 bps định dạng liệu bits (Ascii code) stop bit, Buttons_4Bits, LEDs_8Bits, DIP_Switches_4Bits Hình Các giao tiếp lõi mềm vi xử lý Microblaze Kết thực phần mềm XPS 14.1 tạo file thiết kế phần cứng hệ nhúng Microblaze Phải nạp file thiết kế phần cứng lên FPGA nhờ cơng cụ SDK14.1 Hình Sơ đồ thiết kế lõi mềm vi xử lý Microblaze Trong thiết kế, bước thực tạo danh sách thiết kế Generate Netlist, tạo file cấu hình Generate Bitstream “system.bit” quan trọng chúng tạo file cấu hình system.bit cho Microblaze FPGA, hạt nhân hệ nhúng 72 Hình Kết xuất thiết kế phần cứng hệ nhúng Microblaze Khoa học & Công nghệ - Số 15/Tháng - 2017 Journal of Science and Technology ISSN 2354-0575 Thực tạo, biên dịch chạy chương trình kiểm tra thiết bị ngoại vi, kiểm tra nhớ ngôn ngữ C hệ nhúng Kết chạy thành cơng chương trình cho thấy hệ nhúng làm việc tốt với nhớ giao tiếp ngoại vi Hình Tải file cấu hình hệ nhúng Microblaze lên FPGA 3.3 Thiết kế thiết bị Game “Đánh bóng bàn” Xilinx FPGA * Chương trình Chương trình có nhiệm vụ thực tạo giao diện điều khiển trị chơi cách gọi chương trình thực chức liên quan: hiển thị giao diện điều khiển trị chơi Hình trình bày lưu đồ mơ tả cách hoạt động chương trình Hình Lưu đồ chương trình điều khiển trị chơi Khoa học & Cơng nghệ - Số 15/Tháng - 2017 Journal of Science and Technology 73 ISSN 2354-0575 * Chương trình Đọc liệu từ bàn phím Hệ thống thiết kế để nhận liệu liên tục từ phím điều khiển Các tọa độ ghi liên tục lên vùng nhớ SRAM chọn làm nhớ đệm Pixel Buffer vị trí ghi Dữ liệu từ phím lưu vùng nhớ để phục vụ cho cơng việc xử lý * Chương trình theo dõi di chuyển bóng trượt Để theo dõi tốt q trình di chuyển bóng hai trượt phạm vi định, chương trình thực việc gán cửa sổ có kích thước 16x16 pixel tạo thành hình vng cho hình dạng bóng hai cửa sổ có kích thước 20x64 pixel tạo thành khối hình chữ nhật cho hai trượt Để xác định vị trí bóng hai trượt giúp cho việc theo dõi bóng hai trượt di chuyển dễ dàng mà không ảnh hưởng đến tốc độ xử lý 3.4 Kết thử nghiệm Hệ thống thiết kế thiết bị game hoạt động ổn định, sử dụng tài nguyên chip FPGA (xem Hình 8) Hình Tài nguyên sử dụng thiết kế thiết bị game Hình Bố trí hệ thống thử nghiệm 74 Khoa học & Công nghệ - Số 15/Tháng - 2017 Journal of Science and Technology ISSN 2354-0575 Bố trí hệ thống thử nghiệm trình bày Hình Hệ thống hoạt động ổn định, ứng dụng trị chơi thiết kế di chuyển phím người chơi điều khiển trượt tương ứng Giao diện trò chơi thiết kế đơn giản, màu sắc dễ nhìn kết hợp với giao tiếp trao đổi tạo hứng thú cho người chơi Một đoạn video clip trình bày kết nghiên cứu xem đường link https://drive.google.com/ open?id=0B-RKuSapprWkdndpeWpDN2huSkk KẾT LUẬN Bài viết trình bày trình thiết kế thiết bị điều khiển dựa vào mã phím FPGA kiểm chứng thành cơng thiết kế thiết bị trị chơi Game – Ping Pong trực quan sinh động Bằng số thay đổi code chương trình thiết kế ta thay đổi phím điều khiển mong muốn, thay đổi màu thành phần giao diện trị chơi, tốc độ bóng thay đổi tên hai người chơi tương ứng, thay đổi khác thiết kế hoạt động tốt đạt yêu cầu mong muốn Dựa kinh nghiệm thiết kế phát triển thiết kế thiết bị trò chơi điều khiển phúc tạp hơn, đáp ứng cho ứng dụng điều khiển tương tác, thân thiện với người sử dụng Tài liệu tham khảo [1] Hồ Khánh Lâm, (2015), “Giáo trình Thiết kế hệ thống số FPGA VHDL”, NXB Khoa học kỹ thuật, Hà Nội [2] http://xemtailieu.com/tai-lieu/thuc-hien-he-thong-nhung-mo-phong-tro-choi-bong-ban-336928 html [3] en.wikipedia.org/wiki/Field-programmable_gate_array [4] Digilentinc.com, (2006), “Spartan-3E Starter Kit Board User Guide”, UG230 (v1.0) March [5] www.xilinx.com/support/download.html [6] www.xilinx.com, “Microblaze Processor Reference Guide”, UG081(v9.0) [7] Rod Jesman, Fernando Martinez Vallina, Jafar Saniie, “Microblaze Tutorial Creating a Simple Embedded System and Adding Custom Peripherals Using Xilinx EDK Software Tools”, Illinois Institute Of Tecnology DESIGN DEVICE GAME “PING-PONG” ON FPGA Abstract: In today’s age, embedded system are growing and playing an important role in life Embedded devices are now developing in the direction of “smart”, an necessary trend of the times Embedded system have many outstanding features such as intelligent, compact, low cost, low power consumption, stable operation and many applications in civil electronics, control systems, automation, robot, etc Design embedded system on FPGA (Field Programmable Gate Array) convinient for experiment design researches, for scientific researches less costly on expense and time Therefore, on the basis of implementing embedded system on FPGA background, this study implemented a hardware design implementing simple game pingpong on chip Xilinx FPGA by programming solution on specialized language for hardware design, that’s the language VHDL (Very High Speed Hardware Description Luaguage) Keywords: FPGA, VHDL, Game-PingPong Khoa học & Công nghệ - Số 15/Tháng - 2017 Journal of Science and Technology 75 ... giao tiếp ngoại vi Hình Tải file cấu hình hệ nhúng Microblaze lên FPGA 3.3 Thiết kế thiết bị Game “Đánh bóng bàn” Xilinx FPGA * Chương trình Chương trình có nhiệm vụ thực tạo giao diện điều khiển... diện trò chơi, tốc độ bóng thay đổi tên hai người chơi tương ứng, thay đổi khác thiết kế hoạt động tốt đạt yêu cầu mong muốn Dựa kinh nghiệm thiết kế phát triển thiết kế thiết bị trò chơi điều khiển... vi xử lý Microblaze Kết thực phần mềm XPS 14.1 tạo file thiết kế phần cứng hệ nhúng Microblaze Phải nạp file thiết kế phần cứng lên FPGA nhờ cơng cụ SDK14.1 Hình Sơ đồ thiết kế lõi mềm vi xử lý

Ngày đăng: 28/04/2021, 02:44

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

Tài liệu liên quan