MỤC LỤCMục lụcviiDANH MỤC HÌNHxDANH MỤC BẢNGxiiChương 1.TỔNG QUAN11.1Đặt vấn đề11.2Tầm quan trọng của đề tài11.3Giới hạn của đề tài11.4Mục đích của đề tài11.5Đối tượng nghiên cứu21.6Danh mục từ viết tắt2Chương 2.CƠ SỞ LÝ THUYẾT VẾ MẠNG INTERNET32.1Tổng quan về mạng Internet32.2Cấu trúc khung Ethernet32.3Cấu trúc địa chỉ Ethernet42.4Các loại khung Ethernet42.5Truy nhập bus sử dụng phương pháp CSMACD62.6Các loại mạng Ethernet72.6.1Các hệ thống Ethernet 10Mbs72.6.2Các hệ thống Ethernet 100 Mbs – Ethernet cao tốc ( Fast Ethernet )82.6.3Các hệ thống Giga Ethernet82.7Kết nối internet82.8Mô hình OSI (Open Systems Interconnection)82.9Giao thức TCPIP102.10Cấu trúc gói tin IP,TCP,UDP122.10.1Cấu trúc địa chỉ IP122.10.2Cấu trúc gói tin IP142.10.3Cấu trúc gói tin TCP152.10.4Cấu trúc gói tin UDP16Chương 3.GIỚI THIỆU LINH KIỆN173.1ENC28J60173.1.1Giới thiệu173.1.2Sơ đồ khối:183.1.2.1Tên chân và chức năng:193.1.2.2Tổ chức bộ nhớ:233.1.3Giao tiếp SPI với ENC28J60:273.1.3.1Tập lệnh:283.2RJ45283.3PIC18F4620302.3.1Sơ đồ khối343.3.1Nguồn dao động343.3.2RESET363.3.3Chức năng các chân373.4Giới thiệu chuẩn giao tiếp SPI463.4.1Khái quát463.4.2Các chế độ hoạt động493.4.3Truyền dữ liệu503.5Sử dụng SPI trong PIC18F462051Chương 4.THI CÔNG MẠCH VÀ MẠCH THỰC TẾ564.1Sơ đồ khối board điều khiển564.2Sơ đồ nguyên lí574.2.1Khối giao tiếp mạng574.2.2Khối vi điều khiển584.2.3Khối thiết bị584.2.4Khối nguồn594.3Lưu đồ giải thuật và chương trình614.3.1Lưu đồ giải thuật614.3.2Chương trình614.4Kết quả đạt được804.4.1Mô hình điều khiển qua mạng LAN814.4.2Mô hình điều khiển qua mạng internet82Chương 5.KẾT LUẬN875.1Các vấn đề đã ngiên cứu và làm được875.2Tự đánh giá875.3Hướng phát triển đề tài87PHỤ LỤC – PHỤ ĐÍNH88TÀI LIỆU THAM KHẢO89
Trang 1BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
KHOA CÔNG NGHỆ ĐIỆN TỬ
Trang 2LỜI CẢM ƠN
Chúng em xin chân thành cảm ơn quý thầy cô trường ĐH Công NghiệpTP.HCM, quý thầy cô Khoa Điện Tử đã truyền dạy cho chúng em những kiến thứcquý giá cho chúng em Đặc biệt chúng em chân thành cảm ơn thầy Trần Minh Hồng
đã tận tình chỉ dạy, hướng dẫn chúng em hoàn thiện đồ án này
Trong quá trình thực hiện đồ án nhóm chúng em gặp không ít khó khăn vàthiếu sót Nhưng được sự hướng dẫn và giúp đỡ nhiệt tình của quý thầy cô, đã giúpchúng em khắc phục được những thiếu sót đó và có thể hoàn thành được đề tài đúngthời hạn, giúp chúng em học tốt hơn
Tuy nhiên do kiến thức chúng em có hạn nên trong quá trình thực hiện đồ án
và viết báo cáo còn nhiều sai sót Rất mong được ý kiến đánh giá và đóng góp củaquý thầy cô để đồ án này của chúng em được hoàn thiện hơn Một lần nữa chúng
em xin chân thành cảm ơn!
Tp Hồ Chí Minh,Ngày… tháng 04 năm 2014
SVTH: Lỷ Chủ Phóng
Cao Văn Mạnh
Trang 3PHIẾU NHẬN XÉT ĐỒ ÁN
(Dành cho giáo viên h ướng dẫn)
A Phần ghi của sinh viên
1 Họ và tên sinh viên: MSSV:
Họ và tên sinh viên MSSV:
Lớp Điện thoại liên lac:
2 Đề tài :
3 Họ tên giáo viên hướng dẫn:
Tổng quát về thuyết minh bản báo cáo: Số trang: Số chương :
Số bảng số liệu : Số hình vẽ:
Số tài liệu tham khảo:
Hiện vật (Phần cứng) :
B Phần ghi của giáo viên hướng dẫn 4 Phần nhận xét (nếu có)
5 Kết luận và đề nghị :
Được bảo vệ Không được bảo vệ 7 Đánh giá chung : Sinh viên Điểm: / 10
Sinh viên Điểm: / 10
Ký tên (ghi rõ họ tên)
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP
TP.HCM KHOA CÔNG NGHỆ ĐIỆN TỬ
CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc Lập – Tự Do – Hạnh Phúc
TP Hồ Chí Minh, ngày tháng năm 2014
Trang 4PHIẾU NHẬN XÉT ĐỒ ÁN
(Dành cho giáo viên chấm phản biện )
A Phần ghi của sinh viên
1 Họ và tên sinh viên: MSSV:
Họ và tên sinh viên MSSV:
Lớp Điện thoại liên lac:
2 Đề tài :
B Phần ghi của giáo viên phản biện 1 Đánh giá chung : Sinh viên Điểm /10
Sinh viên Điểm /10
2 Phần nhận xét( nếu có)
Ký tên (ghi rõ họ tên)
Mục lụ
CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc Lập – Tự Do – Hạnh Phúc
TP Hồ Chí Minh, ngày tháng năm 2014
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP
TP.HCM KHOA CÔNG NGHỆ ĐIỆN TỬ
Trang 5Mục lục vii
DANH MỤC HÌNH x
DANH MỤC BẢNG xii
Chương 1 TỔNG QUAN 1
1.1 Đặt vấn đề 1
1.2 Tầm quan trọng của đề tài 1
1.3 Giới hạn của đề tài 1
1.4 Mục đích của đề tài 1
1.5 Đối tượng nghiên cứu 2
1.6 Danh mục từ viết tắt 2
Chương 2 CƠ SỞ LÝ THUYẾT VẾ MẠNG INTERNET 3
2.1 Tổng quan về mạng Internet 3
2.2 Cấu trúc khung Ethernet 3
2.3 Cấu trúc địa chỉ Ethernet 4
2.4 Các loại khung Ethernet 4
2.5 Truy nhập bus sử dụng phương pháp CSMA/CD 6
2.6 Các loại mạng Ethernet 7
2.6.1 Các hệ thống Ethernet 10Mb/s 7
2.6.2 Các hệ thống Ethernet 100 Mb/s – Ethernet cao tốc ( Fast Ethernet ) 8
2.6.3 Các hệ thống Giga Ethernet 8
2.7 Kết nối internet 8
2.8 Mô hình OSI (Open Systems Interconnection) 8
2.9 Giao thức TCP/IP 10
Trang 62.10 Cấu trúc gói tin IP,TCP,UDP 12
2.10.1 Cấu trúc địa chỉ IP 12
2.10.2 Cấu trúc gói tin IP 14
2.10.3 Cấu trúc gói tin TCP 15
2.10.4 Cấu trúc gói tin UDP 16
Chương 3 GIỚI THIỆU LINH KIỆN 17
3.1 ENC28J60 17
3.1.1 Giới thiệu 17
3.1.2 Sơ đồ khối: 18
3.1.2.1 Tên chân và chức năng: 19
3.1.2.2 Tổ chức bộ nhớ: 23
3.1.3 Giao tiếp SPI với ENC28J60: 27
3.1.3.1 Tập lệnh: 28
3.2 RJ45 28
3.3 PIC18F4620 30
2.3.1 Sơ đồ khối 34
3.3.1 Nguồn dao động 34
3.3.2 RESET 36
3.3.3 Chức năng các chân 37
3.4 Giới thiệu chuẩn giao tiếp SPI 46
3.4.1 Khái quát 46
3.4.2 Các chế độ hoạt động 49
3.4.3 Truyền dữ liệu 50
3.5 Sử dụng SPI trong PIC18F4620 51
Trang 7Chương 4 THI CÔNG MẠCH VÀ MẠCH THỰC TẾ 56
4.1 Sơ đồ khối board điều khiển 56
4.2 Sơ đồ nguyên lí 57
4.2.1 Khối giao tiếp mạng 57
4.2.2 Khối vi điều khiển 58
4.2.3 Khối thiết bị 58
4.2.4 Khối nguồn 59
4.3 Lưu đồ giải thuật và chương trình 61
4.3.1 Lưu đồ giải thuật 61
4.3.2 Chương trình 61
4.4 Kết quả đạt được 80
4.4.1 Mô hình điều khiển qua mạng LAN 81
4.4.2 Mô hình điều khiển qua mạng internet 82
Chương 5 KẾT LUẬN 87
5.1 Các vấn đề đã ngiên cứu và làm được 87
5.2 Tự đánh giá 87
5.3 Hướng phát triển đề tài 87
PHỤ LỤC – PHỤ ĐÍNH 88
TÀI LIỆU THAM KHẢO 89
Trang 8DANH MỤC HÌN
Hình 2-1 Mô hình truyền thông unicast 5
Hình 2-2 Minh họa phương pháp CSMA/CD 6
Hình 2-3 Mối quan hệ giữa OSI và TCP/IP 10
Hình 2-4 Cấu trúc họ giao thức TCP/IP 10
Hình 3-1 Sơ đồ chân ENC28J60 17
Hình 3-2 Sơ đồ khối 18
Hình 3-3 Phân cực cho LED và thiết lập lại các tùy chọn cấu hình 20
Hình 3-4 Tên và chức năng chân 21
Hình 3-5 Mạch tạo dao động cho ENC28J60 22
Hình 3-6 Giao tiếp giữa 18f4620 với enc 28j60 23
Hình 3-7 Tổ chức bộ nhớ 24
Hình 3-8 Thanh ghi điều khiển 25
Hình 3-9 Bộ đệm Ethernet 26
Hình 3-10 Giao tiếp SPI với vi điều khiển 27
Hình 3-11 Hình dạng RJ45 28
Hình 3-12 Phân loại RJ45 29
Hình 3-13 Schematic RJ45 30
Hình 3-14 PIC 18F4620 31
Hình 3-15 Sơ đồ khối Pic 18F4620 34
Hình 3-16 mạch tạo dao động 35
Hình 3-17 Tạo dao động HSPLL 36
Hình 3-18 Reset MCLR 37
Trang 9Hình 3-19 Bộ nhớ chương trình Pic 18F4620 44
Hình 3-20 Bộ nhớ dữ liệu Pic 18F4620 45
Hình 3-21 Giao diện SPI 47
Hình 3-22 Truyền dữ liệu SPI 48
Hình 3-23 SPI Mode 0 49
Hình 3-24 SPI Mode 1 49
Hình 3-25 SPI Mode 2 50
Hình 3-26 SPI Mode 3 50
Hình 3-27 Truyền dữ liệu giữa Master và Slave 51
Hình 3-28 Sơ đồ tích hợp SPI trong PIC 52
Hình 4-1 Sơ đồ khối board điều khiển 56
Hình 4-2 Khối giao tiếp mạng 57
Hình 4-3 Khối vi xử lý 58
Hình 4-4 Khối kích tải 59
Hình 4-5 Khối nguồn 59
Hình 4-6 Lưu đồ giải thuật 61
Hình 4-7 Mô hình điều khiển thiết bị qua mạng LAN 81
Hình 4-8 Sơ đồ hoạt động của hệ thống điều khiển thiết bị qua mạng Internet 82
Trang 10DANH MỤC BẢNG
Bảng 2-1 cấu trúc gói tin internet 3
Bảng 2-2 Tổ chức địa chỉ IP 13
Bảng 3-1PIC18F4620 31
Bảng 3-2 Đặc tính kỹ thuật PIC 16F877A 32
Bảng 3-3 Giá trị của C1 và C2 trong mạch dao động 35
Bảng 3-4 Chức năng của các chân 37
Trang 11CHƯƠNG 1 TỔNG QUAN 1.1 Đặt vấn đề
Ngày nay, với sự phát triển nhanh chóng của thiết bị điện- điện tử, việc giaotiếp với máy tính là hết sức cần thiết Điều này không những tận dụng được tàinguyên, khả năng xử lý của máy tính mà còn giúp cho chúng ta sử dụng các thiết bịmột cách thông minh hơn.Cùng với sự phát triển của internet thì các ứng dụng truycập điều khiển thiết bị ngày càng được thực tế vào trong cuộc sống Xuất phát từnhu cầu và để khai thác được những ưu điểm đó và bằng những kiến thức đã được
học chúng em quyêt định tìm hiểu về đề tài “điều khiển thiết bị qua TCP/IP”.
1.2 Tầm quan trọng của đề tài
- Đây là một đề tài nghiên cứu mang tính thực tiễn trong việc vận dụng các
kiến thức đã được học dưới mái trường Đại Học Công Nghiệp TPHCM vào trongthực tế
- Về mặt khoa học, đề tài sẽ giúp cho nhóm sinh viên thực hiện hiểu rõ thêm
về Truyền dữ liệu điều khiển và cách điều khiển mạch điện thông qua Internet
- Về mặt thực tiễn, đề tài này có thể áp dụng vào thực tế để điều khiển một sốthiết bị trong nhà như đèn điện, quạt máy v v
1.3 Giới hạn của đề tài
Do thời gian thực hiện đề tài có hạn và kiến thức còn hạn chế nên nhóm sinhviên thực hiện đã đưa ra những giới hạn sau:
Điều khiển cùng lúc tối đa 3 thiết bị
Mạch phải hoạt động tốt không bị nhiễu trên đường truyền Internet
Mạch phải chạy ổn định trong quá trình làm việc
1.4 Mục đích của đề tài
Tìm hiểu vi điều khiển PIC18F4620
Tìm hiểu phương pháp lập trình C18 cho PIC
Tìm hiểu IC giao tiếp Ethetnet ENC28J60
Trang 121.5 Đối tượng nghiên cứu
Đối tượng nghiên cứu của đề tài này chính là:
Cách thức giao tiếp giữa mạch và máy tính
Cách thức giao tiếp giữa mạch và mạch điều khiển
Cách lập trình cho vi điều khiển để cho dữ liệu có thể thu, phát liên tục
mà bị ngắt quãng
Cách cân chỉnh mạch, đảm bảo độ chính xác của mạch
Tìm hiểu IC giao tiếp Ethetnet ENC28J60
Tìm hiểu vi điều khiển PIC 18F4620
1.6 Danh mục từ viết tắt
ARP ( Address Resolution Protocol)
CSS ( Cascading Style Sheets )
DHCP ( Dynamic Host Configuration Protocol )
DNS ( Domain Name Service )
DNS ( Domain Name System )
FTP ( File Transfer Protocol )
HTML ( Hyper Text Markup Language )
HTTP ( Hyper text Transfer Protocol )
ICMP ( Internet Control Message Protocol )
IEEE ( Institute of Electrical and Electronics Engineer )
IP ( Internet Protocol )
LLC ( Logical Link Control )
LAN ( Local Area Network )
MAC ( Media Access Control )
MPFS ( Microchip File System Store )
SNMP ( Simple Network Management Protocol )
TCP ( Transmission Control Protocol )
UDP ( User Datagram Protocol )
Trang 13CHƯƠNG 2 CƠ SỞ LÝ THUYẾT VẾ MẠNG INTERNET
2.1 Tổng quan về mạng Internet
Internet (Inter-network) là một mạng máy tính rất rộng lớn kết nối các mạngmáy tính khác nhau nằm rải rộng khắp toàn cầu Một mạng (Network) là một nhómmáy tính kết nối nhau, các mạng này lại liên kết với nhau bằng nhiều loại phươngtiện, tốc độ truyền tin khác nhau Do vậy có thể nói Internet là mạng của các mạngmáy tính Các mạng liên kết với nhau dựa trên bộ giao thức (như là ngôn ngữ giaotiếp) TCP/IP (Transmision Control Protocol -Internet Protocol): Giao thức điềukhiển truyền dẫn- giao thức Internet Bộgiao thức này cho phép mọi máy tính liênkết, giao tiếp với nhau theo một ngôn ngữ máy tính thống nhất giống như một ngônngữ quốc tế( ví dụ như Tiếng Anh) mà mọi người sử dụng để giao tiếp
Mạng Internet không chỉ cho phép chuyển tải thông tin nhanh chóng mà còngiúp cung cấp thông tin Nó cũng là diễn đàn trao đổi và là thư viện toàn cầu đầutiên
2.2 Cấu trúc khung 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úckhung Ethernet như sau:
Bảng 2-1 cấu trúc gói tin internet
Mở đầu
555…5H
SFD(D5H)
Địa chỉđích
Địa chỉnguồn
Độ dài
7 byte 1 byte 2/6 byte 2/6 byte 2 byte 46-1500 byte 4 byteCác trường quan trọng trong phần mào đầu sẽ được mô tả dưới đây
preamble: trường này đánh dấu sự xuất hiện của khung bit, nó luôn manggiá trị 10101010 Từ nhóm bit này, phía nhận có thể tạo ra xung đồng hồ
10 Mhz
Trang 14 SFD (start frame delimiter): trường này mới thực sự xác định sự bắt đầucủ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 mangtheo
FCS mang CRC (cyclic redundancy checksum): phía gửi sẽ tính toántrường này trước khi truyền khung Phía nhận tính toán lại CRC này theocá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ỏ
2.3 Cấu trúc địa chỉ Ethernet
Địa chỉ MAC là địa chỉ vật lý hay còn gọi là số nhận dạng (Identificationnumber) của thiết bị Mỗi thiết bị được nhà sản xuất chỉ định và gán sẵn 1 địa chỉnhất định.Địa chỉ MAC là một số 48 bit được biểu diễn bằng 12 số hexa (hệ số thậplục phân), trong đó 24 bit đầu (MM:MM:MM) là mã số của nhà sản xuất (Linksys,3COM ) và 24 bit sau (SS:SS:SS) là số seri của từng card mạng được nhà sản xuấtgán
Địa chỉ MAC là duy nhất và cố định, mỗi giao tiếp mạng chỉ có một địa chỉMAC duy nhất Địa chỉ MAC được sử dụng làm địa chỉ nguồn và địa chỉ đích trongkhung Ethernet
2.4 Các loại khung Ethernet
Trang 15Hình 2-1 Mô hình truyền thông unicast
Đây là loại 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ỉ MACcủ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 trongkhung
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(48 bit 1).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ếpmạ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áckhung broadcast để các router trao đổi bảng định tuyến
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ả Địachỉ MAC đích của khung là địa chỉ đặc biệt mà chỉ các trạm trong cùng nhóm mớichấp nhận các khung gửi tới địa chỉ này
Trang 162.5 Truy nhập bus sử dụng phương pháp CSMA/CD
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 Accesswith Collision Avoidance ) và sự ảnh hưởng tới hiệu suất cũng như tính năng thờigian 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-2 Minh họa phương pháp CSMA/CD
Nguyên tắc làm việc phương pháp CSMA/CD:
Trong mạng Ethernet, trước khi phát tín hiệu, máy tính phải lắng nghe trênmôi trường truyền Nếu môi trường truyền đang ở trạng thái nghỉ, máy tính sẽ gửi
dữ liệu Sau khi tín hiệu được phát đi, tất cả các máy tính khác trên mạng sẽ cạnhtranh nhau tìm thời gian nghỉ kế tiếp để gửi frame khác
Các trạm trên mạng cục bộ CSMA/CD có thể truy cập mạng bất kỳ lúc nào.Trước khi gửi dữ liệu, các trạm CSMA/CD lắng nghe mạng để xác định xem mạng
đã được sử dụng hay không Nếu mạng đang được sử dụng các trạm sẽ phải đợi.Nếu mạng đang rảnh rỗi, các trạm sẽ phát dữ liệu Đụng độ (collision) xãy ra khi 2
Trang 17trạm cùng phát dữ liệu một lúc (hình 2) Trong trường hợp đó, cả hai tín hiệu đều bịhỏng, và các trạm phải gửi lại tín hiệu sau đó Trạm CSMA/CD phải có khả năngphát hiện đụng độ để gửi lại tín hiệu khi cần thiết.
Khi một trạm phát, tín hiệu được xem như là carrier Card mạng sẽ nhận biếtđược carrier và tư kiềm chế việc phát tín hiệu lên mạng Nếu không có carrier, mộttrạm đang đợi sẽ biết rằng đã sẳn sàng để phát tín hiệu Chức năng này được gọi lànhận diện carrier (“carrier sense”) Toàn bộ phần mạng trên đó xảy ra đụng độ đượcgọi là miền đụng độ (collision domain) Kích thước miền đụng độ ảnh hưởng đếnhiệu năng và thông lượng của mạng Ethernet
Trong tiến trình CSMA/CD, không có độ ưu tiên cho các trạm, vì thế tất cả cáctrạm trên mạng đều có quyền truy xuất như nhau, vì thế xuất hiện khả năng cùngtruy cập (“multiple access”) Nếu có từ 2 trạm trở lên cố gắng phát dữ liệu cùng lúcđụng độ sẽ xảy ra Khi xảy ra đụng độ các trạm sẽ thực hiện thuật toán backoff sinh
ra thời gian chờ ngẫu nhiên trước khi phát lại tín hiệu Cách làm này sẽ giúp ngănchặn các máy tiếp tục cố gắng tín hiệu đồng thời đó là kỹ thuật giải quyết đụng độ
“collision detection”
2.6 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ý
2.6.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ạidà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ụcmỏ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
10BaseF F là viết tắt của Fiber Optic ( sợi quang) Đây là chuẩn Ethernetdùng cho sợi quang hoạt động ở tốc độ 10 Mb/s , ra đời năm 1993
Trang 182.6.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ẩn100BaseFX và 100BaseTX:
100BaseFX Tốc độ 100Mb/s, sử dụng cáp sợi quang đa mode
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ặpCat 5 trở lên Sử dụng kiểu mã hoá đường truyền riêng để đạt được tốc độ cao trênloại cáp này
Trang 192.8 Mô hình OSI (Open Systems Interconnection)
Mô hình OSI là tập hợp các đặc điểm kỹ thuật mô tả kiến trúc mạng dànhcho việc kết nối các thiết bị không cùng chủng loại Mô hình được chia thành 7tầ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
Chức năng chính của bảy tầng trong mô hình OSI như sau:
Tầng vật lý (Physical Layer) Chuyển đổi dữ liệu sang các dòng xung điện,
đi qua bộ phận truyền tải trung gian và giám sát quá trình truyền dữ liệu
Tầng liên kết dữ liệu (Data Link Layer) Cung cấp giao diện cho bộ điều
hợp mạng, duy trì kết nối logic cho mạng con
Tầng mạng (Network Layer) Hỗ trợ địa chỉ logic và định tuyến
Tầng giao vận (Transport Layer) Kiểm tra lỗi và kiểm soát việc lưu
chuyển liên mạng
Tầng phiên (Session Layer) Thiết lập các khu vực cho các ứng dụng tương
tác giữa các máy tính
Tầng trình diễn (Presentation Layer) Dịch dữ liệu sang một dạng tiêu
chuẩn, quản lý việc mã hoá và nén dữ liệu
Tầng ứng dụng (Application Layer) Cung cấp giao diện cho các ứng dụng;
hỗ trợ ứng dụng gửi file, truyền thông…
TCP/IP với OSI :
Khi kiến trúc tiêu chuẩn OSI xuất hiện thì TCP/IP đã trên con đường pháttriển Xét một cách chặt chẽ, TCP/IP không tuân theo OSI Tuy nhiên, hai mô hìnhnày có những mục tiêu giống nhau và do có sựtương tác giữa các nhà thiết kếtiêuchuẩn nên hai mô hình có những điểm tương thích Cũng chính vì thế, các thuậtngữcủa OSI thường được áp dụng cho TCP/IP
Mỗi tầng trong TCP/IP có thể là một hay nhiều tầng của OSI Mối quan hệgiữa chuẩn TCP/IP bốn tầng và mô hình OSI bảy tầng được thể hiện như ở tronghình sau
Trang 20Hình 2-3 Mối quan hệ giữa OSI và TCP/IP
2.9 Giao thức TCP/IP
Giao thức TCP/IP là một tập hợp các giao thức kết nối sử dụng cho việctruyền thông tin từ máy tính này sang máy tính khác và từ mạng máy tính này sangmạng máy tính khác
Mô hình TCP/IP bao gồm 4 tầng:
Hình 2-4 Cấu trúc họ giao thức TCP/IP
Tầng ứng dụng (Application Layer):
Trang 21Gồ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
Một số giao thức thông dụng trong tầng này là:
SNMP (Si mpl e Network Management Protocol ): Giao Thức Quản Lý Mạng Đơn Giản
FTP (Fi l e Trans fer Protocol ): Giao Thức Truyền Tập Tin
TFTP (Trivial Fi l e Transfer Protocol ): Gi ao thức truyền tập tin bình thường
SMTP (Simpl e Mail Trans fer Protocol ): giao thức truyền thư đơn giản
Tầng giao vận (Trans port Layer):
Có trách nhiệm thiết lập phiên truyền thông giữa các tiến trình chạy trên cácmáy tính và quy định cách truyền dữ liệu
Có hai giao thức chính trong tầng này gồm:
UDP (User Datagram Protocol ): UDP cung cấp các kênh truyền thông phikế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ụngdùng UDP thường chỉ truyền những gói có kích thước nhỏ, độ tin cậy dữ liệuphụ thuộc vào từng ứng dụng
TCP (Transmission Control Protocol ): Ngược lại với UDP, TCP cung cấpcác kênh truyền thông hướng kết nối và đảm bảo truyền dữ liệu một cách tincậ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ậnxác nhận về các gói tin đã nhận
Tầng liên mạng (Internet Layer):
Nằm bên trên tầng giao diện mạng Tầng này có chức năng gán địa chỉ ,đónggói và định tuyến (route) dữ liệu Tầng mạng không đảm bảo độ tin cậy trong truyền
dữ liệu, tức là gói tin có thể bị mất hoặc đến đích không đúng thứ tự Tuy nhiên,tầng mạng cung cấp các dịch vụ chọn đường (route) tối ưu nhất giữa 2 nút trênmạng 4 giao thức quan trọng nhất trong tầng này gồm:
Trang 22 IP (Internet Protocol ): Có chức năng gán địa chỉ cho dữ liệu trước khi truyền
Tầng giao diện mạng (Network Interface Layer):
Tầng giao diện mạng có trách nhiệm đưa dữ liệu tới và nhận dữ liệu từphương tiện truyền dẫn Tầng này gồm các thi ết bị phần cứng vật lí chẳng hạn nhưcard mạng và cáp mạng
Một số giao thức tiêu biểu thuộc tầng này gồm :
ATM (Asynchronous Transfer Mode)
Nếu các máy tính được kết nối trực tiếp với mạng Internet thì NIC (NetworkInformation Center) 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ộtmạ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 (tuyphép của NIC)
Trang 23Hệ 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ó.
Bảng 2-2 Tổ chức địa chỉ IP
Địa 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 địachỉ 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 địachỉ 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ó 254má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ộtmạng
Địa chỉ lớp E: Dùng để dự phòng và dùng trong tương lai
Trang 242.10.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ácvớ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ụngchẳ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:
3 bít đầu (Precedence) chỉ quyền ưu tiên gửi gói tin, từ gói tin bìnhthườ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ìnhthườ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ềngói tin với lựa chọn truyền trên đường thông suất thấp hay trên đườngthông suất cao, 0 ứng với thông lượng bình thường, 1 ứng với thônglượng cao
1 bít tiếp theo (Reliability) chỉ độ tin cậy yêu cầu, 0 ứng với độ tin cậybì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
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
Header Checksum-2byte: Dùng để phát hiện lỗi header của gói tin xảy ratrong 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ộtmốc 32 bít
Trang 25Data: chứa thông tin lớp trên ,chiều dài thay đổi đến 64Kb.
2.10.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ộngthê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ườngchí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ácsegment 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ự
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 ACKnumber 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ừ 16bit mà số thứ tự gói tin (sequence number) cần dịch trái
Trang 26 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.10.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ếumuố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ầnthiế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
Trang 27CHƯƠNG 3 GIỚI THIỆU LINH KIỆN 3.1 ENC28J60
3.1.1 Giới thiệu
Hình 3-5 Sơ đồ chân ENC28J60
ENC28J60 được thiết kế để phù hợp với chuẩn IEEE 802.3 (chuẩn vềethernet) ENC28J60 là chip giao tiếp mạng của nhà sản xuất xuất Microchip, tươngthích và đáp ứng được khả năng mạng 10/100/1000Base-T ENC28J60 hỗ trợ cảtruyền song công và bán song công
ENC28J60 là con chíp giao tiếp ethernet được điều khiển theo chuẩn SPI Do
đó, bất kì vi điều khiển nào có hỗ trợ chuẩn giao tiếp SPI cũng có thể dễ dàng giaotiếp với các ngoại vi ethernet thông qua ENC28J60 Để ENC28J60 hoạt động được,
ta chỉ cần cấp điện áp ( 3.1V- 3.6V) và một số linh kiện thụ động
Trang 28Các thanh ghi điều khiển các chức năng của ENC28J60
Một bộ đệm là RAM hai chiều dung lượng 8Kbyte dùng để truyền nhận dữliệu
Khối Arbiter có chức năng điều khiển quyền truy cập RAM của các khối RX,
TX và DMA
Khối Bus Interface có nhiệm vụ dịch dữ liệu, lệnh nhận được thông quachuẩn SPI
Trang 29MAC (Medium Access Controller) là mạch số điều khiển việc truyền dữ liệunhư khi nào truyền, tạo ra hay xác nhận các mã kiểm tra lỗi…phù hợp chuẩn IEEE802.3
PHY (Physical Layer) là mạch điện giải mã và mã hóa tín hiệu điện truyềntrên cáp
Ngoài ra còn các khối: Khối dao động, khối ổn áp, khối chuyển mức điện áp
để phù hợp với mức điện áp của các vi điều khiển hoạt động 5V
3.1.2.1 Tên chân và chức năng:
Chân CLKOUT
ENC28J60 tạo ra một nguồn xung clock ở chân CLKOUT Tần số của xungnày có thể được chia 1,2,3 4,8 thông qua bộ prescaler bên trong ENC28J60 Thanhghi ECOCON điều khiển tần số của xung clock Khi ENC28J60 được cấp điện(Power-on Reset), chân CLKOUT sẽ dao động với tần số 6.25Mhz sau khi OST hếthiệu lực Khi tắt chức năng của chân CLKOUT (ECOCON=0) , chân này ở mứcthấp Khi thay đổi tần số ra, chân CLKOUT ở mức thấp trong khoảng từ 2 đến 8xung clock từ chân OSC1 trước khi dao động với tần số mới
Chân LEDA và LEDB
Hai chân này được nối với 2 LED báo tín hiệu Ta có thể chọn mức sáng củaLED gắn bên ngoài là mức 0 (sink current) hay mức 1 (source current) Saukhireset, ENC28J60 sẽ nhận biết kiểu kết nối của LED và điều khiển các LED ở trạngthái mặc định được xác định trong thanh ghi PHLCON Trạng thái kết nối của LEDnối vào chân LEDB xác định trạng thái ban đầu của bit PHCON1.PDPXMD sau khireset
Trang 30Hình 3-7 Phân cực cho LED và thiết lập lại các tùy chọn cấu hình
Nếu LED không được kết nối, bit PDPXMD không được xác định
Ngoài ra, các bit LACFG3:LACFG0 and LBCFG3:LBCFG0 sẽ điều khiểntrạng thái của các LED khi ENC28J60 hoạt động
Trang 31Hình 3-8 Tên và chức năng chân
Khối tạo dao động:
ENC28J60 hoạt động ở tốc độ 25Mhz Ta dùng thạch anh 25Mhz nối vào 2chân OSC1 và OSC2 Hoặc có thể dùng nguồn dao động bên ngoài
Trang 32Hình 3-9 Mạch tạo dao động cho ENC28J60
ENC28J60 được thiết kế hoạt động với một thạch anh kết nối với chânOSC1 và OSC2 ENC28J60 có thể chia tần số của thạch anh để hoạt động
Oscillator Start-up Timer (OST)
Timer này hết hiệu lực sau khi đếm được 7500 xung clock từ chân OSC1( 300us) kể từ khi Power-on Reset hoặc wake-up từ chế độ Power-Down Thời giandelay này dùng để “chờ” các khối chức năng trong ENC28J60 hoạt động ổn địnhtrước khi bắt đầu giao tiếp với các ngoại vi ethernet Khi OST hết hiệu lực, bitCLKRDY trong thanh ghi ESTAT được set
Mức Logic
Các chân input SCK, CS, SI, RESET có thể hiểu được mức điện áp của hệthống 5V Nhưng để hệ thống 5V hiểu được mức điện áp từ các chân output củaENC28J60 hoạt động ở 3.3V thì ta cần dùng một mạch đệm Thường dùng cổngNAND hoặc cổng 3 trạng thái