1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

98 274 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 98
Dung lượng 5,13 MB

Nội dung

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 1

i

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 2

Bộ 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 3

iii

Đề 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 4

Nhó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 5

v

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 6

2.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 7

vii

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 8

Hì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 9

ix

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 10

Bả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 11

Tấ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 12

Ngà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 13

Chươ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 15

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 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 16

Chươ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 17

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ó 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 18

Cortex-R: Bộ xử lý dành cho hệ thống đòi hỏi khắc khe về đáp ứng thời gian

thực Hỗ trợ tập lệnh ARM, thumb, và thumb-2

Cortex-M: Bộ xử lý dành cho dòng vi điều khiển, tối ưu về giá thành Hỗ trợ

tập lệnh Thumb-2 Dòng ARM STM32 có lõi Cortex-M

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 19

2.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 22

Ngoà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 23

2.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 25

2.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 26

Hì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 27

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Ệ 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 28

minh 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 30

2.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 32

2.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 34

2.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 35

Mứ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 36

2.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 37

Sau 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 38

1Ch 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 39

Bả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 40

0xEF01 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

Ngày đăng: 21/05/2019, 15:45

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Phan Vân Hoàn (2015), Giáo trình vi xử lý nâng cao – smt32, Trường ĐH Sư Phạm Kỹ Thuật, Tp HCM Sách, tạp chí
Tiêu đề: Giáo trình vi xử lý nâng cao – smt32
Tác giả: Phan Vân Hoàn
Năm: 2015
2. Trần Thị Huệ, Giới thiệu về sinh trắc dấu vân tay, http://www.ischool.vn/tin- tuc/tin-tu-ischool/gioi-thieu-ve-sinh-trac-dau-van-tay_1758.html, 3/10/2018 Sách, tạp chí
Tiêu đề: Giới thiệu về sinh trắc dấu vân tay
3. Internet Of Things, Internet Of Things (IOT) với ESP8266, https://esp8266.vn/introduction/about-iot, 3/10/2018 Sách, tạp chí
Tiêu đề: Internet Of Things (IOT) với ESP8266
4. Nguyễn Đình Phú (2014), Thực hành vi điều khiển – ARM STM32, Trường ĐH Sư Phạm Kỹ Thuật, Tp HCM Sách, tạp chí
Tiêu đề: Thực hành vi điều khiển – ARM STM32
Tác giả: Nguyễn Đình Phú
Năm: 2014
5. WaterPC (2010), Hướng dẫn thiết kế Website, Nhà Xuất bản Văn hóa Thông tin, Hà Nội Sách, tạp chí
Tiêu đề: Hướng dẫn thiết kế Website
Tác giả: WaterPC
Nhà XB: Nhà Xuất bản Văn hóa Thông tin
Năm: 2010
6. Điện tử AHT, Lập trình căn bản ARM Cortex M3 STM32F103, https://dientuaht.blogspot.com/2015/07/tai-lieu-lap-trinh-can-ban-arm-cortex.html,1/10/2018 Sách, tạp chí
Tiêu đề: Lập trình căn bản ARM Cortex M3 STM32F103
7. MaViet, Tìm hiểu về RFID, http://maviet.com.vn/tu-van/cong-nghe-rfid.html, 15/11/2018.Tiếng Anh Sách, tạp chí
Tiêu đề: Tìm hiểu về RFID
1. Alldatasheet.com, Electronic Components Datasheet Search, https://www.alldatasheet.com/, 1/10/2018 Sách, tạp chí
Tiêu đề: Electronic Components Datasheet Search
2. SFG, User Manual of R30X Series Fingerprint Identification Module, www.rhydolabz.com/documents/finger-print-module.pdf, 1/10/2018 Sách, tạp chí
Tiêu đề: User Manual of R30X Series Fingerprint Identification Module
3. Sunrom, Finger Print Sensor (R305), https://www.sunrom.com/p/finger-print-sensor-r305, 10/10/2018 Sách, tạp chí
Tiêu đề: Finger Print Sensor (R305)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w