Hồ Chí Minh, ngày 07 tháng 01 năm 2019 Tên đề tài: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG ĐIỂM DANH NHÂN VIÊN SỬ DỤNG VI ĐIỀU KHIỂN ARM Tuần/ngày Nội dung Xác nhận GVHD Lắp ráp các khối chức nă
Trang 1i
KHOA ĐIỆN-ĐIỆN TỬ
Tp.HCM, ngày 07 tháng 01 năm 2019
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Họ tên sinh viên: Trần Thị Linh Đa MSSV: 14141053
Nguyễn Châu Ngân MSSV: 14141207 Chuyên ngành: Điện Tử Công Nghiệp Mã ngành: D510302
I TÊN ĐỀ TÀI:
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG ĐIỂM DANH NHÂN VIÊN
SỬ DỤNG VI ĐIỀU KHIỂN ARM
II NHIỆM VỤ
1 Các số liệu ban đầu:
Kiến thức cơ bản về các môn Mạch điện, Điện tử cơ bản, Điện tử thông tin, Vi xử
lý, C/C# Giáo trình vi điều khiển PIC16F887; Giáo trình thực hành vi điều khiển PIC; Đồ
án môn học 1; Đồ án môn học 2
2 Nội dung thực hiện:
Thiết kế mô hình máy điểm danh nhân viên lưu trữ dữ liệu vào SD_Card Giám sát các thống số và hoạt động trên web server
III NGÀY GIAO NHIỆM VỤ: 22/09/2018
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 07/01/2019
V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: Th.S Nguyễn Ngô Lâm
CÁN BỘ HƯỚNG DẪN BM ĐIỆN TỬ CÔNG NGHIỆP-Y SINH
TH.S NGUYỄN NGÔ LÂM
Trang 2Bộ Môn Điện Tử Công Nghiệp – Y Sinh
Tp Hồ Chí Minh, ngày 07 tháng 01 năm 2019
Tên đề tài: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG ĐIỂM DANH NHÂN VIÊN
SỬ DỤNG VI ĐIỀU KHIỂN ARM
Tuần/ngày Nội dung Xác nhận GVHD
Lắp ráp các khối chức năng vào mô hình
Tiến hành chạy thử nghiệm phần cứng
Kiểm tra lại toàn bộ hệ thống
Tiến hành viết báo cáo cho đề tài
Tuần 20
31/12/2018
Hoàn thiện đề tài
GV HƯỚNG DẪN (Ký và ghi rõ họ và tên)
TH.S NGUYỄN NGÔ LÂM
Trang 3iii
Đề tài này do nhóm chúng tôi thực hiện dựa vào các nguồn tài liệu, giáo trình
đã học và không có sự sao chép từ tài liệu hay công trình có sẵn nào, mọi tài liệu tham khảo đều được nhóm trích dẫn nguồn đầy đủ
Tp Hồ Chí Minh, ngày 07 tháng 01 năm 2019
Nhóm thực hiện đề tài
Trần Thị Linh Đa Nguyễn Châu Ngân
Trang 4Nhóm xin chân thành gửi lời cảm ơn đến quý Thầy Cô khoa Điện – Điện tử, 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 từ cơ bản đến chuyên sâu để nhóm có thể tiến hành thực hiện và hoàn tất
đồ án này
Đặc biệt nhóm chúng em gửi lời cảm ơn sâu sắc nhất đến Thầy Nguyễn Ngô Lâm 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 Thị Linh Đa
Trang 5v
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
LỜI MỞ ĐẦU xii
Chương 1 GIỚI THIỆU YÊU CẦU, GIỚI HẠN ĐỀ TÀI 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 1
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 5
2.1.4 Giới thiệu ARM Cortex M3 6
2.1.5 Giới thiệu dòng chip STM32 7
2.1.6 Giới thiệu về chip STM32F103XXX 7
2.1.7 Kiến trúc chip ARM STM32F103XXX 7
2.1.8 Cấp xung Clock cho STM32 8
2.1.9 Cấu hình BOOT cho STM32 10
2.1.10 Các chuẩn giao tiếp 11
2.1.10.1 SPI 11
2.1.10.2 USART 13
2.1.10.3 I2C 14
2.2 CÔNG NGHỆ RFID 15
2.2.1 Giới thiệu về công nghệ RFID 15
2.2.2 Cấu trúc hệ thống RFID 15
2.2.3 Ứng dụng của công nghệ RFID 15
2.3 MODULE RFID RC522 16
2.3.1 Giới thiệu module RFID RC522 16
2.3.2 Giao tiếp phần cứng 16
2.4 CÔNG NGHỆ SINH TRẮC HỌC VÀ CẢM BIẾN VÂN TAY 17
Trang 62.4.3 Ứng dụng công nghệ sinh trắc học 18
2.5 CẢM BIẾN VÂN TAY 20
2.5.1 Giới thiệu cảm biến vân tay 20
2.5.2 Giao tiếp phần cứng 21
2.5.3 Tài nguyên hệ thống trong cảm biến vân tay 22
2.5.4 Giao thức truyền thông giao tiếp 24
2.5.5 Giới thiệu các tập tin giao tiếp giữa Module và MCU 26
2.6 SD CARD 29
2.6.1 Sơ lược về SD Card 29
2.6.2 Cấu trúc thẻ nhớ SD 29
2.6.3 Cấu trúc file ghi trong thẻ nhớ SD 30
2.6.3.1 Cấu trúc lưu file chung của một thẻ nhớ 30
2.6.3.2 Cấu trúc file của mỗi phân vùng 32
2.7 MÀN HÌNH TFT LCD TOUCH SCREEN 35
2.7.1 Giới thiệu 35
2.7.2 Giao tiếp 36
2.7.3 Khảo sát các vi mạch điều khiển màn hình Touch 37
2.7.3.1 Giới thiệu 37
2.7.3.2 Cấu trúc ADS7843 39
2.7.3.3 Ứng dụng vi mạch ADS7843 39
2.8 MODULE WIFI ESP 8266 39
2.8.1 Giới thiệu 39
2.8.2 Module wifi ESP 8266 Node MCU 40
2.9 CẢM BIẾN THỜI GIAN THỰC RTC DS1307 40
2.9.1 Giới thiệu 40
2.9.2 Thông số kỹ thuật 40
2.10 MẠCH NẠP ST-LINK V2 41
2.10.1 Công dụng 41
2.10.2 Thông số kỹ thuật 41
Chương 3 TÍNH TOÁN VÀ THIẾT KẾ 43
3.1 YÊU CẦU VÀ SƠ ĐỒ KHỐI CỦA HỆ THỐNG 43
3.1.1 Yêu cầu của hệ thống 43
3.1.2 Sơ đồ khối và chức năng mỗi khối 43
3.2 THIẾT KẾ HỆ THỐNG PHẦN CỨNG 44
3.2.1 Khối điều khiển và hiển thị màn hình Touch .44
3.2.2 Khối lưu trữ SD Card 45
3.2.3 Khối RFID 46
3.2.4 Khối thời gian thực 46
3.2.5 Khối cảm biến vân tay 47
3.2.6 Khối Module Wifi 48
3.2.7 Khối xử lý trung tâm 48
3.2.8 Khối nguồn 50
Trang 7vii
4.1 THI CÔNG HỆ THỐNG 52
4.1.1 Thi công mạch in 52
4.1.2 Lắp ráp và kiểm tra 53
4.2 ĐÓNG GÓI THI CÔNG MÔ HÌNH 55
4.3 LẬP TRÌNH HỆ THỐNG 56
4.3.1 Lưu đồ giải thuật 56
4.3.1.1 Chương trình chính 56
4.3.1.2 Chương trình menu chính 57
4.3.3.3 Chương trình điểm danh bằng RFID 58
4.3.3.4 Chương trình điểm danh bằng vân tay 59
4.3.3.5 Chương trình thêm vân tay .60
4.3.2 Phần mềm lập trình 61
Chương 5 KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 66
5.1 KẾT QUẢ 66
5.2 NHẬN XÉT – ĐÁNH GIÁ 73
5.3 GIỚI HẠN 73
Chương 6 KẾT LUẬN - HƯỚNG PHÁT TRIỂN 74
6.1 KẾT LUẬN 74
6.2 HƯỚNG PHÁT TRIỂN 74
TÀI LIỆU THAM KHẢO 75
PHỤ LỤC 1: TÀI LIỆU HƯỚNG DẪN SỬ DỤNG 75
PHỤ LỤC 2: CHƯƠNG TRÌNH ĐIỀU KHIỂN 75
Trang 8Hình 2.2 Kiến trúc của vi xử lý ARM 5
Hình 2.3 Sơ đồ khối ARM Cortex–M3 6
Hình 2.4 Mô tả chân 7
Hình 2.5 Hình ảnh thực tế 7
Hình 2.6 Kiến trúc của ARM STM32F103xxx 8
Hình 2.7 Cách kết nối nguồn xung 8MHz 9
Hình 2.8 Sơ đồ cây xung Clock 9
Hình 2.9 Kết nối nguồn xung cho RTC 10
Hình 2.10 Cấu trúc SPI trong ARM 11
Hình 2.11 Giao thức Master – Slave trong giao tiếp SPI 11
Hình 2.12 Ghép nối một thiết bị 12
Hình 2.13 Ghép nối nhiều thiết bị 12
Hình 2.14 Cấu trúc USART trong ARM 13
Hình 2.15 Hỗ trợ giao tiếp ở chế độ hafl-duplex dựa trên một đường truyền 13
Hình 2.16 Giao tiếp smartcard và hồng ngoại 14
Hình 2.17 Hỗ trợ giao tiếp đồng bộ SPI 14
Hình 2.18 Giao tiếp I2C 14
Hình 2.19 Cấu trúc của một hệ thống RFID 15
Hình 2.20 Module RFID RC522 16
Hình 2.21 Sơ đồ chân của module RFID RC522 16
Hình 2.22 Ứng dụng của công nghệ sinh trắc học 17
Hình 2.23 Sinh trắc học vân tay 18
Hình 2.24 Sinh trắc học bàn tay 18
Hình 2.25 Sinh trắc học khuôn mặt 18
Hình 2.26 Sinh trắc học dựa vào hành vi của con người 19
Hình 2.27 Dựa vào nhịp tim để thanh toán các hóa đơn 19
Hình 2.28 Sinh trắc học mắt Nhận diện võng mạc 19
Hình 2.29 Cảm biến vân tay R305 20
Hình 2.30 Các ngõ ra giao tiếp của cảm biến R305 21
Hình 2.31: Khung dữ liệu truyền đi của cảm biến R305 21
Hình 2.32 Cấu trúc thẻ nhớ SD 29
Hình 2.33 Mô tả kích thước của GLCD 35
Hình 2.34 Hình ảnh thực tế và sơ đồ chân của ADS7843 37
Hình 2.35 Sơ đồ khối IC 7843 39
Hình 2.36 ESP 8266 Node MCU 40
Hình 2.37 RTC DS1307 41
Hình 2.38 Mạch nạp ST_Link V2 42
Hình 3.1 Sơ đồ khối toàn hệ thống 43
Hình 3.2 Sơ đồ kết nối với LCD Touch 44
Hình 3.3 Sơ đồ kết nối SD Card với vi điều khiển 45
Hình 3.4 Sơ đồ kết nối module RFID với vi điều khiển 46
Hình 3.5 Sơ đồ kết nối module RFID với vi điều khiển 46
Hình 3.6 Sơ đồ kết nối cảm biến vân tay với vi điều khiển 47
Hình 3.7 Sơ đồ kết nối module wifi với vi điều khiển 48
Hình 3.8 Sơ đồ Kit phát triển STM32F103VET6 49
Trang 9ix
Hình 4.2 Mạch in lớp Bottom 52
Hình 4.3 Sơ đồ bố trí linh kiện của mạch 53
Hình 4.4 Lắp hoàn tất linh kiện 55
Hình 4.5 Mô hình sau khi hoàn chỉnh 55
Hình 4.6 Lưu đồ chương trình chính 56
Hình 4.7 Lưu đồ chương trình menu chính 57
Hình 4.8 Lưu đồ chương trình điểm danh bằng chế độ RFID 58
Hình 4.9 Lưu đồ chương trình điểm danh bằng chế độ vân tay 59
Hình 4.10 Lưu đồ chương trình thêm vân tay 60
Hình 4.11 Chạy file setup MDK520 61
Hình 4.12 Giao diện cài đặt phần mềm MDK520 61
Hình 4.13 Giao diện cài đặt MDK520 61
Hình 4.14 Chọn nơi lưu file cài đặt MDK 62
Hình 4.15 Quá trình cài đặt đang được thực hiện 62
Hình 4.16 Quá trình cài đặt kết thúc 62
Hình 4.17 Bắt đầu với Keli C 63
Hình 4.18 Tạo 1 Project 63
Hình 4.19 Tạo 1 file tên của Project 63
Hình 4.20 Chọn chip muốn viết chương trình 64
Hình 4.21 Tạo file c để viết chương trình 64
Hình 4.22 Add thêm file c trong thư mục gốc để tiến hành biên dịch 64
Hình 4.23 Biên dịch và kiểm tra lỗi 65
Hình 4.24 Chọn mạch nạp 65
Hình 5.1 Giao diện ban đầu 66
Hình 5.2 Giao diện chọn chế độ RFID ……… 67
Hình 5.3 Thao tác quẹt thẻ RFID……… ……… 67
Hình 5.4 Kết quả điểm danh bằng RFID 67
Hình 5.5 Chế độ điểm danh bằng vân tay 68
Hình 5.6 Thao tác điểm danh bằng vân tay 68
Hình 5.7 Kết quả khi có vân tay ……… 69
Hình 5.8 Kết quả khi không có vân tay 69
Hình 5.9 Giao diện chế độ thêm vân tay 69
Hình 5.10 Lấy vân tay lần đầu 70
Hình 5.11 Xác nhận vân tay 70
Hình 5.12 Kết quả chế độ thêm vân tay 71
Hình 5.13 Giao diện trang chủ 71
Hình 5.14 Giao diện trang đăng nhập 72
Hình 5.15 Giao diện trang dành cho quản lý 72
Hình 5.16 Giao diện trang dành cho nhân viên 72
Trang 10Bảng 2.1 Các chế độ BOOT trong STM32 10
Bảng 2.2 Kết nối phần cứng của 305 21
Bảng 2.3 Thanh ghi trạng thái của Module 23
Bảng 2.4 Định dạng gói dữ liệu truyền và nhận của cảm biến vân tay 24
Bảng 2.5 Ý nghĩa của gói dữ liệu truyền của cảm biến vân tay 24
Bảng 2.6 Mã xác nhận gửi về từng Module khi tiến hành giao tiếp 25
Bảng 2.7 23 mã Introduction code của các gói dữ liệu 26
Bảng 2.8 Các gói dữ liệu tương ưng với từng mã Introduction Code 27
Bảng 2.9 Định dạng gói trả về từ cảm biến về MCU 27
Bảng 2.10 Các mã Confirmation code mở rộng 28
Bảng 2.11 Mô tả chức năng các chân của SD card 30
Bảng 2.12 Các thanh ghi trong thẻ nhớ SD 30
Bảng 2.13 Cấu trúc của một ổ đĩa 30
Bảng 2.14 MBR trong SD card 30
Bảng 2.15 Thông tin của một phân vùng 31
Bảng 2.16 Cấu trúc chung của mỗi phân vùng 32
Bảng 2.17 Thông tin chứa trong 1 Boot secsor 32
Bảng 2.18 Giá trị của các mục nhập trong FAT 34
Bảng 2.19 Cấu trúc của Directory Table 34
Bảng 2.20 Các thông số chính của màn hình LCD 35
Bảng 2.21 Mô tả chức năng các chân của GLCD 36
Bảng 2.22 Chức năng của ADS7843 38
Bảng 3.1 Công suất hệ thống 50
Bảng 4.1 Danh sách linh kiện 53
Trang 11Tất cả các thông tin của nhân viên sau khi xử lý đều được lưu trữ trong thẻ nhớ
SD Đồng thời được đưa lên Server nội bộ của công ty thông qua module wifi ESP8266 để dễ dàng quản lý và truy xuất thời gian vào/ra của nhân viên
Việc quản lý thông tin và quản lý thời gian vào/ra của nhân viên cũng như tính công cho nhân viên do người quản lý thực hiện trên web server lấy thông tin từ hệ thống do chip STM32F103VET6 đảm nhận và thực hiện thông qua các chuẩn giao tiếp
Trang 12Ngày nay, ngành công nghệ kỹ thuật ngày càng phát triển Các máy móc đều được tự động hóa đáp ứng nhu cầu con người và đem lại hiểu quả cao cho các doanh nghiệp trong nhiều lĩnh vực như công nghiệp, nông nghiệp,… Bên cạnh trang thiết bị máy móc hiện đại, nhân lực cũng là một trong những yếu tố quan trọng quyết định đến sự tồn tại và phát triển của các doanh nghiệp
Chính vì nhu cầu nhân lực cao và có nhiều phức tạp nên nhu cầu quản lý đòi hỏi cũng cần phải cải tiến để có thể đáp ứng nhu cầu người dùng một cách tốt nhất Hiện nay, có rất nhiều cách để quản lý nhân sự khác nhau, cụ thể như điểm danh trực tiếp (hình thức này yêu cầu có một người giám sát và phải có danh sách kèm theo bên cạnh, người giám sát thường sẽ gọi tên và đối chiếu với danh sách để kiểm tra Hình thức này mất khá nhiều thời gian, lại không mang tính chuyên nghiệp Bên cạnh đó yêu cầu người quản lý phải có phương pháp xác định người được điểm danh là đúng.), điểm danh bằng hình thức làm bài kiểm tra giấy (hay áp dụng trong trường học (gây mất thời gian và độ chính xác chưa cao), quản lý kiểm sóat bằng hình thức quẹt thẻ RFID (hình thức này khá phổ biến, nhanh, gọn lại có tính chính xác cao, nhưng đòi hỏi người dùng phải mang theo thẻ, nếu khống có thì không thể điểm danh được) hay bằng hình thức quét vân tay (hình thức cũng rất phổ biến trong các doanh nghiệp, công ty hiện nay, chuyên nghiệp, chính xác, yêu cầu người dùng phải them vân tay trước đó, hay được áp dụng chấm công cho nhân viên)
Nhận thấy nhu cầu quản lý thường hay có nhiều hình thức xảy ra như điểm danh chấm công cho nhân viên, hay điểm danh trong trường hợp đột xuất (trong các cuộc họp), kiểm sóat khách tham quan công ty nên nhóm quyết định chọn đề tài
“Thiết kế và thi công hệ thống điểm danh nhân viên sử dụng vi điều khiển Arm” áp
dụng hai phương pháp quẹt thẻ RFID và quét vân tay để có thể điểm danh trong nhiều trường hợp khác nhau
Thông tin người dùng và giờ ra, vào được lưu vào một file excel trong SDcard
và được đưa lên server nội bộ của công ty để dễ dàng quản lý từ xa
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
Bên cạnh đó, nhóm cũng muốn thông qua đề tài để tìm hiểu thêm về ứng dụng của công nghệ vào đời sống đồng thời vận dụng và hiểu sâu hơn về các kiến thức đã được học
Trang 13Chương 1 GIỚI THIỆU YÊU CẦU, GIỚI HẠN ĐỀ TÀI
1.1 ĐẶT VẤN ĐỀ
Công nghệ ngày càng phát triển kéo theo đó là hàng loạt các máy móc thiết bị được các công ty phát triển Song song với sự phát triển của các máy móc, thiết bị thì vi xử lý cùng công nghệ cảm biến cũng tạo ra một cuộc cách mạng đả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 đã tạo ra nhiều ứng dụng giúp ích cho con người
Có thể kể đến dùng làm máy chấm công trong các trường học, công ty, doanh nghiệp
Làm cách nào để có thể 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 là vấn đề lớn nhất của máy chấm công từ trước đến nay Một
sô giải pháp đã được áp dụng hiện nay như sử dụng quét vân tay, quét thẻ,… Tuy nhiên hầu hết các giải pháp này đều sử dụng riêng lẻ
Chính vì vậy để tạo tính mới cho mô hình đã phá phổ biến này, nhóm tiến hành kết hợp công nghệ RFID và quét vân tay vào mô hình điểm danh bằng đề tài:
“THIẾT KẾ VÀ THI CÔNG HỆ THỐNG ĐIỂM DANH NHÂN VIÊN SỬ DỤNG VI
ĐIỀU KHIỂN ARM” kết hợp cả 2 hình thức trên để ứng dụng điểm danh trong công
sở
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, RFID và các ngoại vi khác, kết hợp lại cùng với sự điều khiển của chip và tương tác từ màn hình LCD TOUCH nhằm tạo ra một thiết
bị có khả năng điểm danh bằng cả hai hình thức: quét thẻ,quét vân tay
1.3 NỘI DUNG NGHIÊN CỨU
Tìm hiểu và nắm vững các giao tiếp với Kit STM32F103VET6
Tìm hiểu và giao tiếp được với cảm biến vân tay R305, Module RFID RC522, module thời gian thực DS1307, module Wifi ESP8266 và các ngoại
vi khác với chip STM32F103VET6
Tìm hiểu và thiết kế được hệ thống cơ sở dữ liệu và giao diện Web Server
Thiết kế mô hình máy điểm danh
Tiến hành đưa dữ liệu từ mô hình lên Web Server để quản lý từ xa
Đánh giá kết quả thực hiện mô hình
Trang 14 Cải tiến mô hình nhằm tạo ra sản phẩm thương mại (nếu có thể)
1.4 GIỚI HẠN
Sử dụng 1 cảm biến vân tay R305 và 1 module RFID RC522 để tiến hành điểm danh
Giao tiếp giữa cảm biến vân tay R305 và module RFID RC522 với STM32
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
Sử dụng module thời gian thực DS1307 để lấy thời gian chính xác cho hệ thống
Sử dụng module Wifi ESP8266 để có thể kết nối wifi cho hệ thống, hỗ trợ quá trình truyền nhận giữ liệu giữa web server và STM32
Xử lý việc điểm danh bằng file Excel lưu sẵn trong thẻ nhớ
Tiến hành đưa dữ liệu lên server để dễ dàng quản lý từ xa
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
Trang 15NỘ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 LCD TFT, và các chuẩn giao tiếp, đồng thời tìm hiểu về các công nghệ RFID, công nghệ sinh trắc học vân tay
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
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
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
Bảng 2.1 Các dòng phát triển của ARM
ARMv1
ARMv2
32/26 32/26
ARM1 ARM2, ARM3
Trang 17Trải qua nhiều thế hệ nhưng lõi ARM gần như không thay đổi kích thước ARM2 có 30000 transistors trong khi số lượng transistor của thế hệ ARM6 chỉ tăng lên đến con số 35000
2.1.2 Kiến trúc của ARM
Hình 2.2 Kiến trúc của vi xử lý ARM
2.1.3 Giới thiệu ARM Cortex
Để 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
M1 ARM-Cortex-M3 ARMv7E-
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
Trang 18Cortex-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
2.1.4 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
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 2.3 Sơ đồ khối ARM Cortex–M3
Trang 192.1.5 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.[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
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 vì tốc độ và dung lượng lưu trữ phù hợp với yêu cầu đặt ra, quan trọng nhất là đã được tiếp xúc trong quá trình học tập
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ể
3 khối USART (USART1, USART2, USART3) và 2 khối UART (UART4, UART5)
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
Kiến trúc của chip ARM STM32F103xxx 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
Hình 2.4 Mô tả chân Hình 2.5 Hình ảnh thực tế
Trang 20 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 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 2.6 Kiến trúc của ARM STM32F103xxx
2.1.8 Cấp xung Clock cho STM32
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
Trang 21 LSI (Low Speed Internal) nguồn xung clock tốc độ chậm 40kHz ở bên trong ARM
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 bằng 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 được mô tả bên dưới
Hình 2.7 Cách kết nối nguồn xung 8MHz
Hình 2.8 Sơ đồ cây xung Clock
Trang 22Ngoài ra ARM cũng còn có nguồn xung clock phụ HIS tốc độ tối đa 64Mhz.
Hình 2.9 Kết nối nguồn xung cho RTC
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:
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 Đố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) còn CAN và USB chỉ có thể hoạt động nhờ dao động ngoại HSE khi kết nối với thạch anh 8 MHz, 14,7546MHz hoặc 25MHz
Trang 232.1.10 Các chuẩn giao tiếp
2.1.10.1 SPI
STM32 cung cấp hai khối điều khiển SPI có khả năng chạy ở chế độ song công (full-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ợ trọng số cao (MSB) hay trọng số thấp (LSB)
Chúng ta có thể cấu hình mỗi khối SPI đóng vai trò master hay slave
Hình 2.10 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
Hình 2.11 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 24 Cấu hình ghép nối 1 thiết bị
Hình 2.12 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 252.1.10.2 USART
Hình 2.14 Cấu trúc USART trong ARM
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
Hình 2.15 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
Trang 26Hình 2.16 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
Hình 2.17 Hỗ trợ giao tiếp đồng bộ SPI
2.1.10.3 I2C
Hình 2.18 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
Trang 27400KHz 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Ệ RFID
2.2.1 Giới thiệu về công nghệ RFID
RFID (Radio Frequency Identification) là công nghệ nhận dạng đối tượng bằng sóng vô tuyến Công nghệ này cho phép nhận biết các đối tượng thông qua hệ thống thu phát sóng radio, từ đó có thể giám sát, quản lý hoặc lưu vết từng đối tượng, có nhiều ưu điểm vượt trội so với công nghệ mã vạch Công nghệ mã mạch (line of sight technology) chỉ cho phép nhận dạng đối tượng khi máy đọc cần phải đặt đối tượng ở khoảng cách gần Trong khi đó, với công nghệ RFID có thể xác định đối tượng ở khoảng cách xa từ vài mét cho tới hàng chục mét trong không gian 3 chiều
2.2.2 Cấu trúc hệ thống RFID
Một hệ thống RFID gồm có hai thành phần chính: thẻ RFID (RFID tag) và đầu đọc (reader) Thẻ RFID có gắn chip silicon và ăng–ten radio dùng để gắn vào đối tượng quản lý như sản phẩm, hàng hóa, động vật hoặc ngay cả con người… Thẻ RFID có kích thước rất nhỏ, cỡ vài cm Bộ nhớ của con chip có thể chứa từ 96 đến 512 bit dữ liệu Đầu đọc reader cho phép giao tiếp với thẻ RFID qua sóng radio và truyền
dữ liệu về hệ thống máy tính trung tâm
Hình 2.19 Cấu trúc của một hệ thống RFID
2.2.3 Ứng dụng của công nghệ RFID
Công nghệ RFID được ứng dụng rộng rãi trong nhiều lĩnh vực như: thẻ RFID theo dõi nhiệt độ gắn lên hàng hóa có thể giúp nhà sản xuất theo dõi nhiệt độ trong kho lạnh, sử dụng thẻ RFID cấy vào vật nuôi để nhận dạng nguồn gốc và theo dõi vật nuôi tránh thất lạc và bị đánh cắp,các thẻ RFID được gắn với các cuốn sách giúp giảm thời gian tìm kiếm và kiểm kê, chống được tình trạng ăn trộm sách Một số lĩnh vực có khả năng sử dụng một số lượng lớn các thẻ RFID như thẻ thông minh, chứng
Trang 28minh nhân dân, hộ chiếu điện tử, hàng hóa trong siêu thị, quản lý hành lý trong hàng không, hệ thống giao thông công cộng, các ngành may mặc, giày dép…
2.3.1 Giới thiệu module RFID RC522
Module RFID RC522 sử dụng IC MFRC522 có thể đọc được các loại thẻ có kết nối không dây như NFC, thẻ từ ( loại dùng làm thẻ giảm giá, thẻ xe bus, tàu điện ngầm, )
Hình 2.21 Sơ đồ chân của module RFID RC522
Chức năng của từng chân trong module RFID RC522:
Trang 29 SDA: Kết nối với chân SPI_NSS của vi điều khiển để lựa chọn chip khi giao tiếp SPI (Kích hoạt ở mức thấp)
SCK: Kết nối với chân SPI_NSS của vi điều khiển để tạo xung trong chế độ SPII
MISO: Kết nối với chân SPI_MISO của vi điều khiển có chức năng Master Data Out- Slave In trong chế độ giao tiếp SPI
MOSI: Kết nối với chân SPI_MOSI của vi điều khiển có chức năng Master Data In- Slave Out trong chế độ giao tiếp SPI
IRQ: chân ngắt
GND: kết nối với GND của nguồn
RST: chân Reset module
VCC: kết nối với nguồn 3.3V để cấp nguồn cho module hoạt động
2.4 CÔNG NGHỆ SINH TRẮC HỌC VÀ CẢM BIẾN VÂN TAY
2.4.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 mạ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ử
Hình 2.22 Ứng dụng của công nghệ sinh trắc học
2.4.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
Kể từ đó đến nay đa có rất nhiều trung tâm, giáo sư, tiến sĩ nghiên cứu và công
bố nhiều công trình lớn như Joannes Evangelista Purkinji, giáo sư Lin Ruei Bin, Trung tâm IBMBS,…
Trang 302.4.3 Ứng dụng công nghệ sinh trắc học
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
Hình 2.23 Sinh trắc học vân tay
Hình 2.24 Sinh trắc học bàn tay
Nhận diện khuôn mặt
Hình 2.25 Sinh trắc học khuôn mặt
Trang 31 Sinh trắc học hành vi - Behavioral Biometrics
Hình 2.26 Sinh trắc học dựa vào hành vi của con người
Hình 2.27 Dựa vào nhịp tim để thanh toán các hóa đơn
Hình 2.28 Sinh trắc học mắt Nhận diện võng mạc
Trang 322.5 CẢM BIẾN VÂN TAY
2.5.1 Giới thiệu cảm biến vân tay
Hình 2.29 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: nhỏ hơn 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): nhỏ hơn 0.001%
Độ sai số chính xác (FRR - False Reject Rate): nhỏ hơn 0.1%
Thời gian tìm kiếm trung bình (1:1000): nhỏ hơn 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
Trang 33 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
2.5.2 Giao tiếp phần cứng
Hình 2.30 Các ngõ ra giao tiếp của cảm biến R305
1 Vin Ngõ vào Cấp nguồn
3 TD Ngõ ra Dữ diệu ngõ ra
4 RD Ngõ vào Dữ liệu ngõ vào
Bảng 2.2 Kết nối phần cứng của 305
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
Hình 2.31: Khung dữ liệu truyền đi của cảm biến R305
Khi cấp nguồn, cảm biến vân tay sẽ mất khoảng 500ms để khởi tạo Trong thời gian này cảm biến vân tay không thể thực hiện các lệnh từ máy tính
Trang 342.5.3 Tài nguyên hệ thống trong cảm biến vân tay
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
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
1 byte trước khi được truyền Khi tải lên máy tính 16 độ xám sẽ được mở rộng lên
256 điểm xám Đó là kiểu BITMAP 8bits
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
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 từ 1 đến 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]
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 với công thức 9600*N bps
Trang 35Mức độ an ninh: Thông số điều khiển ngưỡng phù hợp của vân tay khi tìm
kiếm và so sánh Có 5 cấp 1-5 Ở mỗi cấp có 1 mức độ FAR (False Acceptance Rate)
và FRR (False Rejection Rate) khác nhau
Chiều dài gói dữ liệu: Thông số sẽ quyết định chiều dài gói dữ liệu khi được
truyền đi Các giá trị là 0 1 2 3 tương đương với chiều dài 32 64 128 256 bytes
Thanh ghi trạng thái hệ thống
Thanh ghi trang thái hệ thống cho biết tình trạng hoạt động hiện tại của Module Thanh ghi có chiều dài 1 word và có thể được đọc thông qua hàm ReadSysPara
Cấu trúc của thanh ghi:
Bảng 2.3 Thanh ghi trạng thái của Module
Pass: 1bit 1: Tìm vân tay phù hợp 0: Vân tay bị sai
PWD: 1 bit Xác nhận mật khẩu thiết bị
ImgBufStat: 1 bit 1: Bộ đệm hình ảnh chứa vân tay hợp lệ
Mật khẩu module
Mật khẩu Module có chiều dài 4 byte, mặc định là các giá trị: 0FFH, 0FFH, 0FFH, 0FFH Thay đổi mật khẩu bằng hàm SetPwd nếu cần Mật khẩu sẽ được lưu trong Flash và không bị mất khi mất nguồn Có thể bỏ qua quá trình xác minh, mật khẩu là mật khẩu mặc định
Địa chỉ thiết bị
Mỗi Module đều có một địa chỉ xác định Khi giao tiếp với máy tính, mỗi lệnh/dữ liệu được chuyển theo cái gói dữ liệu, chúng bao gồm địa chỉ thiết bị Hệ thống của Module chỉ đáp ứng nếu như địa chỉ trong gói dữ liệu trùng với địa chỉ của thiết bị
Địa chỉ của thiết bị có độ dài là 4bytes Mặc đinh là 0xFFFFFFFF Người dùng có thể thay đổi địa chỉ bằng hàm SetAdder Địa chỉ mới sẽ không bị mất khi mất nguồn
Trang 362.5.4 Giao thức truyền thông giao tiếp
Định dạng gói dữ liệu
Khi giao tiếp, quá trình truyền và nhận các lệnh/giá trị/kết quả được định dạng theo 1 chuẩn như sau:
Định dạng gói dữ liệu:
Bảng 2.4 Định dạng gói dữ liệu truyền và nhận của cảm biến vân tay
Header Adder Package
identifier
Package length
Package content
Checksum
Ý nghĩa gói dữ liệu:
Bảng 2.5 Ý nghĩa của gói dữ liệu truyền của cảm biến vân tay
Header Start 2 bytes Mặc định là 0xEF01, là byte truyền đầu tiên
Adder ADDER 4 bytes
Mặc đinh là 0xFFFFFFFF, có thể thay đổi bằng hàm SetAdder, là byte truyền kế tiếp Nếu địa chỉ thiết bị sai, thiết bị sẽ từ chối truyền
length LENGTH 2 bytes
Chiều dài nội dung gói (gói lệnh và gói dữ liệu) cộng với chiều dài checksum Đơn vị là byte Chiều dài tối đa là 256 bytes Byte cao được truyền đầu tiên
Package
content
DATA - Lệnh, dữ liệu hoặc các thông số của lệnh
Checksum SUM 2 bytes Tổng của PID, LENGTH và các gói dữ liệu đi
kèm, bit tràn được bỏ qua, byte cao truyền trước
Kiểm tra và phản hồi khi nhận dữ liệu
Chú ý: các lệnh này chỉ được gửi từ máy tính tới các Module cảm biến vân tay
Trang 37Sau khi nhận được lệnh, Module sẽ phản hồi tình hình thực hiện lệnh và kết quả để báo cho máy tính là đã nhận được các gói Các gói phản hồi sẽ có các thông
số hoặc các gói kèm theo Máy tính sẽ không thể xác định tình trạng của gói Module nhận được hoặc kết quả thực hiện các lệnh trong tập tin nếu không có các tập tin phản hồi từ Module Gói phản hồi 1 byte gồm mã xác nhận hay có thể kèm theo những thông số trả về cho máy tính
Bảng 2.6 Mã xác nhận gửi về từng Module khi tiến hành giao tiếp
00h Lệnh thực hiện hoàn toàn 0Dh Lỗi khi tải mẫu lên
01h Lỗi khi nhận gói dữ liệu 0Eh Module không thể nhận các
gói kèm theo
02h Không có ngón tay trên cảm
biến
0Fh Lỗi khi tải ảnh lên
03h Không thể lấy mẫu vân tay 10h Không thể xóa các mẫu
06h Không thể tạo file kí tự do
mẫu vân tay không trùng
khớp
11h Không thể xóa thư viện vân
tay
07h Không thể tạo file do thiếu
đối tượng hoặc do vân tay quá
0Ah Không kết hợp các tập tin 19h Không thể xác định lỗi
0Bh Địa chỉ PageID quá lớn 1Ah Số thanh ghi không hợp lệ
0Ch Lỗi khi đọc các mẫu từ thư
viện hoặc các mẫu không hợp
lệ
1Bh Cấu hình thanh ghi không
đúng
Trang 381Ch Sai trang ghi chú 1Dh Các cổng giao tiếp không hoạt
động hoặc hệ thống không thể
sử dụng
2.5.5 Giới thiệu các tập tin giao tiếp giữa Module và MCU
Các phiên bản của R303A cung cấp 23 gói hướng dẫn để giao tiếp
Bảng 2.7 23 mã Introduction code của các gói dữ liệu
2 12H Thiết lập mật khẩu 14 09H Download mẫu
3 15H Tạo địa chỉ thiết bị 15 06H Lưu mẫu
4 0EH Tạo thông số hệ
20 04H Tìm kiếm mẫu trong
thư viện vân tay
23 19H Đọc note pad
Mỗi Introduction code sẽ tương ứng với các gói khác nhau Bảng 2.9 sẽ mô tả các gói tương ứng với mỗi mã Introduction code
Trang 39Bảng 2.8 Các gói dữ liệu tương ưng với từng mã Introduction Code
01H GenImg Lấy mẫu vân tay 0DH Empty Xóa trống thư
03H Match So sánh sự chính
xác giữa 2 mẫu
0FH ReadSysPara Đọc các thông số
hệ thống
04H Search Tìm kiếm thư
viện vân tay
0BH DownImage Download ảnh 1BH HiSpeedSearch Tìm kiếm thư
viện nhanh hơn
0CH DeletChar Xóa các mẫu 1DH TempleteNum Đọc số các mẫu
vân tay
Khi gửi lệnh từ MCU xuống cảm biến, cảm biến phản hồi gói lệnh theo định dạng:
Bảng 2.9 Định dạng gói trả về từ cảm biến về MCU
Header Module
Address
Package indentifier
Package length
Confirmation code
Check sum
Trang 400xEF01 Xxxx 07H xxH xxH Sum Tùy vào độ dài của từng gói mà Package length sẽ có độ dài khác nhau
Từ gói lệnh này người lập trình có thể biết chính xác các thao tác đã được thực hiện đúng hay chưa thông qua 1byte Confirmation code Tùy từng gói mà sẽ có một
mã Confirmation code khác nhau Confirmation code thường gồm từ 2–4 dạng:
Confirmation code = 00H: Báo lệnh được hiện hoàn toàn
Confirmation code = 01H: Báo lỗi khi thực hiện lệnh
Confirmation code = xxH: Tùy vào gói lệnh sẽ có một mã khác nhau Bảng 2.11 mô tả các mã Confirmation code mở rộng của các gói (nếu có)
Bảng 2.10 Các mã Confirmation code mở rộng
1 VfyPwd 13H: sai mật khẩu
2 SetSysPara 1AH: sai thanh ghi
3 Control 1DH: không mở được port giao tiếp
4 GenImg 02H: không thấy ngón tay lấy mẫu
03H: lỗi khi lấy mẫu
5 UpImage 0FH: không truyền lên được các gói kèm theo
6 DownImage 0EH: không tải về được các gói kèm theo
15H: không thể tạo được ảnh cho các điểm ảnh chính
8 RegModel 0AH: không thể kết hợp các file kí tự Các file kí tự không
cùng 1 ngón tay được lấy mẫu
9 UpChar 0DH: lỗi khi uploading mẫu
10 DownChar 0EH: lỗi khi nhận các gói kèm theo
11 Store 0BH: địa chỉ PageID vượt quá giới hạn của thư viện
18H: lỗi khi viết vào bộ nhớ Flash