1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng hệ thống điều khiển các thiết bị điện qua mạng Internet

75 675 2

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

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

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

LUẬN VĂN TỐT NGHIỆP KỸ SƯNGÀNH CÔNG NGHỆ THÔNG TINMÃ NGÀNH : 0511ĐỀ TÀI :XÂY DỰNG HỆ THỐNG ĐIỀU KHIỂN CÁC THIẾT BỊ ĐIỆN GIA DỤNG QUA MẠNGLỜI CẢM ƠNLời đầu tiên chúng tôi xin bày tỏ lòng biết ơn sâu sắc đến tất cả quý thầy cô, những người đã tận tụy dạy dỗ, truyền đạt kiến thức và kinh nghiệm quý báu cho chúng tôi trong suốt năm năm học qua.Chúng tôi xin chân thành cảm ơn TS. Huỳnh Công Pháp thuộc bộ môn Công nghệ phần mềm, khoa Công nghệ thông tin, trường Đại học Bách khoa Đà Nẵng, người đã hướng dẫn, tạo điều kiện thuận lợi và giúp đỡ chúng tôi trong suốt thời gian làm đề tài.Và để có được kết quả như ngày hôm nay, chúng tôi rất biết ơn gia đình đã động viên, khích lệ và tạo mọi điều kiện thuận lợi nhất trong suốt quá trình học tập cũng như quá trình thực hiện đề tài tốt nghiệp này.Xin chân thành cám ơn các bạn trong khoa Công nghệ thông tin – khóa 07, đặc biệt là các bạn lớp 07T2 đã ủng hộ, giúp đỡ, chia sẻ kiến thức, kinh nghiệm và tài liệu có được cho nhóm chúng tôi trong quá trình nghiên cứu và thực hiện đề tài.Một lần nữa xin chân thành cám ơnMỤC LỤCCHƯƠNG I : MỞ ĐẦU....................................................................................... 12I. Bối cảnh đề tài .............................................................................................. 12II. Mục đích, yêu cầu thiết kế và lý do chọn đề tài......................................... 12II.1. Mục đích ................................................................................................ 12II.2. Yêu cầu thiết kế...................................................................................... 12II.3. Lý do chọn đề tài.................................................................................... 13II.4. Đối tượng nghiên cứu............................................................................. 13II.5. Phương pháp triển khai........................................................................... 13II.5.1. Về mặt lý thuyết ............................................................................... 13II.5.2. Công cụ hỗ trợ................................................................................. 14CHƯƠNG II: CƠ SỞ LÝ THUYẾT .................................................................. 15I.1. Giao thức TCPIP .................................................................................... 15I.1.1. Giới thiệu tổng quan .......................................................................... 15I.1.2. Kiến trúc TCPIP ............................................................................... 16I.1.2.1. Lớp truy xuất mạng (Network Access layer) .................................... 18I.1.2.2. Lớp liên mạng (Internet Layer) ........................................................ 19I.1.2.3. Lớp giao vận (Transport layer)........................................................ 24I.1.2.4. Lớp ứng dụng (Application layer).................................................... 31II. Cơ sở lý thuyết mạch .................................................................................. 31II.1. Chip hỗ trợ kết nối Ethernet ENC28J60 ................................................ 31II.1.1 Sơ đồ chân Chip ENC28J60 .............................................................. 31II.1.2 Các khối phần cứng cơ bản trong ENC28J60 .................................... 33II.1.3 Sơ đồ sử dụng ENC28J60 để kết nối Ethernet.................................... 34II.1.4. Tập lệnh giao tiếp............................................................................. 35II.2. Chip ATmega32 ..................................................................................... 35II.2.1 Giới thiệu .......................................................................................... 35II.2.2. Tại sao sử dụng AVR ........................................................................ 36II.3. Chip DS1307.......................................................................................... 37CHƯƠNG III : CẤU TRÚC PHẦN CỨNG HỆ THỐNG ................................. 44I. Sơ đồ tổng quan............................................................................................ 44I.1 Nguồn....................................................................................................... 44I.2 Giao tiếp cổng COM................................................................................. 44I.3 Giao tiếp Ethenet với vi điều khiển ........................................................... 44I.4 Giao tiếp giữa các thiết bị với vi điều khiển .............................................. 45II. Sơ đồ mạch nguyên lý ................................................................................. 45II.1 Mạch nguồn ............................................................................................ 46 II.1.1 Nguồn 5V .......................................................................................... 46II.1.2 Nguồn 3V .......................................................................................... 46II.3 Mạch Ethenet .......................................................................................... 47II.4 Mạch cổng Serial port ............................................................................. 47II.5 Mạch cổng RJ45...................................................................................... 48II.6 Mạch ISP ................................................................................................ 48CHƯƠNG IV: CẤU TRÚC CHƯƠNG TRÌNH HỆ THỐNG .......................... 50I. Các module chính ......................................................................................... 50I.1. Các module gao thức TcpIp trong ENC28j60 ......................................... 50I.2. Module giao thức Ethernet ....................................................................... 50I.2.1. Cấu trúc 1 frame Ethernet ..................................................................... 50I.2.2. Hàm xử lý giao thức ethernet ............................................................. 51I.3. Module giao thức IP ................................................................................ 52I.3.1. Cấu trúc của gói IP như sau .............................................................. 52I.3.2. Hàm xử lý giao thức IP ...................................................................... 53I.4. Module giao thức ICMP .......................................................................... 55I.5. Module giao thức UDP ............................................................................ 55I.6. Module giao thức TCP............................................................................. 56I.7. Module giao thức DHCP ......................................................................... 59I.7.1. Giao thức DHCP ............................................................................... 59I.7.2. Cơ chế làm việc của DHCP ............................................................... 59I.8. Module giao thức ARP ............................................................................ 60I.8.1. Cấu trúc của gói arp.......................................................................... 60I.8.2. Hàm xử lý giao thức arp .................................................................... 61I.9. Module giao thức HTTP .......................................................................... 62I.9.1. Hoạt động giao thức HTTP................................................................ 62I.9.2. Cấu trúc các bản tin HTTP ................................................................ 63II. Chức năng của hệ thống ............................................................................. 67II.1 LAMPS CONTROL................................................................................ 67II.2 FAN CONTROL ..................................................................................... 68II.3 AUTO TIMES ........................................................................................ 68II.4 ANTITHEFT ......................................................................................... 68III. DEMO........................................................................................................ 68III.1. Thiết lập địa chỉ tĩnh cho Web Server ................................................... 68III.2. Kiểm tra kết nối từ PC tới mạch Web Server......................................... 68III.3 Thiết lập use –pass trong lớp ntAVRnet.h .............................................. 69III.4 Đăng nhập trang web điều khiển của mạch ............................................ 69 III.5. Trang chủ Web Server .......................................................................... 69CHƯƠNG 5 : KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN................................... 71I. Những điểm đã đạt được của đề tài............................................................. 71I.1. Phần lý thuyết .......................................................................................... 71I.2. Phần mạch ............................................................................................... 71I.3. Phần chương trình ................................................................................... 71II. Hướng phát triển trong tương lai .............................................................. 72II.1 Sử dụng màn hình cảm ứng ..................................................................... 72II.2 Sử dụng IC ATmega128.......................................................................... 72II.3 Tích hợp thêm các cảm biến: ................................................................... 73II.4 Sử dụng Camera ...................................................................................... 73TÀI LIỆU THAM KHẢO ............................................................................... 74Ngày nay các thiết bị điện được sử dụng rộng rãi và là nhu cầu không thể thiếu trong đời sống của con người. Việc sử dụng các thiết bị năng luợng điện này sao cho hiệu quả, dễ dàng, tập trung là rất khó khăn. Hơn nữa việc sử dụng các thiết bị điện này trong không gian rộng lớn sao cho tiết kiệm,an toàn luôn là vấn đề quan tâm hàng đầu của nước ta.Với vấn đề đó nhóm em đã “Xây dựng hệ thống điều khiển các thiết bị điện qua mạng Internet”. Hệ thống giúp cho chúng ta có thể quản lý các thiết bị tập trung, dễ dàng và hiệu quả và nhanh chóng hơn. Ngoài ra hệ thống còn tích hợp các cảm biến, cài đặt thời gian hoạt động tự động cho các thiết bị giúp chúng ta sử dụng nguồn năng lượng điện tiết kiệm và an toàn hơn.Xây dựng hệ thống điều khiển các thiết bị điện qua mạng Internet

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN Tel (84-511) 736 949, Fax (84-511) 842 771 Website: itf.dut.edu.vn, E-mail: cntt@edu.ud.vn

LUẬN VĂN TỐT NGHIỆP KỸ SƯ

NGÀNH CÔNG NGHỆ THÔNG TIN

MÃ NGÀNH : 0511

ĐỀ TÀI : XÂY DỰNG HỆ THỐNG ĐIỀU KHIỂN CÁC THIẾT BỊ

ĐIỆN GIA DỤNG QUA MẠNG

Mã số : 06T3-23

07T2-08 07T2-44 Ngày bảo vệ : 13/06/2012 – 14/06/2012

Trang 2

SVTH : 2

LỜI CẢM ƠN

Lời đầu tiên chúng tôi xin bày tỏ lòng biết ơn sâu sắc đến tất cả quý thầy cô, những người đã tận tụy dạy dỗ, truyền đạt kiến thức và kinh nghiệm quý báu cho chúng tôi trong suốt năm năm học qua

Chúng tôi xin chân thành cảm ơn TS Huỳnh Công Pháp - thuộc bộ môn Công nghệ phần mềm, khoa Công nghệ thông tin, trường Đại học Bách khoa Đà Nẵng, người đã hướng dẫn, tạo điều kiện thuận lợi và giúp đỡ chúng tôi trong suốt thời gian làm đề tài

Và để có được kết quả như ngày hôm nay, chúng tôi rất biết ơn gia đình đã động viên, khích lệ và tạo mọi điều kiện thuận lợi nhất trong suốt quá trình học tập cũng như quá trình thực hiện đề tài tốt nghiệp này

Xin chân thành cám ơn các bạn trong khoa Công nghệ thông tin – khóa 07, đặc biệt là các bạn lớp 07T2 đã ủng hộ, giúp đỡ, chia sẻ kiến thức, kinh nghiệm và tài liệu

có được cho nhóm chúng tôi trong quá trình nghiên cứu và thực hiện đề tài

Một lần nữa xin chân thành cám ơn!

Trang 3

SVTH : 3

LỜI CAM ĐOAN

Chúng tôi xin cam đoan :

Những nội dung trong luận văn này là do chúng tôi thực hiện dưới sự hướng dẫn trực tiếp của thầy TS Huỳnh Công Pháp

Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố

Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá,

chúng tôi xin chịu hoàn toàn trách nhiệm

Sinh viên thực hiện

Trang 4

SVTH : 4

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

……… ………

………

………

………

………

………

Đà nẵng, ngày tháng năm 2012

Trang 5

SVTH : 5

MỤC LỤC

CHƯƠNG I : MỞ ĐẦU 12

I Bối cảnh đề tài 12

II Mục đích, yêu cầu thiết kế và lý do chọn đề tài 12

II.1 Mục đích 12

II.2 Yêu cầu thiết kế 12

II.3 Lý do chọn đề tài 13

II.4 Đối tượng nghiên cứu 13

II.5 Phương pháp triển khai 13

II.5.1 Về mặt lý thuyết 13

II.5.2 Công cụ hỗ trợ 14

CHƯƠNG II: CƠ SỞ LÝ THUYẾT 15

I.1 Giao thức TCP/IP 15

I.1.1 Giới thiệu tổng quan 15

I.1.2 Kiến trúc TCP/IP 16

I.1.2.1 Lớp truy xuất mạng (Network Access layer) 18

I.1.2.2 Lớp liên mạng (Internet Layer) 19

I.1.2.3 Lớp giao vận (Transport layer) 24

I.1.2.4 Lớp ứng dụng (Application layer) 31

II Cơ sở lý thuyết mạch 31

II.1 Chip hỗ trợ kết nối Ethernet -ENC28J60 31

II.1.1 Sơ đồ chân Chip ENC28J60 31

II.1.2 Các khối phần cứng cơ bản trong ENC28J60 33

II.1.3 Sơ đồ sử dụng ENC28J60 để kết nối Ethernet 34

II.1.4 Tập lệnh giao tiếp 35

II.2 Chip ATmega32 35

II.2.1 Giới thiệu 35

II.2.2 Tại sao sử dụng AVR 36

II.3 Chip DS1307 37

CHƯƠNG III : CẤU TRÚC PHẦN CỨNG HỆ THỐNG 44

I Sơ đồ tổng quan 44

I.1 Nguồn 44

I.2 Giao tiếp cổng COM 44

I.3 Giao tiếp Ethenet với vi điều khiển 44

I.4 Giao tiếp giữa các thiết bị với vi điều khiển 45

II Sơ đồ mạch nguyên lý 45

II.1 Mạch nguồn 46

Trang 6

SVTH : 6

II.1.1 Nguồn 5V 46

II.1.2 Nguồn 3V 46

II.3 Mạch Ethenet 47

II.4 Mạch cổng Serial port 47

II.5 Mạch cổng RJ45 48

II.6 Mạch ISP 48

CHƯƠNG IV: CẤU TRÚC CHƯƠNG TRÌNH HỆ THỐNG 50

I Các module chính 50

I.1 Các module gao thức Tcp/Ip trong ENC28j60 50

I.2 Module giao thức Ethernet 50

I.2.1 Cấu trúc 1 frame Ethernet 50

I.2.2 Hàm xử lý giao thức ethernet 51

I.3 Module giao thức IP 52

I.3.1 Cấu trúc của gói IP như sau 52

I.3.2 Hàm xử lý giao thức IP 53

I.4 Module giao thức ICMP 55

I.5 Module giao thức UDP 55

I.6 Module giao thức TCP 56

I.7 Module giao thức DHCP 59

I.7.1 Giao thức DHCP 59

I.7.2 Cơ chế làm việc của DHCP 59

I.8 Module giao thức ARP 60

I.8.1 Cấu trúc của gói arp 60

I.8.2 Hàm xử lý giao thức arp 61

I.9 Module giao thức HTTP 62

I.9.1 Hoạt động giao thức HTTP 62

I.9.2 Cấu trúc các bản tin HTTP 63

II Chức năng của hệ thống 67

II.1 LAMPS CONTROL 67

II.2 FAN CONTROL 68

II.3 AUTO TIMES 68

II.4 ANTI-THEFT 68

III DEMO 68

III.1 Thiết lập địa chỉ tĩnh cho Web Server 68

III.2 Kiểm tra kết nối từ PC tới mạch Web Server 68

III.3 Thiết lập use –pass trong lớp ntAVRnet.h 69

III.4 Đăng nhập trang web điều khiển của mạch 69

Trang 7

SVTH : 7

III.5 Trang chủ Web Server 69

CHƯƠNG 5 : KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 71

I Những điểm đã đạt được của đề tài 71

I.1 Phần lý thuyết 71

I.2 Phần mạch 71

I.3 Phần chương trình 71

II Hướng phát triển trong tương lai 72

II.1 Sử dụng màn hình cảm ứng 72

II.2 Sử dụng IC ATmega128 72

II.3 Tích hợp thêm các cảm biến: 73

II.4 Sử dụng Camera 73

TÀI LIỆU THAM KHẢO 74

Trang 8

SVTH : 8

DANH MỤC HÌNH ẢNH

Hình II.1: So sánh mô hình OSI và TCP/IP 17

Hình II 1: Mô tà đóng gói IP lên khung Ethernet 20

Hình II 2 Mô tả họat động của khung ARP 22

Hình II 3 Gói tin của ARP 23

Hình II 4 Trường của khung ARP 24

Hình II 5 Đóng gói UDP vào khung Ethernet 26

Hình II 6 Sự phân kênh và hợp kênh của ARP 26

Hình II 8 Định dạng Gói TCP 29

Hình II 9 Khung TCP 30

Hình II 10 Sơ đồ chân chip ENC28J60 31

Hình II 11 Cấu trúc phần cứng trong ENC28J60 33

Hình II 12 ENC kết nối Internet 34

Hình II 13 IC ATmega32 36

Hình II 14 Hai gói cấu tạo chip DS1307 37

Hình II 15 Mạch ứng dụng đơn giản của DS1307 38

Hình II 16 Tổ chức bộ nhớ của DS1307 39

Hình II 17 Tổ chức các thanh ghi thời gian 40

Hình II 18 Số BCD 40

Hình II 19 Cấu trúc DS1307 43

Hình III 1: Mô hình tổng quan hệ thống 44

Hình III 2: Sơ đồ mạch nguyên lý 45

Hình III 3 Nguồn 5V 46

Hình III 4 Nguồn 3V 46

Hình III 5 Mạch IC ENC28J60 47

Hình III 6 Mạch cổng Serial port 47

Hình III 7 Mạch cổng RJ45 48

Hình III 8 Mạch ISP 48

Hình IV 1 Lưu đồ dữ liệu vào ra 50

HÌnh IV 2 Cấu trúc Frame Enthernet 50

Hình IV 3 các hàm xử lý trong giao thức ethenet 51

Hình IV 4 Cấu trúc gói IP 52

Hình IV 5 : Cấu trúc bản tin ICMP 55

Hình IV 6 Cấu trúc giao thức UDP 55

Hình IV 7 Cấu trúc header giao thức TCP 56

Hình IV 8 Lưu đồ trạng thái kết nối 57

Trang 9

SVTH : 9

Hình IV 9: Cấu trúc gói ARP 60

Hình IV 10 : Devices control 67

Hình IV.11: Địa chỉ tĩnh của Web Server 68

Hình IV 12: Kết nối từ PC đến mạch Web Server 69

Hình IV 13: Thiết lập User name và password đăng nhập hệ thống 69

Hình IV 14: Giao diện đăng nhập 69

Hình IV 15: Giao diện điều khiển chính 70

Hình V 1 :Màn hình cảm ứng 72

Hình V 2:Chíp ATmega128 72

Hình V 3 : Camera quan sát 73

Trang 10

SVTH : 10

DANH MỤC BẢNG

Bảng 1 Chức năng của các chân chip ENC28J60 32 Bảng 2 Bảng hướng dẫn giao tiếp SPI cho chíp ENC28J60 35

Trang 11

SVTH : 11

DANH MỤC CÁC TỪ VIẾT TẮT

RARP Reverse Address Resolution Protocol

CDMA/CD Carrier Sense Multiple Access Collision Detect

ICMP Internet Control Message Protocol

Trang 12

đầu của nước ta.Với vấn đề đó nhóm em đã “Xây dựng hệ thống điều khiển các thiết

bị điện qua mạng Internet” Hệ thống giúp cho chúng ta có thể quản lý các thiết bị

tập trung, dễ dàng và hiệu quả và nhanh chóng hơn Ngoài ra hệ thống còn tích hợp các cảm biến, cài đặt thời gian hoạt động tự động cho các thiết bị giúp chúng ta sử dụng nguồn năng lượng điện tiết kiệm và an toàn hơn

II Mục đích, yêu cầu thiết kế và lý do chọn đề tài

II.1 Mục đích

Mục đích của đồ án tốt nghiệp này là xây dựng 1 hệ thông điều khiển từ xa một

ta đang ở đâu, dùng bất kỳ máy tính nào có kết nối internet cũng có thể điều khiển được các thiết bị của hệ thống, chúng ta có thể điều khiển tắt bật các thiết bị từ xa (đèn,quạt,hệ thống chống trộm….), giám sát được an ninh và quản lý nguồn năng lượng điện an toàn, hiệu quả hơn

II.2 Yêu cầu thiết kế

 Thiết kế Web Server với AVR có tính ổn định cao :

- Nhiều PC có thể điều khiển web server cùng lúc

- Dễ dàng phát triển theo nhu cầu

 Điều khiển được các thiết bị điện :

- Đóng ngắt tự động theo thời gian

- Đóng ngắt tự động theo thông số môi trường

Trang 13

SVTH : 13

- Điều khiển từ xa qua mạng Internet

II.3 Lý do chọn đề tài

- Đam mê lĩnh vực vi điều khiển, công nghệ thông tin và ứng dụng rộng

rãi của nó trong thực tế

- Đề tài ứng dụng điều khiển xa rất thiết thực với những kỹ sư ngành cơ điện tử, công nghệ thông tin khi muốn điều khiển những hệ thống lớn trong nhà máy và xí nghiệp, trong những hệ thống có tính công nghệ cao,

hệ thống nhà thông minh…

II.4 Đối tượng nghiên cứu

- Cách thức truyền dữ liệu qua giao thức TCP/IP và Web Server

- Chip điều khiển ENC28J60 và ATmega32

- Ngôn ngữ lập trình C cho AVR

- Thiết kế mạch trên Orcad 16.5

II.5 Phương pháp triển khai

II.5.1 Về mặt lý thuyết

- Tìm hiểu các lớp kiến trúc và các module của trong giao thức TCP/IP

- Tìm hiểu kiến trúc AVR qua IC ATmega32

- Tìm hiểu lập trình Asembly và lập trình C cho AVR

- Tìm hiểu các linh kiện điện tử liên quan : IC ENC28J60, IC 7805, ISP, MAX 232, IC AMS 1117, RELAY, SENSOR…

- Tìm hiểu các công nghệ liên quan đến hệ thống tự động báo cháy, chống trộm, an toàn và tiết kiệm nguồn năng lượng điện

- Đưa ra một số định hướng để phát triển đề tài

Trang 14

SVTH : 14

II.5.2 Công cụ hỗ trợ

- Orcad 16.5 để thiết kế mạch nguyên lý và mạch in

- Proteus 7.8 mô phỏng vài chức năng cơ bản của thiết bị

- AVR Studio và WinAVR để hổ trợ lập trình C cho AVR

- Free Commander và notepad ++ để quản lý và lập trình AVR

- Hyper Terminal và Comman Prompt để kiểm tra kết nối mạng giữa mạch và PC

- Burn-E Programmer để nạp chương trình vào IC

Trang 15

SVTH : 15

CHƯƠNG II: CƠ SỞ LÝ THUYẾT

I Cơ sở lý thuyết Ethernet

I.1 Giao thức TCP/IP

I.1.1 Giới thiệu tổng quan

Mô hình TCP/IP chỉ có 4 lớp Mô hình tham chiếu của TCP/IP không trực tiếp giống mô hình của OSI Mặc dù mỗi mô hình mạng đều có chung một mục đích là để truyền thông dễ dàng giữa các mạng, giữa các loại máy tính chạy trên nền hệ điểu hành khác nhau Nhưng mỗi mô hình mạng đều có đặc điểm riêng và cách thực thi cũng chút ít khác nhau Mô hình OSI do ISO tạo ra trong một thời gian dài, nó được dùng làm mô hình chuẩn cho các mô hình khác Còn TCP/IP ra đời do yêu cầu cấp thiết của chính phủ Mỹ trước tình hình lúc bấy giờ, do đó sự phát triển của TCP/IP không bị đè nặng bởi những yêu cầu chặt chẻ như OSI

Do đặc tính của OSI là một mô hình tham khảo nên việc áp dụng OSI vào thực

tế là khó có thể thực hiện (hiệu suất kém vì dữ liệu khi truyền trong mạng phải qua tất

cả các lớp của mô hình OSI) Do đó, OSI chỉ là một tiêu chuẩn để các nhà nghiên cứu dựa vào đó để phát triển các mô hình khác tối ưu hơn Có rất nhiều mô hình khác nhau

đã được phát minh, tuy nhiên hiện nay trên thế giới cùng với sự phát triển như vũ bão của Internet thì mô hình TCP/IP là được sử dụng phổ biến nhất

Bộ giao thức TCP/IP là rất quan trọng trong việc lựa chọn cách thức truyền thông nhằm hạn chế lỗi và tăng hiệu quả TCP/IP có các đặc điểm nổi bậc sau:

- Độc lập với cầu hình mạng: TCP/IP có thể dùng cho mạng bus, start, ring, cho mạng cục bộ, mạng diện rộng hay các liên mạng

- Độc lập với phần cứng vật lý của mạng: TCP/IP có thể dung cho Ethernet, token-ring hay bất cứ loại phần cứng nào

- Là một chuẩn giao thức mở: TCP/IP có thể thực hiện trên nhiều hệ điều hành (Operating System – OS) khác nhau, nên nó thích hợp dung cho các mạng hỗn tạp các

Trang 16

SVTH : 16

loại phần cứng và phần mềm như Internet

- Định địa chỉ một cách tổng quát: mỗi trạm trên mạng TCP/IP có một địa chỉ

IP duy nhất được dùng để liên lạc với bất kì trạm nào khác trên mạng

- Hỗ trợ đắc lực mạng theo mô hình Client – Server

- Các protocol chuẩn lớp ứng dụng: TCP/IP không những cung cấp cho lập trình viên phương pháp để truyền dữ liệu giữa các ứng dụng mà còn cung cấp cơ sở của nhiều giao thức lớp ứng dụng

I.1.2 Kiến trúc TCP/IP

Phát triển từ mô hình tham chiếu OSI, TCP/IP được phân làm 4 lớp:

 Lớp truy xuất mạng (Network Access layer)

 Lớp liên mạng (Internet Layer)

 Lớp giao vận (Transport layer)

 Lớp ứng dụng (Application layer)

Việc phân lớp này đảm bảo một số nguyên tắc sau:

 Một lớp được tạo ra khi cần đến mức trừu tượng hóa tương ứng

 Mỗi lớp cần thực hiện các chức năng được định nghĩa rõ ràng

 Việc chọn chức năng cho mỗi lớp cần chú ý tới việc định nghĩa các quy tắc chuẩn hóa quốc tế

 Ranh giới các mức cần chọn sao cho thông tin đi qua là ít nhất ( tham số cho chương trình con là ít)

 Số mức phải đủ lớn để các chức năng tách biệt không nằm trong cùng một lớp và đủ nhỏ để mô hình không quá phức tạp

 Một mức có thể được phân thành các lớp nhỏ cần thiết

 Các mức con có thể lại bị loại bỏ

Trang 17

đi lên ngăn xếp tới ứng dụng nhận Những lớp riêng lẻ không cần biết các lớp trên và dưới nó xử lý ra sao, nó chỉ cần biết cách chuyển thông tin tới lớp đó mà thôi Sự cô lập các hàm truyền thông trên các lớp khác nhau giảm thiểu sự tích hợp công nghệ của đầu vào mỗi bộ giao thức

Tương quan hai mô hình OSI model và TCP/IP model :

Hình II.1: So sánh mô hình OSI và TCP/IP

Trang 18

SVTH : 18

Giải thích :

- TCP (Transmission Control Protocol): một nghi thức có cầu nối

(connection-oriented) cung cấp khả năng truyền dòng dữ liệu không lỗi, hai chiều song công (full duplex) cho các quá trình của người sử dụng

- UDP (User Datagram Protocol): một khi thức không thiết lập cầu nối

(connectionless) cho các quá trình của user Do đó, nó không dảm bảo dữ liệu khi truyền có đến nơi chính xác hay không

- ICMP (Internet Control Message Protocol): nghi thức sử lý lỗi và điều khiển

thông tin giữa các gateway và các host

- IP (Internet Protocol): đây là protocol cung cấp dịch vụ phân phối các packet

cho TCP, UDP và ICMP

- ARP (Adress Resolution Protocol): protocol ánh xạ một địa chỉ Internet vào

trong một địa chỉ phần cứng

- RARP (Reverse Address Resolution Protocol): ánh xạ một địa chỉ phần cứng

thành một địa chỉ Internet

I.1.2.1 Lớp truy xuất mạng (Network Access layer)

TCP/IP không định nghĩa lớp này mà dung chung với các chuẩn khác đã tồn tại như IEEE, X25…(RS232, Ethernet, X21/X21 bis, X35…) Bản chất của lớp này là việc qui định các đại lượng tín hiệu, các phương cách giao tiếp để truyền các dòng bit trên kênh truyền

Không giống những giao thức của lớp cao hơn là sử dụng dịch vụ của lớp dưới

nó và cung cấp dịch vụ cho lớp trên, giao thức của tấng mạng cấn phải biết chi tiết của mạng vật lý phía dưới (cấu trúc của gói, địa chỉ ) để định dạng đúng thông tin sẽ được truyền tuân theo những ràng buộc của mạng Lớp mạng của TCP/IP chứa chức năng của tất cả 2 lớp thấp nhất của mô hình tham chiếu OSI (lớp liên kết dữ liệu và lớp vật lý) Lớp mạng thường không được người dùng để ý tới vì thiết kế của TCP/IP che dấu những chức năng của lớp thấp nhất này và những điều cần biết cho người sử dụng

Trang 19

SVTH : 19

cũng như người lập trình chỉ là những giao thức của các lớp cao hơn (IP, TCP, UDP ) Mỗi khi có công nghệ phần cứng mới xuất hiện, những giao thức của lớp mạng phải được phát triển để TCP/IP có thể sử dụng phần cứng mới (thông thường đó chính là các trình điều khiển của chính nhà cung cấp phần cứng đó) Các chức năng trình diễn trong lớp này bao gồm đóng gói gói thông tin IP thành các “Frame” được truyền dẫn trên mạng và chuyển địa chỉ IP thành địa chỉ vật lý sử dụng bởi mạng máy tính Một số các điểm mạnh của TCP/IP là địa chỉ của nó được phối hợp sao cho trên mạng Internet không có một thiết bị mạng nào cùng địa chỉ Địa chỉ này phải được chuyển đổi thích hợp với địa chỉ mạng vật lý nơi mà dữ liệu được truyền đi

Hai ví dụ RFCs mô tả giao thức sử dụng cho lớp mạng là :

- RFC 826, giao thức chuyển đổi địa chỉ chuyển đổi địa chỉ IP thành địa chỉ Ethernet

- RFC 894, một chuẩn cho việc truyền gói tin IP qua mạng Ethernet mô tả cách thức đóng gói để chuyển thông tin qua mạng Ethernet

Khi cài đặt trong UNIX, giao thức của lớp này được xem như sự phối hợp của chương trình để điều khiển thiết bị và các chương trình liên quan Những đơn vị tương ứng với

những thiết bị mạng làm nhiệm vụ đóng gói dữ liệu và chuyển giao cho mạng

I.1.2.2 Lớp liên mạng (Internet Layer)

Lớp này định nghĩa đơn vị dữ liệu để truyền và định tuyến cho các đơn vị dữ liệu đó IP là một protocol quan trọng nhất của bộ TCP/IP vì tất cả các protocol trong

bộ TCP/IP đều phải dùng đến nó và tất cả dữ liệu phải lưu chuyển qua nó

Gói tin IP (Internet Protocol) :

IP là một nghi thức không kết nối (connectionless protocol), tức là không thiết lập một giao tiếp trực tiếp (end-to-end) trước khi truyền dữ liệu IP không đảm bảo phân phát chính xác dữ liệu đến đích, các gói dữ liệu có thể đến đích không đúng thứ

tự, có thể bị sao chép hay thất lạc (do đó IP phải kết hợp với TCP) Đơn vị dữ liệu của

IP là datagram có chứa địa chỉ IP của nguồn và đích IP có nhiệm vụ tìm đường cho

Trang 20

Strick source route

Loose source route

Record route

Time stamp

Security

Data (max 65535 bytes)

Hình II 1: Mô tà đóng gói IP lên khung Ethernet

- Verision (VER) 4bits: đánh số phiên bản của IP, phiên bản hiện hành là 4

(IPv4) với giá trị nhị phân là 0100

- Header length (HLEN) 4bits: định nghĩa chiều dài của IP header chỉ ra bội

số của 4 bytes Dung 4bits tức giá trị tối đa là 15 tương đương 60bytes

Trang 21

SVTH : 21

- Service type (1 bytes): định nghĩa cách mà datagram được quản lý Nó bao

gồm các bits định nghĩa thứ tự ưu tiên của datagram Nó cũng chứa các bit làm rõ loại dịch vụ phía gởi mong muốn độ tin cậy, trễ…

- Total length (2 bytes): định nghĩa chiều dài tổng thể của một datagram Tối

đa là 65535 bytes

- Identification: được dung với các phân đoạn Một datagram khi đi qua các

mạng khác nhau có thể được chia thành các đoạn để phù hợp với kích thước khung của mạng khi xảy ra hiện tượng này thì mỗi đoạn được định danh với một số thứ tự trong trường này

- Flags: các bits trong cờ có quan hệ với phân đoạn Ví dụ datagram có thể

hoặc không có phân đoạn, có thể đoạn đầu, đoạn giữa hoặc đoạn cuối…

- Fragmentation offset: đây là một con trỏ chỉ ra độ lệch của dữ liệu trong

datagram gốc (nếu đã được phân đoạn)

- Time to live: định nghĩa số bước nhảy tối đa một datagram có thể đi qua trước

khi bị drop (loại bỏ) Máy chủ nguồn khi tạo ra datagram sẽ khởi động giá trị trong trường này Kế tiếp khi datagram qua Internet, mỗi router mà datagram đi qua sẽ giảm giá trị đi 1 nếu giá trị này bằng 0 trước khi đến đích cuối cùng thì datagram sẽ bị drop

- Protocol: định nghĩa loại dữ liệu nghi thức nào của lớp trên đóng gói trong

datagram (TCP, UDP, ICMP…)

- Header checksum (16 bits): dung kiểm tra header chứ không kiểm tra phần

còn lại của gói

- Source address (4 bytes): địa chỉ IP nguồn của datagram

- Destination address (4 bytes): địa chỉ IP của đích cần gởi datagram đến

- Options: trường chọn lựa cho nhiều chức năng đối với IP datagram Nó có thể

mang các thông tin về kiểm soát định tuyến như: timing, quản lý và cân bằng

IP lại chứa 4 nghi thức giúp đỡ là: ARP, RARP, ICMP và IGMP

Trang 22

SVTH : 22

- ARP (Adrees Resolution Protocol) được dùng để quảng bá tìm địa chỉ vật lý

từ địc chỉ IP Protocol này được dùng trong mạng nội bộ vì định dạng địa chỉ vật lý của mạng phhụ thuộc vào phần cứng mạng

- RARP (Reverse Address Resolution Protocol) để tìm địa chỉ IP khi đã biết địa

chỉ vật lý

- ICMP (Internet Control Message Protocol) là cơ chế được dùng bởi máy chủ

và router ICMP cho phép IP thông báo phía gửi nếu datagram không được phát đúng Đặc trưng nhất của ICMP là tiện ích ping thường được các lập trình viên dùng kiểm tra các node có còn hoạt động hay không

- IGMP (Internet Group Message Protocol): nghi thức IP liên quan đến 2 thông

tin là unicasting và multicasting Unicasting là thông tin giữa một người gởi và một người nhận nó là thông tin một – một Tuy nhiên, một số quá trình thỉnh thoảng cần gởi một thông điệp đến nhiều người nhận đồng thời Trường hợp này là multicasting, tức là thông tin một – nhiều multicasting có rất nhiều ứng dụng

Gói tin ARP (Adrees Resolution Protocol)

Một cơ chế sử dụng để chuyển địa chỉ IP thành địa chỉ vật lý là ARP (Address Resolution Protocol) Khi hai máy tính cùng nối vào một mạng vật lý, chúng biết được địa chỉ IP của nhau nhưng để truyền thông giữa hai máy, chúng phải biết được địa chỉ vật lý của nhau ARP giải quyết vấn đề chuyển từ địa chỉ IP 32 bits sang địa chỉ Ethernet 48 bits Người ta sử dụng hai cơ chế đó là: ARP request và ARP reply

Hình II 2 Mô tả họat động của khung ARP

Chuyển giao trực tiếp: địa chỉ vật lý là một hàm của địa chỉ IP ví dụ sử dụng trên mạng token ring proNET-10 là mạng cho phép đặt địa chỉ IP và địa chỉ vật lý

H o s t A H o s t B H o s t C H o s t D

A R P R e q u e s t

H o s t A H o s t B H o s t C H o s t D

A R P R e p l y

Trang 23

Ngoài ra, người ta còn sử dụng bảng chỉ đường để lưu trữ tạm thời các địa chỉ

sử dụng mới nhất ( Address Reslution Cache) để tăng tốc độ của việc chuyển giao địa chỉ

Một gói thông tin ARP là một Ethernet Frame được truyền trực tiếp từ máy này tới máy khác Vì không phải sử dụng IP, gói tin này không có địa chỉ IP cũng như không cần được dẫn đường, nó phải được gửi broadcast tới tất cả các máy trên mạng Ethernet (với địa chỉ FFFF_FFFF_FFFF)

Gói thông tin ARP được mô tả như sau

Hình II 3 Gói tin của ARP

 Protocol type: 0x0800 cho IP (0000.1000.0000.0000)

 Hardware len = 6 bytes cho ethernet

 Protocol len = 4 bytes cho IP

 ARP operation:

Trang 24

Hình II 4 Trường của khung ARP

- Địa chỉ đích (ethernet destination address):

- FF:FF:FF:FF:FF:FF là địa chỉ broadcast cho ARP request

- Địa chỉ nguồn (ethernet source address) là địa chỉ của ARP yêu cầu

- Frame type:

+ ARP yêu cầu hoặc đáp lại (ARP request/rely) : 0x0806

+ RARP yêu cầu hoặc đáp lại (RARP request/rely): 0x08035

+ IP: 0x0800

I.1.2.3 Lớp giao vận (Transport layer)

- Lớp vận chuyển có 2 nhiệm vụ như sau :

+ Cung cấp dịch vụ cho lớp quá trình bên trên nó và các ứng dụng cùng với giao diện thích hợp cho mạng

+ Phân phát message của các lớp trên giữa các host

- Lớp giao thức ngay trên lớp Internet là Host to Host Transport Layer hay thường gọi là Transport Layer Hai giao thức quan trọng này là Transmission Control Protocol (TCP) và User Datagram Protocol (UDP) TCP cung cấp dịch vụ chuyển giao thông tin kết nối (connection oriented), nó bao gồm cả kiểm tra và sửa lổi UDP cung cấp dịch vụ kém tin cậy hơn (unreliable) và không thể thiết lập liên kết trước (connectionless) Cả hai giao thức đều chuyển giao thông tin giữa lớp ứng dụng và lớp

Trang 25

- IP là một nghi thức máy chủ - máy chủ, có nghỉa là nó có thể nhận phát gói từ một thiết bị vật lý đến thiết bị vật lý khác Các nghi thức mức giao vận của TCP/IP là các nghi thức port to port làm việc ớ phía trên của các nghi thức IP để phân phát gói từ port gốc đến port đích tại cuối truyến

- Mỗi port được định nghĩa bằng một số nguyên dương được mang trong header của gói lớp giao vận Một khung tại lớp giao vận dùng địa chỉ port 16 bits, đủ dùng cho các ports từ 0 đến 65535

Giao thức UDP (User Datagram Pro tocol)

UDP (User Datagram Protocol) là một nghi thức không tin cậy, chỉ cố gắng hết

mình để phân phát dữ liệu UDP chỉ cung cấp cơ bản cần thiết cho phân phát end Nó không cung cấp bất cứ chức năng đánh số thứ tự nào và do đó không thể làm

end-to-rõ gói nào bị hỏng khi báo cáo về lỗi UDP có thể khám phá ra một lỗi đã xuất hiện tức

là ICMP có thể thông báo phía gửi là một user datagram đã hỏng và bị loại Tuy nhiên

nó không có khả năng biết là gói nào bị mất UDP cho phép truyền dữ liệu trên mạng với chi phí thấp do sự phân phát dữ liệu không tin cậy Các dịch vụ dùng UDP là TFTP, DSN, SNMP…

Trang 26

SVTH : 26

Gói thông tin UDP

Mỗi gói thông tin UDP gọi là một Datagram được phân làm 2 phần header và data trong đó header chứa thông tin về địa chỉ cổng nguồn, địa chỉ cổng đích, độ dài của gói và checksum

Chech sum: 16 bits là số bù 1 của tổng bù 1của các 2 bytes trong phần header,

dữ liệu và phần header giả (pseudo header) Nếu phần header và text chứa một số lẻ bytes thì byte cuối cùng được đệm vào bên phải với 0 để đủ 16 bit cho mục đích

Checksum Phấn đệm thì không được truyền như một phần của header

Hình II 5 Đóng gói UDP vào khung Ethernet

Phân kênh, hợp kênh và Ports

Phân kênh, hợp kênh chính là việc lựa chọn những tiến trình ứng dụng trong một số lớn các tiến trình sử dụng giao thức UDP, người ta chọn ra những ứng dụng tương ứng với gói thông tin chuyển đến

Hình II 6 Sự phân kênh và hợp kênh của ARP

Trang 27

SVTH : 27

Việc này giải quyết bằng “cơ chế cổng” Port mechanism cơ chế này gắn mỗi ứng dụng với một con số gọi là port number và mỗi gói thông tin mà nó gửi đi đều mang một trường SOURCE PORT

Tại nơi nhận, dựa vào thông tin trường DESTINATION PORT mà gói thông tin

đó được truyền đến cổng tương ứng với ứng dụng Ví dụ mọi bảng TCP/IP đều có dịch

vụ FTP (File Transfer Protocol) gắn với cổng 21 và TFTP (Trivial File Transfer Protocol) gắn với cổng 69 của UDP

Việc sử dụng các port number cũng có nhiều cách

Dùng những cổng dành riêng cho từng ứng dụng đã được đăng ký trước known port assignment)

(Well-Một port number sẽ được sinh ra khi có một ứng dụng đòi hỏi (Dynamic binding)

Cách tiếp cận kết hợp các kiểu trên (Hybrid) trong đó người ta vừa sử dụng Well-known port assignment cho một số port number vừa có thể định nghĩa các port number khác khi cần thiết Một khung tại lớp giao vận dùng địa chỉ port 16 bits, đủ dùng cho các ports từ 0 đến 65535

Vì sao người lập trình ứng dụng lựa chọn UDP như một dịch vụ giao vận? Có một số lý do:

Một số lượng lớn các gói thông tin nhỏ được truyền, thông tin cho việc kết nối

và sửa lỗi có thể lớn hơn nhiều so với thông cần truyền Trong trường hợp này, UDP là giải pháp hiệu quả nhất

Những ứng dụng kiểu “Query-Respon” cũng rất phù hợp với UDP, câu trả lời

có thể dùng làm sự xác nhận của một câu hỏi Nếu không nhận được sự trả lời sau một thời gian nào đó, ứng dụng chỉ cần gửi đi một câu hỏi khác

Một số ứng dụng đã tự nó cung cấp công nghệ riêng để chuyển giao thông tin cậy, và không đòi hỏi dịch vụ này của transport layer

Trang 28

SVTH : 28

Đây là giao thức đơn giản và truyền nhanh, nên nó thường được sử dụng trong các ứng dụng điều khiển thời gian thực Do đó trong Luận Văn này chọn giao thức UDP làm giao thức truyền khung điều khiển của lớp trên

Giao thức TCP (User Datag ram Protocol)

TCP (Transmission Control Protocol) là một nghi thức tin cậy TCP là một

nghi thức port-to-port tin cậy và định hướng kết nối TCP tạo ra một mạch ảo giữa phía gửi và nhận trong suốt quá trình truyền.TCP bắt đầu truyền bằng cách thông báo cho phía nhận biết (thiết lập kết nối) và khi kết thúc truyền thì gửi một kết thúc kết nối

Nó cố gắng phân phát dữ liệu đến đích, kiểm tra lỗi, truyền lại nếu cần, thông báo lỗi cho lớp trên nếu truyền không thành công Do đó, việc sử dụng TCP cũng làm tăng chi phí

TCP cung cấp đầy đủ các dịch vụ lớp giao vận đối với áp dụng TCP là một nghi thức port to port tin cậy và định hướng kết nối TCP tạo ra một mạch ảo giửa phía gửi và nhận trong suốt quá trình truyền TCP bắt đầu truyến bằng cách thông báo cho phía nhận biết (thiết lập kết nối) và khi kết thúc truyền thì gửi kết thúc kết nối

Sự tin cậy của TCP đảm bảo bằng việc phát hiện lỗi và truyền lại các khung bị hỏng: tất cả các đọan phải được nhận và xác nhận trước khi xem như cuộc truyến là hòan thành và mạch ảo được lọai bỏ

Tại đầu gửi, TCP chia cuộc truyền thành các đơn vị dữ liệu nhỏ hơn và đóng gói thành các khung gọi là đọan Mỗi đọan bao gồm việc đánh số nhằm sềp lại theo thứ tự khi nhận Các đọan được tải qua mạng bên trong các IP datagram Tại đầu nhận, TCP gom mỗi datagram khi chúng đến và xếp lại theo thứ tự dựa vào các số đã được đánh

TCP gởi trên internet các datagram Header của Internet Protocol mang những trường thông tin bao gồm địa chỉ nguồn và đích của máy chủ TCP header theo sau header của internet và cung cấp thông tin cụ thể tới nghi thức TCP

Trang 29

- Source port: 16 bits địa chỉ nguồn

- Destination: 16 bits địa chỉ đích

- Sequence Number: 32 bits một dòng dữ liệu từ chương trình áp dụng có thể

được chia thành hai hay hoặc nhiều đọan TCP Số thứ tự chỉ ra vị trí của dữ liệu trong dòng dữ liệu gốc

- Acknowledgment Number: 32 bits dùng để xác nhận có nhận dữ liệu từ thiết

bị khác Số này chỉ xác nhận khi bit ACK trong trường điều khiển được đặt Trong trường hợp này, số thứ tự chỉ ra mong đợi kế tiếp

- Data offset: 4 bits chỉ ra nơi dữ liệu bắt đầu

- Reserved: 6 bits dành cho tương lai

- Control bits: 6 bits (từ trái sang phải)

- URG: khi được đặt chỉ ra tính hợp lệ của trường urgent pointer Cả bit urgent

và con trỏ chỉ ra rằng dữ liệu trong đọan là khẩn cấp

- ACK: khi được đặt chỉ ra tính hợp lệ của trường Acknowledgment number

Cả hai đều được dùng với nhau và có chức năng khác nhau tùy vào lọai đọan

- PSH: được dùng thông báo phía gửi là cần một tốc độ trung bình cao hơn

- RST: dùng để xóa kết nối khi có nhấm lẫn số thứ tự

Trang 30

SVTH : 30

- SYN: dùng để đồng bộ việc đánh số cho ba lọai đọan: yêu cấu kết nối, khẳng

định kết nối(với bit ACK), và xác nhận khẳng định (với bit ACK được đặt)

- FIN: được dùng cho kết thúc nối cho ba đọan và xác nhận của khẳng định kết

thúc

- Window: 16 bits số dữ liệu được chỉ ra trong trường acknowledgment mà

phía gửi đang đảm nhận

- Chech sum: 16 bits là số bù 1 của tổng số bù 1 của 16 bytes trong phần

header và text Nếu phần header và text chứa một số lẻ bytes header và text được kiểm tra, thì byte cuối cùng được đệm vào bên phải với 0 để đủ 16 bytes cho mục đích Checksum Phần đệm thì không được truyền như một phần của header Trong khi tính checksum, tự bản thân của trường checksum được thay thế với 0 (có nghĩa là chechsum sẽ thay thế những bit 0 này)

Chechsum cũng bao gồm 96 bit header giả (Pseudo header) được thêm vào đầu header của TCP Header giả này chứa địa chỉ nguồn,địa chỉ đích, nghi thức, chiều dài TCP Phần này được đưa ra để bảo vệ TCP trong việc truyền lạc khung Những thông tin này được mang bởi Internet Protocol và được truyền qua TCP/Network interface trong arguments hoặc kết quả của việc gọi bởi TCP trên IP

Hình II 8 Khung TCP

- TCP length là chiều dài byte của header và chiều dài dữ liệu nhưng nó không

bao gồm 12 bytes header giả

- Urgent pointer (16 bits): Trường này giao tiếp với giái trị hiện hành của

Urgent pointer như là một mức offset từ số tuần tự trong khung Urgent pointer luôn chỉ đến giá trị số bytes dữ liệu khẩn Gía trị của trường này được tính khi tín hiệu điều khiển URG được đặt

s s

S o u r c e a d d r e s s

Z e r o P T C L T C P L e n g t h

D e s t i n a t i o n a d d r e s s

Trang 31

SVTH : 31

I.1.2.4 Lớp ứng dụng (Application layer)

Gồm các ứng dụng truyền trên mạng như truyền thư (Simple Mail Transfer Protocol – SMTP), truyền file (File Transfer Protocol – FTP), truy xuất từ xa (Telnet), quản lý mạng (Simple Network Manegement Protocol – SNMP)…

II Cơ sở lý thuyết mạch

II.1 Chip hỗ trợ kết nối Ethernet -ENC28J60

- Chip ENC28J60 là vi điều khiển hỗ trợ kết nối Ethernet loại phổ biến nhất hiện nay, được thiết kế chế tạo bởi Microchip

- Phần cứng của ENC28J60 có tính hợp 2 lớp dưới nhất trong mô hình mạng nói trên (Data link Layer và Physical Player)

- Đi kèm với phần cứng này là gói thư viện hỗ trợ của Microchip-TCP/IP

II.1.1 Sơ đồ chân Chip ENC28J60

Hình II 9 Sơ đồ chân chip ENC28J60

Trang 32

SVTH : 32

Bảng 1 Chức năng của các chân chip ENC28J60

Trang 33

SVTH : 33

II.1.2 Các khối phần cứng cơ bản trong ENC28J60

- MAC modul, phục vụ cho lớp liên kết dữ liệu

- PHY modul, phục vụ cho việc encode (mã hóa ) và decode(giải mã) dữ liệu trong lớp vật lí

- SPI interface, đây là modul rất quan trọng Modul này phục vụ cho việc giao tiếp giữa VĐK master ( gọi là HOST) với ENC28J60

- Một tập thanh ghi điều khiển (Control Register),phục vụ điều khiển các khối MAC, PHY

- Một tập thanh ghi dữ liệu(RAM buffer for transmitted and recived data)

Hình II 10 Cấu trúc phần cứng trong ENC28J60

Trang 34

SVTH : 34

II.1.3 Sơ đồ sử dụng ENC28J60 để kết nối Ethernet

Hình II 11 ENC kết nối Internet

Nguyên lý hoạt động của mạch như sau

- Vi điều khiển ENC28J60 được điều khiển hoàn toàn thông qua giao tiếp SPI với AVR32

- AVR32 đóng vai trò Master trong giao tiếp SPI với ENC28J60.Giao tiếp SPI Cổng RJ45

- Tương tự như kết nối mạng trên PC, AVR32 đóng vai trò PC, còn ENC28J60 đóng vai trò như card mạng

+ Nhận dữ liệu: Tín hiệu yêu cầu từ mạng truyền qua cổng RJ45 vào ENC28J60 ENC28J60 được thiết kế để giải mã tín hiệu và chuyển tín hiệu đó thành

dữ liệu và lưu vào bộ đệm thu Thông qua giao tiếp SPI, AVR32 liên tục kiểm tra bộ đệm của ENC28J60 Nếu phát hiện có dữ liệu, nó sẽ đọc dữ liệu về và xử lí

+ Phát dữ liệu :Thông qua giao tiếp SPI,AVR32 gửi dữ liệu vào bộ đệm phát của ENC28J60.Con ENC28J60 sẽ mã hóa dữ liệu và truyền ra đường RJ45 đến địa chỉ mong muốn ( được ghi trong khung dữ liệu)

Trang 35

SVTH : 35

II.1.4 Tập lệnh giao tiếp

- ENC28J60 được điều khiển hoàn toàn bằng một vi điều khiển khác đóng vai trò là Host

- Host dùng tập lệnh này để điều khiển việc truyền và nhận dữ liệu từ ENC28J60

- Tập lệnh chỉ gồm 7 lệnh, được truyền từ Host đến ENC28J60 thông qua đường giao tiếp SPI :

Bảng 2 Bảng hướng dẫn giao tiếp SPI cho chíp ENC28J60

- Với tập lệnh trên, ta hoàn toàn có thể điều khiển được vi điều khiển ENC28J60 Nhưng cấu trúc phần cứng cũng như giao thức truyền nhận dữ liệu trên Ethernet tương đối phức tạp Để xây dựng 1 ứng dụng phải mất rất nhiều thời gian Thấy được điều này, Microchip đã hỗ trợ một tập thư viện hàm viết bằng ngôn ngữ lập trình “C” để thay thế cho công việc thủ công này Đó là gói TCP/IP stack

II.2 Chip ATmega32

II.2.1 Giới thiệu

AVR là một họ vi điều khiển do hãng Atmel sản xuất (Atmel cũng là nhà sản xuất dòng vi điều khiển 89C51 mà có thể bạn đã từng nghe đến) AVR là chip vi điều

Trang 36

SVTH : 36

khiển 8 bits với cấu trúc tập lệnh đơn giản hóa-RISC(Reduced Instruction Set Computer), một kiểu cấu trúc đang thể hiện ưu thế trong các bộ xử lí

Hình II 12 IC ATmega32

II.2.2 Tại sao sử dụng AVR

So với các chip vi điều khiển 8 bits khác, AVR có nhiều đặc tính hơn hẳn, hơn

cả trong tính ứng dụng (dễ sử dụng) và đặc biệt là về chức năng:

- Gần như chúng ta không cần mắc thêm bất kỳ linh kiện phụ nào khi sử dụng AVR, thậm chí không cần nguồn tạo xung clock cho chip (thường là các khối thạch anh)

- Thiết bị lập trình (mạch nạp) cho AVR rất đơn giản, có loại mạch nạp chỉ cần vài điện trở là có thể làm được một số AVR còn hỗ trợ lập trình on – chip bằng bootloader không cần mạch nạp…

Bên cạnh lập trình bằng ASM, AVR được thiết kế tương thích C

- Nguồn tài nguyên về source code, tài liệu, application note…rất lớn trên internet

- Hầu hết các chip AVR có những tính năng (features) sau:

Trang 37

SVTH : 37

- Có thể sử dụng xung clock lên đến 16MHz, hoặc sử dụng xung clock nội lên đến 8 MHz (sai số 3%)

- Bộ nhớ chương trình Flash có thể lập trình lại rất nhiều lần và dung lượng lớn,

có SRAM (Ram tĩnh) lớn, và đặc biệt có bộ nhớ lưu trữ lập trình được EEPROM

- Nhiều ngõ vào ra (I/O PORT) 2 hướng (bi-directional)

- 8 bits, 16 bits timer/counter tích hợp PWM

- Các bộ chuyển đối Analog – Digital phân giải 10 bits, nhiều kênh

- Chức năng Analog comparator

- Giao diện nối tiếp USART (tương thích chuẩn nối tiếp RS-232)

- Giao diện nối tiếp Two –Wire –Serial (tương thích chuẩn I2C) Master và Slaver

- Giao diện nối tiếp Serial Peripheral Interface (SPI)…

II.3 Chip DS1307

DS1307 là chip đồng hồ thời gian thực (RTC: Real-time clock), khái niệm thời gian thực ở đây được dùng với ý nghĩa thời gian tuyệt đối mà con người đang sử dụng, tình bằng giây, phút, giờ…DS1307 là một sản phẩm của Dallas Semiconductor (một công ty thuộc Maxim Integrated Products) Chip này có 7 thanh ghi 8-bit chứa thời gian là: giây, phút, giờ, thứ (trong tuần), ngày, tháng, năm Ngoài ra DS1307 còn có 1 thanh ghi điều khiển ngõ ra phụ và 56 thanh ghi trống có thể dùng như RAM DS1307 được đọc và ghi thông qua giao diện nối tiếp I2C (TWI của AVR) nên cấu tạo bên ngoài rất đơn giản DS1307 xuất hiện ở 2 gói SOIC và DIP có 8 chân như trong hình

Hình II 13 Hai gói cấu tạo chip DS1307

Ngày đăng: 05/03/2015, 22:32

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Lập trình C trong kỹ thuật điện tử. Tác giả: W.Buchanan.Dịch giả: Ngô Diên Tập- Phạm Huy Quỳnh.Nhà xuất bản: Nxb KHKT Sách, tạp chí
Tiêu đề: Tác giả: W.Buchanan. "Dịch giả: Ngô Diên Tập- Phạm Huy Quỳnh
Nhà XB: Nhà xuất bản: Nxb KHKT
[2] Programming and Customizing the AVR Microcontroller Tác giả: Dhananjay Gadre Khác
[3] TinyAVR Microcontroller Projects for the Evil Genius Tác giả : Dhananjay Gadre and Nehul Malhotra Khác
[3] Embedded Systems Design with the Atmel AVR Microcontroller Tác giả: Steven F.Barrett Khác
[4] Atmel AVR Microcontroller Primer: Programming and Interfacing Tác giả: Daniel Pack, Mitchell Thornton, Steven F. Barrett Khác
[6] Trang web : www.datasheetcatalog.com [7] Trang web : www.hocavr.com Khác

HÌNH ẢNH LIÊN QUAN

Hình II.1: So sánh mô hình OSI và TCP/IP - Xây dựng hệ thống điều khiển các thiết bị điện qua mạng Internet
nh II.1: So sánh mô hình OSI và TCP/IP (Trang 17)
Hình II. 1: Mô tà đóng gói IP lên khung Ethernet - Xây dựng hệ thống điều khiển các thiết bị điện qua mạng Internet
nh II. 1: Mô tà đóng gói IP lên khung Ethernet (Trang 20)
Hình II. 5. Đóng gói UDP vào khung Ethernet  Phân kênh, hợp kênh và Ports - Xây dựng hệ thống điều khiển các thiết bị điện qua mạng Internet
nh II. 5. Đóng gói UDP vào khung Ethernet Phân kênh, hợp kênh và Ports (Trang 26)
Hình II. 6. Sự phân kênh và hợp kênh của ARP - Xây dựng hệ thống điều khiển các thiết bị điện qua mạng Internet
nh II. 6. Sự phân kênh và hợp kênh của ARP (Trang 26)
Hình II. 7. Định dạng Gói TCP - Xây dựng hệ thống điều khiển các thiết bị điện qua mạng Internet
nh II. 7. Định dạng Gói TCP (Trang 29)
Hình II. 9. Sơ đồ chân chip ENC28J60 - Xây dựng hệ thống điều khiển các thiết bị điện qua mạng Internet
nh II. 9. Sơ đồ chân chip ENC28J60 (Trang 31)
Hình II. 10. Cấu trúc phần cứng trong ENC28J60 - Xây dựng hệ thống điều khiển các thiết bị điện qua mạng Internet
nh II. 10. Cấu trúc phần cứng trong ENC28J60 (Trang 33)
Hình II. 11. ENC kết nối Internet - Xây dựng hệ thống điều khiển các thiết bị điện qua mạng Internet
nh II. 11. ENC kết nối Internet (Trang 34)
Bảng 2.  Bảng hướng dẫn giao tiếp SPI cho chíp ENC28J60 - Xây dựng hệ thống điều khiển các thiết bị điện qua mạng Internet
Bảng 2. Bảng hướng dẫn giao tiếp SPI cho chíp ENC28J60 (Trang 35)
Hình II. 12. IC ATmega32  II.2.2. Tại sao sử dụng AVR - Xây dựng hệ thống điều khiển các thiết bị điện qua mạng Internet
nh II. 12. IC ATmega32 II.2.2. Tại sao sử dụng AVR (Trang 36)
Hình II. 14. Mạch ứng dụng đơn giản của DS1307. - Xây dựng hệ thống điều khiển các thiết bị điện qua mạng Internet
nh II. 14. Mạch ứng dụng đơn giản của DS1307 (Trang 38)
Hình II. 15. Tổ chức bộ nhớ của DS1307. - Xây dựng hệ thống điều khiển các thiết bị điện qua mạng Internet
nh II. 15. Tổ chức bộ nhớ của DS1307 (Trang 39)
Hình II. 16. Tổ chức các thanh ghi thời gian. - Xây dựng hệ thống điều khiển các thiết bị điện qua mạng Internet
nh II. 16. Tổ chức các thanh ghi thời gian (Trang 40)
Hình II. 18. Cấu trúc DS1307. - Xây dựng hệ thống điều khiển các thiết bị điện qua mạng Internet
nh II. 18. Cấu trúc DS1307 (Trang 43)
Hình III. 1: Mô hình tổng quan hệ thống. - Xây dựng hệ thống điều khiển các thiết bị điện qua mạng Internet
nh III. 1: Mô hình tổng quan hệ thống (Trang 44)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w