intTypePromotion=1

Đề 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 )

Chia sẻ: Fdsg Dsfas | Ngày: | Loại File: DOC | Số trang:65

0
425
lượt xem
173
download

Đề 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 )

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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

Chủ đề:
Lưu

Nội dung Text: Đề 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 )

  1. ĐỀ 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)” Giáo viên hướng dẫn : Họ tên sinh viên : 1
  2. MỤC LỤC MỞ ĐẦU .................................................................................................................... 1 CHƯƠNG 1. TỔNG QUAN VỀ ETHERNET ......................................................... 6 1 .1. Cấu trúc khung tin Ethernet .............................................................................. 6 1 .2. Cấu trúc địa ch ỉ Ethernet................................................................................... 7 1 .3. Các loại khung Ethernet .................................................................................... 7 1.3.1. Các khung unicast ..................................................................................... 7 1.3.2. Các khung broadcast ................................................................ ................. 8 1.3.3. Các khung multicast ................................................................ ................. 8 1 .4. Truy nhập bus ................................ ................................................................... 8 1 .5. Các loại mạng Ethernet ................................................................................... 10 1.5.1. Các hệ thống Ethernet 10Mb/s................................................................. 10 1.5.2. Các hệ thống Ethernet 100 Mb/s – Ethernet cao tốc ( Fast Ethernet )...... 11 1.5.3. Các hệ thống Giga Ethernet.................................................................... 11 1 .6. Chuẩn IEEE 802 ............................................................................................. 11 CHƯƠNG 2. HỌ GIAO THỨC TCP/IP ............................................................... 13 2 .1. Họ giao th ức TCP/IP....................................................................................... 13 2.1.1. Tầng Ứng Dụng (Application Layer) ...................................................... 13 2.1.2. Tầng Giao Vận (Transport Layer) .......................................................... 14 2.1.3. Tầng Internet (Internet Layer) ................................................................. 14 2.1.4. Lớp giao tiếp mạng .................................................................................. 15 2 .2. Cấu trúc gói tin IP,TCP,UDP .......................................................................... 15 2.2.1. Cấu trúc đ ịa chỉ IP .................................................................................. 15 2.2.2. Cấu trúc gói tin IP ................................................................................... 16 2.2.3. Cấu trúc gói tin TCP ................................................................ ............... 18 2.2.4. Cấu trúc gói tin UDP................................ .............................................. 19 2
  3. CHƯƠNG 3. PHẦN CỨ NG ................................ .................................................... 20 3 .1. Vi điều khiển PIC 18F67J60 ........................................................................... 20 3.1.1. Các đặc trưng của PIC 18F67J60 ................................ ........................... 20 3.1.2. Module A/D 10 bit ................................................................................... 21 3.1.3. Module Ethernet ...................................................................................... 24 3 .2. Cảm biến nhiệt độ LM35 ................................................................................ 25 3 .3. Mạch nguyên lý .............................................................................................. 26 3.3.1. Khối mạch nguồn................................ ................................ ..................... 26 3.3.2. Khối mạch RJ45 ...................................................................................... 27 3.3.3. Khối mạch LCD ....................................................................................... 28 3.3.4. Khối mạch vi điều khiển PIC18F67J60 .................................................... 29 3 .4 Mạch in ........................................................................................................... 30 3 .5 Mạch th ực tế .................................................................................................... 31 CHƯƠNG 4. TRÌNH BIÊN DỊCH MPLAB C18 VÀ WEB SERVER .................. 32 4 .1. MPLAB C18................................................................................................ ... 32 4.1.1. Giới thiệu ................................................................................................ 32 4.1.2. Các đặc trưng của trình d ịch MPLAB C18: ............................................. 32 4.1.3. Quá trình tạo ra file .HEX ....................................................................... 32 4 .2. Web động ................................ ....................................................................... 33 4 .3. CSS ................................................................................................................ 34 4.3.1. Ưu điểm của CSS ................................ ................................ ..................... 35 4.3.2. Các đặc tính cơ bản của CSS ................................................................ ... 35 4.3.3. CSS có tính kế thừa và tính kết hợp .......................................................... 37 4 .4. Kỹ thu ật AJAX ............................................................................................... 38 4.4.1. Ưu điểm ................................................................................................ ... 40 4.4.2. Nhược điểm ................................................................ ............................ 40 3
  4. CHƯƠNG 5. TCP/IP STACK ................................................................................. 41 5 .1. Cấu trúc củ a TCP/IP Stack................................ .............................................. 41 5 .2. Ho ạt động của TCP/IP Stack........................................................................... 42 5.2.1. Các file cần thiết...................................................................................... 42 5.2.2. Cấu trúc APP_CONFIG .......................................................................... 43 5.2.3. Main file ................................................................ ................................ .. 43 5 .3. Các module của Stack và APIs ....................................................................... 44 5.3.1. Announce................................ ................................................................. 44 5.3.2. HTTP2 server .......................................................................................... 45 5 .4. Cấu hình cho Stack ......................................................................................... 49 5.4.1. Cấu hình cho phần cứng .......................................................................... 49 5.4.2. Địa ch ỉ..................................................................................................... 50 5 .5. Demo module ................................ ................................................................. 51 5.5.1. Điều khiển led sáng tắt ............................................................................ 52 5.5.2. Viết ra LCD ............................................................................................. 55 5.5.3. Đo nhiệt độ .............................................................................................. 61 KẾT LUẬN ................................ ................................ .............................................. 64 4
  5. 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. 5
  6. 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ụ n ghiê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ụn g 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 Địa ch ỉ Địa chỉ Độ dài Dữ liệu SFD PAD FCS đích n guồn kiểu gói 555…5H (D5H) 7 b yte 1 byte 2/6 byte 2/6 byte 2 byte 46-1500 byte 4 byte 6
  7. - 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, n gượ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 o ctet đ ầu xác định hãng sản xuất, chịu sự quản lý của tổ chức IEEE. - 3 o ctet 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 7
  8. 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 8
  9. 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 9
  10. 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ả h ai 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ưởn g 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. 10
  11. - 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 qu ang 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). 11
  12. 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. 12
  13. 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. 13
  14. - 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ổn g 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. 14
  15. - 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ín h 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ó. 15
  16. Bảng 2: Tổ chức địa chỉ IP. 8 16 24 Class A Netid Hostid Netid Hostid Class B Class C Netid Hostid Multicast address Class D Reverved for future use Class E - Đị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 đị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. 16
  17. - 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:  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. 17
  18. - 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 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 18
  19.  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 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. 19
  20. CHƯƠNG 3. PHẦN CỨNG 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. 20
ADSENSE
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản