Đề 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.. 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 để t
Trang 1KHOA ĐIỆN - ĐIỆN TỬ
ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ - TRUYỀN THÔNG
HỆ THỐNG ĐIỂM DANH BẰNG VÂN TAY
ỨNG DỤNG VI ĐIỀU KHIỂN ARM
GVHD: ThS NGUYỄN ĐÌNH PHÚ
SVTH: TRẦN ANH ĐỀ MSSV: 12141058 SVTH: TRẦN SƠN LÀNH MSSV: 12141574
Tp Hồ Chí Minh, tháng 7/2016
S K L 0 0 4 3 4 7
Trang 2Chuyên ngành: Điện Tử Công Nghiệp Mã ngành: D510302
Hệ đào tạo: Đại học chính quy Mã hệ: 1
I TÊN ĐỀ TÀI: “HỆ THỐNG ĐIỂM DANH BẰNG VÂN TAY ỨNG DỤNG VI
ĐIỀU KHIỂN ARM”
II NHIỆM VỤ
1 Các số liệu ban đầu:
Mô hình xử lý dựa trên files Excel mà người dùng đã định dạng theo 1 mẫu sẵn được lưu trữ trong thẻ nhớ SD
2 Nội dung thực hiện:
Thiết kế mô hình máy điểm danh sử dụng vi điều khiển ARM STM32F103VET6 giao tiếp với:
- SD card thông qua chuẩn SPI
- Cảm biến vân tay R305 qua chuẩn USART
- Màn hình TFT 320x240 Qua chuẩn truyền dữ liệu song song (GLCD), SPI (ADS7843)
III NGÀY GIAO NHIỆM VỤ: 23/02/2016
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 06/07/2016
V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: Ths Nguyễn Đình Phú
GVC.THS NGUYỄN ĐÌNH PHÚ
Trang 3Bộ Môn Điện Tử Công Nghiệp
Tp Hồ Chí Minh, ngày 03 tháng 04 năm 2016
Tên đề tài: Hệ Thống Điểm Danh Bằng Vân Tay Ứng Dụng Vi Điều Khiển ARM.
GVC.THS NGUYỄN ĐÌNH PHÚ
Trang 4Nhóm chúng tôi xin cam đoan:
Tất cả các số liệu và dữ liệu ghi chép trong luận văn này đều do nhóm chúng tôi tìm hiểu không có sự sao chép ở bất kì tài liệu có sẵn nào, nếu có chúng tôi sẽ trích dẫn nguồn đầy đủ
Tp Hồ Chí Minh, ngày 08 tháng 07 năm 2016
Nhóm thực hiện đề tài
Trần Anh Đề Trần Sơn Lành
Trang 5Nhóm xin chân thành gửi lời cảm ơn đến quý Thầy Cô khoa Điện-Điện tử, và nhất là quý Thầy Cô thuộc bộ môn Điện Tử Công Nghiệp đã tận tình chỉ dạy những kiến thức cơ bản để nhóm có thể tiến hành và hoàn tất đồ án này
Đặc biệt chúng em gửi lời cảm ơn sâu sắc nhất đến Thầy Nguyễn Đình Phú Thầy đã trực tiếp giảng dạy và tận tình hướng dẫn đồng thời tạo điều kiện tốt nhất cho nhóm trong thời gian thực hiện đồ án
Đồng cảm ơn đến các anh chị, các bạn cùng khóa đã cùng nhau san sẻ giúp đỡ và hợp tác cùng nhau trong quá trình thực hiện để đồ án, để đồ án có thể hoàn thành nhanh nhất và đúng thời gian quy định
Mặc dù trải qua và giải quyết những khó khăn và thử thách nhưng do kiến thức còn hạn chế nên trong đồ án này chúng em còn nhiều thiếu sót về nội dung và hình thức Nhóm chúng em hy vọng quý Thầy Cô thông cảm và tận tình đóng góp ý kiến quý báu để chúng em có thể tiến hành cải tiến những mô hình về sau sao cho toàn diện nhất
Một lần nữa chúng em xin chân thành cảm ơn!
Nhóm thực hiện đề tài
Trần Anh Đề Trần Sơn Lành
Trang 6NHIỆ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 CƠ SỞ LÝ THUYẾT 4
2.1 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
Trang 72.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 TOÁN VÀ THIẾT KẾ 54
3.1 GIỚI THIỆU 54
3.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG 54
3.2.1 Sơ đồ khối 54
3.2.2 Tính toá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ý toàn mạch 62
Chương 4 THI CÔNG HỆ THỐNG 63
4.1 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
Trang 85.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
Trang 9Hì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 khuôn 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 toá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 toà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ơ đồ nguyên lý toàn mạch 62
Hình 4.1 Mạch in lớp Top 63
Trang 10Hình 4.4 Sơ đồ bố trí linh kiện mặt dưới 64
Hình 4.5 Lắp hoà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 quá trình điểm danh tự động 76
Hình 4.17 Lưu đồ và giải thích quá 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 hoà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
Trang 11Bả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
Trang 12Đề 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
Trang 13Chương 1 TỔNG QUAN
1.1 ĐẶ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 quá 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
Trang 141.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 Toá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
Trang 15LCD 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 Toá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 toán để thiết kế mạch điều khiển mô hình Trình bày sơ đồ toà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 độ hoà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 toàn bộ mô hình, đưa ra các hướng phát triển cho sản phẩm sau này
Trang 16Chương 2 CƠ SỞ LÝ THUYẾT
2.1 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: http://www.bdti.com/InsideDSP/2014/09/25/ARM]
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 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,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
Trang 17hợ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
[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 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 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
Kiến trúc Số bit Tên lõi
ARMv1
ARMv2
32/26 32/26
ARM1 ARM2, ARM3
Trang 18[Nguồn: https://en.wikipedia.org/wiki/ARM_architecture]
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
Trang 19Cortex-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
Trang 20[Nguồn: http://iprinceps.egloos.com/tag/Cortex-M3/page/1]
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 ngoà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
Trang 21Vớ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 quá 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
Trang 22Cá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ý):
Trang 23HIS (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 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 = 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]
(4-[Nguồn: www.alldatasheet.com]
Hình 2.6 Cách kết nối nguồn xung 8Mhz cho HSE
Trang 24[Nguồn: http://www.alldatasheet.com]
Hình 2.7 Sơ đồ cây xung Clock
Ngoài ra ARM cũng còn có nguồn xung clock phụ sau:
Trang 25[Nguồn: http://www.alldatasheet.com]
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:
[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
Trang 26đị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 duplex) 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
(full-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:
Trang 27[Nguồn: http://mbedvn.com]
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ộ quá 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: https://en.wikipedia.org]
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:
Trang 28Cấu hình ghép nối 1 thiết bị
[Nguồn: https://en.wikipedia.org]
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)
Trang 29b USART
[Nguồn: http://mbedvn.com]
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
Trang 30[Nguồn: http://mbedvn.com]
Hình 2.14 Hỗ trợ giao tiếp ở chế độ hafl-duplex dựa trên một đường truyền
Ngoà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: http://mbedvn.com]
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 hoàn toàn có thể giao tiếp với các SPI slave khác
Trang 31[Nguồn: http://mbedvn.com]
Hình 2.16 Hỗ trợ giao tiếp đồng bộ SPI
c I2C
Hình 2.17 Giao tiếp I2C
Tương tự như SPI, chuẩn I2C (Inter-Integrated Circuit) 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 đóng vai trò bộ phân xử đường trong hệ thống multi-master Giao diện
I2C hỗ trợ tốc độ truyền chuẩn 20kHz 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 cho truyề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
2.2 CÔNG NGHỆ SINH TRẮC HỌC VÀ CẢM BIẾN VÂN TAY
2.2.1 Giới thiệu công nghệ sinh trắc học
Công nghệ Sinh trắc học (Biometric) - là một công nghệ sử dụng những thuộc tính vật lý hoặc các mẫu hành vi, các đặc điểm sinh học đặc trưng như dấu vân tay, mẫu võng
Trang 32mạc, giọng nói, khuôn mặt, dáng đi, để nhận diện con người Sinh trắc học (biometric)
là một công cụ kiểm tra cá nhân hữu hiệu chưa từng có trong lịch sử
Mỗi người có một đặc điểm sinh học duy nhất Dữ liệu sinh trắc học của từng cá nhân với đặc điểm khuôn mặt, ảnh chụp võng mạc, giọng nói sẽ được kết hợp với nhau bằng phần mềm để tạo ra mật khẩu dành cho những giao dịch điện tử, phương thức đó là "công nghệ sinh trắc đa nhân tố" Sự phát triển của công nghệ đã thay đổi từ việc lăn tay trên mực
và lưu trữ trên giấy sang quét trên máy và lưu trữ kỹ thuật số
[Nguồn: http://www.authorstream.com]
Hình 2.18 Ứng dụng của công nghệ sinh trắc học
2.2.2 Lịch sử công nghệ sinh trắc học
Việc sử dụng dấu vân tay và vân chân để nhận dạng đã được người Trung Quốc làm
từ thế kỉ thứ XIV Khi một đứa trẻ ra đời, người Trung Quốc đã dùng mực bôi đen chân tay
nó và in dấu lên một tờ giấy
Năm 1823, Joannes Evangelista Purkinji tìm thấy mô hình và hình dạng của ngón tay Năm 1880, Henry Faulds và W.J Herschel, trong một công trình công bố tên là
“Nature” đã đề xuất sử dụng vân tay như là phương thức đô ̣c đáo để xác đi ̣nh bản chất của con người
Trang 33Năm 1892, Francis Galton đã chỉ ra rằng: Vân tay của những că ̣p song sinh, anh em
và di truyền cùng dòng máu thì có sự tương đồng, chính điều này đã mở ra ngành nhân ho ̣c Năm 1902, Harris Hawthorne Wilder đã thiết lâ ̣p hê ̣ thống cơ bản của môn hình thái
học, di truyền ho ̣c, và nghiên cứu trên chủng loại lòng bàn tay và vân tay
Năm 1930, Hiệp hội nghiên cứu hình thái sinh lý ho ̣c (viết tắt là SSPP: Society for the Study of Physiological Patterns) bắt đầu công trình nghiên cứ u 5 chủng loa ̣i vân tay và những nét đă ̣c trưng đô ̣c đáo của nó
Năm 1950, giáo sư phẫu thuật não người Canada Dr Penfield đã chỉ ra rằng có sự liên
hệ mất thiết giữa vân tay với não bô
Năm 1958, Noel Jaquin đã nghiên cứu và phát hiê ̣n ra mỗi vân tay sẽ tương ứng với một chủ ng loa ̣i tính cách
Năm 1963, Solton cũng đã xác định rằng nếu có sự bất thường của nhiễm sắc thể thì
tỉ lê ̣ bất thường của dầu vân tay cũng tăng lên
Năm 1981, giáo sư Roger W Sperry và đồng sự đã được vinh danh giải thưởng Nobel trong ngành Y sinh học vì những nghiên cứu về chức năng của não trái và não phải cũng như lý thuyết toàn não Từ đây những nghiên cứu về não bô ̣ không ngừng phát triển Từ những nghiên cứu này đã mở đường cho những phát mình sau này
Năm 1985, Tiến sĩ Chen Yi Mou - Đại học Havard nghiên cứu Sinh trắc vân tay dựa trên Thuyết Đa Thông Minh của Tiến sĩ Howard Gardner
Năm 1994, giáo sư Lin Ruei Bin đã mang khoa ho ̣c Sinh trắc dấu vân tay vào Đài Loan
Năm 2004: Trung tâm IBMBS (Trung tâm Sinh trắc học Xã hội và Hành vi ứng xử quốc tế) đã xuất bản hơn 7000 luận án về Sinh trắc vân tay
Ngày nay, Mỹ, Nhật Bản, Trung Quốc, Đài Loan áp dụng Sinh trắc vân tay đến các lĩnh vực giáo dục, hy vọng sẽ cải thiện chất lượng giảng dạy và nâng cao hiệu quả học tập.[3]
2.2.3 Ứng dụng công nghệ sinh trắc học
Sinh trắc học đã được phát triển trong một thời gian dài Trong những năm gần đây, công nghệ này đã vượt qua các rào cản lớn như chi phí, cách thức vận hành và khả năng truy cập tạo ra khả năng chính xác cao trong giải pháp xác thực Giống như bất kỳ công
Trang 34nghệ bảo mật nào, sinh trắc học không phải giải pháp hoàn hảo Nhưng có một điều chắc chắn, sinh trắc học không còn là một hình ảnh của tương lai mà đang trở nên hiện thực Chúng ta cùng nhau lướt qua các ứng dụng của sinh trắc học đang áp dụng hiện nay:
Dấu vân tay – Fingerprint
[Nguồn: https://www.pond5.com]
Hình 2.19 Sinh trắc học vân tay
Đây là một ứng dụng phổ biến nhất trong công nghệ sinh trắc học Hiện nay cảm biến vân tay có trên hàng loạt các thiết bị di động
Máy quét tĩnh mạch lòng bàn tay - Palm Vein Reader
[Nguồn: www.pcs.com]
Hình 2.20 Sinh trắc học bàn tay
Trang 35Nhận diện khuôn mặt
[Nguồn: https://eforensicsmag.com]
Hình 2.21 Sinh trắc học khuôn mặt Sinh trắc học hành vi - Behavioral Biometrics
[Nguồn: http://www.tutorialspoint.com]
Hình 2.22 Sinh trắc học dựa vào hành vi của người dùng
Trang 36Nhịp tim- Cardiac Rhythm
Trang 372.3 CẢM BIẾN VÂN TAY
Trong các loại của mô hình trắc học có lẽ vân tay là một công nghệ tuy đã có từ lâu đời nhưng chưa bao giờ lỗi thời Với yêu cầu đặt ra của đề tài, nhóm chúng tôi quyết định chọn module cảm biến vân tay R305 để thực hiện mô hình
2.3.1 Giới thiệu cảm biến vân tay
[Nguồn: http://www.sunrom.com]
Hình 2.25 Cảm biến vân tay R305
Module R305 có các đặc điểm như sau:
Nguồn cung cấp từ 3.6-6V Dòng 100mA-150mA
Phương thức giao tiếp UART/USB 1.1
Chế độ so sánh kiểm tra: có 2 chế độ 1:1 và 1: N
Tốc độ Baud: từ 9600-115200bps Mặc định của module là 57600bps
Kích thước tập tin: 256bytes
Thời gian kiểm tra: rất nhanh < 0.5s
Kích thước mỗi mẫu: 512bytes
Khả năng lưu trữ trong flash: 256 mẫu
Mức độ bảo mật: Cấp 5(cao nhất)
Độ sai số cho phép (FAR - False Acceptance Rate): <0.001%
Độ sai số chính xác (FRR - False Reject Rate): <0.1%
Trang 38Thời gian tìm kiếm trung bình (1:1000): <1s
Nguyên lý hoạt động của cảm biến:
Kiểm tra vân tay bao gồm 2 phần: lấy mẫu vân tay và kiểm tra vân tay (1:1, 1: N) Khi lấy mẫu, người dùng cần đặt ngón tay 2 lần Hệ thống sẽ xử lý hình ảnh vân tay
2 lần, sau đó sẽ tạo ra 1 bản chuẩn giữa 2 lần đó và lưu trữ các bản mẫu đó trong bộ nhớ Khi kiểm tra, người dùng vẫn đặt ngón tay vào vị trí của cảm biến quang học, hệ thống
sẽ tạo ra một bản mẫu của ngón tay và so sánh với những mẫu được lưu trữ trong thư viện Đối với kiểu so sánh 1:1, hệ thống sẽ so sánh trực tiếp vân tay với những mẫu được chỉ định trong Module Đối với kiểu so sánh 1: N hay tìm kiếm, hệ thống sẽ quét toàn bộ tất cả những vân tay có trong thư viện vân tay
Trong cả 2 trường hợp, hệ thống sẽ trả về kết quả phù hợp, có hoặc không có vân tay.[4]
2.3.2 Giao tiếp phần cứng
[Nguồn: http://www.8051projects.info]
Hình 2.26 Các ngõ ra giao tiếp của cảm biến R305
Kết nối cảm biến với PC
Truyền thông nối tiếp (P1)
Khi giao tiếp với thiết bị của người dùng J1 trên FG được định nghĩa như sau:
Bảng 2.3 Kết nối phần cứng của R305
Trang 39Số pin Tên Kiểu Mô tả
3 TD in Data output TTL logical level
4 RD out Data input TTL logical level
[Nguồn: http://www.alldatasheet.com] Thông qua giao thức truyền thông nối tiếp, Module cảm biến vân tay sẽ kết nối với MCU ở mức điện áp từ 3.3-5V TD (Pin 3 của P1) kết nối với RXD (cổng nhận dữ liệu của MCU), RD (pin 4 của P1) kết nối với TXD (cổng xuất dữ liệu của MCU) Có thể truyền thẳng lên PC bằng chuẩn giao tiếp RS232
Giao thức truyền thông nối tiếp:
Đó là chế độ truyền thông nối tiếp bán song công không đồng bộ Tốc độ bauds mặc định của FG là 57600bps Người dùng có thể tùy chỉnh tốc độ từ 9600-115200bps
Mẫu khung truyền là 10bits Start bit là bit 0, sau đó là 8 bits dữ liệu truyền theo kiểu LSB, và cuối cùng là stop bit là bit 1 Không có bit kiểm tra
2.3.3 Tài nguyên hệ thống trong cảm biến vân tay
a Lưu ý trước khi bắt đầu
Hệ thống hỗ trợ 512byte memory (16pages* 32bytes) cho người dùng ghi vào, dữ liệu
sẽ được lưu ở đây khi mất nguồn Máy chủ có thể truy cập vào đây khi sử dụng cấu trúc ở phần PS_WriteNotepad và PS_ReadNotepad
Trang 40b Bộ đệm
Đây chính là bộ đệm hình ảnh và có 2 bộ đệm dung lượng 512 bytes kí tự bên trong
bộ nhớ RAM của module Người dùng cần phải tuân theo sự hướng dẫn để có thể đọc và ghi vào bất kì bộ đệm nào nếu muốn
Khi truyền thông qua USB, hình ảnh sẽ là 8 pixel tương đương với 256 độ xám
Character file buffer:
Character file buffer, CharBuffer1, CharBuffer2 có thể được dùng để lưu cả character file và file mẫu
c Thư viện vân tay
Hệ thống thiết lập một không gian nhất định trong Flash để lưu trữ các mẫu vân tay,
đó chính là thư viện vân tay Nội dung trong thư viện sẽ không mất khi mất nguồn
Khả năng lưu của thư viện sẽ thay đổi theo khả năng lưu của Flash, hệ thống sẽ cập nhật tự động Các mẫu vân tay được lưu trữ trong Flash theo thứ tự tuần tự Giả định sức chứa của Flash được N mẫu vân tay thì thứ tự lưu vân tay sẽ là 1…N Người dùng có thể truy cập vào thư viện bằng số thứ tự của mẫu.[4]
d Thống số cấu tạo hệ thống
Khi có yêu cầu thay đổi thông số từ máy tính Đầu tiên hệ thống sẽ phản hồi bằng những cấu hình ban đầu, sau đó sẽ tiến hành sửa đổi các tham số sau đó sẽ ghi lại cấu hình vào Flash Ở lần sử dụng tiếp theo, hệ thống sẽ chạy với cấu hình mới
Điều chỉnh tốc độ Baud: Đây là thông số điều chỉnh mức độ truyền dữ liệu của cảm biến thông qua UART Điều chỉnh qua các giá trị N, N = [1:12] Tốc độ Baud sẽ tương ứng