ĐỒ Á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ẾTBỊ ĐIỆN TỰ ĐỘNG TRONG NHÀ
GVHD: ThS.NGUYỄN ĐÌNH PHÚ
SVTH: NGUYỄN ANH KHOAMSSV: 12141112
SVTH: VÕ TRƯỜNG VIÊNMSSV: 12141261
Tp Hồ Chí Minh, tháng 07/2016
Trang 2KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ-CÔNG NGHIỆP
SVTH 1MSSVSVTH 2MSSV
: GVC ThS Nguyễn Đình Phú
: Nguyễn Anh Khoa: 12141112
: Võ Trường Viên: 12141261
Trang 3KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ-CÔNG NGHIỆP
Trang 4BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP
- 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ớichú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ớimodule 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 AdobeDreamweaver.
- 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.- In và hàn các mạch của hệ thống.
- Kiểm tra mạch, lắp ráp các khối vào hệ thống.- Chạy thử nghiệm hệ thống.
- Cân chỉnh hệ thống.
Trang 5III NGÀY GIAO NHIỆM VỤ: 14/03/2016IV 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ú
iii
Trang 6BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP
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 4 Nghiên cứu tài liệu, lập trình và thử nghiệm
4 – 10/4/2016 giao diện điều khiển trên màn hình cảm ứngtrên kit ARM Cortex M3 STM32F103VET6.Tuần 5 Nghiên cứu tài liệu, lập trình và thử nghiệm
11 – 17/4/2016 giao tiếp giữa module Bluetooth HC05 với kitARM Cortex M3 STM32F103VET6 Thiết kếgiao diện, lập trình ứng dụng điều khiển thiếtbị bằng Bluetooth trên điện thoại Android.Tuần 6 Nghiên cứu tài liệu, lập trình và thử nghiệm
18 – 24/4/2016 giao tiếp giữa module SIM với kit ARM CortexM3 STM32F103VET6 Thiết kế giao diện, lậptrình ứng dụng điều khiển thiết bị bằng tin nhắntrên điện thoại Android.
Tuần 7 Lập trình và thử nghiệm giao tiếp Ethenet trên
25/4 – 1/5/2016 kit ARM Cortex M3 STM32F103VET6.Tuần 8
2 – 8/5/2016
Tuần 9 Kết hợp các kết nối Bluetooth, SIM, Ethernet
9 – 15/5/2016 thành một hệ thống và chạy thử nghiệm trên kitTuần 10 ARM Cortex M3 STM32F103VET6 Kết hợp
16 – 22/5/2015 các ứng dụng điều khiển trên điện thoại
Trang 7thành một hệ thống độc lập Tính toán, lựachọn linh kiện phù hợp với mạch.
Tuần 12 Thiết kế sơ đồ nguyên lý.
Tuần 17 Hoàn thiện báo cáo và gởi cho GVHD để xem
4-10/7/2016 xét góp ý lần cuối trước khi in và báo cáo.
GV HƯỚNG DẪN(Ký và ghi rõ họ và tên)
GVC ThS Nguyễn Đình Phú
v
Trang 8Đề 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 KhoaVõ Trường Viên
Trang 9Nhó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ấtcho em hoàn thành đề tài.
Nhóm chúng em cũng gửi lời đồng cảm ơn đến các bạn bè đã chia sẻ trao đổikiến thức cũng như những kinh nghiệm quý báu trong thời gian thực hiện đề tài.
Mặc dù đã cố gắng hết sức nhưng do thời gian ngắn và kiến thức còn hạn chếnên không thể tránh khỏi những thiếu sót, rất mong nhận được những đóng góp quýbáu từ thầy cô và các bạn.
Nhóm thực hiện đề tài
Nguyễn Anh KhoaVõ Trường Viên
vii
Trang 10Trang 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
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
Trang 114.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
PHỤ LỤC
ix
Trang 12Hì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
Trang 13Hì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ạchcô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
xi
Trang 14Hì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 15Hì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
xiii
Trang 16Bả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 17Cù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 chocon 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ềukhiể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ủamì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ốngcô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 đờisố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ơicon 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ươnglai.
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ếtbị 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ànhtừ đồ án môn học 1 và 2 Nhóm đã đạt được những kết quả ngoài mong đợi và bêncạ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ùnghệ thống cũng có thể hoạt động ổn định và sát với yêu cầu ban đầu được đề ra.
xv
Trang 18Chương 1 TỔNG QUAN1.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ạnhmẽ, 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áocháy có khả năng kết nối Internet Còn tại CES 2014, Samsung đã trình làng nền tảngSamsung 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ạithô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 minhlà 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àytrong 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ạisử 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 trangweb www.idc.com thì số lượng điện thoại thông minh sử dụng hệ điều hành Androidchiế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 19Bả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ăm2015, 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ềukhiể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áttriể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ị quaBluetooth, điều khiển thiết bị qua SMS hoặc điều khiển thiết bị qua Ethernet… Sự hạnchế 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ệnnhữ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ềukhiể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ếtkế 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ếtnối như Bluetooth, SMS, Ethernet vào trong một hệ thống và có màn hình cảm ứngnê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 ứnghoặc từ xa thông qua Bluetooth, SMS, Ethernet để phù hợp nhu cầu sử dụng Hệ thốngnà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ềukhiể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ạiAndroid có cài ứng dụng điều khiển và giao diện web.
Trang 201.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ếtnố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ànhAndroid 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.
Thiết bị điều khiển trung tâm có kích thước 150mm x 140mm x 85mm.
Trang 21 Module Bluetooth cho khoảng cách điều khiển tối đa 15m trong điều kiện không có vật cản.
Module SIM900A cho khoảng cách điều khiển lớn hơn, phạm vi trong toàn bộ vùng có phủ sóng GSM.
Có thể điều khiển qua LAN thông bằng các thiết bị máy tính, điện thoại… kết nối cùng mạng LAN với hệ thống.
Hệ thống được cấp nguồn 220VAC, 4 ngõ ra 220VAC, dòng tối đa 10A. Hệ thống chỉ sử dụng trong nhà.
1.5. BỐ CỤC
Chương 1: Tổng quan.
Chương 2: Cơ sở lý thuyết.
Chương 3: Thiết kế và tính toán.
Chương 4: Thi công hệ thống.
Chương 5: Kết quả, nhận xét và đánh giá.
Chương 6: Kết luận và hướng phát triển.
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 22Chươ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ồncấ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ểnthị 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 quaBluetooth 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ạngLAN 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 23thấy như họ ARM, PIC, AVR, 8051 Do yêu cầu hệ thống cũng như tính ổn định, linhhoạ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ómsử dụng phiên bản STM32F103VET6.
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 ARMtrở 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ìmthấ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.
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àonă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ấtvà 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ộ vixử 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 24vào thời đó, không hề chứa cache Sự đơn giản này đưa đến đặc điểm tiêu thụ côngsuấ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ợptá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 RISCMachines 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ệuApple Newton Vào năm 1994, Acorn dùng ARM 610 làm CPU trong các máy vi tínhRiscPC 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 ARM2có 30.000 transistors trong khi ARM6 chỉ tăng lên đến 35.000 Ý tưởng của nhà sảnxuấ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ùychọ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ữngnhà 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ăngmà 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à SegaDreamcast 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ệ StrongARM 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ảnphẩ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ảmviệ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òng ARM Cortex là một bộ xử lí thế hệ mới đưa ra một kiến trúc chuẩn cho nhucầ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õixử 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 ứngdụ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 26khiển và chi phí thấp STM32 được thiết kế dựa trên dòng M3, dòng 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ănglượ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.
Cortex-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 để truycậ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ệctruy 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 Decodevà Instruction Execute Khi gặp một lệnh nhánh, tầng decode chứa một chỉ thị nạp lệnhsuy đ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ánhtrong giai đoạn giải mã Sau đó, trong giai đoạn thực thi, việc rẽ nhánh được giải
Trang 27quyế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ánhkhô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 chukỳ.
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ácgiao 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 đặcbiệ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ứctruy 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ệccà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 đặcquyề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ạilệ (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áchoạ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ùngmã 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 28Hì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áchệ 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ớ baogồm hai vùng bit-band (mỗi vùng 1MB) trong SRAM và vùng bí danh 32MB của vùngkhông gian ngoại vi (Mỗi byte trong vùng bí danh sẽ tương ứng với một bit trong vùngbit-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ể, khighi 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ỏ đượcnữ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ểmtừ 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í trungtâ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áchệ 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ự sautê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ùngphứ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 ứngdụ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ấpnhấ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.
Hình 2.3 Vi điều khiển STM32F103VET6
Trang 30 Thông số kỹ thuật
Bảng 2.1 Thông số kỹ thuật STM32F103VET6
Tài liệu kiên quan STM32F103VE View All Specifications
Giao tiếp CAN, I²C, IrDA, LIN, SPI, UART/USART, USB
Nhiệt độ hoạt động -40°C ~ 85°C
Trang 32Hình 2.4 Sơ đồ chân STM32F103VET6
2.2.2 Ethernet – ENC28J60a 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ạngdựa khung dữ liệu (frame-based) dành cho mạng LAN Tên Ethernet xuất phát từ kháiniệ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ềukhiể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ạngchung 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ữngnă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ênthế giới, trạm Xerox Alto Trạm Ethernet đầu tiên chạy với tốc độ xấp xỉ 3-Mbps và đượcbiế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ởiliê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ôngnhậ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 33đ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ệ DIXEthernet Mọi hệ thống Ethernet từ năm 1985 đều được xây dựng dựa trên chuẩn IEEE802.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ìnhthứ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ạnhtranh khác như Ethernet cáp đồng trục (coaxial cable), token ring, FDDI (Fiberdistributed data interface), và ARCNET Trong những năm gần đây, Wi-Fi, dạng LANkhông dây đã được chuẩn hóa bởi IEEE 802.11, đã được sử dụng bên cạnh hoặc thaythế 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áytí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ênEthernet.
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ácmảng truyền thông vật lí, thiết lập quy tắc truy cập trung gian cho Ethernet và cáckhung 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ẩnIEEE 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àngtrong 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 34Hì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ý truynhậ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ịchvụ 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 e-mail, Telnet, HTTp, FPT, SMTP…
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ệuvà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ếtlậ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ớpvậ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ànhthô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 35 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 đếnmạ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ôngthể 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ácgó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ước10kb đ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íchthướ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ớpnà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àyliên quan đến:
- Cơ chế truy cập đường truyền
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ớpcon:
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ó cungcấ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 truycậ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 36thể 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ạmcùng truy cập chia sẻ môi trường truyền, để định danh mỗi trạm, lớp cho MAC địnhnghĩa một trường địa chỉ phần cứng, gọi là địa chỉ MAC address Địa chỉ MAC là mộtcon số đơn nhất đối với mỗi giao tiếp LAN (card mạng).
Đị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íchhoạ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ểmtrong 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.
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ạmkhá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ớiEthernet thông qua một đường truyền tín hiệu chung còn gọi là đuờng trung gian Tínhiệu Ethernet được gửi theo chuỗi, từng bit một, qua đường trung gian tới tất cả cáctrạ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ậptrung gian (Medium Access Control-MAC) được đặt trong mỗi trạm MAC thực thidựa trên cơ sở sự phát hiện va chạm sóng mang (CSMA/CD).
Trang 37 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ínhiệ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ếpmạ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 trongmạng (Đa truy nhập) Trong quá trình truyền từ đầu này tới đầu kia của Ethernet, nhữngbí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ếpmạ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ậpkênh chung cho mọi trạm trong mạng Sau khi gói tin được gửi đi mỗi trạm trongmạng sẽ sủ dụng giao thức CSMA/CD để xem trạm nào sẽ được gửi tiếp sau.
Hình 2.6 Mô hình CSMA/CD
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 đangva 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ặcphầ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ộtsố 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ườngEthernet 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ạmthì khả năng huỷ bỏ càng lớn.
Trang 38 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 Khungtrong 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:
Hình 2.7 Một Frame truyền dữ liệu
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ỗimá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ạngchú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ạngthì đị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àomỗ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 39e Vi điều khiển Ethernet ENC28J60
Hình 2.8 Vi điều khiển ENC28J60
ENC28J60 là IC giao tiếp mạng Ethernet ở lớp vật lý tương ứng trong mô hìnhOSI Nó hỗ trợ tuyền song công trên kênh truyền có băng thông từ 10- 20Mbps Đồngthời nhằm tránh xung đột trên kênh truyền, ENC28J60 làm việc trên protocolCSMA/CD để phát hiện và tối thiểu hóa xung đột ENC28J60 được giao tiếp với cácthiết bị khác theo chuẩn SPI.
Sơ đồ chân ENC28J60:
Hình 2.9 Sơ đồ chân ENC28J60
Trang 40Sơ đồ ghép nối VDK và ENC28J60:
ENC28J60 kết nối với MCU qua chuẩn SPI chế độ 0.
Hình 2.10 Sơ đồ ghép nối VĐK với ENC28J60
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.
- 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.
Đ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.