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

Điều khiển thiết bị và thu thập dữ liệu qua mạng ETHERNET

67 1,5K 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 67
Dung lượng 1,23 MB
File đính kèm PCB_Code.rar (356 KB)

Nội dung

Chương 1: Tổng quan về đồ án Cho ta hình dung khái quát về hệ thống, từ đó dễ dàng trong việc triển khai chi tiết các khối chức năng về phần cứng cũng như phần mềm Đặt vấn đề. Hiện nay, có nhiều phương pháp kết nối máy tính với các thiết bị điều khiển như thực hiện việc kết nối theo chuẩn RS232, RS485 rất phổ biến, tuy nhiên khi thực hiện việc kết nối các theo chuẩn này gặp phải một số vấn đề cơ bản sau:  Khoảng cách kết nối giữa máy tính với thiết bị điều khiển khoảng 3040m.  Tốc độ truyền thông của RS232 chỉ khoảng 19.2kBd.  Ghép nối điểmđiểm. Những nhược điểm của các phương pháp giao tiếp trên cũng chính là những ưu điểm của mạng Ethernet. Với những lợi thế của mình, mạng Ethernet đã trở thành mạng phổ biến nhất trong các hệ thống nhà máy công nghiệp Vì vậy, để có thể hiểu rõ thêm về mạng Enthernet trong đo lường và điều khiển nên đề tài “Thu thập dữ liệu và điều khiển thiết bị qua mạng Ethernet” đã được thực hiện. Đã có nhiều đề tài điều khiển thiết bị qua mạng,nhưng hạn chế đó là phải sử dụng 1 máy tính làm sever kết nối với mạch điều khiển qua chuẩn RS232,hoạt động 2424h gây tốn kém và cồng kềnh. Để giải quyết vấn đề này trong đề tài này em đã dùng vi điều khiển ENC28J60 kết nối với vi điều khiển trung tâm qua kết nối chuẩn SPI. ENC28J60 đóng vi trò như 1 card mạng trên máy tính. Vi điều khiển trung tâm phải có tần số hoạt động cao,ổn định vì để có thể giao tiếp với ENC28J60 hoạt động với tần số 25MHz.Vì vậy em đã chọn vi điều khiển 18F4550 để thực hiện. Trên máy tính cần có 1 phần mềm để thu thập dữ liệu và điều khiển thiết bị.Ta có thể lập trình bằng nhiều chương trình khác nhau như Delphi,Java,C++,C…Vì đã có ít kiến thức về lập trình C nên em đã chọn lập trình C với phần mềm Visual Studio 2010. Microsoft Visual Studio 2010 cung cấp các gói công cụ mạnh mẽ trong việc lập trình các giao diện desktop tốc độ cao và đơn giản.Công cụ C đem lại hình ảnh trực quan với các giao diện desktop quen thuộc như button , textbox , radio button … với cơ sở liên kết dữ liệu chặt chẽ.

Trang 1

Lời cam đoan :

Tôi Trần Tuấn Nam xin cam đoan nội dung của đồ án này không phải là bản sao

chép của bất cứ đồ án hoặc công trình đã có từ trước

Sinh Viên

Trần Tuấn Nam

Trang 2

MỤC LỤC

MỤC LỤC HÌNH

Hình 2.1: Khung truyền 10

Hình 2.2: Ethernet/IEE 802.3 trong tập chuẩn IEEE 802 11

Hình 2.3: Minh họa phương pháp CSMA/CD 14

Hình 2.4: Kiến trúc giao thức TCP/IP 19

Hình 2.5: Lớp dữ liệu trong gói liên kết 21

Hình 2.6: Tổ chức địa chỉ IP 22

Hình 2.7: Mạng và mặt nạ 23

Hình 2.8 Sơ đồ chân PIC 18F4550 27

Hình 2.9: Thanh ghi SSPCON1 28

Hình 2.10: Thanh ghi SSPSTAT 28

Hình 2.11: Kết nối Master và Slave 29

Hình 2.18: S ơ đồ kết nối với vi điều khiển 34

Hình 2.19: DS18B20 hoạt động với nguồn ngoài 34

Hình 2.20: DS18B20 hoạt động với nguồn ký sinh 34

Hình 2.21: Thanh ghi nhiệt độ 35

Hình 2.22: Bộ nhớ của DS18B20 36

Hình 2.23: Th ời gian khởi tạo 38

Hình 2.23: Th ời gian khởi tạo 39

Hình 3.1 Sơ đồ khối 40

Hình 3.2 Sơ đồ kết nối chân DS18B20 41

Hình 3.3 Sơ đồ vi điều khiển 18F4550 42

Hình 3.4 Sơ đồ khối mạch công suất 42

Hình 3.5 Sơ đồ kết nối vi điều khiển ENC28J60 với cổng RJ45 43

Hình 3.6 Sơ đồ khối LCD16x2 43

Hình 3.7 Sơ đồ khối nguồn 44

Trang 3

Hình 3.8 Sơ đồ nguyên lý 44

Hình 3.9 Sơ đồ mạch in 44

Hình 4.1 Khối mạch thi công 48

Hình 4.2 Ping tới mạch điều khiển 48

Hình 4.3 Giao diện phần mềm 49

MỤC LỤC BẢNG

Bảng 2.1: Một số loại cáp tryền Ethenet thông dụng 11

Bảng 2.2: Mối quan hệ nhiệt độ/dữ liệu 35

Bảng 2.3: Trình tự giao tiếp với 1 DS18B20 37

Bảng 2.4: Trình t ự giao tiếp với nhiều DS18B20 38

Trang 4

Lời nói đầu

Internet ngày nay đã trở thành một công cụ hiệu quả trong tất cả các lĩnh vực đờisống xã hội, việc kết nối giữa các máy tính đã trở nên dễ dàng rất nhiều Với mongmuốn xây dựng một phương thức kết nối giữa máy tính và thiết bị điều khiển theochuẩn Ethernet nhằm mục đích nâng cao kiến thức thực tiễn,em đã được sự giúp đỡcủa thầy giáo - ThS Hoàng Minh Huy, đã tiến hành nghiên cứu, xây dựng mạchthiết bị điều khiển tích hợp giao diện truyền thông Ethernet

Em xin chân thành cảm ơn thầy giáo - ThS Hoàng Minh Huy đã tận tình hướngdẫn, giúp đỡ chúng em hoàn thành đồ án này Em cũng xin cảm ơn các bộ môn liênquan đã tạo điều kiện thuận lợi trong quá trình chúng em thực hiện đồ án

Trang 5

CHƯƠNG 1 : MỤC TIÊU VÀ NHIỆM VỤ CỦA ĐỀ TÀI

Giới thiệu chương 1

Chương 1 cho ta cái nhìn tổng quan về hệ thống và phương pháp xây dựng đồ án

Mạng Ethernet công nghiệp đã và đang có những bước phát triển nhanh chóng, sẽdần thay thế các mạng công nghiệp truyền thống khác Các nhà máy sản xuất côngnghiệp cũng nhận thấy những lợi ích của Ethernet công nghiệp trong việc nâng caohiệu quả sản xuất,đơn giản hóa quản lý và tích hợp thông tin giữa sản xuất và quản

lý dễ dàng

Ngày nay, với sự phát triển nhanh chóng của thiết bị điện- điện tử, việc giao tiếp vớimáy tính là hết sức cần thiết Điều này không những tận dụng được tài nguyên, khảnăng xử lý của máy tính mà còn giúp người sử dụng có thể theo dõi các đối tượnglàm việc phía dưới

Hiện nay, có nhiều phương pháp kết nối máy tính với các thiết bị điều khiển nhưthực hiện việc kết nối theo chuẩn RS232, RS485 rất phổ biến, tuy nhiên khi thựchiện việc kết nối các theo chuẩn này gặp phải một số vấn đề cơ bản sau:

 Khoảng cách kết nối giữa máy tính với thiết bị điều khiển khoảng 40m

30- Tốc độ truyền thông của RS232 chỉ khoảng 19.2kBd

 Ghép nối điểm-điểm

Những nhược điểm của các phương pháp giao tiếp trên cũng chính là những ưuđiểm của mạng Ethernet Với những lợi thế của mình, mạng Ethernet đã trở thànhmạng phổ biến nhất trong các hệ thống nhà máy công nghiệp

Để có thể kết nối thiết bị điều khiển với máy tính theo chuẩn Ethernet, chúng em đãthực hiện đề tài này

Trang 6

1.2 Mục tiêu của đề tài

Thực hiện việc kết nối thiết bị điều khiển với PC thông qua mạng Ethernet Qua đó,thực hiện việc trao đổi dữ liệu, thực hiện một số ứng dụng cụ thể như : thu thập hiểnthị nhiệt độ; điều khiển, hiển thị tốc độ động cơ dùng Ethernet…

1.3 Nhiệm vụ của đề tài

Để thực hiện được mục tiêu của đề tài, nhiệm vụ cần đặt ra là :

1. Thiết kế mạch phần cứng thiết bị điều khiển

2. Xây dựng phần mềm giao diện Ethernet

Thiết kế phần mềm giao diện trên PC giúp người sử dụng thực hiện đặt các giá trịđặt và theo dõi trạng thái đối tượng bên dưới

Từ đó,đồ án “Điều khiển thiết bị và thu thập dữ liệu qua mạng Ethernet” đã

được thực hiện và gồm 4 chương chính:

CHƯƠNG 1: MỤC TIÊU VÀ NHIỆM VỤ CỦA ĐỀ TÀI

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

CHƯƠNG 3: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG

CHƯƠNG 4: KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN ĐỒ ÁN

Tổng kết chương 1:

Qua chương 1 ta có thể hình dung khái quát về hệ thống ,từ đó dễ dàng trong việctriển khai chi tiết các khối chức năng về phần cứng cũng như phần mềm Đồng thờinhờ nghiên cứu cụ thể phương pháp thực hiện, nên tính định hướng của đồ án sẽ rất

rõ ràng

Trang 7

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

Giới thiệu chương 2:

Chương 2 giới thiệu về những kiến thức làm nền tảng để thực hiện đồ án

2.1 Tổng quan về mạng Ethenet

2.1.1 Giới thiệu

Ethernet là kiểu mạng cục bộ (LAN) được sử dụng rộng rãi nhất hiện nay Thựcchất, Ethernet chỉ là mạng cấp dưới (lớp vật lý và một phần lớp liên kết dữ liệu), vìvậy có thể sử dụng các giao thức khác nhau ở phía trên, trong đó TCP/IP là tập giaothức được sử dụng phổ biến nhất Tuy vậy, mỗi nhà cung cấp sản phẩm có thể thựchiện giao thức riêng hoặc theo một chuẩn quốc tế cho giải pháp của mình trên cơ sở

Ethernet High Speed Ethernet (HSE) của Fieldbus Foundation chính là một trong

tám hệ bus trường được chuẩn hóa quốc tế theo IEC 61158

Ethernet có xuất xứ là tên gọi một sản phẩm của công ty Xerox, được sử dụng đầutiên vào năm 1975 để nối mạng 100 trạm máy tính với cáp đồng trục dài 1km, tốc

độ truyền 2,94 Mbit/s và áp dụng phương pháp truy nhập bus CSMA/CD Từ sựthành công của phương pháp này, Xerox đã cùng DEC và Intel đã xây dựng mộtchuẩn 10 Mbit/s- Ethernet Chuẩn này chính là cơ sở cho IEEE 802.3 sau này Đặcbiệt, với phiên bản 100 Mbit/s (Fast Ethernet, IEEE 802.3u), Ethernet ngày càngđóng một vai trò quan trọng trong các hệ thống công nghiệp Bên cạnh việc sử dụngcáp đồng trục, đôi dây xoắn và cáp quang, gần đây Ethernet không dây (WirelessLAN, IEEE 802.11) cũng đang thu hút được sự quan tâm lớn

2.1.2 Khung truyền

Một frame của Ethernet bao gồm các phần sau:

 Tất cả các byte đều có giá trị 10101010

 Được dùng để đồng bộ đồng hồ giữa nơi nhận và gửi frame

Ethernet frame)

 Byte này có giá trị 10101011

 Được dùng để đánh dấu bắt đầu một frame

Trang 8

 Tuy vậy, không có end-frame-delimieter cho Ethernet frame Việcthêm bit/byte (stuffing) cũng không được sử dụng cho các bit thông tin Kết thúccủa một frame được phát hiện bằng việc sử dụng tín hiệu vật lý.

Hình 2.1: Khung truyền

 Đây là địa chỉ MAC của Ethernet card của nơi đến

 Ý nghĩa của bit thấp nhất (least-significant bit) xác định 6 bytes này:

 Ở chế độ hoạt động bình thường, Ethernet chỉ tiếp nhận những frame

có địa chỉ nơi đến trùng với địa chỉ (duy nhất) của nó, hoặc địa chỉ nơi đến thểhiện một thông điệp quảng bá Tuy vậy, hầu hết các Ethernet card đều có thểđược đặt ở chế độ "promiscuous" Trong chế độ này, nó sẽ nhận tất cả các framexuất hiện trong mạng LAN

 Đây là địa chỉ MAC của Ethernet card nguồn

 Có hai loại cấu trúc Ethernet frame

- Dùng để chỉ độ dài của Ethernet frame

• DIX Ethernet: Được công bố bởi DEC, Intel và Xeror vào năm

1980 (phổ biến hơn)

Trang 9

- Dùng để chỉ giao thức của lớp phía trên

 Do kích thước frame tối thiều là 64 bytes, kích thước tối thiểu củaphần thông tin là 64-18=46 bytes (18 bytes thông tin điều khiển)

 Kích thước phần thông tin tối đa là 1500 bytes Do đó, kích thước gói

IP trong Ethernet tối đa là 1500 bytes, đây cũng là một trong ba kích thước gói

IP thông dụng nhất (40, 576, 1500)

 Chứa mã kiểm tra CRC 32 bits

2.1.3 Kiến trúc giao thức

Kiến trúc giao thức của Ethernet theo chuẩn IEEE 802.3 chỉ bao gồm lớp vật lí vàlớp MAC (Medium Access Control, lớp điều khiển truy nhập môi trường)

Hình 2.2: Ethernet/IEE 802.3 trong tập chuẩn IEEE 802.

2.1.4 Cấu trúc mạng và kỹ thuật truyền dẫn

Về mặt logic, Ethernet có cấu trúc bus Cấu trúc mạng vật lí có thể là đường thẳnghoặc hình sao tùy theo phương tiện truyền dẫn Bốn loại cáp thông dụng nhất : cápđồng trục dầy, cáp đồng trục mỏng, cáp đôi dây xoắn, cáp quang

Tên hiệu Loại cáp Chiều dài tối đa Số trạm tối đa

Trang 10

Loại 10BASE5 còn được gọi là cáp dầy ( thick Ethernet), loại cáp đồng trục thường

có màu vàng Kí hiệu 10BASE5 có nghĩa là tốc độ truyền tối đa 10Mbit/s, phươngpháp truyền tải dải cơ sở và chiều dài một đoạn mạng tối đa 500m Loại cáp đồngtrục thứ hai có kí hiệu 10BASE2 được gọi là cáp mỏng ( thin Ethernet), rẻ hơnnhưng hạn chế một đoạn mạng ở phạm vi 200m và số lượng 30 trạm

Với 10BASE5, bộ nối được gọi là vòi hút ( vampire tap), đóng vai trò một bộ thuphát ( transceiver ) Bộ thu phát chứa vi mạch điện tử thực hiện chức năng nghengóng đường truyền và nhận biết xung đột Trong trường hợp xung đột được pháthiện, bộ thu phát gửi một tín hiệu không hợp lệ để tất cả các bộ thu phát khác cũngnhận biết được rằng xung đột đã xảy ra Như vậy, chức năng của module giao diệnmạng được giảm nhẹ Cáp nối giữa bộ thu phát và card giao diện mạng được gọi làcáp thu phát, có thể dài tới 50m và chứa tới năm đôi dây xoắn bọc lót riêng biệt( STP) Hai đôi dây cần cho trao đổi dữ liệu, hai đôi cho truyền tín hiệu điều khiển,còn đôi dây thứ năm có thể sử dụng để cung cấp nguồn cho bộ thu phát Một số bộthu phát cho phép nối tới tám trạm qua các cổng khác nhau, nhờ vậy tiết kiệm được

số lượng bộ nối cũng như công lắp đặt

Với 10BASE2, card giao diện mạng được nối với cáp đồng trục thông qua bộ nốithụ động BNC hình chữ T Bộ thu phát được tích hợp trong bảng mạch điện tử củamodule giao diện mạng bên trong máy tính Như vậy, mỗi trạm có một bộ thu phátriêng biệt

Về bản chất, cả hai kiểu dây với cáp đồng trục như nói trên đều thực hiện cấu trúcbus

( vật lí cũng như logic), vì thế có ưu điểm là tiết kiệm dây Tuy nhiên, các lỗi phầncứng như đứt cáp, lỏng bộ phận nối rất khó phát hiện trực tuyến Mặc dù đã có một

số biện pháp khắc phục, phương pháp tin cậy hơn là sử dụng cấu trúc hình sao vớimột bộ chia ( hub) hoặc một bộ chuyển mạch ( switch ) Cấu trúc này thông thườngđược áp dụng với cáp đôi dây xoắn, nhưng cũng áp dụng được với cáp đồng trục( ví dụ Industrial Ethernet)

Đa số cấu hình mạng Ethernet có kết nối với thiết bị điều khiển thường sử dụngchuẩn chung 10BASE-T Trong mạng này các trạm được nối với nhau qua một bộchia giống như cách nối các mạng điện thoại

Ưu điểm của cấu trúc này là việc bổ xung hoặc tách một trạm ra khỏi mạng cũngnhư việc phát hiện cáp truyền rất đơn giản

Trang 11

Nhược điểm có thể thấy rõ nhất đó là tốn dây dẫn và công đi dây cũng như chi phícho bộ chia chất lượng cao cũng là một vấn đề Bên cạnh đó, khoảng cách tối đacho phép từ một trạm tới bộ chia thường bị hạn chế trong vòng 100 – 150m.

Bên cạnh cáp đồng trục và cáp đôi dây xoắn thì cáp quang cũng được sử dụng nhiềutrong Ethernet, trong đó đặc biệt là 10BASE-F Với cách ghép nối duy nhất là điểm– điểm, cấu trúc mạng có thể là daisy-chain, hình sao hoặc hình cây Thông thường,chi phí cho các bộ nối và chặn đầu cuối rất lớn nhưng khả năng kháng nhiễu tốt vàtốc độ truyền cao lá các yếu tố quyết định trong nhiều phạm vi ứng dụng

Trong nhiều trường hợp, ta có thể sử dụng phối kết hợp nhiều loại trong một mạngEthernet Ví dụ, cáp quang hoặc cáp đồng trục dầy có thể sử dụng là đường trụcchính hay xương sống ( backbone ) trong cấu trúc cây, với các đường nhánh là cápmỏng hoặc đôi dây xoắn Đối với mạng quy mô lớn, có thể sử dụng các bộ lặp,nhưng đường dẫn giữa hai bộ thu phát không được phép dài quá 2,5km cũng nhưkhông đi qua quá bốn bộ lặp

2.1.5 Cơ chế giao tiếp

Sự phổ biến của Ethernet có được là nhờ tính năng mở Thứ nhất, Ethernet chỉ quiđịnh lớp vật lí và lớp MAC, cho phép các hệ thống khác nhau tùy ý thực hiện cácgiao thức và dịch vụ phía trên Thứ hai, phương pháp truy nhập bus ngẫu nhiênCSMA/CD không yêu cầu các trạm tham gia phải biết cấu hình mạng, vì vậy có thể

bổ xung hay tách một trạm ra khỏi mạng mà không ảnh hưởng tới các phần còn lại.Thứ ba, việc chuẩn hóa sớm trong IEEE 802.3 giúp cho các nhà cung cấp sản phẩmthực hiện dễ dàng hơn

Trong một mạng Ethernet, không kể tới bộ chia hoặc bộ chuyển mạch thì tất cả đều

có vai trò bình đẳng như nhau Mỗi trạm có một địa chỉ Ethernet riêng biệt và thốngnhất Việc giao tiếp giữa các trạm thông qua giao tiếp phía trên ví dụ NetBUI,IPX/SPX hoặc TCP/IP Tùy theo giao thức cụ thể, căn cước của bên gửi và bênnhận trong một bức điện của lớp phía trên sẽ được dịch sang địa chỉ Ethernet trướckhi được chuyển xuống lớp MAC

Bên cạnh cơ chế giao tiếp tay đôi, Ethernet còn hỗ trợ phương pháp gửi thông báođồng loạt ( multicast và broadcast ) Một thông báo multicast được gửi tới một

nhóm các trạm, trong khi một thông báo broadcast gửi tới tất cả các trạm.

2.1.6 Truy nhập bus

Một vấn đề lớn thường gây lo ngại trong việc sử dụng Ethernet ở cấp trường là

phương pháp truy nhập bus ngẫu nhiên CSMA/CD ( Carrier Sense Multiple Access

Trang 12

with Collision Avoidance ) và sự ảnh hưởng tới hiệu suất cũng như tính năng thời

gian thực của hệ thống Ở đây, một trong những yếu tố quyết định tới hiệu suất của

hệ thống là thuật toán tính thời gian truy nhập lại cho các trạm trong trường hợp xảy

ra xung đột

Hình 2.3: Minh họa phương pháp CSMA/CD.

Nguyên tắc làm việc phương pháp CSMA/CD

Theo phương pháp CSMA/CD, mỗi trạm đều có quyền truy nhập bus mà không cầnmột sự kiểm soát nào Phương pháp được tiến hành như sau:

Mỗi trạm đều phải tự nghe đường dẫn ( carrier sense), nếu đường dẫn rỗi

( không có tín hiệu ) thì mới được phát

• Do việc lan truyền tín hiệu cần một thời gian nào đó, nên vẫn có khả nănghai trạm cùng phát tín hiệu lên đường dẫn Chính vì vậy, trong khi phát thì mỗitrạm vẫn phải nghe đường dẫn để so sánh tín hiệu phát đi với tín hiệu nhận được

xem có xảy ra xung đột hay không ( collision detection).

• Trong trường hợp xảy ra xung đột, mỗi trạm đều phải hủy bỏ bức điện của

mình, chờ một thời gian ngẫu nhiên và thử gửi lại.

Một tình huống xảy ra xung đột tiêu biểu và cách khắc phục được minh họa trên

Trang 13

trước Trong khi tín hiệu từ trạm A gửi đi chưa kịp tới nên trạm C không hay biết vàcũng gửi, gây ra xung đột tại một điểm gần C A và C sẽ lần lượt nhận được tín hiệuphản hồi, so sánh với tín hiệu gửi đi và phát hiện xung đột Cả hai trạm sẽ cùng phảihủy bỏ bức điện đã gửi đi bằng cách không phát tiếp, các trạm muốn nhận sẽ khôngnhận được cờ hiệu kết thúc bức điện và sẽ coi như bức điện không hợp lệ A và Ccũng có thể gửi đi một tín hiệu “ jam” đặc biệt để báo cho các trạm cần nhận biết.Sau đó mỗi trạm sẽ chờ một thời gian chờ ngẫu nhiên, trước khi thử phát lại Thờigian chờ ngẫu nhiên ở đây tuy nhiên phải được tính theo một thuật toán nào đó đểsao cho thời gian chờ ngắn một cách hợp lí và không giống nhau giữa các trạm cùngchờ Thông thường thời gian chờ này là bội số của hai lần thời gian lan truyền tín

hiệu Ts.

Ưu điểm của CSMA/CD là tính chất đơn giản, linh hoạt Khác với các phương pháptiền định, việc ghép thêm hay bỏ đi một trạm trong mạng không ảnh hưởng gì tớihoạt động của hệ thống Chính vì vậy, phương pháp này được áp dụng rộng rãitrong mạng Ethernet

Nhược điểm của CSMA/CD là tính chất bất định của thời gian phản ứng Các trạmđều bình đẳng như nhau nên quá trình chờ ở một trạm có thể lặp đi lặp lại, khôngxác định được tương đối chính xác thời gian Hiệu suất sử dụng đường truyền vì thếcũng thấp Rõ ràng, nếu như không kết hợp thêm với các kỹ thuật khác thì phươngpháp này không thích hợp với các cấp thấp, đòi hỏi trao đổi dữ liệu định kỳ, thờigian thực

Điều kiện ràng buộc

Khả năng thực hiện phương pháp CSMA/CD bị hạn chế bởi một điều kiện ràngbuộc giữa chiều dài dây dẫn, tốc độ truyền thông và chiều dài bức điện Chỉ khi mộttrạm phát hiện được xung đột xảy ra trong khi bức điện chưa gửi xong mới có khảnăng hủy bỏ bức điện ( có thể chỉ đơn giản bằng cách không gửi tiếp cờ hiệu kếtthúc) Còn nếu bức điện đã được gửi đi xong rồi mới phát hiện xảy ra xung đột thì

đã quá muộn, một trạm khác có thể đã nhận được và xử lí bức điện với nội dung sailệch

Trong trường hợp xấu nhất hai trạm cùng gửi thông tin có thể ở hai đầu của dâydẫn, trạm thứ hai chỉ gửi bức điện trước khi tín hiệu từ trạm thứ nhất tới một chút.Tín hiệu bị xung đột xảy ra ở đây phải mất thêm một khoảng thời gian nữa đúng

bằng thời gian lan truyền tín hiệu Ts mới quay trở lại tới trạm thứ nhất Như vậy

Trang 14

điều kiện thực hiện phương pháp CSMA/CD là thời gian gửi một bức điện phải lớnhơn hai lần thời gian lan truyền tín hiệu, tức :

( Chiều dài bức điện n/ Tốc độ truyền v) > 2Ts

0 hoặc 1 lần khe thời gian chờ trước khi thử gửi lại Nếu hai trạm ngẫu nhiên cùngchọn một khoảng thời gian, hoặc có sự xung đột với một trạm thứ ba, thì số khe thời

gian lựa chọn chờ sẽ là 0, 1, 2 hoặc 3.Sau lần xung đột thứ i , số khe thời gian chọn

ngẫu nhiên nằm trong khoảng từ 0 tới 2

i

-1 Tuy nhiên, sau mười lần xung đột, sốkhe thời gian chờ tối đa sẽ được giữ lại ở con số 1023 Sau 16 lần xung đột liên tiếp,các trạm sẽ coi là lỗi hệ thống và báo trở lại lớp giao thức phía trên Thuật toán nổi

tiếng này được gọi là Binary Exponential Backoff (BEB).

2.1.7 Chuẩn IEEE 802

IEEE 802 là họ các chuẩn IEEE dành cho các mạng LAN và mạng MAN

(metropolitan area network) Cụ thể hơn, các chuẩn IEEE 802 được giới hạn cho

các mạng mang các gói tin có kích thước đa dạng (Khác với các mạng này, dữ liệutrong các mạng cell-based được truyền theo các đơn vị nhỏ có cùng kích thướcđược gọi là cell Các mạng Isochronous, nơi dữ liệu được truyền theo một dòng liêntục các octet, hoặc nhóm các octet, tại các khoảng thời gian đều đặn, cũng nằmngoài phạm vi của chuẩn này) Con số 802 chỉ đơn giản là con số còn trống tiếptheo mà IEEE có thể dùng, đôi khi "802" còn được liên hệ với ngày mà cuộc họpđầu tiên được tổ chức –tháng 2 năm 1980

Trang 15

Các dịch vụ và giao thức được đặc tả trong IEEE 802 ánh xạ tới hai tầng thấp (tầngliên kết dữ liệu và tầng vật lý của mô hình 7 tầng OSI Thực tế, IEEE 802 chia tầngliên kết dữ liệu OSI thành hai tầng con LLC (điều khiển liên kết lôgic) và MAC(điều khiển truy nhập môi trường truyền), do đó các tầng này có thể được liệt kênhư sau:

• Tầng liên kết dữ liệu

• Tầng con LLC

• Tầng con MAC

• Tầng vật lý

Họ chuẩn IEEE 802 được bảo trì bởi Ban Tiêu chuẩn LAN/MAN IEEE 802 (IEEE

802 LAN/MAN Standards Committee (LMSC)) Các chuẩn được dùng rộng rãi nhất

là dành cho họ Ethernet, Token Ring, mạng LAN không dây, các mạng LAN dùng

bridge và bridge ảo (Bridging and Virtual Bridged LANs) Mỗi lĩnh vực có một

Working Group tập trung nghiên cứu

Các Working Group:

IEEE 802.1 Các giao thức LAN tầng cao

IEEE 802.2 điều khiển liên kết lôgic

IEEE 802.3 Ethernet

802.3u là chuẩn của FastEthernet802.3z là chuẩn Gigabit Ethernet

IEEE 802.4 Token bus (đã giải tán)

IEEE 802.5 Token Ring

IEEE 802.6 Metropolitan Area Network (đã giải tán)

IEEE 802.7 Broadband LAN using Coaxial Cable (đã giải tán)

IEEE 802.8 Fiber Optic TAG (đã giải tán)

IEEE 802.9 Integrated Services LAN (đã giải tán)

IEEE 802.10 Interoperable LAN Security (đã giải tán)

IEEE 802.11 Wireless LAN (Wi-Fi certification)

IEEE 802.12 công nghệ 100 Mbit/s plus

IEEE 802.13 (không sử dụng)

IEEE 802.14 modem cáp (đã giải tán)

IEEE 802.15 Wireless PAN

IEEE 802.15.1 (Bluetooth certification)

Trang 16

IEEE 802.15.4 (ZigBee certification)

IEEE 802.16 Broadband Wireless Access (WiMAX certification)

IEEE 802.16e (Mobile) Broadband Wireless Access

IEEE 802.17 Resilient packet ring

IEEE 802.18 Radio Regulatory TAG

IEEE 802.19 Coexistence TAG

IEEE 802.20 Mobile Broadband Wireless Access

IEEE 802.21 Media Independent Handoff

IEEE 802.22 Wireless Regional Area Network

2.2 Các phương thức truyền tin dựa theo chuẩn Ethenet

2.2.1 Họ giao thức TCP/IP

TCP/IP (Transmission Control Protocol/Internet Protocol) là kết quả nghiên cứu vàtriển giao thức trong mạng chuyển mạch gói thử nghiệm mang tên Arpanet doARPA (Advanced Reseach Projecs Agency ) Khái niệm TCP/IP dùng để chỉ cảmột lớp tập giao thức và dịch vụ truyền thông được công nhận thành chuẩn choInternet Cho tới nay TCP/IP đã xâm nhập tới rất nhiều phạm vi ứng dụng khácnhau, trong đó có các máy tính cục bộ và mạng truyền thông công nghiệp

TCP/IP bao gồm 5 lớp độc lập : lớp ứng dụng, lớp vận chuyển, lớp Internet, lớptruy nhập và mạng vật lí

Lớp ứng dụng:

Lớp ứng dụng thực hiện các chức năng hỗ trợ cần thiết cho nhiều ứng dụng khácnhau : SMTP ( Simple Mail Transfer Protocol ) cho chuyển thư điện tứ, FTP ( FileTransfer Protocol ) cho chuyển giao file, TELNET là chương trình mô phỏng thiết

bị đầu cuối cho phép người dùng login vào một máy chủ từ một máy tính nào đótrên mạng, SNMP (Simple Network Management Protocol) giao thức quản trị mạngcung cấp những công cụ quản trị mạng, DNS(Domain Name Server) là dịch vụ tênmiền cho phép nhận ra máy tính từ một tên miền thay cho chuỗi địa chỉ Internet.Lớp ứng dụng trao đổi dữ liệu với lớp dưới ( lớp vận chuyển ) qua cổng Việc dùngcổng bằng số cho phép giao thức của lớp vận chuyển biết loại nội dung nào chứabên trong gói dữ liệu Những cổng được đánh bằng số và những ứng dụng chuẩnthường dùng cùng cổng Ví dụ: giao thức FTP dùng cổng 20 cho dữ liệu và cổng 21cho điều khiển, giao thức SMTP dùng cổng 25…

Trang 17

Hình 2.4: Kiến trúc giao thức TCP/IP

Lớp vận chuyển:

Lớp vận chuyển có chức năng cung cấp các dịch vụ cho việc thực hiện vận chuyển

dữ liệu giữa các chương trình ứng dụng một cách tin cậy hoàn toàn TCP là giaothức tiêu biểu nhất, phổ biến nhất phục vụ việc thực hiện chức năng nói trên TCP

hỗ trợ việc trao đổi dữ liệu trên cơ sở dịch vụ có nối Khi dữ liệu nhận, giao thứcTCP lấy những gói được gửi từ lớp Internet và đặt chúng theo thứ tự của nó, bởi vìnhững gói có thể đến vị trí đích theo phương thức không theo một thứ tự, và kiểmtra nếu nội dung của gói nhận có nguyên vẹn hay không và gửi tín hiệuAcknowledge – chấp nhận – tới bên gửi, cho biết gói dữ liệu đã đến đích an toàn.Nếu không có tín hiệu Acknowledge của bên nhận (có nghĩa là dữ liệu chưa đếnđích hoặc có lỗi ), bên truyền sẽ truyền lại gói dữ liệu bị mất

Bên cạnh TCP, một giao thức khác cũng được sử dụng cho lớp vận chuyển đó làUDP (User Data Protocol ) Khác với TCP, UDP cung cấp dịch vụ không hướng kếtnối cho việc gửi dữ liệu mà không đảm bảo tuyệt đối đến đích, không đảm bảo trình

tự đến đích của các gói dữ liệu

Như vậy TCP được coi là một giao thức tin cậy, trong khi UDP được coi là giaothức không đáng tin cậy Tuy nhiên UDP lại đơn giản hơn và có hiệu suất nhanhhơn TCP, chỉ đòi hỏi một cơ chế xử lí giao thức tối thiểu và thường được dùng làm

cơ sở thực hiện các giao thức cao cấp theo yêu cầu riêng của người sử dụng, ví dụtiêu biểu là giao thức SNMP

Cả hai giao thức UDP và TCP sẽ lấy dữ liệu từ lớp ứng dụng và thêm header vàokhi truyền dữ liệu Khi nhận dữ liệu, header sẽ bị gỡ trước khi gửi dữ liệu đến cổngthích hợp Trong header này có một vài thông tin điều khiển liên quan đến số cổng

Trang 18

nguồn, số cổng tới đích, chuỗi số ( để hệ thống sắp xếp lại dữ liệu và hệ thốngAcknowledge sử dụng trong TCP ) và Checksum (dùng để tính toán xem dữ liệuđến đích có bị lỗi hay không )

Header của UDP có 8 byte trong khi header của TCP có 20 hoặc 24 byte (tùy theokiểu byte lựa chọn )

Dữ liệu ở lớp này sẽ được chuyển tới lớp Internet nếu truyền dữ liệu hoặc được gửi

từ lớp Internet tới nếu nhận dữ liệu

Với giao thức IP, lớp Internet được sử dụng có nhiệm vụ thêm header tới gói dữ liệuđược nhận từ lớp vận chuyển, là một loại dữ liệu điều khiển khác, nó sẽ thêm địachỉ IP nguồn và địa chỉ IP đích – có nghĩa là địa chỉ IP của bên gửi dữ liệu và bênnhận dữ liệu

Mỗi datagram của IP có kích thước lớn nhất là 65.535 byte, bao gồm cả header mà

có thể dùng 20 hoặc 24 byte, phụ thuộc vào sự lựa chọn trong chương trình sử dụng.Như vậy datagram của IP có thể mang 65.515 byte hoặc 65.511 byte, giao thức IP

sẽ cắt gói xuống thành nhiều datagram nếu thấy cần thiết

Đối với mạng Ethernet, dữ liệu có thể lên tới 1500 byte, nghĩa là kích thước lớnnhất trường dữ liệu của frame được gửi lên mạng MTU ( Maximum Transfer Unit )

có giá trị 1500 byte Như vậy hệ điều hành tự động cấu hình giao thức IP để tạo radatagram của IP có chiều dài 1500 byte mà không phải là 65.535 byte

Hình dưới minh họa datagram được tạo ra từ lớp Internet bằng giao thức IP Nhưchúng ta đã đề cập header được giao thức IP thêm vào bao gồm địa chỉ IP nguồn,địa chỉ IP đích và một vài thông tin điều khiển

Lớp truy cập mạng:

Lớp truy cập mạng liên quan tới việc trao đổi dữ liệu giữa hai trạm thiết bị trongcùng một mạng Các chức năng bao gồm việc kiểm soát truy nhập môi

Trang 19

Data TCP/IP

Header

TCP/IP Header

trường truyền dẫn, kiểm soát lỗi và lưu thông dữ liệu Datagram được tạo từ lớpInternet sẽ được gửi xuống tới lớp truy nhập mạng nếu truyền dữ liệu, hoặc lớp truynhập mạng sẽ lấy dữ liệu từ mạng và gửi nó tới lớp Internet nếu chúng ta nhận dữliệu Như đã đề cập ở phần trên, Ethernet là giao thức cấp dưới có ba lớp LLC( Logic Link Control ), MAC ( Media Access Control ) và lớp vật lí Physical

Lớp MAC (điều khiển truy nhập phương tiện truyền thông ) có nhiệm vụ lắp rápframe mà sẽ được gửi lên mạng, thêm địa chỉ MAC nguồn và địa chỉ MAC đích.Địa chỉ MAC là địa chỉ vật lí của cạc mạng Những frame mà là đích tới mạng khác

sẽ dùng địa chỉ MAC của router như là địa chỉ đích

Những lớp LLC và MAC sẽ thêm những header của chúng tới datagram mà nhậnđược từ lớp Internet Do đó, cấu trúc đầy đủ của frame được tạo ra từ hai lớp đóđược thể hiện trong hình vẽ dưới

Hình 2.5: Lớp dữ liệu trong gói liên kết

Lớp vận chuyển

Lớp Internet

Trang 20

frame do lớp MAC tạo ra thành tín hiệu điện ( đối với hệ thống dây dẫn mạng bằngcable ) hoặc thành song từ trường ( đối với hệ thống mạng không dây ).

2.2.2 Cấu trúc gói tin

2.2.2.1 Cấu trúc địa chỉ IP:

Cấu trúc địa chỉ IP:

Mạng Internet dùng hệ thống địa chỉ IP (32 bit) để "định vị" các máy tính liên kếtvới nó Có hai cách đánh địa chỉ phụ thuộc vào cách liên kết của từng máy tính cụthể

Nếu các máy tính được kết nối trực tiếp với mạng Internet thì NIC (NetworkInformation Centre) sẽ cấp cho các máy tính đó một địa chỉ IP (IP Address)

Nếu các máy tính không kết nối trực tiếp với mạng Internet mà thông qua một mạngcục bộ thì người quản trị mạng sẽ cấp cho các máy tính đó một địa chỉ IP (tuy nhiêncũng dưới sự cho phép của NIC)

Hệ thống địa chỉ này được thiết kế mềm dẻo qua một sự phân lớp, có 5 lớp địa chỉ

IP là : A, B, C, D, E Sự khác nhau cơ bản giữa các lớp địa chỉ này là ở khả năng tổchức các cấu trúc con của nó

Hình 2.6: Tổ chức địa chỉ IP.

 Địa chỉ lớp A: Lớp A sử dụng byte đầu tiên của 4 byte để đánh địa chỉ mạng.Như hình trên, nó được nhận ra bởi bit đầu tiên trong byte đầu tiên của địa chỉ

có giá trị 0 3 bytes còn lại được sử dụng để đánh địa chỉ máy trong mạng Có

126 địa chỉ lớp A (được đánh địa chỉ trong byte thứ nhất) với số máy tính trongmạng là 2563 - 2 = 16.777.214 máy cho mỗi một địa chỉ lớp A (sử dụng 3 bytes

để đánh địa chỉ máy)

 Địa chỉ lớp B: Một địa chỉ lớp B được nhận ra bởi 2 bit đầu tiên của byte thứnhất mang giá trị 10 Lớp B sử dụng 2 byte đầu tiên của 4 byte để đánh địa chỉmạng và 2 byte cuối đánh địa chỉ máy trong mạng Có 64*256 - 2 = 16.128 địachỉ mạng lớp B với 65.534 máy cho mỗi một địa chỉ lớp B

Trang 21

 Địa chỉ lớp C: Một địa chỉ lớp C được nhận ra với 3 bit đầu mang giá trị 110.Mạng lớp C sử dụng 3 byte đầu để đánh địa chỉ mạng và 1 byte cuối đánh địachỉ máy tính có trong mạng Có 2.097.152 -2 địa chỉ lớp C, mỗi địa chỉ lớp C có

Hình 2.7: Mạng và mặt nạ

2.2.2.2 Cấu trúc gói tin IP

Gói tin (datagram) IP có dạng:

 Ver-4 bít: chỉ version hiện hành của ip đang được dùng, nếu trường này khácvới phiên bản IP của thiết bị nhận, thiết bị nhận sẽ loại bỏ các gói tin này

 IHL(IP Header Length)-4bít: chỉ độ dài phần header của gói tin, tính theo từ

32 bít

TOS(Type of Service)-1byte: cho biết dịch vụ nào mà gói tin muốn sử dụng chẳnghạn như độ ưu tiên, thời hạn chậm trễ, năng suất truyền và độ tin cậy Cụ thể nhưsau:

3 bít đầu (Precedence) chỉ quyền ưu tiên gửi gói tin, từ gói tin bình thường

là 0 đến gói tin kiểm soát mạng là 7

1 bít tiếp theo (Delay) chỉ độ trễ yêu cầu, 0 ứng với gói tin có độ trễ bìnhthường, 1 ứng với gói tin có độ trễ thấp

Trang 22

1 bít tiếp theo (Throughput) chỉ thông lượng yêu cầu sử dụng để truyền góitin với lựa chọn truyền trên đường thông suất thấp hay trên đường thông suất cao, 0ứng với thông lượng bình thường, 1 ứng với thông lượng cao.

1 bít tiếp theo (Reliability) chỉ độ tin cậy yêu cầu, 0 ứng với độ tin cậy bìnhthường, 1 ứng với độ tin cậy cao

 Total Length-2byte:chỉ độ dài toàn bộ gói tin tính cả phần header, tính theođơn vị byte

 Indentification-16 bít: cùng với các tham số khác như Source Address,Destination Address dùng để định danh duy nhất một gói tin trong thời gian nótồn tại trên mạng

 Flags: Các gói tin khi truyền trên đường đi có thể bị phân thành nhiều gói tinnhỏ Trường Flags dùng để điều khiển phân đoạn và lắp ghép gói tin Cụ thể nhưsau:

Bít0: chưa sử dụng, luôn lấy giá trị 0

Bít 1: 0 ứng với gói tin bị phân mảnh, 1 ứng với gói tin không bị phân mảnh.Bít 2: 0 ứng với gói tin thuộc phân đoạn cuối cùng của gói tin gốc, 1 ứng vớigói tin không phải là phân đoạn cuối cùng của gói tin gốc

 Fragment Offset-13bít: chỉ vị trí của phân đoạn trong gói tin gốc, tính theođơn vị 8 byte

 Time To Live-1byte: quy định thời gian tồn tại tính bằng giây của gói tintrong mạng Thời gian này được đặt bởi trạm gửi và giảm đi (thường quy ước là1) khi gói tin đi qua mỗi router của liên mạng Một giá trị tối thiểu phải đủ lớn

để mạng hoạt động tốt

 Protocol: Chỉ tầng giao thức kế tiếp sẽ nhận vùng dữ liệu ở trạm đích TCP

có ứng với giá trị 6, UDP ứng với giá trị 17, 1 ứng với ICMP

 Header Checksum-2byte: Dùng để phát hiện lỗi header của gói tin xảy ratrong quá trình truyền của nó

 Source IP Address-4byte: Địa chỉ IP của nơi truyền gói tin

 Destination IP Address-4byte: Địa chỉ IP của nơi nhận gói tin

 IP Option-độ dài thay đổi: Khai báo các lựa chọn do người sử dụng yêu cầu,

ví dụ như: mức độ bảo mật, đường mà gói tin được gửi đi, timestamp ở mỗirouter

Trang 23

 Padding-độ dài thay đổi: Dùng để đảm bảo phần header luôn kết thúc ở mộtmốc 32 bít.

 Data: chứa thông tin lớp trên ,chiều dài thay đổi đến 64Kb

2.2.2.3 Cấu trúc gói tin TCP

Đơn vị dữ liệu trong TCP được gọi là Segment với cấu trúc như sau:

 Source Port-2 byte: số hiệu cổng TCP của trạm nguồn

 Destination Port-2byte: số hiệu cổng TCP của trạm đích

 Sequence number: số hiệu của byte đầu tiên của segment, nếu cờ SYN bật thì nó

là số thứ tự gói ban đầu và byte đầu tiên được gửi có số thứ tự này cộng thêm 1.Nếu không có cờ SYN thì đây là số thứ tự của byte đầu tiên

 Acknowledgment Number-2byte: nếu cờ ACK bật thì giá trị của trường chính là

số thứ tự gói tin tiếp theo mà bên nhận cần Báo là nhận tốt các segment mà trạmđích đã gửi cho trạm nguồn

 Data offset-4bit: độ dài của phần header tính theo đơn vị từ 32 bit Tham số nàychỉ ra vị trí bắt đầu của nguồn dữ liệu

 Reserved-6 bít

 Flags: các bít điều khiển

URG: Vùng con trỏ khẩn (Urgent pointer) có hiệu lực

ACK: Vùng báo nhận ACK number có hiệu lực

PSH: Chức năng PUSH

RST: khởi động lại liên kết

SYN: đồng bộ hoá số hiệu tuần tự

FIND: không còn dữ liệu từ trạm nguồn

 Window-2byte: số byte dữ liệu bắt đầu từ byte được chỉ ra trong ACK number

mà trạm nguồn đã sẵn sàng để nhận

 Checksum: checksum cho cả phần header lẫn dữ liệu

 Urgent Pointer-2byte: nếu cờ URG bật thì giá trị trường này chính là số từ 16 bit

mà số thứ tự gói tin (sequence number) cần dịch trái

 Option-2byte: vùng tuỳ chọn, khai báo các option của TCP trong đó có độ dàitối đa của vùng TCP data trong một segment

 Padding: phần chèn thêm vào header để đảm bảo phần header luôn kết thúc ởmột mốc 32 bít

Trang 24

 TCP data: chứa dữ liệu của tầng trên có độ dài tối đa ngầm định là 536byte Giátrị này có thể khai báo trong trường Option.

2.2.2.4 Cấu trúc gói tin UDP

Vùng header của UDP có 64 bít với 4 trường :

 Source Port-2byte: xác định cổng của người gửi thông tin và có ý nghĩa nếumuốn nhận thông tin phản hồi từ người nhận Nếu không thì đặt nó bằng 0

 Destination Port-2byte: xác định cổng nhận thông tin và trường này là cần thiết

 Length-2byte: là chiều dài của toàn bộ gói tin(phần header và phần dữ liệu).Chiều dài tối thiểu là 8 byte khi gói tin không có dữ liệu, chỉ có header

 Checksum-2byte: dùng cho việc kiểm tra lỗi của phần header và phần dữ liệu

2.3 Vi điều khiển 18F4550 và ENC28J60

2.3.1 Vi điều khiển 18F4550

2.3.1.1 Giới thiệu

PIC 18F4550 là vi điều khiển thuộc là vi điều khiển thuộc họ PIC18 do hãngMicroChip sản xuất Đây là vi điều khiển 8 bit khá mạnh, có đầy đủ tính năng củadòng PIC18, khả năng thực thi cao, tiết kiệm năng lượng, tích hợp nhiều ngoại vi,chi phí thấp Kiến trúc của PIC18F4550 tối ưu cho trình biên dịch C

Các tính năng nổi bật của PIC18F4550:

• Bộ nhớ Flash 64Kbytes, 3968 bytes SRAM, 1 Kbytes EEPROM cho phép nạpxóa 100000 Flash/1000000 EEPROM

• 35 chân I/O chia làm 4 port: PORTA, B, C, D, E

• Bộ nhân tần số PLL (x4) cho phép tần số hoạt động lên đến 48 MHz

• Module MSSP hỗ trợ chế độ SPI và I2C

• Module UART hỗ trợ RS485, RS232,USB

• Hỗ trợ nạp ICSP (In-Circuit Serial Programming) qua 2 chân

Trang 25

Hình 2.8 Sơ đồ chân PIC 18F4550

2.3.1.2 Truyền thông SPI

Module MSSP của PIC18F4550 có 2 chế độ: chế độ SPI và chế độ I2C Trong đềtài này sẽ chỉ trình bày về chế độ SPI

Chế độ SPI cho phép 8 bits dữ liệu truyền và nhận đồng thời 4 chế độ SPI đều được

hỗ trợ Để có thể giao tiếp cần 4 chân:

• Serial Data Out (SDO) – RC7/RX/DT/SDO: ngõ ra dữ liệu

• Serial Data In (SDI) – RB0/AN12/INT0/FLT0/SDI/SDA: ngõ vào dữ liệu

• Serial Clock (SCK) – RB1/AN10/INT1/SCK/SCL: xung giữ nhịp của SPI

• Slave Select (SS) – RA5/AN4/SS/HLVDIN/C2OUT: đường chọn Slave cầngiao tiếp Nếu Master kéo SS xuống mức thấp thì việc giao tiếp giữa Master vàSlave sẽ xảy ra

Có 4 thanh ghi liên quan đến chế độ SPI: SSPCON1, SSPSTAT, SSPBUF, SSPSR

* SSPSR: là thanh ghi dịch, sử dụng để dịch dữ liệu vào, ra

* SSPBUF: là thanh ghi đệm có chức năng chứa giá trị nhận được và phát đi của

SPI

Trong chế độ nhận, SSPSR và SSPBUF tạo thành cặp bộ đệm nhận Khi SSPSRnhận hoàn chỉnh 1byte, nó được truyền sang SSPBUF và cờ ngắt SSPIF được bậtlên Trong chế độ truyền, việc ghi đến SSPBUF sẽ ghi đến cả SSPBUF và SSPSR

* SSPCON1: là thanh ghi điều khiển trong chế độ SPI

Trang 26

Hình 2.9: Thanh ghi SSPCON1

• WCOL: bit phát hiện xung đột ghi

1 = thanh ghi SSPBUF được ghi trong khi nó vẫn đang truyền ở lệnh trước(phải được xóa bằng phần mềm)

0 = không xung đột

• SSPOV: bit chỉ định nhận tràn

• SSPEN: bit cho phép module MSSP hoạt động

1 = cho phép, 0 = cấm

• CKP: bit chọn cực tính của xung

1 = trạng thái nghỉ của xung là mức cao

0 = trạng thái nghỉ của xung là mức thấp

• SSPM3:SSPM0: bit chọn chế độ hoạt động của module MSSP

0101 = chế độ SPI Slave, xung = chân SCK, không sử dụng chân SS

0100 = chế độ SPI Slave, xung = chân SCK, chân SS sử dụng

0011 = chế độ SPI Master, xung = ngõ ra TMR2/2

0010 = chế độ SPI Master, xung = Fosc/64

0001 = chế độ SPI Master, xung = Fosc/16

0000 = chế độ SPI Master, xung = Fosc/4

* SSPSTAT: là thanh ghi trạng thái, 6 bits thấp chỉ đọc, 2 bits cao cho phép đọc/ghi

Hình 2.10: Thanh ghi SSPSTAT

• SMP: bit mẫu

Chế độ SPI Master

1 = dữ liệu ngõ vào được lấy mẫu tại thời điểm kết thúc ngõ ra dữ liệu

0 = dữ liệu ngõ vào được lấy mẫu tại thời điểm giữa ngõ ra dữ liệu

Chế độ SPI Slave

SMP phải được xóa

• CKE: bit chọn xung SPI

Trang 27

1 = Việc truyền xuất hiện khi có xung tác động cạnh xuống

0 = Việc truyền xuất hiện khi có xung tác động cạnh lên

• BF: bit báo bộ đệm đầy

1 = quá trình nhận hoàn tất, SSPBUF đầy

0 = quá trình nhận chưa hoàn tất, SSPBUF rỗng

* Kết nối điển hình giữa Master và Slave:

Hình 2.11: Kết nối Master và Slave

* Hoạt động:

Master có thể truyền dữ liệu bất cứ lúc nào bởi vì nó điều khiển đường xung giữnhịp SCK Cứ mỗi xung nhịp do Master tạo ra trên đường giữ nhịp SCK, một bittrong thanh ghi đệm của Master được truyền qua Slave SDO (Master) -> SDI(Slave) Đồng thời 1 bit trong thanh ghi đệm của chip Slave cũng được truyền quaMaster SDO (Slave) -> SDI (Master) Do 2 gói dữ liệu trên 2 chip được gởi qua lạiđồng thời nên quá trình truyền dữ liệu này được gọi là song công

Cực của xung giữ nhịp (CKP) là khái niệm dùng chỉ trạng thái chân SCK ở trạngthái nghỉ Ở trạng thái nghỉ (Idle) chân SCK có thể được giữ ở mức cao (CKP=1)hoặc mức thấp (CKP=0) Pha (SMP) chỉ cách mà dữ liệu được lấy mẫu theo xunggiữ nhịp Dữ liệu có thể được lấy mẫu ở cạnh lên của SCK (SMP=1) hoặc cạnhxuống (SMP=0)

Sự kết hợp giữa CKP và CKE tạo nên 4 chế độ hoạt động của SPI

* Chế độ Master:

Trang 28

Hình 2.12: Dạng sóng chế độ Master

* Chế độ Slave:

Hình 2.13: Dạng sóng chế độ Slave

Trang 29

2.3.2 Vi điều khiển ENC28J60

2.3.2.1 Giới thiệu

− ENC28J60 là vi điều khiển hỗ trợ kết nối Ethernet cho bất kỳ vi điều khiển nào

có giao tiếp SPI ENC28J60 được thiết kế và chế tạo bởi Microchip

− Phần cứng của ENC28J60 được tích hợp trong cả hai lớp kết nối dữ liệu và lớpvật lý

− Hỗ trợ giao tiếp SPI với tốc độ tối đa đạt 20MHz

− Điện áp hoạt động của ENC28J60 từ 3.1V đến 3.6V

− Hỗ trợ công nghệ 10BASE-T

− Hỗ trợ truyền song công và bán song công

2.3.2.2 Khảo sát ENC28J60

Hình 2.14: Sơ đồ chân ENC28J60

Trang 30

Hình 2.15: Sơ đồ khối ENC28J60

2.3.2.3 Giao tiếp giữa vi điều khiển với ENC28J60

Hình 2.16: Kết nối phần cứng vi điều khiển với ENC28J60

* Nguyên lý hoạt động của mạch:

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

• PIC18 đóng vai trò là Master trong giao tiếp SPI với ENC28J60

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

• Nhận dữ liệu:

Trang 31

o 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, PIC18 liên tục kiểm tra bộ đệm củaENC28J60 Nếu phát hiện có dữ liệu nó sẽ đọc dữ liệu và xử lí

Gồm có 3 chân: VDD, GND là 2 chân cấp nguồn (5V) và DQ là chân để giao tiếp1-wire

Hình 2.17: Sơ đồ chân DS18B20

Mỗi thiết bị kết nối đến đường bus 1-wire là cổng 3 trạng thái hoặc cổng có cựcmáng để hở Điều này cho phép thiết bị nhả bus khi không truyền dữ liệu nữa Bus1-wire cần 1 điện trở kéo lên khoảng 4k7 Vì thế trạng thái nghỉ của bus 1-wire làmức cao

Cổng 1-wire (chân DQ) của DS18B20 là cực máng để hở Cần mắc 1 điện trở treo

có giá trị 4k7 vào chân DQ của DS18B20

Trang 32

Hình 2.18: Sơ đồ kết nối với vi điều khiển

DS18B20 hoạt động ở mức điện áp 3 đến 5.5V

o Nguồn cung cấp cho DS18B20 là nguồn ngoài

Hình 2.19: DS18B20 hoạt động với nguồn ngoài

o Nguồn cung cấp cho DS18B20 từ đường dữ liệu

Hình 2.20: DS18B20 hoạt động với nguồn ký sinh

DS18B20 là cảm biến nhiệt độ chuyển trực tiếp nhiệt độ sang tín hiệu số Độ phângiải mặc định là 12 bits Để bắt đầu đo nhiệt độ và chuyển sang tín hiệu số, thìMaster phải phát lệnh Convert T [44h] Theo sau quá trình chuyển đổi, giá trị nhiệt

độ được lưu vào trong 2 bytes của thanh ghi nhiệt độ

Trang 33

Hình 2.21: Thanh ghi nhiệt độ Bảng 2.2: Mối quan hệ nhiệt độ/dữ liệu

Dữ liệu nhiệt độ gồm 16 bits Trong đó:

o 4 bits thấp lưu giá trị nhiệt độ phần thập phân

o 7 bits tiếp theo lưu giá trị nhiệt độ phần nguyên

o S bit là bit dấu

 S = 0 chỉ ra rằng nhiệt độ đo được là dương

 S = 1 chỉ ra rằng nhiệt độ đo được là âm

Bộ nhớ của DS18B20 gồm: 8 byte SRAM và 3 byte EEPROM

o Byte 0 và 1 chứa LSB và MSB của giá trị nhiệt độ

o Byte 2 và 3: thanh ghi TH và TL

o Byte 4: thanh ghi cấu hình

o Byte 5, 6, 7: dự trữ

o Byte 8: chữa mã CRC từ byte 0 đến byte 7

Dữ liệu được ghi đến byte 2, 3 và 4 của RAM khi sử dụng lệnh Write Scratchpad[4Eh] , với LSB của byte 2 được truyền trước Để truyền TH, TL và thanh ghi cấuhình từ RAM vào EEPROM Master phải phát lệnh Copy Scratchpad [48h]

Ngày đăng: 24/06/2016, 17:42

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

TÀI LIỆU LIÊN QUAN

w