Tải bản đầy đủ (.pdf) (105 trang)

Hệ thống điểm danh bằng vân tay ứng dụng vi điều khiển ARM

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.36 MB, 105 trang )

MỤC LỤC
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP ................................................................................ i
LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP ..................................................... ii
LỜI CAM ĐOAN ..........................................................................................................iii
LỜI CẢM ƠN ................................................................................................................ iv
MỤC LỤC ....................................................................................................................... v
LIỆT KÊ HÌNH ............................................................................................................viii
LIỆT KÊ BẢNG ............................................................................................................. x
TÓM TẮT ...................................................................................................................... xi
Chương 1.

TỔNG QUAN ........................................................................................ 1

1.1

ĐẶT VẤN ĐỀ ................................................................................................... 1

1.2

MỤC TIÊU NGHIÊN CỨU .............................................................................. 1

1.3

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

1.4

GIỚI HẠN ......................................................................................................... 2

1.5


BỐ CỤC ............................................................................................................ 2

Chương 2.
2.1

CƠ SỞ LÝ THUYẾT ............................................................................ 4

GIỚI THIỆU VỀ VI XỬ LÝ ARM ................................................................... 4

2.1.1 Lịch sử phát triển của ARM .............................................................................. 4
2.1.2 Kiến trúc của ARM ............................................................................................ 5
2.1.3 Giới thiệu ARM Cortex ..................................................................................... 6
2.1.4 Giới thiệu ARM Cortex M3 ............................................................................... 7
2.1.5 Giới thiệu dòng chip STM32 ............................................................................. 8
2.1.6 Giới thiệu về chip STM32F103XXX ................................................................ 8
2.1.7 Kiến trúc chip ARM STM32F103XXX ............................................................ 9
2.1.8 Cấp xung Clock cho STM32 ........................................................................... 10
2.1.9 Cấu hình BOOT cho STM32 ........................................................................... 13
2.1.10 Các chuẩn giao tiếp ........................................................................................ 14
2.2

CÔNG NGHỆ SINH TRẮC HỌC VÀ CẢM BIẾN VÂN TAY .................... 19

2.2.1 Giới thiệu công nghệ sinh trắc học .................................................................. 19
2.2.2 Lịch sử công nghệ sinh trắc học ...................................................................... 20
2.2.3 Ứng dụng công nghệ sinh trắc học .................................................................. 21
2.3

CẢM BIẾN VÂN TAY ................................................................................... 25


2.3.1 Giới thiệu cảm biến vân tay ............................................................................. 25
2.3.2 Giao tiếp phần cứng ......................................................................................... 26
2.3.3 Tài nguyên hệ thống trong cảm biến vân tay ................................................... 27
2.3.4 Giao thức truyền thông giao tiếp ..................................................................... 30
v


2.3.5 Giới thiệu các tập tin giao tiếp giữa Module và MCU .................................... 32
2.4

SD Card ........................................................................................................... 35

2.4.1 Sơ lược về SD Card ......................................................................................... 35
2.4.2 Cấu trúc thẻ nhớ SD ......................................................................................... 36
2.4.3 Cấu trúc file ghi trong thẻ nhớ SD ................................................................... 37
2.5

PL2303 CHUYỂN ĐỔI CHUẨN USB SANG CHUẨN NỐI TIẾP .............. 42

2.5.1 Giới thiệu ......................................................................................................... 42
2.5.2 Đặc điểm .......................................................................................................... 42
2.5.3 Sơ đồ khối ........................................................................................................ 42
2.5.4 Mô tả chân linh kiện ........................................................................................ 43
2.5.5 Thông số kỹ thuật ............................................................................................ 45
2.5.6 Định dạng dữ liệu, tốc độ xung clock và tốc độ truyền ................................... 45
2.5.7 Mở rộng bộ nhớ và cấu hình thiết bị................................................................ 45
2.6

MÀN HÌNH TFT LCD TOUCH SCREEN..................................................... 46


2.6.1 Giới thiệu ......................................................................................................... 46
2.6.2 Giao tiếp ........................................................................................................... 47
2.6.3 Khảo sát các vi mạch điều khiển màn hình Touch .......................................... 48
2.7

EEPROM ......................................................................................................... 51

2.7.1 Giới thiệu ......................................................................................................... 51
2.7.2 Mơ tả chi tiết .................................................................................................... 51
Chương 3.

TÍNH TỐN VÀ THIẾT KẾ ............................................................. 54

3.1

GIỚI THIỆU .................................................................................................... 54

3.2

TÍNH TỐN VÀ THIẾT KẾ HỆ THỐNG .................................................... 54

3.2.1 Sơ đồ khối ........................................................................................................ 54
3.2.2 Tính tốn và thiết kế mạch ............................................................................... 55
3.2.3 Khối giao tiếp máy tính ................................................................................... 61
3.2.4 Sơ đồ nguyên lý tồn mạch .............................................................................. 62
Chương 4.
4.1

THI CƠNG HỆ THỐNG .................................................................... 63


THI CƠNG HỆ THỐNG ................................................................................. 63

4.1.1 Thi cơng mạch in ............................................................................................. 63
4.1.2 Lắp ráp và kiểm tra .......................................................................................... 66
4.2

ĐÓNG GÓI THI CƠNG MƠ HÌNH ............................................................... 68

4.3

LẬP TRÌNH HỆ THỐNG ............................................................................... 69

4.3.1 Lưu đồ giải thuật .............................................................................................. 69
4.3.2 Phần mềm lập trình .......................................................................................... 79
4.4

TÀI LIỆU HƯỚNG DẪN SỬ DỤNG VÀ THAO TÁC ................................ 87

4.4.1 Tài liệu hướng dẫn sử dụng ............................................................................. 87
vi


4.4.2 Quy trình thao tác ............................................................................................ 88
Chương 5.

KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ ............................................... 90

5.1

KẾT QUẢ ........................................................................................................ 90


5.2

NHẬN XÉT – ĐÁNH GIÁ ............................................................................. 96

5.3

GIỚI HẠN ....................................................................................................... 96

Chương 6.

KẾT LUẬN - HƯỚNG PHÁT TRIỂN .............................................. 97

6.1

KẾT LUẬN ..................................................................................................... 97

6.2

HƯỚNG PHÁT TRIỂN .................................................................................. 97

TÀI LIỆU THAM KHẢO .......................................................................................... 98

vii


LIỆT KÊ HÌNH
Hình 2.1. Một số ứng dụng của ARM ............................................................................ 4
Hình 2.2. Kiến trúc ARM ............................................................................................... 6
Hình 2.3. Sơ đồ khối ARM Cortex-M3 .......................................................................... 8

Hình 2.4. Mơ tả chân và hình ảnh thực tế của STM32F103VET6................................. 9
Hình 2.5. Kiến trúc của ARM STM32F103XXX ........................................................ 10
Hình 2.6. Cách kết nối nguồn xung 8Mhz cho HSE .................................................... 11
Hình 2.7. Sơ đồ cây xung Clock ................................................................................... 12
Hình 2.8. Kết nối nguồn xung cho RTC ....................................................................... 13
Hình 2.9. Cấu trúc SPI trong ARM .............................................................................. 15
Hình 2.10. Giao thức Master – Slave trong giao tiếp SPI ............................................ 15
Hình 2.11 Ghép nối một thiết bị ................................................................................... 16
Hình 2.12. Ghép nối nhiều thiết bị ............................................................................... 16
Hình 2.13. Cấu trúc USART trong ARM ..................................................................... 17
Hình 2.14. Hỗ trợ giao tiếp ở chế độ hafl-duplex dựa trên một đường truyền............. 18
Hình 2.15. Giao tiếp smartcard và hồng ngoại ............................................................. 18
Hình 2.16. Hỗ trợ giao tiếp đồng bộ SPI ...................................................................... 19
Hình 2.17. Giao tiếp I2C .............................................................................................. 19
Hình 2.18. Ứng dụng của cơng nghệ sinh trắc học ...................................................... 20
Hình 2.19. Sinh trắc học vân tay .................................................................................. 22
Hình 2.20. Sinh trắc học bàn tay .................................................................................. 22
Hình 2.21. Sinh trắc học khn mặt ............................................................................. 23
Hình 2.22. Sinh trắc học dựa vào hành vi của người dùng .......................................... 23
Hình 2.23. Dựa vào nhịp tim để thanh tốn các hóa đơn ............................................. 24
Hình 2.24. Sinh trắc học mắt. Nhận diện võng mạc ..................................................... 24
Hình 2.25. Cảm biến vân tay R305 .............................................................................. 25
Hình 2.26. Các ngõ ra giao tiếp của cảm biến R305 .................................................... 26
Hình 2.27. Khung dữ liệu truyền đi của cảm biến R305 .............................................. 27
Hình 2.28. Cấu trúc thẻ nhớ SD ................................................................................... 36
Hình 2.29. Sơ đồ khối của PL2303 .............................................................................. 43
Hình 2.30. Sơ đồ chân linh kiện PL2303 ..................................................................... 43
Hình 2.31. Mơ tả kích thước của GLCD ...................................................................... 46
Hình 2.32. Mơ tả chân của ADS7843 .......................................................................... 48
Hình 2.33. Sơ đồ khối IC 7843 ..................................................................................... 50

Hình 2.34. Mơ tả chân của EEPROM .......................................................................... 51
Hình 2.35. Lưu đồ khối trong EEPROM 24C02 .......................................................... 52
Hình 2.36. Trạng thái START và STOP khi truyền nhận dữ liệu I2C ......................... 53
Hình 3.1. Sơ đồ khối hệ thống ...................................................................................... 54
Hình 3.2. Sơ đồ kết nối với LCD Touch Screen .......................................................... 55
Hình 3.3. Sơ đồ kết nối với SD Card ............................................................................ 56
Hình 3.4. Sơ đồ kết nối khối xử lý trung tâm STM32F103VET6 ............................... 58
Hình 3.5. Sơ đồ kết nối khối EEPROM ....................................................................... 59
Hình 3.6. Sơ đồ kết nối với các module: cảm biến vân tay, buzzer… ......................... 60
Hình 3.7. Khối nguồn của tồn bộ hệ thống ................................................................. 61
Hình 3.8. Mạch PL2303 chuyển đổi USB sang UART................................................ 61
Hình 3.9. Sơ đồ ngun lý tồn mạch .......................................................................... 62
Hình 4.1. Mạch in lớp Top ........................................................................................... 63
viii


Hình 4.2. Mạch in lớp Bottom ...................................................................................... 63
Hình 4.3. Sơ đồ bố trí linh kiện mặt trên ...................................................................... 64
Hình 4.4. Sơ đồ bố trí linh kiện mặt dưới ..................................................................... 64
Hình 4.5. Lắp hồn tất linh kiện ................................................................................... 67
Hình 4.6. Mặt trước mơ hình máy điểm danh .............................................................. 68
Hình 4.7. Mặt dưới mơ hình máy điểm danh ............................................................... 68
Hình 4.8. Lưu đồ chương trình chính ........................................................................... 69
Hình 4.9. Lưu đồ chương trình Menu chính................................................................. 70
Hình 4.10. Chương trình cài đặt trong máy.................................................................. 71
Hình 4.11. Lưu đồ lấy mẫu vân tay .............................................................................. 72
Hình 4.12. Lưu đồ xáo Admin...................................................................................... 73
Hình 4.13. Lưu đồ thêm SV và thêm Admin cho hệ thống .......................................... 74
Hình 4.14. Lưu đồ chỉnh thời gian hệ thống ................................................................ 74
Hình 4.15. Lưu đồ và chi tiết lần đầu sử dụng máy ..................................................... 75

Hình 4.16. Lưu đồ và giải thích q trình điểm danh tự động ..................................... 76
Hình 4.17. Lưu đồ và giải thích q trình điểm danh thủ cơng.................................... 77
Hình 4.18. Chương trình giao tiếp máy tính ................................................................ 78
Hình 4.19. Chạy file setup MDK520 ........................................................................... 79
Hình 4.20. Giao diện cài đặt phần mềm MDK 520 ...................................................... 79
Hình 4.21. Giao diện cài đặt MDK520 ........................................................................ 80
Hình 4.22. Chọn nơi lưu file cài đặt MDK ................................................................... 80
Hình 4.23. Quá trình cài đặt đang được thực hiện ....................................................... 81
Hình 4.24. Quá trình cài đặt kết thúc ........................................................................... 81
Hình 4.25. Bắt đầu với Keli C ...................................................................................... 82
Hình 4.26. Tạo 1 Project............................................................................................... 82
Hình 4.27. Tạo 1 file tên của Project ............................................................................ 83
Hình 4.28. Chọn chip muốn viết chương trình ............................................................. 83
Hình 4.29. Tạo file .c để viết chương trình .................................................................. 84
Hình 4.30. Add thêm file .c trong thư mục gốc để tiến hành biên dịch ....................... 84
Hình 4.31. Biên dịch và kiểm tra lỗi ............................................................................ 85
Hình 4.32. Chọn mạch nạp ........................................................................................... 85
Hình 4.33. Ngơn ngữ lập trình C# ................................................................................ 86
Hình 4.34. Giao diện phần mềm Visual Studio ............................................................ 87
Hình 4.35. Quy trình thao tác của mơ hình .................................................................. 89
Hình 5.1. Mơ hình máy điểm danh hồn thành ............................................................ 90
Hình 5.2. Màn hình điểm danh ..................................................................................... 91
Hình 5.3. File quản lý các lớp học trong 1 tuần ........................................................... 91
Hình 5.4. File quản lý 6 sinh viên trong 15 tuần .......................................................... 92
Hình 5.5. File riêng quản lý việc chuyên cần của một sinh viên ................................. 93
Hình 5.6. Giao diện phần mềm được xây dựng bằng C# ............................................. 93
Hình 5.7. Chế độ Setup file .......................................................................................... 94
Hình 5.8. Chế độ Load File .......................................................................................... 95

ix



LIỆT KÊ BẢNG
Bảng 2.1. Các dòng phát triển của ARM ........................................................................ 5
Bảng 2.2. Các chế độ BOOT trong STM32 ................................................................. 13
Bảng 2.3. Kết nối phần cứng của R305 ........................................................................ 26
Bảng 2.4. Thanh ghi trạng thái của Module. ................................................................ 29
Bảng 2.5. Định dạng gói dữ liệu truyền và nhận của cảm biến vân tay. ...................... 30
Bảng 2.6. Ý nghĩa của gói dữ liệu truyền của cảm biến vân tay.[4] .............................. 30
Bảng 2.7. Mã xác nhận gửi về từng Module khi tiến hành giao tiếp. .......................... 31
Bảng 2.8. 23 mã Introduction code của các gói dữ liệu.[4] ........................................... 32
Bảng 2.9. Các gói dữ liệu tương ưng với từng mã Introduction Code. ........................ 33
Bảng 2.10. Định dạng gói trả về từ cảm biến về MCU. ............................................... 34
Bảng 2.11. Các mã Confirmation code mở rộng. ......................................................... 34
Bảng 2.12. Mô tả chức năng các chân của SD card. .................................................... 36
Bảng 2.13. Các thanh ghi trong thẻ nhớ SD. ................................................................ 37
Bảng 2.14. Cấu trúc của một ổ đĩa. .............................................................................. 37
Bảng 2.15. MBR trong SD card.................................................................................... 38
Bảng 2.16. Thông tin của một phân vùng. .................................................................... 38
Bảng 2.17. Cấu trúc chung của mỗi phân vùng. ........................................................... 39
Bảng 2.18. Thông tin chứ trong 1 Boot secsor. ............................................................ 39
Bảng 2.19. Giá trị của các mục nhập trong FAT. ......................................................... 41
Bảng 2.20. Cấu trúc của Directory Table. .................................................................... 41
Bảng 2.21. Mô tả chân cho chip PL2303. .................................................................... 44
Bảng 2.22. Thông số điện áp, dòng điện và xung clock dùng cho PL2303. ................ 45
Bảng 2.23. Mã hóa dữ liệu............................................................................................ 45
Bảng 2.24. Các thơng số chính của màn hình LCD. .................................................... 47
Bảng 2.25. Mô tả chức năng các chân của GLCD. ...................................................... 47
Bảng 2.26. Chức năng của ADS7843. .......................................................................... 49
Bảng 2.27. Chức năng các chân của EEPROM 24C02 ................................................ 52

Bảng 4.1. Danh sách linh kiện. ..................................................................................... 65

x


TĨM TẮT
Đề tài sử dụng cơng nghệ sinh trắc học vân tay để tiến hành điểm danh sinh viên
mỗi buổi học. Việc quản lý sinh viên do giáo viên phụ trách lớp đảm nhiệm. Mỗi lớp sẽ
được quản lý trên 1 file excel, và mỗi học sinh đều có một file excel riêng để kiểm tra
chính xác khi cần.
Tất cả các thông tin về lớp và thời gian vào ra của các sinh viên đều được lưu trữ
trong thẻ nhớ SD. Hệ thống sẽ tự động thống kê để kể giáo viên phụ trách biết chính xác
tình hình lớp học.
Hệ thống sẽ tự động mở máy để điểm danh và tắt máy không cho điểm danh nữa
khi đến một thời điểm đã được định sẵn trong máy. Tất cả các thao tác này đều do chip
STM32F103VET6 đảm nhận và thực hiện thông qua các chuẩn giao tiếp.

xi


CHƯƠNG 1. TỔNG QUAN

Chương 1.
1.1

TỔNG QUAN

ĐẶT VẤN ĐỀ
Công nghệ bán dẫn ngày càng phát triển kéo theo đó là hàng loạt chip xử lý được các


công ty phát triển. Song song với sự phát triển của chip xử lý thì công nghệ cảm biến cũng
tạo ra một cuộc cách mạng. Các cảm biến ra đời đảm nhiệm các chức năng thay cho con
người trong các quy trình cơng nghiệp và dân dụng địi hỏi sự chính xác, tốc độ và khả năng
làm việc liên tục mà con người không làm được.
Kết hợp vi xử lý và cảm biến không chỉ nhằm giám sát các q trình cơng nghiệp mà
song song đó cịn dùng để theo dõi tình hình sức khỏe hoặc dùng để giám sát chính những
người đã tạo ra chúng. Ứng dụng tiêu biểu nhất để giám sát người đó chính là máy chấm
cơng hay là máy điểm danh.
Vấn đề lớn nhất của máy chấm công từ trước đến nay là làm sao tạo ra được một thiết
bị có khả năng nhận biết chính xác đối tượng mình cần quản lý, tránh sai sót hoặc gian lận.
Giải pháp nghĩ đến đó chính là sử dụng cơng nghệ nhận biết riêng biệt của từng cá nhân để
tiến hành kiểm soát, và công nghệ được nghĩ đến đầu tiên là công nghệ sinh trắc học để giải
quyết vấn đề điểm danh. Vì mỗi người có mỗi đặc điểm sinh trắc học khác nhau.
Việc ứng dụng máy điểm danh trong công nghiệp từ đó đã được ra đời và ứng dụng
rộng rãi cho tới hiện nay nhưng việc ứng dụng trong trường lớp lại được bỏ trống. Ấp ủ từ
những yêu cầu trên nhóm chúng đã quyết định chọn đề tài: “Hệ thống điểm danh bằng vân
tay ứng dụng Vi điều khiển ARM” ứng dụng điểm danh trong lớp học.

1.2

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, song song đó là tìm hiểu

về cảm biến vân tay. Kết hợp cả hai thứ lại cùng với sự điều khiển từ màn hình LCD
TOUCH nhằm tạo ra một thiết bị có khả năng điểm danh, ban đầu sẽ áp dụng thí điểm ở
trong lớp học thực tập tại Trường Đại Học Sư Phạm Kỹ Thuật HCM để điểm danh sinh
viên mỗi buổi, sau đó cải tiến để áp dụng cho toàn trường rồi xa hơn sẽ đưa ra thị trường
để cạnh tranh.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP


1


CHƯƠNG 1. TỔNG QUAN

1.3

NỘI DUNG NGHIÊN CỨU
NỘI DUNG 1: Tìm hiểu và nắm vững các giao tiếp với Kit STM32F103VET6.
NỘI DUNG 2: Tìm hiểu và giao tiếp được với cảm biến vân tay R305 thông qua

UART của chip STM32
NỘI DUNG 3: Thiết kế mơ hình máy điểm danh.
NỘI DUNG 4: Đánh giá kết quả thực hiện mơ hình.
NỘI DUNG 5: Cải tiến mơ hình nhằm tạo ra sản phẩm thương mại.

1.4

GIỚI HẠN
Sử dụng được 2 cảm biến vân tay R305 để tiến hành điểm danh.
Giao tiếp giữa cảm biến vân tay R305 và chip STM32 thông qua USART.
Kết hợp thẻ nhớ SD để mở rộng khả năng lưu trữ và xử lý thơng tin của mơ hình.
Giao diện được xây dựng và xử lý trên màn hình cảm ứng TFT 3.2inch.
Xử lý việc điểm danh bằng file Excel lưu sẵn trong thẻ nhớ.

1.5

BỐ CỤC
Gồm có 6 chương:

Chương 1: Tổng Quan.
Chương 2: Cơ Sở Lý Thuyết.
Chương 3: Tính Tốn Và Thiết Kế.
Chương 4: Thi Công Hệ Thống Máy Điểm Danh.
Chương 5: Kết Quả_Nhận Xét_Đánh Giá.
Chương 6: Kết Luận và Hướng Phát Triển
Nội dung các chương:
Chương 1: Tổng Quan
Chương này trình bày vấn đề lý do tại sao chọn đề tài, mục đích nghiên cứu khi làm

để tài này, đồng thời nêu giới hạn và bố cục của toàn bộ đề tài.
Chương 2: Cơ Sở Lý Thuyết
Chương này sẽ tìm hiểu về dòng vi xử lý ARM, lịch sử phát triển và sự đa dạng của
vi xử lý dịng này, tìm hiểu về thẻ nhớ SD, thiết bị chuyển USB sang UART, màn hình

BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP

2


CHƯƠNG 1. TỔNG QUAN
LCD TFT, và các chuẩn giao tiếp, đồng thời tìm hiểu về cơng nghệ sinh trắc học nói chung
và cơng nghệ sinh trắc học vân tay nói riêng.
Chương 3: Tính Tốn Và Thiết Kế
Trình bày sơ đồ khối chức năng các khối, đồng thời thiết kế tính tốn để thiết kế mạch
điều khiển mơ hình. Trình bày sơ đồ tồn mạch.
Chương 4: Thi Cơng Hệ Thống Máy Điểm Danh
Thi công hàn linh kiện lên mạch, lắp ráp kiểm tra toàn bộ mạch, đồng thời test bằng
1 chương trình cơ bản. Sau đó lắp ráp thành mơ hình.
Trình bày lưu đồ giải thuật đồng thời giải thích cách hoạt động của toàn bộ hệ thống.

Chương 5: Kết Quả Nhận Xét và Đánh Giá
Trình bày kết quả của của thiết kế mơ hình và lập trình. Nhận xét đánh giá mức độ
hồn thiện của mơ hình đồng thời nêu những giới hạn của mơ hình.
Chương 6: Kết Luận và Hướng Phát Triển
Tổng kết kết quả của tồn bộ mơ hình, đưa ra các hướng phát triển cho sản phẩm sau
này.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP

3


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

Chương 2.
2.1

CƠ SỞ LÝ THUYẾT

GIỚI THIỆU VỀ VI XỬ LÝ 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

được sử dụng rộng rãi trong thiết kế nhúng. Do đặc điểm tiết kiệm năng lượng, các bộ CPU
ARM chiếm được ưu thế trong các sản phẩm điện tử di động, mà 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ế hàng đầu.
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, máy giặt, máy bay, xe hơi….[2]

[Nguồn: />Hình 2.1. Một số ứng dụng của ARM


2.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. 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 hồ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,000 transistor. 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.
Vào những năm cuối thập niên 80, hãng máy tính Apple Computer và hãng VLSI
Technology bắt đầu hợp tác với Acorn để phát triển các thế hệ lõi ARM mới. Kết quả sự
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP

4


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
hợp tác này là ARM6. Mẫu đầu tiên được công bố vào năm 1992 và Apple đã sử dụng bộ
vi xử lý ARM 610 dựa trên ARM6 làm cơ sở cho PDA hiệu Apple Newton. Vào năm 1994,
Acorn dùng ARM 610 làm CPU trong các máy vi tính RiscPC của họ.
Bảng 2.1. Các dịng phát triển của ARM
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


ARMv6

32

ARM11

ARMv6-M

32

ARM-Cortex-M0, ARM-Cortex-M0+, ARM-Cortex-M1

ARMv7-M

32

ARM-Cortex-M3

ARMv7E-M

32

ARM-Cortex-M4

ARMv7-R

32

ARM-Cortex-R4, ARM-Cortex-R5, ARM-Cortex-R7

ARM-Cortex-A5, ARM-Cortex-A7, ARM-Cortex-A8, ARM-

ARMv7-A

32

Cortex-A9, ARM-Cortex-A12, ARM-Cortex: A15 và A17

ARMv8A

64/32

ARM-Cortex-A53, ARM-Cortex-A57
[Nguồn: Tài liệu số (2)]

Trải qua nhiều thế hệ nhưng lõi ARM gần như không thay đổi kích thước. ARM2 có
30,000 transistors trong khi ARM6 chỉ tăng lên đến 35,000. Ý 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 hồ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 sản phẩm với nhiều tính năng mà giá thành vẫn thấp.[2]

2.1.2 Kiến trúc của ARM

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP

5


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


[Nguồn: />Hình 2.2. Kiến trúc ARM

2.1.3 Giới thiệu ARM Cortex
Như chúng ta đã thấy trong phần giới thiệu lịch sử phát triển các dòng ARM thì lõi
Cortex là lõi nhúng kế thừa các ưu điểm từ các thế hệ lõi ARM11 về trước đó. Để phù hợp
với nhu cầu sử dụng, 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.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP

6


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
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. Dịng ARM STM32 có lõi Cortex-M.
Giá trị số nằm cuối tên của 1 dịng ARM (ví dụ ARM Cortex-M3) 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.[2]

2.1.4 Giới thiệu ARM Cortex M3
ARM Cortex-M3 được thiết kế đặc biệt để nâng cao hiệu suất hệ thống kết hợp với
tiêu thụ năng lượng thấp. ARM Cortex-M3 được thiết kế trên nền kiến trúc mới do đó chi
phí sản xuất đủ thấp để cạnh tranh với các dòng vi điều khiển 8 và 16 bit truyền thống. Sơ
đồ khối của ARM Cortex-M3.
Một số đặc điểm của ARM Cotex-M3 như sau:
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.
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.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP

7


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

[Nguồn: />Hình 2.3. Sơ đồ khối ARM Cortex-M3

2.1.5 Giới thiệu dòng chip STM32
Những đặc điểm nổi trội của dòng ARM Cortex đã thu hút các nhà sản xuất IC, hơn
240 dòng vi điều khiển dựa vào nhân Cortex đã được giới thiệu. Khơng nằm ngồi xu hướng
đó, hãng sản xuất chip ST Microelectronic đã nhanh chóng đưa ra dịng STM32. STM32 là
vi điều khiển dựa trên nền tảng 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 từ lõi ARM7 truyền thống từng mang lại thành công cho
công ty ARM.[2]

2.1.6 Giới thiệu về chip STM32F103XXX

Chip STM32F103xxx thuộc nhóm thứ 3 High-density trong 5 nhóm thuộc dịng ARM
STM31F1, với bộ nhớ Flash là 512Kbytes, 11 timers, USB, CAN, ADC và các chuẩn giao
tiếp khác.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP

8


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
Với mơ hình máy điểm danh sử dụng vi xử lý ARM này thì nhóm tơi quyết định
chọn con chip STM32F103VET6 chính bởi vì chúng có tốc độ và dung lượng lưu trữ phù
hợp với yêu cầu đặt ra, nhưng quan trọng nhất là chúng tơi đã được tiếp xúc trong q
trình học tập tại trường.

[Nguồn: www.AllDataSheet.com]
Hình 2.4. Mơ tả chân và hình ảnh thực tế của STM32F103VET6
Do thuộc dòng High density cùng với 512Kbytes Flash STM32F103VET6 là chip xử
lý mạnh mẽ với:
 72Mhz xung nội đem lại một tốc độ xử lý đáng kể.
 5 chuẩn giao tiếp UART và USART.
 4x16 bit timers, 2 basic timers.
 3 x SPI, 2 x I2Ss, 2 x I2Cs.
 USB, CAN, 2 x PWM timers.


3 × ADCs, 2 × DACs, 1 × SDIO.[2]

2.1.7 Kiến trúc chip ARM STM32F103XXX
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.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP

9


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
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 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

[Nguồn: www.arm.vn]
Hình 2.5. Kiến trúc của ARM STM32F103XXX

2.1.8 Cấp xung Clock cho STM32
Có 3 loại xung clock có thể đùng dùng làm xung clock cho hệ thống (SYSCLK-xung
clock cấp cho khối xử lý):

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP

10



CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
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.
PLL (Phase Locked Loop) nguồn xung clock lấy từ bộ nhân tần số (hay sử dụng).
LSI (Low Speed Internal) nguồn xung clock tốc độ chậm 40kHz ở bên trong ARM.
Nguồn xung này được dùng để cấp cho independent watchdog và có thể được dùng để cấp
cho RTC trong việc định thời gian tự động đánh thức CPU thoát khỏi chế độ Stop hoặc
Standby.
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 (416Mhz) kết hợp với mạch nhân tần số PLLMUL. Thông thường ta chọn giá trị HSE =
8Mhz, điều này có nghĩa là ta phải kết nối thạch anh hoặc một nguồn xung clock 8Mhz bên
ngoài ARM theo cách sau:[2]

[Nguồn: www.alldatasheet.com]
Hình 2.6. Cách kết nối nguồn xung 8Mhz cho HSE

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP

11


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

[Nguồn: ]
Hình 2.7. Sơ đồ cây xung Clock
Ngồi ra ARM cũng cịn có nguồn xung clock phụ sau:

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP


12


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

[Nguồn: ]
Hình 2.8. Kết nối nguồn xung cho RTC
Nếu không muốn dùng thạch anh hoặc clock ngoại như HSE ta có thể dùng giao động
nội HSI nhưng lúc này tốc độ tối đa chỉ 64Mhz.
Muốn dùng RTC định thời một cách chính xác ta phải sử dụng LSE bằng cách kết nối
thạch anh hoặc bộ giao động có tần số 32.768kHz vào 2 chân OSC32_IN và OSC32_OUT
theo cách hình 2.8.

2.1.9 Cấu hình BOOT cho STM32
Dịng STM32F1 có 3 chế độ BOOT được chọn bởi 2 chân BOOT [1:0] theo bảng sau:
Bảng 2.2. Các chế độ BOOT trong STM32
Trạng thái chân boot

Chế độ boot

Giải thích

BOOT1

BOOT0

x

0


Bộ nhớ Flash chính

Chọn Boot từ bộ nhớ Flash chính

0

1

Bộ nhớ hệ thống

Chọn Boot từ bộ nhớ hệ thống

1

1

SRAM

Chọn Boot từ bộ nhớ SRAM
[Nguồn: Tài liệu số (2)]

Trạng thái của các chân BOOT được cập nhật vào thời điểm có cạnh lên thứ 4 của
xung SYSCLK sau khi Reset. Việc chọn chế độ BOOT phụ thuộc vào việc cài đặt của người
dùng đối với 2 chân BOOT1 và BOOT0 và trạng thái các chân BOOT này sẽ được cập nhật
lại sau mỗi lần thoát khỏi chế độ Standby. Boot loader được lập trình bởi hãng ST và mặc
BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP

13



CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
định lưu trong bộ nhớ hệ thống. Boot loader được sử dụng để nạp chương trình vào bộ nhớ
Flash bằng một số chuẩn truyền nối tiếp:
Đối với dịng low, medium, high density thì boot loader sử dụng UART1 để nạp
chương trình vào Flash.
Đổi với dịng conectivity line thì boot loader sử dụng USART1, USART2 (remap),
CAN (remap) hoặc USB OTG FS hoạt động ở chế độ DFU-Device Firmware Upgrade.
Trong chế độ này USART sẽ hoạt động nhờ giao động nội 8Mhz (HSI) caonf CAN
và USB chỉ có thể hoạt động nhờ giao động ngoại HSE khi kết nối với thạch anh 8 Mhz,
14,7546Mhz hoặc 25Mhz. [2]

2.1.10 Các chuẩn giao tiếp
a. SPI
Trong vi điều khiển ARM khối SPI (Serial Peripheral Interface) được tích hợp sẵn
bên trong và nằm trên bus truyền dữ liệu ngoại vi tối ưu để tăng hiệu suất truyền dữ liệu và
tối ưu khả năng tiêu thụ công suất.
STM32 cung cấp hai khối điều khiển SPI có khả năng chạy ở chế độ song công (fullduplex) với tốc độ truyền dữ liệu lên tới 18MHz. Khối SPI tốc độ cao nằm trên APB2, khối
SPI tốc độ thấp nằm trên APB1. Mỗi khối SPI có hệ thống thanh ghi cấu hình độc lập, dữ
liệu truyền có thể dưới dạng 8-bit hoặc 16-bit, thứ tự hỗ trợ MSB hay LSB.
Chúng ta có thể cấu hình mỗi khối SPI đóng vai trị master hay slave.
Để hỗ trợ truyền dữ liệu tốc độ cao, mỗi khối SPI có hai kênh DMA dành cho gửi và
nhận dữ liệu. Thêm vào đó là khối CRC dành cho cả truyền và nhận dữ liệu. Khối CRC đều
có thể hỗ trợ kiểm tra CRC8 và CRC16. Các đặc tính này rất cần thiết khi sử dụng SPI để
giao tiếp với MMC/SD card và USB.
Sau đây là cấu trúc khối SPI:

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP

14



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

[Nguồn: ]
Hình 2.9. Cấu trúc SPI trong ARM
Chức năng của SPI:
 SPI sử dụng phương thức truyền: Nối tiếp - Đồng bộ - Song công.
 Nối tiếp: Truyền một bit dữ liệu trên mỗi nhịp truyền.
 Đồng bộ: Có xung nhịp đồng bộ q trình truyền.
 Song công: Cho phép gửi, nhận đồng thời.
 SPI là phương thức Master – Slave.
 Thiết bị đóng vai trò Master điều khiển xung đồng bộ (SCK).
 Tất cả các thiết bị Slaver bị điều khiển bởi xung đồng bộ phát ra bởi Master.
SPI là giao thức trao đổi dữ liệu (Data Exchange): Một bit được gửi ra sẽ có một bit
được nhận về được mơ tả trong hình:

[Nguồn: ]
Hình 2.10. Giao thức Master – Slave trong giao tiếp SPI
Cấu hình ghép nối cơ bản trong giao tiếp SPI:
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP

15


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
Cấu hình ghép nối 1 thiết bị

[Nguồn: ]
Hình 2.11 Ghép nối một thiết bị

Cấu hình ghép nối nhiều thiết bị:
Mô tả các chân sử dụng trong giao tiếp SPI:
 MISO (Master Input Slave Output).
 MOSI (Master Output Slave Input).
 SCK: xung đồng bộ.
 SS (Slave select): Chân chọn thiết bị (để một thiết bị slave có thể làm việc, chân
SS phải giữ ở mức thấp).
Các thiết bị sử dụng giao tiếp SPI rất đa dạng bao gồm: thẻ nhớ SD/MMC, bộ nhớ,
cảm biến ảnh, LCD, ADC…….

[Nguồn: ]
Hình 2.12. Ghép nối nhiều thiết bị
BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP

16


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

b. USART

[Nguồn: ]
Hình 2.13. Cấu trúc USART trong ARM
Mặc dù các giao diện trao đổi dữ liệu dạng nối tiếp dần dần khơng cịn được hỗ trợ
trên máy tính, chúng vẫn cịn được sử dụng rất nhiều trong lĩnh vực nhúng bởi sự tiện ích
và tính đơn giản. STM32 có đến 3 khối USART (USART1, USART2, USART3) và 2 khối
UART (UART4, UART5), USART1 có khả năng hoạt động đến tốc độ 4,5Mbps, các khối
còn lại có tốc độ khoảng 2,25Mbps. Một khối USART2, USART3, UART4 và UART5
nằm trên APB1 với xung nhịp hoạt động 72MHz, các USART1 nằm trên APB2 hoạt động
ở xung nhịp 56MHz.

Giao diện USART có khả năng hỗ trợ giao tiếp khơng đồng bộ USART, modem cũng
như giao tiếp hồng ngoại và Smartcard.
Với mạch tích hợp cho phép chia nhỏ tốc độ Baud chuẩn thành nhiều tốc độ khác nhau
thích hợp với nhiều kiểu trao đổi dữ liệu khác nhau. Mỗi khối USART có hai kênh DMA
dành cho truyền và nhận dữ liệu. Khi hỗ trợ giao tiếp dạng UART-USART cung cấp nhiều
chế độ giao tiếp. Có thể trao đổi dữ liệu theo kiểu chế độ hafl-duplex trên đường truyền Tx.
Khi hỗ trợ giao tiếp modem và giao tiếp có sử dụng điều khiển luồng (hardware flow
control) USART cung cấp thêm các tín hiệu điều khiển CTS và RTS.

BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP

17


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

[Nguồn: ]
Hình 2.14. Hỗ trợ giao tiếp ở chế độ hafl-duplex dựa trên một đường truyền
Ngồi ra USART cịn có thể dùng để tạo các giao tiếp nội (local interconnect bus).
Đây là mơ hình cho phép nhiều vi xử lý trao đổi dữ liệu lẫn nhau. USART cịn có khối
encoder/decoder dùng cho giao tiếp hồng ngoại với tốc độ hỗ trợ có thể đạt đến 115200bps,
hoạt động ở chế độ hafl-duplex NRZ khi xung nhịp hoạt động khoảng từ 1.4MHz cho đến
2.12Mhz. Để thực hiện giao tiếp với smartcard, USART còn hỗ trợ chuẩn ISO 7618-3.

[Nguồn: ]
Hình 2.15. Giao tiếp smartcard và hồng ngoại
Người dùng có thể cấu hình khối USART cho các giao tiếp đồng bộ tốc độ cao dựa
trên 3 đường tín hiệu riêng biệt như SPI. Khi hoạt động ở chế độ này, khối USART sẽ đóng
vai trị là SPI master và có khả năng cấu hình Clock Polarity/Phase nên hồn tồn có thể
giao tiếp với các SPI slave khác.


BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP

18


×