Professional Documents
Culture Documents
80
70
60
50 Đông
40 Tây
30 Bắc
20
10
0
Quý 1 Quý 2 Quý 3 Quý 4
1
1.1/- Lớp ứng dụng (Application Layer) : HTTP
Là giao diện giữa các chương trình ứng dụng của người dùng và mạng. Lớp
Application xử lý truy nhập mạng chung, kiểm soát luồng và phục hồi lỗi. Lớp này
không cung cấp các dịch vụ cho lớp nào mà nó cung cấp dịch vụ cho các ứng dụng
như : truyền file, gởi nhận e-mail, Telnet, HTTP, FTP, SMTP, …
Lớp vận chuyển phân đọan dữ liệu từ hệ thống máy truyền và tái thiết lập dữ
liệu vào một luồng dữ liệu tại hệ thống máy nhận đảm bảo rằng việc bàn giao các
thông điệp giữa các thiết bị đáng tin cậy. Dữ liệu tại lớp này gọi là segment. Lớp
này thiết lập, duy trì và kết thúc các mạch ảo đảm bảo cung cấp các dịch vụ sau :
Khi một thông điệp lớn được tách thành nhiều phân đoạn nhỏ để bàn giao, lớp
vận chuyển sẽ sắp xếp thứ tự các phân đoạn trước khi ráp nối các phân đoạn thành
thông điệp ban đầu.
Khi có phân đoạn bị thất bại, sai hoặc trùng lắp, lớp vận chuyển sẽ yêu cầu
truyền lại.
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 đủ.
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ý đồng thời nó cũng chịu trách nhiệm gởi các packet từ mạng
nguồn đến mạng đích. Lớp này quyết định đường đi từ máy tính nguồn đến máy
tính đích. Nó quyết định dữ liệu sẽ truyền trên đường nào dựa vào tình trạng, ưu
tiên dịch vụ và các yếu tố khác. Nó cũng quản lý lưu lượng trên mạng chẳng hạn
như chuyển đổi gói, định tuyến và kiểm soát sự tắc nghẽn dữ liệu. Nếu bộ thích
ứng mạng trên bộ định tuyến (router) không thể truyền đủ đoạn dữ liệu mà máy
2
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 dởi đi các gói tin có kích thước là
20Kb, trong khi Router chỉ cho phép các gói tin có kích thước là 10Kb đi qua, thì
lúp đó lớp Network của Router sẽ chia gói tin ra làm 2, mỗi gói tin có kích thước
là 10Kb. Ở đầu nhận, lớp Netwok ráp nối lại dữ liệu. Ví dụ : một số giao thức lớp
này : IP, IPX, … Dữ liệu ở lớp này gọi packet hoặc datagram.
Cung cấp khả năng chuyển dữ liệu tin cậy xuyên qua một liên kết vật lý. Lớp
này liên quan đến :
- Mô hình mạng.
Tại lớp Data link, các tín hiệu đến từ lớp vật lý được chuyển thành các frame dữ
liệu bằng cách dùng một số nghi thức tại lớp này. Lớp Data link được chia thành 2
lớp con :
Lớp con LLC là phần trên so với các giao thức truy cập đường truyền khác, nó
cung cấp sự mềm dẻo về giao tiếp. Bởi vì lớp con LLC hoạt động độc lập với các
giao thức truy cập đường truyền cho nên các giao thức lớp trên hơn (ví dụ như IP
ở lớp mạng) có thể hoạt động mà không phụ thuộc vào loại phương tiện LAN. Lớp
con LLC có thể lệ thuộc vào các lớp thấp hơn trong việc cung cấp truy cập đường
truyền.
3
Lớp con MAC cung cấp tính thứ tự truy cập vào môi trường LAN. Khi nhiều
trạm cùng truy cập chia sẻ môi trường truyền, để định danh mỗi trạm, lớp cho
MAC định nghĩa một trường địa chỉ phần cứng, gọi là địa chỉ MAC address. Địa
chỉ MAC là một con số đơn nhất đối với mỗi giao tiếp LAN (card mạng).
Định nghĩa các quy cách về điện, cơ, thủ tục và các đặc tả chức năng để kích
hoạt, duy trì và dừng một liên kết vật lý giữa các hệ thống đầu cuối. Một số các
đặc điểm trong lớp vật lý này bao gồm :
- Môi trương truyền dữ liệu ( cáp xoắn , cáp quang , sóng điện từ )
2. PHY modul , phục vụ cho việc encode (mã hóa ) và decode(giải mã) dữ liệu
trong lớp vật lí.
3. SPI interface , đây là modul rất quan trọng. Modul này phục vụ cho việc giao
tiếp giữa VĐK master ( gọi là HOST) với ENC28J60.
4. Một tập thanh ghi điều khiển (Control Register ) , phục vụ điều khiển các
khối MAC , PHY
5. Một tập thanh ghi dữ liệu (RAM buffer for transmitted and recived data)
4
2.2 Sơ đồ sử dụng ENC28J60 để kết nối Ethernet
1/ Phần cứng :
5
- Tương tự như kết nối mạng trên PC , Pic18 đóng vai trò PC , còn
ENC28J60 đóng vai trò như card mạng.
Nhận dữ liệu :
Tín hiệu yêu cầu từ mạng truyền qua cổng RJ45 vào ENC28J60 .
ENC28J60 được thiết kế để giải mã tín hiệu và chuyển tín hiệu đó thành dữ liệu
và lưu vào bộ đệm thu. Thông qua giao tiếp SPI , Pic18 liên tục kiểm tra bộ đệm
của ENC28J60. Nếu phát hiện có dữ liệu , nó sẽ đọc dữ liệu về và xử lí.
Phát dữ liệu :
Thông qua giao tiếp SPI , Pic18 gửi dữ liệu vào bộ đệm phát của ENC28J60.
Con ENC28J60 sẽ mã hóa dữ liệu và truyền ra đường RJ45 đến địa chỉ mong
muốn ( được ghi trong khung dữ liệu)
Tập lệnh giao tiếp :
- ENC28J60 được điều khiển hoàn toàn bằng một vi điều khiển khác đóng
vai trò là Host.
- Host dùng tập lệnh này để điều khiển việc truyền và nhận dữ liệu từ
ENC28J60.
- Tập lệnh chỉ gồm 7 lệnh , được truyền từ Host đến ENC28J60 thông qua
đường giao tiếp SPI
6
Giản đồ xung giao tiếp SPI :
7
Với tập lệnh trên , ta hoàn toàn có thể điều khiển được vi điều khiển
ENC28J60. Nhưng cấu trúc phần cứng cũng như giao thức truyền nhận dữ
liệu trên Ethernet tương đối phức tạp. Đê xây dựng 1 ứng dụng phải mất rất
nhiều thời gian. Thấy được điều này , Microchip đã hỗ trợ một tập thư viện
hàm viết bằng ngôn ngữ lập trình “C” để thay thế cho công việc thủ công
này. Đó là gói TCP/IP stack
2/ Phần mềm : TCP/IP stack
Là một ánh xạ mỗi lớp con trong mô hình mạng nói trên thành một tập các
hàm điều khiển (xem bảng 1)
Được xây dựng cho các dòng vi điều khiển Pic18
Hỗ trợ miển phí , có thể download trực tiếp từ trang web của Microchip
http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en022
889
Modul File Hỗ Trợ Ghi Chú
MAC MAC.c Media Access Layer
Delay.c
SLIP SLIP.c Media Access Layer for
SLIP
ARP ARP.c Address Resolution
ARPTsk.c Protocol
MAC.c or SLIP.c
Helpers.c
IP IP.c Internet Protocol
MAC.c or SLIP.c
Helpers.c
ICMP ICMP.c Internet Control Message
StackTsk.c Protocol
IP.c
MAC.c or SLIP.c
Helpers.c
TCP StackTsk.c Transmission Control
TCP.c Protocol
IP.c
MAC.c or SLIP.c
Helpers.c
Tick.c
UDP StackTsk.c User Datagram Protocol
UDP.c
IP.c
MAC.c or SLIP.c
Helpers.c
Stack Manager StackTsk.c Stack Manager
TCP.c (“StackTask”), which
IP.c coordinates the other
ICMP.c Microchip TCP/IP Stack
8
ARPTsk.c modules
ARP.c
MAC.c or SLIP.c
Tick.c
Helpers.c
HTTP Server HTTP.c HyperText Transfer
TCP.c Protocol Server
IP.c
MAC.c or SLIP.c
Helpers.c
Tick.c
MPFS.c
XEEPROM.c
DHCP Client DHCP.c Dynamic Host
UDP.c Configuration Protocol
IP.c
MAC.c
Helpers.c
Tick.c
IP Gleaning StackTsk.c To configure node IP
ARP.c address only.
ARPTsk.c
ICMP.c
MAC.c or SLIP.c
FTP Server FTP.c File Transfer Protocol
TCP.c Server.
IP.c
MAC.c or SLIP.c
9
// Initialize Stack components.
// If StackApplication is used, initialize it too.
TickInit();
StackInit();
HTTPInit(); // Only if HTTP is used.
FTPInit(); // Only if FTP is used.
// Enter into infinite program loop
while(1)
{
// Update tick count. Can be done via interrupt.
TickUpdate();
// Let Stack Manager perform its task.
StackTask();
// Let any Stack application perform its task.
HTTPServer(); // Only if HTTP is used.
FTPServer(); // Only if FTP is used.
// Application logic resides here.
DoAppSpecificTask();
}
}
10
Tài liệu tham khảo :
1. Tài liệu hướng dẫn sử dụng của Microchip ,ENC28J60 datasheet
2. M. Simmons , Ethernet Theory of Operation , Microchip Technology Inc.
3. Nilesh Rajbharti , The Microchip TCP/IP Stack , Microchip Technology
Inc
4.Diễn đàn điện tử Việt Nam : http://www.dientuvietnam.net
11
12
13
14
15