127
MỤC LỤC Lời Cảm ơn...................................... 5 Lời mở đầu.........................................6 Mục tiêu đề tài................................. 7 Nhiệm vụ của đề tài.............................7 Chương 1: Tổng quan về Ethernet....................8 1.1....................Cấu trúc khung tin Ethernet 8 1.1......................Cấu trúc địa chỉ Ethernet 11 1.2.................................. Đặc tính điện 11 1.3........................Các loại khung Ethernet 12 1.3.1......................Các loại khung uniscat 12 1.3.2.........................Các khung broadcast 13 1.3.3.........................Các khung Multicast 13 1.4................................... Truy cập bus 13 1.5.............................. Các loại Ethernet 15 1.5.1. Các hệ thống Ethernet 10Mb/s............15 1

MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

MỤC LỤC

Lời Cảm ơn................................................................................................5

Lời mở đầu.......................................................................................................6

Mục tiêu đề tài...........................................................................................7

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

Chương 1: Tổng quan về Ethernet................................................................8

1.1. Cấu trúc khung tin Ethernet..................................................................8

1.1. Cấu trúc địa chỉ Ethernet....................................................................11

1.2. Đặc tính điện.......................................................................................11

1.3. Các loại khung Ethernet......................................................................12

1.3.1. Các loại khung uniscat..................................................................12

1.3.2. Các khung broadcast.....................................................................13

1.3.3. Các khung Multicast.....................................................................13

1.4. Truy cập bus.......................................................................................13

1.5. Các loại Ethernet.................................................................................15

1.5.1. Các hệ thống Ethernet 10Mb/s........................................................15

1.5.2. Các hệ thống Ethernet tốc độ 100Mb/s........................................16

1.5.3. Các hệ thống Giga Ethernet..........................................................16

Chương 2: Họ giao thức TCP/IP..................................................................18

2.1. Họ giao thức TCP/IP.............................................................................18

2.1.1. Tầng ứng dụng ( Application layer).............................................20

2.1.2. Tầng giao vận(Transport layer)....................................................21

2.1.3. Tầng mạng( internet layer)...........................................................22

2.1.4. Lớp liên mạng (Network Interface Layer)...................................22

2.2. Cấu trúc gói tin IP, TCP,ARP,UDP....................................................23

2.2.1. Cấu trúc địa chỉ IP..........................................................................23

2.2.2. Cấu trúc gói tin IP.........................................................................24

2.2.3. Cấu trúc gói tin TCP.....................................................................26

2.2.4. Cấu trúc gói tin ARP (Adrees Resolution Protocol)....................27

1

Page 2: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

2.2.5. Cấu trúc gói tin UDP....................................................................31

2.2.6. Giao thức điều khiển truyền tin – ICMP (Internet Control

Message Protocol).....................................................................................31

Chương 3: Phần cứng...................................................................................33

3.1. Vi điều khiển PIC...............................................................................33

3.1.1. Giới thiệu về vi điều khiển PIC...................................................33

3.1.2. Một số ưu điểm của Microchip PIC...........................................35

3.1.3. Vi điều khiển PIC18F4550...........................................................36

3.3. Cảm biến nhiệt độ LM35.....................................................................47

3.4. Module Ethernet ENC28J60 và chuẩn giao tiếp SPI...........................49

3.4.1. Vi Mạch Ethernet ENC28j60.........................................................49

3.4.2. Sơ đồ chân và sơ đồ khối của ENC28j60........................................50

3.4.3. Sơ đồ ghép nối vi điều khiển với ENC28j60.................................51

3.4.4. Module Ethernet.............................................................................52

3.4.5. Chuẩn truyền thông SPI................................................................52

3.5. Text LCD.............................................................................................57

3.5.1. Cấu trúc Text LCD..........................................................................57

3.5.2. Sơ đồ chân......................................................................................58

3.5.3. Điều khiển hiển thị..........................................................................60

3.5.4. Mạch RJ14.....................................................................................62

Chương 4: Trình biên dịch CCS và webserver...........................................63

4.1. Trình dịch CCS (PIC C Compiler)........................................................63

4.1.1. Vì sao ta sử dụng CCS....................................................................63

4.1.2. Giới thiệu về CCS..........................................................................63

4.1.3. Tạo PROJECT đầu tiên trong CCS.................................................64

4.2. Web động..............................................................................................74

4.3. CSS........................................................................................................74

4.3.1. Ưu điểm của CSS............................................................................75

4.3.2. Các đặc tính cơ bản của CSS..........................................................75

2

Page 3: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

4.3.3. CSS có tính kế thừa và kết hợp.......................................................77

Chương 5: Sơ đồ khối và mô phỏng.............................................................79

5.1. Sơ đồ khối..........................................................................................79

5.2. Mạch nguyên lý..................................................................................80

5.2.1. Khối nguồn..................................................................................81

5.2.2. Khối công suất (RELAY)............................................................81

5.2.3. Khối hiển thị (LCD 16x2)...........................................................82

5.2.4. Khối Key điều khiển đèn (Nút nhấn)..........................................82

5.2.5. Khối đo nhiệt độ và Header giao tiếp với Module Ethernet........83

5.2.6. Khối reset, Xung thạch anh, Lọc nguồn.....................................183

5.2.7. Khối Vi xử lý trung tâm (Pic 18F4550)......................................84

5.3. Mô Phỏng............................................................................................85

KẾT LUẬN....................................................................................................86

Tài liệu tham khảo:.......................................................................................87

3

Page 4: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

HÌNH ẢNH:Hình 1. 1: Mã hóa Manchester........................................................................12Hình 1. 2: Mô hình truyền thông unicast........................................................13Hình 1. 3: Minh họa phương pháp CSMA/CD..............................................14

Hình 2. 1: Kiến trúc TCP/IP............................................................................19Hình 2. 2: Quá trình đóng/mở gói dữ liệu trong TCP/IP.................................20Hình 2. 3: Cấu trúc dữ liệu trong TCP/IP........................................................20Hình 2. 4: tổ chức địa chỉ IP............................................................................24Hình 2. 5: Mô tả đường truyền dữ liệu ARP...................................................28

Hình 3. 1: Hình thực tế của PIC18F4550........................................................36Hình 3. 2: sơ đồ chân của PIC18F4550...........................................................38Hình 3. 3: Sơ đồ chân của LM35....................................................................48Hình 3. 4: Sơ đồ chân ENC28J60...................................................................50Hình 3. 5: Sơ đồ khối ENC28J60....................................................................50Hình 3. 6: Sơ đồ ghép nối vi điều khiển với ENC28j60.................................51Hình 3. 7 : Sơ đồ nguyên lý Module Ethernet.................................................51Hình 3. 8: Module Ethernet thực tế.................................................................52Hình 3. 9: SPI giữa một chip Master và 3 chip Slave thông qua 4 đường......54Hình 3. 10: Quá trình truyền 1 gói dữ liệu thực hiện bởi module SPI............55Hình 3. 11: Quá trình đọc thanh ghi điều khiển Ethernet...............................55Hình 3. 12: Quá trình đọc thanh ghi điều khiển MAC....................................56Hình 3. 13: Quá trình ghi vào thanh ghi lệnh.................................................56Hình 3. 14: Quá trình ghi vào bộ đệm lệnh....................................................56Hình 3. 15: Quá trình ghi vào lệnh của hệ thống...........................................57Hình 3. 16: Text LCD 16x2............................................................................58Hình 3. 17: kết nối Text LCD với Vi điều khiển............................................60Hình 3. 18: Hoạt động của chân RS................................................................61Hình 3. 19: Sở đồ khối của HR911105A........................................................62

Hình 4. 1: Giao diện chương trình CCS..........................................................64Hình 4. 2: Tạo file mới trong PCW compiler.................................................65Hình 4. 3: Bảng hỗ trợ chức năng cho PIC....................................................66Hình 4. 4: Tab General...................................................................................67Hình 4. 5: Tab Communications....................................................................68

4

Page 5: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

Hình 4. 6: Tab SPI..........................................................................................69Hình 4. 7: Tab LCD........................................................................................69Hình 4. 8: Tab Timer.......................................................................................70Hình 4. 9: Tab Analog.....................................................................................71Hình 4. 10: Tab Driver và Tab Interrupt.........................................................72Hình 4. 11: Tab Other.....................................................................................73Hình 4. 12: web sever......................................................................................78

Hình 5. 1: Sơ đồ khối giao tiếp của mạch.......................................................80Hình 5. 2: Mạch nguyên lý..............................................................................81Hình 5. 3: Khối nguồn.....................................................................................82Hình 5. 4: khối công suất (relay 5 chân 12v DC/ 240v AC)...........................82Hình 5. 5: khối hiển thị (LCD 16x2)...............................................................83Hình 5. 6: Khối Nút nhấn................................................................................83Hình 5. 7: LM35(nhiết độ) & Header kết nối với Module Ethernet............84Hình 5. 8: a:xung thạch anh............................................................................84Hình 5. 9: Khối xử lý dùng vi điều khiển PIC18F4550..................................85Hình 5. 10: Mô phỏng.....................................................................................86

5

Page 6: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

BẢNG:

Bảng 1. 1: Cấu trúc khung MAC theo IEEE 802.3/ Ethernet.........................11

Bảng 2. 1: Mô tả gói thông tin ARP ..............................................................29

Bảng 2. 2: Khung dữ liệu ARP........................................................................30

Bảng 2. 3: Cấu trúc gói ICMP.........................................................................32

Bảng 3. 1: Bảng chức năng chân của PIC18F4550.........................................38

Bảng 3. 2: Bảng chức năng chân của PORTA................................................39

Bảng 3. 3: Bảng chức năng chân của PORTB................................................41

Bảng 3. 4: Bảng chức năng chân của PORTC................................................43

Bảng 3. 5: Bảng chức năng chân của PORTD................................................44

Bảng 3. 6: Bảng chức năng chân của PORTE.................................................46

Bảng 3. 7: Chức năng chân của LCD..............................................................58

6

Page 7: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

Lời Cảm ơn

Em xin được gửi lời cảm ơn chân thành đến quý Thầy cô trong khoa

Điện – Điện Tử, nhất là quý Thầy cô thuộc bộ môn Điện Tử Viễn Thông đã

giảng dạy và truyền đạt kiến thức chuyên ngành cho người thực hiện đồ án

trong thời gian vừa qua.

Đặc biệt em xin gửi lời cảm ơn sâu sắc tới cô Vũ Thị Thu Hương vì sự

tận tình hướng dẫn cũng như đã tạo những điều kiện thuận lợi nhất cho em để

có thể thực hiện và hoàn thành tốt đề tài này.

Em cũng không quên cảm ơn các bạn trong lớp đã trao đổi, góp ý để em

hoàn thành đề tài này một cách tốt đẹp và đúng thời gian.

Mặc dù đã có nhiều cố gắng và nỗ lực thực hiện, nhưng do kiến thức

cũng như khả năng bản thân còn nhiều hạn chế nên trong quá trình thực hiện

đề tài không thể tránh khỏi những sai phạm, thiếu sót… Rất mong nhận được

sự góp ý, chỉ dẫn từ nơi quý thầy cô và các bạn sinh viên.

7

Page 8: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

Lời mở đầu

Trong thời đại công nghiệp hoá hiện đại hoá như hiện nay. Việc phát

minh và chế tạo ra các thiết bị thông minh có khả năng điều khiểu từ xa đang

và sẽ rất được quan tâm và rất hữu ích cho cuộc sống hằng ngày.

Vì mục tiêu công nghệ hiện đại hoá ngày càng phát triển, tôi đã quyết

định làm một đồ án về điều khiển thiết bị qua mạng Ethernet. Khi dự án

hoàn thành chúng ta có thể điều khiểu các thiết điện trong nhà thông qua

mạng internet, tương tác bằng tay qua nút nhấn, kiểm soát nhiệt độ phòng;

hiển thị trạng thái hoạt động của các thiết bị trên LCD…. Dù chúng ta ở bất

cứ nơi nào có mạng internet đều có thể điều khiển được các thiết bị đã kết nối

với module điều khiển ethernet.

Khi dự án thành công và được áp dụng rộng rãi thì sẽ rất hữu ích cho đời

sống hằng ngày. Giúp cho đất nước ngày càng phát triển.

Giáo Viên Hướng Dẫn Người Thực Hiện

Vũ Thị Thu Hương Nguyễn Văn Vượng - 0541050263

8

Page 9: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

Mục tiêu đề tài Thực hiện giao tiếp mạng giữa phần cứng mạch điện tử với máy tính

qua mạng Ethernet.

Điều khiển hoạt động của các thiết bị (trong đề tài là 3 đền LED tượng

trưng cho 3 thiết bị), dưới sự điều khiển và giám sát của con người.

Giám sát nhiệt độ thông qua cảm biến nhiệt LM35.

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

Để có thể đạt được mục tiêu đề ra, người thực hiện đề tài đã đưa ra

những nhiệm vụ cần phải thực hiện:

Nghiên cứu vi điều khiển PIC18f4550 và trình biên dịch CCS (PIC C

Compiler).

Lý thuyết mạng Ethernet và cách thức truyền nhận dữ liệu

Nghiên cứ chuẩn giao tiếp SPI và ứng dụng thực tế trên module

Ethernet ENC28J60

Tìm hiểu ngôn ngữ html và CSS trong lập trình giao diện web

Tính toán, thiết kế và thi công phần cứng mạch điện tử (mô phỏng)

Xây dựng thuật toán và viết code cho ứng dụng dựa theo mục tiêu đã

đề ra.

9

Page 10: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

Chương 1: Tổng quan về EthernetETHERNET là kiểu mạng cục bộ (LAN) được sử dụng rộng rãi hiện

nay. Hiện thời Ethernet thường được sử dụng nhiều nhất là cáp đôi xoắn

10Mbps.

Ethernet được phát minh ra tại trung tâm nghiên cứu Xerox Palo Alto

vào những năm 70 của tiến sỹ Robert M.Metcalfe. Nó được thiết kế bởi mục

đích phục vụ nghiên cứu trong “hệ thống công sở trong tương lai”, bao gồm

trạm cá nhân đầu tiên trong thế giới, trạm Xerox Alto. Trạm Ethernet đầu tiên

chạy với tốc độ xấp xỉ 3Mbps. Chuẩn Ethernet 10Mbps đầu tiên được xuất

bản vào năm 1980 với sự phối hợp phát triển của 3 hãng DEC, Intel, Xerox.

Chuẩn này có tên Dix Ethernetn (lấy tên theo 3 chữ cái đầu tiên của các hãng)

Ủy 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 được ra đời với tên IEEE 802.3 Carrier Sense

Multiple access with Collition Detection (CSAM/CD). Mặt dù không sử

dụng Ethernet nhưng hầu hết mọi người đều hiểu đó là phần 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ó nhìu loại mạng Ethernet khác nhau. Đặc biệt với phiên

bản 100 Mbit/s (fast Ethernet, IEEE 802.3u), Ethernet ngày càng đóng vai trò

trong hệ thống công nghiệp, bên cạnh việc sử dụng cáp đồng trục, đôi dây

xoắn và cáp quang, gần đây Ethernet không dây (Wirless LAN, IEEE 802.11)

đang thu hút sự quan tâm rất lớn.

1.1. Cấu trúc khung tin Ethernet

Các chuẩn Ethernet đều hoạt động ở tầng Data link trong mô hình 7 lớp

OSI vì thế đơn vị dữ liệu mà các trạm trao đổi với nhau là các khung (famer) .

Cấu trúc khung Ethernet như sau:

10

Page 11: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

Bảng 1. 1: Cấu trúc khung MAC theo IEEE 802.3/ Ethernet

Preamble (mở đầu): 7 bytes (không được tính vào kích thước frame của

Ethernet) 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ồ 10Mhz.

SFD (Start Frame Delimiter): 1 bytes (không được tính vào kích thước

frame của Ethernet) trường hợp này mới thực sự xác định bắt đầu của một

khung. Nó luôn mang giá trị 10101011.

Destination Address (địa chỉ đích): 6 bytes

Đây là địa chỉ MAC của Ethernet card nơi đến (nơi khung frame gửi

đến).

Ý nghĩa của bit thấp nhất xác định 6 bytes này:

o 0: địa chỉ unicast

3 bytes đầu tiên được dùng để chỉ nhà sản xuất

1. 00-00-0C: CISCO

2. 00-00-3D: AT&T

3 bytes tiếp theo do nhà sản xuất quyết định

o 1: địa chỉ multicast

11

Page 12: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

01-80-C2-00-00-00: được dùng bởi các bridges cho giải

thuật cây tản rộng (spanning trê algorithm)

FF-FF-FF-FF-FF-FF: địa chỉ quảng bá (broadcast)

Ở 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ản 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 frame xuất hiện trong mạng LAN.

Source Address (địa chỉ nguồn): 6 bytes .Đây là địa chỉ MAC của

Ethernet card nguồn (nơi khung frame được gửi đi).

LEN/TYLE (độ dài/kiểu gói): 2 bytes. giá trị của trường nói lên độ lớn

của phần giữ liệu mà khung mang theo.

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

o IEEE 802.3 MAC

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

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

1980 (phổ biến hơn)

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

0800: IP

0860: ARP

Phần thông tin: từ 46 tới 1500 bytes:

Do kích thước frame tối thiểu là 64 bytes, kích thước tối thiểu của

phần thông tin là 64-18=46 bytes.

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

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

12

Page 13: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

tương tự. Nếu hai kết quả trùng nhau, khung được xem là nhận đúng, ngược

lai khung coi như là bị lỗi và bị loại bỏ.

1.1. Cấu trúc địa chỉ Ethernet

Mỗi giao tiếp mạng Ethernet được định dạng duy nhất bởi 48 bit địa chỉ

(6 octet). Đây là địa chỉ được ấn định khi sản xuất thiết bị, được gọi là địa chỉ

MAC (Media Access Control Address). Địa chỉ MAC được biểu diễn bởi các

chữ số hexa ( hệ cơ số 16), ví dụ: 00:60:97:8F:4F:86 hoặc 00-60-97-8F-4F-

96. Khuôn dạng địa chỉ MAC được chia làm 2 phần:

- 3 octet xác định hãng sản xuất, chịu sự quản lý tổ chức IEEE.

- 3 octet sau do nhà sản xuất ấn định.

- Kết hợp ta có 1 địa chỉ MAC duy nhất cho một giao tiếp mạng

Ethernet. Địa chỉ MAC được sử dụng làm địa chỉ nguồn và địa chỉ đích trong

khung Ethernet.

1.2. Đặc tính điện

Tín hiệu Ethernet được mã hóa theo mã Manchester. Mã hóa Manchester

sử dụng cách đảo ngược mỗi bit trong khoảng thời gian của nó để đồng bộ và

miêu tả bit.

- Bit ‘0’ Nửa chu kỳ đầu của bit là điện áp +V và nửa chu kỳ còn lại

là điện áp –V

- Bit ‘1’ Nửa chu kỳ đầu của bit là điện áp -V và nửa chu kỳ còn lại

là điện áp + V

Hình 1. 1: Mã hóa Manchester

13

Page 14: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

1.3. Các loại khung Ethernet

1.3.1. Các loại khung uniscat

Giả sử trạm 1 cần truyền khung tới trạm 2.Khung Ethernet do trạm 1

truyền ra có địa chỉ:

- MAC nguồn: 00-60-08-93-DB-C1.

- MAC đích : 00-60-08-93-AB-12

Hình 1. 2: Mô hình truyền thông unicast

Đây là khung unicast. Khung này được truyền tới 1 trạm xác định.Tất cả

các trạm trong phân đoạn mạng trên sẽ đều nhận được khung này nhưng:

- Chỉ có trạm 2 lấy được địa chỉ MAC đích của khung trùng với địa

chỉ MAC của giao tiếp mạng của mình nên tiếp tục xử lý các thông tin khác

trong khung.

- Các trạm khác sau khi so sánh địa chỉ sẽ bỏ qua không tiếp tục xử lý

khung nữa.

1.3.2. Các khung broadcast

Các khung broadcast có địa chỉ MAC đích là FF-FF-FF-FF-FF-FF

(48 bit 1). khi nhận được các khung này, mặc dù không trùng với địa chỉ

MAC của giao tiếp mạng của mình nhưng các trạm đều phải nhận khung và

tiếp tục xử lý.

14

Page 15: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

Giao thức ARP sử dụng khung broadcast này để tìm địa chỉ MAC tương

ứng với 1 địa chỉ IP cho trước. một số giao thức định tuyến cũng sử dụng các

khung broadcast để các router trao đổi bảng định tuyến.

1.3.3. Các khung Multicast

Trạm nguồn gửi khung tới một số trạm nhất định chứ không phải là tất

cả. Địa chỉ MAC đích của khung là địa chỉ đặc biệt mà chỉ các trạm trong

cùng một nhóm mới chấp nhận các khung gửi tới địa chỉ này.

(Chú ý: Địa chỉ MAC nguồn của khung luôn là địa chỉ MAC của giao

tiếp mạng tạo ra khung. Trong khi đó địa chỉ MAC đích của khung thì phụ

thuộc vào một trong ba loại khung nếu trên.)

1.4. Truy cập bus

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

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

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

năng thời gian thực của hệ thống. Ở đây, một số 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.

15

Page 16: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

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

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

Theo phương pháp CSMA/CD, mỗi trạm đều có quyền truy cập bus mà

không cần một sự kiểm soát nào. Phương pháp được tiến hành như sau:

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

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

- Do việc lan truyền tín hiệu cần có một thời gian nào đó, nên vẫn có

khả năng hai trạm cùng phát tín hiệu lên đường dẫn. Chính vì vậy, trong khi

phát đi mỗi trạm vẫn phải nghe đường đẫ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.

- 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 là các khắc phục được minh

họa trên hình 3. Trạm A và trạm C cùng nghe đường dẫn. Đường dẫn rỗi nên

A có thể gửi trước. Trong khi tín hiệu từ trạm A gửi đi chưa kịp tới nên trạm

C không hay biết và cũng gửi, nên gây ra xung đột tại một điểm gần C. A và

C lần lượt nhận được tín hiệu phản hồi, so sánh với tín hiệu gửi đi và phát 16

Page 17: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

hiện xung đột. Cả hai trạm sẽ cùng phải hủy bỏ bức điện gửi đi bằng cách

không phát tiếp, các trạm muốn nhận sẽ không nhận được cờ hiệu kết thúc

bức điện và được coi là bức điện không hợp lệ. A và C cũng có thể gửi đi 1

tín hiệu “jam” đặc biệt để báo cho các trạm cần nhận biết. sau đó mỗi trạm sẽ

chờ một thời gian chờ ngẫu nhiên, trước khi thử phát lại. thời gian chờ ngẫu

nhiên ở đây phải được tính theo một thuật toán nào đó sao cho thời gian chờ

ngắn một cách hợp lý và không giống nhau giữa các trạm cùng chờ. Thông

thường thời gian chờ này là bội số 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 hoat. Khác với

phương pháp tiền định, việc ghép thêm hay bỏ đi một trạm không ảnh hưởng

gì tới hoạt động của hệ thống. Chính vì vậy, phương pháp này được ap dụng

rộng rãi trong hệ thống Ethernet.

Nhược điểm của CSMA/CD là tính chất bất định của thời gian phản

ứng.Các trậm đều bình đẳng như nhau nên quá trình chờ ở một trậm có thể

lặp đi lặp lại, không xác định được tương đối chính xác thời gian.Hiệu suất sử

dụng đường truyền vì thế cũng thấp. Rõ ràng nếu không kết hợp thêm với các

kỹ thuật khác thì phương pháp này sẽ không thích hợp với các cấp thấp, đòi

hỏi trao đổi dữ liệu định kỳ, thời gian thực.

1.5. Các loại 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 Ethernet. Mỗi loại mạng mô tả dựa theo 3 yếu tố: tốc

độ, phương thức tín hiệu sử dụng và đặc tính đường truyền vật lý.

1.5.1. Các hệ thống Ethernet 10 Mb/s- 10base5. Đây là tiêu chuẩn Ethernet đầu tiên, dựa trên cáp đồng trục

loại dày. Tốc độ đạt được 10 Mb/s, sử dụng băng tần cơ sở, chiều dài cáp tối

đa cho một phân đoạn mạng là 500m.

17

Page 18: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

- 10base2. Có tên là “thin Ethernet”, dựa trên các hệ thống cáp đồng

trục mỏng với tốc độ 10 Mb/s, chiều dài cáp tối đa của phân đoạn là 185m

( IEEE làm tròn thành 200m).

- 10baseT. Chữ T là viết tắt của “Twisted” cáp xoắn cạp. 10BaseT

hoạt động với tốc đọ 10Mb/s dựa trên hệ thống xoắn cạp Cat 3 trở lên.

- 10BaseF. F là viết tắt của Fiber Optic (sợi quang). Đây là chuẩn cho

sợi quang hoạt động với tốc độ 10 Mb/s, ra đời năm 1993.

1.5.2. Các hệ thống Ethernet tốc độ 100 Mb/s- Ethernet cao tốc (fast

Ethernet)

- 100BaseT. Chuẩn Ethernet hoat động với tốc độ 100 Mb/s trên cả

cáp xoắn cạp lẫn cáp sợi quang.

- 100BaseX. Chữ X nói lên được tính mã hóa đường truyền cả hệ

thống này (sử dụng phương pháp mã hóa 4B/5B của chuẩn FDDI) bao gồm 2

chuẩn 100BaseFX VÀ 100BaseTX.

100BaseFX. Tốc độ 100 Mb/s, dử dụng cáp sợi quang đa mode.

100BaseTX. Tốc độ 100 Mb/s, sử dụng cáp xoắn cạp.

100BaseT2 và 100BaseT4. Các chuẩn này sử dụng 2 cặp và 4 cặp

cáp xoắn cặp Cat 3 trở lên tuy nhiên hiện nay hai chuẩn này ít

được sử dụng.

1.5.3. Các hệ thống Giga Ethernet

- 1000BaseX: Chữ X nói lên đăc tính mã hóa đường truyền (chuẩn này

dựa trên kiểu mã hóa 8B/10B dùng trong hệ thống kết nối tốc độ cao Fiber

channel được phát triển bởi ANSI) chuẩn 1000BaseX gồm 3 loại:

1000Base-SX: tốc độ 1000 Mb/s, sử dụng sợi quang với sóng

ngắn.

1000Base-LX: tốc độ 1000 Mb/s, sử dụng sợi quang với sóng dài.

1000Base-cX: tốc độ 1000 Mb/s, sử dụng cáp đồng.

18

Page 19: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

- 1000BaseT: Hoạt động ở tốc độ Giga bit, băng tần cơ sở trên cáp

xoắn cặp Cat 5 trở lên. Sử dụng kiểu mã hóa đường truyền riêng để đạt được

tốc độ cao trên loại cáp này.

1.5.4. Chuẩn IEEE 802

IEEE 802 là hoc các chuẩn IEEE sành cho các mạng LAN và mạn MAN

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

cho các mạng mang các gói tin có kích thước đa dạng. Khác với các mạng

này, dữ liệu trong các mạng cell-based được truyền theo đơn vị nhỏ có cùng

kích thước được gọi là cell. Các mạng Iosochronous, nơi dữ liệu được truyền

theo một dòng lien tục các octet, hoặc nhóm các octet, tại các khoảng thời

gian đều đặn, cũng nằm ngoài phạm vi của chuẩn này.

Các dịch vụ và giao thức được đặc tả trong IEEE 802 ánh xạ tới hai tầng

thấp (tầng liên kết dữ liệu và tầng vật lý của mô hình 7 tầng OSI). Thực tế,

IEEE 802 chia tầng liên kết dữ liệu OSI thành hai tầng con LLC (điều khiển

liên kết lôgic) và MAC (điều khiển truy nhập môi trường truyền), do đó các

tầng này có thể được liệt kê như sau:

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

- Tầng con LLC

- Tầng con MAC

- Tầng vật lý

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

802 (IEEE 802 LAN/MAN standards Committee (LMSC)). Các chuẩn được

dùng rộng rãi nhất là dành cho họ Ethernet, Token Ring, mạng LAN không

dây, cá mạng LAN dùng bridge và bridge ảo (Bridging and Virtual Bridged

LANs). Chuẩn dành cho họ Ethernet là chuẩn IEEE 802.3.

19

Page 20: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

Chương 2: Họ giao thức TCP/IP2.1. Họ 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à tên 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 hai giao thức mà thực tế nó là tổ 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 là một bộ giao thức được thiết kế để đạt được hai mục tiêu

chính:

1. Cho phép truyền thông qua các đường dây của mạng rộng

(Wide Area Network – WAN).

2. Cho phép truyền thông giữa các môi trường đa dạng.

TCP/IP sử dụng mô hình truyền thông 4 tầng hay gọi là truyền hình DoD

(mô hình của bộ quốc phòng Mỹ). TCP/IP được xem là giản lược của mô hình

tham chiếu OSI, các 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).

20

Page 21: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

Hình 2. 1: Kiến trúc TCP/IP

Cũng tương tự như trong mô hình OSI, khi truyền dữ liệu, quá trình tiến

hành từ tầng trên xuống tầng dưới, qua mỗi tầng dữ liệu được thêm vào một

thông tin điều khiển được gọi là phần header. Khi nhận dữ liệu thì quá trình

xảy ra ngược lại, qua mỗi tầng thì phần header tương ứng được lấy đi và khi

đến tầng trên cùng thì dữ liệu không còn phần header nữa.

21

Page 22: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

Hình 2. 2: Quá trình đóng/mở gói dữ liệu trong TCP/IP

Hình 2. 3: Cấu trúc dữ liệu trong TCP/IP

22

Page 23: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

Hình vẽ 2.3 cho ta thấy lược đồ dữ liệu qua các tầng. Trong hình vẽ này

ta thấy tại các tầng khác nhau, dữ liệu được mang những thuật ngữ khác nhau:

- Trong tầng ứng dụng dữ liệu là các luồng được gọi là stream.

- Trong tầng giao vận, đơn vị dữ liệu mà TCP gửi xuống tầng dưới gọi

- TCP segment.

- Trong tầng mạng, dữ liệu mà IP gửi tới tầng dưới được gọi là IP

datagram.

- Trong tầng liên kết, dữ liệu được truyền đi gọi là frame.

2.1.1. 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. Được

dùng để định dạng và trao đổi thông tin người dùng. Một số giao thức thông

dụng trong tầng này là:

- DHCP (Dynamic Host Cofiguraiton Protocol): giao thức cấu hình

trạm động.

- DNS (Domain Name System): hệ thống tên miền.

- SNMP (Simple Network Management Protocol): giao thức quản lý

mạng đơn giản.

- FTP (File Transfer Protocol): giao thức truyền tập tin.

- TFTP (Trivial File Transfer Protocol): giao truyền tập tin bình

thường.

- SMTP (Simple Mail Transfer Protocol): giao thức gửi thư đơn giản.

- TELNET: là chương trình mô phỏng thiết bị đầu cuối cho phép

người dùng thiết bị login vào một máy chủ từ một máy tính nào đó trên mạng.

- Tầng ứng dụng trao đổi dữ liệu với lớp dưới (lớp vận chuyển) qua

cổng. việc dùng cổng bằng số cho phép giao thức của lớp vận chuyển biết loại

nội dung nào chứa bên trong gói dữ liệu. Những cổng được đánh bằng số và

23

Page 24: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

những ứng dụng chuẩn thừơng được dùng cùng cổng. Ví dụ: giao thức FTP

dùng cổ 20 cho dữ liệu và cổng 21 cho điều khiển, giao thức SMTP dùng

cổng 25…

2.1.2. Tầng giao vận (Transport layer)

Có trách nhiệm thiết lập phiên truyền thông giữa các máy tính và quy

định cách truyền dữ liệu, hai giao thức chính cho tầng này gồm:

- UDP (User Datagram Protocol): còn gọi là giao thức gói người dùng.

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

kênh truyền thông phi kết nối, 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.

- TCP (transmission Control Protocol): Ngược lại với UDP, TCP cung

cấp các kênh truyền thông hướng kết nối và đảm bảo truyền dữ liệu 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, 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.

2.1.3. Tầng mạng (internet layer)

Nằm bên 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. 4 giao thức quan trọng nhất trong tầng này

gồm:

24

Page 25: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

- 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 phiên dịch địa chỉ

IP của máy đích thành địa chỉ MAC.

- ICMP (Internet Control Message Protocol): có chức năng thông báo

lỗi khi truyền dữ liệu bị hỏng.

- IGMP (Internet Group Managemant Protocol): có chức năng điều

khiển truyền đa hướng (multicast).

2.1.4. Lớp liên mạng (Network Interface Layer)

Tầng giao tiếp mạng liên quan đến việc trao đổi dữ liệu giữa hai trạm

thiết bị trong cùng một mạng. Các chức năng bao gồm việc kiểm soát truy

nhập môi trường truyền dẫn, kiểm soát lỗi và lưu thông dữ liệu. Datagram

được tạo bởi từ lớp mạng (Internet) sẽ được gửi xuống tới lớp liên mạng

(Network Interface Layer) nếu truyền dữ liệu, hoặc tầng liên mạng (Network

Interface Layer) sẽ lấy dữ liệu từ mạng và gửi nó tới lớp mạng (Internet) nếu

chúng ta nhận dữ liệu.

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

Như đã đề cập ở phần trên, Ethernet là giao thức cấp dưới có ba lớp LLC

(Logic Link Control), MAC (Media Access Control), và lớp vật lý physical.

2.2. Cấu trúc gói tin IP, TCP,ARP,UDP

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

Mạng Internet dùng hệ thống địa chỉ IP (32 bit) để “định vị” các máy

tính liên kết với nó có hai cách đánh địa chỉ phụ thuộc vào cách liên kết của

từng máy tính cụ thể.

25

Page 26: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

Nếu các máy tính được kết nối trực tiếp với mạng Internet thì NIC

(Network Information Centre) sẽ cấp cho máy tính đó một địa chỉ IP (IP

Adress).

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ạng cục bộ thì người quản trị mạng sẽ cấp cho các máy tính đó một

địa chỉ IP (tuy nhiên cũng dưới sự cho phép của NIC).

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

lớp địa chỉ IP là: A, B, C, D, E. Sự khác nhau cơ bản giữa các lớp địa chỉ này

là ở khả năng tổ chức các cấu trúc con của nó.

Hình 2. 4: 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ó nhận ra được bit đầu tiên trong byte đầu tiên của địa

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

mạng. Có 126 địa chỉ lớp A (được đánh địa chỉ trong byte thứ nhất) với số

máy tính trong mạng là 2563-2= 16.777.214 máy cho mỗi một địa chỉ lớp A

(sử dụng 3 bytes để đánh địa chỉ máy).

- Địa chỉ lớp B: Một địa chỉ lớp B được nhận ra bởi 2 bít đầu tiên của

byte thứ nhất mang giá trị 10. Lớp B sử dụng 2 bít đầu tiên của byte để đánh

26

Page 27: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

địa chỉ mạng và 2 byte cuối để đánh địa chỉ máy trong mạng. Có 64*256 -2 =

16.128 địa chỉ mạng lớp B với 65.534 máy cho mỗi môt địa chỉ mạng lớp B.

- Địa chỉ lớp C: một địa chỉ lớp C được nhận ra với 3 bít đầu mang giá

trị 110. Mạng lớp C sử dụng 3 byte đầu để đánh địa chỉ mạng và một byte

cuối để đánh địa chỉ máy tính có trong mạng. Có 2.079.125-2 địa chỉ lớp C,

mỗi địa chỉ lớp C có 254 máy.

- Địa chỉ lớp D: Dùng để gửi các IP datagram tới một nhóm các host

trên một mạng.

- Lớp địa chỉ E: Dùng để dự phòng và dùng trong tương lai.

2.2.2. Cấu trúc gói tin IP

Ver-4 bit : chỉ version hiện hành của IP đang được dùng, nếu trường này

khác với phiên bản IP của thiết bị nhận, thiết bị nhận sẽ loại bỏ các gói tin

này.

IHL (IP Header Length)- 4 bit 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ẳng hạn như độ ưu tiên, thời hạn chậm trễ, năng suất truyền và độ tin

cậy cụ thể như sau:

- 3 bít đầu 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.

- Một bít tiếp theo chỉ độ chễ yêu cầu, 0 ứng với gói tin có độ trễ bình

thường, 1 ứng với gói tin có độ trễ thấp.

- Một bít tiếp theo chỉ thông lượng yêu cầu sử dụng để truyền gói tin

với lựa chọn truyền trên đường thông suất thấp hay trên đường thông

suất cao, 0 ứng với thông lượng bình thường, 1 ứng với thông lượng

cao.

- 1 bít tiếp theo có độ tin cậy yêu cầu, 0 ứng với độ tin cậy bình

thường, 1 ứng với độ tin cậy cao.

27

Page 28: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

Total length- 2byte: chỉ độ dai 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 trên đường đi có thể bị phân thành nhiều gói tin nhỏ.

Trường flags dùng để phân đoạn và lắp ghép các gói tin cụ thể như sau:

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

- Bít 1: 0 ứng với gói tin bị phân mảnh, 1 ứng với gói tin bị phân

mảnh.

- Bít 2: 0 ứng với gói tin thuộc phân đoạn cuối cùng của gói tin gốc, 1

ứng với gói tin không phải là phân đoạn cuối cùng của gói tin gốc.

Fragment Offset-32 bí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 – 1 byte: quy định thời gian tồn tại tính bằng giây của gói

tin trong mạng. Thời gian này được đặt bởi trạm gửi và giảm đi (thường quy

ước là 1) khi gói tin đi qua mỗi router của liên mạng. Một giá trị tối thiểu phải

đủ lớn để mạng hoạt động tốt.

Protocol : chỉ tầng giao thức kế tiếp sẽ nhận được dữ liệu ở trạm đích.

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

Header checksum- 2byte: Dùng để phát hiện lỗi header của gói tin xảy ra

trong quá trình truyền của nó.

Cource IP Address- 4 byte: địa chỉ IP của nơi truyền gói tin.

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

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

mỗi router.

Padding- độ dài thay đổi: Dùng để đảm bảo các header luôn kết thúc ở

một mốc 32 bít.

Data chiều dài thay đổi lớp trên, chiều dài thay đổi đến 64Kb.

28

Page 29: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

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:

- Cource Port – 2byte: 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 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ó SYN thì đây là số thứ tự của byte đầu tiên.

- Acknowledgment number – 2 byte: nếu cờ ACK bật thì giá trị của

trường chính là số thứ tự của 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 Offest- 4bit: độ dài của phần header tính theo đơn vị từ 32 bít.

Tham số này chỉ ra vị trí bắt đầu của nguồn dữ liệu.

- Reserved- 6 bít.

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

URG: Vùng con trỏ khẩn 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ộ hóa số liệu tuần tự.

FIND: không còn đủ dữ liệu ở trạm nguồn.

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

ACK number mà chạm nguồn đã sẵn sang để 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ố 16 bít mà số thứ tự gói tin cần dịch trái.

- Option -2byte: vùng tùy chọn, khai báo các option của TCP trong đó

có độ dài tối đa của vùng TCP data trong 1 segment.

29

Page 30: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

- Padding-: phẩn chèn thêm vào header để đảm bảo phần header luôn

kết thúc ở một mốc 32 bít.

- TCP data: chứa dữ liệu, của tầng trên có độ dài tối đa ngầm định là

536 byte. Gía trị này có thể khai báo trên phẩn Option.

2.2.4. Cấu trúc gói tin ARP (Adrees Resolution Protocol)

Mọi máy tính cùng nằm trên một mạng có cùng một net ID và các máy

tính cùng trên mạng vật lý có thể gửi frame vật lý trực tiếp cho nhau nên việc

truyền thông tin giữa hai máy tính trong cùng một mạng vật lý không cần sử

dụng gateway. Việc dẫn đường trực tiếp chỉ sử dụng phần địa chỉ máy host ID

trong địa chỉ IP. Trạm gửi chỉ việc kết khối dữ liệu vào frame, chuyển địa chỉ

IP của trạm đích thành địa chỉ vật lý và gửi trực tiếp frame tới máy nhận.

Một cơ chế sử dụng để chuyển địa chỉ IP thành địa chỉ vật lý là ARP

(Address Resolution Protocol). Khi hai máy tính cùng nối vào một mạng vật

lý, chúng biết được địa chỉ IP của nhau nhưng để truyền thông giữa hai máy,

chúng phải biết được địa chỉ vật lý của nhau. ARP giải quyết vấn đề chuyển

từ địa chỉ IP 32 bits sang địa chỉ Ethernet 48 bits. Người ta sử dụng hai cơ chế

đó là ARP request và ARP relay.

30

Page 31: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

31

Page 32: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

Hình 2. 5: Mô tả đường truyền dữ liệu ARP

2.2.4.1. Mô tả hoạt động của khung ARP

Chuyển giao trực tiếp: Địa chỉ vật lý là một hàm của địa chỉ IP ví dụ sử

dụng trên mạng token ring proNET-10 là mạng cho phép đặt địa chỉ IP và địa

chỉ vật lý thoải mái. Người ta có thể đặt địa chỉ IP là 192.5.48.3 và địa chỉ vật

lý là 3, khi đó ta có PA = f(IA). Với PA là địa chỉ vật lý, IA là địa chỉ Internet

và f là hàm chuyển đổi.

Chuyển giao gián tiếp: Chuyển giao địa chỉ động được thực hiện bằng

cách máy tính muốn gửi thông tin gửi một thông báo tới toàn bộ các máy tính

trên mạng, trong thông báo đó có chứa địa chỉ IP của máy tính nó cần liên lạc,

mọi máy sẽ nhận được thông báo và máy nào thấy địa chỉ IP của mình thì trả

lại một thông báo chứa địa chỉ vật lý của chính mình. Khi đó hai máy tính có

thể “nói chuyện” với nhau.

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

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

chuyển giao địa chỉ.

Một gói thông tin ARP là một Ethernet Frame được truyền trực tiếp từ

máy này tới máy khác. Vì không phải sử dụng IP, gói tin này không có địa chỉ

IP cũng như không cần được dẫn đường, nó phải được gửi broadcast tới tất cả

các máy trên mạng Ethernet (với địa chỉ FFFF_FFFF_FFFF).

Bảng 2. Error: Reference source not found: Mô tả gói thông tin ARP

32

Page 33: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

33

Page 34: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

Không giống phần lớn các giao thức khác,dữ liệu trong ARP không có

một định dạng chuẩn cho header. Để ARP có thể làm việc với nhiều công

nghệ khác nhau, người ta dùng một trường để chứa độ dài của những trường

đi sau nó.

Trong trường hợp máy tính trạm không có thiết bị nhớ phụ, và vì vậy nó

không biết địa chỉ IP của chính mình khi khởi động, người ta sử dụng cơ chế

chuyển ngược địa chỉ (Reverse Address Resolution Protocol – RARP) hoạt

đọng tương tự ARP để giải quyết vấn đề này. Theo cơ chế đó, có một máy

chủ chứa bảng địa chỉ IP của các máy trạm, khi máy trạm khởi động, nó gửi

một request tới tất cả các máy và máy chủ gửi trả lại một gói tin chứa địa chỉ

IP của máy trạm yêu cầu..

2.2.4.2. Gói tin của ARP

Protocol type: 0x0800 cho IP (0000.1000.0000.0000).

- Hardware len = 6 bytes cho ethernet.

- Protocol len = 4 bytes cho IP.

- ARP operation:

1= yêu cầu

2 = đáp lại

3/4 = RARP yêu cầu/đáp lại

Bảng 2. 1: Khung dữ liệu ARP

Destination

AddressSource Address Frame

type(ARP) Data CRC

6 bytes 6 bytes 2 bytes 28 bytes 4 ytes

34

Page 35: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

2.2.4.3. Trường của khung ARP

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

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

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

Frame type:

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

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

o IP: 0x0800

2.2.5. Cấu trúc gói tin UDP

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

- Source port – 2byte: xác định cổng của người gửi thông tin và có ý

nghĩa nếu muốn nhận thông tin phản hồi từ người nhận. nếu không thì đặt nó

bằng 0.

- Dentination port-2byte: xác định cổng nhận thông tin và trường này

là cần thiết.

- Length- 2 byte: 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 mà 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.2.6. Giao thức điều khiển truyền tin – ICMP (Internet Control

Message Protocol).

Việc dẫn đường qua các mạng sử dụng giao thức diều khiển truyền tin

(Internet Control Message Protocol - ICMP) được định nghĩa trong RFC 792.

ICMP sử dụng gói tin IP để chuyển thông báo của nó. ICMP gửi các thông

báo làm các công việc: Điều khiển, thông báo lỗi và chức năng thông tin cho

TCP/IP. Thông thường ICMP được gửi khi một gói tin không thể đi tới đích,

35

Page 36: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

một gateway không còn đủ chỗ nhớ để nhận thêm gói tin hay một gateway

hướng dẫn máy tính sử dụng gateway khác để truyền thông tin theo một con

đường tối ưu hơn.

Cấu trúc gói tin ICMP:

Mặc dù mỗi thông báo ICMP có một kiểu định dạng riêng của nó, song

các thông báo đều chứa 3 trường đầu tiên giống nhau:

TYPE: Định nghĩa thông báo đi sau.

CODE: Cung cấp thông tin thêm về thông báo.

CHECKSUM: Chứa checksum của thông báo.

Bảng 2. 2: Cấu trúc gói ICMP

Type Field ICMP Message Type

0 Echo Reply

3 Destination Ủneachable

4 Source Quench

5 Redirect (Change a router)

8 Echo Request

11 Time Exceeded for a Datagram

12 Parameter Problem on a Datagram

13 Timestamp Request

14 Timestamp Reply

15 Information Request

16 Information Reply

17 Address Mask Request

18 Address Mask Reply

36

Page 37: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

Chương 3: Phần cứng3.1. Vi điều khiển PIC

3.1.1. Giới thiệu về vi điều khiển PIC

PIC là một họ vi điều khiển theo kiến trúc Havard được sản xuất bởi

công ty Microchip Techonology

3.1.1.1. Lịch sử phát triển

Năm 1965 hãng Genneral Instrument thành lập ban vi điện tử nhằm tập

trung nghiên cứu công nghệ chế tạo bộ nhớ EPROM và EEPROM , đó là các

linh kiện thu hút nhiều đầu tư của các phòng thí nghiệm bán dẫn.Đầu những

năm 70 Genneral Instrument cũng chế tạo vi xư lý 16 bit PC1600.Bộ xử lý

này khá tốt nhưng có nhược điểm là khả năng cào ra không mạnh để thích

ứng bộ xử lý PC1600 trong các ứng dụng cần có tính năng cao. Năm 1975

Genneral Instrument thiết keess vi mạch điều khiển giao tiếp ngoại vi

(Peripheral interface controler) viêt tắt là PIC, đó là linh kiện hỗ trợ các tính

năng vào ra do đó bộ mã lệnh của nó khá nhỏ gọn. Những vi điều khiển PIC

đầu tiên có điểm yếu là chế tạo theo công nghệ n-MOS nên tiêu thụ nhiều

năng lượng, bộ nhớ chương trình là loại ROM mặt nạ chỉ nạp được một lần,

do đó chương trình điều khiển được nạp ngay khi chế tạo vi mạch nên chỉ

thích hợp với các khác hang đặt mua với số lượng lớn, để lắp ráp trong sản

xuất những sản phẩm cụ thể.

Những năm đầu thập kỉ 80 Genneral Instument gặp khó khan trong

thương mại và tổ chức lại.Hãng tập trung vào chế tạo linh kiện bán dẫn công

suất lớn là thế mạnh cho tới hiện nay của hang. General Instrument đã chuyển

nhượng Ban vi điện tử và nhà máy tại Chandle, bang Anizona cho cá nhà đầu

tư. Họ lập ra một công ty mới, đặt tên là Arizpna Microchip technology hiện

nay là Microchip technology Inc.

Chiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của

bán dẫn. Các vi mạch PIC n-MOS được cải tiến, chế tạo dựa trên nền tảng

37

Page 38: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

công nghệ mới CMOS. Các sản phẩm đầu tiên của Microchip được biết tới và

bán ra với số lượng lớn là các vi điều khiển PIC thược họ PIC16C5x. Họ này

có hai biến thể với bộ nhớ chương trình là OTP và UV EPROM. Loại OTP có

thể nạp trình một lần dùng cho sản xuất loại lớn. Loại UV EPROM có thể

xóa được bằng tia cực tím (tia UV) dùng khi phát triển, thử nghiệm phần

mềm.

Măn 1983 Microchip là hãng đầu tiên đã tích hợp được bộ nhớ chương

trình fash EEPROM vào những vi điều khiển mới, trong đó được biết đến

nhiều nhất là PIC16C84 và PIC16F84. Bộ nhớ chương trình fash đã loại bỏ

vai trò của vi điều khiển có bộ nhớ xóa bằng tia cực tím, có vỏ bằng gốm đắt

tiền và các đèn chiếu tia cưc tím.

3.1.1.2. Phân loại

Hiện nay có khá nhiều các dòng PIC và có nhiều khác biệt về phần cứng,

nhưng các chức năng chính có thể điểm qua một vài nét như sau:

8/16 bit CPU, xây dựng theo kiến trúc Harvard có sửa đổi khác với

kiến trúc Von Neumann của AVR.

Flash và ROM có thể tùy chọn từ 256 byte đến 256Kbyte

Các cổng Xuất/Nhập (T/O ports) (mức logic thường từ 0V đến 5.5V,

ứng với logic 0 và logic 1).

8/16 Bit Tỉmer

Công nghệ Nanowatt (dòng PIC 18Fxxxx)

Các chuẩn giao tiếp ngoại vi nối tiếp đồng bộ/Không đồng bộ

USART, AUSART, EUSARTs.

Bộ chuyển đổi ADC Analog –to-digital converters , 10/12bit

Bộ so sánh điện áp (Voltage Comparators)

Các module Capture/Compare/PWM.

LCD

MSSP peripheral dung cho giao tiếp I2C, SPI, I2S.

Bộ nhớ nội EEPROM –có thể ghi/xóa lên tới 1 triệu lần

38

Page 39: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

Module điều khiển động cơ, đọc encoder

Hỗ trợ giao tiếp USB

Hỗ trợ điều khiển Ethernet

Hỗ trợ giao tiếp CAN

Hỗ trợ giao tiếp LIN

Hỗ trợ giao tiếp IrDA

Một số dòng có tích hợp bộ RF (PIC 16F639 và rfPIC)

KEELOQ mã hóa và giải mã

DSP những tính năng xử lý tín hiệu số (dsPIC)

Tiêu chuẩn để phân nhóm dựa vào sự khác nhau về kiến trúc bộ xử lý

bên trong của vi điều khiển:

- Số các thanh ghi có thể truy nhập được.

- Có hay không có ngắt, số lượng ngắt .

- Độ dài từ lệnh.

- Chia làm 4 họ:

Họ cấp thấp (low - end): 12C5xx,16C5x,16C505, 16HV540.

Họ cấp chung (mid - range): 12C6xx, 14C000, 16C6x, 16C62x,

16F62x,16C67x, 16CC8x, 16F87x, 169xx.

Họ cấp cao (high - end): 17Cxxx.

Họ cấp cao (high – performance): 18Cxxx,18Fxx2.

3.1.2. Một số ưu điểm của Microchip PIC

Bộ nạp trình cho PIC có thể tự lắp ráp một cách dễ dàng với chi phí

thấp dp ƠIC chủ yếu nạp trình theo chuẩn ICSP (In –Circuit Siral

Programming) là phương pháp nạp trình nối tiếp: các dữ liệu được nạp vào

bộ nhớ chương trình thông qua 2 chân vào /ra được gán là cổng truy nhập đến

bộ nhớ chương trình trong quá trình nạp trình. Do đó nhờ có bộ nhớ flash và

nạp trình theo chuẩn ICSP mà những người nghiên cứu và sử dụng PIC đã tiết

kiệm được đáng kể cho phí mua các công cụ nạp. Với bộ nhớ flash thì thời

39

Page 40: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

gian nạp trình cũng được cải thiện đáng kể (chỉ khoảng vài chục giây) so với

UV EPROM (cỡ vài chục phút).

Microchip cũng cung cấp rất đầy đủ và chi tiết các tài liệu kỹ thuật về

tất cả các loại vi điều khiển PIC. Ngoài ra còn có rất nhiều sách viết về PIC

và các trang web nói về vi điều khiển này. Tài liệu hỗ trợ cho vi điều khiển

PIC chỉ dung sau máy tính cá nhân PC và về doanh số bán ra thị trường hiện

nay. Microchip đã đứng đầu về doanh số bán PIIC 8bit, vượt lên các vi điều

khiển của Motorola.

3.1.3. Vi điều khiển PIC18F4550

3.1.3.1. PIC18F4550

Hình 3. 1: Hình thực tế của PIC18F4550

PIC18F4550 là vi điều khiển thuộc nhóm cao cấp trong dòng vi điều

khiển PIC18 – hiệu suất tính toán lớn, giá cả phù hợp - độ bền cao, dung

lượng bộ nhớ chương trình được nâng cấp. Ngoài ra chúng còn được thiết kế

để phù hợp cho những ứng dụng có hiệu suất cao, ít tiêu tốn năng lượng.

Những tính năng PIC18F4550

Tần số hoạt động: DC - 48 MHz

Bộ nhớ chương trình (Bytes): 32768

Bộ nhớ chương trình (Chỉ định): 16384

Bộ nhớ dữ liệu (Bytes): 204840

Page 41: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

Bộ nhớ EEPROM dữ liệu (Bytes): 256

Nguồn ngắt: 20

Cổng I/O: Ports A,B,C,D,E

Timers: 4

Module Capture/Compare/PWM: 1

Module Capture/Compare/PWM cải tiến: 1

Giao tiếp nối tiếp: MSSP, USART cải tiến.

Module Universal Serial Bus (USB): 1

Streaming Parallel Port (SPP): có

Module 10-Bit Analog-to Digital: 13 Input Channels

Bộ so sánh (Comparators): 2

Resets (and Delays): POR, BOR, RESET Instruction, Stack Full,

Stack Underflow (PWRT, OST), MCLR (optional), WDT

Programmable Low-Voltage Detect: có

Programmable Brown-out Reset: có

Instruction Set: 75 Instructions; 83 with Extendexd Instruction Set

enabled

Packages: 40-Pin PDIP, 44-Pin QFN, 44-Pin TQFP

Điểm chú ý của PIC18f4550:

Với bộ nhớ có 32kb Flash lưu trữ chương trình, 2kb bộ nhớ SRAM

bay hơi và 256byte EEPROM (Bộ nhớ không bay hơi) để lưu trữ dại

hạn dữ liệu như cấu hình….

Các chỉ thị dài 1byte với ngoại lệ dài 2byte (CALL, MOVFF,

GOTO, LSFR). Sử dụng cơ chế đường ống để thực thi mã bằng việc

khiến các chỉ thị liên tiếp hoạt động trong 4 xung nhịp (độ dại xung) có

4 lần nhảy xung được thêm vào.

Các đặc tính đáng chú ý khác là có đồng hồ, ngắt (đồng hồ gắn trong

và gắn ngoài) với hai mức ưu tiên và dung cả hai mức như bộ so sánh

41

Page 42: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

tương tự kèm theo với bộ phát điện thế chuẩn có 16 mức (hữu ích khi

dung trigger ở mức phần cứng).

Cuối cùng, PIC cũng có bộ chuyển đổi tương tự 10 bit nhưng dao

đông ký không đủ yêu cầu về tốc độ cao cần thiết. Vì vậy máy phát dao

động có tốc độ

48Mhz giữa thời gian trễ do truyền tải các ngắt khác (vòng lặp…).

Không thể đạt được tốc độ lớn hơn 200Khz.

3.1.3.2 Sơ đồ chân

Hình 3. 2: sơ đồ chân của PIC18F4550

3.1.3.3 Chức năng của các chân PIC18F4550

Bảng 3. 1: Bảng chức năng chân của PIC18F4550

stt chân

Chức

năng

Thanh

Ghi

TRISI/O

Kiểu

I/OMô tả

1 MCLR

/

VPP/

MCLR 1 I STMaster clear.chân reset đầu vào

thiết lập

VPP P Đầu vào kênh 0 của bộ biển đổi

42

Page 43: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

RE3

A/D

RE3 1 I ST Đầu vào số

13OSC1/

CLKI

OSC1 1 I ANA Đầu vào nối với bộ giao động

CLKI 1 I ANA

Đầu vào nguồn xung ngoài, Luôn

gắn liền với

chức năng pin OSC1

14

OSC2/

CLKO

/RA6

OSC2 0 O -- Đầu vào nối với bộ giao động

CLKO 0 O --Đầu vào nguồn xung ngoài, Luôn

gắn liền với

chức năng pin OSC1

RA6 1/0 I/O TLL chân vào/ra bình thường

Bảng 3. 2: Bảng chức năng chân của PORTA

stt chân

Chức

năng

Thanh

Ghi

TRISI/O

Kiểu

I/OMô tả

2RA0/

AN0

RA00

1

O

I TTL

Chiều ra vào dữ liệu, không ảnh

hưởng đầu vào tương tự

AN0 1 IANA

Đầu vào kênh 0 của bộ biển đổi

A/D

3RA1/

AN1

RA10

1

O

I TTL

Chiều ra vào dữ liệu, không ảnh

hưởng đầu vào tương tự

AN1 1 I ANAĐầu vào kênh 1 của bộ biển đổi

A/D

4 RA2/

AN2/

RA2 0

1

O

I TTL

Chiều ra vào dữ liệu, không ảnh

hưởng đầu vào tương tự

43

Page 44: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

VREF-

/

CVRE

F

AN2 1 I ANAĐầu vào kênh 2 của bộ biển đổi

A/D

VREF- 1 I ANAA/D và đầu vào điện áp tham chiếu

mức thấp bộ so sánh

CVREF X O ANAĐầu ra điện áp tham chiếu bộ so

sánh

5

RA3/

AN3/

VREF

+

RA30

1

O

ITTL

Chiều ra vào dữ liệu, không ảnh

hưởng đầu vào tương tự

AN3 1 I ANAĐầu vào kênh 3 của bộ biển đổi

A/D

VREF+ 1 I ANAA/D và đầu vào điện áp tham chiếu

mức cao bộ so sánh

6

RA4/

T0CKI

/

C1OU

T/

RCV

RA40

1

O

IST

Chiều ra vào dữ liệu, không ảnh

hưởng đầu vào tương tự

T0CKI 1 I ST Cấp xung cho timer0

C1OUT 0 O --Đầu ra 1 bộ so sánh/ưu tiên hơn

vào/ra dữ liệu

RCV 1 I TTLĐầu vào USB thu phát RCV bên

ngoài

7

RA5/

AN4/

SS/

HLVD

IN/

C2OU

T

RA50

1

O

ITTL

Chiều ra vào dữ liệu, không ảnh

hưởng đầu vào tương tự

AN4 1 I ANAĐầu vào kênh 4 của bộ biển đổi

A/D

SS 1 I TTLĐầu vào SS(lựa chọn thiết bị tơ)

chế độ SPI

HLVDI

N1 I ANA Đầu vào module phát điện áp cao

C2OUT 0 O --Đầu ra 2 bộ so sánh/ưu tiên hơn

vào/ra dữ liệu

44

Page 45: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

Bảng 3. 3: Bảng chức năng chân của PORTB

stt chân

Chức

năng

Thanh

Ghi

TRISI/O

Kiểu

I/OMô tả

33

RB0/

AN12/

INT0/

FLT0/

SDI/

SDA

RB0 1/0 I/O TTLChiều ra /vào dữ liệu, không ảnh

hưởng đầu vào tương tự

AN12 1 I ANAĐầu vào kênh 12 của bộ biển đổi

A/D

INT0 1 I ST Ngắt ngoài 0

FLT0 1 I STĐầu vào báo sự cố PWM(module

ECCP1)

SDI 1 I ST Đầu vào dữ liệu chế độ SPI

SDA 1/0 I/O ST Đầu vào/ra dữ liệu chế độ I2C

34

RB1/

AN10/

INT1/

SCK/

SCL

RB1 1/0 I/O TTLChiều ra/ vào dữ liệu, không ảnh

hưởng đầu vào tương tự

AN10 1 I ANAĐầu vào kênh 10 của bộ biển đổi

A/D

INT1 1 I ST Ngắt ngoài 1

SCK 1/0 I STXung đồng bộ nối tiếp đầu vào/ra

cho chế độ SPI

SCL 1/0 I/O STXung đồng bộ nối tiếp đầu vào/ra

cho chế độ I2C

35 RB2/

AN8

/INT2/

VMO

RB2 1/0 I/O TTLChiều ra/ vào dữ liệu, không ảnh

hưởng đầu vào tương tự

AN8 1 I ANAĐầu vào kênh 8 của bộ biển đổi

A/D

INT2 1 I ST Ngắt ngoài 245

Page 46: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

VMO 0 O -- Ngắt thu phát USB ,đầu ra VMO

36

RB3/

AN9/

CCP2/

VPO

RB3 1/0 I/O TTLChiều ra /vào dữ liệu, không ảnh

hưởng đầu vào tương tự

AN9 1 I ANAĐầu vào kênh 9 của bộ biển đổi

A/D

CCP2(1

)1/0 I/O ST

Đầu vào bộ capture CCP2/ CCP2

của bộ so sánh đầu ra của PWM

VPO 0 O -- Ngắt thu phát USB ,đầu ra VPO

37

RB4/

AN11/

KBI0/

CSSPP

RB4 1/0 I/O TTLChiều ra/vào dữ liệu, không ảnh

hưởng đầu vào tương tự

AN11 1 I ANAĐầu vào kênh 11 của bộ biển đổi

A/D

KBI0 1 I TTLChân ngắt của ngắt thay đổi mức

PORTB

CSSPP 0 O -- Điều kiển chọn chip đầu ra SPP

38

RB5/

KBI1/

PGM

RB5 1/0 I/O TTL Chiều ra /vào dữ liệu số

KBI1 1 I TTLChân ngắt của ngắt thay đổi mức

PORTB

PGM 1/0 I/O STTín hiệu nối mạch nạp nối

tiếp(ICSP)

39

RB6/

KBI2/

PGC

RB6 1/0 I/O TTL Chiều ra/ vào dữ liệu số

KBI2 1 I TTLChân ngắt của ngắt thay đổi mức

PORTB

PGC 1/0 I/O ST Đầu vào xung từ(ICSP và ICD)

40

RB7/

KBI3/

PGD

RB7 1/0 I/O TTL Chiều ra/ vào dữ liệu số

KBI3 1 I TTLChân ngắt của ngắt thay đổi mức

PORTB

46

Page 47: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

Bảng 3. 4: Bảng chức năng chân của PORTC

stt chân

Chức

năng

Thanh

Ghi

TRISI/O

Kiểu

I/OMô tả

15

RC0/

T1OS

O/

T13CK

I

RC0 1/0 I/O ST Chiều ra /vào dữ liệu số

T1OSO 0 O — Đầu ra bộ phất xung timer 1

T13CK

I1 I ST

Cấp xung cho timer1 /timer3 chế

độ đếm sự kiện (counter).

16

RC1/

T1OSI/

CCP2/

UOE

RC1 1/0 I/O ST Chiều ra /vào dữ liệu số

T1OSI x ICM

OS

Đầu vào bộ dao động timer1.cấm

đầu ra/vào số

CCP2(2

)1/0 I/O ST

Đầu vào capture (CCP2)/CCP2 của

bộ so sánh và đầu ra của PWM

UOE 0 — — Ngắt thu phát USB ,đầu ra UOE

17

RC2/

CCP1

/P1A

RC2 1/0 I/O ST Chiều ra /vào dữ liệu số

CCP1 1/0 I/O STĐầu vào capture (CCP1)/ CCP1

của bộ so sánh và đầu ra của PWM

P1A 0 O TTLĐiện áp tăng cường đâu ra CCP1

PWM, kênh A.

23RC4/

D-/VM

RC4 1 I TTL Chiều ra /vào dữ liệu số

D- 1/0 I/O —Dòng trừ khác biệt USB (đầu vào/

ra)

VM 1 I TTL Ngắt thu phát USB ,đầu vào VM

24

RC5/

D+

/VP

RC5 1 I TTL Chiều ra /vào dữ liệu số

D+ 1/0 I/O —Dòng cộng khác biệt USB (đầu

vào/ ra)

VP 1 O TTL Ngắt thu phát USB ,đầu vào VP

47

Page 48: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

25

RC6/

TX/

CK

RC6 1/0 I/O ST Chiều ra /vào dữ liệu số

TX 0 O —Chân truyền dữ liệu nối tiếp không

động bộ của module EUSART

CK 1/0 I/O STChân phát xung (clock) đồng bộ

nối tiếp của module EUSART

26

RC7/

RX/

DT/

SDO

RC7 1/0 I/O ST Chiều ra /vào dữ liệu số

RX 0 O STChân nhận dữ liệu nối tiếp không

động bộ của module EUSART

DT 1/0 I/O ST

Chân truyền dữ liệu nối tiếp động

bộ của

module EUSART

SDO 1 I — Chân ra dữ liệu của giao tiếp SPI

Bảng 3. 5: Bảng chức năng chân của PORTD

stt chân

Chức

năng

Thanh

Ghi

TRISI/O

Kiểu

I/OMô tả

19

RD0/

SPP0

RD0 1/0 I/O ST Chiều ra /vào dữ liệu số

SPP0 1/0 I/O TLL Cổng dữ liệu song song

20

RD1/

SPP1

RD1 1/0 I/O ST Chiều ra /vào dữ liệu số

SPP1 1/0 I/O TLL Cổng dữ liệu song song

21

RD2/

SPP2

RD2 1/0 I/O ST Chiều ra /vào dữ liệu số

SPP2 1/0 I/O TLL Cổng dữ liệu song song

22 RD3/

SPP3

RD3 1/0 I/O ST Chiều ra /vào dữ liệu số

SPP3 1/0 I/O TLL Cổng dữ liệu song song

48

Page 49: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

27

RD4/

SPP4

RD4 1/0 I/O ST Chiều ra /vào dữ liệu số

SPP4 1/0 I/O TLL Cổng dữ liệu song song

28

RD5/

SPP5

/P1B

RD5 1/0 I/O ST Chiều ra /vào dữ liệu số

SPP5 1/0 I/O TLL Cổng dữ liệu song song

P1B 0 O —Đầu ra kênh B của bộ PWM tăng

cường ECCP1

29

RD6/

SPP6

/P1C

RD6 1/0 I/O ST Chiều ra /vào dữ liệu số

SPP6 1/0 I/O TLL Cổng dữ liệu song song

P1C 0 O —Đầu ra kênh C của bộ PWM tăng

cường ECCP1

30

RD7/

SPP7

/P1D

RD7 1/0 I/O ST Chiều ra /vào dữ liệu số

SPP7 1/0 I/O TLL Cổng dữ liệu song song

P1D 0 O —Đầu ra kênh D của bộ PWM tăng

cường ECCP1

Bảng 3. 6: Bảng chức năng chân của PORTE

stt chân

Chức

năng

Thanh

Ghi

TRISI/O

Kiểu

I/OMô tả

8 RE0/

AN5/

CK1SP

P

RE0 1/0 I/O STChiều ra /vào dữ liệu số,khồng ảnh

hưởng của đầu vào analog

AN5 1 I ANA Đầu vào kênh 5 của bộ chuyển đổi

A/D

49

Page 50: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

CK1SP

P0 O — Xung ra 1 SPP

9

RE1/

AN6/

CK2SP

P

RE1 1/0 I/O STChiều ra /vào dữ liệu số,khồng ảnh

hưởng của đầu vào analog

AN6 1 I ANAĐầu vào kênh6 của bộ chuyển đổi

A/D

CK2SP

P0 O — Xung ra 2 SPP

10

RE2/

AN7/

OESPP

RE2 1/0 I/O STChiều ra /vào dữ liệu số,khồng ảnh

hưởng của đầu vào analog

AN7 1 I ANAĐầu vào kênh 7 của bộ chuyển đổi

A/D

OESPP 0 O — Cho phép SPP đầu ra.

12

,3

1

VSSVSS P Nối mass

11

,3

2

VDDVDD P ST Nối nguồn dương

29 VUSB VUSB 0 O STNội bộ USB đầu ra điều chỉnh điện

áp 3.3V.

Legend:

TTL = TTL compatible input CMOS = CMOS

compatible input or output

ST = Schmitt Trigger input with CMOS levels I = Input

O = Output P = Power

Note 1: Alternate assignment for CCP2 when CCP2MX Configuration

bit is cleared.

50

Page 51: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

2: Default assignment for CCP2 when CCP2MX Configuration bit is set.

3: These pins are No Connect unless the ICPRT Configuration bit is set.

For NC/ICPORTS, the pin is No Connect unless ICPRT is set and the

DEBUGConfiguration bit is cleared

3.3. Cảm biến nhiệt độ LM35

IC đo nhiệt độ là một mạch tích hợp nhận tín hiệu nhiệt độ chuyển thành

tín hiệu điện dưới dạng dòng điện hay điện áp. Dựa vào đặc tính rất nhạy của

các bán dẫn với nhiệt độ, tạo ra điện áp hoặc dòng điện tỷ lệ thuận với nhiệt

độ tuyệt đối. Đo tín hiệu điện ta biết được giá trị của nhiệt độ cần đo. Sự tác

động tạo ra điện tích tự do và lỗ trống trong chất bán dẫn. Bằng sự phá vỡ

các phần tử, bứt các electron thành dạng tự dô di chuyển qua cùng cấu trúc

mạng tinh thể tọa sự xuất hiện các lỗ trống. Làm cho tỷ lệ điện tử tự do và lỗ

trống tăng lên theo quy luật hàm mũ với nhiệt độ.

Các đặc trưng của LM35:

- Ngõ ra là điện áp.

- Đơn vị nhiệ độ : oC.

- Các hiệu năng cao, công suất tiêu thụ là 60uA.

- Sản phẩm không cần phải canh chỉnh nhiệt độ khi sử dụng.

- Độ nhạy 10mV/1oC.

- Sai số cực đạu 1,5oC khi nhiệt độ lớn hơn 100oC.

- Phạm vi sử dụng: 0oC => 100oC.

- Chân +Vs là chân cung cấp điện áp cho LM35 hoạt động (4->20V)

- Chân Vout là chân điện áp ngõ ra của LM35, được đưa vào chân

Analog của các bộ ADC.

- Chân GND là chân nỗi mas, lưu ý cần nỗi mass chân này để tránh làm

hỏng cảm biến cũng như làm giảm sai số trong quá trình đo.

- Cứ 10mV tương ứng với 1oC, ở 0oC điện áp ra là 0V, tương ứng với

giá trị ADC là 0. Ta dùng ADC 10bit với điện áp lấy mẫu là 5V , giá trị của

51

Page 52: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

ADC từ 0 đến 1023. Vậy mỗi giá trị ADC ứng với 5V/1024 = 4.883mV. Vậy

1 giá trị của A/D tương ứng với 0.4883oC. Muốn tăng độ phân giải A/D ta

giảm giá trị điện áp lấy mẫu đi.

Hình 3. 3: Sơ đồ chân của LM35

Tính toán để chuyển đổ mức logic chân ADC của vi điều khiển thành

nhiệt độ hiện thị:

Ta có ADC 10bit, vậy có 1024 mức lượng tử. Điện áp lấy mẫu trong bài ta sử

dụng là 5V. Như vậy mỗi mức lượng tử tương ứng với giá trị điện áp là:

LM35 thay đổi 10mV/1oC do đó ứng với thay đổi 1oC sẽ thay đổi 2.048 mức

lượng tử (10mV/4.883mV = 2.048). Như vậy ta sẽ có công thức tính nhiệt độ

để hiển thị là:

Nhiệt độ = (oC)

(Adc_value :là giá trị chân ADC của PIC đọc từ LM35)

3.4. Module Ethernet ENC28J60 và chuẩn giao tiếp SPI

Thông thường để kết nối thiết bị điều khiển với mạng Ethernet có hai

cách, một là sử dụng các vi điều khiển tích hợp sẵn phần giao tiếp với 52

Page 53: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

Ethernet, phổ biến là các dòng PIC18F66J60, PIC18F66J65, PIC18F67J60,

PIC18F67J60, PIC18F86J60…. của Microchip. Sử dụng phương thức này có

ưu điểm viết mã code đơn giản, kích thước bo mạch nhỏ gọn. Ngoài ra còn có

cách khác là sử dụng chip giao tiếp Ethernet ENC28J60, với cách sử dụng này

bo mạch sẽ có kích thước lớn hơn, thường tách thành hai module độc lập

được kết nối qua card hỗ trợ giao tiếp chuẩn SPI (Serial Pheripheral

Interface).

Trong module ghép nối Ethernet, người thực hiện đề tài đã chọn cách sử

dụng chip ENC28J60.

3.4.1. Vi Mạch Ethernet ENC28j60

ENC28J60 là vi điều khiển hỗ trợ kết nối Ethernet ở lớp vật lý tương tự

trong mô hình OSI 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ớp vậ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, đồng thời nhằm tránh xung

đột trên kênh truyền.

3.4.2. Sơ đồ chân và sơ đồ khối của ENC28j60

Sơ đồ chân ENC28j60:

53

Page 54: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

Hình 3. 4: Sơ đồ chân ENC28J60

Sơ đồ khối ENC28J60:

Hình 3. 5: Sơ đồ khối ENC28J60

54

Page 55: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

3.4.3. Sơ đồ ghép nối vi điều khiển với ENC28j60

Hình 3. 6: Sơ đồ ghép nối vi điều khiển với ENC28j60

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

3.4.4. Sơ đồ nguyên lý Module Ethernet

55

Page 56: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

Hình 3. 7 : Sơ đồ nguyên lý Module Ethernet

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ới PIC18.

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: 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ủa ENC28J60. Nếu phát hiện có dữ liệu nó sẽ đọc dữ liệu

và xử lí.

Truyền dữ liệu: Thông qua giao tiếp SPI, PIC18 sẽ gửi dữ liệu vào

bộ đệm phát của ENC28J60. ENC28J60 sẽ mã hóa dữ liệu và truyền ra đường

RJ45 đến địa chỉ mong muốn.

3.4.5. Module Ethernet

56

Page 57: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

Hình 3. 8: Module Ethernet thực tế

- Sử dụng chip ENC28j60 Ethernet, SOP 28 chân.

- Giao tiếp theo chuẩn SPI.

- Đầu nối RJ45 HR911105A.

- Sử dụng điện áp 3,3V.

- Tần số 25Mhz.

57

Page 58: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

- Trong mạch này, sử dụng đầu cắm giao tiếp RJ45 là HR911105A của

HANRUN.HR911105A được tích hợp sẵn biến áp cad có 2 đèn led để thông

báo trạng thái kết nối của mạch.

3.4.6. Chuẩn truyền thông SPI

SPI (Serial Peripheral Inteface) là một chuẩn truyền thông nối tiếp tốc độ

cao do hãng Motorola đề xuất. Đây là kiểu truyền thông Master-Slave, trong

đó có 1 chip Master điều phối quá trình tuyền thông và các chip Slaves được

điều khiển bởi Master vì thế truyền thông chỉ xảy ra giữa Master và Slave.

SPI là một cách truyền song công (full duplex) nghĩa là tại cùng một thời

điểm quá trình truyền và nhận có thể xảy ra đồng thời. SPI đôi khi được gọi là

chuẩn truyền thông “4 dây” vì có 4 đường giao tiếp trong chuẩn này đó là

SCK (Serial Clock), MISO (Master Input Slave Output), MOSI (Master

Ouput Slave Input) và SS (Slave Select).

SCK: Xung giữ nhịp cho giao tiếp SPI, vì SPI là chuẩn truyền đồng bộ

nên cần 1 đường giữ nhịp, mỗi nhịp trên chân SCK báo 1 bit dữ liệu đến hoặc

đi. Đây là điểm khác biệt với truyền thông không đồng bộ mà chúng ta đã biết

trong chuẩn UART. Sự tồn tại của chân SCK giúp quá trình tuyền ít bị lỗi và

vì thế tốc độ truyền của SPI có thể đạt rất cao. Xung nhịp chỉ được tạo ra bởi

chip Master.

MISO– Master Input/Slave Output: nếu là chip Master thì đây là đường

Input còn nếu là chip Slave thì MISO lại là Output. MISO của Master và các

Slaves được nối trực tiếp với nhau.

MOSI – Master Output/Slave Input: nếu là chip Master thì đây là đường

Output còn nếu là chip Slave thì MOSI là Input. MOSI của Master và các

Slaves được nối trực tiếp với nhau.

SS – Slave Select: SS là đường chọn Slave cần giap tiếp, trên các chip

Slave đường SS sẽ ở mức cao khi không làm việc. Nếu chip Master kéo

đường SS của một Slave nào đó xuống mức thấp thì việc giao tiếp sẽ xảy ra

58

Page 59: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

giữa Master và Slave đó. Chỉ có 1 đường SS trên mỗi Slave nhưng có thể có

nhiều đường điều khiển SS trên Master, tùy thuộc vào thiết kế của người

dùng.

Hình 3. 9: SPI giữa một chip Master và 3 chip Slave thông qua 4 đường.

Hoạt động: mỗi chip Master hay Slave có một thanh ghi dữ liệu 8 bits.

Cứ mỗi xung nhịp do Master tạo ra trên đường giữ nhịp SCK, một bit trong

thanh ghi dữ liệu của Master được truyền qua Slave trên đường MOSI, đồng

thời một bit trong thanh ghi dữ liệu của chip Slave cũng được truyền qua

Master trên đường MISO. 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”.

59

Page 60: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

Hình 3. 10: Quá trình truyền 1 gói dữ liệu thực hiện bởi module SPI

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

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. 11: Quá trình đọc thanh ghi điều khiển Ethernet

60

Page 61: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

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

Hình 3. 13: Quá trình ghi vào thanh ghi lệnh

61

Page 62: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

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

Hình 3. 15: 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.

3.5. Text LCD62

Page 63: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

3.5.1. Cấu trúc Text LCD

Text LCD là các loại màn hình tinh thể lỏng dung để hiển thị các dòng

chữ hoặc số trong bẳng mã ASCII.Không giống các loại LCD lớn, text LCD

được chia sẵn thành từng ô và ứng với mỗi ô chỉ có thể hiển thị một ký tự

ASCII.Cũng vì lý do chỉ hiển thị được ký tự ASCII nên loại LCD này được

gọi là Text LCD (để phân biết với Graphic LCD có thể hiển thị được hình

ảnh). Mỗi ô của Text LCD bao gồm các chấm tinh thể lỏng, việc kết hợp “ẩn”

và “hiện”các chấm này sẽ tạo thành một ký tự cần hiển thị. Trong Text LCD,

các mẫu ký tự được đinh nghĩa sẵn. Kích thước của Text LCD được định

nghĩa bằng số ký tự có thể hiển thị trên 1 dòng và tổng số dòng mà LCD có.

Ví dụ LCD 16x2 là loại có 2 dòng và mỗi dòng hiển thị tối đa được 16 ký tự.

Một số kích thước thông thường của LCD là: 16x1, 16x2, 16x4, 20x2, 20x4…

Hình 3. 16: Text LCD 16x2

63

Page 64: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

Text LCD có 2 giao thức cơ bản là nối tiếp (như I2C) và song song.

Trong phạm vi bài học này chúng tôi chỉ giới thiệu loại giao tiếp song song,

cụ thể là LCD 16x2 điều khiển bởi chip HD44780U của hang Hitachi. Đối với

các LCD khác bạn cần tham khảo datasheet riêng của từng loại , HD44780U

cũng được gọi là chuẩn chung cho các loại Text LCD, vì thế bạn có thể dung

chương trình ví dụ trong bài này để text trên các LCD khác với 1 ít chỉnh sửa

cho phù hợp.

HD44780U là bộ điều khiển cho các Text LCD dạng ma trận điểm, chip

này có thể được dung cho các LCD có 1 hoặc 2 dòng hiển thị. HD44780U có

2 mode giao tiếp là 4bit và 8 bit. Nó chứa sẵn 208 ký tự mẫu kích thước font

5x8 và 32 ký tự mẫu font 5x10 (tổng cộng có 240 mẫu ký tự khác nhau).

3.5.2. Sơ đồ chân

Bảng 3. 7: Chức năng chân của LCD

Chức năngSố thứ

tự chânTên Trạng thái logic Mô tả

Ground 1VSS

(GND)- 0V

Nguồn cho

LCD2

VDD

(VCC)- +5V

Tương

phản3 Vee - 0 – Vdd

Điều khiển

LCD4 RS

0

1D0-D7: lệnh

5 R/W0

1D0-D7: dữ liệu

6 E 0

1

Ghi (Từ PIC vào

LCD)64

Page 65: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

Từ 1 xuống 0 Đọc (từ LCD vào PIC)

Dữ liệu/

Lệnh

7 D0 0/1 Bit 0 LSB

8 D1 0/1 Bit 1

9 D2 0/1 Bit 2

10 D3 0/1 Bit 3

11 D4 0/1 Bit 4

12 D5 0/1 Bit 5

13 D6 0/1 Bit 6

14 D7 0/1 Bit 7 MSB

Các Text LCD theo chuẩn HD44780U thường có 16 chân trong đó có 14

chân kết nối với bộ điều khiển và 2 chân nguồn cho “đèn LED nền”. Thứ tự

chân thường được sắp xếp như hình trên.

Trong một số LCD 2 chân LED nền được đánh số 15 và 16 nhưng trong

một số trường hợp 2 chân này đươc ghi là A(Anode) và K(Cathode).

65

Page 66: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

Hình 3. 17: kết nối Text LCD với Vi điều khiển

Chân 1 và 2 là các chân nguồn, được nối với GND và nguồn 5V. Chân 3

là chân chỉnh độ tương phản (contrast), chân này cần được nối với 1 biến trở

để đạt được độ tương phản cần thiết, sau đó giữa mức biến trở này. Các chân

điều khiển RS, R/W,EN và các đường dữ liệu được nối trực tiếp với vi điều

khiển. Tùy theo chế độ hoạt động 4bit hay 8bit mà các chân từ D0 đến D3 có

thể bỏ qua hoặc nối với vi điều khiển, chúng ta sẽ khảo sát kỹ càng hơn trong

các phần sau.

3.5.3. Điều khiển hiển thị

Các chân điều khiển việc đọc và ghi LCD bao gồm RS,R/W và EN.

Chân RS là chân số 3: Chân lựa chọn thanh ghi ,chân này cho phép lựa chọn 1

trong 2 thanh ghi ỈR hoặc DR để làm việc. Vì cả 2 thanh ghi này đều được kết

66

Page 67: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

nối với các chân Data của LCD nên cần 1 bit để lựa chọn giữa chúng. Nếu

RS=0, thanh ghi IR được chọn và nếu RS=1 thanh ghi DR được chọn. Chúng

ta đều biết thanh ghi IR là thanh ghi chứa mã lệnh cho LCD, vì thế nếu muốn

gởi 1 mã lệnh đến LCD thì chân RS phải được reset về 0. Ngược lại, khi

muốn ghi mã ASCII của ký tự cần hiển thị lên LCD thì chúng ta sẽ set RS=1

để chọn thanh ghi DR. Hoạt động của chân RS được mô tả trong hình 12.

Hình 3. 18: Hoạt động của chân RS

R/W (chân số 4): Chân lựa chọn giữa việc đọc và ghi. Nếu R/W=0 thì dữ

liệu sẽ được ghi từ bộ điều khiển ngoài (vi điều khiển AVR chẳng hạn) vào

LCD. Nếu R/W=1 thì dữ liệu sẽ được đọc từ LCD ra ngoài. Tuy nhiên, chỉ có

duy nhất 1 trường hợp mà dữ liệu có thể đọc từ LCD ra, đó là đọc trạng thái

LCD để biết LCD có đang bận hay không (cờ Busy Flag - BF). Do LCD là

một thiết bị hoạt động tương đối chậm (so với vi điều khiển), vì thế một cờ

BF được dùng để báo LCD đang bận, nếu BF=1 thì chúng ta phải chờ cho

LCD xử lí xong nhiệm vụ hiện tại, đến khi nào BF=0 một thao tác mới sẽ

được gán cho LCD. Vì thế, khi làm việc với Text LCD chúng ta nhất thiết

phải có một chương trình con tạm gọi là wait_LCD để chờ cho đến khi LCD

rảnh. Có 2 cách để viết chương trình wait_LCD. Cách 1 là đọc bit BF về kiểm

tra và chờ BF=0, cách này đòi hỏi lệnh đọc từ LCD về bộ điều khiển ngoài,

do đó chân R/W cần được nối với bộ điều khiển ngoài. Cách 2 là viết một

hàm delay một khoảng thời gian cố định nào đó (tốt nhất là trên 1ms). Ưu

điểm của cách 2 là sự đơn giản vì không cần đọc LCD, do đó chân R/W 67

Page 68: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

không cần sử dụng và luôn được nối với GND. Tuy nhiên, nhược điểm của

cách 2 là khoảng thời gian delay cố định nếu quá lớn sẽ làm chậm quá trình

thao tác LCD, nếu quá nhỏ sẽ gây ra lỗi hiển thị. Trong bài này tôi hướng dẫn

bạn cách tổng quát là cách 1, để sử dụng cách 2 bạn chỉ cần một thay đổi nhỏ

trong chương trình wait_LCD (sẽ trình bày chi tiết sau) và kết nối chân R/W

của LCD xuống GND.

EN (chân số 5): Chân cho phép LCD hoạt động (Enable), chân này cần

được kết nối với bộ điều khiển để cho phép thao tác LCD. Để đọc và ghi data

từ LCD chúng ta cần tạo một “xung cạnh xuống” trên chân EN, nói theo cách

khác, muốn ghi dữ liệu vào LCD trước hết cần đảm bảo rằng chân EN=0, tiếp

đến xuất dữ liệu đến các chân D0:7, sau đó set chân EN lên 1 và cuối cùng là

xóa EN về 0 để tạo 1 xung cạnh xuống.

3.5.4. Mạch RJ14

- Mạch sử dụng đầu cắm giao tiếp RJ14 là HR911105A của HANRUN,

HR911105A được tích hợp sắn biến áp và có 2 con led để thông báo trạng

thái kết nối của mạch.

68

Page 69: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

Hình 3. 19: Sở đồ khối của HR911105A

Chương 4: Trình biên dịch CCS và webserver4.1. Trình dịch CCS (PIC C Compiler)

4.1.1. Vì sao ta sử dụng CCS

Sự ra đời của một loại vi điều khiển đi kèm với việc phát triển phần mềm

ứng dụng cho việc lập trình con vi điều khiển đó. Vì điều khiển chỉ hiểu và

làm việc với hai con số 0 và 1. Ban đầu việc lập trình cho vi điểu khiển chỉ là

0 và 1. Sau này khi kiến trúc vi điều khiển ngày càng phúc tạp, số lượng thanh

69

Page 70: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

ghi lệnh nhiều lên, việc lập trình với các con số 0 và 1 không còn phù hợp nữa

đòi hỏi ra đời ngôn ngữ mới thay thế. Và ngôn ngữ lập trình Assembly, C …

cũng đã phát triển để phục vụ cho việc giao tiếp với vi điều khiển. Bên cạnh

đó cũng đã ra đời nhiều chương trình soạn thảo và biên dịch dễ dàng hơn

ngắn gọn hơn cho các ngôn ngữ đó: Keil C, CCS …

Tôi chọn CCS để lập trình cho PIC, vì CCS là một công cụ lập trình C

mạnh cho vi điều khiển PIC.

4.1.2. Giới thiệu về CCS

- CCS là trình biên dịch lập trình ngôn ngữ C cho vi điều khiển PIC của

hãng Microchip. Chương trình là sự tích hợp của 3 trình biên dịch riêng biệt

cho 3 dòng PIC khác nhau đó là:

PCB cho dòng PIC 12-bit opcodes

PCB cho dòng PIC 14-bit opcodes

PCB cho dòng 16 và 18-bit

- Tất cả 3 trình biên dịch này được tích hợp lại trong một chương trình

bao gồm cả trình soạn thảo và biên dịch CCS. Phiên bản được sử dụng trong

tài liệu này là PCWH Compiler Vẻ 4.104.

- Giống nhiều trình biên dịch C khác cho PIC, CCS giúp cho người sử

dụng nắm bắt nhanh được vi điều khiển PIC và sử dụng PIC trong các dự án.

Các chương trình điều khiển sẽ được thực hiện nhanh chóng và hiệu quả cao

thông qua việc sử dụng ngôn ngữ nạp trình cấp cao – ngôn ngữ C.

70

Page 71: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

Hình 4. 1: Giao diện chương trình CCS

71

Page 72: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

4.1.3. Tạo PROJECT đầu tiên trong CCS

Để tạo một Project trong CCS có nhiều cách, có thể dùng Project

Wizard, Manual Creat, hay đơn giản là tạo một Files mới và thêm vào đó các

khai báo ban đầu cần thiết và “bắt buộc”.

Dưới đây sẽ trình bày cách tạo một project hợp lệ theo cả 3 phương

pháp. Một điều ta cần chú ý khi tạo một Project đó là: khi tạo bắt cứ một

Project nào mới thì ta nên tạo một thư mục mới với tên liên quan đến Project

ta định làm, rồi lưu các files vào đó.

Khi lập trình và biên dịch, CCS sẽ tạo ra rất nhiều files khác nhau, do đó

nếu để chung các Project trong một thư mục sẽ rất mất thời gian trong việc

tìm kiếm sau này. Đây cũng là quy tắc chung khi ta làm việc với bất kỳ phần

mềm nào, thiết kế mạch hay lập trình .

Tạo một PROJECT sử dụng PIC Wizard

Trước hết bạn khởi động chương trình làm việc PIC C Compiler. Từ

giao diện chương trình di chuột chọn Project -> PIC Wizad.

Sau khi nhấn chuột, một cửa sổ hiện ra yêu cầu ban nhập tên Files cần

tạo. Bạn tạo một thư mục mới, vào thư mục đó và lưu tên files cần tạo tại đây.

Hình 4. 2: Tạo file mới trong PCW compiler

Như vậy là xong bước đầu tiên. Sau khi nhấn nút Save, một cửa sổ New

Project hiện ra. Trong của sổ này bao gồm rất nhiều Tab, mỗi Tab mô tả về

một vài tính năng của con PIC. Ta sẽ chọn tính năng sử dụng tại các Tab

tương ứng.

72

Page 73: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

Hình 4. 3: Bảng hỗ trợ chức năng cho PIC

Dưới đây sẽ trình bầy ý nghĩa từng mục chọn trong mỗi Tab. Các mục

chọn này chính là đề cập đến các tính năng của một con PIC, tùy theo từng

loại mà sẽ có các Tab tương ứng. Đối với từng dự án khác nhau, khi ta cần sử

dụng tính năng nào của con PIC thì ta sẽ chọn mục đó. Sau đây xin giới thiệu

những Tab chính thường hay được sử dụng.

73

Page 74: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

4.1.3.1. Tab General

Tab General cho phép ta lựa chọn loại PIC mà ta sử dụng và một số lựa

chọn khác như chọn tần số thạch anh dao động, thiết lập các bit CONFIG

nhằm thiết lập chế độ hoạt động cho PIC.

Hình 4. 4: Tab General

- Device: Liệt kê danh sách các loại PIC 12F, 16F, 18F… Ta sẽ chọn

tên Vi điều khiển PIC mà ta sử dụng trong dự án. Lấy ví dụ chọn

PIC16F877A

- Oscilator Frequency: Tần số thạch anh ta sử dụng, chọn 20 MHz (tùy

từng loại)

- Fuses: Thiết lập các bit Config như: Chế độ dao động (HS, RC,

Internal ), chế độ bảo vệ Code, Brownout detected…

74

Page 75: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

- Chọn kiểu con trỏ RAM là 16-bit hay 8-bit

4.1.3.2. Tab Communications

Tab Communications liệt kê các giao tiếp nối tiếp mà một con PIC hỗ

trợ, thường là RS232 và I2C, cùng với các lựa chọn để thiết lập chế độ hoạt

động cho từng loại giao tiếp.

- Giao tiếp RS232: Mỗi một Vi điều khiển PIC hỗ trợ một cổng truyền

thông RS232 chuẩn. Tab này cho phép ta lựa chọn chân Rx, Tx, tốc

độ Baud, Data bit, Bit Parity…

- Giao tiếp I2C: Để sử dụng I2C ta tích vào nút chọn Use I2C, khi

đó ta có các lựa chọn: Chân SDA, SCL, Tốc độ truyền (Fast -

Slow), chế độ Master hay Slave, địa chỉ cho Salve.

Hình 4. 5: Tab Communications

75

Page 76: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

4.1.3.3. Tab SPI và Tab LCD

Tab này liệt kê cho người dùng các lựa chọn đối với giao tiếp nối tiếp

SPI, chuẩn giao tiếp tốc độ cao mà PIC hỗ trợ về phần cứng. Chú ý khi ta

dùng I2C thì không thể dùng SPI và ngược lại. Để có thể sử dụng cả hai giao

tiếp này cùng một lúc thì buộc một trong 2 giao tiếp phải lập trình bằng phần

mềm (giống như khi dùng I2C cho các chip AT8051, không có hỗ trợ phần

cứng SSP).

Hình 4. 6: Tab SPI

76

Page 77: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

Hình 4. 7: Tab LCD

4.1.3.4. Tab Timers

Liệt kê các bộ đếm/định thời mà các con PIC dòng Mid-range có:

Timer0, timer1, timer2, WDT…

Trong các lựa chọn cấu hình cho các bộ đếm/định thời có: chọn nguồn

xung đồng hồ (trong (internal)/ngoài (external)), tần số xung, khoảng thời

gian xảy ra tràn…

77

Page 78: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

Hình 4. 8: Tab Timer

4.1.3.5. Tab Analog

Liệt kê các lựa chọn cho bộ chuyển đổi tương tự/số (ADC) của PIC.Tùy

vào từng IC cụ thể mà có các lựa chọn khác nhau, bao gồm:

Lựa chọn cổng vào tương tự

Chọn chân điện áp lấy mẫu (Vref)

Chọn độ phân giải: 8-bit = 0 ~ 255 hay 10-bit = 0~1023

Nguồn xung đồng hồ cho bộ ADC (trong hay ngoài), từ đó mà ta có

được tốc độ lấy mẫu, thường ta chọn là internal 2-6 us.

Khi không sử dụng bộ ADC ta chọn none

78

Page 79: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

Hình 4. 9: Tab Analog

4.1.3.6. Tab Interrupts và Tab Driver

Tab Interrupts cho phép ta lựa chọn nguồn ngắt mà ta muốn sử dụng.

Tùy vào từng loại PIC mà số lượng nguồn ngắt khác nhau, bao gồm: ngắt

ngoài 0 (INT0), ngắt RS232, ngắt Timer, ngắt I2C-SPI, ngắt onchange

PORTB.v.v…

Tab Drivers được dùng để lựa chọn những ngoại vi mà trình dịch đã hỗ

trợ các hàm giao tiếp. Đây là những ngoại vi mà ta sẽ kết nối với PIC, trong

các IC mà CCS hỗ trợ, đáng chú ý là các loại EEPROM như 2404, 2416,

2432, 9346, 9356… Ngoài ra còn có IC RAM PCF8570, IC thời gian thực

DS1302, Keypad 3x4, LCD, ADC… Chi tiết ta có thể xem trong thư mục

Driver của chương trình: \...\PICC\Drivers.

79

Page 80: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

Hình 4. 10: Tab Driver và Tab Interrupt

4.1.3.7. Tab Other

Tab này cho phép ta thiết lập các thông số cho các bộ Capture/

Comparator /PWM.

- Capture - Bắt giữ

Chọn bắt giữ xung theo sườn dương (rising edge) hay sườn âm

(falling edge) của

xung vào.

Chọn bắt giữ sau 1,4 hay 16 xung (copy giá trị của TimerX vào

thanh ghi lưu trữ CCCPx sau 1, 4 hay 16 xung).

- Compare - So sánh

Ta có các lựa chọn thực hiện lệnh khi xay ra bằng nhau giữa 2 đối tượng

so sánh là giá trị của Timer1 với giá trị lưu trong thanh ghi để so sánh. Bao

gồm:

Thực hiện ngắt và thiết lập mức 0

Thực hiện ngắt và thiết lập mức 1

Thực hiện ngắt nhưng không thay đổi trạng thái của chân PIC.

Đưa Timer1 về 0 nhưng không thay đổi trạng thái chân.80

Page 81: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

- PWM - Điều chế độ rộng xung

Lựa chọn về tần số xung ra và duty cycle. Ta có thể lựa chọn sẵn hay tự

chọn tần số, tất nhiên tần số ra phải nằm trong một khoảng nhất định.

- Comparator - So sánh điện áp

Lựa chọn mức điện áp so sánh Vref. Có rất nhiều mức điện áp để ta lựa

chọn. Ngoài ra ta còn có thể lựa chọn cho đầu vào của các bộ so sánh.

Hình 4. 11: Tab Other

Sau các bước chọn trên, ta nhấn OK để kết thúc quá trình tạo một Project

trong CCS, một Files ten_project.c được tạo ra, chứa những khai báo cần

thiết cho PIC trong một Files ten_project. h.

81

Page 82: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

4.2. Web động

Web động hay DHTML (Dynamic HTML) có thể được định nghĩa như

một phần mềm được sử dụng cho việc mô tả sự kết hợp giữa ngôn ngữ đánh

dấu siêu văn bản HTML, các stylesheet và ngôn ngữ script làm cho tài liệu trở

nên sinh động.

DHTML cho phép người lập trình dễ dàng thêm các hiệu ứng cho các

trang web. Ví dụ như làm động các hình ảnh và text trên trang web.

Cấu trúc của một DHTML:

<!DOCTYPE html>

<html>

<head>

<title> Điều khiển LED</title>

</head>

<body>

<p>Bảng điều khiển LED thông qua internet</p>

</body>

</html>

4.3. CSS

CSS là chữ viết tắt của “Cascading Style Sheet”, là kiểu thiết kế sử dụng

nhiều lớp định dạng chồng lên nhau. CSS được tổ chức World Wide Web giới

thiệu vào năm 1996. Cách đơn giản nhất để hiểu CSS là coi nó như một phần

mở rộng của HTML để giúp đơn giản hoá và cải tiến việc thiết kế cho các

trang web.

Một tiện ích của CSS là định nghĩa các Style (kiểu dáng, định dạng ….)

một lần và các trình duyệt có thể áp dụng các Style này nhiều lần trong một

đoạn văn bản.

82

Page 83: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

4.3.1. Ưu điểm của CSS

CSS có thể tách riêng phần định dạng ra khỏi nội dung một trang web,

do đó nó sẽ rất thuận tiện khi thay đổi giao diện của một trang web.

CSS là một sợi chỉ xuyên suốt trong quá trình thiết kế một website bởi vì

nó cho phép nhà thiết kế kiểm soát toàn bộ giao diện, kiểu cách và sự sắp đặt

của nhiều trang hay nhiều đối tượng trong một lần định nghĩa. Để thay đổi

tổng thể hay nhiều đối tượng có cùng style, chỉ cần thay đổi style đó và lập

tức tất cả các thành phần áp dụng Style đó sẽ thay đổi theo. Nó giúp tiết kiểm

công sức rất nhiều.

Do định nghĩa các style có thể được tách riêng ra khỏi nội dung của

trang web, chúng được các trình duyệt tải một lần và sử dụng cho nhiều lần,

do đó nó giúp các trang web nhẹ hơn và chạy nhanh hơn.

4.3.2. Các đặc tính cơ bản của CSS

CSS quy định cách hiển thị các thẻ HTML bằng cách quy định các thuộc

tính của các thẻ đó (font chữ, màu sắc). Để thuận tiện có thể đặt toàn bộ các

thuộc tính của thẻ vào trong một file riêng có phần mở rộng là “.css”.

CSS phá vỡ giới hạn trong thiết kế Web, chỉ cần một file CSS có thể

quản lý định dạng và layout trên nhiều trang web khác nhau. Các nhà phát

triển Web có thể định nghĩa sẵn thuộc tính của một số thẻ HTML nào đó và

sau đó nó có thể dùng lại trên nhiều trang khác.

Có thể khai báo CSS bằng nhiều cách khác nhau. Có thể đoạn CSS phía

trong thẻ <head> … </head> hoặc tạo một file riêng rồi chèn vào tài liệu

HTML hoặc có thể chèn trực tiếp vào bất cứ đâu của tài liệu HTML.

4.3.2.1. Cú pháp cơ bản của CSS

Css_selector_1{

Thuộc_tính_1 : giá_trị_của_thuộc_tính_1;

Thuộc_tính_2 : giá_trị_của_thuộc_tính_2;

……….

Thuộc_tính_n : giá_trị_của_thuộc_tính_n;

83

Page 84: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

}

Css_selector_2{

Thuộc_tính_1 : giá_trị_của_thuộc_tính_1;

Thuộc_tính_2 : giá_trị_của_thuộc_tính_2;

……….

Thuộc_tính_n : giá_trị_của_thuộc_tính_n;

}

Css_selector_3{

Thuộc_tính_1 : giá_trị_của_thuộc_tính_1;

Thuộc_tính_2 : giá_trị_của_thuộc_tính_2;

……….

Thuộc_tính_n : giá_trị_của_thuộc_tính_n;

}

4.3.2.2. Ví dụ minh hoạ về mã CSSBody{

Background: #ffffff; /*Nền sẽ có màu trắng*/

Color: blue; /*Chữ sẽ có màu xanh*/

}

4.3.2.3. Thứ tự xếp lớpTuỳ vào từng cách đặt khác nhau mà mức độ ưu tiên cho các style cũng

khác nhau. Mức độ ưu tiên này tuân theo thứ tự sau:

- Style nội tuyến - Style đặt trong từng thẻ HTML riêng biệt.

- Style bên trong – Style đặt trong cặp thẻ <head>…</head>

- Style bên ngoài – style đặt trong các file riêng có đuôi “.css”.

- Style theo mặc định của trình duyệt.

84

Page 85: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

4.3.3. CSS có tính kế thừa và kết hợp

4.3.3.1. Tính kế thừa

Giả sử rằng ở đầu file styleshet.css khai báo cho body có các thuộc tính

như sau:

Body{

Color: #000000;

Font-size: 24px;

}

Nhưng trong trường hợp muốn khai báo các phần tử nhỏ hơn nằm trong

nó như div có id là main-content:

#main-content{

Color: #ffffff;

Background: #000000;

}

Như vậy thì div có id là main-content sẽ không chịu ảnh hưởng của

thuộc tính body nữa mà sẽ mang thuộc tính của chính nó. Chữ sẽ màu trắng

và nền sẽ màu đen.

4.3.3.2. Tính kết hợp

Có thể định nghĩa nhiều CSS cùng một thuộc tính thay vì phải định

nghĩa riêng lẻ từng cái một.

Ví dụ:

h1,h2,h3{

Color: #c9c9c9;

}

Thay cho việc định nghĩa riêng tường thuộc tính như sau:

h1 {

Color: #c9c9c9;

}

85

Page 86: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

h2 {

Color: #c9c9c9;

}

h3{

Color: #c9c9c9;

}

4.3.3.3 Tạo bảng bằng html và cssTrong html để tạo được một bảng thì ta dùng <table></table>. Khi thực

hiện lệnh <table> thì ta dẽ có một bảng rồi ta dùng các thuộc tính như border

để chỉnh đường viền cho bảng.

Trong bảng thì có thẻ <tr></tr> là các dòng trong bảng. mỗi <tr> là một

dòng cho bảng.

Ngoài ra còn có thẻ <td></td> là các cột cho bảng. Mỗi <td> là một cột

cho bảng. Để gộp các cột lại với nhau ta dùng code như sau: <td

colspan="3"></td>. Câu lệnh colspan="3" nghĩa là ra sẽ gộp 3 cột lại thành 1.

Còn <td rowspan="2"></td> nghĩa là ta sẽ gộp 2 dòng lại thành 1.

86

Page 87: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

Hình 4. 12: websever

87

Page 88: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

Chương 5: Sơ đồ khối và mô phỏng5.1. Sơ đồ khối.

Hình 5. 1: Sơ đồ khối giao tiếp của mạch

88

Khối điều khiểnVĐK

PIC18F4550

Khối hiển thị LCD 16x2

Khối nguồn

Module EthernetENC26j80

Thiết bị được điều khiển bởi

mạch

WEBINTERNET

Bảng điều khiển trên trình duyệt

thông qua internet

Page 89: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

89

Page 90: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

5.2. Mạch nguyên lý.

Hình 5. 2: Mạch nguyên lý

90

Page 91: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

5.2.1. Khối nguồn

Hình 5. 3: Khối nguồn

5.2.2. Khối công suất (RELAY)

Hình 5. 4: khối công suất (relay 5 chân 12v DC/ 240v AC)

91

Page 92: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

5.2.3. Khối hiển thị (LCD 16x2)

Hình 5. 5: khối hiển thị (LCD 16x2)

92

Page 93: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

5.2.4. Khối Key điều khiển đèn (Nút nhấn)

Hình 5. 6: Khối Nút nhấn

5.2.5. Khối đo nhiệt độ và Header giao tiếp với Module Ethernet

Hình 5. 7: LM35(nhiết độ) & Header kết nối với Module Ethernet

93

Page 94: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

5.2.6. Khối reset, Xung thạch anh, Lọc nguồn

a, b, c,

Hình 5. 8: a:xung thạch anh

b: lọc nguồn

c: khối reset

5.2.7. Khối Vi xử lý trung tâm (Pic 18F4550)

94

Page 95: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

Hình 5. 9: Khối xử lý dùng vi điều khiển PIC18F4550

5.3. Mô Phỏng

Hình 5. 10: Mô phỏng

95

Page 96: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

KẾT LUẬN

Việc thiết kế Module Ethernet trên vi điều khiển PIC18F4550 nhằm ứng

dụng đo lường và điều khiển có ý nghĩa rất lớn, có thể ứng dụng trong nhiều

lĩnh vực của đời sống xã hội và trong công nghiệp. Ngoài ra, module Ethernet

trên vi điều khiển PIC18F4550 cũng phục vụ cho việc học tập và nghiên cứu

của sinh viên. Việc xây dựng module này liên quan đến nhiều mảng kiến

thức, từ những kiến thức lý thuyết cho đến những kiến thức thực tiễn.

Những kết quả chính thực hiện được

Tìm hiểu nguyên lý chung chuẩn truyền thông Ethernet do IEÊ

802.3 quy định, tìm hiểu kiến thức về họ giao thức TCP/IP.

Kết nối thành công mạch demo với máy tính thông qua chuẩn

truyền thông Ethernet.

Lập trình cho mạch demo bằng phần mềm CCS, sử dụng thư viện

TCP/IP Stack cảu hang Microchip để thực hiện điều khiển các ứng

dụng cơ bản như bật tắt đèn, hiển thị lên LCD và đo tham số nhiệt

độ hiển thị lên web.

Trong quá trình làm còn nhiều thiếu sót về mặt khiến thức lên sản phẩm

chưa được thực sự hoàn thiện. Trong tương lại sản phẩm có thể phát triển

thêm các ứng dụng cho ngôi nhà thông minh của chúng ta.

96

Page 97: MỤC LỤCi.vietnamdoc.net/data/file/2015/Thang05/26/dieu_khien... · Web viewChiến lược của nhà đầu tư là tập chung vào vi điều khiển và bộ nhớ của bán

Tài liệu tham khảo:

[1]. Datasheet PIC18F4550

[2]. Datasheet ENC28J60

[3]. Datasheet LM35

[4]. File Help của trình biên dịch PIC C Compiler (CCS)

[5]. Tài liệu tham khảo từ các trang web, diễn đàn trên Internet:

http://www.hocavr.com/index.php/vi/lectures/spi

http://www.pic24.ru/doku.php/en/osa/ref/intro

http://mcu.banlinhkien.vn/threads/261/

http://codientu.org

http://www.dientuvietnam.net/forums/vi-dieu-khien-avr-55/giao-

thuc-tcp-ip-va-web-server-voi-avr-87172/

97