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

BÁO CÁO BÀI TẬP LỚN THIẾT KẾ TỔNG HỢP HỆ THỐNG Thiết kế thiết bị chấm công bằng phương pháp trắc học nhận dạng vân tay sử dụng esp32

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

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - VIỄN THÔNG

BÁO CÁO BÀI TẬP LỚN
THIẾT KẾ TỔNG HỢP HỆ THỐNG

Thiết kế thiết bị chấm công bằng phương pháp trắc học nhận dạng vân
tay sử dụng esp32


MỤC LỤC
Trang bìa
Nhiệm vụ đồ án
Lịch trình thực hiện đồ án tốt nghiệp
Cam đoan
Lời cảm ơn
Mục mục
Liệt kê hình vẽ
Liệt kê bảng vẽ
Tóm tắt
CHƯƠNG 1: TỔNG QUAN
1.1 Đặt vấn đề
1.2 Mục tiêu
1.3 Nội dung nghiên cứu
1.4 Giới hạn
1.5 Bố cục
CHƯƠNG 2: CƠ SỞ LÍ THUYẾT
2.1 Tổng quan về arduino
2.2 Tổng quan về nhận dạng vân tay
2.3 Giới thiệu về linh kiện
2.3.1 ESP32 DEVKIT V1


2.3.2 Module cảm biến vân tay R305
2.3.3 Màn hình LCD 16x2
2.3.4 Mạch giao tiếp I2C với LCD
2.3.5 Module SD
2.4 Các chuẩn giao tiếp
2.4.1 Chuẩn giao tiếp UART
2.4.2 Chuẩn giao tiếp SPI
2.4.3 Chuẩn giao tiếp I2C
2.4.4 Chuẩn giao tiếp One-wire
Chương 3: TÍNH TỐN VÀ THIẾT KẾ


3.1 GIỚI THIỆU VÀ YÊU CẦU THIẾT KẾ
3.1.1 Yêu cầu phi chức năng
3.1.2 u cầu chức năng
3.1.3
3.1.4
3.2 TÍNH TỐN VÀ THIẾT KẾ HỆ THỐNG
3.2.1 Thiết kế sơ đồ khối hệ thống
3.2.2 Tính tốn và thiết kế mạch
3.2.3 Sơ đồ ngun lí của tồn mạch
CHƯƠNG 4: THIẾT KẾ HỆ THỐNG
4.1 Sơ đồ thuật toán


TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
KHOA ĐIỆN TỬ - VIỄN THƠNG

CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM
ĐỘC LẬP – TỰ DO – HẠNH PHÚC


MÔN THIẾT KẾ TỔNG HỢP HỆ THỐNG
Hà Nội, ngày… tháng …… năm 2021

BÀI TẬP LỚN MÔN THIẾT KẾ TỔNG HỢP HỆ THỐNG

I.
II.

III.
IV.
V.

TÊN ĐỀ TÀI: THIẾT KẾ THIẾT BỊ CHẤM CÔNG BẰNG PHƯƠNG PHÁP TRẮC HỌC
VÂN
TAY SỬ DỤNG ESP32
NHIỆM VỤ
1. Tìm hiểu nghiên cứu cấu tạo, nguyên lí hoạt động, chức năng của các module ESP32, cảm biến
vân tay R305, module SD, module I2C và LCD16x2
2. Tính tốn, thiết kế, xác định mơ hình thi cơng
3. Chạy thử mơ hình hệ thống
4. Test hệ thống
5. Căn chỉnh, chỉnh sửa hệ thống
6. Bảo vệ bài tập lớn
NGÀY GIAO NHIỆM VỤ:
01/04/2021
NGÀY HOÀN THÀNH NHIỆM VỤ:
HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN:
TS.



TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

KHOA ĐIỆN TỬ - VIỄN THÔNG

ĐỘC LẬP – TỰ DO – HẠNH PHÚC

MÔN THIẾT KẾ TỔNG HỢP HỆ THỐNG
Hà Nội, ngày… tháng …… năm 2021

LỊCH TRÌNH THỰC HIỆN
Thời gian bắt đầu/Thời
gian kết thúc

Nội dung nhiệm vụ

Thành Viên thực hiện nhiệm vụ


LỜI CAM ĐOAN
Đề tài này là do nhóm sinh viên nhóm 6 gồm các thành viên: Nguyễn Văn Dũng, Nguyễn Hữu Đức, Trần Xuân
Vũ, Nguyễn Đình Trường tự thực hiện, dựa vào một số tài liệu trước đó và khơng sao chép từ tài liệu hay dự án
nào đã có trước đó.

LỜI CẢM ƠN
Sau q trình tìm hiểu, nghiên cứu và thực hiện bài tập lớn và hoàn thành đúng tiến độ, chúng em xin
chân thành gửi lời cảm ơn sâu sắc nhất đến quý thầy cô đã giúp đỡ cho nhóm em
Chúng em xin cảm ơn đến thầy Hàn Huy Dũng, giảng viên trường Đại Học Bách Khoa Hà Nội đã

hướng dẫn và tạo điều kiện để nhóm có thể thực hiện tốt đề tài của mình.
Và chúng em cũng xin cảm ơn đến các thầy cô trong khoa Điện Tử- Viễn Thông của Trường Đại Học
Bách Khoa Hà Nội đã tận tình dạy dỗ và giảng dạy cho chúng em những kiến thức cơ bản đến nâng cao tạo cho
chúng em một cơ sở kiến thức vững vàng để hoàn thành đề tài này.
Xin chân thành và cảm ơn!


MỤC LỤC


LIỆT KÊ HÌNH VẼ


LIỆT KÊ BẢNG


TÓM TẮT
Ngày nay, với sự phát triển vượt bậc của không học công nghệ, kéo theo các công nghệ nhận dạng sinh
trắc học phát triển. Do tính bảo mật cũng như giá thành không quá đắt nên công nghệ nhận dạng vân tay được
sử dụng rỗng rãi trong đời sống. Cơng nghệ nhận dạng vân tay được tích hợp trong nhiều thiết bị điện tử mang
lại những ứng dụng cần thiết cho nhu cầu của con người. Những ứng dụng hiện hữu của công nghệ nhận dạng
vân tay như quét vân tay để chấm cơng, quản lí cá nhân hay đóng mở cửa,……
Được sự gợi ý từ giáo viên hướng dẫn cũng như mong muốn tìm hiểu các cơng nghệ đang phát triển trên
thế giới. Nên nhóm thực hiện đồ án này với mong muốn chế tạo ra một hệ thống chấm công. Hệ thống quét vân
tay sử dụng kit ESP32 DEVKIT V1.
Hệ thống bao gồm điểm danh nhân viên bằng hệ thống quét vân tay. Quá trình quét vân tay được gửi lên
google sheet nhắm ghi chép thời gian điểm danh của nhân viên gồm ID, MSNV, Name…. Hệ thống cho phép
thêm vân tay ….
Mơ hình sử dụng ESP32 DEVKIT V1 làm vi điều khiển trung tâm dể điều khiển các module mở rộng
như cảm biến vân tay R305, LCD16x2, Module SD,….



CHƯƠNG 1. TỔNG QUAN
1.1 ĐẶT VẤN ĐỀ
Trong thời đại ngày nay, sự phát triển không ngừng của không học kỹ thuật đã giúp cho con
người thuận tiện hơn trong các công việc hàng ngày. Với sự bùng nổ về công nghệ thơng tin, q trình
tồn cầu hóa diễn ra nhanh chóng, sự bảo mật riêng tư thơng tin cá nhân cũng như để nhận biết một
người nào đó trong hàng tỉ người trên trái đất địi hỏi phải có một tiêu chuẩn, hệ thống đảm nhận các
chức năng đó. Cơng nghệ sinh trắc ra đời và đáp ứng được các yêu cầu trên.
Nhiều công nghệ sinh trắc đã và đang được phát triển, một số chúng đang được sử dụng trong
các ứng dụng thực tế và phát huy hiệu quả cao. Các đặc trưng sinh trắc thường được sử dụng là vân tay,
gương mặt, mống mắt, tiếng nói. Mỗi đặc trưng sinh trắc có điểm mạnh và điểm yêu riêng, nên việc sử
dụng đặc trưng sinh trắc cụ thể là tùy thuộc vào yêu cầu của mỗi ứng dụng nhất định. Nhận dạng vân tay
được xem là một trong những kỹ thuật nhận dạng hoàn thiện và đáng tin cậy nhất.
Nhóm sinh viên quyết định thực hiện đề tài “Thiết kế thiết bị chấm công bằng phương pháp trắc
học nhân dạng vân tay sử dụng esp32” nhằm mục đích kiểm sốt tốt hơn trong việc quản lí nhân viên
trong các công ty.
Dấu vân tay của mỗi cá nhân là độc nhất và không thay đổi trong suốt cuộc đời. Vân tay là một
tham số sinh học bất biến theo tuổi tác đặc trưng cho mỗi cá thể. Mạng internet đang ngày càng phát
triển, nhờ có nó mà cuộc sống và công việc của con người càng ngày càng hiện đại hơn. Vì vậy, việc
truyền dữ liệu lên mạng quản lí dữ liệu vân tay bằng internent trở nên tiện lợi, nhanh chóng và chính
xác. Mặt khác, việc phát triển khơng ngừng của vi xử lí đã cho ra đời nhiều loại sản phẩm thơng minh
nhỏ gọn, tích hợp nhiều chức năng cho người dùng dễ sử dụng. Không thể không kể đến ESP32
DEVKIT V1- một sản phẩm được sử dụng trên tồn cầu và có cộng đồng người dùng rất lớn. ESP32
DEVKIT V1 có thể kết hợp với nhiều module khác để tạo nên những ứng dụng thiết thực cho cuộc sống
hiện đại hiện nay. Với những đặc tính trên, nhóm đã quyết định thực hiện mơ hình bao gồm ESP32,
module cảm biến vân tay, màn hình lcd, module i2c lcd, module SD để làm một hệ thống quét vân tay
quản lí nhân viên và gửi dữ liệu lên google sheet điểm danh nhân viên.
1.2. MỤC TIÊU
Tìm hiểu và nghiên cứu về ESP32 DEVKIT V1, module cảm biến vân tay R305, thiết bị điện và

cách kết nối giữa các module để hồn thành mơ hình hồn thiện.
Xây dựng hệ thống quét dấu vân tay để chấm công vân tay và dữ liệu vân tay sẽ được gửi lên
google sheet.
Dữ liệu vân tay, thống kê thời gian ra chấm công, ID, MSNV, Tên Nhân Viên
1.2 NỘI DUNG THỰC HIỆN
 NỘI DUNG 1: Tìm hiểu và nghiên cứu về cấu tạo phần cứng, nguyên lí hoạt động, tính năng của các
ESP32 DEVKIT V1, R305, LCD16x2, module I2C, module SD.
 NỘI DUNG 2:
 NỘI DUNG 3: Các giải pháp thiết
 NỘI DUNG 4:
 NỘI DUNG 5:



CHƯƠNG 2: CƠ SỞ LÍ THUYẾT
2.1 Tổng quan về Arduino
Arduino một nền tảng mã nguồn mở phần cứng và phần mềm. Phần cứng Arduino (các board
mạch vi xử lý) được sinh ra tại thị trấn Ivrea ở Ý, nhằm xây dựng các ứng dụng tương tác với nhau
hoặc với môi trường được thuận lợi hơn. Phần cứng bao gồm một board mạch nguồn mở được thiết kế
trên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARM Atmel 32-bit. Những model hiện tại được trang bị
gồm 1 cổng giao tiếp USB, 6 chân đầu vào analog, 14 chân I/O kỹ thuật số tương thích với nhiều
board mở rộng khác nhau.
Phần cứng và phần mềm Arduino được thiết kế cho các nghệ sĩ, nhà thiết kế, hacker và bất kỳ ai
quan tâm đến việc tạo ra các đối tượng hoặc môi trường tương tác. Arduino có thể tương tác với các
nút, đèn LED, động cơ, loa, đơn vị GPS, máy ảnh, internet và thậm chí cả điện thoại thơng minh hoặc
TV. Sự linh hoạt này cộng với với phần mềm Arduino là miễn phí, các bo mạch phần cứng khá rẻ và cả
phần mềm, phần cứng đều dễ học, nên nó có một cộng đồng người dùng lớn đã đóng góp mã và hướng
dẫn cho một lượng lớn project dựa trên Arduino.

2.2 Tổng quan về nhận dạng vân tay

2.2.1 Sự cần thiết của nhận dạng bằng ảnh sinh trắc
Nhận dạng sinh trắc đề cập đến việc sử dụng các đặc tính hành vi và thể chất có tính chất khác biệt để
nhận dạng một người một cách tự động.
Các đặc trưng sinh trắc không thể dễ dàng bị thay thế, chia sẻ hay giả mạo. Chúng được xem là đáng
tin cậy hơn trong nhận dạng một người so với các phương pháp truyền thống.
Nhận dạng sinh trắc ngày càng cung cấp mức độ an tồn cao hơn, tính hiệu quả trong các dự án thực tế
cũng cao hơn. Công nghệ sinh trắc thường được sử dụng hiện nay là vân tay, gương mặt, mống mắt,
tiếng nói,… Mỗi đặc trưng sinh trắc cụ thể là tùy thuộc vào yêu cầu của mỗi ứng dụng nhất định. Các
đặc trưng sinh trắc có thể được so sánh dựa vào các yếu tố sau: tính phổ biến, tính phân biệt, tính ổn
định, tính thu thập, tính hiệu quả và tính chấp nhận.
Vân tay người dùng (dấu vân tay) được biết đến với tính phân biệt (tính chất cá nhân) và ổn định theo
thời gian là đặc trưng sinh trắc được sử dụng rộng rãi nhất.
2.2.2 Mơ hình hệ thống nhận dạng ảnh vân tay
Hiện nay, khi khoa học vân tay càng phát triển với nhu cầu bảo mật và nhận dạng cá nhân thì nhiều hệ
thống tự động nhận dạng ảnh dấu vân tay đã được quan tâm nghiên cứu rộng rãi và ưungs dụng trợ
giúp con người trong việc phân tích dấu vân tay.
Trong số các mơ hình được cơng bố, mơ hình hệ thống nhận dạng dấu vân tay tự động do cục điều tra
liên bang Mỹ FBI đưa ra vào những năm 70 là một mơ hình khá hồn chỉnh có tên là hệ thống


FINDER. Nó có hiệu quả hơn hẳn các hệ thống xử lý dấu vân tay kiểu quang học, hoặc theo kiểu ngơn
ngữ cú pháp trước đó.

2.3 Giới thiệu về các linh kiện
2.3.1 ESP32 DEVKIT V1

a. Giới thiệu


ESP32 có rất nhiều kit phát triển khác nhau nên các bạn lưu ý bài hướng dẫn này chỉ viết

cho ESP32 DEVKIT V1 – DOIT loại 30 chân, các kit khác tương tự. Trên kit có tổng
cộng 25 chân GPIO tuy nhiên cũng giống với NodeMCU, khi dùng GPIO trên ESP32
DEVKIT cần lưu ý:
 GPIO34, 35, 36, 39 chỉ dùng được chức năng INPUT, không dùng được chức
năng OUTPUT.
 GPIO1, GPIO3: Giống như NodeMCU 2 chân này cũng được nối đến bộ
UART0 và ESP32 Dev Kit cũng nạp code thông qua bộ UART này nên tránh
sử dụng 2 chân này cho chức năng I/O.
 GPIO0, 2, 4, 5, 12, 15 đã được định sẵn mức logic bên trong module ESP32 để
phục vụ quá trình nạp code, nên tránh sử dụng các GPIO này.
Ngoài ra đối với những bạn thiết kế mạch sử dụng module ESP32 rời (module tích hợp
trên ESP32 Dev Kit) thì ngồi lưu ý ở trên cịn lưu ý thêm các chân từ GPIO6 đến
GPIO11. Các chân này dùng để giao tiếp SPI với External Flash nên không thể dùng
được chức năng I/O và trên ESP32 Dev Kit đã ẩn đi các chân này.
Một lưu ý quan trọng khác cho cả NodeMCU và ESP32 Dev Kit là mức điện áp INPUT
tối đa mà các chân GPIO có thể hoạt động được là 3.6V (khác với các board Arduino là
5V) vì vậy nếu tác động mức điện áp lớn hơn 3.6V vào chân INPUT sẽ làm hỏng chân
GPIO.
b. Thông số


Số core

2

Wifi

2.4 GHz 150Mbits/s

Bluetooth


BLE và legacy Blutooth

Kiến trúc

32 bit

Ram

512kb

Tần số Clock

Up to 240Mhz

Pins

30 hoặc 36

Thiết bị ngoại
vi

ADC, DAC, I2C, UART, SPI, RMII, PWM

2.3.2 Module cảm biến vân tay R305
Module Nhận Dạng Vân Tay R305 bao gồm cảm biến vân tay quang học, bộ xử lý DSP tốc độ cao,
thuật toán so sánh vân tay hiệu suất cao, chip FLASH dung lượng lớn, phần mềm và phần cứng khác.

- Module Nhận Dạng Vân Tay R305 có hiệu suất ổn định và cấu trúc đơn giản, có đầu vào vân tay, xử
lý hình ảnh, so sánh vân tay, tìm kiếm và lưu trữ mẫu.

- Ứng dụng vào: Mở khoá xe máy bằng vân tay, mở khoá cửa tự động bằng vân tay.

 Đặc điểm nổi bật:
  ◆ Chức năng giải mã vân tay: thu thập dấu vân tay hoàn chỉnh, đăng ký vân tay, so sánh vân tay (1:
1) và chức năng tìm kiếm dấu vân tay (1: N) một cách độc lập.
  ◆ Kích thước nhỏ: Sản phẩm có kích thước nhỏ và khơng có bảng mạch với chip DSP bên ngồi.
Nó được tích hợp, dễ cài đặt và có ít lỗi hơn.
  ◆ Tiêu thụ điện năng cực thấp: Mức tiêu thụ điện năng chung của sản phẩm cực kỳ thấp, phù hợp
với yêu cầu tiêu thụ điện năng thấp.


  ◆ Khả năng chống tĩnh điện mạnh: Có khả năng chống tĩnh điện mạnh và chỉ số chống tĩnh điện đạt
trên 15KV.
  ◆ Phát triển ứng dụng đơn giản: Nhà phát triển có thể phát triển các sản phẩm ứng dụng vân tay của
riêng mình theo hướng dẫn kiểm sốt được cung cấp mà khơng cần kiến thức nhận dạng dấu vân tay
chun nghiệp.
  ◆ Mức an tồn có thể điều chỉnh: phù hợp với các ứng dụng khác nhau, mức độ an tồn có thể được
điều chỉnh bởi người dùng.

 Thông số kỹ thuật
 Nguồn cấp: 3.6~6VDC
 Giao tiếp: TTL-UART hoặc USB 1.1
 Điện áp cung cấp: DC 3.6 ~ 6.0V
 Nguồn cung hiện tại:
 Dòng điện làm việc: 100mA
 Dòng điện cực đại: 150mA
 Thời gian nhập hình ảnh vân tay: <0,3 giây
 Diện tích cửa sổ: 18x22 mm
 Tệp tính năng: 256 byte
 Tệp mẫu: 512 byte

 Dung lượng lưu trữ: 980 bit
 Cấp độ bảo mật: năm cấp độ (thấp đến cao: 1, 2, 3, 4, 5)
 Tỷ lệ giả (FAR): < 0,001%
 Tỷ lệ loại bỏ (FRR): < 0,1%
 Thời gian tìm kiếm trung bình: < 0,8 giây (1: 880)
 Giao diện máy chủ: UART USB1.1
 Tốc độ truyền thông (UART): (9600 x N) bps trong đó N = 1 ~ 12 (giá trị mặc định N = 6, tức là
57600bps)
 Môi trường làm việc:
 Nhiệt độ: -10°C ~ +40°C
 Độ ẩm tương đối: 40% rh - 85% rh (không ngưng tụ)
 Môi trường lưu trữ:
 Nhiệt độ: -40°C ~ +85°C
 Độ ẩm tương đối: <85% rh (không ngưng tụ)
 Dung lượng vân tay:

Module Nhận Dạng Vân Tay R305 có dung lượng lưu trữ là 980
 Nguyên lý hoạt động


Sơ đồ chân module R305

Chân module R305

 Nguyên lý hoạt động:
 Nguyên lí hoạt động của module cảm biến vân tay cơ bản gồm 2 phần
o Lấy dữ liệu hình ảnh của vân tay
o Kết hợp các dữ liệu để tạo ra mẫu vân tay
=> Lấy dữ liệu hình ảnh của vân tay : Khi lấy dữ liệu ,modul sẽ lấy dữ liệu hình ảnh vân tay 2 lần
thơng qua cảm biến quang học và xử lí 2 hình ảnh này để tạo ra một mẫu

=> Kết hợp các dữ liệu để tạo ra mẫu vân tay : Quá trình này sảy ra sau khi đã có hình ảnh vân tay .Đây
là quá trình kết hợp 2 mẫu hình ảnh vân tay để tạo ra một mẫu .Hệ thống sẽ xử lí để lưu chữ vào thư
viện vân tay của module

 Giao tiếp với vi điều khiển thông qua chuẩn kết nối UART:
R305_RX(Xanh dương) --> MCU_TX ( Nối Tiếp Trở 22R)
R305_TX(Vàng) --> MCU_RX ( Nối Tiếp Trở 22R)
R305_GND(Đen) --> MCU_GND
R305_VCC(Đỏ) --> 4.2V ( Module hoạt động ổn định 4.2V)
 Giao tiếp thông qua UART với tốc độ Baud mặc định là 57600 và có thể cài đặt tốc độ này trong
dải từ 9600 -> 115200
 Khung truyền định dạng 10bit
 Theo đó ,khung truyền gồm 1 bit Start ,8 bit Data với LSBbit là biết đầu tiên ,và 1 bit Stop
 Giao thức truyền gói dữ liệu
Định dạng gói dữ liệu
Header (2byte): 2 byte truyền đầu tiên trong gói dữ liệu .Được mặc định giá trị 0xEF01
Adder (4byte): 4 byte địa chỉ của module .Giá trị mặc định ban đầu là 0xFFFFFFFF
Package identifier(1 byte) : Định dạng loại gói dữ liệu


0x01 : Gói lệnh
0x02 : Gói dữ liệu
0x07 : Gói xác nhận
0x08 : Gói kết thúc dữ liệu
Package length(2 byte): chiều dài gói dữ liệu tính từ Package content đến
Checksum .Đơn vị chiều dài là byte
Package content : Dữ liệu .Có thể là lệnh,dữ liệu,xác nhận
Checksum(2 byte) : Là tổng số học của Package identifier ,Package length ,Package
conten


2.3.3 Màn hình LCD 16x2
2.3.3.1

Giới thiệu:

 Ngày

nay, thiết bị hiển thị LCD (Liquid Crystal Display) được sử dụng trong rất nhiều các
ứng dụng của VĐK. LCD có rất nhiều ưu điểm so với các dạng hiển thị khác: Nó có khả năng
hiển thị kí tự đa dạng, trực quan (chữ, số và kí tự đồ họa), dễ dàng đưa vào mạch ứng dụng theo
nhiều giao thức giao tiếp khác nhau, tốn rất ít tài nguyên hệ thống và giá thành rẽ …
2.3.3.2

Chi tiết

 Hình dáng và kích thước:
Có rất nhiều  loại LCD với nhiều hình dáng và kích thước khác nhau
Đây là loại LCD thơng dụng

Khi sản xuất LCD, nhà sản xuất đã tích hợp chíp điều khiển (VD: HD44780) bên trong
lớp vỏ và chỉ đưa các chân giao tiếp cần thiết.


 Chức năng các chân
Chân Kí hiệu Mơ tả
1

Vss

Chân nối đất cho LCD, khi thiết kế mạch ta nối chân này với GND của mạch

điều khiển

2

VDD

Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối chân này với VCC=5V
của mạch điều khiển

3

VEE

Điều chỉnh độ tương phản của LCD.

4

RS

Chân chọn thanh ghi (Register select). Nối chân RS với logic “0” (GND)
hoặc logic “1” (VCC) để chọn thanh ghi.
+ Logic “0”: Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ
“ghi” - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ “đọc” - read)
+ Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR bên trong LCD.

5

R/W

Chân chọn chế độ đọc/ghi (Read/Write). Nối chân R/W với logic “0” để

LCD hoạt động ở chế độ ghi, hoặc nối với logic “1” để LCD ở chế độ đọc.

6

E

Chân cho phép (Enable). Sau khi các tín hiệu được đặt lên bus DB0-DB7, các
lệnh chỉ được chấp nhận khi có 1 xung cho phép của chân E.
+ Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyển vào(chấp nhận) thanh ghi
bên trong nó khi phát hiện một xung (high-to-low transition) của tín hiệu
chân E.
+ Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phát hiện cạnh
lên (low-to-high transition) ở chân E và được LCD giữ ở bus đến khi nào
chân E xuống mức thấp.

7-14

DB0DB7

Tám đường của bus dữ liệu dùng để trao đổi thơng tin với MPU. Có 2 chế độ
sử dụng 8 đường bus này :
+ Chế độ 8 bit : Dữ liệu được truyền trên cả 8 đường, với bit MSB là bit
DB7.
+ Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ DB4 tới DB7, bit MSB
là DB7


15

-


Nguồn dương cho đèn nền

16

-

GND cho đèn nền

 Ghi chú : Ở chế độ “đọc”, nghĩa là MPU sẽ đọc thơng tin từ LCD thơng qua các chân DBx. 

Cịn khi ở chế độ “ghi”, nghĩa là MPU xuất thông tin điều khiển cho LCD thông qua các
chân DBx. 

 
 Chip điều khiển của LCD 16x2
Sơ đồ khối

 Giao tiếp LCD với MCU
Đặc tính điện của các chân giao tiếp


Chân cấp nguồn (Vcc-GND)

Min:-0.3V , Max+7V

Các chân ngõ vào (DBx,E,
…)

Min:-0.3V , Max:(Vcc+0.3V)


Nhiệt độ hoạt động
Nhiệt độ bảo quản

Min:-30C , Max:+75C
Min:-55C , Max:+125C

2.3.4 Mạch giap tiếp I2C với LCD
2.3.5 Module SD
2.4 Các chuẩn giao tiếp
2.4.1 Chuẩn giao tiếp UART

 Giới thiệu
 UART là “Universal Asynchronous Receiver / Transmitter”, và nó là một vi mạch sẵn có
trong một vi điều khiển nhưng không giống như một giao thức truyền thông (I2C & SPI).
Chức năng chính của UART là truyền dữ liệu nối tiếp. Trong UART, giao tiếp giữa hai
thiết bị có thể được thực hiện theo hai cách là giao tiếp dữ liệu nối tiếp và giao tiếp dữ
liệu song song.

 Sơ đồ khối UART
 Sơ đồ khối UART bao gồm hai thành phần là máy phát và máy thu được hiển thị bên
dưới. Phần máy phát bao gồm ba khối là thanh ghi giữ truyền, thanh ghi dịch chuyển và
logic điều khiển. Tương tự, phần máy thu bao gồm một thanh ghi giữ, thanh ghi thay đổi
và logic điều khiển. Hai phần này thường được cung cấp bởi một bộ tạo tốc độ baud.
Trình tạo này được sử dụng để tạo tốc độ khi phần máy phát và phần máy thu phải truyền
hoặc nhận dữ liệu.


Thanh ghi giữ trong máy phát bao gồm byte dữ liệu được truyền. Các thanh ghi thay đổi
trong máy phát và máy thu di chuyển các bit sang phải hoặc trái cho đến khi một byte dữ

liệu được truyền hoặc nhận. Một logic điều khiển đọc (hoặc) ghi được sử dụng để biết khi
nào nên đọc hoặc viết.




Máy phát tốc độ baud giữa máy phát và máy thu tạo ra tốc độ dao động từ 110 bps đến
230400 bps. Thông thường, tốc độ truyền của vi điều khiển là 9600 đến 115200.

 Truyền thơng UART



Start bit
Start-bit cịn được gọi là bit đồng bộ hóa được đặt trước dữ liệu thực tế. Nói chung, một
đường truyền dữ liệu không hoạt động được điều khiển ở mức điện áp cao. Để bắt đầu








truyền dữ liệu, truyền UART kéo đường dữ liệu từ mức điện áp cao (1) xuống mức điện áp
thấp (0). UART thu được thông báo sự chuyển đổi này từ mức cao sang mức thấp qua đường
dữ liệu cũng như bắt đầu hiểu dữ liệu thực. Nói chung, chỉ có một start-bit.
Bit dừng
Bit dừng được đặt ở phần cuối của gói dữ liệu. Thơng thường, bit này dài 2 bit nhưng thường
chỉ sử dụng 1 bit. Để dừng sóng, UART giữ đường dữ liệu ở mức điện áp cao.

Bit chẵn lẻ
Bit chẵn lẻ cho phép người nhận đảm bảo liệu dữ liệu được thu thập có đúng hay khơng.
Đây là một hệ thống kiểm tra lỗi cấp thấp & bit chẵn lẻ có sẵn trong hai phạm vi như Chẵn
lẻ – chẵn lẻ cũng như Chẵn lẻ – lẻ. Trên thực tế, bit này không được sử dụng rộng rãi nên
không bắt buộc.
Dữ liệu bit và khung dữ liệu
Các bit dữ liệu bao gồm dữ liệu thực được truyền từ người gửi đến người nhận. Độ dài
khung dữ liệu có thể nằm trong khoảng 5 & 8. Nếu bit chẵn lẻ khơng được sử dụng thì chiều
dài khung dữ liệu có thể dài 9 bit. Nói chung, LSB của dữ liệu được truyền trước tiên sau đó
nó rất hữu ích cho việc truyền.

 Ưu điểm nhược điểm
Những ưu và nhược điểm của UART bao gồm những điều sau đây
 Nó chỉ cần hai dây để truyền dữ liệu
 Tín hiệu CLK là khơng cần thiết.
 Nó bao gồm một bit chẵn lẻ để cho phép kiểm tra lỗi
 Sắp xếp gói dữ liệu có thể được sửa đổi vì cả hai mặt được sắp xếp
 Kích thước khung dữ liệu tối đa là 9 bit
 Nó khơng chứa một số hệ thống phụ (hoặc)
 Tốc độ truyền của UART phải ở mức 10% của nhau
2.4.2 Giao thức SPI
 Các chân giao tiếp SPI


SPI (Serial Peripheral Bus) là một chuẩn truyền thông nối tiếp tốc độ cao do hãng Motorola đề
xuất. Đây là kiểu truyền thơng Master-Slave, trong đó có 1 chip Master điều phối q trình
tuyền thơng và các chip Slaves được điều khiển bởi Master vì thế truyền thơng chỉ xảy ra giữa
Master và Slave. SPI là một cách truyền song công (full duplex) nghĩa là tại cùng một thời điểm
q trình truyền và nhận có thể xảy ra đồng thời. SPI đôi khi được gọi là chuẩn truyền thơng “4
dây” vì có 4 đường giao tiếp trong chuẩn này đó là SCK (Serial Clock), MISO (Master Input

Slave Output), MOSI (Master Ouput Slave Input) và SS (Slave Select). Hình 1 thể hiện một kết
SPI giữa một chip Master và 3 chip Slave thông qua 4 đường.



SCK: Xung giữ nhịp cho giao tiếp SPI, vì SPI là chuẩn truyền đồng bộ nên cần 1 đường giữ
nhịp, mỗi nhịp trên chân SCK báo 1 bit dữ liệu đến hoặc đi. Đây là điểm khác biệt với truyền
thông không đồng bộ mà chúng ta đã biết trong chuẩn UART. Sự tồn tại của chân SCK giúp quá


trình truyền ít bị lỗi và vì thế tốc độ truyền của SPI có thể đạt rất cao. Xung nhịp chỉ được tạo ra
bởi chip Master.


MISO – Master Input / Slave Output: nếu là chip Master thì đây là đường Input cịn nếu là
chip Slave thì MISO lại là Output. MISO của Master và các Slaves được nối trực tiếpvới nhau.



MOSI – Master Output / Slave Input: nếu là chip Master thì đây là đường Output cịn nếu là
chip Slave thì MOSI là Input. MOSI của Master và các Slaves được nối trực tiếp với nhau.



SS – Slave Select: SS là đường chọn Slave cần giap tiếp, trên các chip Slave đường SS sẽ ở
mức cao khi không làm việc. Nếu chip Master kéo đường SS của một Slave nào đó xuống mức
thấp thì việc giao tiếp sẽ xảy ra giữa Master và Slave đó. Chỉ có 1 đường SS trên mỗi Slave
nhưng có thể có nhiều đường điều khiển SS trên Master, tùy thuộc vào thiết kế của người dùng.

 Giao diện SPI


Đôi khi chuẩn SPI được sử dụng chỉ để ghi dữ liệu từ Master ra Slaver thì chân MISO sẽ không được
dùng.
 Cơ chế hoạt động
Mỗi chip Master hay Slave có một thanh ghi dữ liệu 8 bits. Cứ mỗi xung nhịp do Master tạo ra trên
đường giữ nhịp SCK, một bit trong thanh ghi dữ liệu của Master được truyền qua Slave trên đường
MOSI, đồng thời một bit trong thanh ghi dữ liệu của chip Slave cũng được truyền qua Master trên
đường MISO. Do 2 gói dữ liệu trên 2 chip được gởi qua lại đồng thời nên q trình truyền dữ liệu này
được gọi là “song cơng”. Hình 2 mơ tả q trình truyền 1 gói dữ liệu thực hiện bởi module SPI trong
AVR, bên trái là chip Master và bên phải là Slave.


Quá trình truyền dữ liệu
 Các chế độ hoạt động
Cực của xung giữ nhịp (Clock Polarity): được gọi tắt là CPOL là khái niệm dùng chỉ trạng thái
của chân SCK ở trạng thái nghỉ. Ở trạng thái nghỉ (Idle), chân SCK có thể được giữ ở mức cao
(CPOL=1) hoặc thấp (CPOL=0).
Phase (CPHA): dùng để chỉ cách mà dữ liệu được lấy mẫu (sample) theo xung giữ nhịp. Dữ liệu
có thể được lấy mẫu ở cạnh lên của SCK (CPHA=0) hoặc cạnh xuống (CPHA=1).
Sự kết hợp của SPOL và CPHA làm nên 4 chế độ hoạt động của SPI. Nhìn chung việc chọn 1 trong 4
chế độ này không ảnh hưởng đến chất lượng truyền thông mà chỉ cốt sao cho có sự tương thích giữa
Master và Slave. Khi giao tiếp vi điều khiển giữa các ic khác các bạn phải chú ý xem ic đó hoạt động ở
chế độ nào mà cấu hình vi điều khiển cho phù hợp
                               CPHA=0

                                    CPHA=1


×