MẠNG PHỨC HỢP SUB-GHZ TRONG ĐIỀU KHIỂN CÁC THIẾT BỊ ĐIỆN (có code và sơ đồ mạch) MẠNG PHỨC HỢP SUB-GHZ TRONG ĐIỀU KHIỂN CÁC THIẾT BỊ ĐIỆN (có code và sơ đồ mạch) MẠNG PHỨC HỢP SUB-GHZ TRONG ĐIỀU KHIỂN CÁC THIẾT BỊ ĐIỆN (có code và sơ đồ mạch) MẠNG PHỨC HỢP SUB-GHZ TRONG ĐIỀU KHIỂN CÁC THIẾT BỊ ĐIỆN (có code và sơ đồ mạch) MẠNG PHỨC HỢP SUB-GHZ TRONG ĐIỀU KHIỂN CÁC THIẾT BỊ ĐIỆN (có code và sơ đồ mạch)
Trang 1BỊ ĐIỆN
Trang 2DANH MỤC CÁC TỪ VIẾT TẮT XI
CHƯƠNG 1 GIỚI THIỆU TỔNG QUAN VỀ ĐỀ TÀI 1
1.1 GIỚI THIỆU 1
1.1.1 Tên đề tài 1
1.1.2 Lý do chọn đề tài này 1
1.1.3 Mục đích nghiên cứu 1
1.1.4 Giả thiết khoa học 2
1.1.5 Cơ sở phương pháp luận và phương pháp nghiên cứu 2
CHƯƠNG 2 NỘI DUNG CỦA ĐỀ TÀI 3
2.1 CƠ SỞ LÝ THUYẾT 3
2.1.1 Tìm hiểu PIC32MX250F128B 3
2.1.2 Tìm hiểu PIC16LF18325 7
2.1.3 Tìm hiểu SI4464 9
2.1.4 Tìm hiểu Telit UE866 3G module 10
2.1.5 Tìm hiểu giao tiếp UART 14
2.1.6 Tìm hiểu giao tiếp I 2 C 16
2.1.7 Tìm hiểu giao tiếp SPI 18
2.1.8 Quá trình truyền nhận giữa các module 21
2.1.9 Mã hóa XTEA 22
2.1.10 Chip nhớ 24AA16 24
2.2 SƠ ĐỒ KHỐI 25
2.3 SƠ ĐỒ GIẢI THUẬT 28
2.4 SƠ ĐỒ NGUYÊN LÝ 35
Trang 34.2 HƯỚNG PHÁT TRIỂN 38
TÀI LIỆU THAM KHẢO 39
DANH MỤC CÁC HÌNH
Trang 4HÌNH 2-4: SƠ ĐỒ CHÂN PIC16LF18325 [3] 7
HÌNH 2-5: SƠ ĐỒ ĐƠN GIẢN GIAO TIẾP UART [2] 15
HÌNH 2-6: SƠ ĐỒ ĐƠN GIẢN GIAO TIẾP I 2 C [2] 17
HÌNH 2-7: TÍNH NĂNG SPI [2] 18
HÌNH 2-8: SƠ ĐỒ ĐƠN GIẢN GIAO TIẾP SPI [2] 19
HÌNH 2-9: GIAO TIẾP TỪ MASTER ĐẾN SLAVE [2] 20
HÌNH 2-10: QUÁ TRÌNH TRUYỀN NHÂN DỮ LIỆU 21
HÌNH 2-11: SƠ ĐỒ MÃ HÓA XTEA 23
HÌNH 2-12: SƠ ĐỒ CHÂN 24AA16 [6] 24
HÌNH 2-13: SƠ ĐỒ KHỐI TOÀN HỆ THỐNG 25
HÌNH 2-14: SƠ ĐỒ KHỐI TỔNG QUÁT 25
HÌNH 2-15: SƠ ĐỒ KHỐI HOST BOARD 26
HÌNH 2-16: SƠ ĐỒ KHỐI CLIENT BOARD 27
HÌNH 2-17: LƯU ĐỒ GIẢI THUẬT CỦA HOSTBOARD 28
HÌNH 2-18: LƯU ĐỒ GIẢI THUẬT CỦA CLIENTBOARD 29
HÌNH 2-19: TRUYỀN DỮ LIỆU ĐI KHÁC NHAU 30
HÌNH 2-20: CHUYỂN DỮ LIỆU VỀ DỮ LIỆU GỐC 31
HÌNH 2-21: QUÁ TRÌNH NHẬN DỮ LIỆU CỦA CÁC MODULE 32
HÌNH 2-22: QUÁ TRÌNH TRUYỀN DỮ LIỆU GIỮA CÁC MODULE 33
HÌNH 2-23: SƠ ĐỒ GIAO THỨC GIAO TIẾP RF 34
HÌNH 2-24: SƠ ĐỒ NGUYÊN LÝ MẠCH CLIENT BOARD 35
HÌNH 2-25: SƠ ĐỒ NGUYÊN LÝ MẠCH HOST BOARD 36
Y HÌNH 3-1: KẾT QUẢ HIỂN THỊ TRÊN TERMINAL 37
HÌNH 3-2: KẾT QUẢ PHẢN HỒI TIN NHẮN 38
Trang 5BẢNG 2: THÔNG SỐ KỸ THUẬT CỦA PIC16LF18325 [3] 8 BẢNG 3: CHỨC NĂNG CỦA CÁC LỆNH AT [5] 12
Trang 7IEEE Institude of Electrical and Electronics Engineers
USB OTG Universal Serial Bus On To Go
UART Universal Synchronous & Asynchoronous Serial Reveiver and
Transmitter
Trang 8CHƯƠNG 1 GIỚI THIỆU TỔNG QUAN VỀ ĐỀ TÀI
1.1 Giới thiệu
1.1.1 Tên đề tài
- Mạng phức hợp SUB-GHz và GSM trong điều khiển các thiết bị
1.1.2 Lý do chọn đề tài này
- Giảm thiểu số lượng dây dẫn
- Không gây ảnh hưởng đến các thiết bị khác khi cần lắp đặt mới
- Có thể điều khiển khi người sử dụng không ở gần thiết bị
- Tiết kiệm năng lượng, chi phí thấp
1.1.3 Mục đích nghiên cứu
- SUB-GHz hoạt động ở dãy tần số 27 MHz đến 960 MHz, khoảng cách vàitrăm mét (WIFI thông thường không làm được điều này), tốc độ 500 kbps,phù hợp để điều khiển và thu thập dữ liệu cho 1 thiết bị điện, năng lượng vàgiá thành cho mỗi module thấp hơn nhiều so với module GSM hay WIFI
- GSM giúp điều khiển thiết bị khi người điều khiển ở xa Giá thành cao, nănglượng lớn
- Kết hợp SUB-GHz và GSM để giảm chi phí, giảm năng lượng, điều khiểnlinh động
1.1.4 Giả thiết khoa học
- Ứng dụng các công nghệ truyền dữ liệu không dây vào các ứng dụng điềukhiển thiết bị điện, góp phần xây dựng hệ thống IoT Trước hạn chế vềkhoảng cách của WIFI, việc điều khiển thiết bị điện cách xa nhau đến hàng
Trang 9Silab với ưu điểm về năng lượng và khoảng cách lên đến 300 m với chi phíthấp trở thành giải pháp có thể thay thế WIFI.
1.1.5 Cơ sở phương pháp luận và phương pháp nghiên cứu
- Việc sử dụng SUB-GHz lại không thể kết nối được internet như WIFI, giảipháp cho vấn đề này là phối hợp SUB-GHz với công nghệ 3G Như vậy, giảipháp thay thế WIFI trong điều khiển thiết bị điện là sự kết hợp SUB-GHz với3G Hệ thống sẽ bao gồm 2 thiết bị chính: Host và Client Trong đó, Hostđóng vai trò như Router vừa kết nối - điều khiển các thiết bị Client và vừakết nối internet Đây là thiết bị trung gian tương tác giữa người dùng vớithiết bị điện cần điều khiển Client là thiết bị sẽ gắn với thiết bị điện, đóngvai trò như 1 công tắc và thiết bị này kết nối đến Host
CHƯƠNG 2 NỘI DUNG CỦA ĐỀ TÀI
Trang 10Hình 2-1: Sơ đồ chân PIC32MX [1]
Lõi MCU bao gồm các tính năng cơ bản
RISC MIPS32 M4K lõi 32 bit
Một chu kỳ ALU
Đường ống dẫn 5 gia đoạn
32 bit địa chỉ và 32 bit data buses
Tập lệnh tương thích MIPS32
Trang 11Hình 2-2: Sơ đồ đơn giản MCU [2]
Trang 12Hình 2-3: Đường dẫn CPU đơn giản [2]
- Bộ điều khiển PIC32MX cung cấp 4 GB không gian địa chỉ bộ nhớ ảo thốngnhất Tất cả bộ nhớ khu vực, bao gồm các bộ nhớ chương trình, bộ nhớ dữliệu, SFRs, và đăng ký cấu hình trong không gian địa chỉ Chương trình và
bộ nhớ dữ liệu có thể được tuỳ chọn phân vùng thành bộ nhớ người dùng.Ngoài ra, bộ nhớ dữ liệu có thể được thực thi, cho phép PIC32MX thực hiệntừ bộ nhớ dữ liệu
- Các tính năng chính của bộ nhớ PIC32MX bao gồm
Chiều rộng dữ liệu gốc 32 bit
Không gian địa chỉ dành cho người dùng và chế độ kernel
Chương trình linh hoạt phân vùng bộ nhớ Flash
Trang 13- Bộ nhớ hệ thống cung cấp Flash
Có thể sử dụng cho bộ nhớ chương trình hoặc dữ liệu, cho phép bộnhớ chương trình xoá bằng điện hoặc được lập trình theo phần mềm
Kiểm soát trong quá trình vận hành bình thường
Dòng sản phẩm PIC32MX có tốc độ thực hiện trực tiếp từ chươngtrình Flash thông qua việc sử dụng bộ đệm nạp trước trên chip bằngmodule Prefetch
- Ở ứng dụng này, chúng ta chỉ sử dụng ngoại vi: USB, SPI, I2C, UART,External Interrupt và GPIO
Trang 14 Dao động nội lên đến 32 MHz.
Tốc độ 8MIPS ở 32 MHz
Ngoại vi kết nối đến IO có thể lập trình được Chức năng này giúp quá trình thiết kế phần cứng linh hoạt hơn
Hình 2-4: Sơ đồ chân PIC16LF18325 [3]
- Vi điều khiển tính năng Analog, Core thiết bị ngoại vi độc lập và truyềnthông
- Thiết bị ngoại vi kết hợp với eXtreme Low Power cho mục đích chung vàứng dụng năng lượng thấp
- Chức năng chọn pin vòng tròn cho phép lập bản đồ pin khi sử dụng các thiết
bị ngoại vi số PWM và truyền thông để thêm tính linh hoạt cho việc thiết kếứng dụng
Trang 15 Core tốc độ vận hành DC 32 MHz, 125 ns chu kỳ, 4 bộ hẹn giờ 8 bit,
ADC 11 channel, 10 bitĐiện áp 1.8 V đến 5.5 V
Bảng 2: Thông số kỹ thuật của PIC16LF18325 [4]
2.1.3 Tìm hiểu SI4464
- Module SUB-GHz SI4464 - 868.925 MHz: Truyền dữ liệu với Host, các thiết
bị đo lường
Trang 16- RP.SILABMODULE là module RF, thiết kế nhỏ gọn, có hiệu năng cao, dòngđiện thấp, thu phát bao gồm các dãy tần số phụ GHz từ 119 đến 1050 MHz.Thiết bi ̣có thể đáp ứng đươc ̣ các tiêu chuẩn quy định trên thế giới: FCC,ETSI và ARIB Tất cả các thiết bi ̣đươc ̣ thiết kế phù hơp ̣ với chuẩn 802.15.4g
và chuẩn đo lường thông minh WMbus
- Giao diện TTL RS232
- Nhiệt độ cấp độ công nghiệp
- Tiêu thụ thấp cho các ứng dụng chạy bằng pin
- Tính năng
Dải tần số: 119- 1050 MHz
Nhâṇ đô ̣nhạy: -126 dBm
Công suất ra tối đa: + 20 dBm
Điêṇ năng tiêu thu ̣thấp: 10/13 mA RX
Chế đô ̣dòng điêṇ cưc ̣ thấp tắt điện: 30 nA Shutdown, 50 nA standby
Dải dữ liệu: 100 bps đến 1 Mbps
Nguồn hổ trợ: 1.8 V đến 3.6 V
Bộ xử lý có cấu hình cao
TX và RX 64 byte FIFOs
Điều khiển tần số tự động (AFC)
Kiểm soát tự động ( AGC)
Trang 17 20 chân QFN.
Phù hợp IEEE 802.15.4g
- Ứng dụng
Đo lường thông minh (802.15.4g & MBus)
Điều khiển từ xa
Nhà an ninh và báo động
Đo từ xa
2.1.4 Tìm hiểu Telit UE866 3G module
- Lệnh AT được thiết kế bởi tổ chức IUT-T, là module nhỏ nhất trong danhmục 3G của Telit và là một UMTS sản phẩm truyền thông dựa trên lõi 3Gmới nhất của thị trường
- Tính năng của UE866
UE866-N3G (Bắc Mỹ, chỉ có 3G)
UMTS băng tần kép, HSPA 900/2100 MHz
Băng tần kép GSM, GPRS 900/1800 MHz
Điều khiển qua các lệnh AT theo 3GPP
IP stack với giao thức TCP và UDP
- Giao diện 7 cổng I/O tối đa có chức năng
I2S cho giao diện âm thanh số
Trang 19\r\nOK\r\n
Xoá hết tin nhắnAT#REBOOT\r
Data
AT+CMGR=idx
\r\n+CMGR: "RECUNREAD","+84902597093","
","17/12/14,09:33:08+28"
000000 KICHHOAT882288\r\n
\r\nOK\r\n
\r\n+CMGR: "RECREAD","+84902597093","","
17/12/14,09:33:08+28"
000000 KICHHOAT882288\r\n
\r\nOK\r\n
\r\nOK\r\n
Đọc tin nhắn được lưu
AT+CSQ\r \r\n+CSQ: x,y,z\r\n\r\nOK\r\n
Kiểm tra cường độ tínhiệu sóng mangx=[15:31] là đạt, giá trịkhác là lỗi hoặc sóng
yếu
Bảng 3: Chức năng của các lệnh AT [5]
Phản hồi tư thiết bi
PIN mặc định là 1234 Sai PIN quá
3 lần phải chờ 15min mới thao tác lại được
Da KH
<PIN mới> Sai PIN lan x
Sai 3 lan! Reboot hoac cho 15min
THEM<space><PIN
><space><UID><spa
ce><tên TB>
THEM 5678 ABCDEF DEN1
Thêm thiết bị có:UID là ABCDEF
tên thiết bị tối đa 9 kí tự, không được
Dathem
<tênTB> Trung ten
Trang 20Tên trong mạng là DEN1
đặt tên ALL hoac UID
XOA<space><PIN><
space><UID><space
><tên TB>
XOA 5678 AABBCCDDEEFF DEN1
Xoá thiết bị ra khỏi mạng
Da xoa <tên TB>
Khong co thiet bi de xoa
BAT<space><tên
TB1>,< >,<tên
TBn>
BAT DEN1,QUAT1,BOM1 BAT ALL
Bật thiết bị chỉ định hoặc bật hết
Không quá 5 thiết bị
Da bat: <tên TB1>,<…
>,<tên TBn>
Da bat tat ca Khong co thiet bi de bat
TAT<space><tên
TB1>,< >,<tên
TBn>
TAT DEN1,QUAT1,BOM1 BAT ALL
Tắt thiết bị chỉ định hoặc bật hết
Không quá 5 thiết bị
Da tat: <tên TB1>,<…
>,<tên TBn>
Da tat tat ca Khong co thiet bi de tat
TRANGTHAI TRANGTHAI
Kiểm tra trạng thái các thiết
Trả về tin nhắn từ tổng đài gửi đến SIM thiết bị
hồi
Bảng 4: Các lệnh điều khiển bằng tin nhắn
2.1.5 Tìm hiểu giao tiếp UART
Trang 21- Là một trong những I/O nối tiếp các module có sẵn trong các thiết bịPIC32MX, một full-duplex không đồng bộ kênh truyền thông liên lạc với cácthiết bị ngoại vi và máy tính cá nhân thông qua các giao thức như RS-232,RS-485 và IrDA.
- Các tính năng chính của UART
Truyền dữ liệu full-duplex, 8 bit hoặc 9 bit
Một hoặc hai bit Stop
Tính năng tự động cập nhật phần cứng
Tuỳ chọn kiểm soát lưu lượng phần cứng
Tốc độ Baud Rate được tích hợp đầy đủ với 16 bit
Tốc độ Baud từ 76 bps đến 80 MHz
Bộ đếm dữ liệu đầu tiên – ra đầu tiên (FIFO) 4 cấp
Tính chẵn lẻ, khung và phát hiện lỗi tràn bộ đệm, hỗ trợ ngắt chỉ trênđại chỉ phát hiện, truyền và nhận gián đoạn riêng biệt
Hình 2-5: Sơ đồ đơn giản giao tiếp UART [2]
- Có 2 loại truyền dẫn
Trang 22 Đồng bộ đòi hỏi người gửi và người nhận chia sẻ clock với nhau hoặcngười gửi cung cấp một đèn nhấp nháy hoặc tín hiệu thời gian thờigian khác để người nhận biết khi nào đọc bit tiếp theo dữ liệu Phầncứng truyền thông nối tiếp tiêu chuẩn trong máy tính không hỗ trợ cáchoạt động đồng bộ.
Không đồng bộ cho phép người truyền dữ liệu mà không cần ngườigửi và người nhận một tín hiệu Thay vào đó người gửi và người nhậnđồng ý với thông số thời gian trước và các bit được thêm vào được sửdụng để đồng bộ hoá các đơn vị gửi và nhận Khi 1 tín hiệu được đưa
ra cho UART cho việc truyền không đồng bộ, 1 bit start được truyền
đi Cách báo người nhận dữ liệu sắp được gửi để đồng bộ máy thu vàmáy phát Bit LSB được gửi đi tiếp theo truyền đúng thời gian cho tất
cả các bit khác và người nhận xác định xem bit là bit 1 hay bit 0 Khitoàn bộ dữ liệu được gửi, máy phát thêm 1 parity bit mà nó tạo ra bitchẵn lẻ có thể tạo ra bởi người nhận để thực hiện kiểm tra lỗi Sau đó
ít nhất 1 stop bit được gởi bởi máy phát Nếu stop bit không xuất hiện,UART xem toàn bộ dữ liệu bị cắt xén và báo 1 framing error
2.1.6 Tìm hiểu giao tiếp I2C
- Được sử dụng rộng rãi bởi nhiều thiết bị điện tử vì dễ dàng triển khai liên lạcgiữa thiết bị Host và Client
- Triển khai thực tế chỉ cần 2 dây để liên lạc giữa khoảng gần 128 thuê bao khi
sử dụng 7 bit và 1024 thuê bao khi sử dụng 10 bit
- Mỗi thiết bị có 1 ID cài sẵn hoặc địa chỉ duy nhất để master giao tiếp
- Bus I2C hoạt động thấp cần điện trở 2 K tốc độ lên đến khoảng 400 Kbps đến
10 K tốc độ khoảng 100 Kbps
Trang 23- Trong hệ thống đa master, sự va chạm xung đột với các hệ thống khác đượcphát hiện và báo cáo cho ứng dụng (BCOL ngắt) Phần mềm có thể chấm dứt
và sau đó khởi động lại truyền tin
Hình 2-6: Sơ đồ đơn giản giao tiếp I 2 C [2]
Trang 242.1.7 Tìm hiểu giao tiếp SPI
- Là giao diện ngoại vi nối tiếp, đồng bộ cung cấp giao tiếp full duplex với tốc
độ cao, đồng bộ hữu ích cho giao tiếp giữa các thiết bị bên ngoài và các thiết
bị điều khiển khác
- Những thiết bị ngoại vi có thể được serial EEFROMs, đăng ký thay đổi, trìnhđiều khiển hiển thị, A/D chuyển đổi
- Hỗ trợ chế độ master và slave với 4 dạng đồng bộ khác nhau
- Chiều rộng khung dữ liệu 8 bit, 16 bit và 32 bit của người dùng
- Cung cấp giao diện đơn giản và chi phí thấp giữa một vi điều khiển và thiết
bị ngoại vi
Hình 2-7: Tính năng SPI [2]
Trang 25Hình 2-8: Sơ đồ đơn giản giao tiếp SPI [2]
Trang 26 CS và SS được sử dụng để chọn một slave cho master.
Hình 2-9: Giao tiếp tư master đến slave [2]
Trang 27Hình 2-10: Quá trình truyền nhân dữ liệu
2.1.9 Mã hóa XTEA
- Mã hóa XTEA viết tắt là Extended Tiny Encryption Aglorithm, được thiết kếbởi David Wheeler and Roger Needham trong phòng thí nghiệm Cambridge
Trang 28- XTEA là dạng mã hóa mật mã khối, khối lượng khối 64 bit, khóa bí mật 64bit.
- Theo Tiny đây là thủ thuật đơn giản, dễ code áp dụng cho hệ thống cấu hìnhphần cứng
- Số vòng lặp từ 32 trở lên, đây là thủ thuật mã hóa rất mạnh
Trang 29Hình 2-11: Sơ đồ mã hóa XTEA
Trang 30- Trang ghi lên đến 16 byte dữ liệu, tiêu chuẩn 8 pin DIP và 8 lead.
Hình 2-12: Sơ đồ chân 24AA16 [6]
Trang 31Hình 2-13: Sơ đồ khối toàn hệ thống
- Sơ đồ khối tổng quát
Hình 2-14: Sơ đồ khối tổng quát
- Sơ đồ khối host board:
Trang 32Hình 2-15: Sơ đồ khối host board
Nguồn PC
Internet
MCU (Pic 32MX250F128B)
3G
Flash Sub GHz
( SI 4464 )
Trang 33Hình 2-16: Sơ đồ khối client board
2.3 Sơ đồ giải thuật
(Pic 16lf18325)
Thiết bi (quạt, đèn… )
Trang 34Hình 2-17: Lưu đồ giải thuật của Hostboard
Trang 35Hình 2-18: Lưu đồ giải thuật của Clientboard
Trang 36Hình 2-19: Truyền dữ liệu đi khác nhau
Trang 37Hình 2-20: Chuyển dữ liệu về dữ liệu gốc
Trang 38Hình 2-21: Quá trình nhận dữ liệu của các module
Trang 39Hình 2-22: Quá trình truyền dữ liệu giữa các module
Trang 412.4 Sơ đồ nguyên lý
- Sơ đồ nguyên lý mạch client board
Hình 2-24: Sơ đồ nguyên lý mạch client board
Trang 42- Sơ đồ nguyên lý mach host board
Hình 2-25: Sơ đồ nguyên lý mạch host board
Trang 43CHƯƠNG 3 KẾT QUẢ THỰC NGHIỆM
3.1 Kết quả thực nghiệm
- Khoảng cách giao tiếp giữa các RF khoảng từ 300 đến 350m
Từ tầng trệt tòa nhà A đến tầng 10 tòa nhà A
Từ sảnh A đến tòa nhà D
- Kết quả hiển thị trên Terminal được giải thích như sau:
6 chữ số đầu tiên là số UID của mỗi thiết bị
Số “0”, “1” ở cuối là hiển thị tình trạng đóng ngắt của thiết bị “0”thiết bị ở trạng thái ngắt, “1” thiết bị ở trạng thái đóng
Hình 3-1: Kết quả hiển thi trên Terminal
Trang 44Hình 3-2: Kết quả phản hồi tin nhắn
3.2 Mô hình mô phỏng
Trang 45Hình 3-3: Mô hình mô phỏng thực tế
Trang 46- Quá trình truyền nhận giữ liệu được bảo mật
4.2 Hướng phát triển
- Kết hợp với Internet để điều khiển thiết bị
- Tăng số điện thoại người cùng điều khiển thiết bị
Trang 47TÀI LIỆU THAM KHẢO
Trang 51{
if(Check_Crc(SIBuf.Payload, SIBuf.Idx))// check CRC {
XTEA(SIBuf.Payload, PIN, DECRYPT); // Decrypt
SIBuf.Idx=UnMask(SIBuf.Payload, SIBuf.Idx); // Unmask SIBuf.Idx-=2; // Remove 2-CRC bytes