Tải bản đầy đủ (.pdf) (51 trang)

Điều khiển giám sát thiết bị qua internet

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.49 MB, 51 trang )

MỤC LỤC
DANH MỤC CÁC HÌNH VẼ .......................................................................................... IV
DANH MỤC CÁC BẢNG BIỂU ..................................................................................... VI
DANH MỤC CÁC TỪ VIẾT TẮT................................................................................. VII
CHƯƠNG 1. TỔNG QUAN VỀ ĐỀ TÀI .......................................................................... 1
1.1 GIỚI THIỆU ĐỀ TÀI. ............................................................................................................. 1
1.2 MỤC ĐÍCH NGHIÊN CỨU. ................................................................................................... 1
1.3 GIỚI HẠN ĐỀ TÀI. ................................................................................................................. 1

CHƯƠNG 2. CƠ SỞ LÝ THUYẾT ................................................................................... 2
2.1 LÝ THUYẾT VỀ MẠNG. ....................................................................................................... 2
2.1.1 Kiến thức cơ bản. .............................................................................................................. 2
2.1.1.1 Khái niệm cơ bản. ...................................................................................................... 2
2.1.1.2 Mô hình OSI (Open Systems Interconnet). ................................................................. 2
2.1.1.3 Tổng quan về giao thức TCP/IP. ................................................................................ 3
2.1.1.4 Một số giao thức cơ bản trong TCP/IP ...................................................................... 6
2.1.2 TCP/IP Stack ..................................................................................................................... 9
2.1.2.1 Cấu trúc TCP/IP Stack ............................................................................................... 9
2.1.2.2 Hoạt động của TCP/IP Stack. .................................................................................. 10
2.1.2.3 Các file cần thiết. ..................................................................................................... 10
2.1.3 Công nghệ Ethernet......................................................................................................... 12
2.1.3.1 Giới thiệu chung về Ethernet. .................................................................................. 12
2.1.3.2 Các đặc tính chung của Ethernet. ............................................................................ 12
2.1.3.3 Hoạt động của Ethernet. .......................................................................................... 14
2.1.3.4 Các loại mạng Ethernet. .......................................................................................... 16
2.2 IC GIAO TIẾP MẠNG ENC28J60........................................................................................ 16
2.2.1 Cấu trúc và chức năng. ................................................................................................... 17
2.2.2 Chức năng các chân của ENC28J60............................................................................... 17
Điều khiển và giám sát thiết bị
thông qua mạng Internet


SVTH: NGUYỄN TẤN HIẾU


2.2.3 Các khối cơ bản trong ENC28J60. ................................................................................. 17
2.2.4 Kết nối với các thiết bị ngoại vi. ..................................................................................... 18
2.2.5 Các thông số kỹ thuật. ..................................................................................................... 18
2.3 VI ĐIỀU KHIỂN 18F4620. ................................................................................................... 19
2.3.1 Sơ lược về vi điều khiển PIC 18F4620: .......................................................................... 19
2.3.2 Hình dạng và sơ đồ chân................................................................................................. 20
2.3.3 Các cổng xuất nhập của 18F4620. ................................................................................. 20
2.3.4 Giao tiếp SPI. .................................................................................................................. 24
2.3.4.1 Giới thiệu về giao tiếp SPI ....................................................................................... 24
2.3.4.2 Khởi tạo chế độ SPI. ................................................................................................ 24
2.3.4.3 Thanh ghi ................................................................................................................. 25
2.3.4.4 Cho phép SPI vào hoặc ra. ...................................................................................... 28
2.3.4.5 Chế độ chủ ............................................................................................................... 28
2.3.4.6 Chế độ tớ. ................................................................................................................. 29
2.4 CỔNG MẠNG RJ45. ............................................................................................................. 30
2.5 LCD 16X2. ............................................................................................................................. 30
2.6 RELAY. ................................................................................................................................. 31
2.7 MODULE AM2301-CẢM BIẾN NHIỆT ĐỘ VÀ ĐỘ ẨM(DHT21). .................................. 32
2.8 CẢM BIẾN HỒNG NGOẠI IR333-A ................................................................................... 33

CHƯƠNG 3. THIẾT KẾ PHẦN CỨNG ......................................................................... 34
3.1 SƠ ĐỒ KHỐI CỦA HỆ THỐNG. ......................................................................................... 34
3.2 THIẾT KẾ SƠ ĐỒ MẠCH. ................................................................................................... 34
3.2.1 Khối nguồn ...................................................................................................................... 35
3.2.2 Khối vi xử lý .................................................................................................................... 35
3.2.3 Khối giao tiếp mạng ........................................................................................................ 36
3.2.4 Khối LCD hiển thị ........................................................................................................... 36

3.2.5 Khối thiết bị .................................................................................................................... 37

Điều khiển và giám sát thiết bị
thông qua mạng Internet

SVTH: NGUYỄN TẤN HIẾU


3.2.6 Khối giám sát .................................................................................................................. 37
3.2.7 Khối cổng RJ45 ............................................................................................................... 38

CHƯƠNG 4. THIẾT KẾ PHẦN MỀM ........................................................................... 39
4.1 LƯU ĐỒ GIẢI THUẬT......................................................................................................... 39
4.2 CHƯƠNG TRÌNH ĐIỀU KHIỂN CỦA HỆ THỐNG MÔ PHỎNG. ................................... 40
4.3 NGÔN NGỮ HTML (HYPER TEXT MARKUP LANGUAGE). ........................................ 40
4.4 CÁC LỆNH CƠ BẢN TRONG HTML. ................................................................................ 40
4.5 DEMO MẠCH ....................................................................................................................... 43

CHƯƠNG 5. KẾT LUẬN ................................................................................................. 47
5.1 NHỮNG KẾT QUẢ CHÍNH THỰC HIỆN ĐƯỢC .............................................................. 47
5.2 ĐÁNH GIÁ NHỮNG KẾT QUẢ ĐẠT ĐƯỢC .................................................................... 47
5.3 HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI.................................................................................. 47

TÀI LIỆU THAM KHẢO.................................................................................................48

Điều khiển và giám sát thiết bị
thông qua mạng Internet

SVTH: NGUYỄN TẤN HIẾU



ĐỒ ÁN TỐT NGHIỆP
Trang 1/48

CHƯƠNG 1. TỔNG QUAN VỀ ĐỀ TÀI
1.1 Giới thiệu đề tài.
Mục tiêu chính của đề tài này là thiết kế một hệ thống có thể điều khiển thiết bị thông
qua mạng Internet.
Hệ thống điều khiển qua mạng Internet là nền tảng của một hệ thống nhà thông minh
hệ thống giúp mọi người có thể quản lý và điều khiển thiết bị ở một khoảng cách xa.
Ứng dụng điều khiển qua mạng Internet đã được áp dụng rộng rãi trên thế giới tại các
nước đã và đang phát triển. Ở Việt Nam cũng được phát triển mạnh mẽ và một số
công ty đã đưa vào sử dụng thực tế một số ứng dụng như: giám sát ngôi nhà qua
internet, hệ thống báo trộm qua Ipad, IPhone…
1.2 Mục đích nghiên cứu.
Mục đích đề tài tiến hành nghiên cứu là: trước tiên đây chính là cơ hội tốt để em có
thể tự kiểm tra lại kiến thức của mình, đồng thời có cơ hội để nỗ lực vận động tìm
hiểu, tiếp cận nghiên cứu với những vấn đề mình chưa biết, chưa hiểu rõ nhằm trang
bị cho bản thân kiến thức bổ ích có thể ứng dụng vào cuộc sống.
Sau khi tạo ra được sản phẩm của đề tài có thể ứng dụng điều khiển cho các phòng
ban, các khách sạn, nhà nghỉ hoặc các hộ gia đình có nhu cầu sử dụng.
1.3 Giới hạn đề tài.
Trong thời gian cho phép, để hoàn thành đề tài này kết hợp với kiến thức tích lũy
được trong suốt khóa học, không cho phép người thực hiện đề tài một cách hoàn chỉnh
toàn bộ yêu cầu tạo ra một sản phẩm ưu việt. Do đó người thực hiện chỉ tập trung
nghiên cứu về:
 Cách truyền nhận dữ liệu qua các giao thức mạng.
 Tìm hiểu chip giao tiếp mạng ENC28J60, vi điều khiển PIC 18F4620 và thiết
kế mạch giao tiếp giữa PIC với chip ENC28J60.
 Tìm hiểu ngôn ngữ lập trình HTML.


Điều khiển và giám sát thiết bị
thông qua mạng Internet

SVTH: NGUYỄN TẤN HIẾU


ĐỒ ÁN TỐT NGHIỆP
Trang 2/48

CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
2.1 Lý thuyết về mạng.
2.1.1 Kiến thức cơ bản.
2.1.1.1 Khái niệm cơ bản.
Nói một cách cơ bản mạng máy tính là hai hay nhiều máy tính liên kết lại với nhau
theo một cách nào đó sao cho chúng có thể trao đổi thông tin qua lại với nhau.
Mạng máy tính ra đời xuất phát từ nhu cầu muốn chia sẻ và dùng chung dữ liệu.
Không có hệ thống mạng thì dữ liệu trên các máy tính độc lập với nhau. Muốn trao
đổi dữ liệu với nhau thì phải sao chép ra đĩa mềm, đĩa CD....Điều này gây ra rất nhiều
bất tiện cho người dùng.
2.1.1.2 Mô hình OSI (Open Systems Interconnet).
Năm 1984, tổ chức tiêu chuẩn hóa quốc tế ISO (International Sandard Organization)
chính thức đưa ra mô hình OSI, là tập hợp các đặc điểm kĩ thuật mô tả các kiến trúc
mạng dành cho việc kết nối các thiết bị không cùng chủng loại.
Mô hình OSI chia thành 7 tầng, mỗi tầng bao gồm những hoạt động thiết bị và giao
thức mạng khác nhau.

Hình 2-1: Mô hình OSI 7 tầng [1].

Điều khiển và giám sát thiết bị

thông qua mạng Internet

SVTH: NGUYỄN TẤN HIẾU


ĐỒ ÁN TỐT NGHIỆP
Trang 3/48

2.1.1.3 Tổng quan về giao thức TCP/IP.
TCP/IP là bộ giao thức cho phép kết nối các mạng không đồng nhất với nhau. Ngày
nay TCP/IP sử dụng rộng rãi trong các mạng cục bộ cũng như trên mạng Internet toàn
cầu.
Ưu thế của bộ giao thức này là khả năng liên kết hoạt động của các loại máy tính khác
nhau.
TCP/IP đã trở thành tiêu chuẩn thực tế cho kết nối liên mạng cũng như internet toàn
cầu.
TCP/IP được xem là giản lược của mô hình tham chiếu OSI với bốn tầng như sau:
 Tầng liên kết mạng (Network Access)
 Tầng Internet (Internet)
 Tầng giao vận (Host to host Transport)
 Tầng ứng dụng (Aplication)

Hình 2-2: Kiến trúc TCP/IP [1].

Điều khiển và giám sát thiết bị
thông qua mạng Internet

SVTH: NGUYỄN TẤN HIẾU



ĐỒ ÁN TỐT NGHIỆP
Trang 4/48

Hình 2-3: Quá trình đóng gói dữ liệu trong TCP/IP [1].

Cũng tương tự như mô hình OSI, khi truyền dữ liệu quá trình diễn ra từ tầng trên
xuống tầng dưới, qua mỗi tầng dữ liệu được thêm vào một thông tin điều khiển gọi là
phần header. Khi nhận dữ liệu thì quá trình xảy ra ngược lại, dữ liệu dược truyền từ
tầng dưới lên, và qua mỗi tầng thì phần header tương ứng được lấy đi, khi đến tầng
trên cùng thì không còn phần header nữa. Trong hình 2-3,2-4 trong các tầng khác
nhau thì dữ liệu được mang các thuật ngữ khác nhau.
 Trong tầng ứng dụng, dữ liệu là các luồng gọi là stream.
 Trong tầng giao vận, đơn vị dữ liệu mà TCP gửi xuống tầng dưới gọi là TCP
segment.
 Trong tầng mạng, dữ liệu mà IP gửi xuống tầng dưới gọi là IP datagram.
 Trong tầng liên kết, dữ liệu truyền đi được gọi là frame.

Điều khiển và giám sát thiết bị
thông qua mạng Internet

SVTH: NGUYỄN TẤN HIẾU


ĐỒ ÁN TỐT NGHIỆP
Trang 5/48

Hình 2-4: Cấu trúc dữ liệu trong TCP/IP [1].

TCP/IP với OSI: mỗi tầng trong TCP/IP có thể là một hay nhiều tầng trong OSI. Bảng
sau chỉ rõ mối tương quan giữa các tầng trong TCP/IP và OSI:

Bảng 2-1: Mối tương quan giữa các tầng trong TCP/IP và OSI [1].

OSI
Physical và Data link
Network
Transport
Session, Presentation, Aplication

TCP/IP
Data link
Internet
Transport
Aplication

Hình 2-5: Mô hình OSI và TCP/IP.

Điều khiển và giám sát thiết bị
thông qua mạng Internet

SVTH: NGUYỄN TẤN HIẾU


ĐỒ ÁN TỐT NGHIỆP
Trang 6/48

Sự khác nhau giữa TCP/IP và OSI chỉ là:
 Tầng ứng dụng trong mô hình TCP/IP bao gồm cả 3 tầng trên của OSI.
 Tầng giao vận trong mô hình TCP/IP không phải luôn đảm bảo độ tin cậy của
việc truyền tin như ở trong tầng giao vận OSI, mà cho phép thêm một lựa chọn
khác là UDP.

2.1.1.4 Một số giao thức cơ bản trong TCP/IP:
Giao thức liên mạng IP (Internet Protocon).
IP là giao thức cung cấp dịch vụ phân phát datagram theo kiểu không liên kết và
không tin cậy nghĩa là không cần có giai đoạn thiết lập liên kết trước khi truyền dữ
liệu, không đảm bảo rằng IP datagram sẽ tới đích và không duy trì bất kì thông tin
nào về những datagram đã gửi đi. Khuôn dạng đơn vị dữ liệu dùng trong IP được thể
hiện trong bảng:
Bảng 2-2: Khuôn dạng dữ liệu trong IP [1].

VERS

HLEN
Service Type
Total Length
Identification
Flags
Fragment Offset
Time to Live
Protocol
Header Checksum
Source IP Address
Destination IP Address
IP Option
Padding
Data

Vers-4 bit : chỉ version hiện hành của IP đang được dùng, nếu trường này khác với
phiên bản IP của thiết bị nhận, thiết bị nhận sẽ loại bỏ các gói tin này.
HLEN (IP Header Length)- 4 bit chỉ độ dài phần header của gói tin, tính theo từ 32
bít.

Service Type- 1byte: cho biết dịch vụ nào mà gói tin muốn sử dụng chẳng hạn như
độ ưu tiên, thời hạn chậm trễ, năng suất truyền và độ tin cậy.
Total length- 2byte: chỉ độ dài gói tin tính cả phần header, tính theo đơn vị byte.

Điều khiển và giám sát thiết bị
thông qua mạng Internet

SVTH: NGUYỄN TẤN HIẾU


ĐỒ ÁN TỐT NGHIỆP
Trang 7/48

Indentification- 16 bít: cùng với các tham số khác như Source Address Destination
Address dùng để định danh duy nhất cho mỗi datagram được gởi đi bởi 1 trạm.
Flags: các gói tin trên đường đi có thể bị phân thành nhiều gói tin nhỏ. Trường flags
dùng để phân đoạn và lắp ghép các gói tin.
Fragment Offset-32 bít: chỉ vị trí của phân đoạn trong gói tin gốc, tính theo đơn vị 8
byte.
Time to live – 1 byte: quy định thời gian tồn tại tính bằng giây của gói tin trong mạng.
Protocol : chỉ tầng giao thức kế tiếp sẽ nhận được dữ liệu ở trạm đích.
Header checksum- 2byte: Dùng để phát hiện lỗi header của gói tin xảy ra trong quá
trình truyền của nó.
Source IP Address- 4 byte: địa chỉ IP của nơi truyền gói tin.
IP Option- độ dài thay đổi: khai báo các lựa chọn do người sử dụng yêu cầu, ví dụ
như: mức độ bảo mật, đường mà gói tin được gửi đi, timestamp ở mỗi router.
Padding- độ dài thay đổi: Dùng để đảm bảo các header luôn kết thúc ở một mốc 32
bít.
Data chiều dài thay đổi lớp trên, chiều dài thay đổi đến 64Kb.
Giao thức TCP (Transmission Control Protocol).

TCP là giao thức ở tầng giao vận và cùng sử dụng giao thức IP trong tầng mạng.TCP
cung cấp dịch vụ tin cậy và có liên kết.
Có liên kết nghĩa là 2 ứng dụng sử dụng TCP phải thiết lập liên kết với nhau trước
khi trao đổi dữ liệu. Sự tin cậy trong dịch vụ được cung cấp bởi TCP thể hiện như
sau:
 Dữ liệu từ tầng ứng dụng gửi đến được TCP chia thành các segment có kích
thước phù hợp nhất để truyền đi.
 Khi TCP gửi 1 segment, nó duy trì 1 thời lượng để chờ phúc đáp từ trạm nhận.
Nếu trong thời gian đó phúc đáp không tới được trạm gửi thì segment đó được
truyền lại.

Điều khiển và giám sát thiết bị
thông qua mạng Internet

SVTH: NGUYỄN TẤN HIẾU


ĐỒ ÁN TỐT NGHIỆP
Trang 8/48

 Khi TCP trên trạm nhận, nhận được dữ liệu từ trạm gửi thì nó sẽ gửi tới trạm
gửi 1 phúc đáp, tuy nhiên phúc đáp không được gửi lập tức mà thường bị trễ
1 khoảng thời gian.
 TCP duy trì giá trị tổng kiểm tra (checksum) trong phần header của dữ liệu để
nhận ra bất kì sự thay đổi nào trong quá trình truyền dẫn. Nếu 1 segment bị lỗi
thì TCP ở phía trạm nhận sẽ loại bỏ và không phúc đáp lại để trạm gửi truyền
lại segment bị lỗi đó.
 Giống như IP datagram, TCP segment tới đích 1 cách không tuần tự. Do vậy
TCP ở trạm nhận sẽ sắp xếp lại dữ liệu và sau đó gửi lên tầng ứng dụng đảm
bảo tính đúng đắn của dữ liệu.

 Khi TCP segment bị trùng lặp thì TCP tại trạm nhận sẽ loại bỏ dữ liệu.
Bảng 2-3: Khuôn dạng dữ liệu trong TCP [1].

16 bits
Soource Port

Offset

Reserved
Checksum
Options

16bits
Destination Port
Sequence Number
Acknowledgment Number
Flags

Windown
Urgent Pointer
Padding

TCP data
Đơn vị dữ liệu trong TCP được gọi là Segment với cấu trúc như sau:
Source Port – 2byte: số hiệu cổng TCP của trạm nguồn.
Destination Port – 2byte: số hiệu cổng TCP của trạm đích.
Sequence number: số hiệu byte đầu tiên của segment.
Acknowledgment number – 2 byte: số hiệu của segment tiếp theo mà trạm nguồn
đang chờ để nhận.
Data Offest- 4bit: độ dài của phần header tính theo đơn vị từ 32 bít. Tham số này chỉ

ra vị trí bắt đầu của nguồn dữ liệu.
Flags : các bít điều khiển.
URG: Vùng con trỏ khẩn có hiệu lưc.

Điều khiển và giám sát thiết bị
thông qua mạng Internet

SVTH: NGUYỄN TẤN HIẾU


ĐỒ ÁN TỐT NGHIỆP
Trang 9/48

ACK: Vùng báo nhận ACK number có hiệu lực.
SYN: Đồng bộ hóa số liệu tuần tự.
FIND: không còn đủ dữ liệu ở trạm nguồn.
Window- 2byte: số byte dữ liệu bắt đầu từ byte được chỉ ra trong ACK number mà
trạm nguồn đã sẵn sàng để nhận.
Checksum: checksum cho cả phẩn header lẫn dữ liệu.
Urgent Pointer – 2byte: nếu cờ URG bật thì giá trị trường này chính là số 16 bít mà
số thứ tự gói tin cần dịch trái.
Option -2byte: vùng tùy chọn, khai báo các option của TCP trong đó có độ dài tối đa
của vùng TCP data trong 1 segment.
Padding-: phẩn chèn thêm vào header để đảm bảo phần header luôn kết thúc ở một
mốc 32 bít.
TCP data: chứa dữ liệu, của tầng trên có độ dài tối đa ngầm định là 536 byte. Giá trị
này có thể khai báo trên phẩn Option.
2.1.2 TCP/IP Stack:
2.1.2.1 Cấu trúc TCP/IP Stack:
TCP/IP Stack là ứng dụng của Microchip để tạo một websever nhúng hoặc các giao

tiếp Ethernet hiện hành. Bao gồm các giao thức truyền dữ liệu TCP, UDP, và hỗ trợ
các module khác như IP, ICMP, DHCP, ARP, và DNS.
TCP/IP cũng có các module sử dụng cho lớp ứng dụng như: HTTP cho web, SMTP
cho gửi và nhận mail, SNMP cho giao thức trạng thái và điều khiển, Telnet cho điều
khiển từ xa, TFIP.
Bảng 2-4: Cấu trúc của stack.

DHCP

SNMP
UDP

HTTP

FTP

TFTP
TCP

ICMP
IP
ARP
ETHERNET

Điều khiển và giám sát thiết bị
thông qua mạng Internet

SVTH: NGUYỄN TẤN HIẾU



ĐỒ ÁN TỐT NGHIỆP
Trang 10/48

Ngoài những module chính giống như cấu trúc TCP/IP thì Microchip đưa thêm vào
stack 2 module mới đó là Stacktask và ARPtask. Stacktask quản lý sự vận hành và
tất cả các module của Stack. Trong khi đó ARPtask quản lý dịch vụ của lớp ARP.
2.1.2.2 Hoạt động của TCP/IP stack.
TCP/IP stack hoạt động gần giống cấu trúc của hệ điều hành thời gian thực, tất cả các
hoạt động của TCP/IP sẽ được một đồng hồ chung quản lý theo Time Split. Tức là có
1 timer hệ thống cứ 1 khoảng thời gian ngắn sẽ ngắt (gọi là 1 Tick). Khi bị ngắt thì
hệ thống sẽ bị treo lại, ngữ cảnh của các tác vụ lập lịch bị lôi ra xem xét các tác vụ
nào chạy theo kiểu chia sẻ thời gian. Sau đó cho các tác vụ đó chiếm quyền thực thi
CPU. Đến Tick tiếp theo hệ thống treo lại và lại lôi ngữ cảnh ra cứ tiếp tục như vậy
mãi.
Vì vậy, nếu Pic thiết lập ở chế độ TCP Sever/Client sẽ hoạt động đồng thời cả 2 hoạt
động này. Sever lắng nghe kết nối từ Client, còn Client gửi lệnh mở cổng kết nối tới
sever. Hoạt động của các tác vụ độc lập với nhau, không chịu ảnh hưởng lẫn nhau.
2.1.2.3 Các file cần thiết.
 Main file: lập trình trên file này.
 ARP.c và ARP.h: các file này sử dụng bởi stack để xác định địa chỉ MAC kết
hợp với địa chỉ IP.
 Physical layer files: các file này dùng để cho phép một lớp vật lý cụ thể.
 IP.c và IP.h: các file này cung cấp chức năng của lớp IP cho stack.
 Tick.c và Tick.h: các file này tạo ra một bộ đếm thời gian để thực hiện một
số chức năng thời gian trong stack.
 HardwareProfile.h: thiết lập cấu hình cho phần cứng.
 TCPIPConfig.h: thiết lập cấu hình phần mềm.
 MAC.h: cung cấp các macro và cấu trúc liên quan đến phần cứng của MAC.
 TCPIP.h: là file đính kèm trong stack Main file phải đính kèm file này.
Web forms sử dụng 2 phương pháp GET và POST:

Điều khiển và giám sát thiết bị
thông qua mạng Internet

SVTH: NGUYỄN TẤN HIẾU


ĐỒ ÁN TỐT NGHIỆP
Trang 11/48

Phương pháp GET:
Phương pháp GET sẽ gán dữ liệu vào cuối URL. Dữ liệu này sẽ đứng sau dấu chấm
hỏi (?) ở trên thanh địa chỉ của trình duyệt. Dữ liệu được gửi bằng phương pháp GET
sẽ tự động được giải mã và lưu vào biến mảng curHTTP.data mặc định là 100byte.
Hàm callback HTTPExecuteGet sẽ xử lý dữ liệu này.
Phương pháp POST:
Phương pháp POST truyền dữ liệu sau khi các header yêu cầu đã được gởi, phương
pháp này cũng sử dụng cùng cách mã hóa URL giống phương pháp Get.
HTTP2sever không thực hiện bất kì sự phân tích trước các dữ liệu này. Tất cả các dữ
liệu POST nằm trong bộ đệm TCP vì vậy các ứng dụng truy cập trực tiếp vào bộ đệm
TCP để lấy và giải mã nó.
Các file thư viện TCP/IP stack của Microchip đã được CCS C Compiler hỗ trợ trong
Project Wizard và khi tạo Project mới ta chọn TCP/IP, ENC28J60 (chế độ giao tiếp
SPI với Pic 18F4620), Websever: Use HTTP sever. Các bộ thư viện sẽ tự động được
truy xuất ra để sử dụng. Cách tạo file Project như sau:

Hình 2-6: Tạo Project Wizard device.

Điều khiển và giám sát thiết bị
thông qua mạng Internet


SVTH: NGUYỄN TẤN HIẾU


ĐỒ ÁN TỐT NGHIỆP
Trang 12/48

Hình 2-7: Tạo Project Wizard TCP/IP.

2.1.3 Công nghệ Ethernet.
2.1.3.1 Giới thiệu chung về Ethernet.
Chuẩn Ethernet 10MB đầu tiên được xuất bản năm 1980 bởi sự phối hợp phát triển
của 3 hãng DEC, Intel và Xeror. Chuẩn này có tên là DIX Ethernet.
Ủy ban 802.3 của IEEE lấy DIX Ethernet làm nền tảng để phát triển. Năm 1985, chẩn
802.3 đầu tiên đã ra đời với tên IEEE 802.3 Carrier Sense Multiple Access with
Collision Detection (CSMA/CD). Mặc dù không sử dụng tên Ethernet nhưng hầu
hết mọi người đều hiểu đó là chuẩn của công nghệ Ethernet. Ngày nay chuẩn IEEE
802.3 là chuẩn chính thức của Ethernet.
IEEE đã phát triển chuẩn Ethernet trên nhiều công nghệ truyền dẫn khác nhau vì thế
có nhiều loại mạng Ethernet.
2.1.3.2 Các đặc tính chung của Ethernet.
Cấu trúc khung Ethernet.

Điều khiển và giám sát thiết bị
thông qua mạng Internet

SVTH: NGUYỄN TẤN HIẾU


ĐỒ ÁN TỐT NGHIỆP
Trang 13/48


Các chuẩn Ethernet đều hoạt động ở tầng datalink trong mô hình 7 lớp OSI vì thế đơn
vị dữ liệu các trạm trao đổi với nhau là các khung (frame).
Cấu trúc khung của Ethernet như sau:
Bảng 2-5: Cấu trúc khung tin Ethernet [1].

Preample
7 bytes

SFD
1 byte

DA
6 bytes

SA
6 bytes

Length
2 bytes

LLC
3bytes

Datapad
43-1497 bytes

FCS
4 bytes


Các trường quan trọng trong phần mào đầu sẽ được mô tả dưới đây:
 Preample: trường này đánh dấu sự xuất hiện của khung bit, nó luôn mang giá
trị 10101010. Từ nhóm bit này, phía nhận có thể tạo ra xung đồng hồ 10MHz.
 SFD (start frame delimiter): trường này mới thật sự xác định bắt đầu của 1
khung nó luôn mang giá trị 10101011.
 Các trường Destination và Source: mang địa chỉ vật lý của các trạm nhận và
gửi khung, xác định khung được gửi từ đâu và gửi tới đâu.
 LEN: giá trị của trường nói lên độ lớn của phần dữ liệu mà khung mang theo.
 FCS mang CRC (Cyclic Redundancy Checksum): phía gửi sẽ tính toán trường
này trước khi truyền khung. Phía nhận sẽ tính toán lại CRC này theo cách
tương tự. Nếu kết quả trùng nhau, khung được xem là nhận đúng, ngược lại
khung được coi là bị lỗi và bị loại bỏ.
Cấu trúc địa chỉ Ethernet.
Mỗi giao tiếp mạng Ethernet được định danh duy nhất bởi 48bit địa chỉ (6 octet). Đây
là địa chỉ được ấn định khi sản xuất thiết bị gọi là địa chỉ MAC (Media Access Control
Address).
Địa chỉ MAC được biểu diễn bởi các chữ số hexa. Ví dụ: 00:60:97:8F:6F:86 hoặc 0060-97-8F-6F-86.
Khuôn dạng địa chỉ MAC được chia thành 2 phần:

Điều khiển và giám sát thiết bị
thông qua mạng Internet

SVTH: NGUYỄN TẤN HIẾU


ĐỒ ÁN TỐT NGHIỆP
Trang 14/48

 3 octet đầu xác định hãng sản xuất, chịu sự quản lý của tổ chức IEEE.
 3 octet sau do nhà sản xuất ấn định.

Kết hợp ta có 1 địa chỉ MAC duy nhất cho giao tiếp mạng Ethernet. Địa chỉ MAC
làm địa chỉ nguồn và đích trong khung Ethernet.
Các loại khung Ethernet.
 Các khung Unicast.
Giả sử trạm 1 cần truyền khung tới trạm 2. Khung Ethernet do trạm 1 tạo ra
có địa chỉ: MAC nguồn:00-60-08-93-DB-C1, MAC đích:00-60-08-93-AB-12.
Đây là khung unicast:
+ Khung này được truyền tới 1 trạm xác định.
+ Tất cả các trạm trong phân đoạn trên sẽ đều nhận được khung này nhưng chỉ
có trạm 2 thấy địa chỉ MAC đích của khung trùng với địa chỉ MAC của giao
tiếp mạng của mình nên tiếp tục xử lý các thông tin khác trong khung. Các
trạm khác sau khi so sánh địa chỉ sẽ bỏ qua không tiếp tục xử lý khung nữa.
 Các khung Broadcast:
Các khung broadcast có địa chỉ MAC đích là FF-FF-FF-FF-FF-FF. Khi nhận
khung này mặc dù không trùng với địa chỉ MAC giao tiếp mạng của mình
nhưng các trạm đều phải nhận khung và tiếp tục xử lý.
 Các khung Multicast:
Trạm nguồn gửi khung tới 1 số trạm nhất định chứ không phải tất cả. Địa chỉ
MAC đích của khung là địa chỉ đặc biệt mà chỉ các trạm trong cùng nhóm mới
chấp nhận các khung gửi tới địa chỉ này.
Địa chỉ MAC nguồn của khung là địa chỉ MAC của giao tiếp mạng tạo ra khung.
Trong khi đó địa chỉ MAC đích thì phụ thuộc vào 1 trong 3 loại khung trên.
2.1.3.3 Hoạt động của Ethernet.
Phương thức điều khiển truy nhập CSMA/CD quy định hoạt động của hệ thống
Ethernet.
Điều khiển và giám sát thiết bị
thông qua mạng Internet

SVTH: NGUYỄN TẤN HIẾU



ĐỒ ÁN TỐT NGHIỆP
Trang 15/48

Một số khái niệm cơ bản liên quan đến quá trình truyền khung Ethernet.
 Khi tín hiệu được truyền trên kênh truyền, kênh truyền lúc này bận và ta gọi
trạng thái này là có sóng mang carrier.
 Đường truyền rỗi: không có sóng mang absence carrier.
 Nếu 2 trạm cùng truyền khung đồng thời thì chúng sẽ phát hiện ra sự xung đột
và phải thực hiện lại quá trình truyền khung.
 Khoảng thời gian để một giao tiếp mạng khôi phục lại sau mỗi lần nhận khung
được gọi là khoảng trống liên khung (interframe gap)-kí hiệu IFG.
Giá trị IFG bằng 96 lần thời gian của 1 bit.
Ethernet 10Mb/s: IFG=9.6us.
Ethernet 100Mb/s: IFG=960ns.
Ethernet 1000Mb/s: IFG=96ns.
Cách thức truyền khung và phát hiện xung đột diễn ra như sau:
 Khi phát hiện đường truyền rỗi, máy trạm sẽ đợi thêm 1 khoảng thời gian bằng
IFG, sau đó thực hiện ngay việc truyền khung. Nếu truyền nhiều khung thì
giữa các khung phải cách nhau 1 khoảng IFG.
 Trong trường hợp đường truyền bận, máy trạm sẽ tiếp tục lắng nghe đường
truyền cho đến khi đường truyền rỗi thì thực hiện truyền khung.
 Trường hợp khi quá trình truyền khung đang diễn ra thì máy trạm phát hiện
thấy sự xung đột, thì máy trạm sẽ tiếp tục truyền thêm 32 bit dữ liệu. Nếu sự
xung đột được phát hiện ngay từ đầu thì máy trạm sẽ phải truyền hết trường
preample và thêm 32bit nữa. Việc truyền hết các bit này ta xem như là các bit
báo hiệu tắt nghẽn, đảm bảo tín hiệu sẽ tồn tại trên đường truyền đủ lâu cho
phép các trạm khác nhận ra sự xung đột và xử lý.

Điều khiển và giám sát thiết bị

thông qua mạng Internet

SVTH: NGUYỄN TẤN HIẾU


ĐỒ ÁN TỐT NGHIỆP
Trang 16/48

2.1.3.4 Các loại mạng Ethernet.
IEEE đã phát triển chuẩn Ethernet trên nhiều công nghệ truyền dẫn khác nhau, vì thế
có nhiều loại mạng Ethernet. Mỗi mạng được miêu tả dựa trên 3 yếu tố: tốc độ,
phương thức tín hiệu sử dụng, đặc tính đường truyền vật lý.
 Các hệ thống Ethernet 10Mb/s:
 10Base5: đây là chuẩn Ethernet đầu tiên dựa trên cáp đồng trục loại dày, tốc
độ đạt được 10Mb/s sử dụng băng tần cơ sở, chiều dài cáp tối đa mỗi phân
đoạn là 500m
 10Base2: có tên khác là “thin Ethernet” dựa trên hệ thống cáp đồng trục mỏng
với tốc độ 10Mb/s, chiều dài cáp tối đa cho 1 phân đoạn 185m (IEEE làm tròn
thành 200m).
 10BaseT: chữ T là viết tắt của “twisted” cáp xoắn cặp. 10BaseT hoạt động tốc
độ 10Mb/s dựa trên hệ thống cáp xoắn cặp Cat3 trở lên.
 10BaseF: chữ F là viết tắt của “Fiber Optic” (sợi quang). Đây là chuẩn Ethernet
dùng cho sợi quang hoạt động ở tốc độ 10Mb/s ra đời năm 1993.
2.2 IC giao tiếp mạng ENC28J60.

Hình 2-8: Sơ đồ chân IC ENC28J60 [4].

ENC28J60 là 1 chip do Microchip cung cấp có 28 chân phù hợp với chuẩn IEEE
802.3.
Điều khiển và giám sát thiết bị

thông qua mạng Internet

SVTH: NGUYỄN TẤN HIẾU


ĐỒ ÁN TỐT NGHIỆP
Trang 17/48

2.2.1 Cấu trúc và chức năng.
Giao tiếp với các thiết bị ngoại vi theo chuẩn SPI với tốc độ lên tới 10Mb/s.
Giao thức chuẩn IEEE 802.3.
Bộ lọc đặc biệt tự động đánh giá, chấp nhận hoặc từ chối MagicPackit, unicast,
multicast.
Có bộ nhớ đệm Sram lên tới 8kb, có thể quản lý dữ liệu đáng tin cậy, và linh hoạt.
2.2.2 Chức năng các chân của ENC28J60.
 VDD,VDDOSC,VDDPLL,VDDRX,VDDTX: các chân này cấp nguồn nuôi cho IC, nối
với +3,3V.
 VSS,VSSOSC,VSSPLL,VSSRX,VSSTX: các chân này nối mass.
 Reset: chân reset về mức thấp để thiết lập lại chế độ cho chip.
 OSC1,OSC2: 2 chân nhận bộ dao động bên ngoài, ENC28J60 hoạt động với
thạch anh 25MHz.
 CLKOUT: tạo ra xung clock khoảng 6,25 MHz.
 LedA, LedB: có chức năng hỗ trợ tự động phát hiện và Reset.
2.2.3 Các khối cơ bản trong ENC28J60.
Bao gồm 7 khối cơ bản sau:
1. Một giao diện SPI dùng để giao tiếp với vi điều khiển.
2. Khối giám sát và điều khiển ENC28J60.
3. Bộ nhớ đệm Sram cho việc truyền và nhận gói tin.
4. Khối giám sát việc truy cập vào bộ nhớ đệm.
5. Khối Bus dữ liệu giải mã lệnh thông qua SPI.

6. Module MAC theo chuẩn IEEE 802.3.
7. Module PHY mã hóa và giải mã tín hiệu điện.

Điều khiển và giám sát thiết bị
thông qua mạng Internet

SVTH: NGUYỄN TẤN HIẾU


ĐỒ ÁN TỐT NGHIỆP
Trang 18/48

2.2.4 Kết nối với các thiết bị ngoại vi.

Hình 2-9: Sơ đồ ghép ENC28J60 với vi xử lý [4].

Vi mạch ENC28J60 giao tiếp với các vi xử lý khác thông qua chuẩn truyền dữ liệu
nối tiếp SPI (Serial Peripheral Interface), đây là chuẩn giao tiếp rất phổ biến, dùng để
nối các vi mạch trong cùng một hệ thống với ưu điểm là chạy nhanh và tốn rất ít dây
nối tín hiệu, chỉ cần 3 dây cho cả đường ghi và đọc là:
 SCK (serial clock): xung đồng bộ cho đường nối tiếp.
 SI (serial input): tín hiệu nối tiếp vào (ghi).
 SO (serial output): tín hiệu nối tiếp ra (đọc).
Mặc dù đã được thiết kế theo cấu trúc “stand alone” (một chip làm hết các việc) nhưng
việc điều khiển vi mạch này hoạt động được là rất phức tạp và đòi hỏi có hiểu biết
khá toàn diện về vi điều khiển, mạch điện tử và Internet. Tuy nhiên rất may mắn cho
người thiết kế và lập trình vì hãng Microchip đã hỗ trợ tối đa bằng cách đưa đầy đủ
các thư viện phục vụ cho việc lập trình, làm cho việc lập trình giao tiếp với vi mạch
này khá dễ dàng.
2.2.5 Các thông số kỹ thuật.

Giới thiệu chung:
Tương thích chuẩn IEEE 802.3 Ethernet controller.

Điều khiển và giám sát thiết bị
thông qua mạng Internet

SVTH: NGUYỄN TẤN HIẾU


ĐỒ ÁN TỐT NGHIỆP
Trang 19/48

Tích hợp địa chỉ MAC và 10Base-T PHY.
Bộ nhớ đệm Sram 8kbyte.
Chế độ tự động gửi lại khi có xung đột.
Chế độ tự động hủy khi có gói tin sai.
Bộ đệm:
Kích thước bộ đệm transmit/receive có thể lập trình được.
Giám sát qúa trình nhận FIFO.
PHY: Bộ lọc tín hiệu ra.
MAC (media access control):
 Hỗ trợ unicast, muticast và broadcast.
 Hỗ trợ nhiều dạng gói tin magicpacket, unicast, muticast và broadcast.
2.3 Vi điều khiển 18F4620.
2.3.1 Sơ lược về vi điều khiển PIC 18F4620:
Hiện nay có rất nhiều dòng Pic, có một số đặc điểm như sau:
 64K Flash ROM.
 3968 Bytes SRAM.
 1024 Byte EEPROM.
 5 port A, B, C, D, E với tín hiệu vào ra độc lập.

 1 bộ định thời 8 bit (Timer 0 và Timer 2).
 3 bộ định thời 16 bit (Timer 1 và Timer 3), có thể hoạt động trong chế độ tiết
kiệm năng lượng (SLEEP MODE) với nguồn xung clock ngoài.
 2 bộ CCP (Capture/Compare/PWM).
 1 bộ biến đổi AD 10bit, 13 ngõ vào.
 2 bộ so sánh tương tự Compartor.

Điều khiển và giám sát thiết bị
thông qua mạng Internet

SVTH: NGUYỄN TẤN HIẾU


ĐỒ ÁN TỐT NGHIỆP
Trang 20/48

 1 bộ định thời giám sát (WatchDog Timer).
 1 cổng song song 16 bit với các tín hiệu điều khiển.
 1 cổng nối tiếp.
 20 nguồn ngắt.
 Tần số hoạt đông tối đa 40 MHz.
2.3.2 Hình dạng và sơ đồ chân.

Hình 2-10: Sơ đồ chân vi điều khiển PIC 18F4620 [7].

2.3.3 Các cổng xuất nhập của 18F4620.
Bảng 2-6: Chức năng các chân PIC 18F4620 [7].

Tên chân


Số chân Mô tả

MCLR/VPP/RE3

1

Reset thiết bị mức thấp.
Digital input.

OSC1/CLKI/RA7

13

Đầu vào dao động thạch anh hoặc clock mở rộng..

Điều khiển và giám sát thiết bị
thông qua mạng Internet

SVTH: NGUYỄN TẤN HIẾU


ĐỒ ÁN TỐT NGHIỆP
Trang 21/48

Đầu vào nguồn clock mở rộng, luôn gắn liền với chân
OSC1
Chân I/O
OSC2/CLKO/RA6

14


Đầu ra bộ dao động thạch anh hoặc clock
Trong chế độ RC nội bộ, chân OSC2 các đầu ra CLKO
với tần số bằng ¼ tần số của OSC1.
Chân I/O.

RA0/AN0

2

Chân I/O.
Đầu vào tương tự 0.

RA1/AN1

3

Chân I/O.
Đầu vào tương tự 1.

RA2/AN2/VREF/CVREF

4

Chân I/O.
Đầu vào tương tự 2.
A/D reference voltage (low) input.
Comparator reference voltage output..

RA3/AN3/VREF+


5

Chân I/O.
Đầu vào tương tự 3.
Đầu vào điện áp tham chiếu A/D.

RA4/T0CKI/C1OU
T

6

Chân I/O.
Đầu vào bộ dao động Timer0.
Đầu ra bộ so sánh 1.

RA5/AN4/SS/HLV
DIN/C2OUT

7

Chân I/O.
Đầu vào tương tự 4.
Đầu vào SPI™.
Đầu vào bộ phát hiện điện áp.
Đầu ra bộ so sánh 2.

RB0/INT0/FLT0/A
N12


21

PORTB là một cổng I / O hai chiều. PORTB có thể được
lập trình bằng phần mềm để kéo tất cả các đầu vào còn
kéo lên.
Chân I/O.

Điều khiển và giám sát thiết bị
thông qua mạng Internet

SVTH: NGUYỄN TẤN HIẾU


ĐỒ ÁN TỐT NGHIỆP
Trang 22/48

Ngắt ngoài 0.
Đầu vào PWM Fault cho CCP1.
Đầu vào tương tự 12
RB1/INT1/AN10

22

Chân I/O.
Ngắt ngoài 1.
Đầu vào tương tự 10.

RB2/INT2/AN8

23


Chân I/O.
Ngắt ngoài 2.
Đầu vào tương tự 8.

RB3/AN9/CCP2

24

Chân I/O.
Đầu vào tương tự 9.
Đầu vào capture2/ đầu ra so sánh 2/ đầu ra PWM 2.

RB4/KBI0/AN11

25

Chân I/O.
Chân thay đổi ngắt trong.
Đầu vào tương tự 11.

RB5/KBI1/PGM

26

Chân I/O.
Chân thay đổi ngắt trong.
Chân dữ liệu các chương trình ICSP™

RB6/KBI2/PGC


27

Chân I/O.
Chân thay đổi ngắt trong..
Chân clock các chương trình ICSP™.

RB7/KBI3/PGD

28

Chân I/O.
Chân thay đổi ngắt trong..
Chân dữ liệu các chương trình ICSP™.

RC0/T1OSO/T13C
KI

11

Điều khiển và giám sát thiết bị
thông qua mạng Internet

PORTC là một cổng I / O hai chiều
Chân I/O.

SVTH: NGUYỄN TẤN HIẾU



×