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

Ứng dụng lập trình điều khiển thiết bị qua wifi sử dụng chip ARM cortex m3 STM32F103C8T6

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.47 MB, 60 trang )

Đồ án tốt nghiệp đại học

Lời cảm ơn

LỜI CẢM ƠN
Để hoàn thành được đồ án này là kết quả của toàn bộ nỗ lực của bản thân em
trong suốt thời gian theo học tại trường, là toàn bộ năng lực của em khi bắt tay vào quá
trình nghiên cứu. Để có được kết quả như ngày hôm nay chúng em không bao giờ
quên được sự giúp đỡ và sự giảng dạy rất nhiệt tình của các Thầy, Cô trong khoa Điện
– Điện Tử - Học Viên Công Nghệ Bưu Chính Viên Thông. Các Thầy, Cô là những đội
ngũ đi trước rất am hiểu về lĩnh vực khoa học kỹ thuật đã tận tình giảng dạy và giúp
chúng em hoàn thành được rất nhiều đề tài.
Em xin chân thành cảm ơn cô Vũ Anh Đào đã tận tình chỉ dạy, hướng dẫn đóng góp
những ý kiến quý báu giúp em có thể hoàn thành đề tài đúng thời gian quy định.
Em cũng xin cảm ơn đến những người bạn thân đã không ngại chia sẻ về kinh nghiệm
làm đề tài cũng như hỗ trợ các công việc để giúp nhóm em hoàn thành tốt được đề tài
này.
Em xin cảm ơn !

SVTH: Ngô Minh Đức-D12XLTH

1


Đồ án tốt nghiệp đại học

Mục lục

MỤC LỤC

SVTH: Ngô Minh Đức-D12XLTH



2


Đồ án tốt nghiệp đại học

Danh mục hình vẽ

DANH MỤC HÌNH VẼ

SVTH: Ngô Minh Đức-D12XLTH

3


Đồ án tốt nghiệp đại học

Danh mục các ký hiệu và chữ viết tắt

DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
Từ viết tắt

Tiếng Anh

Tiếng Việt

ADC

Analog to Digital Converter


Bộ chuyển đổi tương tự
sang số

DAC

Digital to Analog Converter

Bộ chuyển đổi số sang
tương tự

DSP

Digital Signal Processing

Xử lý tín hiệu số

ITO

Indium Tin Oxide

Một hợp chất oxit của thiếc

SPI

Serial Peripheral Interface

Giao thức truyền thông SPI

PCB


Printed Circuit Board

Bảng mạch in

UART

Universal Asynchronous
Receiver/Transmitter

Truyền thông nối tiếp
không đồng bộ

USB

Universal Serial Bus

Chuẩn kết nối USB

WIFI

Wireless Fidelity

Mạng không dây

DMA

Direct Memory Access

Kênh truy nhập bộ nhớ


VDK

Vi điều khiển

SVTH: Ngô Minh Đức-D12XLTH

4


Đồ án tốt nghiệp đại học

Lời mở đầu

LỜI MỞ ĐẦU
Ngày nay với sự phát triển của ngành điện tử và ứng dụng điện tử đã giúp sự
sáng tạo của con người trở thành hiện thực. Các lĩnh vực của cuộc sống đều áp dụng
những thiết bị điện tử và dường như nhìn đâu trong gia đình chúng ta cũng có thiết bị
điện tử. Ngành điện tử và ứng dụng điện tử đã tạo chỗ đứng và khẳng định được tầm
quan trọng của mình đối với nhu cầu của con người.
Với những ứng dụng cho các hệ thống nhúng ngày càng trở nên phổ biến, từ
những ứng dụng đơn giản như điều khiển một chốt đèn giao thông định thời, đếm sản
phẩm trong một dây chuyền sản xuất, điều khiển tốc độ động cơ điện một chiều, một
đồng hồ thời gian thực.Đến các ứng dụng phức tạp như hệ thống điều khiển robot, bộ
kiểm soát trong nhà máy hoặc hệ thống kiểm soát các máy năng lượng hạt nhân. Các
hệ thống tự động trước đây sử dụng nhiều công nghệ khác nhau như các hệ thống tự
động hoạt động bằng nguyên lý khí. Các thiết bị, hệ thống này có chức năng xử lý và
mức độ tự động thấp so với các hệ thống tự động hiện đại được xây dựng trên nền tảng
của các hệ thống nhúng.
Trong nhiều năm trước, các dòng vi điều khiển 8051 được sinh viên dùng nhiều
với tính năng đơn giản, dễ sử dụng; AVR được sử dụng nhiều trong các cuộc thi

Robocon nhờ tốc độ sử lý khá cao, ổn định; PIC với ưu thế tốc độ cao, chi phí thấp
hơn cũng được nghiên cứu, sử dụng nhiều. Nhưng trong một vài năm trở lại đây, có
một dòng vi điều khiển mới, càng ngày càng nắm vị trí quan trọng trong các lĩnh vực
đòi hỏi tốc độ xử lý cao, sản xuất các dòng diện thoại di động smartphone, giám sát, an
ninh… Đó là họ vi điều khiển ARM. Với rất nhiều thế hệ ra đời, với nhiều tính năng,
công dụng khác nhau.
Với nhiều tính năng vượt trội của ARM và xu thế lựa chọn dòng vi điều khiển
mới ở Việt Nam nên trong đồ án tốt nghiệp này, dưới sự giúp đỡ của Cô Vũ Anh Đào,
em thực hiện đồ án “Ứng dụng lập trình điều khiển thiết bị qua wifi sử dụng chip
ARM Cortex M3 STM32F103C8T6”.
Em xin chân thành cảm ơn cô Vũ Anh Đào cùng toàn thể các thầy cô khoa Kỹ thuật
điện tử I đã tạo điều kiện và giúp đỡ em trong quá trình thực hiện đồ án tốt nghiệp này.

SVTH: Ngô Minh Đức-D12XLTH

5


Đồ án tốt nghiệp đại học

Chương I: Giới thiệu đề tài

CHƯƠNG I. GIỚI THIỆU ĐỀ TÀI
1.1 Cơ sở lựa chọn đề tài
Ngày nay, công nghệ kết nối đầu tiên cần nhắc đến hiển nhiên là Wifi – công
nghệ kết nối không dây phổ biến nhất hiện nay. Cũng vì tính phổ biến của dạng kết nối
này mà cái tên Wifi thường bị lạm dụng để chỉ kết nối không dây nói chung.
Lí do mà kết nối Wifi được ưa chuộng như vậy đơn giản là vì khả năng hoạt
động hiệu quả trong phạm vi vài chục đến vài trăm mét của các mạng WLAN.
Và trong thời đại công nghiệp hóa hiện đại hóa hiện nay, việc phát minh và chế

tạo ra các thiết bị thông minh có khả năng điều khiển từ xa đang và sẽ rất được quan
tâm và rất hữu ích cho cuộc sống hàng ngày.
Vì mục tiêu công nghệ hiện đại hóa ngày càng phát triển, tôi đã quyết định làm
một đồ án về điều khiển thiết bị qua WIFI. Khi dự án hoàn thành chúng ta có thể điều
khiển các thiết bị điện trong nhà thông qua sóng WIFI, bằng cách tương tác qua các
nút nhấn để hiển thị trạng thái hoạt động của các thiết bị trên giao diện Web. Như vậy,
dù chúng ta ở bất cứ nơi nào có sóng wifi đều có thể sử dụng được các thiết bị đã kết
nối với module điều khiển.
Khi dự án thành công và được áp dụng rộng rãi thì sẽ rất tiện lợi cho cuộc sống
thường nhật, giúp cho đất nước ngày càng phát triển.

1.2 Giới thiệu đề tài
Nội dung của đồ án bao gồm 3 chương là:
Chương I: Giới thiệu đề tài
Chương II: Tìm hiểu các linh kiện, công nghệ, thiết bị
Chương III: Thiết kế sản phẩm thực

1.3. Giới hạn của đề tài.
Vì em sử dụng bộ thu phát cảm biến có khoảng cách không xa nên chỉ có thể sử
dụng trong phạm vi 20 30 mét. Nếu có đều kiện em sẽ cải tiến để có độ bao phủ của
sóng wifi tới mức xa nhất có thể.

1.4. Đối tượng nghiên cứu.



Họ vi điều khiển ARM COTEX M3.
Bộ thu wifi ESP8266 V7

SVTH: Ngô Minh Đức-D12XLTH


6


Đồ án tốt nghiệp đại học

Chương II: Tìm hiểu các linh kiện, công nghệ , thiết bị

CHƯƠNG II. TÌM HIỂU CÁC LINH KIỆN, CÔNG NGHỆ, THIẾT BỊ
2.1. Công nghệ WIFI
2.1.1. Giới thiệu về WIFI
Wifi mà mạng kết nối Internet không dây, là từ viết tắt của Wireless Fidelity, sử
dụng sóng vô tuyến để truyền tín hiệu. Loại sóng vô tuyến này tương tự như sóng điện
thoại, truyền hình và radio. Và trên hầu hết các thiết bị điện tử ngày nay như máy tính,
laptop, điện thoại, máy tính bảng... đều có thể kết nối Wifi.

Hình 2.1. Wifi sử dụng trên các thiết bị thông minh
Kết nối Wifi dựa trên các loại chuẩn kết nối IEEE 802.11, và chủ yếu hiện nay
Wifi hoạt động trên băng tần 54 Mbps và có tín hiệu mạnh nhất trong khoảng cách 100
feet (gần 31 mét, các bạn cứ thử tưởng tượng mỗi 1 tầng nhà lấy trung bình là 4 mét
thì theo lý thuyết sóng wifi phát ở tầng 1 vẫn sẽ bắt được nếu bạn đang ở tầng 7 - đó là
theo lý thuyết). Còn trong thực tế thì trong mỗi ngôi nhà thường có rất nhiều vật cản
sóng, nên bạn chỉ cần đứng trên tầng 4 hoặc 5 là tín hiệu đã yếu lắm rồi.
Lúc đầu Wifi được phát triển như là một cách để thay thế cáp Ethernet. Cho đến
thời điểm hiện tại, Wifi đã trở thành một công nghệ phổ biến cung cấp kết nối giữa các
thiết bị.
Không giống như máy thu FM trên xe ô tô, Wifi giao tiếp qua lại chủ yếu quá 2
radio sử dụng điện năng thấp hơn và phát sóng trên một khoảng cách ngắn hơn
nhiều.Hai radio cho phép người dùng web tải dữ liệu từ Internet cũng như upload các
thông tin - thậm chí là địa chỉ submit thông qua bộ đếm trình duyệt giao tiếp 2

chiều.Wifi phức tạp hơn so với vô tuyến mặt đất đó là Wifi sử dụng giao thức kết nối
SVTH: Ngô Minh Đức-D12XLTH

7


Đồ án tốt nghiệp đại học

Chương II: Tìm hiểu các linh kiện, công nghệ , thiết bị

Internet (Internet Protocol) để giao tiếp. Ngôn ngữ này của Internet tạo ra cấu trúc
Wifi.
2.1.2. Nguyên tắc hoạt động của Wifi
Để có được sóng Wifi thì chúng ta cần phải có bộ phát Wifi - chính là các thiết
bị như modem, router. Đầu vào, tín hiệu Internet nguồn (được cung cấp bởi các đơn vị
ISP như FPT, Viettel, VNPT, CMC... hiện nay). Thiết bị modem, router sẽ lấy tín hiệu
Internet qua kết nối hữu tuyến rồi chuyển thành tín hiệu vô tuyến, và gửi đến các thiết
bị sử dụng như điện thoại smartphone, máy tính bảng, laptop... Đây là quá trình nhận
tín hiệu không dây (hay còn gọi là adapter) - chính là card wifi trên laptop, điện thoại...
và chuyển hóa thành tín hiệu Internet. Và quá trình này hoàn toàn có thể thực hiện
ngược lại, nghĩa là router, modem nhận tín hiệu vô tuyến từ adapter và giải mã chúng,
gửi qua Internet.

Hình 2.2. Các kết nối WIFI
2.1.3.Ưu nhược điểm của Wifi.
Hiện nay, có rất nhiều loại sóng có thể kết nối internet như sóng 3g, 4g,…
Nhưng sóng wifi có nhiều ưu điểm nổi trội hơn cả.
Mạng wifi không dây không khác gì các hệ thống mạng thông thường. Mạng
cho phép người dùng truy xuất tài nguyên mạng ở bất kỳ địa điểm nào trong khu vực
được triển khai (home hay office). Với lượng gia tăng người sử dụng laptop thì đây là

một điều rất tuyệt vời bởi khi sử dụng mạng không dây đồng nghĩa với việc ta nói
không với những dây cáp cổ điển.
Ưu điểm di động: Cùng với sự phát triển của các mạng không dây công cộng,
người sử dụng có thể truy cập Internet ở mọi nơi. Ví dụ như ở các quán Café, người
dùng có thể truy cập Internet(mạng không dây) miễn phí.
Hiệu quả: Người sử dụng luôn duy trì kết nối mạng khi họ cần phải đi từ nơi
này tới nơi khác.
SVTH: Ngô Minh Đức-D12XLTH

8


Đồ án tốt nghiệp đại học

Chương II: Tìm hiểu các linh kiện, công nghệ , thiết bị

Khả năng mở rộng: Mạng wifi không dây đáp ứng tức thì khi gia tăng số lượng
người dùng. Bạn và nhiều người khác có thể sử dụng cùng 1 lúc mà không cần phải
kết nối bằng đường cáp như cách cổ điển trước đây. Với hệ thống cổ điển trước đây
nếu bạn muốn tăng thêm lượng người sử dụng mạng trong hệ thống đồng nghĩa với
việc tăng thêm bộ chia và cáp rất lằng nhằng và mất thời gian cũng như tiền bạc.

Hình 2.3. Hình ảnh các ưu điểm WIFI
Bên cạnh những ưu điểm nổi trội nêu trên mạng không dây còn có những điểm hạn
chế sau:
-

Độ bảo mật: Môi trường kết nối không dây là không khí nên khả năng bị tấn
công của người dùng là rất cao. Tuy vậy, hiện nay các thiết bị phát wifi cũng
đã được nhà sản xuất các trang bị các biện pháp bảo mật khá hữu hiệu, đảm

bảo an toàn thông tin cá nhân cho người sử dụng.

-

Phạm vi của hệ thống: Với một mạng chuẩn 802.11g, các thiết bị chuẩn chỉ có
thể hoạt động tốt nhất trong phạm vi vài chục mét. Hệ thống này phù hợp
trong một căn hộ, với một tòa nhà lớn thì hệ thống lại không đáp ứng được
nhu cầu. Giải quyết vấn đề này cần phải mua thêm Repeater hay access point,
đẫn đến chi phí gia tăng lên rất nhiều.

-

Độ tin cậy: Vì sử dụng sóng vô tuyến để truyền thông nên việc bị nhiễu, tín
hiệu bị giảm do tác động của các thiết bị khác(lò vi sóng,…) là không thể
tránh khỏi. Nó làm giảm đáng kể rất nhiều hiệu quả hoạt động của mạng.

SVTH: Ngô Minh Đức-D12XLTH

9


Đồ án tốt nghiệp đại học
-

Chương II: Tìm hiểu các linh kiện, công nghệ , thiết bị

Tốc độ: Việc sử dụng hệ thống không dây đồng nghĩa với tốc độ của mạng
không dây(1-125 Mbps) chậm hơn rất nhiều so với mạng cổ điển sử dụng cáp
(100 mbps đến hang Gbps)


2.1.4.Các chuẩn kết nối Wifi

Hình 2.4. Các chuẩn kết nối WIFI
Kết nối 802.11: Wifi thế hệ thứ nhất. Năm 1997, IEEE (Institute of Electrical
and Electronics Engineers) đã giới thiệu một chuẩn đầu tiên cho WLAN. Chuẩn này
được gọi là 802.11 sau khi tên của nhóm được thiết lập nhằm giám sát sự phát triển
của nó.
Tuy nhiên, 802.11chỉ hỗ trợ cho băng tần mạng cực đại lên đến 2Mbps, sử dụng
băng tần 2,4Ghz của sóng radio hoặc hồng ngoại – quá chậm đối với hầu hết các ứng
dụng. Với lý do đó, các sản phẩm không dây thiết kế theo chuẩn 802.11 ban đầu dần
không được sản xuất.
Kết nối 802.11b: Wi-Fi thế hệ thứ hai. IEEE đã mở rộng trên chuẩn 802.11 gốc
vào tháng Bảy năm 1999, đó chính là chuẩn 802.11b. Chuẩn này hỗ trợ băng thông lên
đến 11Mbps, tương quan với Ethernet truyền thống.
802.11b sử dụng tần số vô tuyến (2.4 GHz) giống như chuẩn ban đầu 802.11.
Các hãng thích sử dụng các tần số này để chi phí trong sản xuất của họ được giảm.
Các thiết bị 802.11b có thể bị xuyên nhiễu từ các thiết bị điện thoại không dây (kéo
dài), lò vi sóng hoặc các thiết bị khác sử dụng cùng dải tần 2.4 GHz. Mặc dù vậy, bằng
cách cài đặt các thiết bị 802.11b cách xa các thiết bị như vậy có thể giảm được hiện
tượng xuyên nhiễu này.
 Ưu điểm của 802.11b – giá thành thấp nhất; phạm vi tín hiệu tốt và không dễ bị

cản trở.
 Nhược điểm của 802.11b – tốc độ tối đa thấp nhất; các ứng dụng gia đình có thể

xuyên nhiễu.
Kết nối 802.11a: Cũng là thế hệ thứ hai.Trong khi 802.11b vẫn đang được phát
triển, IEEE đã tạo một mở rộng thứ cấp cho chuẩn 802.11 có tên gọi 802.11a. Vì
802.11b được sử dụng rộng rãi quá nhanh so với 802.11a, nên một số người cho rằng
802.11a được tạo sau 802.11b. Tuy nhiên trong thực tế, 802.11a và 802.11b được tạo

SVTH: Ngô Minh Đức-D12XLTH

10


Đồ án tốt nghiệp đại học

Chương II: Tìm hiểu các linh kiện, công nghệ , thiết bị

một cách đồng thời. Do giá thành cao hơn nên 802.11a chỉ được sử dụng trong các
mạng doanh nghiệp còn 802.11b thích hợp hơn với thị trường mạng gia đình.
802.11a hỗ trợ băng thông lên đến 54 Mbps và sử dụng tần số vô tuyến 5GHz.
Tần số của 802.11a cao hơn so với 802.11b chính vì vậy đã làm cho phạm vi của hệ
thống này hẹp hơn so với các mạng 802.11b. Với tần số này, các tín hiệu 802.11a cũng
khó xuyên qua các vách tường và các vật cản khác hơn.
Do 802.11a và 802.11b sử dụng các tần số khác nhau, nên hai công nghệ này
không thể tương thích với nhau. Chính vì vậy một số hãng đã cung cấp các thiết bị
mạng hybrid cho 802.11a/b nhưng các sản phẩm này chỉ đơn thuần là bổ sung thêm
hai chuẩn này.
 Ưu điểm của 802.11a – tốc độ cao; tần số 5Ghz tránh được sự xuyên nhiễu từ

các thiết bị khác.
 Nhược điểm của 802.11a – giá thành đắt; phạm vi hẹp và dễ bị che khuất.

Kết nối 802.11g Wi-Fi thế hệ thứ ba. Vào năm 2003, các sản phẩm WLAN hỗ
trợ một chuẩn mới hơn đó là 802.11g, được đánh giá cao trên thị trường. 802.11g thực
hiện sự kết hợp tốt nhất giữa 802.11a và 802.11b. Nó hỗ trợ băng thông lên đến
54Mbps và sử dụng tần số 2.4 Ghz để có phạm vi rộng. 802.11g có khả năng tương
thích với các chuẩn 802.11b, điều đó có nghĩa là các điểm truy cập 802.11g sẽ làm
việc với các adapter mạng không dây 802.11b và ngược lại.

 Ưu điểm của 802.11g – tốc độ cao; phạm vi tín hiệu tốt và ít bị che khuất.
 Nhược điểm của 802.11g – giá thành đắt hơn 802.11b; các thiết bị có thể bị

xuyên nhiễu từ nhiều thiết bị khác sử dụng cùng băng tần.
Kết nối 802.11n: Wi-Fi thế hệ thứ tư. Năm 2009 một chuẩn mới Wi-Fi được ra mắt
chính là 802.11n. Đây là chuẩn được thiết kế để cải thiện cho 802.11g trong tổng số
băng thông được hỗ trợ bằng cách tận dụng nhiều tín hiệu không dây và các anten
(công nghệ MIMO).
Các kết nối 802.11n sẽ hỗ trợ tốc độ tối đa 600Mb/s (trên thị trường phổ biến có
các thiết bị 150Mb/s, 300Mb/s và 450Mb/s). 802.11n cũng cung cấp phạm vi bao phủ
tốt hơn so với các chuẩn Wi-Fi trước nó nhờ cường độ tín hiệu mạnh của nó. Chuẩn
này có thể hoạt động trên cả hai băng tần 2,4GHz lẫn 5GHz và nếu router hỗ trợ thì hai
băng tần này có thể cùng được phát sóng song song nhau. Thiết bị 802.11n sẽ tương
thích với các thiết bị 802.11g.
 Ưu điểm của 802.11n – tốc độ nhanh và phạm vi tín hiệu tốt nhất; khả năng

chịu đựng tốt hơn từ việc xuyên nhiễu từ các nguồn bên ngoài.
 Nhược điểm của 802.11n – giá thành đắt hơn 802.11g; sử dụng nhiều tín hiệu

có thể gây nhiễu với các mạng 802.11b/g ở gần.
Kết nối 802.11ac: Wi-Fi thế hệ thứ năm. Chuẩn Wifi thế hệ thứ 5, 802.11ac ra đời
trong năm 2013. So với các chuẩn trước đó, 802.11ac hỗ trợ tốc độ tối đa hiện là
SVTH: Ngô Minh Đức-D12XLTH

11


Đồ án tốt nghiệp đại học

Chương II: Tìm hiểu các linh kiện, công nghệ , thiết bị


1730Mb/s (sẽ còn tăng tiếp) và chỉ chạy ở băng tần 5GHz. Một số mức tốc độ thấp
hơn (ứng với số luồng truyền dữ liệu thấp hơn) bao gồm 450Mb/s và 900Mb/s.
Về mặt lý thuyết, Wi-Fi 802.11ac sẽ cho tốc độ cao gấp ba lần so với Wi-Fi
802.11n ở cùng số luồng (stream) truyền, ví dụ khi dùng ăng-ten 1x1 thì Wi-Fi ac cho
tốc độ 450Mb/s, trong khi Wi-Fi n chỉ là 150Mb/s. Còn nếu tăng lên ăng-ten 3x3 với
ba luồng, Wi-Fi ac có thể cung cấp 1300Mb/s, trong khi Wi-Fi n chỉ là 450Mb/s. Tuy
nhiên, những con số nói trên chỉ là tốc độ tối đa trên lý thuyết, còn trong đời thực thì
tốc độ này sẽ giảm xuống tùy theo thiết bị thu phát, môi trường, vật cản, nhiễu tín
hiệu...
Hiện nay, hầu hết các router Wi-Fi trên thị trường có hỗ trợ chuẩn 802.11ac sẽ
hỗ trợ thêm các chuẩn cũ, bao gồm b/g/n. Chúng cũng sẽ có hai băng tần 2,4GHz lẫn
5GHz. Đối với những router có khả năng chạy hai băng tần cùng lúc (simultaneous),
băng tần 2,4GHz sẽ được sử dụng để phát Wi-Fi n, còn 5GHz sẽ dùng để phát Wi-Fi
ac.

2.2 Một số loại điều khiển thiết bị thông minh
2.2.1 Điều khiển thiết bị qua webserver

Hình 2.5. Sơ đồ tổng quang hệ thống.
Dù đang ở cách xa ngôi nhà, người sử dụng có thể dùng máy tính được kết nối
với mạng internet hoặc các thiết bị như điện thoại, máy tính bảng có hỗ trợ Internet để
gửi tín hiệu tới bộ điều khiển tác động lên các thiết bị điện trong gia đình. Điều này rất
thuận tiện khi bạn thường xuyên phải ra khỏi nhà và muốn cập nhập trạng thái và điều
khiển hoạt động của các thiết bị điện trong ngôi nhà.
Cách thức này có thể nói là tối ưu nhất trong việc hoàn thiện những ngôi nhà
smart nhưng chi phí thực hiện lại tốn kém.
SVTH: Ngô Minh Đức-D12XLTH

12



Đồ án tốt nghiệp đại học

Chương II: Tìm hiểu các linh kiện, công nghệ , thiết bị

2.2.2 Điều khiển thiết bị qua tin nhắn điện thoại
Thiết lập một hệ thống điều khiển thiết bị trong nhà từ xa thông qua tin nhắn
SMS gồm có các thiết bị đơn giản như bóng đèn, quạt máy, lò sưởi đến các thiết bị
tinh vi, phức tạp như tivi, máy giặt, điều hòa, hệ thống báo động … Nó hoạt động như
một ngôi nhà thông minh. Nghĩa là tất cả các thiết bị này có thể giao tiếp với nhau về
mặt dữ liệu thông qua một đầu não trung tâm
Chẳng hạn như việc tắt quạt, đèn điện … khi gia chủ quên chưa tắt trước khi ra
khỏi nhà. Hay chỉ với một tin nhắn SMS, gia chủ có thể bật máy điều hòa để làm mát
phòng trước khi về nhà trong một khoảng thời gian nhất định.
Nhưng kết nối này sẽ không có 1 giao diện để điều khiển các thiết bị mà nó chỉ
có thể hiển thị qua các kí hiệu trong sms.
2.2.3 Điều khiển thiết bị qua wifi
Kết hợp cả 2 loại trên thì điều khiển thiết bị qua wifi em thấy là được nhất.Loại
này thông qua 1 module thu phát wifi để kết nối với wifi tổng tạo thành kết nối. Thông
qua giao diện web người dùng có thể thấy được trạng thái hoạt động của các thiết bị
cũng như tùy chỉnh được các chế độ on off…..Hay hơn đó là mình không cần kết nối
qua internet mà chỉ cần thông qua sóng wifi là có thể sử dụng được.

2.3 Các phiên bản Module thu phát wifi ESP8266
ESP8266 là một dòng chip tích hợp Wi-Fi 2.4Ghz có thể lập trình được, không
biết có bạn nào thắc mắc là modem wifi ở nhà nó hoạt động thế nào, cách thức ra làm
sao không nhỉ ? Nếu bạn cũng đang tìm hiểu cũng như muốn điều khiển một cái gì đó
từ xa thì đây là một modul thích hợp cho bạn làm điều đó.
ESP8266 cần ít nhất thêm 7 linh kiện nữa mới có thể hoạt động, trong đó phần

khó nhất là Antena. Đòi hỏi phải được sản xuất, kiểm tra với các thiết bị hiện đại. Do
đó, trên thị trường xuất hiện nhiều Module và Board mạch phát triển đảm đương hết
để người dùng đơn giản nhất trong việc phát triển ứng dụng. Một số Module và Board
phát triển phổ biến:

SVTH: Ngô Minh Đức-D12XLTH

13


Đồ án tốt nghiệp đại học

Chương II: Tìm hiểu các linh kiện, công nghệ , thiết bị

Bảng 1.1. Bảng so sánh các thông số.
Phiên bản

Số chân

ESP-01

8

ESP-02

8

ESP-03

14


ESP-04

14

ESP-05

5

ESP-06

12+GND

ESP-07

16

ESP-08

14

ESP-08 New

16

ESP-09

12+GND

ESP-10


5

ESP-11

8

ESP-12

16

ESP-12-E

22

ESP-13

18

ESP-14

22

WROOM-02

18

WT8266-S1

18


Hiện tại thì đã có tới 14 phiên bản của ESP8266, quá nhiều sự lựa chọn cho
chúng ta. Nhưng vì ở Việt Nam không phải lúc nào cũng có đủ tất cả nên mình sẽ giới
thiệu 2 phiên bản ESP8266 phổ biến hiện nay. Sau đây là 1 số loại phiên bản thông
dụng:
ESP-01

SVTH: Ngô Minh Đức-D12XLTH

14


Đồ án tốt nghiệp đại học

Chương II: Tìm hiểu các linh kiện, công nghệ , thiết bị

Hình 2.6. ESP-01
Tính năng


Mạch nhỏ, gọn (24.75mm x 14.5mm)



Điện áp làm việc 3.3v



Tích hợp sẳn anten PCB trace trên module




Có hai led báo hiệu: led nguồn, led TXD



Có các chế độ: AP, STA, AT + STA



Lệnh AT rất đơn giản, dễ dàng sử dụng



Khoảng cách giữa các chân 2.54mm



Sơ đồ chân

SVTH: Ngô Minh Đức-D12XLTH

15


Đồ án tốt nghiệp đại học

Chương II: Tìm hiểu các linh kiện, công nghệ , thiết bị

Hình 2.7. Sơ đồ chân ESP - 01

ESP-12

Hình 2.8. ESP-12
Tính năng


Sử dụng nguồn 3.3v



Tích hợp anten PCB trace trên module



Tiêu chuẩn wifi: 802.11b/g/n, với tần số 2.4GHz và hổ trợ bảo mật WPA/WPA2

SVTH: Ngô Minh Đức-D12XLTH

16


Đồ án tốt nghiệp đại học


Chương II: Tìm hiểu các linh kiện, công nghệ , thiết bị

Khoảng cách giữa các chân 2mm
Sơ đồ chân

Hình 2.9. Sơ đồ chân ESP -12

ESP-07

H
ình 2.10. ESP - 07
Tính năng:


Sử dụng nguồn 3.3v.



Tích hợp sẵn anten ceramic và anten ngoài U.FL.



Tiêu chuẩn wifi: 802.11b/g/n, với tần số 2.4GHz và hổ trợ bảo mật

SVTH: Ngô Minh Đức-D12XLTH

17


Đồ án tốt nghiệp đại học

Chương II: Tìm hiểu các linh kiện, công nghệ , thiết bị

WPA/WPA2.


Hổ trợ TCP/UDP.




Dễ dáng sử dụng với lệnh AT.



Có 3 chế độ hoạt động: Client, Access Point, Both Client and Access Point.



Làm việc như các máy chủ có thể kết nối với 5 máy con.



Khoảng cách giữa các chân 2mm.

Sơ đồ chân

Hình 2.11. Sơ đồ chân ESP - 07


RESET: chân reset kéo xuống mass để reset



ADC: chân đọc dữ liệu Analog




CH_PD: Kích hoạt chip, sử dụng cho Flash Boot và updating tại module.



VCC: Nguồn cấp 3.3V



TXD: chân Tx của giao thức UART



RXD: chân Rx của giao thức UART



GND: chân mass.



Còn lại là các chân GPIO

2.4 Tìm hiểu về ARM COTEX M3.

SVTH: Ngô Minh Đức-D12XLTH

18


Đồ án tốt nghiệp đại học


Chương II: Tìm hiểu các linh kiện, công nghệ , thiết bị

2.4.1. Tổng quan về ARM COTEX.
Bộ xử lý Cortex là thế hệ lõi nhúng kế tiếp từ ARM. Cortex thừa kế các ưu
điểm từ các bộ xử lí ARM trước đó, nó là một lõi xử lý hoàn chỉnh, bao gồm bộ xử lí
trung tâm Cortex và một hệ thống các thiết bị ngoại vi xung quanh, Cortex cung cấp
phần xử lí trung tâm của một hệ thống nhúng. Để đáp ứng yêu cầu khắt khe và đa dạng
của các hệ thống nhúng, bộ xử lý Cortex gồm có 3 nhánh, được biểu hiện bằng các ký
tự sau tên Cortex như sau:


Cortex-A: Bộ vi xử lý dành cho hệ điều hành và các ứng dụng của người dùng
phức tạp. Hỗ trợ các tập lệnh ARM, Thumb và Thumb-2.



Cortex-R: Bộ xử lí dành cho các hệ thống đòi hỏi khắc khe về tính thời gian
thực. Hỗ trợ các tập lệnh ARM, Thumb, và Thumb-2.



Cortex-M: Bộ xử lí dành cho dòng vi điều khiển, được tối ưu hóa cho các ứng
dụng nhạy cảm về chi phí. Chỉ hỗ trợ tập lệnh Thumb-2. Con số nằm cuối tên
Cortex cho biết mức độ hiệu suất tương đối, với 1 là thấp nhất và 8 là cao nhất.
Hiện nay dòng Cortex-M có mức hiệu suất cao nhất là mức 4. STM32 dựa trên
bộ xử lý Cortex-M4.
2.4.2. Các phiên bản kiến trúc ARM.

Hinh 2.12. Các phiên bản kiến trúc của lõi ARM

Tính đến thời điểm hiện tại thì phiên bản kiến trúc mới nhất của lõi ARM là
ARMv9 (Trước đó có ARMv4, ARMv5, ARMv6,…). Bộ xử lý Cortex-M3 dựa trên
kiến trúc ARMv9 M và có khả năng thực hiện tập lệnh Thumb-2.
SVTH: Ngô Minh Đức-D12XLTH

19


Đồ án tốt nghiệp đại học

Chương II: Tìm hiểu các linh kiện, công nghệ , thiết bị

Hình 2.13. Bộ xử lí Cortex và đơn vị xử lí trung tâm Cortex
Thuật ngữ bộ xử lí Cortex (Cortex processor) và đơn vị xử lí trung tâm Cortex
(Cortex CPU) sẽ được sử dụng để phân biệt giữa nhúng lõi Cortex hoàn chỉnh và bộ
xử lí trung tâm RISC nội (internal RISC CPU).
Trung tâm của bộ xử lý Cortex là một CPU RISC 32-bit. CPU này có một phiên
bản được đơn giản hóa từ mô hình lập trình (programmer’s model) của ARM7/9,
nhưng có một tập lệnh phong phú hơn với sự hỗ trợ tốt cho các phép toán số nguyên,
khả năng thao tác với bit tốt hơn và khả năng đáp ứng thời gian thực tốt hơn.

SVTH: Ngô Minh Đức-D12XLTH

20


Đồ án tốt nghiệp đại học

Chương II: Tìm hiểu các linh kiện, công nghệ , thiết bị


2.4.3. Đơn vị xử lí trung tâm Cortex (Cortex CPU)
Trung tâm của bộ xử lý Cortex là một CPU RISC 32-bit. CPU này có một phiên
bản được đơn giản hóa từ mô hình lập trình (programmer’s model) của ARM7/9,
nhưng có một tập lệnh phong phú hơn với sự hỗ trợ tốt cho các phép toán số nguyên,
khả năng thao tác với bit tốt hơn và khả năng đáp ứng thời gian thực tốt hơn.
2.4.3.1. Kiến trúc đường ống (Pipline)
CPU Cortex có thể thực thi hầu hết các lệnh trong một chu kì đơn. Giống như
CPU của ARM7 và ARM9, việc thực thi này đạt được với một đường ống ba tầng.
Tuy nhiên Cortex-M3 khả năng dự đoán việc rẽ nhánh để giảm thiểu số lần làm rỗng
(flush) đường ống.

Hình 2.14. Kiến trúc đường ống của ARM Cortex
2.4.3.2. Mô hình lập trình (Programmer’s model)
CPU Cortex là bộ xử lý dựa trên kiến trúc RISC, do đó hỗ trợ kiến trúc nạp và
lưu trữ (load and store architecture). Để thực hiện lệnh xử lý dữ liệu, các toán hạng
phải được nạp vào một tập thanh ghi trung tâm, các phép tính dữ liệu phải được thực
hiện trên các thanh ghi này và kết quả sau đó được lưu lại trong bộ nhớ.

Hình 2.15. Kiến trúc load và store của ARM Cortex-M3
Tập thanh ghi này bao gồm mười sáu thanh ghi 32-bit.


Các thanh ghi R0-R12 là các thanh ghi đơn giản, có thể được dùng để
chứa các biến của chương trình.



Thanh ghi R13 được dùng như là con trỏ ngăn xếp (stack pointer).

SVTH: Ngô Minh Đức-D12XLTH


21


Đồ án tốt nghiệp đại học

Chương II: Tìm hiểu các linh kiện, công nghệ , thiết bị

Trong CPU Cortex có hai ngăn xếp được gọi là main stack và process
stack.


Thanh ghi R14 tiếp theo được gọi là thanh ghi liên kết (link register).
Thanh ghi này được sử dụng để lưu trữ các địa chỉ trở về khi một cuộc
gọi thủ tục (call a procedure) được thực hiện. Điều này cho phép CPU
Cortex thực hiện rất nhanh việc nhập và thoát khỏi một thủ tục (fast
entry and exit to a procedure).



Thanh ghi R15là bộđếm chương trình (Program Counter)

Hình 2.16. Mô hình lập trình của ARM Cortex-M
2.4.3.3. Thanh ghi XPSR
Ngoài tập thanh ghi trung tâm còn có một thanh ghi riêng biệt được gọi là thanh
ghi trạng thái chương trình (Program Status Register). XPSR chứa một số các vùng
chức năng quan trọng ảnh hưởng đến việc thực thi của CPU Cortex.

Hình 2.17. Thanh ghi trạng thái chương trình của CPU Cortex



Năm bit đầu là những cờ mã điều kiện và được gán biệt hiệu (aliased) như
thanh ghi trạng thái chương trình ứng dụng. Bốn cờ N, Z, C, V (Negative,
Zero, Carry và Overflow) sẽ được thiết lập và xóa tùy thuộc vào kết quả của
một lệnh xử lýdữ liệu. Bit Q là được sử dụng bởi các lệnh toán học DPS để chỉ
ra rằng một biến đã đạt giá trị tối đa hoặc giá trị tối thiểu của nó.



Giống như tập lệnh ARM32-bit, các lệnh Thumb-2 chỉ được thực hiện nếu mã
điều kiện của lệnh phù hợp với trạng thái của các cờ trong thanh ghi trạng thái
chương trình ứngdụng (Application Program Status Register). Nếu mã điều
kiện của lệnh không phù hợp, thì lệnh đi ngang qua đường ống như là một lệnh

SVTH: Ngô Minh Đức-D12XLTH

22


Đồ án tốt nghiệp đại học

Chương II: Tìm hiểu các linh kiện, công nghệ , thiết bị

NOP (lệnh này không làm gì cả). Điều này đảm bảo rằng các lệnh đi qua đường
ống một cách trơn tru và giảm thiểu làm rỗng đường ống.
2.4.3.4 Các chế độ hoạt động của CPU.
Bộ xử lý Cortex có hai chế độ hoạt động: chế độ Thread và chế độ Handler.
CPU sẽ chạy ở chế độ Thread trong khi nó đang thực thi ở chế độ nền không có ngắt
xảy ra và sẽ chuyển sang chế độ Handler khi nó đang thực thi các ngắt đặc biệt
(exceptions).

Ngoài ra, CPU Cortex có thể thực thi mã trong chế độ đặc quyền hoặc không
đặc quyền (privileged or non-privileged mode). Trong chế độ đặc quyền, CPU có
quyền truy cập tất cả các lệnh. Trong chế độ không co đặc quyền, một số lệnh bị cấm
truy cập (như lệnh MRS và MSR cho phép truy cập vào xPSR và các trường của nó).
Ngoài ra, việc cập các thanh ghi điều khiển hệ thống trong bộ vi xử lý Cortex
cũng bị cấm. Cách sử dụng ngăn xếp (stack) cũng có thể được cấu hình. Ngăn xếp
chính (main stack-R13) có thể được sử dụng bởi cả hai chế độ Thread và Handler.
Chế độ Handler có thể được cấu hình để sử dụng ngăn xếp quá trình (process stackR13 banked register).

Hình 2.18. Mô hình hoạt động của chế độ Thread và Handler
Sau khi reset, bộ xử lý Cortex sẽ chạy trong cấu hình phẳng (flat
configuration). Cả hai chế độ Thread và Handler được thực thi trong chế độ đặc quyền
(privileged mode), do đó, không có sự giới hạn nào về quyền truy cập vào bất kỳ tài
nguyên của bộ xử lý. Cả hai chế độ Thread và Handler đều sử dụng ngăn xếp chính.
2.4.3.5. Tập lệnh Thumb-2
Các CPU ARM7 và ARM9 có thể thực thi hai tập lệnh: ARM 32-bit và Thumb
16-bit. Điều này cho phép người phát triển để tối ưu hoá chương trình của mình bằng
cách lựa chọn tập lệnh nào được sử dụng cho thủ tục khác nhau: lệnh 32-bit để tăng
tốc độ xử lí và lệnh 16-bit để nén mã chương trình. CPU Cortex được thiết kế để thực
SVTH: Ngô Minh Đức-D12XLTH

23


Đồ án tốt nghiệp đại học

Chương II: Tìm hiểu các linh kiện, công nghệ , thiết bị

thi tập lệnh Thumb-2, là một sự pha trộn của lệnh 16-bit và 32-bit. Tập lệnh thumb-2
cải tiến 26% mật độ mã so với tập lệnh ARM 32-bit và 25% hiệu suất so với tập lệnh

Thumb 16-bit. Tập lệnh Thumb2 có một số lệnh nhân được cải tiến, có thể thực hiện
trong một chu kì đơn và khả năng thực hiện phép chia bằng phần cứng và chỉ mất từ 27 chu kỳ.

Hình 2.19. Đồ thị biểu diễn hiệu năng của bộ xử lý Cortex
Điểm chuẩn bộ xử lý Cortex (Cortex processor benchmark) cho một mức độ
thực hiện là 1,25 DMIPS/MHz, cao hơn so với ARM7 (0.95 DMIPS/MHz với tập lệnh
ARM và 0.74 DMIPS/MHz với tập lệnh Thumb) và ARM9.
2.4.3.6.Bản đồ bộ nhớ (Memory Map)
Bộ xử lý Cortex-M3 là một lõi vi điều khiển được tiêu chuẩn hóa, như vậy nó
có một bản đồ bộ nhớ cũng được xác định. Mặc dù có nhiều bus nội, bản đồ bộ nhớ
này là một không gian địa chỉ 4 Gbyte tuyến tính. Bản đồ bộ nhớ này là chung cho tất
cả các thiết bị dựa trên lõi Cortex.

SVTH: Ngô Minh Đức-D12XLTH

24


Đồ án tốt nghiệp đại học

Chương II: Tìm hiểu các linh kiện, công nghệ , thiết bị

Hình 2.20. Bản đồ bộ nhớ tuyến tính 4Gbyte của bộ xử lý Cortex-M
Một Gbyte bộ nhớ đầu tiên được chia đều cho một vùng mã (code region) và
một vùng SRAM (SRAM region). Không gian mã được tối ưu hóa để thực thi từ bus
I-Code. Tương tự, SRAM được nối đến bus D-Code. Mặc dù mã có thể được nạp và
thực thi từ SRAM, các lệnh sẽ được lấy bằng cách sử dụng bus hệ thống, vì vậy phải
chịu thêm một trạng thái chờ (an extra wait state). Tức là mã chạy trên SRAM sẽ chậm
hơn so với từ bộ nhớ Flash trên chip (on-chip) nằm trong vùng mã. Vùng 0,5 Gbyte
tiếp theo của bộ nhớ là vùng ngoại vi trên chip, tất cả thiết bị ngoại vi được cung cấp

bởi nhà sản xuất vi điều khiển sẽ được đặt tại vùng này.
Vùng 1 Mbyte đầu tiên gồm cả SRAM (màu vàng nhạt) và vùng ngoại vi (màu
hồng nhạt) được định địa chỉ theo bit, sử dụng một kỹ thuật được gọi là dải bit (bit
banding). Từ đó tất cả SRAM và các thiết bị ngoại vi người dùng (user peripherals)
trên STM32 được đặt tại vùng này, và tất cả các vị trí bộ nhớ của những vùng này trên
STM32 đều có thể được thao tác theo word-wide hoặc bitwise.
Không gian địa chỉ 2 Gbyte tiếp theo được phân cho bộ nhớ ngoài- ánh xạ
SRAM và thiết bị ngoại vi (external RAM và external Device). Vùng 0,5 Gbyte cuối
cùng được phân cho các thiết bị ngoại vi bên trong của bộ xử lí Cortex và một khu vực
dành cho các cải tiến trong tương lai của nhà sản xuất chip cho bộ xử lý Cortex. Tất cả
các thanh ghi của bộ xử lý Cortex được đặt ở vị trí cố định cho tất cả vi điều khiển dựa
trên lõi Cortex. Điều này cho phép mã chương trình dễ dàng được chuyển giữa các
SVTH: Ngô Minh Đức-D12XLTH

25


×