Hướng Dẫn Thiết Kế Game Mini Trên Kit STM32F746G Discovery Cho Đồ Án Tốt Nghiệp

Đồ án tốt nghiệp thiết kế game mini trên kit STM32F746G Discovery hướng dẫn chi tiết quy trình phát triển game, tích hợp phần cứng và phần mềm hiệu quả.

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2018

84
3
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CAM ĐOAN

LỜI CÁM ƠN

1. CHƯƠNG 1: TỔNG QUAN

1.1. ĐẶT VẤN ĐỀ

1.2. NỘI DUNG NGHIÊN CỨU

1.3. GIỚI HẠN

1.4. BỐ CỤC

2. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1. MÔ TẢ QUÁ TRÌNH HOẠT ĐỘNG

2.2. TỔNG QUAN LÝ THUYẾT

2.2.1. Tổng quan ARM

2.2.2. Giới thiệu về ARM-M7- STM32F746G-DISCOVERY

2.2.3. Module giải mã âm thanh VS1003-v2

2.2.4. Tay cầm game Dualshock 2

2.2.5. Chuẩn truyền nhận SPI

2.2.6. Chuẩn giao tiếp SDMMC

3. CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ

3.1. Thiết kế sơ đồ khối

3.2. Tính toán và thiết kế mạch

3.2.1. Khối điều khiển, cảm ứng và hiển thị. Khối tay cầm. Khối âm thanh

3.2.2. Sơ đồ nguyên lý toàn mạch

4. CHƯƠNG 4: THI CÔNG HỆ THỐNG

4.1. Thi công bo mạch

4.2. Lắp ráp, hàn linh kiện và kiểm tra

4.3. Đóng gói sản phẩm

4.4. Lập trình hệ thống

4.4.1. Game Cờ Caro

4.4.2. Game Ball Bing Bong

4.4.3. Game Flappy Bird

4.4.4. Game Stick Hero

4.4.5. Game Ai Là Triệu Phú

4.4.6. Game Vòng Quay Sát Phạt

4.4.7. Game Pika Pika

4.4.8. Phần mềm lập trình cho vi điều khiển

4.5. Tài liệu hướng dẫn sử dụng, thao tác

5. CHƯƠNG 5: KẾT QUẢ, NHẬN XÉT VÀ ĐÁNH GIÁ

6. CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Hướng dẫn thiết kế game mini trên kit STM32F746G Discovery

Tài liệu này cung cấp hướng dẫn thiết kế game mini trên kit STM32F746G Discovery, phục vụ cho đồ án tốt nghiệp của sinh viên ngành Công nghệ Kỹ thuật Điện tử Truyền thông. Trọng tâm là việc sử dụng STM32F746G Discovery kit để phát triển các game mini đơn giản, kết hợp với các module phần cứng như màn hình cảm ứng, tay cầm PS2, và module âm thanh VS1003. Tài liệu này không chỉ hướng dẫn chi tiết về kỹ thuật lập trình mà còn đề cập đến quy trình phát triển phần mềmứng dụng game trong thực tế.

1.1. Giới thiệu về kit STM32F746G Discovery

Kit STM32F746G Discovery là một công cụ mạnh mẽ dành cho việc phát triển các ứng dụng nhúng, đặc biệt là trong lĩnh vực công nghệ game. Kit này tích hợp vi điều khiển ARM Cortex-M7, màn hình TFT 4.3-inch cảm ứng, và nhiều ngoại vi khác như khe cắm microSD, cổng USB, và đầu nối Arduino. Những tính năng này giúp sinh viên dễ dàng thiết kế và triển khai các game mini với giao diện người dùng thân thiện và hiệu suất cao.

1.2. Quy trình thiết kế game mini

Quy trình thiết kế game mini bao gồm các bước chính: nghiên cứu tài liệu về các module phần cứng, thiết kế sơ đồ khối hệ thống, viết chương trình điều khiển, và thử nghiệm. Tài liệu nhấn mạnh việc sử dụng STM32F746G để điều khiển các module như tay cầm PS2 và module âm thanh VS1003, đồng thời hướng dẫn cách tối ưu hóa phần mềm và phần cứng để đạt hiệu suất tốt nhất.

II. Phát triển game mini trên STM32F746G

Phần này tập trung vào việc phát triển game mini trên nền tảng STM32F746G, bao gồm các bước từ thiết kế giao diện đến lập trình các chức năng game. Tài liệu cung cấp các ví dụ cụ thể về cách lập trình các game như Cờ Caro, Flappy Bird, và Ball Bing Bong, đồng thời hướng dẫn cách tích hợp âm thanh và điều khiển bằng tay cầm PS2.

2.1. Lập trình game trên STM32F746G

Việc lập trình game trên STM32F746G đòi hỏi sự hiểu biết về kiến trúc ARM Cortex-M7 và các thư viện lập trình đi kèm. Tài liệu hướng dẫn cách sử dụng các công cụ như Keil C và STM32CubeMX để viết và debug chương trình. Các ví dụ về lập trình game được trình bày chi tiết, từ việc thiết kế lưu đồ giải thuật đến viết code và thử nghiệm.

2.2. Tích hợp âm thanh và điều khiển

Module âm thanh VS1003 được sử dụng để phát nhạc trong các game mini, tạo ra trải nghiệm chơi game sống động hơn. Tài liệu hướng dẫn cách giao tiếp giữa STM32F746GVS1003 thông qua chuẩn SPI, đồng thời tích hợp điều khiển bằng tay cầm PS2 để tăng tính tương tác cho người chơi.

III. Ứng dụng và đánh giá

Phần cuối của tài liệu đánh giá hiệu quả của việc thiết kế game mini trên kit STM32F746G Discovery và đề xuất các hướng phát triển trong tương lai. Tài liệu cũng nhấn mạnh tầm quan trọng của việc kết hợp giữa phát triển phần mềmphần cứng để tạo ra các sản phẩm game chất lượng cao.

3.1. Đánh giá kết quả

Các game mini được thiết kế trên STM32F746G đã đạt được độ chính xác cao và hoạt động ổn định. Tài liệu đánh giá các thông số kỹ thuật của hệ thống, so sánh với các tiêu chuẩn thực tế, và chỉ ra những ưu điểm cũng như hạn chế của dự án.

3.2. Hướng phát triển

Tài liệu đề xuất các hướng phát triển trong tương lai, bao gồm việc nâng cấp phần cứng, cải thiện giao diện người dùng, và mở rộng các tính năng game. Đồng thời, tài liệu cũng khuyến khích sinh viên tiếp tục nghiên cứu và phát triển các ứng dụng game trên nền tảng STM32F746G.

12/02/2025

Trích đoạn nội dung tài liệu

Chương 1: Tổng quan Trình bày tổng quan về đề tài, tình hình thực tế, tính cần thiết của đề tài.  Chương 2: Cơ sở lý thuyết. Chương này trình bày lý thuyết liên quan đến các phần cứng, các chuẩn truyền nhận.  Chương 3: Tính toán và thiết kế.

Chương này tính toán các thông số mạch để lựa chọn các linh kiện phù hợp với hệ thống.  Chương 4: Thi công hệ thống. Trình bày quá trình thi công mạch kết nối giữa các phần cứng với nhau. Thiết kế lưu đồ cho từng nội dung code sẽ làm.

Viết code dựa theo lưu đồ đã thiết kế trên.  Chương 5: Kết quả, nhận xét và đánh giá. Trình bày kết quả thu được của toàn bộ hệ thống, nêu rõ những mặt đã làm được và chưa làm được so với mục tiêu ban đầu cũng như ưu điểm, hạn chế. Đánh giá tính ổn định của hệ thống.

 Chương 6: Kết luận và hướng phát triển. Đưa ra kết luận chung cho hệ thống. So sánh với các hệ thống khác ngoài thực tế để định được hướng phát triển của đề tài. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 3 CƠ SỞ LÝ THUYẾT Chương 2: CƠ SỞ LÝ THUYẾT 2.

MÔ TẢ QUÁ TRÌNH HOẠT ĐỘNG Khi cấp nguồn hệ thống thì màn hình sẽ hiện lên tên các tựa game. Người chơi chọn game bằng cách nhấn nút trên tay cầm Dual Shock. Vào từng game tùy vào hướng dẫn sử dụng sẽ có các thao tác riêng bằng PS2 hoặc cảm ứng. Trong quá trình hoạt động sẽ có phát nhạc phù hợp với từng game.

TỔNG QUAN LÝ THUYẾT 2.1 Tổng quan ARM Cấu trúc ARM (viết tắt từ tên gốc là Acorn RISC Machine) là một loại cấu trúc vi xử lý 32 bit kiểu RISC (thuộc kiến trúc Hardvard, có tập lệnh rút gọn) được sử dụng rộng rãi trong các thiết kế nhúng. Do có đặc điểm tiết kiệm năng lượng, các bộ CPU ARM chiếm ưu thế trong các sản phẩm điện tử di động mà với các sản phẩm này việc tiêu tán công suất thấp là một mục tiêu thiết kế quan trọng hàng đầu. Việc thiết kế ARM được bắt đầu từ năm 1983 trong một dự án phát triển của công ty máy tính Acorn. Nhóm thiết kế hoàn thành việc phát triển mẫu gọi là ARM1 vào năm 1985, và vào năm sau, nhóm hoàn thành sản phẩm “thực’’ gọi là ARM2 với thiết kế đơn giản chỉ gồm 30.

ARM2 có tuyến dữ liệu 32 bit, không gian địa chỉ 26 bit tức cho phép quản lý đến 64 Mbyte địa chỉ và 16 thanh ghi 32 bit. Thế hệ sau, ARM3, được tạo ra với 4KB cache và có chức năng được cải thiện tốt hơn nữa. Trải qua nhiều thế hệ nhưng lõi ARM gần như không thay đổi kích thước.000 transistors trong khi ARM6 chỉ tăng lên đến 35. Ý tưởng của nhà sản xuất lõi ARM là sao cho người sử dụng có thể ghép lõi ARM với một số bộ phận tùy chọn nào đó để tạo ra một CPU hoàn chỉnh, một loại CPU mà có thể tạo ra trên những nhà máy sản xuất bán dẫn cũ và vẫn tiếp tục tạo ra được sản phẩm với nhiều tính năng mà giá thành vẫn thấp.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 4 CƠ SỞ LÝ THUYẾT Ngày nay ARM được ứng dụng rộng rãi trên mọi lĩnh vực của đời sống: Robot, máy tính, điện thoại, xe hơi, máy giặt… ARM Cortex được chia làm 3 dòng:  Cortex-A: Bộ xử lý dành cho hệ điều hành và các ứng dụng phức tạp. Hỗ trợ tập lệnh ARM, thumb, và thumb-2.  Cortex-R: Bộ xử lý dành cho hệ thống đòi hỏi khắc khe về đáp ứng thời gian thực. Hỗ trợ tập lệnh ARM, thumb và thumb-2.

 Cortex-M: Bộ xử lý dành cho dòng vi điều khiển, được thiết kế để tối ưu về giá thành. Hỗ trợ tập lệnh Thumb-2. Giá trị số nằm cuối tên của 1 dòng ARM cho biết về mức độ hiệu suất tương đối của dòng đó. Theo đó dòng ARM mang số 0 sẽ có hiệu suất thấp nhất.

Tập đoàn ST Microelectronic đã cho ra mắt dòng STM32, vi điều khiển đầu tiên dựa trên nền lõi ARM Cortex-M3 thế hệ mới do hãng ARM thiết kế, lõi ARM Cortex-M3 là sự cải tiến của lõi ARMv7-M 32bit truyền thống, từng mang lại sự thành công vang dội cho công ty ARM. Dòng STM32 thiết lập các tiêu chuẩn mới về hiệu suất, chi phí, cũng như khả năng đáp ứng các ứng dụng tiêu thụ năng lượng thấp và tính điều khiển thời gian thực khắt khe. Chip ARM Cortex-M7 là một vi điều khiển 32-bit cao cấp nhất trong series Cortex-M của ARM cho đến hiện nay. Theo ARM, Cortex-M7 có DSP (Digital Signal Processing: Xử lý tín hiệu số) cao gấp đôi so với Cortex-M4 do đó có thể xử lý cùng lúc 2 tập lệnh, giúp cho M7 có thể hoạt động ở mức xung nhịp cao hơn.

Đây là dòng chip MCU 32-bit giúp tăng tốc thông dịch dữ liệu từ các cảm biến thành thông tin số. Nó tăng gấp đôi hiệu năng tính toán và DSP trong khi giảm thiểu mức tiêu thụ điện năng nhờ vào công nghệ sản xuất 28nm. Chip M7 hỗ trợ các thiết bị nhúng điều khiển giọng nói hoặc giao diện rich OS và còn được sử dụng trong các smartphone hoặc trên xe hơi để điều khiển các chức năng màn hình chạm và âm thanh phức tạp hơn. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 5 CƠ SỞ LÝ THUYẾT Hình 2-1.

Kiến trúc của vi xử lí ARM Cotex-M7.2 Giới thiệu về ARM-M7- STM32F746G-DISCOVERY Dòng STM32 tiêu thụ năng lượng cực thấp trong khi đó hiệu suất cực cao và việc lập trình cũng rất dễ dàng. Với sự đồ sộ về ngoại vi (GPIO, I2C, SPI, ADC, USB, Ethernet, CAN. ST cung cấp cho chúng ta các thư viện trực tiếp cho mỗi dòng ARM (gọi là CMSIS - Cortex Microcontroller Software Interface Standard). KIT Discovery STM32F7 sử dụng dòng ARM-M7 với vi điều khiển chính STM32F746NGHx cho phép người dùng phát triển mở rộng các ứng dụng về âm thanh, đồ họa, cảm biến và các tính năng kết nối tốc độ cao với các ngoại vi khác.

Đây là 1 KIT thực tế cung cấp rất nhiều ngoại vi cũng như có sẵn các jack cắm để kết nối với các module khác. Các tính năng có sẵn trên KIT như:  Vi điều khiển STM32F746NGH6 có 1MB bộ nhớ Flash và 340KB RAM với chuẩn đóng gói BGA216.  On-board ST-LINK/V2-1 hỗ trợ khả năng đếm lại USB  Các chức năng USB: cổng COM ảo, lưu trữ khối, cổng debug.  Màn hình TFT-LCD 4.3-inch 480x272 màu với cảm ứng điện dung.

 Ngõ vào âm thanh line in và line out. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 6 CƠ SỞ LÝ THUYẾT  Ngõ ra loa stereo.  2 ST MEMS microphones.  Đầu nối SPDIF RCA.

 128-Mbit Quad-SPI Flash memory.  Có khe cắm microSD card.  Đầu nối RF-EEPROM.  USB OTG HS với đầu cắm Micro-AB.

 USB OTG FS với đầu cắm Micro-AB.  Đầu nối Ethernet IEEE-802.  5 nguồn cấp nguồn: o ST LINK/V2-1. o VIN từ Arduino.

o Đầu nối 5v ngoại.  Nguồn cấp cho các ứng dụng bên ngoài: 3.  Đầu nối Arduino Uno V3.  Phần mềm miễn phí với các ví dụ đa dạng.

KIT STM32F746 Discovery. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 7 CƠ SỞ LÝ THUYẾT 2.3 Module giải mã âm thanh VS1003-v2 IC VS1003 là IC chuyên dụng giải mã âm thanh của hãng VLSI Solution với các tập tin âm thanh định dạng MP3/MIDI/WMA/WAV. Nó các đặc tính:  Giải mã MPEG 1 & 2 audio lớp III (CBR +VBR +ABR); WMA 4.1/7/8/9 all profiles (5-384kbit/s); WAV (PCM + IMA ADPCM); General MIDI / SP-MIDI files.  Mã hóa IMA ADPCM từ microphone hoặc ngõ vào.

 Hỗ trợ truyền trực tuyến cho MP3 và WAV.  Điều khiển Bass và treble  Hoạt động với tần số xung lock 12.  Có bộ nhân tần số nội.  Hoạt động chế độ tiết kiệm năng lượng.

 Có khả năng sử dụng với tai nghe với bộ tải 30Ω.  Chia điện áp hoạt động cho tín hiệu analog, tín hiệu số và I/O.  Có bộ nhớ RAM 5.5Kb dùng cho code/data.  Giao diện điều khiển và dữ liệu nối tiếp.

 Có thẻ được dùng như 1 thiết bị slave.  Có chế độ boot flash SPI cho các ứng dụng đặc biệt.  Có giao tiếp UART cho chế độ debugging.  Các chức năng mới được thêm vào phần mềm với 4 chân GPIO.

Sơ đồ cấu trúc và sơ đồ chân VS1003. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 8 CƠ SỞ LÝ THUYẾT Module giải mã âm thanh VS1003 có IC chính VS1003, 2 jack audio 3.5mm, 1 microphone, IC ổn áp. Chuyên sử dụng cho việc giải mã các loại âm thanh định dạng MP3/WMA/MIDI/WAV. Khi giao tiếp với các MCU thông qua chuẩn SPI nó đóng vai trò là 1 slave.

Module bao gồm 9 chân bao gồm điều khiển, dữ liệu và cấp nguồn: 5V, GND, XRST, MISO, MOSI, SCLK, DREQ, XCS, XDCS. Chức năng của từng chân: Bảng 2. Mô tả sơ đồ chức năng các chân của VS1003. STT TÊN CHỨC NĂNG 1 VCC Nguồn cung cấp dương 2 GND Nguồn cung cấp âm 3 XRST Chân tín hiệu yêu cầu Reset 4 MISO Chân trả dữ liệu từ VS1003 về thiết bị master.

5 MOSI Chân gửi mã lệnh/dữ liệu từ master tới VS1003. 6 SCLK Chân tạo xung clock đồng bộ quá trình truyền nhận. 7 DREQ Chân yêu cầu ngắt của VS1003, chân này sẽ ở mức cao khi sẵn sàng nhận dữ liệu từ master. 8 XCS Chân chip select mã lệnh.

9 XDCS Chân chip select dữ liệu. Để gửi dữ liệu từ MCU đến VS1003 thông qua SPI thì đầu tiên cần xem xét chân yêu cầu ngắt DREQ đã sẵn sàng chưa, nếu DREQ đang ở mức cao thì kéo chân XDCS xuống mức thấp sau đó gửi 1 byte dữ liệu đến chân MOSI. Kết thúc quá trình gửi sẽ kéo chân XCS và XDCS lên mức cao để sẵn sàng cho lần gửi tiếp theo. Trước khi bắt đầu quá trình hoạt động cần reset các giá trị trong các thanh ghi của VS1003, quá trình này sẽ gửi các mã lệnh đến VS1003 để đặt lại các giá trị.

Để gửi mã lệnh thì trước khi truyền ta kéo chân XCS về mức thấp sau đó bắt BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 9 CƠ SỞ LÝ THUYẾT đầu truyền. Lưu ý VS1003 giao tiếp chuẩn SPI với chế độ MSB tức là truyền bit có trọng số cao đi trước.4 Tay cầm game Dualshock 2 Tay cầm game Dualshock 2 hay có tên gọi khác là tay cầm PS2, là một thiết bị điều khiển đa chức năng được sản xuất bởi hãng SONY với mục đích ban đầu là giao tiếp với hệ máy Play Station của chính hãng này sản xuất.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ