1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Thiết kế hệ thống điều khiển các thiết bị điện tự động trong nhà

159 30 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 159
Dung lượng 8,44 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

KHOA ĐIỆN - ĐIỆN TỬĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ - TRUYỀN THÔNG THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN CÁC THIẾT BỊ ĐIỆN TỰ ĐỘNG TRONG NHÀ GVHD: ThS.NGUYỄN ĐÌNH PHÚ SVTH: NGU

Trang 1

KHOA ĐIỆN - ĐIỆN TỬ

ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ - TRUYỀN THÔNG

THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN CÁC THIẾT BỊ

ĐIỆN TỰ ĐỘNG TRONG NHÀ

GVHD: ThS.NGUYỄN ĐÌNH PHÚ SVTH: NGUYỄN ANH KHOA MSSV: 12141112

SVTH: VÕ TRƯỜNG VIÊN MSSV: 12141261

Tp Hồ Chí Minh, tháng 07/2016

S K L 0 0 4 4 1 8

Trang 2

KHOA ĐIỆN – ĐIỆN TỬ

BỘ MÔN ĐIỆN TỬ-CÔNG NGHIỆP

Trang 3

KHOA ĐIỆN – ĐIỆN TỬ

BỘ MÔN ĐIỆN TỬ-CÔNG NGHIỆP

Trang 4

Hệ đào tạo: Đại học chính quy

I TÊN ĐỀ TÀI: THIẾT KẾ HỆ THỒNG ĐIỀU KHIỂN CÁC THIẾT BỊ ĐIỆN TỰ

ĐỘNG TRONG NHÀ

II NHIỆM VỤ

Nội dung thực hiện:

- Nghiên cứu tài liệu vi điều khiển STM32F103VET6, module bluetooth HC05, module SIM900A, màn hình touch, ethernet và các chuẩn giao tiếp giữa vi điều khiển với chúng như UART, SPI

- Nghiên cứu sử dụng các phần mềm Keil MDK-ARM, Android Studio, Adobe Dreamweaver, Altium Designer

- Nghiên cứu, lập trình để giao tiếp giữa vi điều khiển STM32F103VET6 với module bluetooth, module SIM, màn hình touch, ethernet và thử nghiệm trên KIT ARM Cortex M3 STM32F103VET6 bằng phần mềm Keil MDK-ARM

- Thiết kế và lập trình ứng dụng điều khiển trên điện thoại Android thông qua bluetooth và sms bằng phần mềm Android Studio

- Thiết kế và lập trình giao điều khiển trên web bằng phần mềm Adobe Dreamweaver

- Nghiên cứu tài liệu sử dụng vi điều khiển STM32F103VET6 và các module để thiết kế thành một hệ thống độc lập

- Thiết kế và thi công khối giao tiếp giữa mạch điều khiển với các thiết bị công suất

- Vẽ PCB các mạch của hệ thống bằng phần mềm Altium Designer

Trang 5

iii

- Viết báo cáo

- Bảo vệ đề tài tốt nghiệp

III NGÀY GIAO NHIỆM VỤ: 14/03/2016

IV NGÀY HOÀN THÀNH NHIỆM VỤ: 08/07/2016

V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: GVC ThS Nguyễn Đình Phú

CÁN BỘ HƯỚNG DẪN BM ĐIỆN TỬ CÔNG NGHIỆP

Trang 6

Tên đề tài: Thiết kế hệ thống điều khiển các thiết bị điện tự động trong nhà

Tuần/ngày Nội dung Xác nhận

Tuần 5

11 – 17/4/2016

Nghiên cứu tài liệu, lập trình và thử nghiệm giao tiếp giữa module Bluetooth HC05 với kit ARM Cortex M3 STM32F103VET6 Thiết kế giao diện, lập trình ứng dụng điều khiển thiết

bị bằng Bluetooth trên điện thoại Android

Tuần 6

18 – 24/4/2016

Nghiên cứu tài liệu, lập trình và thử nghiệm giao tiếp giữa module SIM với kit ARM Cortex M3 STM32F103VET6 Thiết kế giao diện, lập trình ứng dụng điều khiển thiết bị bằng tin nhắn trên điện thoại Android

Tuần 10

16 – 22/5/2015

Trang 7

GVC ThS Nguyễn Đình Phú

Trang 8

vi

LỜI CAM ĐOAN

Đề tài này là do nhóm chúng tôi 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 công trình đã có trước đó

Nhóm sinh viên thực hiện đề tài Nguyễn Anh Khoa

Võ Trường Viên

Trang 9

vii

LỜI CẢM ƠN

Nhóm chúng em xin gửi lời cảm ơn sâu sắc đến GVC ThS Nguyễn Đình Phú - phó trưởng Bộ môn Điện tử công nghiệp đã trực tiếp hướng dẫn và tận tình giúp đỡ tạo điều kiện để hoàn thành tốt đề tài

Nhóm chúng em xin gửi lời cảm ơn chân thành đến các giảng viên khoa Điện – Điện tử trường Đại học Sư phạm Kỹ thuật TP HCM đã tạo những điều kiện tốt nhất cho

Nhóm thực hiện đề tài

Nguyễn Anh Khoa

Võ Trường Viên

Trang 10

viii

MỤC LỤC

Trang bìa i

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP ii

LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP iv

LỜI CAM ĐOAN vi

LỜI CẢM ƠN vii

MỤC LỤC viii

LIỆT KÊ HÌNH VẼ x

LIỆT KÊ BẢNG xiv

TÓM TẮT xv

Chương 1 TỔNG QUAN 1

1.1 ĐẶT VẤN ĐỀ 1

1.2 MỤC TIÊU 3

1.3 NỘI DUNG NGHIÊN CỨU 3

1.4 GIỚI HẠN 3

1.5 BỐ CỤC 4

Chương 2 CƠ SỞ LÝ THUYẾT 5

2.1 HOẠT ĐỘNG ĐIỀU KHIỂN CÁC THIẾT BỊ ĐIỆN TRONG NHÀ 5

2.1.1 Quá trình điều khiển 5

2.1.2 Các thiết bị có thể dùng để điều khiển 5

2.2 GIỚI THIỆU PHẦN CỨNG 5

2.2.1. Vi điều khiển 5

2.2.2 Ethernet – ENC28J60 14

2.2.3 GSM/GPRS - SIM900A 25

2.2.4 Bluetooth – Module Bluetooth HC05 32

2.2.5 Màn hình GLCD TFT, touch – Giao tiếp SPI 34

2.2.6 OPTO MOC3020 39

2.2.7 TRIAC BTA12 41

Chương 3 TÍNH TOÁN VÀ THIẾT KẾ 44

3.1 GIỚI THIỆU 44

3.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG 45

3.2.1 Thiết kế sơ đồ khối hệ thống 45

3.2.2 Tính toán và thiết kế mạch 46

Trang 11

ix

3.2.3 Sơ đồ nguyên lý của toàn mạch 57

Chương 4 THI CÔNG HỆ THỐNG 62

4.1 GIỚI THIỆU 62

4.2 THI CÔNG HỆ THỐNG 63

4.2.1 Thi công bo mạch 63

4.3 ĐÓNG GÓI VÀ THI CÔNG MÔ HÌNH 71

4.3.1 Đóng gói bộ điều khiển 71

4.3.2 Thi công mô hình 73

4.4 LẬP TRÌNH HỆ THỐNG 76

4.4.1 Lưu đồ giải thuật 76

4.4.2 Phần mềm lập trình cho vi điều khiển 102

4.4.3 Phần mềm lập trình cho điện thoại Android 114

4.4.4 Phần mềm lập trình Web 120

4.5 TÀI LIỆU HƯỚNG DẪN SỬ DỤNG, THAO TÁC 126

4.5.1 Tài liệu hướng dẫn sử dụng 126

4.5.2 Quy trình thao tác 128

Chương 5 KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 130

5.1 KẾT QUẢ 130

5.1.1 Ứng dụng từ điện thoại Android 130

5.1.2 Bộ điều khiển 132

5.1.3 Giao diện điều khiển trên web 134

5.2 NHẬN XÉT 135

5.3 ĐÁNH GIÁ 135

Chương 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 137

6.1 KẾT LUẬN 137

6.2 HƯỚNG PHÁT TRIỂN 137 TÀI LIỆU THAM KHẢO

PHỤ LỤC

Trang 12

x

LIỆT KÊ HÌNH VẼ

Hình 1.1 Biểu đồ dự đoán số lượng người sử dụng điện thoại thông minh trên toàn thế

giới từ năm 2014 đến 2019 (www.statista.com - 2014) 1

Hình 2.1 Bộ vi xử lí Cortex – M3 9

Hình 2.2 Bản đồ bộ nhớ 11

Hình 2.3 Vi điều khiển STM32F103VET6 12

Hình 2.4 Sơ đồ chân STM32F103VET6 14

Hình 2.5 Giao thức xây dựng internet 16

Hình 2.6 Mô hình CSMA/CD 19

Hình 2.7 Một Frame truyền dữ liệu 20

Hình 2.8 Vi điều khiển ENC28J60 21

Hình 2.9 Sơ đồ chân ENC28J60 21

Hình 2.10 Sơ đồ ghép nối VĐK với ENC28J60 22

Hình 2.11 Sơ đồ khối ENC28J60 23

Hình 2.12 Sơ đồ kết nối Ethernet sử dụng ENC28J60 và RJ45 23

Hình 2.13 Tập lệnh điều khiển ENC28J60 24

Hình 2.14 Đọc thanh ghi điều khiển 25

Hình 2.15 Ghi vào thanh ghi điều khiển 25

Hình 2.16 Ghi vào bộ nhớ đệm 25

Hình 2.17 Cấu trúc mạng GSM 27

Hình 2.18 Thẻ SIM 28

Hình 2.19 Module SIM900A 29

Hình 2.20 Truyền dữ liệu trong UART 30

Hình 2.21 Sơ đồ khối bộ truyền UART 31

Hình 2.22 Chế độ truyền trong thanh ghi 32

Hình 2.23 Module Bluetooth HC - 05 33

Hình 2.24 Màn hình GLCD TFT 3.2 inch 34

Hình 2.25 Giao tiếp SPI giữa Master và Slave 37

Hình 2.26 Bắt đầu giao tiếp SPI 37

Hình 2.27 Các chế độ giao tiếp SPI 38

Hình 2.28 Mô hình truyền nhận giữa Master và Slave 39

Hình 2.29 Opto MOC3020 40

Hình 2.30 Cấu tạo Opto MOC3020 40

Hình 2.31 Đồ thị biểu diễn trạng thái hoạt động của Opto 41

Hình 2.32 Cấu tạo Triac 41

Hình 2.33 Đặc tuyến Volt – Ampe của Triac 42

Hình 2.34 Triac BTA12 42

Hình 2.35 Cấu tạo triac BTA12 43

Hình 3.1 Sơ đồ khối hệ thống 45

Hình 3.2 Sơ đồ nguyên lý khối điều khiển trung tâm 47

Trang 13

xi

Hình 3.3 Module Bluetooth HC05 48

Hình 3.4 Sơ đồ nguyên lý khối truyền nhận dữ liệu qua Bluetooth 49

Hình 3.5 Module SIM900A 50

Hình 3.6 Sơ đồ nguyên lý khối truyền nhận dữ liệu qua SMS 51

Hình 3.7 Sơ đồ nguyên lý kết nối IC ENC28J60 52

Hình 3.8 Sơ đồ nguyên lý khối cổng kết nối RJ45 52

Hình 3.9 Sơ đồ nguyên lý khối giao tiếp với các thiết bị công suất 53

Hình 3.10 Sơ đồ nguyên lý khối hiển thị và điều khiển qua cảm ứng 54

Hình 3.11 Sơ đồ nguyên lý khối nguồn cấp 220VAC-5VDC 56

Hình 3.12 Sơ đồ nguyên lý khối ổn định nguồn 3.3V 56

Hình 3.13 Sơ đồ nguyên lý toàn mạch (khối điều khiển trung tâm) 57

Hình 3.14 Sơ đồ nguyên lý toàn mạch (khối hiển thị và điều khiển qua cảm ứng) 58

Hình 3.15 Sơ đồ nguyên lý toàn mạch (khối truyền nhận dữ liệu qua Ethernet) 59

Hình 3.16 Sơ đồ nguyên lý toàn mạch (khối nguồn) 60

Hình 3.17 Sơ đồ nguyên lý toàn mạch (khối led báo trạng thái và giao tiếp với mạch công suất) 61

Hình 4.1 PCB lớp trên của mạch điều khiển 66

Hình 4.2 PCB lớp dưới của mạch điều khiển 66

Hình 4.3 Ảnh 3D mặt trên của mạch điều khiển 67

Hình 4.4 Ảnh 3D mặt dưới của mạch điều khiển 67

Hình 4.5 PCB của mạch giao tiếp với thiết bị công suất 68

Hình 4.6 Ảnh 3D mặt trên của mạch giao tiếp với thiết bị công suất 68

Hình 4.7 Ảnh 3D mặt dưới của mạch giao tiếp với thiết bị công suất 68

Hình 4.8 Mạch giao tiếp với thiết bị công suất sau khi in 69

Hình 4.9 Mạch giao tiếp với thiết bị công suất sau khi hàn linh kiện 69

Hình 4.10 Mạch điều khiển sau khi in 70

Hình 4.11 Mạch điều khiển sau khi hàn linh kiện 71

Hình 4.12 Ảnh phác thảo mặt trên của hộp hệ thống 72

Hình 4.13 Ảnh phác thảo mặt sau của hộp hệ thống 72

Hình 4.14 Ảnh phác thảo mặt bên trái của hộp hệ thống 73

Hình 4.15 Các khối được lắp lại với nhau và gắn vào khung sườn 73

Hình 4.16 Lắp ghép các mặt ốp xung quanh khung sườn 74

Hình 4.17 Sau khi đã ốp vỏ, chưa đóng nắp 74

Hình 4.18 Mặt trước và trên của hệ thống đã được đóng hộp hoàn chỉnh 75

Hình 4.19 Mặt sau của hệ thống đã được đóng hộp hoàn chỉnh 75

Hình 4.20 Mặt bên trái của hệ thống đã được đóng hộp hoàn chỉnh 75

Hình 4.21 Lưu đồ chương trình chính trên vi điều khiển STM32F103VET6 77

Hình 4.22 Lưu đồ chương trình con Start 80

Hình 4.23 Lưu đồ chương trình con XulyBluetooth 82

Hình 4.24 Lưu đồ chương trình con xử lý Bluetooth 85

Hình 4.25 Lưu đồ chương trình con XulyTouch 87

Hình 4.26 Lưu đồ chương trình con XulyEthernet 88

Hình 4.27 Lưu đồ chương trình con XulyMode 90

Trang 14

xii

Hình 4.28 Lưu đồ chương trình chính Main Activity 100

Hình 4.29 Các thư mục chứ file thư viện 103

Hình 4.30 Thư mục cha và thư mục con 103

Hình 4.31 Biểu tượng phần mềm Keil MDK-ARM trên Desktop 103

Hình 4.32 Giao diện phần mềm Keil MDK-ARM 104

Hình 4.33 Đặt tên, chọn đường dẫn lưu project mới 104

Hình 4.34 Chọn đúng thông số cho chip 105

Hình 4.35 Giao diện viết code 105

Hình 4.36 Chọn biểu tượng gán 106

Hình 4.37 Giao diện đổi tên và đường dẫn 106

Hình 4.38 Sau khi thay đổi tên 107

Hình 4.39 Kết quả sau khi add cho group CMSIS 108

Hình 4.40 Kết quả sau khi add cho group CMSIS 108

Hình 4.41 Kết quả sau khi add cho group CMSIS 109

Hình 4.42 Kết quả sau khi add cho group LIBRARY 109

Hình 4.43 Kết quả sau khi add cho group SOURCE 110

Hình 4.44 Giao diện màn hình mới sau khi được gán cho các group 110

Hình 4.45 Vị trí “Target Option” 111

Hình 4.46 Tick vào ô xây dựng file hex 111

Hình 4.47 Thiết lập các đường dẫn cho các file để biên dịch 112

Hình 4.48 Chọn bộ nạp loại “ST-Link Debugger” 112

Hình 4.49 Kết quả sau khi biên dịch 113

Hình 4.50 Biểu tượng để nạp 113

Hình 4.51 Giao diện trng web để tải Android Studio 115

Hình 4.52 Biểu tượng phần mềm Android Studio trên Desktop 115

Hình 4.53 Phần mềm Android Studio sau khi mở 116

Hình 4.54 Đặt tên cho project 116

Hình 4.55 Chọn thiết bị mà ứng dụng sẽ chạy 117

Hình 4.56 Chọn Activity 117

Hình 4.57 Đặt tên Activity 118

Hình 4.58 Giao diện lập trình của phần mềm Android Studio 118

Hình 4.59 Giao diện lập trình bằng cách kéo thả 119

Hình 4.60 Giao diện lập trình bằng cách viết code 119

Hình 4.61 Giao diện lập trình điều khiển giao diện 120

Hình 4.62 Biểu tượng phần mềm Adobe Dreamweaver trên Desktop 123

Hình 4.63 Giao diện phần mềm Adobe Dreamweaver sau khi khởi động 123

Hình 4.64 Tiến hành tạo project mới 124

Hình 4.65 Đặt tên tiêu đề, chọn kiểu lập trình 124

Hình 4.66 Giao diện lập trình 124

Hình 4.67 Lưu project 125

Hình 4.68 Chọn đường dẫn để lưu 125

Hình 4 69 Quy trình thao tác hệ thống 129

Hình 5.1 Hộp thoại yêu cầu đăng nhập ứng dụng 130

Hình 5.2 Giao diện lựa chọn số điện thoại và thiết bị bluetooth 131

Trang 15

xiii

Hình 5.3 Giao diện điều khiển qua Bluetooth 131

Hình 5 4 Giao diện điều khiển qua SMS 132

Hình 5.5 Bộ điều khiển hoàn thiện về mặt phần cứng 132

Hình 5.6 Mặt trên bộ điều khiển 133

Hình 5.7 Mặt sau với công tắc, cấp nguồn và các ngõ ra 133

Hình 5.8 Hệ thống đang hoạt hoạt động 133

Hình 5.9 Giao diện web trên máy tính 134

Hình 5.10 Giao diện web trên Ipad 134

Trang 16

xiv

LIỆT KÊ BẢNG

Bảng 1.1 Tỉ trọng các hệ điều hành sử dụng trên smartphone từ năm 2012 đến năm

2015 (Nguồn www.idc.com - 2015) 2

Bảng 2.1 Thông số kỹ thuật STM32F103VET6 13

Bảng 2.2 Chức năng chân GLCD và Touch 35

Bảng 4.1 Danh sách các linh kiện khối nguồn 63

Bảng 4.2 Danh sách các linh kiện mạch điều khiển trung tâm 63

Bảng 4.3 Danh sách các linh kiện mạch giao tiếp với thiết bị công suất 65

Trang 17

xv

TÓM TẮT

Cùng với sự phát triển của kỹ thuật công nghệ ngày nay, việc điều khiển tự động

từ xa ngày càng phát triển Điều khiển từ xa không những làm giảm nhẹ sức lao động cho con người mà còn góp phần rất lớn trong việc nâng cao tính tiện lợi, tự động trong điều khiển, chính vì thế điều khiển từ xa ngày càng khẳng định được vị trí cũng như vai trò của mình trong các ngành công nghiệp và đang được phổ biến rộng rãi trong các hệ thống công nghiệp trên thế giới nói chung và ở Việt Nam nói riêng Không chỉ dừng lại

ở đó, sự phát triển của điều khiển từ xa còn được ứng dụng vào thiết kế nhà thông minh đem lại nhiều tiện ích phục vụ đời sống hàng ngày cho con người Để phục vụ tốt hơn nữa đời sống con người trong thời điểm xã hội ngày càng hiện đại và phát triển hiện nay Thay thế dần con người làm việc ở những nơi nguy hiểm, độc hại, hay những nơi con người không thể tới được Vì những nhu cầu cần thiết như trên người thực hiện đã chọn đề tài “Thiết kế hệ thống điều khiển thiết bị điện tự động trong nhà” nhằm mục đích từng bước tiếp cận với việc điều khiển thiết bị từ xa, nhà thông minh quy mô nhỏ

và tương lai có thể phát triển thêm nữa Sau khi thi công mạch đã được kết quả như mong muốn, có thể áp dụng rộng rãi ngoài thực tế và phát triển ứng dụng trong tương lai

Nội dung cốt lõi của đề tài này là việc thiết kế, thi công hệ thống điều khiển thiết

bị thông qua Bluetooth, SMS, Ethernet, touch Sử dụng phương pháp nghiên cứu, kế thừa và phát triển, nhóm tích lũy được nhiều kinh nghiệm từ các đề tài đã hoàn thành từ

đồ án môn học 1 và 2 Nhóm đã đạt được những kết quả ngoài mong đợi và bên cạnh

đó cũng có những khó khăn, kết quả không đúng yêu cầu đặt ra Nhưng đến cùng hệ thống cũng có thể hoạt động ổn định và sát với yêu cầu ban đầu được đề ra.

Trang 18

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 1

Chương 1 TỔNG QUAN

1.1 ĐẶT VẤN ĐỀ

Vào những năm gần đây thì số lượng nhà thông minh đang được phát triển mạnh

mẽ, và đang chứng tỏ sức hút trên thị trường Đầu năm 2014, Google đã bỏ ra tới 3,2 tỷ USD để mua lại Nest Labs - công ty sản xuất các thiết bị như bộ ổn nhiệt và chuông báo cháy có khả năng kết nối Internet Còn tại CES 2014, Samsung đã trình làng nền tảng Samsung Smart Home cho phép người sử dụng quản lý thiết bị kết nối như smartphone, tablet, đồng hồ thông minh, TV, tủ lạnh chỉ thông qua một ứng dụng duy nhất Và Apple cũng đang thực hiện một dự án Smart Home đầu tiên (Nguồn: VnExpress 6-2014)

Với sự phát triển của công nghệ hiện nay thì số lượng người sử dụng điện thoại thông minh ngày càng tăng Theo một nghiên cứu được công bố trên trang web www.statista.com thì đến năm 2016 thì số lượng người sử dụng điện thoại thông minh

là 2,08 tỉ người và con số đó vẫn tiếp tục tăng trong tương lai, số liệu được trình bày trong hình 1.1

Hình 1.1 Biểu đồ dự đoán số lượng người sử dụng điện thoại thông minh trên toàn thế

giới từ năm 2014 đến 2019 (www.statista.com - 2014) Trong số các điện thoại thông minh đang dược sử dụng trên thế giới thì điện thoại

sử dụng hệ điều hành Android chiếm nhiều nhất Một khảo sát được công bố trên trang web www.idc.com thì số lượng điện thoại thông minh sử dụng hệ điều hành Android chiếm 82.8% Và nó vẫn chiếm tỉ trọng cao nhất trong những năm gần đây, số liệu được trình bày trong bảng 1.1

Trang 19

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 2

Bảng 1.1 Tỉ trọng các hệ điều hành sử dụng trên smartphone từ năm 2012 đến năm

2015 (Nguồn www.idc.com - 2015)

Ngoài ra, theo Cục Viễn thông (Bộ Thông tin và Truyền thông), tính đến hết năm

2015, tỷ lệ người dùng Internet tại Việt Nam đã đạt 52% dân số Internet băng rộng di động có 36,28 triệu thuê bao, với tỷ lệ 40,1 thuê bao/100 dân (Nguồn: báo Kinh tế và

dự báo – 2015)

Từ những số liệu trên cho thấy việc nghiên cứu một đề tài liên quan đến điều khiển các thiết bị thông minh trong nhà trực tiếp hoặc từ xa thông qua điện thoại sử dụng hệ điều hành Android hoặc qua Ethenet là một đề tài có tính ứng dụng và phát triển trong tương lai rất cao Vì những lý do trên người thực hiện đã chọn “Thiết kế hệ thống điều khiển các thiết bị điện tự động trong nhà” làm đề tài đồ án tốt nghiệp

Trước đây cũng có nhiều đề tài đồ án tương tự như điều khiển thiết bị qua Bluetooth, điều khiển thiết bị qua SMS hoặc điều khiển thiết bị qua Ethernet… Sự hạn chế của các đề tài đó là chỉ điều khiển thông qua một kết nối duy nhất nên xuất hiện những nhược điểm của từng loại kết nối như khoảng cách điều khiển ngắn đối với điều khiển qua Bluetooth, tốc độ điều khiển chậm và tốn chi phí đối với SMS, chưa có khả năng điều khiển trực tiếp và hiển thị trạng thái trên màn hình cảm ứng… Đề tài “Thiết

kế hệ thống điều khiển các thiết bị điện tự động trong nhà” đã tích hợp nhiều loại kết nối như Bluetooth, SMS, Ethernet vào trong một hệ thống và có màn hình cảm ứng nên người sử dụng có thể linh hoạt điều khiển trực tiếp thông qua màn hình cảm ứng hoặc

từ xa thông qua Bluetooth, SMS, Ethernet để phù hợp nhu cầu sử dụng Hệ thống này

có các ngõ ra để người sử dụng có thể tự kết nối với các thiết bị điện muốn điều khiển Tất cả các trạng thái điều khiển sẽ hiển thị trên màn hình cảm ứng, điện thoại Android

có cài ứng dụng điều khiển và giao diện web

Trang 20

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 3

1.2 MỤC TIÊU

Mục tiêu của đề tài là xây dựng một hệ thống có khả năng cho người sử dụng kết nối với các thiết bị điện trong nhà và điều khiển trực tiếp qua màn hình cảm ứng hệ thống hoặc điều khiển từ xa bằng điện thoại, máy tính bảng sử dụng hệ điều hành Android qua Bluetooth, SMS hoặc qua Ethernet Các trạng thái hoạt động của thiết bị

sẽ được hiển thị trên màn hình hệ thống, điện thoại và giao diện web

1.3 NỘI DUNG NGHIÊN CỨU

Các nội dung chính trong Đề tài “Thiết kế hệ thống điều khiển các thiết bị điện tự động trong nhà” bao gồm:

 NỘI DUNG 1: Nghiên cứu phương pháp điều khiển thông qua Bluetooth, SMS, Ethernet, màn hình cảm ứng

 NỘI DUNG 2: Các giải pháp thiết kế hệ thống điều khiển các thiết bị điện tự động trong nhà

 NỘI DUNG 3: Nghiên cứu phần cứng vi điều khiển, các module, các chuẩn giao tiếp

 NỘI DUNG 4: Nghiên cứu phần phần mềm lập trình, phần mềm vẽ mạch

 NỘI DUNG 5: Thiết kế bộ điều khiển trung tâm

 NỘI DUNG 6: Thiết kế, lắp ráp, chạy thử, kiểm tra, cân chỉnh hệ thống

 NỘI DUNG 7: Thiết kế hộp để bảo vệ các linh kiện trong hệ thống

 NỘI DUNG 8: Đánh giá kết quả thực hiện

 Có hiển thị trạng thái thiết bị trên màn hình hệ thống, điện thoại, giao diện web

 Số lượng thiết bị điều khiển là tối đa là 4

 Thiết bị điều khiển trung tâm có kích thước 150mm x 140mm x 85mm

Trang 21

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 4

 Module Bluetooth cho khoảng cách điều khiển tối đa 15m trong điều kiện không

Nội dung các chương:

- Chương 1: Chương này trình bày đặt vấn đề dẫn nhập lý do chọn đề tài, mục

tiêu, nôi dung nghiên cứu, các giới hạn thông số và bố cục đồ án

- Chương 2: Chương này trình bày về hoạt động điều khiển các thiết bị điện trong

nhà, giới thiệu phần cứng, giới thiệu các chuẩn giao tiếp sử dụng trong đề tài

- Chương 3: Chương này trình bày về vấn đề tính toán và thiết kế hệ thống

- Chương 4: Chương này trình bày về vấn đề thi công hệ thống, đóng gói và thi

công mô hình, lập trình hệ thống và tài liệu hướng dẫn sử dụng, thao tác

- Chương 5: Chương này trình bày về kết quả, nhận xét, đánh giá của đề tài so với

yêu cầu đặt ra ban đầu

- Chương 6: Chương này trình bày về kết kết luận và hướng phát triển của đề tài.

Trang 22

Chương 2 CƠ SỞ LÝ THUYẾT

2.1 HOẠT ĐỘNG ĐIỀU KHIỂN CÁC THIẾT BỊ ĐIỆN TRONG NHÀ 2.1.1 Quá trình điều khiển

Các thiết bị điện được điều khiển thông qua việc đóng, ngắt nguồn cấp Nguồn cấp

ở đây được cấp trực tiếp từ bộ điều khiển Hệ thống này có chức năng nhận dữ liệu (từ bluetooth, sms, ethernet, màn hình cảm ứng) để điều khiển đóng, ngắt triac và hiển thị trạng thái trên màn hình hệ thống, màn hình điện thoại Android, giao diện web

Các bước điều khiển:

- Bước 1: Kết nối bộ điều khiển với điện thoại (nếu điều khiển thông qua Bluetooth hoặc SMS) hoặc kết nối giắc RJ45 vào bộ điều khiển và sử dụng cùng mạng LAN với điện thoại hoặc máy tính bảng (nếu điều khiển bằng Ethernet), cấp nguồn cho bộ điều khiển

- Bước 2: Truy cập phần mềm hoặc địa chỉ IP điều khiển

- Bước 3: Nhấn vào các biểu tượng tương ứng trên màn hình hệ thống, ứng dụng Android hoặc giao diện web để điều khiển thiết bị

2.1.2 Các thiết bị có thể dùng để điều khiển

Thiết bị dùng để điều khiển rất đa dạng như điện thoại thông minh, máy tính bảng, máy tính…

2.2 GIỚI THIỆU PHẦN CỨNG

Thiết bị đầu vào: Màn hình cảm ứng, module Bluetooth HC05, module SIM900A,

switch, cổng Ethernet, mạch nạp STlink, mạch nguồn

Thiết bị đầu ra: Triac, LED

Thiết bị điều khiển trung tâm: Vi điều khiển STM32F103VET106

Các chuẩn truyền dữ liệu: UART, SPI, Bluetooth, SMS, Ethernet

2.2.1 Vi điều khiển

Ngày nay với sự bùng nổ của khoa học – công nghệ, công nghệ bán dẫn phát triển mạnh mẽ nên ngày càng nhiều loại vi điều khiển được sản xuất Các loại chúng ta thường

Trang 23

thấy như họ ARM, PIC, AVR, 8051 Do yêu cầu hệ thống cũng như tính ổn định, linh hoạt của hệ thống, nhóm chọn nền tảng ARM làm vi xử lý cho hệ thống Ở đây nhóm

sử dụng phiên bản STM32F103VET6

a Giới thiệu

Cấu trúc ARM (viết tắt từ Advanced RISC Machine) là một loại cấu trúc vi xử

lý 32 bit và 64 bit kiểu RISC được sử dụng rộng rãi trong các thiết kế nhúng Do có đặc điểm tiết kiệm năng lượng, các bộ CPU ARM chiếm ưu thế trong các sản phẩm điện tử

di động vì đa số các thiết bị này đều có yêu cầu tiêu tốn ít năng lượng

Ngày nay, hơn 75% CPU nhúng 32-bit là thuộc họ ARM, điều này khiến ARM trở thành cấu trúc 32-bit được sản xuất nhiều nhất trên thế giới CPU ARM được tìm thấy khắp nơi trong các sản phẩm thương mại điện tử, từ thiết bị cầm tay (điện thoại di động, máy đa phương tiện, máy trò chơi cầm tay, máy tính bảng) cho đến các thiết bị ngoại vi máy tính (ổ đĩa cứng, bộ định tuyến để bàn) Một nhánh nổi tiếng của họ ARM là các vi

xử lý Xscale của Intel

b Lịch sử phát triển

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

Nhóm thiết kế, dẫn đầu bởi Roger Wilson và Steve Furber, bắt đầu phát triển một

bộ vi xử lý có nhiều điểm tương đồng với Kỹ thuật MOS 6502 tiên tiến Acorn đã từng sản xuất nhiều máy tính dựa trên 6502, vì vậy việc tạo ra một chip như vậy là một bước tiến đáng kể của công ty này

Nhóm thiết kế hoàn thành việc phát triển mẫu gọi là ARM1 vào năm 1985, và vào năm sau, nhóm hoàn thành sản phẩm “thực” gọi là ARM2 ARM2 có tuyến dữ liệu 32-bit, không gian địa chỉ 26-bit tức cho phép quản lý đến 64 Mbyte địa chỉ và 16 thanh ghi 32-bit Một trong những thanh ghi này đóng vai trò là bộ đếm chương trình với 6 bit cao nhất và 2 bit thấp nhất lưu giữ các cờ trạng thái của bộ vi xử lý Có thể nói ARM2

là bộ vi xử lý 32-bit khả dụng đơn giản nhất trên thế giới, với chỉ gồm 30.000 transistor (so với bộ vi xử lý lâu hơn bốn năm của Motorola là 68000 với khoảng 68.000 transistor) Sự đơn giản như vậy có được nhờ ARM không có vi chương trình (mà chiếm khoảng ¼ đến 1/3 trong 68000) và cũng giống như hầu hết các CPU

Trang 24

vào thời đó, không hề chứa cache Sự đơn giản này đưa đến đặc điểm tiêu thụ công suất thấp của ARM Thế hệ sau, ARM3, được tạo ra với 4KB cache và có chức năng được cải thiện tốt hơn nữa

Vào những năm cuối thập niên 80, hãng máy tính Apple Computer bắt đầu hợp tác với Acorn để phát triển các thế hệ lõi ARM mới Công việc này trở nên quan trọng đến nỗi Acorn nâng nhóm thiết kế trở thành một công ty mới gọi là Advanced RISC Machines Advanced RISC Machines trở thành công ty ARM Limited khi công ty này được đưa ra sàn chứng khoán London và NASDAQ năm 1998

Kết quả sự hợp tác này là ARM6 Mẫu đầu tiên được công bố vào năm 1991 và Apple đã sử dụng bộ vi xử lý ARM 610 dựa trên ARM6 làm cơ sở cho PDA hiệu Apple Newton Vào năm 1994, Acorn dùng ARM 610 làm CPU trong các máy vi tính RiscPC của họ

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ó 30.000 transistors trong khi ARM6 chỉ tăng lên đến 35.000 Ý tưởng của nhà sản xuất lõi ARM là sao cho người sử dụng có thể ghép lõi ARM với một số bộ phận tùy chọn nào đó để tạo ra một CPU hoàn chỉnh, một loại CPU mà có thể tạo ra trên những nhà máy sản xuất bán dẫn cũ và vẫn tiếp tục tạo ra được sản phẩm với nhiều tính năng mà giá thành vẫn thấp

Thế hệ thành công nhất có lẽ là ARM7TDMI với hàng trăm triệu lõi được sử dụng trong các máy điện thoại di động, hệ thống video game cầm tay, và Sega Dreamcast Trong khi công ty ARM chỉ tập trung vào việc bán lõi IP, cũng có một số giấy phép tạo

ra bộ vi điều khiển dựa trên lõi này

Hãng DEC cũng bán giấy phép về lõi cấu trúc ARM và sản xuất ra thế hệ Strong ARM Hoạt động ở tần số 233 MHz mà CPU này chỉ tiêu tốn khoảng 1 watt công suất (những đời sau còn tiêu tốn ít công suất hơn nữa) Sau những kiện tụng, Intel cũng được chấp nhận sản xuất ARM và Intel đã nắm lấy cơ hội này để bổ sung vào thế hệ già cỗi i960 của họ bằng Strong ARM Từ đó, Intel đã phát triển cho chính họ một sản phẩm chức năng cao gọi tên là Xscale

Trang 25

 File thanh ghi lớn gồm 16 x 32-bit

 Chiều dài mã máy cố định là 32 bit để dễ giải mã và thực hiện pipeline, để đạt được điều này phải chấp nhận giảm mật độ mã máy

 Hầu hết các lệnh đều thực hiện trong vòng một chu kỳ đơn

So với các bộ vi xử lý cùng thời như Intel 80286 và Motorola 68020, trong ARM

có một số tính chất khá độc đáo như sau:

 Hầu hết tất cả các lệnh đều cho phép thực thi có điều kiện, điều này làm giảm việc phải viết các tiêu đề rẽ nhánh cũng như bù cho việc không có một bộ dự đoán rẽ nhánh

 Trong các lệnh số học, để chỉ ra điều kiện thực hiện, người lập trình chỉ cần sửa mã điều kiện

 Có một thanh ghi dịch đóng thùng 32-bit có thể sử dụng với chức năng hoàn hảo với hầu hết các lệnh số học và việc tính toán địa chỉ

 Có các kiểu định địa chỉ theo chỉ số rất mạnh

 Có hệ thống con thực hiện ngắt hai mức ưu tiên đơn giản nhưng rất nhanh, kèm theo cho phép chuyển từng nhóm thanh ghi

d Giới thiệu về ARM Cortex M3 STM32F103

Cortex là gì?

Dòng ARM Cortex là một bộ xử lí thế hệ mới đưa ra một kiến trúc chuẩn cho nhu cầu đa dạng về công nghệ Không giống như các chip ARM khác, dòng Cortex là một lõi xử lí hoàn thiện, đưa ra một chuẩn CPU và kiến trúc hệ thống chung Dòng Cortex gồm có 3 phân nhánh chính: dòng A dành cho các ứng dụng cao cấp, dòng R dành cho các ứng dụng thời gian thực như các đầu đọc và dòng M dành cho các ứng dụng vi điều

Trang 26

khiển và chi phí thấp STM32 được thiết kế dựa trên dòng Cortex-M3, dòng Cortex-M3 được thiết kế đặc biệt để nâng cao hiệu suất hệ thống, kết hợp với tiêu thụ năng lượng thấp, CortexM3 được thiết kế trên nền kiến trúc mới, do đó chi phí sản xuất đủ thấp để cạnh tranh với các dòng vi điều khiển 8 và 16-bit truyền thống

Hình 2.1 Bộ vi xử lí Cortex – M3

Lõi trung tâm Cortex-M3 dựa trên kiến trúc Harvard, được đặc trưng bằng sự tách biệt giữa vùng nhớ chứa dữ liệu và chương trình do đó có các bus riêng để truy cập (hình 2.1) Đặc tính này khác với dòng ARM7 dựa trên kiến trúc Von Neumann sử dụng chung vùng nhớ để chứa dữ liệu và chương trình, do đó dùng chung bus cho việc truy xuất Vì

có thể đọc cùng lúc lệnh và dữ liệu từ bộ nhớ, bộ vi xử lý Cortex-M3 có thể thực hiện nhiều hoạt động song song, tăng tốc thực thi ứng dụng

Lõi Cortex có cấu trúc đường ống gồm 3 tầng: Instruction Fetch, Instruction Decode và Instruction Execute Khi gặp một lệnh nhánh, tầng decode chứa một chỉ thị nạp lệnh suy đoán có thể dẫn đến việc thực thi nhanh hơn Bộ xử lý nạp lệnh dự định rẽ nhánh trong giai đoạn giải mã Sau đó, trong giai đoạn thực thi, việc rẽ nhánh được giải

Trang 27

quyết và bộ vi xử lý sẽ phân tích xem đâu là lệnh thực thi kế tiếp Nếu việc rẽ nhánh không được chọn thì lệnh tiếp theo đã sẵn sàng Còn nếu việc rẽ nhánh được chọn thì lệnh rẽ nhánh đó cũng đã sẵn sàng ngay lập tức, hạn chế thời gian rỗi chỉ còn một chu

kỳ

Lõi Cortex-M3 chứa một bộ giải mã cho tập lệnh Thumb truyền thống và

Thumb-2 mới, một ALU tiên tiến hỗ trợ nhân chia phần cứng, điều khiển logic, và các giao tiếp với các thành phần khác của bộ xử lý

Bộ vi xử lý Cortex-M3 là một bộ vi xử lý 32-bit, với độ rộng của đường dẫn dữ liệu 32 bit, các dải thanh ghi và giao tiếp bộ nhớ Có 13 thanh ghi đa dụng, hai con trỏ ngăn xếp, một thanh ghi liên kết, một bộ đếm chương trình và một số thanh ghi đặc biệt trong đó có một thanh ghi trạng thái chương trình

Bộ vi xử lý Cortex-M3 hỗ trợ hai chế độ hoạt động (Thread và Handler) và hai mức truy cập tài nguyên của lõi xử lí (đặc quyền và không đặc quyền), tạo điều kiện cho việc cài đặt các hệ thống mở và phức tạp nhưng vẫn bảo mật Những dòng mã không đặc quyền bị giới hạn hoặc không cho phép truy cập vào một số tài nguyên quan trọng (một số lệnh đặc biệt và các vùng nhớ nhất định) Chế độ Thread là chế độ hoạt động tiêu biểu hỗ trợ cả mã đặc quyền và không đặc quyền Bộ vi xử lý sẽ vào chế độ Handler khi một ngoại lệ (exception) xảy ra và tất cả các mã là đặc quyền trong chế độ này Ngoài ra, tất cả các hoạt động trong bộ vi xử lý đều thuộc một trong hai trạng thái hoạt động: Thumb cho chế độ thực thi bình thường và Debug cho việc gỡ lỗi

Bộ vi xử lý Cortex-M3 là một hệ thống ánh xạ bộ nhớ đơn giản, quản lí vùng nhớ

cố định lên tới 4 gigabyte với các địa chỉ định nghĩa sẵn, dành riêng cho mã lệnh (vùng

mã lệnh), SRAM (vùng nhớ), bộ nhớ/thiết bị bên ngoài, thiết bị ngoại vi bên trong và bên ngoài Ngoài ra còn có một vùng nhớ đặc biệt dành riêng cho nhà cung cấp

Trang 28

Hình 2.2 Bản đồ bộ nhớ

Bộ vi xử lý Cortex-M3 cho phép truy cập trực tiếp đến từng bit dữ liệu trong các

hệ thống đơn giản bằng cách thực thi một kỹ thuật được gọi là bit-banding Bộ nhớ bao gồm hai vùng bit-band (mỗi vùng 1MB) trong SRAM và vùng bí danh 32MB của vùng không gian ngoại vi (Mỗi byte trong vùng bí danh sẽ tương ứng với một bit trong vùng bit-band) Mỗi hoạt động nạp/lưu tại một địa chỉ trong khu vực bí danh (alias region) sẽ trực tiếp tương ứng với hoạt động trên bit được đại diện bởi bí danh đó Cụ thể, khi ghi giá trị 0x01 vào một địa chỉ trên vùng bí danh thì có nghĩa là xác định bit tương ứng sẽ

có giá trị là 1, tương tự giá trị 0x00 sẽ xác định bit tương ứng có giá trị 0 Còn đọc giá trị tại một địa chỉ vùng bí danh có nghĩa là đọc được giá trị của bit tương ứng Một vấn

đề cần chú ý nữa là hoạt động này mang tính nguyên tử (không chia nhỏ được nữa), không thể bị gián đoạn bởi các hoạt động khác trên bus

Trang 29

Tổng quát về ARM Cortex M3 STM32F103

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ắc 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 3 STM32 dựa trên bộ xử lý Cortex-M3

Trang 30

Thông số kỹ thuật

Datasheets STM32F103xC/D/E Datasheet

Tài liệu kiên quan STM32F103VE View All Specifications

Gói tiêu chuẩn 90

Loại Integrated Circuits (ICs)

Họ Embedded - Microcontrollers

Lõi xử lý ARM® Cortex™-M3

Kích thước lõi 32-Bit

Giao tiếp CAN, I²C, IrDA, LIN, SPI, UART/USART, USB

Ngoại vi DMA, Motor Control PWM, PDR, POR, PVD,

Bộ chuyển đổi A/D 16x12b; D/A 2x12b

Loại dao động Internal

Nhiệt độ hoạt động -40°C ~ 85°C

Package / Case 100-LQFP

Trang 31

Hình 2.4.Sơ đồ chân STM32F103VET6

2.2.2 Ethernet – ENC28J60

a Ethernet là gì?

Ethernet là một chuẩn truyền dữ liệu lớn và đa dạng gồm các công nghệ mạng dựa khung dữ liệu (frame-based) dành cho mạng LAN Tên Ethernet xuất phát từ khái niệm Ête trong ngành vật lý học Ethernet định nghĩa một loạt các chuẩn nối dây và phát tín hiệu cho tầng vật lý, hai phương tiện để truy nhập mạng tại phần MAC (điều khiển truy nhập môi trường truyền dẫn) của tầng liên kết dữ liệu, và một định dạng chung cho việc đánh địa chỉ

Ethernet đã được phát minh ra tại trung tâm nghiên cứu Xerox Palo Alto vào những năm 1970 bởi tiến sĩ Robert M Metcalfe Nó đã được thiết kế với mục đích phục vụ nghiên cứu trong “hệ thống công sở trong tương lai”, bao gồm trạm cá nhân đầu tiên trên thế giới, trạm Xerox Alto Trạm Ethernet đầu tiên chạy với tốc độ xấp xỉ 3-Mbps

và được biết đến với tên gọi: “tiền Ethernet” Ethernet chính thức được công bố vào năm

1980 bởi liên minh DEC-Intel-Xerox (DIX) Nỗ lực này đã chuyển “tiền Ethernet” trở thành một hệ thống Ethernet mở và có chất lượng với tốc độ 10-Mbps Công nghệ Ethernet được công nhận là tiêu chuẩn bởi uỷ ban tiêu chuẩn LAN nằm trong viện kỹ thuật điện và điện tử thế giới (IEEE 802) Chuẩn IEEE đã được công bố lần đầu tiên vào năm 1985, với tiêu đề “IEEE 802.3 khuyến nghị về lớp vật lý và phương thức truy nhập

Trang 32

đa truy nhập sóng mang phát hiện va chạm Chuẩn IEEE đã được thừa nhận bởi tổ chức chuẩn hoá của thế giới (ISO)

Chuẩn IEEE cung cấp hệ thống kiểu Ethernet dựa trên nền là công nghệ DIX Ethernet Mọi hệ thống Ethernet từ năm 1985 đều được xây dựng dựa trên chuẩn IEEE 802.3 Nói chính xác hơn, chúng ta đã dựa trên công nghệ “IEEE 802.3 CSMA/CD” Tuy nhiên hầu hết mạng Ethernet hiện nay đều từ mạng Ethernet nguyên thuỷ mà ra Ethernet đã được chuẩn hóa thành IEEE 802.3 Cấu trúc mạng hình sao, hình thức nối dây cáp xoắn (twisted pair) của Ethernet đã trở thành công nghệ LAN được sử dụng rộng rãi nhất từ thập kỷ 1990 cho tới nay, nó đã thay thế các chuẩn LAN cạnh tranh khác như Ethernet cáp đồng trục (coaxial cable), token ring, FDDI (Fiber distributed data interface), và ARCNET Trong những năm gần đây, Wi-Fi, dạng LAN không dây đã được chuẩn hóa bởi IEEE 802.11, đã được sử dụng bên cạnh hoặc thay thế cho Ethernet trong nhiều cấu hình mạng

b Các thành phần của Ethernet

Hệ thống Ethernet bao gồm 3 thành phần cơ bản:

- Hệ thống trung gian truyền tín hiệu Ethernet giữa các máy tính

- Các nhóm thiết bị trung gian đóng vai trò giao diện Ethernet làm cho nhiều máy tính có thể kết nối tới cùng 1 kênh Ethernet

- Các khung Ethernet đóng vai trò làm các bit chuẩn để luân chuyển dữ liệu trên Ethernet

Phần tiếp sau đây sẽ miêu tả quy tắc thiết lập cho các thành phần đầu tiên, các mảng truyền thông vật lí, thiết lập quy tắc truy cập trung gian cho Ethernet và các khung Ethernet

c Cấu trúc chính của chuẩn Ethernet

Để truyền được sữ liệu đi xa với tốc độ nhanh, chuẩn kết nới Ethernet (chuẩn IEEE 802.3) được xây dựng rất phức tạp kể cả phần cứng lẫn phần mềm Để dễ dàng trong việc xây dựng cũng như sử dụng, người ta xây dựng chuẩn theo lớp (layer) Chuẩn IEEE

có 5 lớp như hình 2.5

Trang 33

Hình 2.5.Giao thức xây dựng internet

Lớp ứng dụng (Application layer): HTTP

Là giao diện giữa các chương trình ứng dụng và mạng Lớp Application xử lý truy nhập mạng chung, kiểm soát luồng và phục hồi lỗi Lớp này không cung cấp các dịch

vụ cho lớp nào mà nó cung cấp dịch vụ cho các ứng dụng như: truyền file, gửi nhận mail, Telnet, HTTp, FPT, SMTP…

e- Lớp vận chuyển (Transport Layer): TCP, UDP

Lớp vận chuyển phân đoạn dữ liệu từ hệ thống máy truyền và tái thiết lập dữ liệu vào một luồng dữ liệu tại hệ thống máy nhận đảm bảo rằng việc bàn giao các thông điệp giữa các thiết bị đáng tin cậy Dữ liệu tại lớp này gọi là segment Lớp này thiết lập, duy trì và kết thúc các mạch ảo đảm bảo cung cấp các dịch vụ sau:

- Xếp thứ tự các phân đoạn:

Khi một thông điệp lớn được tách thành nhiều phân đoạn nhỏ để bàn giao, lớp vận chuyển sẽ sấp xếp thứ tự các phân đoạn trước khi ráp nối các phân đoạn thành thông điệp ban đầu

- Kiểm soát lỗi:

Khi có phân đoạn bị thất lạc, lớp vận chuyển sẽ yêu cầu truyền lại

- Kiểm soát luồng:

Lớp vận chuyển dùng các tín hiệu báo nhận để xác nhận Bên gởi sẽ không truyền

đi phân đoạn dữ liệu kế tiếp nếu bên nhận chưa gởi tín hiệu xác nhận rằng đã nhận được phân đoạn dữ liệu trước đó đầy đủ

Trang 34

Lớp mạng (Network layer)

Lớp chịu trách nhiệm lập địa chỉ các thông điệp, diễn dịch địa chỉ và tên logic thành địa chỉ vật lý và đồng thời nó cũng chịu trách nhiệm gởi các packet từ mạng nguồn đến mạng đích Lớp này quyết định đường đi từ máy tính nguông đến máy tính đích Nó quyết định dữ liệu sẽ truyền trên đường nào dựa vào tình trạng, ưu tiên dịch vụ và các yếu tố khác Nó cũng quản lý lưu lượng trên mạng chẳng hạn như chuyển đổi gói, định tuyến và kiểm soát sự tắc nghẽn dữ liệu Nếu bộ thích ứng mạng trên bộ định tuyến (router) không thể truyền đủ đoạn dữ liệu mà máy tính nguồn gởi đi, lớp Network trên

bộ định tuyến sẽ chia dữ liệu thành những đơn vị nhỏ hơn Nói cách khác, nếu máy tính nguồn gởi đi các gói tin có kích thước là 20Kb, trong khi Router chỉ cho phép các gói tin có kích thước 10kb đi qua, thì lúc đó lớp Network của Router sẽ chia gói tin làm 2, mỗi gói tin có kích thước là 10Kb Ở đầu nhận, lớp Network ráp nối lại dữ liệu Ví dụ: một số giao thức lớp này: IP, IPX… Dữ liệu ở lớp này gọi packet hoặc datagram

Cung cấp khả năng chuyển dữ liệu tin cậy xuyên qua một liên kết vật lý Lớp này liên quan đến:

- Địa chỉ vật lý

- Mô hình mạng

- Cơ chế truy cập đường truyền

- Thông báo lỗi

- Thứ tự phân phối frame

- Điều khiển dòng

Tại lớp Data link, các tín hiệu đến từ lớp vật lý được chuyển thành các frame dữ liệu bằng cách dùng một số nghi thức tại lớp này Lớp Data link được chia thành 2 lớp con:

Lớp con LLC (Logical Link Control)

Lớp con MAC (Media Access Control)

Lớp con LLC là phần trên so với các giao thức truy cập đường truyền khá, nó cung cấp sự mềm dẻo về giao tiếp Bởi vì lớp con LLC hoạt động độc lập với các giao thức truy cập đường truyền cho nên các giao thức lớp trên hơn (ví dụ như IP ở lớp mạng) có

Trang 35

thể hoạt động mà không phụ thuộc vào loại phương tiện LAN Lớp con LLC có thể lệ thuộc vào các lớp thấp hơn trong việc cung cấp truy cập đường truyền

Lớp con MAC cung cấp thứ tự truy cập vào môi trường LAN Khi nhiều trạm cùng truy cập chia sẻ môi trường truyền, để định danh mỗi trạm, lớp cho MAC định nghĩa một trường địa chỉ phần cứng, gọi là địa chỉ MAC address Địa chỉ MAC là một con số đơn nhất đối với mỗi giao tiếp LAN (card mạng)

Lớp vật lý (Physical layer)

Định nghĩa các quy cách về điện, cơ, thủ tục và các đặc tả chức năng để kích hoạt, duy trì và dừng một liên kết vật lý giữa các hệ thống đầu cuối Một số đặc điểm trong lớp vật lý này bao gồm:

- Môi trường truyền dữ liệu (cáp xoắn, cáp quang, sóng điện từ)

- Tốc độ dữ liệu vật lý

- Khoảng cách đường truyền tối đa

- Các đầu nối vật lý

d Hoạt động của Ethernet

Mỗi máy Ethernet, hay còn gọi là máy trạm, hoạt động độc lập với tất cả các trạm khác trên mạng, không có một trạm điều khiển trung tâm Mọi trạm đều kết nối với Ethernet thông qua một đường truyền tín hiệu chung còn gọi là đuờng trung gian Tín hiệu Ethernet được gửi theo chuỗi, từng bit một, qua đường trung gian tới tất cả các trạm thành viên Để gửi dữ liệu trước tiên trạm cần lắng nghe xem kênh có rỗi không, nếu rỗi thì mới gửi đi các gói (dữ liệu)

Cơ hội để tham gia vào truyền là bằng nhau đối với mỗi trạm Tức là không có sự

ưu tiên Sự thâm nhập vào kênh chung được quyết dịnh bởi nhóm điều khiển truy nhập trung gian (Medium Access Control-MAC) được đặt trong mỗi trạm MAC thực thi dựa trên cơ sở sự phát hiện va chạm sóng mang (CSMA/CD)

- Giao thức CSMA/CD

- Xung đột

- Truyền dữ liệu

Trang 36

Giao thức CSMA/CD

Để truyền thông tin, mỗi giao tiếp mạng phải lắng nghe cho tới khi không có tín hiệu trong kênh chung, lúc này nó mới có thể truyền thông tin Nếu một giao tiếp mạng thực hiện truyền thông tin trong kênh thì gọi là sóng và các trạm khác phải chờ đợi cho tới khi sự truyền dẫn này kết thúc Quá trình này gọi là phát hiện sóng mang

Mọi giao tiếp Ethernet đều có cơ hội ngang nhau trong việc truyền thông tin trong mạng (Đa truy nhập) Trong quá trình truyền từ đầu này tới đầu kia của Ethernet, những bít đầu tiên của khung cần phải đi tới mọi vùng của mạng Tức là có thể có 2 giao tiếp mạng cùng thấy mạng rỗi và gửi đi cùng 1 lúc Khi đó Ethernet phát hiện sự “va chạm”

và dừng việc truyền và gửi lại các khung Đó là quá trình phát hiện “va chạm”

Giao thức CSMA/CD được thiết kế nhằm cung cấp cơ hội ngang bằng truy nhập kênh chung cho mọi trạm trong mạng Sau khi gói tin được gửi đi mỗi trạm trong mạng

sẽ sủ dụng giao thức CSMA/CD để xem trạm nào sẽ được gửi tiếp sau

Va chạm

Nếu có có hơn 1 trạm cùng gửi thông tin cùng lúc thì tín hiệu được nói rằng đang

va chạm, các trạm sẽ nhận ra biến cố này và dừng việc truyền bằng thuật toán backoff Sau đó mỗi trạm sẽ chọn 1 thời gian ngẫu nhiên sau đó để truyền tiếp

Thông thường khoảng thời gian trễ này là rất ngắn chỉ khoảng phần nghìn hoặc phần triệu của giây Nếu như sau đó lại có va chạm thì lại phải truyền lại Nếu sau một

số lần liên tiếp nào đó va chạm thì hệ thống sẽ thôi truyền gói tin này nữa, thường Ethernet chọn 16 lần để hảy bỏ truyền gói tin Nếu mạng càng lớn và càng nhiều trạm thì khả năng huỷ bỏ càng lớn

Trang 37

Truyền dữ liệu

Dạng thức khung trong Ethernet: Ethernet chia dữ liệu thành nhiều khung (frame) Khung là một gói thông tin được truyền như một đơn vị duy nhất Khung trong Ethernet có thể dài từ 64 đến 1518 byte, nhưng bản thân khung Ethernet đã sử dụng ít nhất 18 byte, nên dữ liệu một khung Ethernet có thể dài từ 46 đến 1500 byte Mỗi khung đều có chứa thông tin điều khiển và tuân theo một cách tổ chức cơ bản Ví

dụ khung Ethernet (dùng cho TCP/IP) được truyền qua mạng với các thành phần sau:

Preamble Destination Source Type Data CRC

Preamble: 8 byte báo hiệu bắt đầu một frame

Destination: 6 byte thể hiện địa chỉ MAC (1) đích

Source: 6 byte thể hiện địa chỉ MAC (1) nguồn

Type: 2 byte chỉ rõ giao thức lớp mạng

Data: dữ liệu được chuyển đi

CRC (2): 4 byte kiểm tra lỗi của Frame (Cyclic Redundancy Check)

(1) MAC- (Medium Access Control) Kiểm soát truy cập môi trường truyền thông, nó

có nhiệm vụ định frame dữ liệu trước khi gửi đến tầng vật lý- gói thông tin thành từng gói Mỗi máy tính khi kết nối hay không kết nối vào mạng nếu có card mạng được gắn vào thì máy tính đó sẽ có một địa chỉ MAC MAC là địa chỉ duy nhất được tạo bởi nhà sản xuất card mạng chúng còn được gọi là địa chỉ vật lý Vì nó gắn liền với card mạng nên khi thay thế card mạng thì địa chỉ MAC của máy cũng bị thay đổi theo Một địa chỉ MAC là một số thập lục phân và có 2 dạng như: 0001.1223.0cbd hay 00 – 01 – 12 – 23 – 0c – db

(2) CRC – kiểm tra lỗi dư vòng, về cơ bản trạm gửi sẽ ghép thêm một bít thứ tự vào mỗi frame khi truyền đi, được gọi là FCS (Frame Check Sequence), sao cho frame kết quả chia hết cho một số định trước Trạm nhận sẽ chia frame cho số định trước nếu có số dư thì frame truyền bị lỗi do vậy nó có thể yêu cầu một phiên truyền khác

Trang 38

e Vi điều khiển Ethernet ENC28J60

ENC28J60 là IC giao tiếp mạng Ethernet ở lớp vật lý tương ứng trong mô hình OSI Nó hỗ trợ tuyền song công trên kênh truyền có băng thông từ 10- 20Mbps Đồng thời nhằm tránh xung đột trên kênh truyền, ENC28J60 làm việc trên protocol CSMA/CD

để phát hiện và tối thiểu hóa xung đột ENC28J60 được giao tiếp với các thiết bị khác theo chuẩn SPI

Sơ đồ chân ENC28J60:

Trang 39

Sơ đồ ghép nối VDK và ENC28J60:

ENC28J60 kết nối với MCU qua chuẩn SPI chế độ 0

Tính năng của vi điều khiển Ethernet

IEEE 802.3 ™ Ethernet Controller

- Hoàn toàn tương thích với 10/100 / 1000Base-T Networks

- MAC tích hợp và 10Base-T PHY

- Hỗ trợ One 10Base-T Port tự động

- Hỗ trợ các chế độ đầy đủ và Half-Duplex

- Lập trình tự động tiếp truyền Collision

- Lập trình Padding và CRC

- Lập trình từ chối tự động khi xảy ra lỗi của gói dữ liệu

- Giao tiếp SPI với tốc độ xung clock lên đến 20 MHz

Vi điều khiển ENC28J60 là vi điều khiển hỗ trợ kết nối Ethernet loại phổ biến nhất hiện nay, được thiết kế chế tạo bởi Microchip

Phần cứng của ENC28J60 có tích hợp 2 lớp dưới nhất trong mô hình mạng nói trên (Data layer và Physical layer)

Đi kèm với phần cứng này là gói thư viện hỗ trợ của Microchip – TCP/IP

Các khối phần cứng cơ bản trong ENC28J60

- MAC module, phục vụ cho lớp liên kết dữ liệu

- PHY module, phục vụ cho việc encode (mã hoá) và decode (giải mã) dữ liệu trong lớp vật lý

- SPI interface, đây là module rất quan trọng Modul này phục vụ cho việc giao tiếp giữa vi điều khiển master (gọi là Host) với ENC28J60

Trang 40

- Một tập thanh ghi điều khiển (Control Register) phục vụ điều khiển các khối MAC, PHY

- Một tập thanh ghi dữ liệu (RAM buffer for transmitted and recived data)

Sơ đồ sử dụng ENC28J60 đế kết nối Ethernet

Ngày đăng: 27/11/2021, 23:41

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Nguyễn Đình Phú, “Thực hành Vi điều khiển nâng cao”, Trường ĐH Sư phạm Kỹ Thuật Tp. HCM, 2014 Sách, tạp chí
Tiêu đề: Thực hành Vi điều khiển nâng cao
[2] Nguyễn Văn Hiệp – Đinh Quang Hiệp, “Giáo trình Lập trình Android cơ bản”, NXB ĐH Quốc gia Tp.HCM, 2015 Sách, tạp chí
Tiêu đề: Giáo trình Lập trình Android cơ bản
Nhà XB: NXB ĐH Quốc gia Tp.HCM
[3] Nguyễn Việt Hùng – Nguyễn Ngô Lâm – Nguyễn Văn Phúc – Đặng Phước Hải Trang, “Giáo trình Kỹ thuật truyền số liệu”, NXB ĐH Quốc gia Tp. HCM, 2013 Sách, tạp chí
Tiêu đề: Giáo trình Kỹ thuật truyền số liệu
Nhà XB: NXB ĐH Quốc gia Tp. HCM
[4] Phan Vân Hoàn, “Bài giảng Vi xử lý nâng cao”, Trường ĐH Sư phạm Kỹ thuật Tp. HCM, 2015 Sách, tạp chí
Tiêu đề: Bài giảng Vi xử lý nâng cao
[5] Nguyễn Đình Phú - Trương Ngọc Anh, “Giáo trình Vi xử lý”, NXB ĐH Quốc gia Tp.HCM, 2013 Sách, tạp chí
Tiêu đề: Giáo trình Vi xử lý
Nhà XB: NXB ĐH Quốc gia Tp.HCM
[6] Hoàng Ngọc Văn, “Giáo trình điện tử công suất”, Trường ĐH Sư phạm Kỹ thuật Tp. HCM, 2007 Sách, tạp chí
Tiêu đề: Giáo trình điện tử công suất
[7] STMicroelectronics, “STM32F103VET6 Datasheet”, Aprill 2011 Sách, tạp chí
Tiêu đề: STM32F103VET6 Datasheet
[8] Microchip, “ENC28J60 Datasheet”, 13 – 02 – 2008 Sách, tạp chí
Tiêu đề: ENC28J60 Datasheet

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w