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

Một phần của tài liệu Đồ án Điều khiển thiết bị qua mạng Ethernet (Trang 32)

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

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

Chương 3: Phần cứng 3.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 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) (adsbygoogle = window.adsbygoogle || []).push({});

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 Module điều khiển động cơ, đọc encoder

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

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 PIC18F45503.1.3.1. 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): 2048

 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 (adsbygoogle = window.adsbygoogle || []).push({});

 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

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 TRIS I/O Kiểu I/O Mô tả

1

MCLR / VPP/R

E3

MCLR 1 I ST Master 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

A/D

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

13 OSC1/ 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 (adsbygoogle = window.adsbygoogle || []).push({});

stt chân Chức năng Thanh Ghi TRIS I/O Kiểu I/O Mô tả 2 RA0/A N0 RA0 0 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 I ANA

Đầu vào kênh 0 của bộ biển đổi A/D 3 RA1/A N1 RA1 0 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/A N2/ VREF- /CVRE F 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ự AN2 1 I ANA Đầu vào kênh 2 của bộ biển đổi

A/D

VREF- 1 I ANA A/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/A N3/ VREF + RA3 0 1 O I TTL

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 ANA A/D và đầu vào điện áp tham chiếu mức cao bộ so sánh 6 RA4/T 0CKI/ C1OU T/ RCV RA4 0 1 O I ST

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/A N4/SS/ HLVD IN/C2 OUT RA5 0 1 O I TTL

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

chế độ SPI HLVDI

N 1 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

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

stt chân Chức năng Thanh Ghi TRIS I/O Kiểu I/O Mô tả 33 RB0/A N12/I NT0/ FLT0/ SDI/S DA

RB0 1/0 I/O TTL Chiề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 (adsbygoogle = window.adsbygoogle || []).push({});

34 RB1/A N10/I NT1/S CK/SC L

RB1 1/0 I/O TTL Chiề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 ST Xung đồng bộ nối tiếp đầu vào/ra cho chế độ SPI

cho chế độ I2C 35 RB2/A N8 /INT2/ VMO

RB2 1/0 I/O TTL Chiề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 2

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

36

RB3/A N9/CC P2/VP

O

RB3 1/0 I/O TTL Chiề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/A N11/K BI0/CS

SPP

RB4 1/0 I/O TTL Chiề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 TTL Châ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/K BI1/P

GM

RB5 1/0 I/O TTL Chiều ra /vào dữ liệu số KBI1 1 I TTL Chân ngắt của ngắt thay đổi mức

PORTB

PGM 1/0 I/O ST Tín hiệu nối mạch nạp nối tiếp(ICSP) (adsbygoogle = window.adsbygoogle || []).push({});

39 RB6/K BI2/P

RB6 1/0 I/O TTL Chiều ra/ vào dữ liệu số KBI2 1 I TTL Chân ngắt của ngắt thay đổi mức

GC PORTB

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

40

RB7/K BI3/P

GD

RB7 1/0 I/O TTL Chiều ra/ vào dữ liệu số KBI3 1 I TTL Chân ngắt của ngắt thay đổi mức

PORTB

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

stt chân Chức năng Thanh Ghi TRIS I/O Kiểu I/O Mô 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

I 1 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 I CM

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/C CP1 /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.

D-/VM

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 (adsbygoogle = window.adsbygoogle || []).push({});

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

25

RC6/T X/ 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 ST Chân phát xung (clock) đồng bộ

nối tiếp của module EUSART

26

RC7/R X/ DT/SD

O

RC7 1/0 I/O ST Chiều ra /vào dữ liệu số RX 0 O ST Châ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

Một phần của tài liệu Đồ án Điều khiển thiết bị qua mạng Ethernet (Trang 32)