


















Preview text:
TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI
KHOA CÔNG NGHỆ ĐIỆN TỬ - THÔNG TIN ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
Đề tài : “ THIẾT KẾ CHẾ TẠO KIT PHÁT TRIỂN SỬ DỤNG STM32”
Giảng viên hướng dẫn : THS.NGUYỄN MẠNH HÙNG
Sinh viên thực hiện
: NGUYỄN KHẮC HIỂN Lớp : K20A Khóa : 2017-2021 Hệ : CHÍNH QUY
Hà Nội, tháng 05/2021
TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI
CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
KHOA CN ĐIỆN TỬ - THÔNG TIN
Độc lập - Tự do – Hạnh phúc
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Họ và tên sinh viên: Nguyễn Khắc Hiển Mã SV: 17A12010084 Lớp: K20A Khoá : 2017 - 2021 Ngành đào tạo:
Công nghệ Kỹ thuật điện tử-viễn thông
Hệ đào tạo: Đại học chính quy
1/ Tên đồ án tốt nghiệp:
“THIẾT KẾ CHẾ TẠO KIT PHÁT TRIỂN SỬ DỤNG STM32”
2/ Nội dung chính của đồ án :
• Tìm hiểu và tham khảo các tài liệu, giáo trình, nghiên cứu các chủ đề, các nội
dung liên quan đến đề tài.
• Dưa trên các dữ liệu thu thập được, lưa chọn giải pháp thiết kế và thi công mô
hình kết nối các module với Kit điều khiển.
• Thiết kế lưu đồ giải thuật và viết chương trình điều khiển cho vi điều khiển.
• Thiết kế Kit bằng phần mềm Altium designer.
• Thiết kế mô hình và lắp ráp các khối điều khiển.
• Chạy thử nghiệm mô hình, cân chỉnh hệ thống.
• Viết báo cáo thưc hiện.
3/ Cơ sở dữ liệu ban đầu:
Kiến thức về vi điều khiển, lập trình cho vi điều khiển, một số kiến thức cơ bản
về cấu kiện điện tử, giao thức truyền nhận,…
4/ Ngày giao đồ án :
5/ Ngày nộp đồ án : TRƯỞNG KHOA
GIÁO VIÊN HƯỚNG DẪN
(Ký, ghi rõ họ tên)
(Ký, ghi rõ họ tên)
TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
KHOA CN ĐIỆN TỬ - THÔNG TIN
Độc lập - Tự do - Hạnh phúc
BẢN NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
ĐỒ ÁN TỐT NGHIỆP
Họ và tên người hướng dẫn: Thầy Nguyễn Mạnh Hùng HH/HV: Thạc sĩ
Họ và tên sinh viên: Nguyễn Khắc Hiển Lớp: K20A Khóa: 2017 – 2021 Hệ: ĐHCQ
Ngành học: CN Kỹ thuật Điện tử - Viễn thông
1. Tên đề tài tốt nghiệp:
Thiết kế chế tạo kit phát triển sử dụng Stm32 2. Nhận xét:
a. Tinh thần, thái độ làm việc và khả năng sáng tạo:
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b. Về nội dung đồ án:
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Đánh giá (điểm đồ án): Hà Nội, ngày tháng năm Người nhận xét
(Ký và ghi rõ họ, tên) MỞ ĐẦU
Ngày nay với sư phát triển và ứng dụng rộng rãi của ngành điện tử những ý
tưởng sáng tạo của con người đã trở thành hiện thưc. Ngành điện tử và ứng dụng điện
tử đã tạo chỗ đứng và khẳng định được tầm quan trọng của mình đối với nhu cầu của con người.
Trong các ngành kỹ thuật nói chung và ngành Điện tử-Viễn thông, Tư động hóa
nói riêng, việc chú trọng phát triển kỹ năng thưc hành, làm việc thưc tế là đặc biệt
quan trọng. Để thuận tiện hơn trong quá trình thưc hành, nghiên cứu cần có những
công cụ trưc quan rõ ràng. Nhóm nghiên cứu đã thiết kế, chế tạo kit phát triển đa năng
với vi điều khiển trung tâm Stm32f103C8T6, kit thí nghiệm này được xây dưng với
nhiều module học tập đặc biệt là phần giao tiếp, kết nối, nhằm mục đích nâng cao chất
lượng giảng dạy và đào tạo, giúp sinh viên bắt nhịp với xu thế phát triển công nghệ
trên thế giới để từ đó tăng cơ hội việc làm sau khi tốt nghiệp.
Với những phân tích ở trên, cùng với những chủ trương phát triển, nâng cao
chất lượng đào tạo của Khoa Công nghệ Điện tử Thông tin, Trường Đại học Mở Hà
Nội, thì việc thưc hiện đề tài “Nghiên cứu thiết kế, chế tạo kit phát triển Stm32 đa
năng phục vụ giảng dạy” là hết sức thiết thưc, phù hợp với xu thế phát triển, đem lại
giáo cụ trưc quan giúp sinh viên tiếp cận với kiến thức, công nghệ mới dễ dàng hơn và
còn là tiền đề xây dưng nên một hệ thống IoT quan trắc môi trường hoàn chỉnh. LỜI CẢM ƠN MỤC LỤC
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT VỀ STM32. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1 Giới Thiệu Về Vi Điều Khiển ARM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.1 Lịch sử phát triển của ARM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.2 Giới thiệu chung vể ARM Cortex. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.3 Giới thiệu ARM Cortex M3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.4 Giới thiệu dòng chip STM32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
1.1.5 Giới thiệu về chip STM32F103C8T6. . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.6 Kiến trúc chip ARM STM32F103C8T6. . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1.7 Cấp xung Clock. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.8 Cấu hình BOOT cho STM32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
1.1.9 Kết nối với các giao tiếp khác. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2 MẠCH NẠP ST-LINK V2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.2.1 Công dụng. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.2.2 Thông số kỹ thuật. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
CHƯƠNG 2: THIẾT KẾ PHẦN CỨNG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.1 Giới thiệu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2 Sơ đồ khối hệ thống. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.3 Thiết kế sơ đồ nguyên lý. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4 Thiết kế mạch in. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
CHƯƠNG 3 CHỨC NĂNG TỪNG KHỐI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1 Khối trung tâm điều khiển. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
3.2 Khối nguồn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
3.3 Khối hiển thị. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.3.1 Khối hiển thị LCD 16X2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.3.2 Khối hiển thị led 7 thanh. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3.3 Khối hiển thị led đơn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.4 Khối nút nhấn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.5 Khối module WIFI ESP-8266. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39
3.6 Khối cảm biến nhiệt độ, độ ẩm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.7 Khối UART. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.8 Khối module RFID RC522. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48
3.9 Module I2C PFC 8574. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
KẾT LUẬN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
DANH MỤC TÀI LIỆU THAM KHẢO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 DANH MỤC HÌNH ẢNH
Hình 1.1: Một số ứng dụng của ARM
Hình 1.2: Kiến trúc vi xử lí ARM Cortex-M3
Hình 1.3: Mô tả sơ đồ chân
Hình 1.4: Hình ảnh thưc tế của Stm32f103c8t6
Hình 1.5: Kiến trúc của ARM STM32F103C8T6
Hình 1.6: Cách kết nối nguồn xung 8MHz
Hình 1.7: Sơ đồ cây xung Clock
Hình 1.8: Kết nối nguồn xung cho RTC Hình 1.9: Giao tiếp SPI
Hình 1.10: Ghép nối một thiết bị
Hình 1.11: Ghép nối nhiều thiết bị
Hình 1.12: Giao tiếp SPI với SD card Hình 1.13: Giao tiếp I2C
Hình 1.14: Kiểm tra lỗi trên I2C
Hình 1.15: Giao diện USART có khả năng hỗ trợ giao tiếp không đồng bộ UARTS,
modem cũng như giao tiếp hồng ngoại và Smartcard
Hình 1.16: Hỗ trợ giao tiếp ở chế độ hafl-duplex dưa trên một đường truyền
Hình 1.17: Giao tiếp smartcard và hồng ngoại
Hình 1.18: Hỗ trợ giao tiếp đồng bộ SPI
Hình 1.19: khối điều khiên CAN
Hình 1.20: Khối CAN có 3 mailbox cho truyền dữ liệu với đánh nhãn thời gian tư động cho chuẩn TTCAN
Hình 1.21: Giao tiếp USB 2.0
Hình 1.22: Mạch nạp ST_Link V2
Hình 2.1: Sơ đồ khối toàn hệ thống
Hình 2.2: Sơ đồ nguyên lí Hình 2.3: Mạch in lớp top
Hình 2.4: Mạch in lớp Button Hình 2.5: Mạch in 3D
Hình 2.6: Hình ảnh kit được hoàn thành
Hình 3.1: Thạch anh ngoài nối với vi điều khiển
Hình 3.2: Sơ đồ mạch nguyên lý của khối điều khiển trung tâm
Hình 3.3: Sơ đồ chân của IC LM1117
Hình 3.4: Adapter cấp nguồn cho toàn bộ hệ thống
Hình 3.5: Sơ đồ mạch nguyên lý của khối nguồn
Hình 3.6: Sơ đồ kết nối LCD 16X2 với vi điều khiển Hình 3.7: LCD 16X02
Hình 3.8: Lưu đồ hiển thị LCD 16X02
Hình 3.9: Sơ đồ kết nối LCD 7 thanh với vi điều khiển Hình 3.10: Led 7 thanh
Hình 3.11: Lưu đồ led 7 thanh
Hình 3.12: Hình ảnh mô phỏng quét led 7 thanh
Hình 3.13: Sơ đồ kết nối Led đơn với vi điều khiển
Hình 3.14: Sơ đồ kết nối Nút nhấn với vi điều khiển
Hình 3.15: Lưu đồ nút nhấn hiển thị led 7 thanh
Hình 3.16: Mô tả ma trận phím
Hình 3.17: Sơ đồ kết nối module wifi với vi điều khiển
Hình 3.18: Hình ảnh của module eps8266 v1
Hình 3.19: Sơ đồ kết nối khối cảm biến nhiệt độ với vi điều khiển
Hình 3.20: Cảm biến DS18B20 Hình 3.21: Cảm biến DHT11
Hình 3.22: Lưu đồ hiển thị nhiệt độ
Hình 3.23: Mô phỏng hiển thị nhiệt độ trên LCD
Hình 3.24: Sơ đồ kết nối khối UART với vi điều khiển
Hình 3.25: Lưu đồ giao tiếp UART
Hình 3.26: Sơ đồ kết nối khối Module RFID RC522 với vi điều khiển Hình 3.27: Module RFID RC522
Hình 3.28: Lưu đồ thuật toàn RFID
Hình 3.29: Mô phỏng RFID trên phần mềm Terminal
Hình 3.30: Sơ đồ kết nối module với vi điều khiển
Hình 3.31: Module I2C PCF 8574
Hình 3.32: Hiển thị LCD 16x02 bằng module I2C PCF 8574 DANH MỤC BẢNG
Bảng 1.1: Các dòng phát triển của ARM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Bảng 1.2: Các chế độ BOOT trong STM32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
Bảng 3.1: Danh sách nguồn và dòng sử dụng của các linh kiện, module. . . . . . . . . . . 26
DANH MỤC CÁC CỤM TỪ VIẾT TẮT Từ viết tắt Ý nghĩa
Là một trong những họ CPU dưa trên kiến trúc RISC (máy tính tập ARM
lệnh giảm) được phát triển bởi Advanced RISC Machines (ARM) CPU
Central Processing Unit, bộ xử lý trung tâm
integrated circuit : IC có nghĩa là Vi mạch, hay vi mạch tích hợp, hay
mạch tích hợp được hiểu là tập các mạch điện chứa các linh kiện bán IC
dẫn (như transistor) và linh kiện điện tử thụ động (như điện trở) được
kết nối với nhau, để thưc hiện được một chức năng xác định
Reduced Instructions Set Computer - Máy tính với tập lệnh đơn giản RISC hóa
General Purpose Input/Output: Các chân đầu ra hoặc đầu vào dùng GPIO chung
Inter- Intergrated Circuit: chuẩn truyền thông nối tiếp gồm 2 dây I2C Clock và Data
Serial Peripheral Interface là một chuẩn truyền thông nối tiếp đồng bộ SPI
dùng để chuyền dữ liệu ở chế độ song công toàn phần. ADC
Analog to Digital Convert là bộ chuyển đôi tương tư sang số. CAN Controller Area Network
Direct memory access (DMA)là cơ chế của hệ thống máy tính cho DMA
phép một thành phần phần cứng truy cập đến bộ nhớ dữ liệu chính một cách độc lập với CPU.
(Universal Serial Bus) là một chuẩn kết nối tuần tư đa dụng trong máy USB
tính. USB sử dụng để kết nối các thiết bị ngoại vi với máy tính.
Joint Test Action Group là công cụ được sinh ra để phục vụ cho việc JTAG
nạp chíp và debug phần mềm.
Nested vectored interrupt controller là bộ điều khiển xử lý ngắt có NVIC trong MCU. UART
Universal asynchronous receiver transmitter là bộ truyền nhận nối tiếp
bất đồng bộ. UART là một ngoại vi cơ bản trong chip
STM32F103C8T6 thường được dùng trong các quá trình giao tiếp với
các loại module như: Zigbee, Bluetooth, Wifi…
(Real time clock) là bộ thời gian thưc được cung cấp thời gian giống RTC
như một chiếc đồng hồ thông thường.
Pulse Width Modulation là phương pháp điều chỉnh độ rộng của xung PWM
có chu kì cố định, nhằm tạo ra sư thay đổi điện áp tại đầu ra.
Liquid crystal Display là một loại màn hình phẳng sử dụng các tinh thể LCD lỏng
Secure Digital là định dạng thẻ nhớ bộ nhớ không bay hơi độc quyền SD
được phát triển bởi SD Association để sử dụng trong các thiết bị cầm tay.
Printed Circuit Board là một bảng mạch in gồm nhiều lớp và không có PCB khả năng dẫn điện. SWD Serial Wire Debug
Đồ án tốt nghiệp Đại học Giới thiệu GIỚI THIỆU Đặt vấn đề
Trong vài năm trở lại đây, một trong những xu hướng chủ yếu trong các thiết kế
với vi điều khiển là sử dụng các chip lõi ARM như một vi điều khiển đa dụng. Ngày
nay các nhà sản xuất IC đưa ra thị trường rất nhiều dòng vi điều khiển sử dụng lõi
ARM. 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 ARM7 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. Với ứng dụng rộng rãi: từ điện tử dân dụng, xe hơi
đời mới, game, mobile , laptop, chỗ nào ARM cũng có mặt. 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), nhiệm vụ của chúng ta không thể dễ dàng hơn: khai báo và sử dụng mà thôi.
Mà giá thành cũng khá rẻ so với các dòng chip hiện có trên thị trường. Mục tiêu nghiên cứu
Tìm hiểu về dòng chip STM32 cùng các ngoại vi giao tiếp, tìm hiểu về cái
module như I2C, ESP 8266, RFID ,…. Nội dung nghiên cứu
- Tìm hiểu và giao tiếp được với cảm biến nhiệt độ, Module RFID RC522,
module LORA , module Wifi ESP8266 và các ngoại vi khác với chip STM32F103C8T6
- Thiết kế mô hình và lắp ráp các khối điều khiển.
- Chạy thử nghiệm mô hình, cân chỉnh hệ thống.
- Đánh giá kết quả thưc hiện. - Viết báo cáo
- Cải tiến mô hình nhằm tạo ra sản phẩm thương mại (nếu có thể). Bố cục
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT VỀ STM32
CHƯƠNG 2: THIẾT KẾ PHẦN CỨNG
GVHD: ThS.Nguyễn Mạnh Hùng 1 SVTH:Nguyễn Khắc Hiển
Downloaded by Nguyen Linh (vjt60@gmail.com)
Đồ án tốt nghiệp Đại học Giới thiệu
CHƯƠNG 3 CHỨC NĂNG TỪNG KHỐI
GVHD: ThS.Nguyễn Mạnh Hùng 1 SVTH:Nguyễn Khắc Hiển
Downloaded by Nguyen Linh (vjt60@gmail.com)
Đồ án tốt nghiệp Đại học
Chương 1: Cơ sở lý thuyết về stm32
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT VỀ STM32
1.1 Giới Thiệu Về Vi Điều Khiển ARM
Cấu trúc ARM (Acorn RISC Machine) là một loại cấu trúc vi xử lý 32-bit kiểu
RISC(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ă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.
Hình 1.1 Một số ứng dụng của ARM
1.1.1 Lịch sử phát triển của ARM
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. Kiến trúc Số bit Tên lõi ARMv1 32/26 ARM1 ARMv2 32/26 ARM2, ARM3 ARMv3 32 ARM6, ARM7 ARMv4 32 ARM8 ARM v4T 32 ARM7TDMI, ARM9TDMI ARMv5 32 ARM7EJ, ARM9E, ARM10E
GVHD:ThS. Nguyễn Mạnh Hùng 2
SVTH:Nguyễn Khắc Hiển
Downloaded by Nguyen Linh (vjt60@gmail.com)
Đồ án tốt nghiệp Đại học
Chương 1: Cơ sở lý thuyết về stm32 ARMv6 32 ARM11 ARMv6-M 32
ARM-Cortex-M0, ARM-Cortex-M0+, ARM- ARMv7-M 32 CortexM1 ARM-Cortex-M3 ARMv7EM 32 ARM-Cortex-M4 ARMv7-R
ARM-Cortex-R4, ARM-Cortex-R5, ARM-Cortex- R7 ARMv7-A 32
ARM-Cortex-A5, ARM-Cortex-A7, ARM-Cortex- A8,
ARM- Cortex-A9, ARM-Cortex-A12, ARM-Cortex: A15 và A17 ARMv8A 64/32 ARM-Cortex-A53, ARM-Cortex-A57
Bảng 1.1 Các dòng phát triển của ARM
1.1.2 Giới thiệu chung vể ARM Cortex
Dòng 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 Cortexk 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 nhu cầ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ậ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, tối ưu về giá thành. Hỗ trợ
tập lệnh Thumb-2. Dòng ARM STM32 có lõi Cortex-M.
1.1.3 Giới thiệu ARM Cortex M3
Một số đặc điểm của ARM Cotex–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.
• Đơn vị bảo vệ bộ nhớ (MPU–Memory Protection Unit): Hỗ trợ bảo vệ
bộ nhớ thông qua 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.
GVHD:ThS. Nguyễn Mạnh Hùng 3
SVTH:Nguyễn Khắc Hiển
Downloaded by Nguyen Linh (vjt60@gmail.com)
Đồ án tốt nghiệp Đại học
Chương 1: Cơ sở lý thuyết về stm32
• Hỗ trợ kỹ thuật Bit Band giúp cho phép truy xuất dữ liệu theo bit đồng
thời giảm thờ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ày cho phép sử dụng hiệu quả SRAM nội.
• SysTick 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ắt thời gian đáp ứng yêu cầu ngắt.
Hình 1.2: Kiến trúc vi xử lí ARM Cortex-M3
1.1.4 Giới thiệu dòng chip STM32
STM32 là vi điều khiển dưa trên nền tảng lõi ARM Cortex–M3. Lõi ARM Cortex–
M3 là sư cải tiến từ lõi ARM7 truyền thống của công ty ARM. Dòng STM32
GVHD:ThS. Nguyễn Mạnh Hùng 4
SVTH:Nguyễn Khắc Hiển
Downloaded by Nguyen Linh (vjt60@gmail.com)
Đồ án tốt nghiệp Đại học
Chương 1: Cơ sở lý thuyết về 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. . )
1 1.5 Giới thiệu về chip STM32F103C8T6.
Hình 1.3 Mô tả sơ đồ chân
Hình 1.4 : Hình ảnh thực tế của 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). - 20kbytes SRAM.
• Clock, reset và quản lý nguồn.
- Điện áp hoạt động 2.0V -> 3.6V.
- Power on reset(POR), Power down reset(PDR) và programmable voltage detector (PVD).
- Sử dụng thạch anh ngoài từ 4Mhz -> 20Mhz.
GVHD:ThS. Nguyễn Mạnh Hùng 5
SVTH:Nguyễn Khắc Hiển
Downloaded by Nguyen Linh (vjt60@gmail.com)
Đồ án tốt nghiệp Đại học
Chương 1: Cơ sở lý thuyết về stm32
- 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ữ data khi 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âu của CPU. - 7 kênh DMA.
- Hỗ trợ DMA cho ADC, I2C, SPI, UART. • 7 timer.
- 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, modem 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.
1.1.6 Kiến trúc chip ARM STM32F103C8T6
Kiến trúc của chip ARM STM32F103C8T6 bao gồm:
• Icode bus: Kết nối lõi Cortex™-M3 với bộ nhớ Flash để truyền mã lệnh.
• Dcode bus: Kết nối lõi Cortex™-M3 với bộ nhớ Flash để truyền dữ liệu.
• System bus: Kết nối lõi Cortex™-M3 với BusMatrix và BusMatrix sẽ phân
quyền sử dụng bus giữa lõi ARM và khối DMA.
• DMA bus: Kết nối DMA với BusMatrix và BusMatrix sẽ quản lý việc truy
xuất dữ liệu của CPU, DMA tới SRAM, Flash và các ngoại vi.
• Các cầu AHB/APB: 2 cầu AHB/APB giúp đồng bộ kết nối giữa AHB với 2
GVHD:ThS. Nguyễn Mạnh Hùng 6
SVTH:Nguyễn Khắc Hiển
Downloaded by Nguyen Linh (vjt60@gmail.com)
Đồ án tốt nghiệp Đại học
Chương 1: Cơ sở lý thuyết về stm32
bus APB. APB1 có tốc độ tối đa là 36 Mhz và APB2 đạt tốc độ tối đa 72 Mhz.
• BusMatrix: Phân quyền sử dụng bus giữa lõi ARM và khối DMA. Việc phân
quyền này dưa trên thuật toán Round-Robin (các khối sẽ thay phiên nhau truy
cập bus trong 1 đơn vị thời gian định sẵn).
• Sau mỗi lần CPU bị reset thì tất cả các nguồn xung clock cấp cho ngoại vi đều
bị tắt hết chỉ trừ xung clock cấp cho SRAM và FLITF
Hình 1.5. Kiến trúc của ARM STM32F103C8T6 1.1.7 Cấp xung Clock
Có 4 loại xung clock có thể dùng làm xung clock cho hệ thống (SYSCLK-xung
clock cấp cho khối xử lý):
- HIS (High Speed Internal) nguồn xung clock tốc độ cao bên trong ARM.
- HSE (High Speed External) nguồn xung clock tốc độ cao bên ngoài ARM.
- LSI (Low Speed Internal) nguồn xung clock tốc độ chậm 40kHz ở bên trong RM.
- LSE (Low Speed External) nguồn xung clock tốc độ chậm thường được nối với
thạch anh 32,768kHz từ bên ngoài, xung clock này có thể được dùng để cấp cho RTC.
Mỗi nguồn xung clock có thể được bật, tắt độc lập nhằm tiết kiệm năng lượng.
Chú ý: Muốn hệ thống hoạt động ở tần số cao nhất (72MHz) ta phải sử dụng HSE (4 –
16MHz) kết hợp với mạch nhân tần số PLLMUL. Thông thường ta chọn giá trị HSE
GVHD:ThS. Nguyễn Mạnh Hùng 7
SVTH:Nguyễn Khắc Hiển
Downloaded by Nguyen Linh (vjt60@gmail.com)
