MỞ ĐẦUo Giới thiệu đề tài - Đề tài “Máy chơi game rèn luyện trí nhớ” là một dự án nhằm tạo ra một mạch điện tử mô phỏng trò chơi Simon Says, một trò chơi trí tuệ nổi tiếng giúp rèn luyện
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
VÀ TRUYỀN THÔNG VIỆT - HÀN KHOA KỸ THUẬT MÁY TÍNH VÀ ĐIỆN TỬ
BÁO CÁO
ĐỒ ÁN CƠ SỞ 2
TÊN ĐỀ TÀI Máy chơi game rèn luyện trí nhớ
Sinh viên thực hiện : Đoàn Trọng Mỹ - 23CE045
Đoàn Phú Hải – 23CE021
Giảng viên hướng dẫn : ThS Nguyễn Đức Phước
Đà Nẵng, 25 tháng 12 năm 2024
Trang 2VÀ TRUYỀN THÔNG VIỆT - HÀN KHOA KỸ THUẬT MÁY TÍNH VÀ ĐIỆN TỬ
BÁO CÁO
ĐỒ ÁN CƠ SỞ 2
TÊN ĐỀ TÀI Máy chơi game rèn luyện trí nhớ
Sinh viên thực hiện : Đoàn Trọng Mỹ - 23CE045
Đoàn Phú Hải – 23CE021
Giảng viên hướng dẫn : ThS Nguyễn Đức Phước
Đà Nẵng, ngày 25 tháng 12 năm 2024
Trang 3
Đà Nẵng, ngày 25 tháng 12 năm 2024
Giáo viên hướng dẫn
ThS.Nguyễn Đức Phước
Trang 4Trước hết, em xin gửi lời tri ân sâu sắc đến Trường Đại học Công nghệ Thông tin
và Truyền thông Việt – Hàn, nơi đã tạo môi trường học tập tối ưu và những điều kiện thuận lợi nhất cho toàn thể sinh viên trong suốt quá trình học tập và nghiên cứu.
Đặc biệt, em xin bày tỏ lòng biết ơn chân thành và sự kính trọng sâu sắc đến ThS Nguyễn Đức Phước - người thầy đã tận tâm hướng dẫn, chỉ bảo và đồng hành
cùng em trong suốt quá trình thực hiện đồ án Những góp ý quý báu và sự định hướng của thầy đã giúp em hoàn thiện đồ án cơ sở này một cách tốt nhất.
Trong quá trình thực hiện, do giới hạn về thời gian và kiến thức, đồ án không thể tránh khỏi những thiếu sót nhất định Em rất mong nhận được những ý kiến
đóng góp quý báu từ quý thầy cô để có thể tiếp tục hoàn thiện và nâng cao chất lượng đồ án.
Một lần nữa, em xin gửi lời cảm ơn chân thành và sâu sắc nhất!
Đà Nẵng, ngày 25 tháng 11 năm 2024 Sinh viên thực hiện
Đoàn Trọng Mỹ Đoàn Phú Hải
Trang 5LỜI CẢM ƠN 1
DANH MỤC HÌNH ẢNH 4
MỞ ĐẦU…… 6
CHƯƠNG 1 : CƠ SỞ LÝ THUYẾT 10
1.1 GIỚI THIỆU VỀ VI ĐIỀU KHIỂN 10
1.1.1Lịch sử phát triển 10
1.1.2Giới thiệu chung về ARM Cortex 10
1.1.3Giới thiệu về ARM Cortex M3 10
1.1.4Giới thiệu về dòng chip STM32 11
1.1.5Giới thiệu vi điều khiển STM32F103C8T6 12
1.2 MẠCH NẠP STLINK V2 13
1.2.1Công dụng 13
1.2.2Thông số kỹ thuật 13
1.3 GPIO – PWM – I2C 14
1.3.1GPIO 14
1.3.2PWM 14
1.3.3I2C 16
CHƯƠNG 2 : PHÂN TÍCH THIẾT KẾ HỆ THỐNG 17
2.1 Giới thiệu 17
2.2 Sơ đồ khối hệ thống 17
2.3 Giới thiệu từng khối trong mạch 18
2.3.1Khối điều khiển trung tâm 18
2.3.2Khối nguồn 18
2.3.3Khối hiển thị 18
2.3.4Khối hiển thị LED 7 thanh 20
2.3.5Khối hiển thị LED đơn 23
2.3.6Khối nút nhấn 24
2.3.7Khối âm thanh 26
Trang 62.4.1Sơ đồ hệ thống 28
2.4.2Mô tả hệ thống hoạt động 28
CHƯƠNG 3 : THỰC THI HỆ THỐNG 30
3.1 Giới thiệu 30
3.2 Hướng dẫn sử dụng phầm mềm STM32CubeIDE 30
3.2.1Phần mềm STM32CubeIDE là gì ? 30
3.2.2Hướng dẫn cài đặt 30
3.2.3Hướng dẫn sử dụng STM32CubeIDE 33
3.3 Sơ đồ mạch 34
3.4 Mạch sau khi hoàn thiện 35
Kết luận…… 38
Tài liệu tham khảo 39
Trang 7Hình 1.1 Ứng dụng của vi điều khiển ARM 9
Hình 1.2 Kiến trúc vi xử lý ARM Cortex M3 10
Hình 1.3 sơ đồ chân STM32F103C8T6 11
Hình 1.4 Mạch nạp ST-Link V2 13
Hình 1.5 Sơ đồ cấu trúc khối GPIO của Vi điều khiển STM32F103C8T6 13
Hình 1.6 Chu kỳ xung 14
Hình 1.7 Mô hình PWM hoạt động 14
Hình 1.8 Chuẩn giao tiếp I2C 15
Hình 1.9 Master kết nối với Slave 15
Hình 2.1 Sơ đồ khối hệ thống 17
Hình 2.2 LCD 16x2 19
Hình 2.3 Module I2C 19
Hình 2.4 LCD tích hợp với I2C 20
Hình 2.5 Led 7 thanh 20
Hình 2.6 LED 7 thanh Anode chung 20
Hình 2.7 IC 74HC595 21
Hình 2.8 Mô tả các chân IC 74HC595 trực quan 22
Hình 2.9 Module LED 7 thanh (Loại đôi) - đã tích hợp IC 74HC595 22
Hình 2.10 LED đơn 23
Hình 2.11 Kí hiệu LED 23
Hình 2.12 Nguyên lý hoạt động của LED 23
Hình 2.13 Nút nhấn 24
Hình 2.14 Cấu tạo nút nhấn 24
Hình 2.15 Nút nhấn khi mắc pull-up và pull-down 25
Hình 2 16 Ký hiệu nút nhấn 25
Hình 2.17 Hiện tượng nhiễu nút nhấn 25
Hình 2.18 Sử dụng tụ để chống nhiễu phần cứng 26
Hình 2.19 Mô hình Code chống nhiễu nút nhấn bằng STM32 sử dụng HAL .26
Trang 8Hình 2.21 Sơ đồ mạch điện 27
Hình 3.1 Sơ đồ mạch 34
Hình 3.2 Mạch hoàn thiện 35
Hình 3.3 Mạch trong quá trình chơi 36
Hình 3.4 Mạch khi trò chơi kết thúc 37
Trang 9MỞ ĐẦU
o Giới thiệu đề tài
- Đề tài “Máy chơi game rèn luyện trí nhớ” là một dự án nhằm tạo ra một mạch điện
tử mô phỏng trò chơi Simon Says, một trò chơi trí tuệ nổi tiếng giúp rèn luyện khảnăng ghi nhớ và phản xạ của người chơi Dự án này sẽ sử dụng vi điều khiểnSTM32F103C8T6 để điều khiển các đèn LED và nút bấm, tạo ra một trải nghiệmchơi game tương tác cho người dùng
Máy chơi game rèn luyện trí nhớ bao gồm bốn nút bấm và bốn đèn LED, mỗi nút
và đèn tương ứng với một màu sắc khác nhau Mỗi lần thiết bị phát tín hiệu, nó sẽsáng một hoặc nhiều đèn theo một thứ tự nhất định Người chơi phải nhấn các núttương ứng với các đèn đã sáng lên trong đúng thứ tự Nếu người chơi làm đúng, tròchơi sẽ tiếp tục và thêm một tín hiệu mới vào chuỗi Ngược lại, nếu người chơinhấn sai, trò chơi sẽ kết thúc, và người chơi sẽ phải bắt đầu lại từ đầu
- Lý do để tụi em chọn đề tài “Máy chơi game rèn luyện trí nhớ” là do có những lợiích sau:
Tính thú vị và hấp dẫn của trò chơi: Trò chơi Simon Says là một trò chơi nổitiếng và được nhiều người yêu thích Việc xây dựng một phiên bản điện tử củatrò chơi này không chỉ mang lại sự giải trí mà còn tạo cơ hội cho người chơi thửthách khả năng ghi nhớ và phản xạ của mình Tính tương tác của trò chơi sẽ thuhút người chơi, đặc biệt là trẻ em và thanh thiếu niên
Mới lạ và thú vị: Tụi em nhận thấy đề tài “Máy trò chơi rèn luyện trí nhớ” trước nay rất ít người đề cập đến, nên tụi em quyết định chọn đề tài này để thực hiện Việc xây dựng một mạch điện tử cho trò chơi Simon Says mang đến một sản phẩm mới lạ và hấp dẫn trong lĩnh vực kĩ thuật điện tử Mạch sửdụng đèn LED và nút bấm để tạo ra các tín hiệu ánh sáng, ngoài ra có các thiết bị khác như còi xung, màn LCD để tạo âm thanh và hiển thị, mang lại trải nghiệm tương tác thực tế cho người chơi Sự kết hợp giữa phần cứng và phần mềm trong một dự án như vậy không chỉ tạo nên sự hứng thú mà còn khuyến khích sự sáng tạo trong thiết kế mạch và lập trình
Cơ hội học tập và thực hành: Dự án này cung cấp cho tụi em cơ hội thực
hành các kiến thức lý thuyết về vi điều khiển Qua việc thiết kế mạch với vi điều khiển STM32 Blue Pill, tụi em có thể nắm vững các khái niệm như điều khiển tín hiệu đầu vào, xuất tín hiệu đầu ra, và xử lý sự kiện Bên cạnh đó, việc giải quyết các vấn đề phát sinh trong quá trình lập trình và thiết kế mạchgiúp tăng cường kỹ năng giải quyết vấn đề và tư duy logic
Trang 10 Hiểu biết thêm về một số thiết bị: Dự án không chỉ tập trung vào việc phát triển trò chơi Simon Says mà còn tìm hiểu và làm quen với nhiều loại thiết bịđiện tử khác nhau như màn hình hiển thị LCD, Led 7 thanh, còi xung.
- Thực tiễn: Đề tài “Máy chơi game rèn luyện trí nhớ” được chọn vì dự án này khôngchỉ là một sản phẩm giải trí mà còn có tính ứng dụng thực tiễn cao Nó có thể được
sử dụng trong mục đích giải trí, phát triển kỹ năng ghi nhớ và tư duy Hơn nữa, việcthực hiện dự án này giúp chúng em hiểu rõ hơn về quy trình thiết kế và phát triểnsản phẩm, từ khâu ý tưởng cho đến sản phẩm hoàn chỉnh
- Tiềm năng phát triển: Mạch trò chơi Simon Says có nhiều tiềm năng phát triển trongtương lai Các tính năng như kết nối Bluetooth để chơi nhiều người, mở rộng sốlượng nút và đèn LED, hoặc tạo ra các cấp độ khó khác nhau có thể được thêm vào
để làm phong phú thêm trải nghiệm chơi game Ngoài ra, dự án có thể được pháttriển thành một sản phẩm thương mại, mở ra cơ hội kinh doanh và nghiên cứu chochúng em
Vì những lý do trên, em đã chọn đề tài “Máy chơi game rèn luyện trí nhớ” để làm đồ
án cơ sở 2 của chúng em
o Mục tiêu nghiên cứu
- Phát triển mạch điện tử hoàn chỉnh:
+ Xây dựng hệ thống phần cứng: Thiết kế và lắp ráp mạch điện tử sử dụng vi điều khiển STM32F103C8T6, bao gồm các linh kiện như đèn LED, nút bấm và còi (buzzer), tạo ra một sản phẩm hoàn chỉnh và hoạt động ổn định
- Nâng cao kiến thức chuyên môn: Nghiên cứu sâu hơn về các linh kiện điện tử, lập trình vi điều khiển và thiết kế mạch, giúp phát triển kỹ năng thực tế và khả năng giải quyết vấn đề trong lĩnh vực điện tử
- Chia sẻ kiến thức và kết quả của nghiên cứu để hỗ trợ cộng đồng
Trang 11o Phương pháp nghiên cứu
Phương pháp nghiên cứu được áp dụng trong đề tài “Máy chơi game rèn luyện trínhớ” sẽ bao gồm các bước sau:
- Nghiên cứu tài liệu: Tìm hiểu và phân tích các tài liệu, sách giáo khoa và tàinguyên trực tuyến liên quan đến thiết kế mạch điện tử, lập trình vi điều khiển vàcách thức hoạt động của trò chơi Simon Says Phân tích các phiên bản điện tử củatrò chơi Simon Says đã có trên thị trường để rút ra bài học kinh nghiệm và tìmkiếm các ý tưởng cải tiến cho sản phẩm của mình
- Thiết kế mạch: Sử dụng các công cụ như KiCAD hoặc Fritzing để thiết kế sơ đồ mạch điện tử, từ đó tạo ra một bản vẽ chi tiết cho việc lắp ráp mạch Sử dụng STM32CubeIDE để viết mã cho vi điều khiển STM32, bao gồm việc lập trình các hàm điều khiển đèn LED, nút bấm và còi, cũng như các thuật toán xử lý tín hiệu của trò chơi
- Triển khai chức năng: Phát triển thuật toán của trò chơi, sau đó sử dụng phần mềm STM32CubeIDE để lập trình cho vi điều khiển, xử lý tín hiệu, cuối cùng làkiểm tra và tối ưu hóa
- Giao diện: Thiết kế giao diện người dùng đơn giản và dễ hiểu cho người chơi, giúp họ có thể nhanh chóng nắm bắt cách thức hoạt động của trò chơi Giao diện
sẽ bao gồm các nút bấm tương ứng với các đèn LED và có thể sử dụng LCD để hiển thị hướng dẫn, dùng led 7 thanh hiển thị điểm số
- Tương tác người dùng: Đảm bảo rằng các nút bấm dễ dàng được nhận diện và nhấn Khi người chơi nhấn nút, đèn LED tương ứng sẽ sáng lên, tạo ra sự phản hồi trực quan ngay lập tức Sử dụng còi (buzzer) để phát âm thanh thông báo khingười chơi thực hiện đúng hoặc sai, giúp tăng cường tính tương tác và hấp dẫn của trò chơi
- Thử nghiệm giao diện: Tiến hành thử nghiệm với người dùng để thu thập phản hồi về tính dễ sử dụng và sự hấp dẫn của giao diện Dựa trên phản hồi, điều
chỉnh thiết kế giao diện để cải thiện trải nghiệm người chơi
- Phương pháp nghiên cứu thực tiễn: Quan sát các mẫu đã có trước đó.
- Phương pháp chuyên gia: Tham khảo ý kiến của giảng viên hướng dẫn.
o Nội dung và kế hoạch thực hiện
a) Nội dung thực hiện
B1: Tìm hiểu đề tài
B2: Tìm hiểu về các công cụ, linh kiện thực hiện.
B3: Các nội dung chính
-Tìm hiểu STM32F103C8T6, phần mềm STM32CubeIDE
Trang 12-Tìm hiểu về một số linh kiện như LED 7 thanh, màn hình LCD, Còi, …
-Lên ý tưởng thiết kế ngoại hình mạch
-Tiến hành lập trình cho vi điều khiển
-Lắp mạch hoàn chỉnh
B4: Làm slide thuyết trình về dự án
- Công cụ thực hiện: Canva
B5: Làm báo cáo dự án
- Công cụ thực hiện: MS Word
b) Dự kiến tiến độ thực hiện:
Từ tuần 10 đến tuần 11 - Xây dựng và hoàn thiện ý tưởng.
- Nguyên cứu tổng quan về đề tài
Từ tuần 11 đến tuần 15
- Tìm hiểu về STM32F103C8T6
- Cách sử dụng phần mềm STM32CubeIDE, tìm hiểu
về các viết code, nạp code, debug trên phần mềm
- Tìm hiểu về ngoại vi GPIO, PWM và giao thức I2C
Từ tuần 15 đến tuần 16 - Phân tích và thiết kế hệ thống
Từ tuần 16 đến tuần 17 - Chuẩn bị và xây dựng phần cứng
Từ tuần 17 đến tuần 19 - Lắp ráp mạch – Kiểm thử và sửa lỗi.
- Hoàn thành báo cáo, Slide
Trang 13CHƯƠNG 1 : CƠ SỞ LÝ THUYẾT
1.1 GIỚI THIỆU VỀ VI ĐIỀU KHIỂN
1.1.1 Lịch sử phát triển
- Cấu trúc ARM (Acorn RISC Machine) là một loại cấu trúc vi xử lý 32-bit kiểuRISC (Reduced Instructions Set Computer - Máy tính với tập lệnh đơn giản hóa)đượ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ănglượng, các bộ CPU ARM chiếm ưu thế trong các sản phẩm điện tử di động, mà vớicá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ọnghàng đầu
1.1.2 Giới thiệu chung về ARM Cortex
ARM
Cortex là một bộ xử lý thế hệ mới đưa ra một kiến trúc chuẩn cho nhu cầu đa dạng
về công nghệ Không giống như các chip ARM khác, dòng Cortex là một lõi xử lýhoàn thiện, đưa ra một chuẩn CPU và kiến trúc hệ thống chung Để phù hợp với nhucầu sử dụng, ARM Cortex được chia làm 3 dòng chính:
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ậplệnh ARM, thumb, và thumb-2
Cortex-R: Bộ xử lý dành cho hệ thống đòi hỏi khắt 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, tối ưu về giá thành Hỗ trợ tậplệnh Thumb-2 Dòng ARM STM32 có lõi Cortex-M
1.1.3 Giới thiệu về ARM Cortex M3
Một số đặc điểm của ARM Cortex–M3:
- ARM Cortex–M3 được xây dựng dựa trên kiến trúc ARMv7–M 32 bit
- Kiến trúc Harvard tách biệt Bus dữ liệu và lệnh
Hình 1.1 Ứng dụng của vi điều khiển ARM
Trang 14- Đơn vị bảo vệ bộ nhớ (MPU–Memory Protection Unit): Hỗ trợ bảo vệ bộ nhớ thôngqua việc phân quyền thực thi và truy xuất.
- Bộ vi xử lý Cortex-M3 hỗ trợ kiến trúc tập lệnh Thumb–2
- Hỗ trợ kỹ thuật Bit Band giúp cho phép truy xuất dữ liệu theo bit đồng thời giảmthời gian truy xuất
- Cho phép truy cập dữ liệu không xếp hàng (unaligned data accesses) đặc điểm nàycho phép sử dụng hiệu quả SRAM
- Tick timer 24 bit hỗ trợ cho việc chạy hệ điều hành thời gian thực
- Hỗ trợ lập trình và gỡ rối qua cổng JTAG truyền thống cũng như chuẩn 2 dây nhỏgọn SWD (Serial Wire Debug)
- Khối quản lý vector ngắt lồng nhau (NVIC–Nested Vectored Interrupt Controller)cho phép rút ngắn thời gian đáp ứng yêu cầu ngắt
1.1.4 Giới thiệu
về dòng chip STM32F103C8T6
- STM32 là vi điều khiển dựa trên nền tảng lõi ARM Cortex–M3 Lõi ARMCortex–M3 là sự cải tiến từ lõi ARM7 truyền thống của công ty ARM DòngSTM32 tiêu thụ năng lượng cực thấp trong khi đó hiệu suất cực cao và việc lậptrình cũng rất dễ dàng Với sư đồ sộ về ngoại vi (GPIO, I2C, SPI, ADC, USB,Ethernet, CAN )
Hình 1.2 Kiến trúc vi xử lý ARM Cortex M3
Trang 151.1.5 Giới thiệu vi điều khiển STM32F103C8T6
Cấu hình chi tiết của STM32F103C8T6 sử dụng dòng ARM Cortex-M3 hoạtđộng với tần số lên đến 72Mhz với các thông số:
- Lõi ARM 32-bit Cortex M3 với clock max là 72Mhz
- Bộ nhớ:
64 kbytes bộ nhớ Flash (bộ nhớ lập trình)
20 kbytes SRAM
- Clock, reset và quản lý nguồn:
Điện áp hoạt động 2.0V -> 3.6V.- Power on reset(POR), Power downreset(PDR) và programmable voltage detector (PVD)
Sử dụng thạch anh ngoài từ 4Mhz -> 20Mhz
Thạch anh nội dùng dao động RC ở mode 8Mhz hoặc 40khz
Sử dụng thạch anh ngoài 32.768khz được sử dụng cho RTC
- Trong trường hợp điện áp thấp:
Có các mode: ngủ, ngừng hoạt động hoặc hoạt động ở chế độ chờ
Cấp nguồn ở chân Vbat bằng pin để hoạt động bộ RTC và sử dụng lưu trữ datakhi mất nguồn cấp chính
- 2 bộ ADC 12 bit với 9 kênh cho mỗi bộ:
Khoảng giá trị chuyển đổi từ 0 – 3.6V
Lấy mẫu nhiều kênh hoặc 1 kênh
Có cảm biến nhiệt độ nội
- DMA: bộ chuyển đổi này giúp tăng tốc độ xử lý do không có sự can thiệp quá sâucủa CPU
7 kênh DMA
Hỗ trợ DMA cho ADC, I2C, SPI, UART
- 7 Timer:
Hình 1.3 sơ đồ chân STM32F103C8T6
Trang 16 3 Timer 16 bit hỗ trợ các mode IC/OC/PWM.
1 timer 16 bit hỗ trợ để điều khiển động cơ với các mode bảo vệ như ngắt input,dead-time
2 watdog timer dùng để bảo vệ và kiểm tra lỗi
1 sysTick timer 24 bit đếm xuống dùng cho các ứng dụng như hàm Delay…
- Hỗ trợ 9 kênh giao tiếp bao gồm:
2 bộ I2C(SMBus/PMBus)
3 bộ USART (ISO 7816 interface, LIN, IrDA capability, mode control)
2 SPIs (18 Mbit/s)
1 bộ CAN interface (2.0B Active)
USB 2.0 full-speed interface Kiểm tra lỗi CRC và 96-bit ID
- Kiểm tra lỗi CRC và 96-bit ID
- Cổng giao tiếp: USB
- Giao diện tương thích tốc độ cao USB 2.0
- Có mạch bảo vệ khi điện áp tăng, không sợ lỗi mạch ST Link-V2 STM8
- Sơ đồ chân kết nối mạch nạp với STM32:
3.3V – 3.3VGND – GNDSWDIO – DIOSWCLK - DCLK
- Điện áp sử dụng từ 1,65V đến 5,5V được hỗ trợ trên SWIM
- Tốc độ lập trình SWIM: 9,7 Kbytes/s ở tốc độ thấp và 12,8 Kbytes / giây ở tốc độ
- Cáp SWIM để kết nối với ứng dụng thông qua đầu nối dọc tiêu chuẩn ERNI hoặcđầu nối ngang
- Cáp SWIM để kết nối với ứng dụng thông qua đầu cắm pin hoặc đầu nối 2,54mm
Trang 171.3 GPIO – PWM – I2C
1.3.1 GPIO
- General-purpose Input/Output (GPIO) rất phổ biến, là một chức năng ngoại vi
cơ bản của các vi điều khiển, bao gồm các chân đầu vào và chân đầu ra, có thểđược điều khiển bởi người dùng Nó tương tự với các dòng vi điều khiển 8 bit nhưAVR và PIC Tuy nhiên những dòng vi điều khiển 8bit, chỉ có 8 chân IO trên 1port thì ở các vi điều khiển 32bit, có đến 16 chân IO trên 1 port Cụ thể đối vớichip STM32F103C8Tx gồm có 3 Port chính đó là GPIOA, GPIOB, GPIOC.Trong đó, GPIOA, GPIOB trên kit thì có đủ 16 chân GPIO, GPIOC 3 chân vàGPIOD có 2 chân
1.3.2 PWM
- PWM là một cách để điều khiển các thiết bị analog sử dụng giá trị kỹ thuật số nhưđiều khiển tốc độ của động cơ, độ sáng của led, v.v Chúng ta biết rằng động cơ vàled hoạt động trên tín hiệu analog Nhưng PWM không cung cấp đầu ra analogthuần túy, PWM trông giống như tín hiệu tương tự được tạo bởi các xung ngắn,được cung cấp bởi chu kỳ hoạt động
Phú Hải – Trọng Mỹ - 23CE2 14
Hình 1.5 Sơ đồ cấu trúc khối GPIO của Vi điều khiển
STM32F103C8T6
Trang 18- Tỷ lệ phần trăm thời gian trong đó tín hiệu PWM vẫn ở mức CAO (đúng giờ)được gọi là chu kỳ hoạt động Nếu tín hiệu luôn BẬT thì nó ở trong chu kỳ hoạtđộng 100% và nếu nó luôn tắt thì đó là chu kỳ hoạt động 0%.
Duty Cycle =Turn ON time/ (Turn ON time + Turn OFF time)
- STM32F103C8T6 có 15 chân PWM và 10 chân ADC Có 7 timer và mỗi đầu raPWM được cung cấp bởi một kênh được kết nối với 4 timer Nó có độ phân giảiPWM 16 bit, nghĩa là bộ đếm và biến có thể lớn tới 65535 Với cường độ xung72MHz, đầu ra PWM có thể có thời gian tối đa khoảng một mili giây
1.3.3 I2C
- Chuẩn I2C cũng được STM32 hỗ trợ nhằm giao tiếp với các mạch tích hợp ngoài.Giao diện I2C có thể được cấu hình hoạt động ở chế độ Slave, Master hay đóngvai trò bộ phân xử đường trong hệ thống multi-master Giao diện I2Chỗ trợ tốc độtruyền chuẩn 100kHz hay tốc độ cao 400kHz Ngoài ra còn hỗ trợ 7 hoặc 10 bitđịa chỉ Được thiết kế nhằm đơn giản hóa quá trình trao đổi với 2 kênh DMA chotruyền và nhận dữ liệu Hai ngắt một cho nhân Cortex, một cho định địa chỉ vàtruyền nhận
Hình 1.7 Mô hình PWM hoạt động
Hình 1.8 Chuẩn giao tiếp I2C
Trang 19- Thêm nữa, để đảm bảo tính chính xác dữ liệu truyền, khối kiểm tra lỗi dữ liệu(PAC – packet error checking) được tích hợp thêm vào giao diện I2C cho phépkiểm tra mã CRC-8 bit Thao tác này được thực hiện hoàn toàn tự động bởi phầncứng.
Nguồn vào vi điều khiển và màn hình LCD 5V
Nguồn vào Led 7 đoạn 3.3V
- Khối nút nhấn: Nút nhấn ở trạng thái Pull up Mắc định ở trạng thái logic 1 (sửdụng trở treo lên 3.3V), khi nhấn nút thì xuống logic 0
- Khối hiển thị Led 7 đoạn: Sử dụng Led anode chung
- Khối hiển thị LCD
- Khối Led đơn
- Khối âm thanh
2.2 Sơ đồ khối hệ thống
Hình 1.9 Master kết nối với Slave
Trang 20- Chức năng các khối:
Khối điều khiển trung tâm: Khối xử lý trung tâm dùng chip STM32F103C8T6
Sẽ là bộ não của hệ thống Khối giao tiếp với toàn bộ các khối của hệ thống đểđiều khiển thực hiện các yêu cầu của hệ thống đã đặt ra
Khối hiển thị (LCD 16x2, LED 7 thanh, LED đơn): Hiển thị thông tin từ bộ xử
lý trung tâm
Khối nút nhấn: Gồm 4 nút nhấn đơn dùng để điều khiển các LED
Khối âm thanh: Nhận thông tin từ vi điều khiển khi nào cần phát ra âm thanh
2.3 Giới thiệu từng khối trong mạch
2.3.1 Khối điều khiển trung tâm
- Có thể thấy rằng khối lượng công việc ở đây là vô cùng lớn, chính vì thế để xử lýmột khối lượng công việc lớn như vậy thì việc chọn một vi điều khiển có tốc độ xử
lý nhanh, đáp ứng bộ nhớ mà giá thành hợp lý là vô cùng quan trọng Như đã đượcnêu ở chương 1, dòng vi điều khiển STM32F103C8T6 có tốc độ xử lý nhanh, tần
số xung lên đến 72 Mhz, bộ nhớ Flash 64 Kbytes, SRAM 20 Kbytes và nó có hỗtrợ đầy đủ các chuẩn giao tiếp ngoại vi mà chúng ta cần sử dụng và đáp ứng đủ cácngõ IO để điềukhiển cho yêu cầu của đề tài này Hơn nữa dòng vi điều khiểnSTM32F103C8T6 có giá thành rẻ và rất phổ biến trên thị trường hiệnnay, vì thế vi điều khiển STM32F103C8T6 là sự lựa chọn tốt nhất cho khối điềukhiển trung tâm của hệ thống
2.3.2 Khối nguồn
- Bảng danh sách nguồn và dòng sử dụng các linh kiện và Module:
STT Tên linh kiện Điện áp cung cấp (V)
1 STM32F103C8T6 3.3V DC
Hình 2.1 Sơ đồ khối hệ thống