1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

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

51 584 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 51
Dung lượng 1,49 MB

Nội dung

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.. Protocol : chỉ tầng giao thức kế tiếp sẽ nhận được dữ liệu ở trạm đích.. Sự tin cậy

Trang 1

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

Trang 2

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

Trang 3

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

Trang 4

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

Trang 5

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]

Trang 6

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]

Trang 7

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

Trang 8

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]

Physical và Data link Data link

Session, Presentation, Aplication Aplication

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

Trang 9

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

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

Trang 10

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

Trang 11

 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]

Sequence Number Acknowledgment Number

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

Trang 12

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

ICMP

IP ARP ETHERNET

Trang 13

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:

Trang 14

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

Trang 15

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

Trang 16

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]

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 60-97-8F-6F-86

00-Khuôn dạng địa chỉ MAC được chia thành 2 phần:

Trang 17

 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

Trang 18

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ý

Trang 19

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

Trang 20

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

Trang 21

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

Trang 22

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

Trang 23

 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

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

Trang 24

Đầ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

Đầu vào tương tự 0

Đầ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

Đầ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

Trang 25

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 PORTC là một cổng I / O hai chiều

Chân I/O

Ngày đăng: 09/10/2016, 11:24

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2] Datasheet AM2301 Khác
[3] Datasheet AMS1117-5.0 and 3.3 Khác
[4] Datasheet ENC28J60 2004 Microchip Technology Inc Khác
[5] Datasheet IR 333-A Khác
[6] Datasheet PC817 Series Khác
[7] Datasheet PIC 18F2525/2620/4525/4620 2004 Microchip Technology Inc Khác

TỪ KHÓA LIÊN QUAN

w