Tải bản đầy đủ (.doc) (65 trang)

Module ethernet trên vi điều khiển PIC18F67J60 và ứng dụng trong đo lường điều khiển

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.85 MB, 65 trang )

EBOOKBKMT.COM
MỞ ĐẦU

Ethernet là kiểu mạng cục bộ (LAN) được sử dụng rộng rãi nhất hiện nay, ứng
dụng của nó có mặt ở rất nhiều lĩnh vực của đời sống và trong công nghiệp. Khóa luận
tốt nghiệp với đề tài “Module Ethernet trên vi điều khiển PIC18F67J60 và ứng
dụng trong đo lường, điều khiển (Phần mềm trên MPLAB)” đã sử dụng phần mềm
MPLAB và thư viện TCP/IP Stack của hãng Microchip để lập trình điều khiển LED,
LCD và đo lường thông qua mạng truyền thông Ethernet.
Khóa luận bao gồm những nội dung chính cơ bản như sau:
Chương 1. Tổng quan về Ethernet trình bày về lý thuyết Ethernet gồm các vấn
đề về cấu trúc khung tin Ethernet, phương pháp truy nhập bus (CSMA/CD), các loại
mạng Ethernet và chuẩn Ethernet IEEE 802.3.
Chương 2. Họ giao thức TCP/IP trình bày kiến thức về họ giao thức TCP/IP bao
gồm 5 tầng: tầng ứng dụng (Application Layer), tầng giao vận (Transport Layer), tầng
liên mạng (Internet Layer), tầng giao tiếp mạng (Network Interface Layer). Trình bày
các kiến thức về gói tin IP, TCP, UDP.
Chương 3. Phần cứng trình bày các kiến thức về vi điều khiển PIC18F67J60
bao gồm các đặc trưng chung và đặc trưng Ethernet của PIC18F67J60, bộ biến đổi
A/D, module Ethernet. Các kiến thức về sensor đo nhiệt độ LM35 cũng được trình bày
trong chương này. Tiếp theo là phần nguyên lý của mạch demo và phần mạch in. Cuối
cùng là hình ảnh mạch demo thực tế sử dụng trong khóa luận.
Chương 4. Trình biên dịch MPLAB C18 và web server giới thiệu về trình biên
dịch MPLAB C18 và các nội dung liên quan đến việc thiết kế web giao diện như là
DHTML, Javascript, CSS, kỹ thuật AJAX.
Chương 5. TCP/IP Stack chương này trình bày về nhiệm vụ chính của khóa luận
đó là sử dụng thư viện TCP/IP Stack của Microchip trên phần mềm MPLAB C18 để
lập trình cho mạch demo thực hiện đo lường và điều khiển thông qua mạng truyền
thông Ethernet.
Kết luận. Trình bày các kết quả đã đạt được của khóa luận và đánh giá các kết
quả đó. Đồng thời, định hướng một số hướng phát triển của đề tài.



1


EBOOKBKMT.COM
CHƯƠNG 1. TỔNG QUAN VỀ ETHERNET

Ethernet là kiểu mạng cục bộ (LAN) được sử dụng rộng rãi nhất hiện nay. Hiện
thời công nghệ Ethernet thường được sử dụng nhất là công nghệ sử dụng cáp đôi xoắn
10Mbps.
Ethernet đã được phát minh ra tại trung tâm nghiên cứu Xerox Palo Alto vào
những nă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ên thế giới, trạm Xerox Alto. Trạm Ethernet đầu tiên chạy với tốc độ xấp xỉ
3Mbps. Chuẩn Ethernet 10Mbps đầ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à Xerox. Chuẩn này có tên DIX Ethernet ( lấy tên
theo 3 chữ cái đầu của tên các hãng).
Uỷ ban 802.3 của IEEE đã lấy DIX Ethernet làm nền tảng để phát triển. Năm
1985, chuẩn 802.3 đầu tiên đã ra đời với tên IEEE 802.3 Carrier Sense Multiple
Access with Collition 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. Đặc
biệt, với phiên bản 100 Mbit/s (Fast Ethernet, IEEE 802.3u), Ethernet ngày càng đóng
một vai trò quan trọng trong các hệ thống công nghiệp. Bên cạnh việc sử dụng cáp
đồng trục, đôi dây xoắn và cáp quang, gần đây Ethernet không dây (Wireless LAN,
IEEE 802.11) cũng đang thu hút được sự quan tâm lớn.
1.1. Cấu trúc khung tin Ethernet
Các chuẩn Ethernet đều hoạt động ở tầng Data Link trong mô hình 7 lớp OSI vì
thế đơn vị dữ liệu mà các trạm trao đổi với nhau là các khung (frame). Cấu trúc khung

Ethernet như sau:
Bảng 1: Cấu trúc khung MAC theo IEEE 802.3/ Ethernet.
Mở đầu

SFD

555…5H

(D5H)

7 byte

Địa chỉ
đích

1 byte

Địa chỉ
nguồn

Độ dài
kiểu gói

Dữ liệu

PAD

2/6 byte 2/6 byte 2 byte 46-1500 byte

2


FCS

4 byte


EBOOKBKMT.COM
- Preamble (mở đầu): 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ồ 10
Mhz.
- SFD (start frame delimiter): trường này mới thực sự xác định sự 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à sẽ được 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 tính toán lại CRC này theo cách tương tự. Nếu
hai kết quả trùng nhau, khung được xem là nhận đúng, ngược lại khung coi như là lỗi
và bị loại bỏ.
1.2. Cấu trúc địa chỉ Ethernet
Mỗi giao tiếp mạng Ethernet được định danh duy nhất bởi 48 bit đị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 ( hệ cơ số 16 ).
Ví dụ:00:60:97:8F:4F:86 hoặc 00-60-97-8F-4F-86. Khuôn dạng địa chỉ MAC được
chia làm 2 phần:
- 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 lẽ có một địa chỉ MAC duy nhất cho một giao tiếp mạng Ethernet. Địa
chỉ MAC được sử dụng làm địa chỉ nguồn và địa chỉ đích trong khung Ethernet.
1.3. Các loại khung Ethernet

1.3.1. 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

3


EBOOKBKMT.COM

Hình 1: Mô hình truyền thông unicast.
Đây là khung unicast. Khung này được truyền tới một trạm xác định. Tất cả các
trạm trong phân đoạn mạng 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.
1.3.2. Các khung broadcast
Các khung broadcast có địa chỉ MAC đích là FF-FF-FF-FF-FF-FF. Khi nhận
được các khung này, mặc dù không trùng với địa chỉ MAC của 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ý.
Giao thức ARP sử dụng các khung broadcast này để tìm địa chỉ MAC tương ứng
với một địa chỉ IP cho trước. Một số giao thức định tuyến cũng sử dụng các khung
broadcast để các router trao đổi bảng định tuyến.
1.3.3. Các khung multicast
Trạm nguồn gửi khung tới một số trạm nhất định chứ không phải là 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.
1.4. Truy nhập bus

Một vấn đề lớn thường gây lo ngại trong việc sử dụng Ethernet ở cấp trường là
phương pháp truy nhập bus ngẫu nhiên CSMA/CD ( Carrier Sense Multiple Access
with Collision Avoidance ) và sự ảnh hưởng tới hiệu suất cũng như tính năng thời gian

4


EBOOKBKMT.COM
thực của hệ thống. Ở đây, một trong những yếu tố quyết định tới hiệu suất của hệ
thống là thuật toán tính thời gian truy nhập lại cho các trạm trong trường hợp xảy ra
xung đột.

Hình 2: Minh họa phương pháp CSMA/CD.
Nguyên tắc làm việc phương pháp CSMA/CD:
Theo phương pháp CSMA/CD, mỗi trạm đều có quyền truy nhập bus mà không
cần một sự kiểm soát nào. Phương pháp được tiến hành như sau:
- Mỗi trạm đều phải tự nghe đường dẫn (carrier sense), nếu đường dẫn rỗi (không
có tín hiệu ) thì mới được phát.
- Do việc lan truyền tín hiệu cần một thời gian nào đó, nên vẫn có khả năng hai
trạm cùng phát tín hiệu lên đường dẫn. Chính vì vậy, trong khi phát thì mỗi trạm vẫn
phải nghe đường dẫn để so sánh tín hiệu phát đi với tín hiệu nhận được xem có xảy ra
xung đột hay không (collision detection).
- Trong trường hợp xảy ra xung đột, mỗi trạm đều phải hủy bỏ bức điện của
mình, chờ một thời gian ngẫu nhiên và thử gửi lại.
Một tình huống xảy ra xung đột tiêu biểu và cách khắc phục được minh họa trên
hình... Trạm A và C cùng nghe đường dẫn. Đường dẫn rỗi nên A có thể gửi trước.
Trong khi tín hiệu từ trạm A gửi đi chưa kịp tới nên trạm C không hay biết và cũng

5



EBOOKBKMT.COM
gửi, gây ra xung đột tại một điểm gần C. A và C sẽ lần lượt nhận được tín hiệu phản
hồi, so sánh với tín hiệu gửi đi và phát hiện xung đột. Cả hai trạm sẽ cùng phải hủy bỏ
bức điện đã gửi đi bằng cách không phát tiếp, các trạm muốn nhận sẽ không nhận
được cờ hiệu kết thúc bức điện và sẽ coi như bức điện không hợp lệ. A và C cũng có
thể gửi đi một tín hiệu “ jam” đặc biệt để báo cho các trạm cần nhận biết. Sau đó mỗi
trạm sẽ chờ một thời gian chờ ngẫu nhiên, trước khi thử phát lại. Thời gian chờ ngẫu
nhiên ở đây tuy nhiên phải được tính theo một thuật toán nào đó để sao cho thời gian
chờ ngắn một cách hợp lí và không giống nhau giữa các trạm cùng chờ. Thông thường
thời gian chờ này là bội số của hai lần thời gian lan truyền tín hiệu Ts.
Ưu điểm của CSMA/CD là tính chất đơn giản, linh hoạt. Khác với các phương
pháp tiền định, việc ghép thêm hay bỏ đi một trạm trong mạng không ảnh hưởng gì tới
hoạt động của hệ thống. Chính vì vậy, phương pháp này được áp dụng rộng rãi trong
mạng Ethernet.
Nhược điểm của CSMA/CD là tính chất bất định của thời gian phản ứng. Các
trạm đều bình đẳng như nhau nên quá trình chờ ở một trạm có thể lặp đi lặp lại, không
xác định được tương đối chính xác thời gian. Hiệu suất sử dụng đường truyền vì thế
cũng thấp. Rõ ràng, nếu như không kết hợp thêm với các kỹ thuật khác thì phương
pháp này không thích hợp với các cấp thấp, đòi hỏi trao đổi dữ liệu định kỳ, thời gian
thực.
1.5. 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 loại mạng được mô tả dựa theo ba yếu tố: tốc độ,
phương thức tín hiệu sử dụng và đặc tính đường truyền vật lý.
1.5.1. Các hệ thống Ethernet 10Mb/s
- 10Base5. Đây là tiêu chuẩn Ethernet đầu tiên, dựa trên cáp đồng trục loại dày.
Tốc độ đạt được 10 Mb/s, sử dụng băng tần cơ sở, chiều dài cáp tối đa cho 1 phân
đoạn mạng 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 độ 10 Mb/s, chiều dài cáp tối đa của phân đoạn là 185 m (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
độ 10 Mb/s dựa trên hệ thống cáp xoắn cặp Cat 3 trở lên.

6


EBOOKBKMT.COM
- 10BaseF. 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 độ 10 Mb/s , ra đời năm 1993.
1.5.2. Các hệ thống Ethernet 100 Mb/s – Ethernet cao tốc ( Fast Ethernet )
- 100BaseT. Chuẩn Ethernet hoạt động với tốc độ 100 Mb/s trên cả cắp xoắn
cặp lẫn cáp sợi quang.
- 100BaseX. Chữ X nói lên đặc tính mã hóa đường truyền của hệ thống này (sử
dụng phương pháp mã hoá 4B/5B của chuẩn FDDI). Bao gồm 2 chuẩn 100BaseFX và
100BaseTX:
 100BaseFX. Tốc độ 100Mb/s, sử dụng cáp sợi quang đa mode.
 100BaseTX. Tốc độ 100Mb/s, sử dụng cắp xoắn cặp.
 100BaseT2 và 100BaseT4. Các chuẩn này sử dụng 2 cặp và 4 cặp cáp
xoắn cặp Cat 3 trở lên tuy nhiên hiện nay hai chuẩn này ít được sử dụng.
1.5.3. Các hệ thống Giga Ethernet
- 1000BaseX. Chữ X nói lên đặc tính mã hoá đường truyền ( chuẩn này dựa trên
kiểu mã hoá 8B/10B dùng trong hệ thống kết nối tốc độ cao Fibre Channel được phát
triển bởi ANSI). Chuẩn 1000BaseX gồm 3 loại:
 1000Base-SX: tốc độ 1000 Mb/s, sử dụng sợi quang với sóng ngắn.
 1000Base-LX: tốc độ 1000 Mb/s, sử dụng sợi quang với sóng dài.
 1000Base-CX: tốc độ 1000 Mb/s, sử dụng cáp đồng.
- 1000BaseT. Hoạt động ở tốc độ Giga bit, băng tần cơ sở trên cáp xoắn cặp Cat
5 trở lên. Sử dụng kiểu mã hoá đường truyền riêng để đạt được tốc độ cao trên loại cáp

này.
1.6. Chuẩn IEEE 802
IEEE 802 là họ các chuẩn IEEE dành cho các mạng LAN và mạng MAN
(metropolitan area network). Cụ thể hơn, các chuẩn IEEE 802 được giới hạn cho các
mạng mang các gói tin có kích thước đa dạng. (Khác với các mạng này, dữ liệu trong
các mạng cell-based được truyền theo các đơn vị nhỏ có cùng kích thước được gọi là
cell. Các mạng Isochronous, nơi dữ liệu được truyền theo một dòng liên tục các octet,
hoặc nhóm các octet, tại các khoảng thời gian đều đặn, cũng nằm ngoài phạm vi của
chuẩn này).

7


EBOOKBKMT.COM
Các dịch vụ và giao thức được đặc tả trong IEEE 802 ánh xạ tới hai tầng thấp
(tầng liên kết dữ liệu và tầng vật lý của mô hình 7 tầng OSI. Thực tế, IEEE 802 chia
tầng liên kết dữ liệu OSI thành hai tầng con LLC (điều khiển liên kết lôgic) và MAC
(điều khiển truy nhập môi trường truyền), do đó các tầng này có thể được liệt kê như
sau:
- Tầng liên kết dữ liệu
- Tầng con LLC
- Tầng con MAC
- Tầng vật lý
Họ chuẩn IEEE 802 được bảo trì bởi Ban Tiêu chuẩn LAN/MAN IEEE 802
(IEEE 802 LAN/MAN Standards Committee (LMSC)). Các chuẩn được dùng rộng rãi
nhất là dành cho họ Ethernet, Token Ring, mạng LAN không dây, các mạng LAN
dùng bridge và bridge ảo (Bridging and Virtual Bridged LANs). Chuẩn dành cho họ
Ethernet là chuẩn IEEE 802.3.

8



EBOOKBKMT.COM
CHƯƠNG 2. HỌ GIAO THỨC TCP/IP

2.1. Họ giao thức TCP/IP
TCP/IP là viết tắt của Transmission Control Protocol / Internet Protocol (Giao
thức Điều Khiển Truyền Thông /Giao thức Internet). TCP/IP không chỉ gồm 2 giao
thức mà thực tế nó là tập hợp của nhiều giao thức. TCP/IP sử dụng mô hình truyền
thông 4 tầng hay còn gọi là mô hình DoD (Mô hình của Bộ Quốc Phòng Mỹ). Các
tầng trong mô hình này là:
- Tầng Ứng Dụng (Application Layer).
- Tầng Giao Vận (Transport Layer).
- Tầng Liên Mạng (Internet Layer).
- Tầng Giao Tiếp Mạng (Network Interface Layer).

Hình 3: Cấu trúc họ giao thức TCP/IP.
2.1.1. Tầng Ứng Dụng (Application Layer)
Gồm nhiều giao thức cung cấp cho các ứng dụng người dùng. Được sử dụng để
định dạng và trao đổi thông tin người dùng. 1 số giao thức thông dụng trong tầng này
là:
- DHCP (Dynamic Host Configuration Protocol): Giao thức cấu hình trạm động.
- DNS (Domain Name System): Hệ thống tên miền.

9


EBOOKBKMT.COM
- SNMP (Simple Network Management Protocol): Giao thức quản lý mạng đơn
giản.

- FTP (File Transfer Protocol): Giao thức truyền tập tin.
- TFTP (Trivial File Transfer Protocol): Giao truyền tập tin bình thường.
- SMTP (Simple Mail Transfer Protocol): Giao thức gửi thư đơn giản.
- TELNET: là chương trình mô phỏng thiết bị đầu cuối cho phép người dùng
login vào một máy chủ từ một máy tính nào đó trên mạng.
Tầng ứng dụng trao đổi dữ liệu với lớp dưới (lớp vận chuyển) qua cổng. Việc
dùng cổng bằng số cho phép giao thức của lớp vận chuyển biết loại nội dung nào chứa
bên trong gói dữ liệu. Những cổng được đánh bằng số và những ứng dụng chuẩn
thường dùng cùng cổng. Ví dụ: giao thức FTP dùng cổng 20 cho dữ liệu và cổng 21
cho điều khiển, giao thức SMTP dùng cổng 25…
2.1.2. Tầng Giao Vận (Transport Layer)
Có trách nhiệm thiết lập phiên truyền thông giữa các máy tính và quy định cách
truyền dữ liệu. 2 giao thức chính trong tầng này gồm:
- UDP (User Datagram Protocol): Còn gọi là Giao Thức Gói Người Dùng. UDP
cung cấp các kênh truyền thông phi kết nối nên nó không đảm bảo truyền dữ liệu 1
cách tin cậy. Các ứng dụng dùng UDP thường chỉ truyền những gói có kích thước nhỏ,
độ tin cậy dữ liệu phụ thuộc vào từng ứng dụng.
- TCP (Transmission Control Protocol): Ngược lại với UDP, TCP cung cấp các
kênh truyền thông hướng kết nối và đảm bảo truyền dữ liệu 1 cách tin cậy. TCP
thường truyền các gói tin có kích thước lớn và yêu cầu phía nhận xác nhận về các gói
tin đã nhận.
2.1.3. Tầng Internet (Internet Layer)
Nằm bên trên tầng truy nhập mạng. Tầng này có chức năng gán địa chỉ, đóng gói
và định tuyến (Route) dữ liệu. 4 giao thức quan trọng nhất trong tầng này gồm:
- IP (Internet Protocol): Có chức năng gán địa chỉ cho dữ liệu trước khi truyền và
định tuyến chúng tới đích.
- ARP (Address Resolution Protocol): Có chức năng biên dịch địa chỉ IP của
máy đích thành địa chỉ MAC.

10



EBOOKBKMT.COM
- ICMP (Internet Control Message Protocol): Có chức năng thông báo lỗi trong
trường hợp truyền dữ liệu bị hỏng.
- IGMP (Internet Group Management Protocol): Có chức năng điều khiển truyền
đa hướng (Multicast) .
2.1.4. Lớp giao tiếp mạng
Tầng giao tiếp mạng liên quan tới việc trao đổi dữ liệu giữa hai trạm thiết bị
trong cùng một mạng. Các chức năng bao gồm việc kiểm soát truy nhập môi trường
truyền dẫn, kiểm soát lỗi và lưu thông dữ liệu. Datagram được tạo từ lớp Internet sẽ
được gửi xuống tới lớp truy nhập mạng nếu truyền dữ liệu, hoặc tầng giao tiếp mạng
sẽ lấy dữ liệu từ mạng và gửi nó tới lớp Internet nếu chúng ta nhận dữ liệu. Như đã đề
cập ở phần trên, Ethernet là giao thức cấp dưới có ba lớp LLC ( Logic Link Control ),
MAC ( Media Access Control ) và lớp vật lí Physical.
2.2. Cấu trúc gói tin IP,TCP,UDP
2.2.1. Cấu trúc địa chỉ IP
Mạng Internet dùng hệ thống địa chỉ IP (32 bit) để "định vị" các máy tính liên
kết với nó. Có hai cách đánh địa chỉ phụ thuộc vào cách liên kết của từng máy tính cụ
thể.
Nếu các máy tính được kết nối trực tiếp với mạng Internet thì NIC (Network
Information Centre) sẽ cấp cho các máy tính đó một địa chỉ IP (IP Address).
Nếu các máy tính không kết nối trực tiếp với mạng Internet mà thông qua một
mạng cục bộ thì người quản trị mạng sẽ cấp cho các máy tính đó một địa chỉ IP (tuy
nhiên cũng dưới sự cho phép của NIC).
Hệ thống địa chỉ này được thiết kế mềm dẻo qua một sự phân lớp, có 5 lớp địa
chỉ IP là : A, B, C, D, E. Sự khác nhau cơ bản giữa các lớp địa chỉ này là ở khả năng tổ
chức các cấu trúc con của nó.

11



EBOOKBKMT.COM
Bảng 2: Tổ chức địa chỉ IP.

0 1 2 3 4

8

Class A

0

Hostid

Class B

1 0

ị Class C
a
Class D
Class E

Netid

16

Netid


1 1 0
1 1 1 0
1 1 1 1 0

24
Đ

Hostid

Netid

Hostid

Multicast address
Reverved for future use

chỉ lớp A: Lớp A sử dụng byte đầu tiên của 4 byte để đánh địa chỉ mạng. Như hình
trên, nó được nhận ra bởi bit đầu tiên trong byte đầu tiên của địa chỉ có giá trị 0. 3
bytes còn lại được sử dụng để đánh địa chỉ máy trong mạng. Có 126 địa chỉ lớp A
(được đánh địa chỉ trong byte thứ nhất) với số máy tính trong mạng là 2563 - 2 =
16.777.214 máy cho mỗi một địa chỉ lớp A (sử dụng 3 bytes để đánh địa chỉ máy).
- Địa chỉ lớp B: Một địa chỉ lớp B được nhận ra bởi 2 bit đầu tiên của byte thứ
nhất mang giá trị 10. Lớp B sử dụng 2 byte đầu tiên của 4 byte để đánh địa chỉ mạng
và 2 byte cuối đánh địa chỉ máy trong mạng. Có 64*256 - 2 = 16.128 địa chỉ mạng lớp
B với 65.534 máy cho mỗi một địa chỉ lớp B.
- Địa chỉ lớp C: Một địa chỉ lớp C được nhận ra với 3 bit đầu mang giá trị 110.
Mạng lớp C sử dụng 3 byte đầu để đánh địa chỉ mạng và 1 byte cuối đánh địa chỉ máy
tính có trong mạng. Có 2.097.152 -2 địa chỉ lớp C, mỗi địa chỉ lớp C có 254 máy.
- Địa chỉ lớp D: Dùng để gửi các IP datagram tới một nhóm các host trên một
mạng.

- Địa chỉ lớp E: Dùng để dự phòng và dùng trong tương lai.
2.2.2. Cấu trúc gói tin IP
- Ver-4 bít: 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.
- IHL(IP Header Length)-4bít: chỉ độ dài phần header của gói tin, tính theo từ 32
bít.
- TOS(Type of Service)-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. Cụ thể
như sau:

12


EBOOKBKMT.COM
 3 bít đầu (Precedence) chỉ quyền ưu tiên gửi gói tin, từ gói tin bình thường
là 0 đến gói tin kiểm soát mạng là 7.
 1 bít tiếp theo (Delay) chỉ độ trễ yêu cầu, 0 ứng với gói tin có độ trễ bình
thường, 1 ứng với gói tin có độ trễ thấp.
 1 bít tiếp theo (Throughput) chỉ thông lượng yêu cầu sử dụng để truyền
gói tin với lựa chọn truyền trên đường thông suất thấp hay trên đường
thông suất cao, 0 ứng với thông lượng bình thường, 1 ứng với thông lượng
cao.
 1 bít tiếp theo (Reliability) chỉ độ tin cậy yêu cầu, 0 ứng với độ tin cậy
bình thường, 1 ứng với độ tin cậy cao.
- Total Length-2byte:chỉ độ dài toàn bộ gói tin tính cả phần header, tính theo đơn
vị byte.
- 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 một gói tin trong thời gian nó tồn tại
trên mạng.
- Flags: Các gói tin khi truyền trên đường đi có thể bị phân thành nhiều gói tin

nhỏ. Trường Flags dùng để điều khiển phân đoạn và lắp ghép gói tin. Cụ thể như sau:
 Bít 0: chưa sử dụng, luôn lấy giá trị 0
 Bít 1: 0 ứng với gói tin bị phân mảnh, 1 ứng với gói tin không bị phân
mảnh.
 Bít 2: 0 ứng với gói tin thuộc phân đoạn cuối cùng của gói tin gốc, 1 ứng
với gói tin không phải là phân đoạn cuối cùng của gói tin gốc.
- Fragment Offset-13bí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-1byte: quy định thời gian tồn tại tính bằng giây của gói tin trong
mạng. Thời gian này được đặt bởi trạm gửi và giảm đi (thường quy ước là 1) khi gói
tin đi qua mỗi router của liên mạng. Một giá trị tối thiểu phải đủ lớn để mạng hoạt
động tốt.
- Protocol: Chỉ tầng giao thức kế tiếp sẽ nhận vùng dữ liệu ở trạm đích. TCP có
ứng với giá trị 6, UDP ứng với giá trị 17, 1 ứng với ICMP.

13


EBOOKBKMT.COM
- 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-4byte: Địa chỉ IP của nơi truyền gói tin.
- Destination IP Address-4byte: Địa chỉ IP của nơi nhậ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 phần header luôn kết thúc ở một
mốc 32 bít.
- Data: chứa thông tin lớp trên ,chiều dài thay đổi đến 64Kb.
2.2.3. Cấu trúc gói tin TCP
Đơn vị dữ liệu trong TCP được gọi là Segment với cấu trúc như sau:

- Source Port-2 byte: 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 của byte đầu tiên của segment, nếu cờ SYN bật thì
nó là số thứ tự gói ban đầu và byte đầu tiên được gửi có số thứ tự này cộng thêm 1.
Nếu không có cờ SYN thì đây là số thứ tự của byte đầu tiên.
- Acknowledgment Number-2byte: nếu cờ ACK bật thì giá trị của trường chính là
số thứ tự gói tin tiếp theo mà bên nhận cần. Báo là nhận tốt các segment mà trạm đích
đã gửi cho trạm nguồn.
- Data offset-4bit: độ dài của phần header tính theo đơn vị từ 32 bit. Tham số này
chỉ ra vị trí bắt đầu của nguồn dữ liệu.
- Reserved-6 bít.
- Flags: các bít điều khiển
 URG: Vùng con trỏ khẩn (Urgent pointer) có hiệu lực
 ACK: Vùng báo nhận ACK number có hiệu lực
 PSH: Chức năng PUSH
 RST: khởi động lại liên kết
 SYN: đồng bộ hoá số hiệu tuần tự

14


EBOOKBKMT.COM
 FIND: không còn dữ liệu từ 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ố từ 16
bit mà số thứ tự gói tin (sequence number) cần dịch trái.
- Option-2byte: vùng tuỳ 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 một 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à 536byte. Giá
trị này có thể khai báo trong trường Option.
2.2.4. Cấu trúc gói tin UDP
Vùng header của UDP có 64 bít với 4 trường :
- Source Port-2byte: xác định cổng của người gửi thông tin và có ý nghĩa nếu
muốn nhận thông tin phản hồi từ người nhận. Nếu không thì đặt nó bằng 0.
- Destination Port-2byte: xác định cổng nhận thông tin và trường này là cần thiết.
- Length-2byte: là chiều dài của toàn bộ gói tin(phần header và phần dữ liệu).
Chiều dài tối thiểu là 8 byte khi gói tin không có dữ liệu, chỉ có header.
- Checksum-2byte: dùng cho việc kiểm tra lỗi của phần header và phần dữ liệu.

CHƯƠNG 3. PHẦN CỨNG

15


EBOOKBKMT.COM
3.1. Vi điều khiển PIC 18F67J60
3.1.1. Các đặc trưng của PIC 18F67J60
Vi điều khiển PIC18F67J60 là một vi điều khiển thuộc dòng vi điều khiển
PIC19F97J60, do đó nó có các đặc trưng chung của họ vi điều khiển này.
3.1.1.1. Các đặc trưng chung:
- Sử dụng thạch anh 25MHz cho ứng dụng Ethernet.
- Bộ nhớ chương trình 128Kbyte ( 65532 lệnh).
- Bộ nhớ dữ liệu 3808 byte.
- Có 39 chân I/O thuộc các port A,B,C,D,E,F,G.
- Có 5 bộ Timer:
 Timer0 : vận hành như là 1 bộ định thời 8 bit hoặc 16 bit, 1 bộ đếm.

 Timer1 : vận hành như là 1 bộ định thời 8 bit, 1 bộ đếm.
 Timer2 : vận hành như là 1 bộ định thời 8 bit, 1 bộ đếm.
 Timer3 : vận hành như là 1 bộ định thời 16 bít, 1 bộ đếm.
 Timer4 : vận hành như là 1 bộ định thời 8 bít, 1 bộ đếm.
- Có 2 module Capture/Compare/PWM.
- Có 3 module EnhancedCapture/Compare/PWM.
- Các giao tiếp nối tiếp MSSP (Master Synchronous Serial Port) và Enhanced
USART (Universal asynchronous receiver/transmitter).
- Có 11 kênh chuyển đổi A/D 10 bit.
3.1.1.2. Đặc trưng Ethernet:
- Sử dụng chuẩn IEEE 802.3.
- Tích hợp MAC và 10Base-T PHY.
- 8 kbyte bộ nhớ đệm SRAM để lưu trữ các gói tin truyền/nhận.
- Có 2 led để chỉ trạng thái hoạt động.
3.1.2. Module A/D 10 bit

16


EBOOKBKMT.COM
Vi điều khiển PIC 18F67J60 có 11 kênh chuyển đổi A/D (analog-to-digital).
Module ADC cho phép chuyển đổi một tín hiệu tương tự đầu vào thành một giá trị số
10 bit tương ứng ở đầu ra.
3.1.2.1. Module A/D có 5 thanh ghi:
 Thanh ghi ADRESH (A/D Result High Register).
 Thanh ghi ADRESL (A/D Result Low Register).
 Thanh ghi ADCON0 (A/D Control Register 0).
 Thanh ghi ADCON0 (A/D Control Register 1).
 Thanh ghi ADCON0 (A/D Control Register 2).
- Thanh ghi ADCON0: điều khiển hoạt động của module A/D


Hình 4: Thanh ghi ADCON0.
Ta chỉ cần quan tâm đến các bit 5-0
 Bit 5-2: chọn kênh A/D:
0000 = Kênh 0 (AN0)
0001 = Kênh 1 (AN1)
0010 = Kênh 2 (AN2)
0011 = Kênh 3 (AN3)
0100 = Kênh 4 (AN4)
0110 = Kênh 6 (AN6)
0111 = Kênh 7 (AN7)
1000 = Kênh 8 (AN8)
1001 = Kênh 9 (AN9)
1010 = Kênh 10 (AN10)
1011 = Kênh 11 (AN11)

17


EBOOKBKMT.COM
 Bit 1: Nếu bit ADON=1 thì module A/D đang làm việc nếu bit này là 1
và module A/D này không làm gì nếu bit này là 0.
 Bit 0: ADON=1 : cho phép module A/D hoạt động.
ADON=0 : không cho phép module A/D hoạt động.
- Thanh ghi ADCON1: cấu hình cho các chân A/D

Hình 5: Thanh ghi ADCON1.
 Bit 5: VCFG0 = 1 nghĩa là đặt chân AN2 là VREFVCFG0 = 0 nghĩa là đặt VREF- = AVSS
 Bit 4: VCFG0 = 1 nghĩa là đặt chân AN3 là VREF+
VCFG0 = 0 nghĩa là đặt VREF+ = AVDD

 Bit 3-0: PCFG3:PCFG0 – các bit này điều khiển việc cấu hình cho các
chân A/D.

Hình 6: Các bit điều khiển cấu hình cho các chân của bộ A/D.
Chú thích: (1): AN12-AN15 chỉ có trên các vi điều khiển 80 và 100 chân.
(2): AN5 chỉ có trên vi điều khiển 100 chân.

18


EBOOKBKMT.COM
A = Analog input

D= Digital I/O

- Thanh ghi ADCON2: cấu hình xung clock cho bộ A/D, căn chỉnh.

Hình 7: Thanh ghi ADCON2.
 Bit 7: ADFM – bit chọn định dạng cho kết quả.
 Bit 5-3: ACQT2: ACQT0 các bit chọn Acquisition Time.
111 = 20 TAD
110 = 16 TAD
101 = 12 TAD
100 = 8 TAD
011 = 6 TAD
010 = 4 TAD
001 = 2 TAD
000 = 0 TAD
 Bit 2-0: các bit chọn xung clock cho quá trình chuyển đổi.
111 = FRC (xung clock của bộ dao động RC)

110 = FOSC/64
101 = FOSC/16
100 = FOSC/4
011 = FRC (xung clock của bộ dao động RC)
010 = FOSC/32
001 = FOSC/8
000 = FOSC/2

19


EBOOKBKMT.COM

3.1.2.2. Quá trình chuyển đổi A/D:
- Bước 1: Cấu hình cho module A/D
 Thiết lập thanh ghi ADCON1 (cấu hình chân analog, VREF, Digital I/O).
 Thiết lập thanh ghi ADCON0 (cho phép bộ A/D hoạt động, chọn kênh
A/D đầu vào).
 Thiết lập thanh ghi ADCON2 (chọn xung clock cho bộ A/D, acquisition
time).
- Bước 2: Cấu hình ngắt A/D (nếu sử dụng)
 Xóa bit ADIF.
 Set bit ADIE.
 Set bit GIE.
- Bước 3: Chờ acquisition time được yêu cầu (nếu được yêu cầu).
- Bước 4: Bắt đầu chuyển đổi, set bit ADCON0<1>.
- Bước 5: Chờ quá trình chuyển đổi A/D hoàn thành bằng việc chờ cho đến khi
bit ADCON0<1> bị xóa hoặc chờ ngắt A/D.
- Bước 6: Đọc kết quả các thanh ghi (ADRESH:ADRESL), xóa bit ADIF nếu
được yêu cầu.

- Bước 7: Để thực hiện quá trình chuyển đổi tiếp theo, quay lại bước 1 hoặc bước
2.
3.1.3. Module Ethernet
Vi điều khiển PIC18F67J60 được tích hợp sẵn module điều khiển Ethernet. Đây
là một giải pháp kết nối hoàn chỉnh, bao gồm cả module Media Access Control
(MAC) và Physical Layer transceiver (PHY). Module Ethernet đáp ứng tất
cả các chuẩn IEEE 802.3 cho kết nối 10-BaseT cáp đôi xoắn. Có 2 LED output để báo
liên kết và trạng thái hoạt động của mạng.

20


EBOOKBKMT.COM

Hình 8: Sơ đồ khối module Ethernet.
Module Ethernet gồm 5 khối chức năng chính:
- Khối truyền nhận PHY sẽ mã hóa và giải mã dữ liệu gửi hoặc nhận ở đầu RJ45.
- Khối MAC phù hợp với chuẩn IEEE 802.3 cung cấp MIIP (Media Independent
Interface Management) để điều khiển PHY.
- Một bộ đệm RAM 8Kbyte để lưu trữ các gói tin truyền nhận.
- Một khối phân xử để điều khiển sự truy cập vào bộ đệm RAM khi được DMA,
khối truyền nhận yêu cầu.
- Thanh ghi giao tiếp có chức năng thông dịch những dòng lệnh và tín hiệu trạng
thái nội giữa module Ethernet và các thanh ghi đặc biệt của vi điều khiển SFRS.
3.2. Cảm biến nhiệt độ LM35
IC đo nhiệt độ là một mạch tích hợp nhận tín hiệu nhiệt độ chuyển thành tín hiệu
điện dưới dạng dòng điện hay điện áp. Dựa vào đặc tính rất nhạy của các bán dẫn với
nhiệt độ, tạo ra điện áp hoặc dòng điện tỷ lệ thuận với nhiệt độ tuyệt đối. Đo tín hiệu
điện ta biết được giá trị của nhiệt độ cần đo. Sự tác động của nhiệt độ tạo ra điện tích
tự do và các lỗ trống trong chất bán dẫn. Bằng sự phá vỡ các phân tử, bứt các electron


21


EBOOKBKMT.COM
thành dạng tự do di chuyển qua vùng cấu trúc mạng tinh thể tạo sự xuất hiện các lỗ
trống. Làm cho tỷ lệ điện tử tự do và lỗ trống tăng lên theo quy luật hàm mũ với nhiệt
độ.
Các đặc trưng của LM35:
- Ngõ ra là điện áp.
- Độ nhạy 10mv/10C
- Sai số cực đại 1,50C khi nhiệt độ lớn hơn 1000C.
- Phạm vi sử dụng :00 C=>1000 C
- Cứ10mV tương ứng với 1°C, ở 00C điện áp ra là 0V, tương ứng với giá trị ADC
là 0. Với Vref=2.5V, giá trị của ADC từ 0 đến 1023, lấy tròn 1000 mức. Mỗi giá trị
ADC ứng với 2.5V/1000= 2.5 mV. Vậy 1 giá trị A/D ứng với 0.25 0C. Muốn tăng độ
phân giải A/D ta giảm Vref.

Hình 9: LM35 DZ
3.3. Mạch nguyên lý
3.3.1. Khối mạch nguồn

Hình 10: Khối mạch nguồn

22


EBOOKBKMT.COM
- Mạch nguồn sử dụng IC ổn áp 7805 để tạo điện áp 5V để nuôi các khối sử dụng
điện áp 5V và đưa tới đầu vào của IC ổn áp LM117. Tại đầu ra của LM117 là điện áp

3.3V dùng để cấp nguồn cho vi điều khiển và các khối khác trong mạch sử dụng điện
áp 3.3V.
- Tại đầu vào của IC 7805, dòng điện DC được cho qua một diode D3 trước khi
tới đầu vào của 7805 để bảo đảm cho dòng điện qua 7805 theo 1 chiều cố định. Các tụ
C15, C17, C13, C16, C19, C18 có tác dụng lọc nhiễu.
3.3.2. Khối mạch RJ45

Hình 11: Khối mạch RJ45.
- Trong mạch này, sử dụng đầu cắm giao tiếp RJ45 là HR911105A của
HANRUN. HR911105A được tích hợp sẵn biến áp và có 2 led để thông báo trạng thái
kết nối của mạch.

23


EBOOKBKMT.COM

Hình 12: Sơ đồ khối của HR911105A.
3.3.3. Khối mạch LCD

Hình 13: Khối mạch LCD.
- Khối mạch LCD sử dụng LCD 16x2 để hiển thị địa chỉ IP hiện tại của mạch và
để hiện thị các kí tự được truyền xuống từ web giao diện.

24


EBOOKBKMT.COM
3.3.4. Khối mạch vi điều khiển PIC18F67J60


Hình 14: Jack kết nối với mạch vi điều khiển, mạch dao động ngoài, chân
VDDCORE/VCAP.
- Chân VDDCORE/VCAP của vi điều khiển được nối với tụ phân cực C14 xuống
đất.
- Bộ dao động ngoài sử dụng thạch anh 25MHz.

Hình 15: Mạch lọc, mạch reset, chân nạp cho vi điều khiển.

25


×