Tải bản đầy đủ (.docx) (36 trang)

Bài tập lớn môn thiết kế ngoại vi và kĩ thuật ghép nối (8)

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.99 MB, 36 trang )

1 Thiết kế
ngoại vi và kỹ thuật ghép
nối – Bài tập lớn kết thúc
mơn học

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
KHOA KĨ THUẬT ĐIỆN TỬ 1

BÁO CÁO BÀI TẬP
Mơn học: Thiết kế ngoại vi và kỹ thuật ghép nối
Chuẩn Giao Tiếp USB
Hệ Thống Vườn Thơng Minh
Giảng viên
Nhóm mơn học
Nhóm bài tập lớn
Lớp
Sinh viên thực hiện

:
:
:
:
:

Trần Thúy Hà
02
12
D18-093
Dương Quang Huy
Nguyễn Hải Dân
Phạm Minh Tuấn


Nguyễn Phi Nam

B18DCDT095
B18DCDT027
B18DCDT225
B18DCDT167

Hà Nội - 2022

NHÓM 12

1


2 Thiết kế
ngoại vi và kỹ thuật ghép
nối – Bài tập lớn kết thúc
môn học

Mục lục

MỞ ĐẦU
Trong kỹ thuật hiện đại ngày nay, các hệ thống tự động hóa đơn giản, nhỏ gọn
hoạt động ổn định là hết sức cần thiết.
Hiện nay, các hệ thống tự động hóa ngày cảng được sử dụng rộng rãi ví dụ như
một hệ thống vườn thông minh. Các hệ thống này cũng áp dụng các giao thức kết nối
để truyền tải dữ liệu từ phần cứng hiện thị lên phần mềm, web socket, web server cho
phép người dùng dễ dàng quan sát và theo dõi từ xa. Cấu trúc của hệ thống vốn không
phức tạp nhưng vấn đề điều khiển tử động và quan sát dữ liệu đình kỳ, bảo đảm hoạt
động ổn định ln là mục tiêu của các cơng trình nghiên cứu.

Chúng em xin chân thành cảm ơn cô giáo Trần Thúy Hà đã tận tình quan tâm
hướng dẫn chúng em trong suốt thời gian qua. Do còn việc hạn chế về trình độ ngoại
ngữ, chun mơn và thiếu kinh nghiệm làm bài nên đồ án của chúng em còn nhiều
khiếm khuyết, sai sót. Chúng em mong nhận được nhiều ý kiến đóng góp cũng như
những lời khun hữu ích từ các thầy, cơ để có thể thấy rõ những điều cần nghiên cứu
bổ sung, giúp cho việc xây dựng đề tài đạt đến kết quả hồn thiện hơn.

NHĨM 12

2


3 Thiết kế
ngoại vi và kỹ thuật ghép
nối – Bài tập lớn kết thúc
môn học

Phần I: Chuẩn giao tiếp USB
1) Giới thiệu chung:
- USB (Universal Serial Bus) là hình thức giao tiếp hữu dụng
với tính năng Plug and Play.
- Ra đời từ năm 1996, là kết quả của sự hợp tác của 7 công ty
hàng đầu thế giới: Compaq, Digital Equipment Corporation,
IBM, Intel, Microsoft, NEC và Northern Telecom.
- USB tạo cơ hội cho các thiết bị giao tiếp tốc độ cao: digital camera, multimedia
device, telephone device, USB disk,….

Hình 1.1: Các thiết bị giao tiếp bằng chuẩn USB
2) Mục tiêu:
* Dễ sử dụng:

- Plug and Play: tính năng cho phép người sử dụng khơng cần tắt máy để
cài đặt cấu hình như interrup t, dipswitch, …
- Bộ điều khiển USB tự phát hiện và nhận biết khi thiết bị được kết nối
hoặc ngắt kết nối.
* Hỗ trợ truyền dữ liệu thời gian thực:
- Ứng dụng này cho phép giao tiếp với các thiết bị multimedia để truyền tín
hiệu âm thanh hoặc hình ảnh.
* Mở rộng Port:
- USB cung cấp 1 giải pháp mở rộng port cho phép tối đa 127 thiết bị kết
nối cùng lúc với 1 PC
- Với tốc độ kết nối mở rộng lên đến 12Mbps, nhưng mục tiêu của USB là
dành cho các thiết bị tốc độ thấp và trung bình như: keyboard, mice,
modem,
scanner, …
NHĨM 12

3


4 Thiết kế
ngoại vi và kỹ thuật ghép
nối – Bài tập lớn kết thúc
môn học

* Các chuẩn giao tiếp:
- USB 1.1
- USB 2.0
- USB 3.0
- USB 3.1
3) Phân loại và thơng số:

* Có 2 loại thơng dụng: loại A và loại B
- Loại A: thường dùng kết nối upstream (trên PC).
- Loại B: thường dùng kết nối downstream (trên thiết bị).

Hình 1.2: Các kiểu port kết nối USB
- Tín hiệu logic trên USB: sử dụng mã NRZI
• Logic ‘1’: D+ > 2.8V, D- < 0.3V
• Logic ‘0’ D+ < 0.3V, D- > 2.8V
- Trở kháng đường dây: 90 W

Hình 1.3: Đặc điểm các pin của port kết nối USB
* Tốc độ kết nối USB:
- Để báo tốc độ sẽ kết nối thiết bị USB phải có điện trở 1.5k kéo lên nguồn
ở ngõ D+ hoặc D-.
- Điện trở kéo lên này cũng dùng để host biết sự hiện hữu của thiết bị.
- Để chọn tốc độ Full speed (12MBit/s), điện trở 1.5k được kéo lên 3.3V ở
ngõ D+.

NHÓM 12

4


5 Thiết kế
ngoại vi và kỹ thuật ghép
nối – Bài tập lớn kết thúc
mơn học

Hình 1.4: Chế độ Full Speed Device
- Để chọn tốc độ Low speed (1.5Mbit/s), điện trở 1.5k được kéo lên 3.3V ở

ngõ D-.
- Một số thiết bị có điện trở được xây dựng mạch bán dẫn, có thể điều
khiển bằng firmware.

Hình 1.5: Chế độ Low Speed Device
* Nguồn điện cung cấp:
- Một lợi điểm quan trọng của thiết bị USB là không cần nguồn cấp điện
bên ngồi mà được cấp từ host.
- Thiết bị USB có 3 chế độ nguồn:
• Low power: dịng cung cấp 100mA, điện áp trong khoảng 4.4V 5.25V.
NHÓM 12

5


6 Thiết kế
ngoại vi và kỹ thuật ghép
nối – Bài tập lớn kết thúc
mơn học

• High power: dịng cung cấp tối đa 500mA, điện áp bus từ
4.75V-5.25V.
• Self power: thiết bị được cấp nguồn từ bên ngoài.
4) Cách thức hoạt động:
- Việc truyền dữ liệu cổng USB luôn được khởi động từ host.

* Các kiểu truyền dữ liệu:
- Control transfer:
• Truyền 2 hướng.
• Hỗ trợ cài đặt, truyền thơng tin giữa host và function.

• Gồm 3 giai đoạn: setup, data, status.
• Mục đích truyền thơng tin khi thiết bị bắt đầu kết nối với host.
- Isochronous transfer:
• Truyền 1 hướng hoặc 2 hướng.
• Mục đích truyền dữ liệu với tốc độ cố định, bỏ qua lỗi.
• Ví dụ: truyền voice qua USB.
- Interrupt transfer:
• Chỉ truyền 1 hướng đi vào host.
• Mục đích truyền dữ liệu nhỏ, khơng liên tục.
• Ví dụ: thiết bị sử dụng interrupt như keyboard, mouse.
- Bulk transfer:
• Truyền 1 hướng hoặc 2 hướng.
• Mục đích truyền dữ liệu lớn, chính xác, khơng khắc khe về thời gian.
• Ví dụ: scanner, printer, USB disk.
* Dữ liệu truyền đi gồm 5 loại gói (packet)
- Token packet: báo mode truyền.
NHÓM 12

6


7 Thiết kế
ngoại vi và kỹ thuật ghép
nối – Bài tập lớn kết thúc
môn học

- Start of Frame packet: chỉ thị bắt đầu 1 khung mới.
- Data packet: chứa dữ liệu được truyền đi.
- Handshake packet: dùng để xác nhận dữ liệu và báo lỗi.
- Special packet: dùng để báo tốc độ mà host muốn truyền.


Hình 1.6: Cấu trúc chung các gói dữ liệu
Token packet:

Hình 1.7: Cấu trúc gói Token
Gói được chỉ được gửi đi bởi host. Cấu trúc gói gồm 1 byte PID – byte định
danh, 11 byte địa chỉ và 5 bit CRC. Các loại gói token gồm:
• In: Gói này thơng báo cho thiết bị USB mà máy chủ lưu trữ muốn đọc thơng tin.
• Out: Gói này thông báo cho thiết bị USB mà máy chủ lưu trữ muốn ghi thơng
tin.
NHĨM 12

7


8 Thiết kế
ngoại vi và kỹ thuật ghép
nối – Bài tập lớn kết thúc
mơn học

• Setup: Gói này được sử dụng để bắt đầu chuyển điều khiển.
• Ping: rước khi gửi cặp gói OUT / DATA, mã thơng báo này hỏi
thiết bị USB xem nó đã sẵn sàng để nhận cặp gói OUT / DATA
chưa (chỉ với USB 2.0).
• Split: Gói này được sử dụng để giao tiếp với thiết bị tốc độ thấp /
tốc độ cao trên tốc độ bus cao(chỉ với USB 2.0).

Data packet:

Hình 1.8: Cấu trúc gói Data

Có hai loại gói Data là Data0 và Data1. Cấu trúc gói gồm 1 byte PID, trường dữ
liệu và 16 bit CRC. Trường dữ liệu có thể mang từ 0-1023 bytes dữ liệu, ln được gửi
ở dạng đa byte.
• Đối với các thiết bị tốc độ thấp, trường dữ liệu tối đa là 8byte.
• Đối với các thiết bị tốc độ cao, trường dữ liệu tối đa là 1023byte.
• Đối với các thiết bị tốc độ cao, trường dữ liệu tối đa là 1024byte.
• Đối với các chuẩn USB mới hơn 2.0, hai kiểu loại gói Data là Data2 và MData,
được dùng trong kiểu truyền Isochronous khi ta truyền gói dữ liệu lớn hơn 1024
byte ở tốc độ 8192 kB/s.
Handsake packet:

Hình 1.9: Cấu trúc gói Handsake
Gói này được dùng để đáp ứng, trả lời lại gói Data. Cấu trúc gói đơn giản chỉ
gồm 1 byte PID. Các loại gói handsake:
• ACK: Xác nhận cho gói đã nhận.
• NAK: Chỉ ra rằng các gói tin tạm thời khơng thể được nhận hoặc gửi. Cũng
được sử dụng để chỉ ra rằng không có dữ liệu để gửi.
• STALL: Cho biết thiết bị đang ở trạng thái lỗi và cần sự can thiệp của máy chủ.
• NYET: cho biết Split vẫn chưa hồn tất (Chỉ với USB 2.0).
NHÓM 12

8


9 Thiết kế
ngoại vi và kỹ thuật ghép
nối – Bài tập lớn kết thúc
mơn học

• ERR: cho biết Split khơng thành cơng (Chỉ với USB 2.0).

Start of Frame packets:

Hình 1.10: Cấu trúc gói Start of Frame
Gói này bao gồm số khung 11 bit tăng dần. Với chế độ full speed bus, gói tín
được gửi đi bởi host mỗi 1ms và ở chế độ bus cao mỗi 125 us. Gói này được sử dụng
để đồng bộ hóa với kiểu truyền Isochronous.
5) Ưu và nhược điểm:
* Ưu điểm:
- Hỗ trợ trao đổi nóng: Nó có nghĩa là khi người dùng sử dụng thiết bị bên ngồi,
người dùng khơng cần phải tắt máy ảnh và sau đó bật máy tính,… chỉ cần cắm trực
tiếp USB vào sử dụng khi máy tính đang hoạt động.
- Tiêu chuẩn được thống nhất: Thường được sử dụng là đĩa cứng của giao diện IDE,
chuột và bàn phím của cổng nối tiếp và máy quét máy in của cổng song song. Tuy
nhiên, với USB, các thiết bị ngoại vi ứng dụng này có thể được kết nối với máy tính cá
nhân với cùng một tiêu chuẩn.
- Nhiều thiết bị có thể được kết nối: USB thường có nhiều giao diện trên máy tính cá
nhân. Nó có thể kết nối nhiều thiết bị cùng một lúc, kết nối thiết bị nhà của bạn với
một máy tính cá nhân cùng lúc mà khơng gặp bất kỳ sự cố nào (có thể kết nối tối đa
127 thiết bị)
* Nhược điểm:
- Nhược điểm lớn nhất đối với USB là không gian lưu trữ. USB tỏa sáng khi cần mang
theo các file nhỏ như ảnh và văn bản, nhưng nếu muốn nhiều thứ hơn thì bạn sẽ phải
thất vọng.
- USB xuất hiện ở dung lượng 256GB và các tùy chọn 512GB có thể khó tìm. Những
USB này có giá khá cao nên khơng phải là lựa chọn lý tưởng đối với nhiều người.
6) Một số ứng dụng:
- Các thiết bị hoặc phương thức hỗ trợ giao tiếp USB.
- Chuột, Bàn phím, Máy in, Máy quét, Xbox one, Camera hành trình, Màn hình,…
- Modem giao tiếp thông qua USB thay cho cổng RJ-45 thông thường, thường thấy ở
các modem ADSL hiện nay.

NHÓM 12

9


10 Thiết kế
ngoại vi và kỹ thuật ghép
nối – Bài tập lớn kết thúc
môn học

- Điện thoại VoIP: Điện thoại gọi thông qua Internet.
- Kết nối với những thiết bị lưu trữ mở rộng như: ổ Zip, ổ cứng gắn ngoài,
ổ quang gắn ngoài, Ổ USB...
- Các bộ điều hợp sử dụng chuẩn giao tiếp USB: Hồng ngoại, Bluetooth,
Wi-Fi...

- Các bộ chuyển đổi cổng: USB thành RS-232; USB thành PS/2; USB
thành cổng Print truyền thống...
- Các thiết bị nghiên cứu khoa học sử dụng giao tiếp USB để kết nối với máy tính.

Hình 1.11: Các kiểu loại port USB

NHĨM 12 10


11 Thiết kế
ngoại vi và kỹ thuật ghép
nối – Bài tập lớn kết thúc
môn học


-

Phần II: Hệ thống vườn thông minh
I. Cơ sở lý thuyết:
1) Vi điều khiển ESP32
Board mạch thu phát ESP32 là một hệ thống vi điều khiển trên chip (SoC) giá
rẻ của Espressif Systems, nhà phát triển của ESP8266 SoC. Nó là sự kế thừa
của SoC ESP8266 và có cả hai biến thể lõi đơn và lõi kép của bộ vi xử lý 32-bit
Xtensa LX6 của Tensilica với Wi-Fi và Bluetooth tích hợp, được dùng nhiều
cho các thiết bị IoT, các ứng dụng cần kết nối mạng wifi.

Hình 2.1: ESP32 NodeMCU
-

Sơ đồ chân:

NHĨM 12

11


12 Thiết kế
ngoại vi và kỹ thuật ghép
nối – Bài tập lớn kết thúc
mơn học

Hình 2.2: Sơ đơ chân ESP32
2) Soil Moisture Sensor
- Cảm biến độ ẩm đất Soil Moisture Sensor thường được sử dụng trong các mơ hình
tưới nước tự động, vườn thông minh,..., cảm biến giúp xác định độ ẩm của đất qua

đầu dò và trả về giá trị Analog, Digital qua 2 chân tương ứng để giao tiếp với vi
điều khiển để thực hiện vô số các ứng dụng khác nhau.

Hình 2.3: Cảm biến độ ẩm đất
- Thơng số kỹ thuật:
• Điện áp hoạt động: 3.3~5VDC
• Tín hiệu đầu ra:
o Analog: theo điện áp cấp nguồn tương ứng.
NHÓM 12 12


13 Thiết kế
ngoại vi và kỹ thuật ghép
nối – Bài tập lớn kết thúc
mơn học

Digital: High hoặc Low, có thể điều chỉnh độ ẩm mong
muốn bằng biến trở thông qua mạch so sánh LM393 tích
hợp.
• Kích thước: 3 x 1.6cm.
- Sơ đồ chân:
Tên chân
Chức năng
o

VCC

3.3V ~ 5V

GND


Chân đất

DO
AO

Đầu ra tín hiệu số mức
high or low
Đầu ra tín hiệu tương tự

Hình 2.4: Sơ đồ chân cắm với vi điều khiển
3) Cảm biến ánh sáng BH1750
- Mạch cảm biến cường độ ánh sáng BH1750 là cảm biến ánh sáng với bộ chuyển
đổi AD 16 bit tích hợp trong chip và có thể xuất ra trực tiếp dữ liệu theo dạng
digital. Cảm biến khơng cần bộ tính tốn cường độ ánh sáng khác.
- BH1750 sử dụng đơn giản và chính xác hơn nhiều lần so với dùng cảm biến
quang trở để đo cường độ ánh sáng với dữ liệu thay đổi trên điện áp dẫn đến việc
sai số cao.Với cảm biến BH1750 cho dữ liệu đo ra trực tiếp với dạng đơn vị là LUX
khơng cần phải tính tốn chuyển đổi thơng qua chuẩn truyền I2C.

NHÓM 12 13


14 Thiết kế
ngoại vi và kỹ thuật ghép
nối – Bài tập lớn kết thúc
mơn học

Hình 2.5: Cảm biến ánh sáng BH1750
- Thơng số kỹ thuật:










Chuẩn kết nối i2C
Độ phân giải cao(1 - 65535 lx )
Tiêu hao nguồn ít.
Khả năng chống nhiễu sáng ở tần số 50 Hz/60 Hz
Sự biến đổi ánh sáng nhỏ (+/- 20%)
Độ ảnh hưởng bởi ánh sáng hồng ngoại rất nhỏ
Nguồn cung cấp : 3.3V-5V
Kích thước board : 0.85*0.63*0.13"(21*16*3.3mm)

- Cường độ được tính như sau:






Ban đêm: 0.001 - 0.02 lx.
Trời sáng trăng: 0.02 - 0.3 lx
Trời mây trong nhà: 5 - 50 lx.
Trời mây ngoài trời: 50 - 500 lx.
Trời nắng trong nhà: 100- 1000 lx.


- Sơ đồ chân:
Tên chân

Chức năng

VCC

Chân cấp nguồn từ 3.3V ~ 5V

GND

Chân đất

SCL

Chân xung clock cấp xung nhịp cho
giao thức I2C
Chân truyền dữ liệu giao thức I2C

SDA

NHÓM 12 14


15 Thiết kế
ngoại vi và kỹ thuật ghép
nối – Bài tập lớn kết thúc
môn học


ADDR

Chân địa chỉ chọn địa chỉ thiết bị giao
tiếp khi có nhiều hơn hai module kết
nối

Hình 2.6: Sơ đồ cắm chân BH1750 với vi điều khiển
- Chuẩn giao tiếp I2C:
I2C kết hợp các tính năng tốt nhất của SPI và UART. Với I2C, bạn có thể kết
nối nhiều slave với một master duy nhất (như SPI) và bạn có thể có nhiều master điều
khiển một hoặc nhiều slave.

Hình 2.7: Giao tiếp I2C
SDA (Serial Data) - đường truyền cho master và slave để gửi và nhận dữ liệu.
SCL (Serial Clock) - đường mang tín hiệu xung nhịp.
Cách hoạt động:

Hình 2.8: Chu trình truyền dữ liệu
• Điều kiện khởi động: Đường SDA chuyển từ mức điện áp cao xuống mức điện
áp thấp trước khi đường SCL chuyển từ mức cao xuống mức thấp.
• Điều kiện dừng: Đường SDA chuyển từ mức điện áp thấp sang mức điện áp cao
sau khi đường SCL chuyển từ mức thấp lên mức cao.
NHÓM 12 15


16 Thiết kế
ngoại vi và kỹ thuật ghép
nối – Bài tập lớn kết thúc
mơn học




Khung địa chỉ: Một chuỗi 7 hoặc 10 bit duy nhất cho mỗi slave để
xác định slave khi master muốn giao tiếp với nó.

Hình 2.9: Khung địa chỉ
• Bit Đọc / Ghi: Một bit duy nhất chỉ định master đang gửi dữ liệu đến slave
(mức điện áp thấp) hay yêu cầu dữ liệu từ nó (mức điện áp cao).
• Bit ACK / NACK: Mỗi khung trong một tin nhắn được theo sau bởi một bit xác
nhận / không xác nhận. Nếu một khung địa chỉ hoặc khung dữ liệu được nhận
thành công, một bit ACK sẽ được trả lại cho thiết bị gửi từ thiết bị nhận.
• Các bước truyền dữ liệu I2C:
• Master gửi điều kiện khởi động đến mọi slave được kết nối bằng cách
chuyển đường SDA từ mức điện áp cao sang mức điện áp thấp trước khi
chuyển đường SCL từ mức cao xuống mức thấp.


Master gửi cho mỗi slave địa chỉ 7 hoặc 10 bit của slave mà nó muốn
giao tiếp, cùng với bit đọc / ghi.



Mỗi slave sẽ so sánh địa chỉ được gửi từ master với địa chỉ của chính nó.
Nếu địa chỉ trùng khớp, slave sẽ trả về một bit ACK bằng cách kéo dòng
SDA xuống thấp cho một bit. Nếu địa chỉ từ master không khớp với địa
chỉ của slave, slave rời khỏi đường SDA cao.



Master gửi hoặc nhận khung dữ liệu.




Sau khi mỗi khung dữ liệu được chuyển, thiết bị nhận trả về một bit
ACK khác cho thiết bị gửi để xác nhận đã nhận thành công khung.



Để dừng truyền dữ liệu, master gửi điều kiện dừng đến slave bằng cách
chuyển đổi mức cao SCL trước khi chuyển mức cao SDA.

4) Cảm biến DHT11
- Cảm Biến Nhiệt Độ Và Độ Ẩm DHT11 là cảm biến rất thông dụng hiện nay vì chi
phí rẻ và rất dễ lấy dữ liệu thông qua giao tiếp 1 wire (giao tiếp digital 1 dây truyền dữ
liệu duy nhất). Bộ tiền xử lý tín hiệu tích hợp trong cảm biến giúp bạn có được dữ liệu
chính xác mà khơng phải qua bất kỳ tính tốn nào.
NHĨM 12 16


17 Thiết kế
ngoại vi và kỹ thuật ghép
nối – Bài tập lớn kết thúc
mơn học

Hình 2.10: DHT11
- Thơng số kỹ thuật:
• Điện áp hoạt động: 3V - 5V DC
• Dịng điện tiêu thụ: 2.5mA
• Phạm vi cảm biến độ ẩm: 20% - 90% RH, sai số ±5%RH
• Phạm vi cảm biến nhiệt độ: 0°C ~ 50°C, sai số ±2°C

• Tần số lấy mẫu tối đa: 1Hz (1 giây 1 lần)
• Kích thước: 23 * 12 * 5 mm
- Sơ đồ chân:

Hình 2.11: Sơ đồ kết nối
Tên chân

Chức năng

VCC

Chân nguồn từ 3.5V ~ 5.5V

DATA

Đầu ra cả nhiệt độ và độ ẩm thông qua dữ
liệu nối tiếp
Chân đất

GND

- Phương thức hoạt động của chuẩn 1 wire:.
NHÓM 12 17


18 Thiết kế
ngoại vi và kỹ thuật ghép
nối – Bài tập lớn kết thúc
mơn học


Hình 2.12: Mơ hình kết nối của chuẩn 1 wire
Chuẩn 1 wire có 4 phương thức được sử dụng là reset, write bit 0, write bit 1 và
read:
Reset: Chuẩn bị giao tiếp . Master cấu hình chân data là Ouput, kéo xuống 0
một khoảng H rồi nhả ra để trở treo kéo lên mức 1. Sau đó cấu hình Master là
chân Input, delay I (us) rồi đọc giá trị slave trả về . Nếu = 0 thì cho phép giao
tiếp .Nếu data = 1 đường truyền lỗi hoặc slave đang bận.
• Write 1 : truyền đi bit 1: Master kéo xuống 0 một khoảng A(us) rồi về mức 1
khoảng B (us).
• Write 0 : truyền đi bit 0: Master kéo xuống 0 khoảng C rồi trả về 1 khoảng D
(us).
• Read : Đọc một Bit : Master kéo xuống 0 khoảng A rồi trả về 1. delay khoảng
E(us) rồi đọc giá trị slave gửi về. Các bạn phải bắt được tín hiệu trong khoảng
F. Sau khoảng đó sẽ Slave sẽ nhả chân F về trạng thái 1 (IDLE – Rảnh rỗi).


Hình 2.13: Dạng xung các phương thức hoạt động chuẩn 1 wire

NHÓM 12 18


19 Thiết kế
ngoại vi và kỹ thuật ghép
nối – Bài tập lớn kết thúc
mơn học

Hình 2.14: Bảng thời gian delay tiêu chuẩn
Chu trình nhận dữ liệu: Ban đầu DHTT11 ở trạng thái tiêu thụ năng lượng thấp,
khi có tín hiệu Reset, chúng sẽ được wakeup sau đó DHT11 phản hổi bằng cách kéo
chân Data xuống 1 khoảng thời gian, rồi nhả ra. Sau đó 5byte dữ liệu sẽ được gửi đi,

MCU sẽ đọc 5 byte đó. Kết thúc DHT11 nhả chân Data về lại mức 1 và trở về trạng
thái tiết kiệm năng lượng. Nó sẽ được đánh thức nếu có 1 tín hiệu reset.

Hình 2.15: Chu trình giao tiếp với DHT11
Phương thức reset hay start: Để xuất tín hiệu reset hay start cho DHT11, chúng
ta sẽ kéo chân Data xuống 0 ít nhất là 18ms, sau đó nhả ra 20-40us để chờ DHT11
phản hồi. Nếu DHT11 phản hồi, nó sẽ kéo chân Data xuống 0 khoảng 80us, sau đó nhả
về 1 80us.Tiếp theo sẽ là 80bit (5byte) dữ liệu ngay sau đó.

NHĨM 12 19


20 Thiết kế
ngoại vi và kỹ thuật ghép
nối – Bài tập lớn kết thúc
mơn học

Hình 2.16: Phương thức hoạt động start
Phương thức hoạt động wire 1 và wire 0:
• Với bit 0 DHT11 sẽ kéo chân Data xuống 0 50us và trả về 1 26-28us.
• Với bit 1 DHT11 sẽ kéo chân Data xuống 0 50us và trả về 1 70us.

Hình 2.17: DHT11 truyền bit 0

Hình 2.18: DHT11 truyền bit 1
5) Màn hình LCD TFT
- Màn hình LCD TFT cảm ứng điện trở 2.8 inch ILI9341 giao tiếp SPI được sử
dụng trong các ứng dụng điều khiển cảm ứng và hiển thị, màn hình sử dụng giao
tiếp SPI nên rất dễ giao tiếp và sử dụng, giúp bạn xây dựng giao diện điều kiển cảm
ứng trên màn hình 1 cách chun nghiệp.

- Thơng số kỹ thuật:
• Điện áp sử dụng: 3.3~5VDC
• Điện áp giao tiếp: TTL 3.3~5VDC
• IC Driver hiển thị: ILI9341 giao tiếp SPI.
• Cỡ màn hình: 2.8 inch
NHĨM 12 20


21 Thiết kế
ngoại vi và kỹ thuật ghép
nối – Bài tập lớn kết thúc
mơn học







Độ phân giải: 240 x 320 pixels
IC Driver cảm ứng: XPT2046 giao tiếp SPI
Tích hợp khe thẻ nhớ SD giao tiếp SPI
Kích thước hiển thị: 46(W) X 65(H)mm
Kích thước tồn màn hình: 86 x 50 mm

Hình 2.19: Màn hình LCD TFT
- Gồm 14 chân trong đó 9 chân cho giao tiếp hiện thị LCD (VCC, GND, CS, RESET,
DC/RS, SDI, SCK, LED, SDO) và 5 chân để giao tiếp SPI cảm ứng chạm với màn
hình (T_CLK, T_CS, T_DIN, T_DO, T_IRQ).
- Chuẩn giao tiếp SPI:

SPI là một giao thức giao tiếp phổ biến được sử dụng bởi nhiều thiết bị khác
nhau. Lợi ích duy nhất của SPI là dữ liệu có thể được truyền mà khơng bị gián đoạn.
Bất kỳ số lượng bit nào cũng có thể được gửi hoặc nhận trong một luồng liên tục. Với
I2C và UART, dữ liệu được gửi dưới dạng gói, giới hạn ở một số bit cụ thể. Điều kiện
bắt đầu và dừng xác định điểm bắt đầu và kết thúc của mỗi gói, do đó dữ liệu bị gián
đoạn trong quá trình truyền.

Hình 2.20: Giao tiếp SPI
MOSI (đầu ra master / đầu vào slave) - đường truyền cho master gửi dữ liệu đến slave.
MISO (đầu vào master / đầu ra slave) - đường cho slave gửi dữ liệu đến master.
SCLK (clock) - đường cho tín hiệu xung nhịp.
SS / CS (Slave Select / Chip Select) - đường cho master chọn slave nào để gởi tín hiệu.
NHĨM 12 21


22 Thiết kế
ngoại vi và kỹ thuật ghép
nối – Bài tập lớn kết thúc
mơn học

Cách hoạt động:
Khung truyền SPI
• Mỗi chip Master hay Slave đều có một thanh ghi dữ liệu 8 bits.
• Q trình truyền nhận giữa Master và Slave xảy ra đồng thời sau 8
chu kỳ đồng hồ, một byte dữ liệu được truyền theo cả 2 hướng.
• Quá trình trao đổi dữ liệu bắt đầu khi Master tạo 1 xung clock từ bộ
tạo xung nhịp (Clock Generator) và kéo đường SS của Slave mà nó
truyền dữ liệu xuống mức Low.
• Cứ 1 xung clock, Master sẽ gửi đi 1 bit từ thanh ghi dịch (Shift Register) của nó
đến thanh ghi dịch của Slave thơng qua đường MOSI. Đồng thời Slave cũng gửi

lại 1 bit đến cho Master qua đường MISO.Như vậy sau 8 chu kỳ clock thì hồn
tất việc truyền và nhận 1 byte dữ liệu.
• Dữ liệu của 2 thanh ghi được trao đổi với nhau nên tốc độ trao đổi diễn ra
nhanh và hiệu quả.
• Trong giao tiếp SPI, chỉ có thể có 1 Master nhưng có thể 1 hoặc nhiều Slave
cùng lúc. Ở trạng thái nghỉ, chân SS của các Slave ở mức 1, muốn giao tiếp với
Slave nào thì ta chỉ việc kéo chân SS của Slave đó xuống mức 0.

Hình 2.21: Khung truyền SPI
Các chế độ hoạt động:
• SPI có 4 chế độ hoạt động phụ thuộc vào cực của xung giữ (Clock Polarity –
CPOL) và pha (Phase - CPHA).
• CPOL dùng để chỉ trạng thái của chân SCK ở trạng thái nghỉ. Chân SCK giữ ở
mức cao khi CPOL=1 hoặc mức thấp khi CPOL=0.
• CPHA dùng để chỉ các mà dữ liệu được lấy mẫu theo xung. Dữ liệu sẽ được lấy
ở cạnh lên của SCK khi CPHA=0 hoặc cạnh xuống khi CPHA=1.

Hình 2.22: Giản đồ xung các mode hoạt động SPI
• Mode 0 (mặc định) – xung nhịp của đồng hồ ở mức thấp (CPOL = 0) và dữ liệu
được lấy mẫu khi chuyển từ thấp sang cao (cạnh lên) (CPHA = 0).
• Mode 1 - xung nhịp của đồng hồ ở mức thấp (CPOL = 0) và dữ liệu được lấy
NHÓM 12 22


23 Thiết kế
ngoại vi và kỹ thuật ghép
nối – Bài tập lớn kết thúc
môn học

mẫu khi chuyển từ cao sang thấp (cạnh xuống) (CPHA = 1).

• Mode 2 - xung nhịp của đồng hồ ở mức cao (CPOL = 1) và dữ liệu
được lấy mẫu khi chuyển từ cao sang thấp (cạnh lên) (CPHA = 0).
• Mode 3 - xung nhịp của đồng hồ ở mức cao (CPOL = 1) và dữ liệu
được lấy mẫu khi chuyển từ thấp sang cao (cạnh xuông) (CPHA =
1).

6) Cơ sở dữ liệu MySQL
a) Khái niệm
- MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở (gọi tắt là
RDBMS) hoạt động theo mơ hình client-server. Với RDBMS là viết tắt của
Relational Database Management System. MySQL được tích hợp apache, PHP.
MySQL quản lý dữ liệu thông qua các cơ sở dữ liệu. Mỗi cơ sở dữ liệu có thể
có nhiều bảng quan hệ chứa dữ liệu. MySQL cũng có cùng một cách truy xuất
và mã lệnh tương tự với ngôn ngữ SQL. MySQL được phát hành từ thập niên
90s.
-

Database là tập hợp dữ liệu theo cùng một cấu trúc được đặt trong một bộ dữ
liệu chung dataset. Database được tổ chức sắp xếp giống như một bảng tính có
sự liên kết chặt chẽ với nhau.

b) Cách thức hoạt động:

Hình 2.23: Mơ hình hệ thống - Database
-

Máy tính cài đặt và chạy phần mềm RDBMS được gọi là client (máy khách).
Mỗi khi chúng cần truy cập dữ liệu, chúng kết nối tới máy chủ (server)
RDBMS. Cách thức này chính là mơ hình client-server.


MySQL Server
-

Đây là máy tính hay một hệ các máy tính cài đặt phần mềm MySQL dành cho
server để giúp bạn lưu trữ dữ liệu trên đó để máy khách có thể truy cập vào
quản lý.

MySQL Client
-

MYSQL Client là tên gọi chung của mọi phần mềm có thể thực hiện truy vấn
NHÓM 12 23


24 Thiết kế
ngoại vi và kỹ thuật ghép
nối – Bài tập lớn kết thúc
môn học

MySQL server và nhận kết quả trả về. Hay nói cách khác, MySQL
Client là đoạn mã PHP script trên một máy tính hay trên cùng
server dùng để kết nối tới MySQL database.
Cách hoạt động
Cách vận hành chính trong mơi trường MySQL như sau:
-

MySQL tạo ra bảng để lưu trữ dữ liệu, định nghĩa sự liên quan giữa

các bảng đó.
-


Client sẽ gửi yêu cầu SQL bằng một lệnh đặc biệt trên MySQL.

-

Ứng dụng trên server sẽ phản hồi thông tin và trả về kết quả trên máy client.

7) Socket io
a) Khái niệm
- Để xây dựng một ứng dụng realtime cần sử dụng socketio. Socketio sẽ giúp các
bên ở những địa điểm khác nhau kết nối với nhau, truyền dữ liệu ngay lập tức
thông qua server trung gian. Socketio có thể được sử dụng trong nhiều ứng
dụng như chat, game online, cập nhật kết quả của một trận đấu đang xảy ra,...
-

Socketio không phải là một ngôn ngữ, mà chỉ là 1 công cụ giúp thực hiện
những ứng dụng realtime. Vì thế, khơng thể sử dụng socketio để thay thế hồn
tồn cho một ngơn ngữ, mà phải sử dụng kết hợp với một ngơn ngữ khác. Ngơn
ngữ đó có thể là php, asp.net, nodejs,...

b) Cấu trúc Socket io
- Cấu trúc một ứng dụng realtime sử dụng socket bao gồm 2 phần: phía server,
phía client.

Hình 2.24: Mơ hình hệ thống - Socket io
Phía server
-

Đây là nơi sẽ cài đặt socket io. Ngơn ngữ để dựng server có thể là php, asp.net,
nodejs, ... Tuy nhiên, tùy vào ngôn ngữ lựa chọn mà cách cấu trúc server khác

nhau. Ở đây, nếu được thì khuyến khích sử dụng nodejs để dựng server, vì như
vậy có thể cài trực tiếp socket io vào cùng một server. Nếu sử dụng php thì phải
NHĨM 12 24


25 Thiết kế
ngoại vi và kỹ thuật ghép
nối – Bài tập lớn kết thúc
môn học

cài thêm những package khác, hoặc phải chuẩn bị riêng server để
chạy socket io.

-

Phía client
- Ở phía client sẽ xây dựng giao diện người dùng. Ở đây có thể sử
dụng js, hoặc các thư viện của js như jquery,…
Cơ chế hoạt động của socketio:
- Cơ chế hoạt động của một ứng dụng realtime đó là thơng qua
server để lắng nghe (listen) data và truyền data về các máy client. Vì vậy cần
cài khai báo sử dụng socketio ở cả phía server và client..
Để lắng nghe data, ta sử dụng câu lệnh socket.on(), để phát dữ liệu thì sử dụng
lệnh socket.emit() .
Socket.on và socket.emit có parameter thứ 1 là tên đường truyền. Tên đường
truyền có thể là tên bất ký, tuy nhiên đễ truyền và nhận dữ liệu của chung 1
đường truyền thì tên đường truyền phải giống nhau.

8) HTML, CSS, JS
a) HTML

- HTML tạm dịch là ngôn ngữ đánh dấu siêu văn bản. Người ta thường sử dụng
HTML trong việc phân chia các đoạn văn, heading, links, blockquotes,…
-

Một Website thường chứa nhiều trang con và mỗi trang con này lại có một tập
tin HTML riêng. Lưu ý, HTML khơng phải là ngơn ngữ lập trình. Điều này có
nghĩa là nó khơng thể thực hiện các chức năng “động”. Hiểu một cách đơn giản
hơn, cũng tương tự như phần mềm Microsoft Word, HTML chỉ có tác dụng bố
cục và định dạng trang web. HTML khi kết hợp với CSS và JavaScript sẽ trở
thành một nền tảng vững chắc cho thế giới mạng.

-

HTML có thể hiển thị trên bất kỳ nền tảng nào khác như Linux, Windows, và
Max vì nó là một nền tảng độc lập.

-

Tuy HTML được đánh giá là khá mạnh nhưng nó vẫn chưa đủ khả năng xây
dựng một trang web chuyên nghiệp. Do đó, các lập trình viên thường chỉ sử
dụng HTML để thêm các element dạng văn bản và xây dựng giao diện cấu trúc
cho phần nội dung trên trang. Sau đó, họ dùng 2 ngôn ngữ frontend là CSS và
Javascript để tạo nên một Website hoàn chỉnh.

b) CSS
- CSS là chữ viết tắt của Cascading Style Sheets, nó là một ngơn ngữ được sử
dụng để tìm và định dạng lại các phần tử được tạo ra bởi các ngôn ngữ đánh dấu
(HTML). Nói ngắn gọn hơn là ngơn ngữ tạo phong cách cho trang web. Bạn có
NHĨM 12 25



×