Thông báo

Tất cả đồ án đều đã qua kiểm duyệt kỹ của chính Thầy/ Cô chuyên ngành kỹ thuật để xứng đáng là một trong những website đồ án thuộc khối ngành kỹ thuật uy tín & chất lượng.

Đảm bảo hoàn tiền 100% và huỷ đồ án khỏi hệ thống với những đồ án kém chất lượng.

ĐỒ ÁN TỐT NGHIỆP ĐIỆN tử Quang báo điều khiển qua internet

mã tài liệu 301000300064
nguồn huongdandoan.com
đánh giá 5.0
mô tả 100 MB Bao gồm tất cả file asm, hex, lst, sym, tre....,.lưu đồ giải thuật.. CDR thuyết minh, bản vẽ nguyên lý, bản vẽ thiết kế, FILE lập trình, và nhiều tài liệu liên quan kèm theo đồ án này
giá 989,000 VNĐ
download đồ án

NỘI DUNG ĐỒ ÁN

MỤC LỤC

                        

Phiếu đăng ký đồ án tốt nghiệp...............................................................................................

Nhận xét của giáo viên hướng dẫn.........................................................................................

Nhận xét của giáo viên phản biện..........................................................................................

Nhận xét của hội đồng bảo vệ.................................................................................................

Lời cảm ơn ................................................................................................................................

PHẦN I: NỘI DUNG

Chương  Dẫn  Nhập  ................................................................................................ Trang 3

                     1.1: Đặt vấn đề................................................................................................... 3

                     1.2: Tầm quan trọng của đề tài........................................................................ 3

                     1.3: Nội dung đề tài .......................................................................................... 4           

                     1.4: Mục đích đề tài .......................................................................................... 4            

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

                     1.6: Lập kế hoạch  nghiên cứu......................................................................... 5

Chương 2: Tổng Quan Về Mạng Internet................................................................. 6

                 2.1:Giới thiệu..................................................................................................... 6

                     2.2:Hoạt động của mạng internet.................................................................... 6

                     2.3: Kết nối internet.......................................................................................... 8

                     2.4 Giao thức TCP/IP......................................................................................... 8

                     2.5:Công nghệ Ethernet.................................................................................. 11

Chương 3:  Giớ Thiệu Module Ethetnet ENC 28J60................................................... 14

                     3.1: Giới thiệu.................................................................................................. 14

                     3.2: Vi mạch truyền thông Enthernet ENC28J60 ...................................... 15

Chương 4:  Giớ Thiệu Bộ Thư Viện TCP/IP Của Microchip...................................... 20

                     4.1: Sơ lược về TCP/IP Stack của Microchp................................................ 21

                     4.2: Mô hình tham chiếu TCP/IP stack......................................................... 21

                     4.3:Cấu Hình.................................................................................................... 22

                     4.4:Sử Dụng TCP/IP Stack.............................................................................. 25

                     4.5:Các lớp chức năng của TCP/IP Stack..................................................... 27

                     4.6 HTTP Server.............................................................................................. 33

                     4.7 FTP Server.................................................................................................. 35

Chương 5: Giới Thiệu Led Ma Trận Và Bảng Quang Báo............................ 37

                     5.1: Giới thiệu về led ma trận........................................................................ 37

                     5.2: Một số hình ảnh về bảng quang báo thực tế........................................ 38

                     5.3: Giới thiệu về bảng quang báo trong đề tài........................................... 39

Chương 6: Các Phương  Pháp Hiển Thị Led Ma Trận................................................ 41              

                     6.1: Phương pháp hiển thị bằng IC chốt....................................................... 41             

                     6.2: Phương pháp sử dụng thanh ghi dịch.................................................... 44

                     6.3: Mạch quang báo sử dụng trong đồ án................................................... 48

Chương 7:  Khảo Sát Linh Kiện....................................................................................... 50             

                     7.1: Vi điều khiển PIC 16F877A................................................................... 50          

                     7.2: Vi điều khiển PIC 18F4680.................................................................... 59

                     7.3: IC TPIC6B595...................................................................................... 73

                     7.4: IC ULN2803............................................................................................. 76

                     7.5:ENC28J60.................................................................................................. 77

Chương 8:Sơ Đồ Nguyên Lý VàTính Toán Mạch......................................................... 80

                     8.1: Sơ đồ nguyên lý....................................................................................... 80              

                     8.2: Khối nguồn............................................................................................... 80             

                     8.3: Khối điều khiển hiển thị......................................................................... 81

                     8.4: Khối hiển thị............................................................................................. 82

                     8.5: Khối quét cột............................................................................................ 84

                     8.6: Khối đệm dòng cho hàng........................................................................ 85

                     8.7: Khối giao tiếp mạng................................................................................ 86

Chương 9: Nguyên Lý Hoạt Động Và Lưu Đồ Giải Thuật......................................... 88             

                     9.1: Nguyên lý hoạt động............................................................................... 88     

                     9.2: Mô hình hệ thống..................................................................................... 88

                     9.3: Lưu đồ giải thuật và code chương trình................................................ 94

Chương  Tổng Kết............................................................................................................. 110

PHẦN II: PHỤ LỤC

Chúng em xin chân thành cảm ơn các thầy cô trong khoa Điện tử- Tin học đã giảng dạy chúng em những kiến thức về chuyên môn và giúp chúng em định hướng theo sự hiểu biết và khả năng để chúng em thực hiện tốt đồ án “Quang báo điều khiển qua internet” và tạo điều kiện thuận lợi cho chúng em hoàn tất khoá học.

Nhóm chúng em xin gởi lời cảm ơn đến thầy Trương Quang Trung, người đã hướng dẫn, giúp đỡ chúng em tận tình và tạo mọi điều kiện tốt cho chúng em thực hiện đồ án môn học này.

Ngoài ra, nhóm cũng hết lòng biết ơn gia đình, bạn bè đã hết lòng giúp đỡ, động viên, ủng hộ và đóng góp ý kiến cho chúng em trong suốt thời gian thực hiện đồ án môn học này.

Nhóm chúng em xin chân thành cảm ơn!

CHƯƠNG DẪN NHẬP

  1.   ĐẶT VẤN ĐỀ:

     Thông tin liên lạc là vấn đề được quan tâm trong xã hội. Ngay từ ngày xưa, con người đã biết vận dụng những gì đã có sẵn để truyền tin như lửa, âm thanh, các dấu hiệu…

     Ngày nay, với sự phát triển của xã hội thì ngày càng có nhiều cách tiếp cận với những thông tin mới. Ta có thể biết được thông tin qua báo chí, truyền hình, mạng internet, qua các pano, áp phích… Thông tin cần phải được truyền đi nhanh chóng, kịp thời và phổ biến rộng rãi trong toàn xã hội. Và việc thu thập thông tin kịp thời, chính xác là yếu tố hết sức quan trọng trong sự thành công của mọi lĩnh vực. Các thiết bị tự động được điều khiển từ xa qua một thiết bị chủ hoặc được điều khiển trực tiếp qua hệ thống máy tính.

     Việc sử dụng vi điều khiển để điều khiển hiển thị có rất nhiều ưu điểm mà các phương pháp truyền thống như panô, áp phích không có được như việc điều chỉnh thông tin một cách nhanh chóng bằng cách thay đổi chương trình. Với những lý do trên, nhóm thực hiện đề tài đưa ra một cách thức nữa phục vụ thông tin là dùng quang báo. Nội dung nghiên cứu của đề tài chính là tạo ra một bảng quang báo ứng dụng trong việc hiển thị thong tin ở các nơi công cộng như công ty, nhà xưởng, nhà ga…

     Thế giới ngày càng phát triển thì lĩnh vực điều khiển cần phải được mở rộng hơn. Việc ứng dụng mạng truyền thông công nghiệp vào sản xuất mang lại nhiều thuận lợi cho xã hội loài người, thông tin được cập nhật nhanh chóng và được điều khiển một cách chính xác.

 

 

 

1.2   TẦM QUAN TRỌNG CỦA ĐỀ TÀI

Quang báo ngày nay đã được đưa vào sử dụng ở rất nhiều lĩnh vực khác nhau như: truyền thông, quảng cáo, giới thiệu sản phẩm, thông báo tin tức (thay cho các bản tin bằng giấy…). Đề tài có một vị trí quan trọng trong những ứng dụng đòi hỏi cần hiển thị thông tin cập nhật từ internet. lượng thông tin thay đổi liên tục mà các phương pháp khác không thể thực hiện được hoặc quá tốn kém.

Xuất phát từ những lợi ích trên, nhóm thực hiện đề tài sẽ thiết kế và thi công mô hình một bảng quang báo có khả năng giao tiếp internet, thân thiện với người sử dụng, và sẽ được hiển thị trên bảng quang báo điều khiển từ xa qua internet.

1.3  NỘI DUNG ĐỀ TÀI:

     Với khoảng thời gian thực hiện đề tài 4 tuần, nhóm đã thảo luận và chọn nội dung của đề tài như sau:

- Tìm hiểu cấu trúc mạn Internet.

- Thi công bảng quang báo hiển thị đơn sắc kích thước 8×32 điểm ảnh.

- Thay đổi thông tin trên quang báo bằng cách truyền dữ liệu vào vi xử lý thông qua giao diện web.

1.4  MỤC ĐÍCH ĐỀ TÀI:

Trong quá trình nghiên cứu và thực hiện đề tài này nhằm giúp người học:

-  Tăng khả năng tự nghiên cứu cũng như tự học.

-  Bước đầu tiếp xúc với thực tế.

- Vận dụng những kiến thức đã có đồng thời tìm tòi những kiến thức mới để hiểu sâu sắc hơn trong lĩnh vực này.

Để thiết kế được một hệ thống như đã nêu ở trên thì người nghiên cứu phải nắm vững kiến thức chuyên ngành điện tử, tìm hiểu, nghiên cứu qua sách vở, tài liệu nước ngoài và dạng mạch thực tế để thi công phần cứng.

 

1.5  ĐỐI TƯỢNG NGHIÊN CỨU:

     - Các phương án điều khiển và xử lý dữ liệu cho bảng led ma trận.

     - Tìm hiểu vi điều khiển PIC16F877A.

     - Tìm hiểu vi điều khiển PIC 18LF4680.

     - Tìm hiểu phương pháp lập trình CCS cho PIC.

     - Tìm hiểu phương pháp lập trình nhúng trang web vào vi xử lý 18LF4680.

     - Tìm hiểu IC giao tiếp Ethetnet ENC28J60.

     - Bảng quang báo led ma trận kích thước 8 x 32 điểm ảnh.

 1.6  LẬP KẾ HOẠCH NGHIÊN CỨU:

     Để thực hiện đề tài này nhóm sinh viên đã kết hợp sử dụng nhiều phương pháp và phương tiện hỗ trợ gồm có:

     - Tham khảo tài liệu: kỹ thuật xung, kỹ thuật số, điện tử căn bản, vi điều khiển….   

            - Quan sát.

- Thực nghiệm.

- Tổng kết kinh nghiệm.

- Phương tiện:  máy vi tính, Internet, thư viện….

Kế hoạch nghiên cứu:

- Tuần 1: Nhận đề tài và lập đề cương tổng quát.

                      Thu thập tài liệu và lập đề cương chi tiết.

  • Tuần 2, 3, 4: Thiết kế thi công và viết báo cáo.

 


CHƯƠNG II:             

TỔNG QUAN VỀ MẠNG INTERNET

  1. Giới thiệu:

Internet là một hệ thống thông tin toàn cầu có thể được truy nhập công cộng gồm các mạng máy tính được liên kết với nhau. Hệ thống này truyền thông tin theo kiểu nối chuyển gói dữ liệu (packet switching) dựa trên một giao thức liên mạng đã được chuẩn hóa (giao thức IP). Hệ thống này bao gồm hàng ngàn mạng máy tính nhỏ hơn của các doanh nghiệp, của các viện nghiên cứu và các trường đại học, của người dùng cá nhân, và các chính phủ trên toàn cầu. Chúng cung cấp một khối lượng thông tin và dịch vụ khổng lồ trên internet.

Mạng Internet mang lại rất nhiều tiện ích hữu dụng cho người sử dụng, một trong các tiện ích phổ thông của Internet là hệ thống thư điện tử (email), trò chuyện trực tuyến (chat), máy truy tìm dữ liệu (search engine), các dịch vụ thương mãi và chuyển ngân, và các dịch vụ về y tế giáo dục như là chữa bệnh từ xa hoặc tổ chức các lớp học ảo.

Nguồn thông tin khổng lồ kèm theo các dịch vụ tương ứng chính là hệ thống các trang Web liên kết với nhau và các tài liệu khác trong WWW (World Wide Web). Trái với một số cách sử dụng thường ngày, Internet và WWW không đồng nghĩa. Internet là một tập hợp các mạng máy tính kết nối với nhau bằng dây đồng, cáp quang, v.v..; còn WWW, hay Web, là một tập hợp các tài liệu liên kết với nhau bằng các siêu liên kết (hyperlink) và các địa chỉ URL, và nó có thể được truy nhập bằng cách sử dụng Internet.

  1. Hoạt động của mạng internet
    1.  Các Giao Thức ( Protocols).

Các giao thức là tập các luật mà các máy tính phải tuân theo khi giao tiếp trên  Internet.

  • Tranmission Control Protocol (TCP): thiết lập kết nối giữa hai máy tính  để truyền tải dữ liệu, chia dữ liệu thành những gói nhỏ và đảm bảo việc truyền  nhận dữ liệu. TCP là giao thức hướng kết nối (connection-oriented protocol).
  • User Datagram Protocol (UDP): thiết lập kết nối nhanh nhưng không chắc chắn giữa các máy tính để truyền tải dữ liệu, cung cấp ít dịch vụ đểkhắc phục lỗi.
  • Internet Protocol (IP):  điều chỉnh  đường  đi của những gói dữ liệu  đường  truyền nhận trên Internet. TCP là giao thức phi kết nối (connectionless  protocol).
  • HTTP: cho phép trao đổi thông tin trên Internet.
  • FTP: cho phép truyền nhận file trên Internet.
  • SMTP: cho phép gửi thư điện tử trên Internet.
  • POP3: cho phép nhận thư điện tử trên Internet.

TCP/IP được dùng làm giao thức chuẩn khi giao tiếp trên Internet vì nó    độc lập với nền của hệ thống (platform independent) và không có tổ chức nào có quyền sở hữu giao thức này.

  1.  Địa Chỉ IP ( IP Adress).

Internet là một mạng kết nối rộng lớn giữa các máy tính. Để xác định một máy tính  trên mạng này, người ta dùng một con số gọi là địa chỉ IP. Địa chỉ IP gồm một tập 4  số nhỏ hơn 255 và được ngăn cách bởi các dấu ‘.’. Ví dụ: 41.212.196.197.

  1. Mô Hình Khách – Chủ ( Client – Server Model).

Internet dựa trên mô hình khách – chủ (client – server), trong đó dữ liệu được trao đổi thông qua các trang web. Trong mô hình client – server, mỗi máy tính được xác định bởi một địa chỉ Internet protocol (IP) và cả máy tính client, server cùng chấp nhận một giao thức chung để để giao tiếp với nhau.

Trong mô hình khách - chủ, máy khách (client computer) yêu cầu thông tin từ một máy chủ (server). Máy chủ chấp nhận yêu cầu và gửi thông tin về cho máy khách. Việc trao đổi thông tin này được diễn ra thông qua những trang web.

  1. Hệ Thống Tên Miền ( DNS- Domain Name System).

Mỗi máy tính trên mạng Internet được xác định bằng địa chỉ IP, nhưng con số này rất  khó nhớ. Để khắc phục nhược điểm này, người ta dùng hệ thống tên miền để đặt tên  cho máy tính. Ví dụ: tên miền www.yahoo.com ứng với địa chỉ IP 216.109.127.28.  request  web page Miền (domain)  ứng với một tập các máy tính trên Internet. Phần mở rộng của tên miền (domain name extension) được dùng để xác định quốc gia hay tổ chức.

  1. Kết Nối Internet.

Để kết nối với Internet cần có một số yêu cầu về phần cứng và phần mềm sau:

  • Phần cứng: máy tính, kết nối thông qua đường dây điện thoại hoặc kết nối cáp, modem.
  • Phần mềm: kết nối internet, hệ điều hành, giao thức TCP/IP, trình duyệt web.

Các yêu cầu thiết yếu khi kết nối với Internet: kết nối với Internet thông qua một nhà cung cấp Internet (Internet Service Provider), modem, trình duyệt và địa chỉ URL.

  1. Giao Thức TCP/IP:

TCP/IP  là bộ giao  thức cho phép kết nối các hệ  thống mạng không đồng nhất với

nhau. TCP/IP  là  viết  tắt  của Transmission Control Protocol  (Giao  thức Điều Khiển Truyền thông)/Internet Protocol (Giao thức Internet), ngày nay TCP/IP

được sử dụng rộng rãi trong c ác mạng cục bộ cũng như trên mạng Internet toàn cầu. 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. Chúng ta gọi đó là 1 hệ giao thức hay bộ giao thức (Suite Of Protocols).

TCP/IP được xem là giản lược của mô hình tham chiếu OSI với bốn tầng, trong mô hình này là (theo thứ tự từ trên xuống):

+ Tầng ứng dụng (Application Layer)

+ Tầng giao vận (Transport Layer)

+Tầng mạng (Internet Layer)

+ Tầng liên mạng (Network Interface Layer)

Hình 2.1 Kiến trúc TCP/IP

 

Tầng liên mạng (Network Interface Layer): Tầng Liê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 bao gồm các thiết bị

giao tiếp mạng(Card Mạng và Cáp Mạng) và chương trình cung cấp các thông tin cần

thiết để có thể hoạt động, truy nhập đường truyền vật lý qua thiết bị giao tiếp mạng đó.

Tầng mạng (Internet Layer): Nằm trên tầng liên 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. Bốn giao  thức quan  trọng nhất  trongtầ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 (Media Access Control).

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

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 có

hai  giao  thức  chính:  TCP  (Transmission Control  Protocol)  và UDP  (User Datagram Protocol). 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 một cách tin cậy, nó cung cấp một luồng dữ liệu tin cậy giữa hai trạm, nó sử dụng các cơ chế như chia nhỏ các gói tin của tầng trên thành các gói tin có kích thước thích hợp cho tầng mạng bên dưới, báo nhận gói tin, đặt hạn chế thời gian time-out để đảm bảo bên nhận biết được các gói tin đã gửi đi. 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. Do tầng này đảm bảo tính tin cậy, tầng trên sẽ không cần quan tâm đến nữa.

UDP  cung  cấp một dịch  vụ  đơn  giản hơn  cho  tầng ứng dụng. UDP  cung  cấp

kênh truyền thông phi kết nối, nó chỉ gửi các gói dữ liệu từ trạm này tới trạm kia mà

không  đảm  bảo  các  gói  tin  đến  được  tới  đích. 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.

Các cơ chế đảm bảo độ tin cậy cần được thực hiện bởi tầng trên.

Tầng ứng dụng (Application Layer): Tầng ứng dụng là tầng trên cùng của mô hình

TCP/IP bao gồm các  tiến  trình và các ứng dụng cung cấp cho người sử dụng để  truy

cập mạng. Một 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

SNMP  (Simpe 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 thức truyền tập tin bình thường

SMTP (Simple Mail Transfer Protocol): Giao thức truyền thư đơn giản.

TELNET

  1. Công  Nghệ Ethernet:

Hơn 20 năm trước, Ethernet ra đời mang lại một mạng truyền dữ liệu nối tiếp tốc độ cao; tới nay, nó đã trở thành một chuẩn được chấp nhận khắp thế giới, và là giao thức thống trị các mạng LAN. Hơn 85% kết nối mạng được cài đặt trên thế giới là Ethernet. Tốc độ  truyền dữ  liệu phổ biến nhất của Ethernet  là 10  triệu bit/s (10 Mbps), mặc dù vậy, hầu hết các mạng hiện nay đang được nhanh chóng nâng cấp lên Fast Ethernet với tốc độ 100 Mbps. Ethernet  thường  gắn  với hệ điều  khiển  công nghiệp qua một điều khiển độc lập kết nối với PC hay mạng bằng cáp Ethernet.

Ngày 22  tháng 5 năm 1973, Robert Metcalfe  thuộc Trung  tâm Nghiên  cứu Palto Alto  của  hãng Xerox  –  PARC,  bang California,  đã  đưa  ra  ý  tưởng  hệ  thống  kết  nối mạng máy  tính cho phép các máy  tính có  thể  truyền dữ  liệu với nhau và với máy  in lazer. Lúc này, các hệ thống tính toán lớn đều được thiết kế dựa trên các máy tính trung tâm đắt tiền (mainframe). Điểm khác biệt lớn mà Ethernet mang lại là các máy tính có thể  trao đổi  thông  tin  trực  tiếp  với nhau mà  không  cần qua máy  tính  trung  tâm. Mô hình mới này làm thay đổi thế giới công nghệ truyền thông.

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)  Access Method  vesus  Physical  Layer  Specification. 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á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:

Hình 2.2. Cấu trúc khung tin Ethernet

 

Cá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 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 một khung. Nó luôn mang giá trị 10101011.

• Các trường Destination và Source: mang địa chỉ vật lý của các trạm nhận và gửi khung, xác định khung được gửi từ đâu và sẽ được gửi tới đâu.

• LEN: giá trị của trường nói lên độ lớn của phần dữ liệu mà khung mang theo. 

• FCS mang CRC (cyclic redundancy checksum): phía gửi sẽ tính toán trường này trước khi truyền khung. Phía nhận tính toán lại CRC này theo cách tương tự. Nếu hai kết quả trùng nhau, khung được xem là nhận đúng, ngược lại khung coi như là lỗi và bị loại b

CHƯƠNG III:

GIỚI THIỆU MODEL ETHERNET SỬ DỤNG ENC28J60

  1. Giới thiệu                         Hình 3.1. Modeml ethernet sử dụng  ENC28J60
  • Đây mà model được Microchip cung cấp miễn phí cùng với bộ thư viện TCP/IP Stack của dự án mã nguồn mở .
  •  Model sử dụng Jack RJ45 tích hợp sẳn biến áp và Led.
  • Ngõ giao tiếp đưa ra header sẵn để giao tiếp với các microcontroller khác nhau như PIC, dsPIC, 8051/AVR, ARM... bao gồm các chân +5V, +3.3V, CLK0, INT, SO, SI, SCK, CS, RST, INT sẽ tiết kiệm rất nhiều thời gian và chi phí cho phát triển ứng dụng của mình.
  • Màng hình LCD dùng để hiển thị địa chỉ IP khi kết nối vào mạng.
  •  
  1.  Vi mạch truyền thông Enthernet ENC28J60.

         Trên thế giới có rất nhiều hãng cung cấp vi mạch hỗ trợ sẵn sàng cho các giao tiếp theo giao thức TCP/IP, như các hãng lớn: Realtek, Conexant, MicroChip,... Tuy nhiên, xét trên quan điểm của người thiết kế thì các chíp được đánh giá cao là chíp đáp ứng được nhu cầu thực tế (không thiếu và cũng không quá dư thừa tính năng), được sự hỗ trợ  tối đa  từ hãng về các  thư viện  lập  trình, dễ dàng giao  tiếp với các vi xử  lý, mạch thiết kế đơn giản, ít đòi hỏi các linh kiện ngoài. Từ những tiêu chí đó, cùng với sự ra đời  dòng  chíp  hỗ  trợ  hoàn  toàn  giao  thức  ethernet,  việc  lựa  chọn  ENC28J60  của MicroChip  là  lựa chọn  rất phù hợp, cả về  tính năng kỹ  thuật và giá cả  (tại  thời điểm năm 2008,2009  giá ~3USD/1chíp). Ngoài  ra, hãng hỗ  trợ đầy đủ  tài  liệu  và  các  thư viện lập trình, rất thân thiện khi ghép nối với các họ vi xử lý có trên thị trường.

  1. Các thông số kỹ thuật.

          Hình 3.2. Sơ đồ vi mạch giao tiếp ethernet ENC28J60

  1. Giới thiêu chung:
    • Tương thích chuẩn IEEE 802.3 Ethernet Controller.
    • Tích hợp địa chỉ MAC và 10BASE-T PHY
    • Bộ đệm SRAM 8 Kbyte Transmit/Receive Packet Dual Port Buffer.
    • Chế độ tự động gửi lại khi có xung đột.
    • Chế độ tự động hủy bỏ các gói tin sai.
      1. Bộ Đệm:
        • Kích thước bộ đệm transmit/receive có thể lập trình được.
        • Giám sát quá trình nhận FIFO.
  1. PHY:
    • Bộ lộc tín hiệu ra.
    • Có chế độ Loopback
      1. Mac(Media access Control):
        • Hỗ trợ Unicast, Multicast và Broadcast
        • Hỗ trợ nhiều dạng đóng gói tin Magic Packet®, Unicast, Multicast ,Broadcast
  1.   Các khối cơ bản bên trong ENC28J60:

Bao gồm 7 khối cơ bản sau:

  1. Một giao diện SPI dùng để giao tiếp với vi điều khiển.
  2. Khối giám sát và điều khiển ENC28J60.
  3. Bộ nhớ đệm Sram cho viêc truyề và nhận gói tin.
  4. Khối giám sát việc truy cập vào bộ nhớ đệm.
  5. Khối Bus dữ liệu giả mã lệnh thông qua SPI.
  6. Module Mac theo chuẩn IEEE802.3.
  7. Module PHY mã hóa và giải mã tín hiệu điện.

Hình 3.3. Sơ đồ khối vi mạch giao tiếp ethernet ENC28J60

  1. Sơ đồ kết nối với các thiết bị ngoại vi.

       Vi mạch ENC28J60 giao tiếp với các vi xử lý khác thông qua chuẩn truyền dữ liệu nối  tiếp  SPI  (Serial  Peripheral  Interface),  đây  là  chuẩn  giao  tiếp  rất  phổ  biến,  được dùng để nối các vi mạch trong cùng một hệ thống với ưu điểm là chạy nhanh và tốn rất ít dây nối tín hiệu, chỉ cần 3 dây cho cả đường ghi và đọc, đó là:

Hình 3.4. Sơ đồ ghép nối ENC28J60 với vi xử lý

SCK Serial Clock – Xung đồng bộ cho đường nối tiếp.

SI Serial Input – Tín hiệu nối tiếp vào (ghi).

SO Serial Output – Tín hiệu nối tiếp ra (đọc).

Sau đây là bộ lệnh SPI dùng cho vi mạch ENC28J60 và các giản đồ xung thể hiện các quá trình ghi, đọc dữ liệu, lệnh giữa vi xử lý và ENC28J60.

                      Hình 3.5. Quá trình đọc thanh ghi điều khiển Ethernet

                        Hình 3.6. Quá trình đọc thanh ghi điều khiển MAC

                                  Hình 3.7 Quá trình ghi vào thanh ghi lệnh

                                    Hình 3.8. Quá trình ghi vào bộ đệm lệnh

                                    Hình 3.9 Quá trình ghi vào lệnh của hệ thống

Mặc dù đã được  thiết kế  theo  cấu  trúc  “stand alone”  (một chip  làm hết các việc) nhưng việc điều khiển để vi mạch này hoạt động được  là  rất phức  tạp và đòi hỏi có hiểu biết khá toàn diện về vi điều khiển, mạch điện tử và mạng Internet. Tuy nhiên, rất may mắn cho người  thiết kế và  lập  trình vì hãng MicroChip  (hãng  sản xuất vi mạch ENC28J60) đã hỗ trợ tối đa, bằng cách đưa ra đầy đủ các thư viện phục vụ cho việc lập trình, làm cho việc lập trình giao tiếp với vi mạch này trở nên khá dễ dàng.

CHƯƠNG IV:

GIỚI THIỆU BỘ THƯ VIỆN TCP/IP STACK CỦA MICROCHIP

 

  1. Sơ lược về TCP/IP Stack của Microchip

Bộ thư viên TCP / IP Stack của Microchip  cung cấp một nền tảng cho các ứng dụng Ethernet do xử lý hầu hết các yêu cầu tương tác giữa các tầng vật lý và tầng  ứng dụng . Nó bao gồm các ứng dụng  phổ biến của tầng ứng dụng, bao gồm HTTP2 phục vụ các trang web, SMTP để gửi e-mail, SNMP cung cấp tình trạng, kiểm soát, Telnet, TFTP,-to Serial Ethernet, và nhiều hơn nữa. Ngoài ra, bộ thư viện TCP/IP stack này  có dung lượng tương đối nhẹ và hiệu suất triển khai cao  của TCP và UDP tầng giao vận, cũng như các module hỗ trợ khác như IP, ICMP, DHCP,ARP,vàDNS.

Bộ thư viên TCP / IP Stack của Microchip. Tối ưu hoá cho tất cả các  PIC18, PIC24, dsPIC và gia đình vi điều khiển PIC32.Các ngăn xếp được chia thành nhiều lớp, mỗi lớp truy cập dịch vụ từ một hoặc nhiều lớp trực tiếp dưới nó. . Bộ thư viên TCP / IP Stack bao gồm các tính năng chính:

  • Tối ưu hoá cho tất cả các PIC18, PIC24, dsPIC và PIC32 gia đình
  • Hỗ trợ giao thức: ARP, IP, ICMP, UDP, TCP, DHCP, SNMP, HTTP, FTP, TFTP
  • Socket hỗ trợ cho TCP và UDP
  • Secure Sockets Layer (SSL)
  • NetBIOS vụ dịch vụ tên
  • DNS - Domain Name System
  • Ethernet Device Discovery
  • Hỗ trợ cho MPLAB C18, C30, C32 v  à trình biên dịch

Bộ thư viện TCP/IP stack  được viết bằng của ngôn ngữ lập trình 'C.Toàn bộ code có dung lượng khoảng 28-34 KB, tùy thuộc vào mục đích  được sử dụng, Bộ thư viện để lại nhiều không gian trên để người dùng có thể điểu chỉnh cho phú hợp với ứng dụng của mình

  1. Mô hình tham chiếu TCP/IP stack

Giống như mô hình tham chiếu TCP / IP, TCP / IP Stack cũng được chia thành nhiều lớp (Hình 2.1). Mỗi lớp có 1 chức năng riêng, trong khi các dịch vụ và các API (Giao diện lập trình ứng dụng) được định nghĩa thông qua các tiêu đề, bao gồm các tập tin. Không giống mô hình TCP / IP, các lớp trong TCP / IP Stack trực tiếp truy cập vào một hoặc nhiều lớp mà không phụ thục vào lớp dưới nó. Một bổ sung lớn của TCP / IP Stack là thực hiện việc bổ sung hai modules mới: "StackTask" và "ARPTask". StackTask quản lý hoạt động của Stack và tất cả các module của nó, trong khi ARPTask quản lý các dịch vụ của các Địa chỉ Nghị quyết Protocol (ARP) lớp. Như đã đề cập trước đó, TCP / IP Stack là một bộ chương trình; một số lớp của nó phải có khả năng thực hiện một số hoạt động không đồng bộ. Để có thể đáp ứng được điều này đồi hỏi phải có tính tương đối độc lập khi sử dụng dịch vụ.

Hình 4.1 So sánh mô hình TCP/IP và mo hình TCP/IP Stac

  1. Cấu hình

TCP/IP Stack là bộ chương trình được viết bằng ngôn ngữ “C”. Để bật, tắt hoặc thiết lập một tham số  nào đó  người sử dụng  chỉ cần thay đổi một hoặc nhiều tham số trong  các  định nghĩa . Hầu hết các  tham số này được định nghĩa trong tập tin  header, "StackTsk.h". Một số định nghĩa được quy định tại các tập tin khác được hiển thị với tên tập tin tương ứng. Một khi tập tin này được sửa đổi, người sử dụng phải xây dựng lại các ứng dụng cho phù hơp với dự án của mình. Các định nghĩa được liệt kê trong bảng1.

Định nghĩa

Giá trị

Sử dụng

Chức năng

CLOCK_FREQ

(compiler.h)

Oscillator

Frequency (Hz)

Tick.c

Xác định hệ thống dao động tần số

TICKS_PER_SECONDS

10-255

Tick.c

Để tính toán một lần thứ hai

TICK_PRESCALE_VALUE

2, 4, 8, 16, 32,

64, 128, 256

Tick.c

Để xác định giá trị đánh dấu vào truy cập

MPFS_USE_PGRM

N/A

MP File System

(MPFS.c)

Sử dụng bộ nhớ chương trinh dể lưu trử MPFS

MPFS_USE_EEPROM

N/A

MPFS.c

Sử dụng eeprom dể lưu trử MPFS

MPFS_RESERVE_BLOCK

0-255

MPFS.c

Số byte MPFS duo9c5 lưu trữ

EEPROM_CONTROL

External Data EEPROM Control Code

MPFS.c

Địa chỉ lưu vào eeprom

STACK_USE_ICMP

N/A

StackTsk.c

Yệu cấu sử dụng ICMP

STACK_USE_SLIP

N/A

SLIP.c

Yệu cấu sử dụng SLIP

STACK_USE_IP_GLEANING

N/A

StackTsk.c

Yệu cấu sử dụng IP

STACK_USE_DHCP

N/A

DHCP.c,

StackTsk.c

Yệu cấu sử dụng dhcp

STACK_USE_FTP_SERVER

N/A

FTP.c

Yệu cấu sử dụng FTP

STACK_USE_TCP

N/A

TCP.c,

StackTsk.c

Yệu cấu sử dụng TCP

STACK_USE_UDP

N/A

UDP.c,

StackTsk.c

Yệu cấu sử dụng TCP

STACK_CLIENT_MODE

N/A

ARP.c, TCP.c

Kích hoạt client

TCP_NO_WAIT_FOR_ACK

N/A

TCP.c

TCP sẻ đợi ACK trước khi truyền

MY_DEFAULT_IP_ADDR_BYTE

MY_DEFAULT_MASK_BYTE?

MY_DEFAULT_GATE_BYTE?

MY_DEFAULT_MAC_BYTE?

0-255

User Application

Xác định mặc định IP, MAC, gateway và subnet mask giá trị.

 

MY_IP_BYTE?

MY_MASK_BYTE?

MY_GATE_BYTE?

MY_MAC_BYTE?

0-255

MAC.c, ARP.c,

DHCP.c, User

Application

IP, MAC, gateway và subnet mặt nạ giá trị như lưu / định nghĩa bởi ứng dụng. Nếu DHCP được kích hoạt, những hản ánh các giá trị hiện tại máy chủ DHCP
giao cấu hình.

MAX_SOCKETS

1-253

TCP.c

Để xác định tổng số sockets hỗ trợ (giới hạn bởi bộ nhớ RAM có sẵn).
 kiểm tra  thời gian  thưc hiện để  đảm bảo rằng sockets  là đủ  để chọn TCP ứng dụng.

 

MAX_UDP_SOCKETS

201-1500

TCP.c, MAC.c

Xác định kích thước bộ đệm.

MAX_TX_BUFFER_COUNT

1-255

MAC.c

Xác định tổng số truyền qua bộ đệm. con số này được hạn chế bởi kích thước bộ đệm của Mac

MAX_HTTP_CONNECTIONS

1-255

HTTP.c

Xác định số lượng tối da HTTM  được kết nối

MPFS_WRITE_PAGE_SIZE

(MPFS.h)

1-255

MPFS.c

Xác định kích thước có thể ghi trên MPFS

FTP_USER_NAME_LEN

(FTP.h)

1-31

FTP.c

Xác định  độ dài tối đa của FTP

MAX_HTTP_ARGS (HTTP.c)

1-31

HTTP.c

Xác định số tối da của HTML

MAX_HTML_CMD_LEN

(HTTP.c)

1-128

HTTP.c

Xác định độ dài tối đa của HTML

 

  1. Sử dụng TCP/IP Stack

Bộ thư viện TCP/IP Stack chứa đầy đủ các Module hỗ trợ như :HTTP, IP, FTP, DHCP. Tùy vào mục đích sử dụng mà người lập trình có thể thay đổi cho phù hợp với dự án mùa mình, nhung một số tập tin nhất đinh phải có trong dự án. Các module và tập tin đó được trình bày trong bảng sau:

Module

Tập tin bất buộc

Mục đích

MAC

MAC.c

Delay.c

Media Access Layer

SLIP

SLIP.c

Media Access Layer for SLIP

ARP

ARP.c

ARPTsk.c

MAC.c or SLIP.c

Helpers.c

Address Resolution Protocol

IP

IP.c

MAC.c or SLIP.c

Helpers.c

Internet Protocol

ICMP

ICMP.c

StackTsk.c

IP.c

MAC.c or SLIP.c

Helpers.c

Internet Control Message Protocol

TCP

StackTsk.c

UDP.c

IP.c

MAC.c or SLIP.c

Helpers.c

Transmission Control Protocol

UDP

StackTsk.c

UDP.c

IP.c

MAC.c or SLIP.c

Helpers.c

User Datagram Protocol

Stack Manager

StackTsk.c

TCP.c

IP.c

ICMP.c

ARPTsk.c

ARP.c

MAC.c or SLIP.c

Tick.c

Helpers.c

Stack Manager (“StackTask”), which coordinates the other  

Microchip TCP/IP Stack modules

HTTP Server

HTTP.c

TCP.c

IP.c

MAC.c or SLIP

Helpers.c

Tick.c

MPFS.c

XEEPROM.c(1)

 

HyperText Transfer Protocol Server

DHCP Client

DHCP.c

UDP.c

IP.c

MAC.c

Helpers.c

Tick.c

Dynamic Host Configuration Protocol

IP Gleaning

StackTsk.c

ARP.c

ARPTsk.c

ICMP.c

MAC.c or SLIP.c

To configure node IP address only.

FTP Server

FTP.c

TCP.c

IP.c

MAC.c or SLIP.c

File Transfer Protocol Server.

  1. Các lớp chức năng trong TCP/IP Stack

TCP/IP Stack có nhiều lớp  để sử dụng 1 lớp thì ta cấn phải tím hiểu ý nghĩa và chức năng của chúng.

  1. Media Access Control Layer (MAC)

            TCP/IP Stack bào gồm nhiều ứng dụng đã được cụ thể bằng văn bảng để sử dụng giao diện mạng lưu ý ứng dụng này đã được cụ thể bằng văn bản để sử dụng giao diện mạng Realtek RTL8019AS Controller (NIC). RTL8019AS là một NE2000 tương thích NIC, mà  được thực hiện cả trên vật lý Ethernet (PHY) và lớp MAC. Nếu một NIC khác  được sử dụng, người sử dụng sẽ cần phải sửa đổi hoặc tạo một file MAC.c mới để chữa truy cập. Miễn là dịch vụ được cung cấp bởi MAC.c không thay đổi thì  tất cả các module khác sẽ vẫn không thay đổi.

            Ngoài việc quản lý bộ đệm FIFO cho NIC. Mac còn quản lý bộ đệm truyền nhận, nó có thể yêu cầu một tập tin nào đó được truyền lại. người sử dụng có thể xác định được kích thước của bộ đệm nhờ vào file Mac.c.

  1. Serial Line Internet Protocol (SLIP)

Lớp SLIP sử dụng cáp nối tiếp như các giao tiếp phương tiện truyền thông, thay vì cáp ethernet. SLIP không đòi hỏi phải có NIC, do đó cung cấp rất đơn giản và  kết nối không tốn kém IP. SLIP thường là một kết nối một-một, nơi một máy chủ  kết nối với một máy khách. Các SLIP module được thiết kế để hoạt động với một Windows ® dựa trên máy tính, mặc dù nó có thể được sửa đổi để làm việc với hệ điều hành khác với rất ít thay đổi. Các APIs được cung cấp bởi các module SLIP cũng được sử dụng giống như  MAC

  1.  Address Resolution Protocol

Lớp ARP của TCP / IP Stack được  thực hiện bởi hai mô lớp :ARP và ARPTask .ARP  thực hiện bởi các tập tin "ARP.c",  ARPTask thực hiện bởi các tập tin"ARPTsk.c" cung cấp hoàn thành dịch vụ ARP. ARPTask được thực hiện như một bộ máy tập hợp, đáp ứng yêu cầu ARP từ xa. Nó cũng duy trì một bộ nhớ cache một cấp để lưu trữ ARP trả lời và đưa một mức độ cao hơn  cho phù hợp với  các cuộc gọi. ARPTask là mốt cơ chế  không thực hiện thử lại. Do đó, các lớp trên hoặc các ứng dụng này phải phát hiện ra điều kiện thời gian và trả lời phù hợp.

ARPTask hoạt động ở hai chế độ: chế độ Server và Server / Client. Trong chế độ Server Client , một phần của mã được kích hoạt và biên soạn để tạo ARP yêu cầu từ các máy chủ địa phương riêng của mình. Trong chế độ Server, cácARP mã yêu cầu không được biên dịch. Thông thường, nếu TCP/IP Stack được sử dụng với các ứng dụng máy chủ (như HTTP Serverhoặc phục vụ FTP) r, ARPTask nên được biên soạn trong Server hình thức để giảm kích thước mã.Trình biên dịch xác định bao gồm STACK_CLIENT_MODE phần mã  khách hàng. Trong chế độ Server/ Client, ARPTask duy trì một bộ nhớ cache một cấp để lưu trữ các ARP trả lời của máy chủ từ xa. Khi Server / Client không được kích hoạt, bộ nhớ cache là không được định nghĩa và tương ứng với bộ nhớ RAM và bộ nhớ chương trình không được sử dụng.

  1. Internet Protocol (IP)

Lớp IP của TCP / IP Stack được thực hiện bởi các tập tin "IP.c". Các phần đầu tập tin "IP.h"xác định các dịch vụ được cung cấp bởi lớp này .Trong kiến trúc này, lớp IP là thụ động, nó không đáp ứng với các gói dữ liệu IP. Thay vào đó, lớp cao cấp sử dụng IP nguyên thủy và lấy các gói tin IP, giải mã nó và xủ lý một cách  thích hợp. Đặc điểm kỹ thuật IP này là  yêu cầu các máy chủ địa phương tạo ra một gói tin nhận dạng duy nhất cho mỗi gói tin truyền qua nó, nhận diện cho phép máy chủ từ xa xác định các gói tin trùng lặp và loại bỏ chúng.  Lớp IP của TCP / IP Stack duy trì một tư nhân16-bit biến để theo dõi các gói tin định danh.

  1. Internet Control Message Protocol (ICMP)

Lớp ICMP được thực hiện bởi các tập tin "ICMP.c".Các tập tin tiêu đề "ICMP.h" định nghĩa các dịch vụ được cung cấp bởi lớp này. Trong kiến trúc này, lớp ICMP là một lớp thụ động, nó không đáp ứng với các gói dữ liệu ICMP. Thay vào đó, lớp cao cấp sử dụng ICMP nguyên thủy và tìm nạp ICMP gói tin, giải thích nó và xử lý cho thích hợp.

Thông thường, ICMP được sử dụng để gửi và nhận lỗi hoặc thăm dò tin nhắn. Trong TCP / IP Stack,ICMP  thực hiện nguyên thủy có thể được sử dụng để tạo ra bất kỳ thông điệp ICMP. Trong nhữnng ứng dụng, ICMP là hữu ích cho mục đích thăm dò .Khi được kích hoạt, ICMP có thể đáp ứng với "ping" các gói tin, do đó cho phép một máy chủ từ xa có thể  xác định máy chủ địa phương.
Các vi mạch lớp ICMP chỉ đáp ứng dữ liệu ping các dữ liệu lên đến 32 byte; gói tin lớn hơn sẽ được bỏ qua. Nếu ta muốn  xử lý các gói tin lớn hơn thì chỉ cần sửa đổi các trình biên dịch xác định MAX_ICMP_DATA_LEN (trong các tập tin tiêu đề "StackTsk.h")

  1. Transmission Control Protocol (TCP)

Lớp TCP của TCP / IP Stack được thực hiện bởi các tập tin "TCP.c". Các phần đầu tập tin "TCP.h"xác định các dịch vụ được cung cấp bởi lớp này . Trong kiến trúc cũa TCP/IP Stack , TCP là một lớp đa hoạt động. Nó có thể tìm TCP các gói dữ liệu và đáp ứng đến  các máy chủ từ xa theoTCP của  máy chủ quán lý. 

"TCP.h" cung cấp dịch vụ socket TCP và giấu tất cả TCP gói xử lý từ người gọi. Lớp này  cho phép 2-253 TCP socket, số lượng giới hạn bởi bộ nhớ và trình biên dịch được sử dụng. Với hơn một socket, các ứng dụng cấp cao hơn có thể duy trì đồng thời nhiều kết nối TCP và có thể có nhiều hơn một ứng dụng  được sử dụng lớp này. Cơ sở này rất hữu ích khi HTTP Server được sử dụng.  Mỗi socket tiêu thụ khoảng 36 bytes (kiểm tra tập tin nguồn cho thực tếtiêu thụ) và làm tăng thời gian. tổng thể chế biến TCP

Không giống như các giao thức TCP / IP , tất cả socket trong TCP / IP Stack chia sẻ một hoặc nhiều  hơn  một bộ đệm truyền. Cách tiếp cận này làm giảm tổng thể được yêu cầu RAM, nhưng nó có thể tạo ra một vấn đề khác, như tại  một vài socket không nhận đủ  bộ đệm truyền và không báo thới gia sử dụng các socket. Trong hoàn cảnh này các máy chủ và máy địa phương không thể liên lac với nhau . Để tránh điều này, người dùng phải đảm bảo rằng có đủ bộ đệm truyền cho tất cả các socket.

Về việc nhận dư liệu , chỉ có một bộ đệm được nhận . Nếu socket nhận được dữ liệu của nó, chủ sở hữu của socket đó phải tìm nạp và loại bỏ bộ đệm nhận trong một khoảng thời gian ngắn để các socket  khác có thể nhận dữ liệu của họ. Khi nó phát hiện  gói tin nó là quan tâm, nó phải xử lý  các gói hoàn chỉnh trong một thời gian ngắn. Nếu trong khoảng thời gian đó mà vân không lấy được gói tin thì nó sẽ đợi và lấy gói tin sau đó.

 Theo yêu cầu của TCP, mỗi phân đoạn TCP chứa một bộ kiểm tra bao gồm toàn bộ các giao thức TCP và cả khu vực dữ liệu. Để giảm bộ nhớ RAM, lớp TCP sử dụng trong bộ đệm MACNIC là lưu trữ và thực hiện các tính toán checksum MAC trong bộ đệm riêng của mình. Nếu NIC được sử dụng như là một MAC thì các SRAM NIC được sử dụng như một  bộ đệm không gian. Nhưng nếu là SLIP được sử dụng như là một MAC thì dữ liệu được lưu vào Ram nội.

Các lớp TCP của TCP/IP Stack thực hiện hầu hết các phần TCP máy nước chủ đề xuất bởi RFC793. Nó cũng thực hiện tự động và thử lại hẹn giờ hoạt động, trong đó người dùng có thể kích hoạt hoặc vô hiệu hóa bởi các biên dịch TCP_NO_WAIT_FOR_ACK định nghĩa thời gian. Khi việc gửi lại tự động được kích hoạt, mỗi socket truyền đệm được dành riêng cho đến khi nhận được một sự trả lởi  từ máy chủ là nhận được. Thiết kế này tạo ra hiệu quả một truyền cửa sổ của một trong những phân đoạn TCP. Vì vậy, dữ liệu thông qua sẽ thấp hơn đáng kể hơn trong chế độ "Không gửi lại". Nếu chỉ có các HTTP Server  được sử dụng, người sử dụng có thể vô hiệu hoá việc tự động gửi lại và tăng hiệu quả thông qua.Nếu việc áp dụng chính của logic yêu cầu mỗi gói sẽ được thừa nhận trước khi một cái mới có thể được truyền, người sử dụng nên cho phép chế độ "tự động gửi lại". Với tự động gửi lại được kích hoạt, một số các kết nối mở có thể không nhận phục vụ trên thời gian, và các máy chủ từ xa có thể được hưởng thời gian-outThiết lập lại hoặc sai sót.

  1. User Datagram Protocol (UDP)

Lớp UDP của TCP / IP Stack được thực hiện bởi các tập tin "UDP.c". Các phần đầu tập tin "UDP.h"xác định các dịch vụ được cung cấp bởi lớp này . Trong kiến trúc của TCP / IP Stack, UDP là một lớp đa hoạt động. Nó có thể tìm UDP các gói dữ liệu và thông báo cho UDP socket tương ứng của dữ liệu đến hoặc truyền tải điện.   

"UDP.h" cung cấp dịch vụ socket UDP và giấu tất cả Xử lý gói tin UDP từ người gọi. Lớp này  cho phép lên đến 254 UDP socket (số lượng giới hạn bởisẵn bộ nhớ và trình biên dịch được sử dụng). Với hơn một socket, các ứng dụng cấp cao hơn có thể duy trì Mul-tiple đồng thời kết nối UDP; có nhiều ứng dụng có thể được sử dụng lớp này. Mỗi socket tiêu thụ khoảng19 byte (kiểm tra "UDP.h" tập tin để tiêu thụ thực tế)và tăng thời gian xử lý tổng thể UDP.

Không giống như các giao thức TCP / IP , tất cả socket trong TCP / IP Stack chia sẻ một hoặc nhiều  hơn  một bộ đệm truyền. Cách tiếp cận này làm giảm tổng thể được yêu cầu RAM, nhưng nó có thể tạo ra một vấn đề khác, như tại  một vài socket không nhận đủ  bộ đệm truyền và không báo thới gia sử dụng các socket. Trong hoàn cảnh này các máy chủ và máy địa phương không thể liên lac với nhau . Để tránh điều này, người dùng phải đảm bảo rằng có đủ bộ đệm truyền cho tất cả các socket

  1. Dynamic Host Configuration Protocol (DHCP)

Lớp DHCP của TCP / IP Stack  được thực hiện bởi các tập tin "dhcp.c". Các phần đầu tập tin"dhcp.h" định nghĩa các dịch vụ được cung cấp bởi lớp này .DHCP là một lớp đang hoạt động mà chương trình phát sóng DHCP yêu cầu,  tự động nhận được và giải mã DHCP phản ứng. Các tính năng chính của nó bao gồm:

  • Cấu hình địa chỉ  IP,  địa chỉ gateway và subnet mask.
  •  DHCP tự động cho thuê thời gian, đổi mới và quản lý  việc cho thuê.
  •  Hoạt động hoàn toàn tự đông mà người sử dụng không cần cang thiệp.

Các module DHCP được thực hiện như một khối thống nhất có nhiệm vụ  thực hiện các hoạt động tự động mà không có kiến thức về các ứng dụng chính. Các DHCP thực tế hội nhập và kiểm soát được thực hiện bởi các quản lý Stack; nó xử lý tất cả các hoạt động cần thiết của nó như một phần của tiêu chuẩn nhiệm vụ, bằng cách sử dụng API DHCP để kiểm soát các module của hành vi. Người dùng không cần biết về DHCP để sử dụng nó.

Một ứng dụng người dùng cũng có thể chọn để gọi một số các API để trực tiếp kiểm soát DHCP hoạt động, chẳng hạn như liệu DHCP được cấu hình hay không, và liệu DHCP có vĩnh viễn ngừng hoạt động. Thông thường, ứng dụng của người dùng không cần trực tiếp tương tác với DHCP .Để sử dụng module DHCP, người sử dụng  phải sử dụng các tap tin sau:

            1. Bỏ ghi chú “STACK_USE_DHCP “trong tiêu đề tập tin "StackTsk.h".

2. Phả có hai tập tin”dhcp.c " và "udp.c"  trong dự án.

3. Tăng MAX_UDP_SOCKETS  lên  một (ít nhất một UDP socket phải có   sẵn cho DHCP điều chỉnh số lượng socket dựa trên UDP và DHCP).

Khi DHCP được thực hiện, ứng dụng người dùng phải cố gắng truyền thông mạng cho đến khi DHCP được cấu hình đúng. Thông thường, nếu một ứng dụng người dùng có chứa các ứng dụng một hoặc nhiều khách hàng có yêu cầu thông tin liên lạc trên điện-up hoặc thiết lập lại, việc áp dụng phải kiểm tra xem DHCP được cấu hình trước khi truyền tải dữ liệu bằng cách sử dụng các mô-đun lớp thấp hơn .Điềuu này có thể được thực hiện với chức năng DHCPIsBound.

Đặc điểm kỹ thuật chính thức DHCP (RFC1541) là  đòi hỏi các khách hàng DHCP phải làm mới cấu hình IP trước khi cho thuê thời gian. Để theo dõi thời gian thuê, người sử dụng phải chắc chắn rằng TickUpdate () được gọi theo yêu cầu, và đó chính xác là thời gian hợp lý duy trì (xem mã nguồn tập tin "websrvr.c"cho một ví dụ làm việc). Độ phân giải thời gian cần thiết là15 phút, cộng hoặc trừ, có nghĩa là TickUpdate () có thể được gọi là một ưu tiên rất thấp.Đối với các module DHCP điều tự động  cập nhật cấu hình địa chỉ và subnet mask, phải có ít nhất một DHCP server trên mạng. Đó là trách nhiệm của người sử dụng để thực hiện một số phương pháp cho "xuất bản" các cấu hình lại cho người sử dụng tiềm năng. Gồm có nhiều tùy chọn tự việc đọc thông tin đến việc hiển thị ttrên mỗi nút, để lưu trữ thông tin trong một máy chủ trung tâm DHCP ta chỉ cần cập nhật kết quả các giá trị của MY_IP_BYTE?,MY_GATE_BYTE? và MY_MASK_BYTE? 

  1. IP Gleaning for IP Address Configuration

Như là một thay thế DCHP, TCP / IP Stack cũng thực hiện một phương pháp đơn giản, được gọi là IP Gleaning, từ xa thiết lập địa chỉ IP của TCP / IP Stack . Phương pháp này không phải là một giao thức Internet chuẩn, và không có tương ứng với RFC. Gleaning IP chỉ cho phép địa chỉ IP được thiết lập .Đối với cấu hình IP hoàn tất, DCHP phải được sử dụng.

Gleaning IP không cần bất kỳ phần mềm trên module. Thay vào đó, nó sử dụng module ICMP ARP. Để sử dụng nó, tập tin "icmp.c" phải được khai báo , và trình biên dịch xác địnhS TACK_USE_IP_GLEANING  ghi chu ben trong tập tinh StackTsh.h

  1. HTTP SERVER

HTTP Server  kèm theo  ứng dụng được thực hiện như một khối thống nhất  tồn tại với các vi mạch TCP / IP Stack và ứng dụng chính của người dùng. Các  HTTP Server chính nó được thực hiện tại tập tin "HTTP.c", với một ứng dụng người dùng

..........................................

TỔNG KẾT

Sau 4 tuần nghiên cứu và thực hiện với nhiều nỗ lực và cố gắng của nhóm thực  hiện  đề  tài cùng với sự hướng dẫn tận tình của thầy Trương Quang Trung, quyển đồ án này đã hoàn thành với những nội dung như sau:

  1. CÁC VẤN ĐỀ ĐÃ ĐƯỢC GIẢI QUYẾT TRONG ĐỒ ÁN:
  1. Các vấn đề đã nghiên cứu:

- Nghiên cứu vi điều khiển PIC 16F877A và Pic 18F4680.

- Nghiên cứu cách quét led ma trận.

- Tìm hiểu Bộ thư viện TCP/IP Stack của Microchip.

- Nghiên cứu module Ethernet sư dụng chíp ENC28J60 của Microchip.

- Thiết kế và thi công  mô hình một bảng quang báo.

  1. Các vấn đề đã thực hiện:

- Lập trình điều khiển vi điều khiển PIC 16F877A và Pic 18F4680 bằng ngôn ngữ CCS.

- Lập trình điều khiển led ma trận theo cách quét cột.

  1. Thi công mạch

Nhóm đã thi công xong các mạch sau:

- Mạch điều khiển.

- Mạch Giao tiếp Ethernet.

- Mạch hiển thị .

- Mạch nguồn.

  1. ƯU VÀ NHƯỢC ĐIỂM CỦA THI CÔNG MẠCH:
  1. Ưu điểm:

Chữ hiển thị rõ ràng, tốc độ di chuyển vừa phải.

Mạch hoạt động ổn định trong thời gian dài.

Thay đổi được dữ liệu hiện thị một cách linh hoạt, có thể ngồi ở bất cứ đâu có mạng internet để điều khiển.

  1. Nhược điểm

- Sau khi nhìn nhận lai, với mô hình đề tài này khi đưa vào sử dụng thực tế mạng internet, sẽ gặp phải những khó khăn trong việc xây dựng hệ thống bảo mật, chống phá hoại và thâm nhập trái phép. Để khắc phục những nhược điểm trên thì phải thiết kế một hệ thống khá đắt tiền và đòi hỏi phần mềm tại server khá phức tạp.

- Do ENC28J60 hoạt động ở tốc độ cao (10Mps) nên đôi khi mạch bị nhiễu.

- Do bộ nhớ ROM có dung lượng nhỏ nên muốn lưu nhiều  font chữ thì phải thay đổi ROM có dung lượng lớn hơn.

  1. Các phương hướng phát triển đề tài

- Tăng kích thước của mạch quang báo cho phù hợp với thực tế sử dụng.

- Sử dụng nhiều font chữ để làm phong phú hơn bảng quang báo.

            - Mặt khác đề tài là nền cho sự phát triển và ứng dụng của công nghệ điều khiển từ xa thông qua mạng internet, có thể ứng dụng cho nhiều mục đích khác như cảnh báo, giám sát, điểu khiển thiết bị trong mang nội bô, mạng internet…

KẾT LUẬN:

Đề tài: “QUANG BÁO ĐIỀU KHIỂN QUA INTERNET”. Đề tài đã  trình  bày được  nguyên tắc hoạt động cơ bản của mạch quang báo đươc điều khiển qua internet, giới thiệu về cách sử dụng cũng như sơ đồ chân, sơ đồ nội bộ của các IC số dùng trong mạch.

Nhóm thực hiện đề tài xin chân thành cảm ơn quý thầy cô cùng các bạn sinh viên, đã đóng góp rất nhiều ý kiến, công sức quý báu trong quá trình nhóm thực hiện đề tài này.

 Đặc biệt, chúng em xin cảm ơn thầy Trương Quang Trung đã nhiệt tình hướng dẫn, chỉ bảo những kinh nghiệm, kiến thức thực tế để đề tài được hoàn thành đúng thời gian quy định

Tuy  nhiên, do còn hạn chế về thời gian và trình độ nên đề tài không tránh khỏi nhiều sai sót, nhóm rất mong  nhận được sự đóng góp ý kiến chân tình của quý thầy cô và các bạn để đề tài được hoàn chỉnh hơn.

TÀI LIỆU THAM KHẢO

Các giáo trình:

===================================

[1]       Giáo trình học tập môn Vi Xử Lý –PIC16F877A

[2]       Giáo trinh học tập môn Kỹ Thuật Số

[3]       Giáo trình học tập môn Kỹ Thuật Truyền Số Liệu

[4]       Giáo trình học tập môn Mạch điện tử

[5]       Giáo trình học tập môn Linh Kiện Điện Tử.

Các Website:

===================================

[1]       www.picvietnam.net

[2]       www.Microchip.com

[3]       www.diendandientu.net

           [4]        www.datasheet4u.com

            [5]       www.dientuvietnam.net

     

 

 

 

Close