Tải bản đầy đủ (.pdf) (108 trang)

Nghiên cứu chế tạo hệ thống mạng điều khiển và kiểm soát các thông số môi trường (nhiệt độ, độ ẩm) từ xa. Ứng dụng trong bảo quản các trang thiết bị quốc phòng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.79 MB, 108 trang )

IH
ƢỜ

QU

GI H N I




ỒNG PH M KHÔI

ỀU KHIỂN VÀ KIỂM SOÁT

NGHIÊN CỨU CHẾ T O HỆ THỐNG M
CÁC THÔNG SỐ M

ƢỜNG (NHIỆ

Ộ, Ộ ẨM) TỪ XA. ỨNG DỤNG

TRONG BẢO QUẢN CÁC TRANG THIẾT BỊ QUỐC PHÒNG.





Ộ – 2014

-





IH

QU

ƢỜ

GI H N I




ỒNG PH M KHÔI

ỀU KHIỂN VÀ KIỂM

NGHIÊN CỨU CHẾ T O HỆ THỐNG M
SOÁT CÁC THÔNG SỐ M

ƢỜNG (NHIỆ

Ộ,

Ộ ẨM) TỪ XA. ỨNG

DỤNG TRONG BẢO QUẢN CÁC TRANG THIẾT BỊ QUỐC PHÒNG.

Ng nh: Công nghệ iện tử - Viễn thông

huy n ng nh: Kỹ thuật iện tử
Mã số: 60 52 02 03



ƢỜ

ƢỚ







Ộ – 2014

-



-TS. TRẦN QUANG VINH


2

MỤC LỤC
LỜI
M O N.................................................................................................. 0
Danh mục các ký hiệu và chữ viết tắt ................................................................... 5

Danh mục các bảng ............................................................................................... 5
Danh mục các hình vẽ, đồ thị ................................................................................ 5
MỞ ẦU ............................................................................................................... 8
hƣơng 1: TỔNG QUAN ..................................................................................... 9
1.1. Sơ đồ tổng quan hệ thống........................................................................... 9
1.2. Mục ti u đề tài .......................................................................................... 10
1.3. Nội dung nghiên cứu ................................................................................ 10
1.3.1. Nghiên cứu lý thuyết: ........................................................................ 10
1.3.2. Thiết kế hệ thống:.............................................................................. 10
1.4. Giới hạn đề tài .......................................................................................... 10
1.5. Ý nghĩa thực tiễn. ..................................................................................... 11
hƣơng 2: Ơ SỞ LÝ THUYẾT ........................................................................ 12
2.1. Chuẩn EIA RS-232-C .............................................................................. 12
2.1.1. Những đặc điểm cần lƣu ý trong chuẩn RS-232 ............................... 12
2.1.2. Các mức điện áp thƣờng truyền ........................................................ 12
2.1.3. Cổng RS-232 trên PC ........................................................................ 13
2.1.4. Truyền dữ liệu ................................................................................... 13
2.1.5. Mạch giao tiếp RS-232 dùng IC max232 ......................................... 14
2.2. Chuẩn RS-422/RS-485 ............................................................................. 15
2.2.1. Cấu hình mạng 2-dây RS-485 ........................................................... 16
2.2.2. Cấu hình mạng 4-dây RS-485 ........................................................... 16
2.2.3. Kết thúc cáp ....................................................................................... 17
2.2.4. ịnh thiên trong mạng RS-485 ......................................................... 17
2.3. Giao thức MODBUS ................................................................................ 19
2.3.1. MODBUS là gì? ................................................................................ 19
2.3.2. Nguyên tắc hoạt động của MODBUS ............................................... 19
2.3.3. Sơ đồ trạng thái của Modbus ............................................................ 21
2.4. Kỹ thuật CRC ........................................................................................... 23
2.3.1. Lý thuyết CRC .................................................................................. 23
2.3.2. Thuật toán CRC................................................................................. 23

hƣơng 3 CÁC LINH KIỆN CHÍNH SỬ DỤNG .............................................. 25
3.1. ATmega128 .............................................................................................. 25
3.1.1. Giới thiệu về ATmega128 ................................................................. 25
3.1.2. Cấu trúc bộ nhớ ................................................................................. 26


3
3.1.3. Các cổng vào ra ................................................................................. 28
3.1.4. Các bộ định thời của ATmega128 .................................................... 29
3.1.6. Bộ truyền nhận dữ liệu nối tiếp USART........................................... 31
3.2. ATmega16 ................................................................................................ 32
3.3. Cảm biến nhiệt độ, độ ẩm SHT11 ............................................................ 33
3.3.1. Các thông số kỹ thuật .................................................................... 33
3.3.2. Khởi động cảm biến ...................................................................... 34
3.3.3. Gửi một lệnh.................................................................................. 34
3.3.4.
o độ ẩm và nhiệt độ .................................................................... 35
3.3.5. Chuỗi reset kết nối ........................................................................ 35
3.3.6. Tính toán tổng kiểm tra CRC-8..................................................... 35
3.3.7. Thanh ghi trạng thái ...................................................................... 36
3.3.8. Chuyển đổi tín hiệu ra ....................................................................... 37
3.4. MMC/SD card .......................................................................................... 39
3.4.1. Sơ lƣợc về MMC/SD card................................................................. 39
3.4.2. Giao tiếp AVR với MMC/SD card ................................................... 40
hƣơng 4 : THIẾT KẾ HỆ TH NG .................................................................. 47
4.1. Phần cứng ................................................................................................. 47
4.1.1. Sơ đồ nguyên lý master ..................................................................... 47
4.1.2. Sơ đồ nguyên lý slave ....................................................................... 51
4.2. Phần mềm ................................................................................................. 52
4.2.1. Giới thiệu công cụ lập trình CodeVisionAVR .................................. 52

4.2.2. Phần mềm cho master ....................................................................... 53
4.2.3. Phần mềm cho slave .......................................................................... 59
4.3. Lập trình phần mềm giao diện PC sử dụng VB.NET .............................. 62
KẾT LUẬN ......................................................................................................... 64
Kết quả ............................................................................................................ 64
Hạn chế ............................................................................................................ 64
Hƣớng phát triển đề tài.................................................................................... 64
DANH MỤC CÔNG TRÌNH KHOA H
LIÊN QU N ẾN LUẬN VĂN . 64
TÀI LIỆU THAM KHẢO ................................................................................... 64
PHỤ LỤC ............................................................................................................ 66


4
LỜ

M

Tôi xin cam đoan những nội dung trong luận văn n y l do tôi thực hiện dƣới sự
hƣớng dẫn trực tiếp của thầy giáo PGS-TS. Trần Quang Vinh.
Mọi tham khảo dùng trong luận văn đều đƣợc trích dẫn rõ ràng tên tác giả, tên
công trình, thời gian, địa điểm công bố.
Mọi sao chép không hợp lệ, vi phạm quy chế đ o tạo, hay gian trá, tôi xin chịu
hoàn toàn trách nhiệm.
Tác giả luận văn
(Ký và ghi rõ họ tên)

ồng Phạm Khôi



5
Danh mục các ký hiệu và chữ viết tắt
SD card
Secure Digital card
EIA
Electronic Industries Alliance
TIA
Telecommunications Industry Association
IC
Integrated circuit
MMC card
Multi Media Card
PC
Personal computer
LCD
Liquid-crystal display
TTL
Time to live
ASCII
American Standard Code for Information Interchange
RTU
Remote terminal unit
CRC
Cyclic Redundancy Check
UART
Universal asynchronous Receiver/Transmitter
USART
Universal Synchronous Receiver/Transmitter
SPI
Serial Peripheral Interface

TQFP
Thin quad flat pack
EEPROM
Electrically Erasable Programmable Read-Only Memory
SRAM
Static random-access memory
I/O
Input/output
SHT
Digital humidity and temperature sensor
MSB
Most Significant Byte or Most Significant Bit
LSB
Least Significant Byte or Least Significant Bit
RH
Relative humidity
RxD
Receive data pin
TxD
Transmit data pin
INT
Interrupt
FAT
File Allocation Table
RTC
Real-time clock
VB.NET
Visual Basic.NET
Danh mục các bảng
Bảng 3.1: bảng véc tơ ngắt của ATmega128

Bảng 3.2: Danh sách lệnh của SHT1x
Bảng 3.3: Các hệ số chuyển đổi tối ưu cho sensor độ ẩm V4
Bảng 3.4: Các hệ số bù nhiệt độ
Bảng 3.5: Các hệ số bù nhiệt độ
Bảng 3.6: Các tham số để tính toán điểm sương (Td).
Danh mục các hình vẽ, đồ thị
Hình 1.1: Sơ đồ tổng quan hệ thống
Hình 1.2: Kho bảo quản tên lửa hàng không


6
Hình 2.1 : Mức giới hạn điện áp trong chuẩn RS-232
Hình 2.2: Cổng RS-232 trên PC
Hình 2.3: Mạch giao tiếp RS-232 dùng IC Max232
Hình 2.4: Liên kết RS-422 điểm-điểm
Hình 2.5: Cấu hình mạng 2-dây RS-485
Hình 2.6: Đường truyền với kết thúc cáp
Hình 2.7: Mạng RS-485 với hai điện trở 120Ω kết thúc cáp
Hình 2.8: Khung Modbus trên đường truyền nối tiếp
Hình 2.9: Cấu trúc khung ký tự ASCII
Hình 2.10: Cấu trúc khung ký tự RTU
Hình 2.11: Sơ đồ trạng thái của master
Hình 2.12: Sơ đồ trạng thái của slave
Hình 3.1: Bố trí chân của ATMEGA128
Hình 3.2: Bản đồ bộ nhớ dữ liệu
Hình 3.3: Sơ đồ khối đơn giản của khối USART
Hình 3.4: Hình dạng và kích thước của cảm biến nhiệt ẩm SHT11
Hình 3.5: Độ chính xác và dải hoạt động của các loại cảm biến SHT
Hình 3.6:Sơ đồ chân của SHT11
Hình 3.7:Mạch ứng dụng của SHT11

Hình 3.8: Chuỗi khởi tạo truyền “Transmission Start”
Hình 3.9: Chuỗi khởi tạo kết nối Connetion Reset Sequence
Hình 3.10: Ghi vào thanh ghi trạng thái
Hình 3.11: Đọc thanh ghi trạng thái
Hình 3.13: Ví dụ về chuỗi đo RH
Hình 3.12: Tổng quan của chuỗi đo. TS=khởi tạo truyền, MSB=Byte tín hiệu cao nhất,
LSB = Byte tín hiệu sau cùng, LSb= Bít tín hiệu cuối cùng.
Bảng 6: Các hệ số chuyển đổi tối ưu cho sensor độ ẩm V4
Hình 3.13: Chuyển đổi từ SORH sang độ ẩm tương đối
Bảng 3.3: Các hệ số bù nhiệt độ
Bảng 3.4: Các hệ số bù nhiệt độ
Bảng 3.5: Các tham số để tính toán điểm sương (Td).
Hình 3.14: Bố trí chân của MMC và SD card
Hình 3.15: IC CD4050 chuyển đổi mức tín hiệu giữa vi điều khiển và MMC/SD card
Hình 4.1: Sơ đồ nguyên lý của master
Hình 4.2: Sơ đồ nguyên lý khối nguồn
Hình 4.3: Sơ đồ nguyên lý khối thu/phát dữ liệu
Hình 4.4: Sơ đồ nguyên lý khối giao tiếp giữa master và PC
Hình 4.5: Sơ đồ nguyên lý mạch thời gian thực DS1307
Hình 4.6: Sơ đồ nguyên lý mạch điều chỉnh thời gian
Hình 4.7: Sơ đồ mạch in master
Hình 4.8: Mạch in master sau khi lắp ráp linh kiện


7
Hình 4.9: Sơ đồ nguyên lý của slave
Hình 4.10: Sơ đồ mạch in của các slave
Hình 4.11: Mạch in slave sau khi lắp ráp linh kiện và chạy thử
Hình 4.12: Tạo một Project mới trong CodeVisionAVR
Hình 4.12: Lựa chọn dòng vi điều khiển

Hình 4.13: Chọn loại vi điều khiển và tần số hoạt động
Hình 4.24: Chọn ngắt ngoài và chế độ hoạt động của ngắt
Hình 4.15: Cấu hình cho timer1
Hình 4.16: Cấu hình cho UART0
Hình 4.17: Cấu hình cho UART1
Hình 4.18: Cấu hình cho I2C giao tiếp với DS1307
Hình 4.19: Cấu hình để giao tiếp với LCD2004
Hình 4.20: Tạo và lưu Project
Hình 4.21: Tạo một Project mới
Hình 4.22: Lựa chọn dòng vi điều khiển
Hình 4.23: Chọn loại vi điều khiển và tần số hoạt động
Hình 4.24: Cấu hình cho UART
Hình 4.25: Cấu hình giao tiếp với LCD 1602
Hình 4.26: Giao diện chương trình trên PC
Hình 4.27: Giao diện chương trình khi hoạt động
Hình 4.28: Chạy thử toàn bộ hệ thống


8
MỞ ẦU
Hiện nay Quân đội ta đang bảo quản một số lƣợng lớn các trang bị quân sự, với
khí hậu nhiệt đới, độ ẩm và nhiệt độ cao v bi n độ thăng giáng lớn ảnh hƣởng rất lớn
tới tuổi thọ và khả năng sẵn sang chiến đấu của các trang bị quân sự. Theo các nghiên
cứu về kỹ thuật nhiệt đới thì khoảng độ ẩm từ 40-60% là phù hợp cho hầu hết các loại
vật liệu. Trong khoảng này các loại vật liệu từ kim loại đến phi kim ít bị ăm mòn nhất,
khoảng độ ẩm n y cũng hạn chế sự phát triển của các loại nấm mốc. Với các vũ khí
trang bị hiện đại thì đƣợc bảo quản trong điều kiện này là cần thiết.
Hệ thống tôi dự kiến chế tạo sẽ gồm các modul đo nhiệt độ v độ ẩm của các
hòm bảo quản tên lửa, các thông số đo đƣợc l cơ sở để điều khiển máy hút ẩm duy trì
độ ẩm trong các thùng bảo quản từ 40-60%, các số liệu về nhiệt độ v độ ẩm của từng

thùng bảo quản cũng đƣợc gửi về máy tính dựa trên giao thức Modbus qua đƣờng
truyền RS-485 để hiển thị lên máy tính. Phần mềm trên máy tính có chức năng hiển thị
độ ẩm hiện thời, trạng thái hoạt động của máy hút ẩm v lƣu các giá trị n y v o cơ sở
dữ liệu trên máy tính.
Ngoài việc lƣu giữ số liệu trên máy tính thì hệ thống còn có thể lƣu số liệu vào
thẻ nhớ SD card, đảm bảo khi tắt máy tính hoặc khi đƣờng truyền có sự cố thì số liệu
vẫn đƣợc lƣu giữ trong SD card.
Hệ thống đƣợc thiết kế đơn giản, dễ vận hành, bảo trì và sửa chữa, có độ chính
xác cao, giá thành rẻ các vật tƣ linh kiện hầu hết có sẵn trên thị trƣờng Việt Nam.


9
hƣơng 1: TỔNG QUAN
1.1. ơ đồ tổng quan hệ thống
LCD2004
MASTER

MAX232
PC

ATMEGA128

MAX485

DS1307

MMC/SD
CARD
BUS RS485


SHT11

LCD1602

SLAVE 1

Hòm bảo quản
1
Máy hút
ẩm 1

RELAY

ATMEGA16

MAX485

...

SHT11

LCD1602

BUS RS485

SLAVE N

Hòm bảo quản
N
Máy hút

ẩm N

RELAY

ATMEGA16

MAX485

Hình 1.1: Sơ đồ tổng quan hệ thống
Trên hình 1.1 hệ thống gồm 1 master và các slave đƣợc nối với nhau theo chuẩn
truyền thông EIA/TIA-485. Master và các slave giao tiếp với nhau theo giao thức
MODBUS RTU.
Các thành phần chính của master: Vi điều khiển ATmega128, màn hình
LCD2004 gồm 20 cột và 4 hàng, IC MAX232 giao tiếp với máy tính PC theo chuẩn
RS-232, IC thời gian thực DS1307, thẻ nhớ để lƣu trữ dữ liệu nhiệt độ v độ ẩm theo
chu kỳ đặt trƣớc, IC MAX485 nối với đƣờng truyền theo chuẩn EIA/TIA-485.
Các thành phần chính của slave: Vi điều khiển ATmega16, màn hình LCD1602
gồm 16 cột và 2 hàng, cảm biến nhiệt độ, độ ẩm SHT11, rơ le để điều khiển máy hút
ẩm, IC truyền nhận dữ liệu MAX485.
Nhiệm vụ của master:
- Chịu trách nhiệm điều khiển đƣờng truyền RS-485 dựa trên giao thức
MOSBUS RTU để giao tiếp với các slave nhằm thu thập dữ liệu nhiệt độ, độ ẩm, điểm
sƣơng, trạng thái các máy hút ẩm…


10
- Hiển thị các dữ liệu thu đƣợc lên màn hình LCD2004.
- Truyền toàn bộ dữ liệu tới máy tính P thông qua đƣờng truyền RS-232.
- ọc thông tin thời gian trên IC thời gian thực DS1307 rồi lƣu dữ liệu vào thẻ
nhớ (MMC/SD card) theo chu kỳ đặt trƣớc.

Nhiệm vụ của các slave:
- Giao tiếp với cảm biến nhiệt độ, độ ẩm để lấy thông tin về nhiệt độ, độ ẩm,
điểm sƣơng.
- Hiển thị các giá trị này lên màn hình LCD 1602.
- iều khiển máy hút ẩm để duy trì độ ẩm trong các thùng bảo quản trong
khoảng từ 45% đến 55%.
- Truyền các dữ liệu tới master khi đƣợc master yêu cầu.
Nhiệm vụ của PC:
- Nhận dữ liệu từ master qua cổng COM.
- Hiển thị dữ liệu lên giao diện của chƣơng trình phần mềm thu thập số liệu.
- Lƣu dữ liệu nhiệt độ, độ ẩm, điểm sƣơng, trạng thái hoạt động của các máy
hút ẩm theo thời gian.
1.2. Mục tiêu đề tài
- Nghiên cứu chế tạo thành công hệ thống mạng điều khiển và kiểm soát nhiệt
độ, độ ẩm hƣớng tới ứng dụng trong bảo quản vũ khí, trang bị kỹ thuật trong quân đội.
- Hệ thống gồm các modul đo nhiệt độ, độ ẩm trong các thùng bảo quản (các
slave), đồng thời điều khiển máy hút ẩm duy trì độ ẩm trong khoảng từ 45%-55%.
- Dữ liệu nhiệt độ, độ ẩm đƣợc truyền về master đƣợc lƣu trữ trong thẻ nhớ tại
master. Khoảng cách tối đa giữa master và các slave là 1200m và có thể lớn hơn nếu
sử dụng các bộ lặp.
- Phần mềm trên máy tính sẽ thu thập dữ liệu do master truyền về, hiển thị lên
giao diện m n hình v lƣu các số liệu nhiệt ẩm vào file excel.
1.3. Nội dung nghiên cứu
1.3.1. Nghiên cứu lý thuyết:
- Chuẩn EIA RS-232-C
- Chuẩn EIA/TIA-485
- Giao thức Modbus
- Các linh kiện chính sử dụng trong hệ thống
1.3.2. Thiết kế hệ thống:
- Thiết kế mạch nguyên lý và mạch in cho master

- Thiết kế mạch nguyên lý và mạch in cho slave
- Lập trình phần mềm cho master
- Lập trình phần mềm cho slave
- Lập trình phần mềm cho PC
1.4. Giới hạn đề tài
Do thời gian nghiên cứu hạn chế nên tôi mới chỉ chế tạo mẫu gồm 1 master, 4
slave. Tuy nhiên hệ thống hoàn toàn có thể tăng số lƣợng slave lên 32 slave.


11
1.5. Ý nghĩa thực tiễn.

Hình 1.2: Kho bảo quản tên lửa hàng không
- Hệ thống có khả năng ứng dụng trong thực tiễn bảo quản vũ khí trang bị của
Quân đội nhằm hạn chế ảnh hƣởng của khí hậu nhiệt đới l n vũ khí, trang bị, kéo dài
tuổi thọ của vũ khí trang bị, đặc biệt l các vũ khí trang bị đắt tiền.
- Hệ thống cũng có thể đƣợc ứng dụng trong các kho bảo quản quân trang, quân
nhu, các kho lƣơng thực, thực phẩm…


12
hƣơng 2

Ơ Ở LÝ THUYẾT

2.1. Chuẩn EIA RS-232-C
Chuẩn giao tiếp RS-232 là một trong những kỹ thuật đƣợc sử dụng rộng rãi hiện
nay để nối ghép các thiết bị ngoại vi với máy tính. Nó là một chuẩn giao tiếp nối tiếp
dùng định dạng không đồng bộ, kết nối nhiều nhất là hai thiết bị, chiều dài kết nối lớn
nhất cho phép để đảm bảo dữ liệu l 12.5m đến 25.4m, tốc độ 20kbit/s đôi khi l tốc

độ 115kbit/s với một số thiết bị đặc biệt.
Chuẩn RS-232 đƣợc nối ra một dắc cắm (gọi là cổng COM). Khi sử dụng có thể
dùng hai hay toàn bộ chân của dắc cắm này, nếu mục đích chỉ truyền hoặc nhận tín
hiệu giữa hai thiết bị thì ta chỉ cần sử dụng hai dây (một dây truyền hoặc nhận và một
dây nối đất). Ý nghĩa của chuẩn truyền thông nối tiếp là trong một thời điểm chỉ có
một bít đƣợc gửi đi dọc theo đƣờng truyền. ác máy tính thƣờng có một hoặc hai cổng
nối tiếp theo chuẩn RS-232 đƣợc gọi là cổng OM. húng đƣợc dùng để ghép nối cho
chuột, modem, thiết bị đo lƣờng…Tr n main máy tính có loại 9 chân hoặc loại 25
chân tùy v o đời máy và main của máy tính. Việc thiết kế giao tiếp với cổng RS-232
cũng tƣơng đối dễ d ng, đặc biệt khi chọn chế độ hoạt động l không đồng bộ và tốc
độ truyền dữ liệu thấp.
2.1.1. Những đặc điểm cần lƣu ý trong chuẩn RS-232
- Trong chuẩn RS-232 có mức giới hạn tr n v dƣới( logic 0 và 1) là 12V.
Hiện nay đang đƣợc cố định trở kháng tải trong phạm vi từ 3000-7000
- Mức logic 1 có điện áp nằm trong khoảng -3V đến -12V, mức logic 0 từ 3V
đến 12V.
- Tốc độ truyền nhận dữ liệu cực đại là 100kbps (ngày nay có thể lớn hơn).
- Các lối vào phải có diện dung nhỏ hơn 2500pF.
- Trở kháng tải phải lớn hơn 3000 nhƣng phải nhỏ hơn 7000 .
- ộ dài của cáp nối giữa máy tính và thiết bị ngoại vi ghép nối qua cổng nối
tiếp RS-232 không vƣợt quá 15m nếu không sử dụng modem.
- Các giá trị tốc độ truyền dữ liệu chuẩn: 50, 75, 110, 750, 300, 600, 1200,
2400, 4800, 9600, 19200, 28800, 38400, …, 56600, 115200bps.
2.1.2. Các mức điện áp thƣờng truyền
RS-232 sử dụng phƣơng thức truyền thông không đối xứng, tức là sử dụng tín
hiệu điện áp chênh lệch giữa một dây dẫn v đất. Do đó ngay từ lúc mới ra đời nó đã
mang vẻ lỗi thời của chuẩn TTL, nó vẫn sử dụng các mức điện áp tƣơng thích TTL để
mô tả các mức logic 0 và 1. Ngoài mức điện áp tiêu chuẩn cũng cố định các giá trị trở
kháng tải và các trở kháng ra của bộ phát.


Hình 2.1 : Mức giới hạn điện áp trong chuẩn RS-232


13
Mức điện áp của tiêu chuẩn RS-232 (chuẩn thƣờng đƣợc dùng bây giờ) đƣợc
mô tả nhƣ sau:
- Mức logic 0: +3V, +12V.
- Mức logic 1: -12V, -3V.
Các mức điện áp trong phạm vi từ -3V đến 3V là trạng thái chuyển tuyến.
Chính vì từ -3V tới 3V là phạm vi không đƣợc định nghĩa, trong trƣờng hợp thay đổi
giá trị logic từ thấp lên cao hoặc từ cao xuống thấp, một tín hiệu phải vƣợt qua quãng
quá độ trong một thời gian ngắn hợp lý. iều này dẫn tới việc phải hạn chế về điện
dung của các thiết bị tham gia và của cả đƣờng truyền. Tốc độ truyền dẫn tối đa phụ
thuộc vào chiều dài của dây dẫn. a số các hệ thống hiện nay chỉ hỗ trợ với tốc độ
19,2kbit/s [2, 3].
2.1.3. Cổng RS-232 trên PC
Chức năng của các chân :
- Chân 1 : data carier detect (DCD) là chân phát tín hiệu mang dữ liệu.
- Chân 2 : Receive data (RxD) là chân nhận dữ liệu.
- Chân 3 : Transmit Data (TxD) là chân truyền dữ liệu.
- hân 4 : Data Termial Ready (DTR) l chân đầu cuối dữ liệu sẵn s ng đƣợc
kích hoạt bởi bộ phận khi muốn truyền dữ liệu.
- Chân 5 : Signal Ground (SG) chân mass của tín hiệu
- Chân 6: Data set ready (DSR) chân dữ liệu sẵn s ng, đƣợc kích hoạt bởi bộ
truyền khi nó sẵn sàng nhận dữ liệu.
- Chân 7: Request to send chân yêu cầu gửi, bộ truyền đặt đƣờng này lên mức
kích hoạt động để thông báo cho bộ truyền là nó sẵn sàng nhận tín hiệu.
- Chân 9: Ring Indicate (RI) báo chuông cho biết là bộ phận đang nhận tín hiệu
rung chuông.


Hình 2.2: Cổng RS-232 trên PC
2.1.4. Truyền dữ liệu
2.1.4.1. Quá trình truyền dữ liệu.
Truyền dữ liệu qua cổng nối tiếp RS-232 đƣợc thực hiện không đồng bộ. Do
vậy nên tại một thời điểm chỉ có một bit đƣợc truyền. Bộ truyền gửi một bit bắt đầu
(bit start) để thông báo cho bộ nhận biết một ký tự sẽ đƣợc gửi đến trong lần truyền bit
tiếp theo. Bit này luôn bắt đầu bằng mức 0. Tiếp theo đó l các bit dữ liệu (bit data)
đƣợc gửi dƣới dạng mã ASCII (có thể là 5,6,7, hay 8 bit dữ liệu) sau đó l một Parity
bit (kiểm tra bit chẵn, lẻ hay không) và cuối cùng là bit dừng( bit stop) có thể là 1 hay
2 bit dừng [2].


14
2.1.4.2. Tốc độ baud
ây là một tham số đặc trƣng của RS-232. Tham số n y chính l đặc trƣng cho
quá trình truyền dữ liệu qua cổng nối tiếp RS-232 là tốc độ truyền nhận dữ liệu hay
còn gọi là tốc độ bit. Tốc độ bit đƣợc định nghĩa l số bit truyền đƣợc trong thời gian 1
giây. Tốc độ bit này phải đƣợc thiết lập ở bên phát và bên nhận đều phải có tốc độ nhƣ
nhau ( tốc độ giữa vi điều khiển và máy tính phải chung nhau một tốc độ truyền bit).
Ngoài tốc độ bit còn một tham số để mô tả tốc độ truyền là tốc độ baud. Tốc độ baud
liên quan đến tốc độ mà phần tử mã hóa dữ liệu đƣợc sử dụng để diễn tả bit đƣợc
truyền còn tốc độ bit thì phản ánh tốc độ mà phần tử mã hóa dữ liệu đƣợc sử dụng để
diễn tả bit đƣợc truyền. Khi một phần tử mã hóa một bit dữ liệu thì hai tốc độ bit và
tốc độ baud là phải đồng nhất.
Một số tốc độ baud thƣờng dùng: 50, 75, 110, 150, 300, 600, 1200, 2400, 4800,
9600, 19200, 28800, 38400, 56000, 115200. Trong thiết bị thƣờng dùng tốc độ baud là
19200.
Khi sử dụng chuẩn nối tiếp RS-232 thì yêu cầu khi sử dụng chuẩn là thời gian
chuyển mức logic không vƣợt qua 4% thời gian truyền 1 bit. Do vậy, nếu tốc độ bit
càng cao thì thời gian truyền 1 bit càng nhỏ thì thời gian chuyển mức logic càng phải

nhỏ. iều này làm giới hạn tốc độ baud và khoảng cách truyền.
2.1.4.3. Bit chẵn lẻ hay Parity bit
ây l bit kiểm tra lỗi tr n đƣờng truyền. Thực chất của quá trình kiểm tra lỗi
khi truyền dữ liệu là bổ sung thêm dữ liệu đƣợc truyền để tìm ra hoặc sửa một số lỗi
trong quá trình truyền. Do đó trong chuẩn RS-232 sử dụng một kỹ thuật kiểm tra chẵn
lẻ. Một bit chẵn lẻ đƣợc bổ sung vào dữ liệu đƣợc truyền để thấy số lƣợng các bit “1”
đƣợc gửi trong một khung truyền là chẵn hay lẻ.
Một Parity bit chỉ có thể tìm ra một số lẻ các lỗi nhƣ l 1, 3, 5, 7, 9… Nếu nhƣ
một bit mắc lỗi thì bit Parity bit sẽ trùng giá trị với trƣờng hợp không mắc lỗi vì thế
không phát hiện ra lỗi. Do đó trong kỹ thuật mã hóa lỗi n y không đƣợc sử dụng trong
trƣờng hợp có khả năng một vài bit bị mắc lỗi.
2.1.5. Mạch giao tiếp RS-232 dùng IC max232
VCC
C5
1µF/25V

1µF/25V

11
10

TxD
C1
1µF/25V

1
3
4
5
2

6

C2
1µF/25V
C4

R1IN
R2IN
T1IN
T2IN
C1+
C1C2+
C2V+
V-

R1OUT
R2OUT
T1OUT
T2OUT

GND

13
8

P2
1
6
2
7

3
8
4
9
5

12
9
14
7

Toi PC(Female)

15

RxD

VCC

U6

16

C3

MAX232
1µF/25V

Hình 2.3: Mạch giao tiếp RS-232 dùng IC Max232



15
2.2. Chuẩn RS-422/RS-485
RS-422 và RS-485 l các t n thƣờng gọi cho 2 chuẩn truyền thông nối tiếp. Các
chuẩn n y đƣợc quy ƣớc bởi Hiệp hội điện tử công nghiệp EIA (Electronics Industry
Association) tên chính xác của các chuẩn này là EIA/TIA-422 và EIA/TIA-485.
Các hệ thống truyền thông dựa trên RS-422 và RS-485 truyền các thông tin số
trên cặp dây xoắn đôi từ các bộ phát tới các bộ thu. Các thiết bị có thể truyền nhận
trong khoảng cách lên tới 4000 feet (1220 mét) khi không có bộ lặp. Các bộ truyền
RS-422 có thể truyền tới 10 bộ nhận. Trong RS-485 32 bộ truyền cũng có thể dùng
chung 1 đƣờng truyền. Tốc độ truyền tối đa của các hệ thống RS-422/RS-485 có thể
lên tới 10 Mbit/s. Cả hai hệ thống đều dùng lối ra cân bằng và lối vào vi sai vì thế cho
khả năng chống nhiễu tốt hơn so với chuẩn RS-232. Kết quả là chúng có khả năng
truyền xa hơn v tốc độ truyền cao hơn so với chuẩn RS-232 [4, 6].
RS-422 là một lựa chọn tốt để mở rộng khoảng cách và tốc độ của các kết nối
điểm-điểm. Trong các trƣờng hợp dữ liệu phải truyền qua một khoảng cách lớn v đi
qua các vùng có nhiễu điện từ thì RS-422 có thể thay thế cho RS-232 với độ tin cậy
cao.

Hình 2.4: Liên kết RS-422 điểm-điểm
RS-422 cũng có thể tạo ra liên kết điểm-đa điểm. Trong liên kết này, Master có
thể truyền dữ liệu tới tất cả các Slave. Tuy nhi n để master có thể nhận dữ liệu trả lời
của chỉ một slave trong một thời điểm thì phải sử dụng RS-485.
RS-485 có thể đƣợc dùng trong các hệ thống mạng 2 dây hoặc 4 dây. Khả năng
điều khiển đƣờng truyền 3 trạng thái của các bộ truyền RS-485 cho phép nhiều bộ
truyền đƣợc kết nối tới một đôi dây theo cấu hình bus (truyền/nhận tr n cùng 1 đôi
dây). Với hệ thống 4 dây, bộ truyền của master đƣợc kết nối tới tất cả các slave nhận
tr n 1 đôi dây và tất cả các slave truyền đƣợc kết nối với master nhận tr n đôi dây còn
lại [4].
RS-485 đƣợc sử dụng rộng rãi trong các hệ thống truyền thông công nghiệp.

Các hệ thống truyền thông công nghiệp nhƣ PROFIBUS, INTERBUS, v các hệ
thống khác đƣợc xây dựng dựa trên công nghệ RS-485.
Các chuẩn EIA/TIA-422 và EIA/TIA-485 không quy định các giao thức. Chúng
chỉ đơn giản là các chuẩn của lớp vật lý. ó nghĩa l RS-422 và RS-485 có thể đƣợc
áp dụng trong nhiều hệ thống và ứng dụng khác nhau. Thƣờng thì các chuẩn n y đƣợc
dùng cho các liên kết nối tiếp. Các hệ thống sử dụng giao thức MODBUS thƣờng đƣợc
sử dụng trong các mạng đa điểm RS-485 [4, 5].


16
2.2.1. Cấu hình mạng 2-dây RS-485

Hình 2.5: Cấu hình mạng 2-dây RS-485
ƣờng truyền ba trạng thái của RS-485 cho phép truyền và nhận tín hiệu bán
song công trên cùng một đôi dây, đây còn đƣợc gọi là cấu hình 2-dây, ngoài ra một
dây đất phải đƣợc th m v o để nối đất chung các trạm thu phát [4].
2.2.2. Cấu hình mạng 4-dây RS-485
ũng giống nhƣ hệ thống mạng 2-dây, cái t n “4-dây” đôi khi gây nhầm lẫn.
Trong thực tế hệ thống 4-dây phải sử dụng tới 5 dây để đảm bảo độ tin cậy.
ặc trƣng cho hệ thống 4-dây là việc thực thi giao thức master-slave. Trong
trƣờng hợp này bộ truyền của master đƣợc nối với đôi dây của tất cả các bộ nhận của
các slave. ôi dây còn lại nối tất cả các bộ truyền của slave với bộ nhận của master.
Dây thứ 5 là dây tín hiệu nối đất chung, nó nối tới tất cả các nút để đảm bảo VCM nằm
trong giới hạn cho phép [4].

Hình 2.6: Cấu hình mạng 4-dây RS-485


17
2.2.3. Kết thúc cáp

Kết thúc cáp đƣợc dùng để phối hợp trở kháng giữa các nút với trở kháng của
đƣờng truyền. Các tín hiệu số liệu truyền tr n đƣờng dây với tốc độ thấp hơn một chút
so với tốc độ ánh sáng []. Khi các tín hiệu này tới điểm cuối của đƣờng truyền , nếu
đƣờng truyền không có kết thúc cáp với trở kháng bằng trở kháng đƣờng truyền thì tín
hiệu đƣợc truyền sẽ không đƣợc bảo toàn vì một phần tín hiệu sẽ phản xạ ngƣợc trở lại
đƣờng truyền. Các tín hiệu phản xạ sẽ gây nhiễu cho tín hiệu thật và có thể gây ra lỗi,
do đó cần phải hạn chế thấp nhất các tín hiệu phản xạ.
Trong thực tế thƣờng sử dụng giải pháp thêm vào một điện trở song song nối
giữa 2 đầu đƣờng truyền A và B của bộ thu để phối hợp trở kháng với cáp truyền. Giá
trị n y đƣợc quy định bởi nhà máy sản xuất cáp (120Ω l giá trị quy ƣớc chung). Giá
trị n y đặc trƣng cho trở kháng thực tế của đƣờng truyền và nó không phải là hàm của
độ d i đƣờng truyền. Không n n dùng điện trở kết thúc cáp bé hơn 90Ω [4, 5].

Hình 2.6: Đường truyền với kết thúc cáp
2.2.4. ịnh thiên trong mạng RS-485
Khi một mạng RS-485 ở trạng thái rỗi (không có dữ liệu tr n đƣờng truyền) tất
cả các bộ phát RS-485 ở trạng thái thụ động, các bộ phát ở trạng thái trở kháng cao.
Các bộ thu đƣợc kích hoạt để nghe ngóng dữ liệu tiếp theo. Trong suốt thời gian này
đƣờng truyền phải đƣợc cấu hình ở trạng thái rỗi (mặt nạ logic 1, VAB>200mV) vì thế
khi một bộ phát muốn khởi tạo việc gửi dữ liệu nối tiếp thì trƣớc tiên phải truyền bit
start bằng cách kéo đƣờng truyền từ mức logic 1 về mức logic 0.
Tuy nhiên, vì tất cả các bộ phát đều đang ở trạng thái trở kháng cao vì vậy
không có gì để giữ đƣờng truyền trong trạng thái rỗi vì không có bộ phát n o đang
hoạt động trên mạng. ƣờng truyền bị rơi v o trạng thái bất định. Nếu VAB<-200mV
thì mức logic không đƣợc xác định (mặc nhi n đầu ra của các bộ nhận sẽ ấn định giá
trị của bit cuối cùng đã nhận) [4, 6].
ể có thể duy trì đƣờng truyền ở trạng thái rỗi, các điện trở định thiên phải
đƣợc thêm vào ở các đầu ra để khống chế điện áp tr n đƣờng truyền trong trạng thái
rỗi. Giá trị của các điện trở định thiên không phụ thuộc v o điện trở kết thúc cáp và số
các nút trên mạng. Mục đích của nó là tạo ra dòng điện một chiều đủ lớn trong mạng

để duy trì điện áp trên toàn bộ đƣờng dây (khi các bộ phát không hoạt động) nghĩa l
nó sẽ tạo ra một mặt nạ, hay tạo ra trạng thái logic 1.Chuẩn EIA/TIA-485 quy định
mặt nạ phải tạo ra điện áp tr n đƣờng truyền lớn hơn -200mV(VAB).
ác điện trở định thiên có thể đƣợc gắn ở bất cứ nơi n o tr n mạng hoặc có thể
đƣợc chia ra và gắn ở nhiều nút. Trong thực tế thì điện trở định thiên là tổng trở mắc
song song của tất cả các điện trở định thiên trong hệ thống.


18

Hình 2.7: Mạng RS-485 với hai điện trở 120Ω kết thúc cáp
Giả sử một hệ thống có 10 bộ thu phát RS-485 đƣợc nối với nhau theo mạng
hình bus (daisy-chain network). Hai điện trở kết thúc cáp 120Ω đƣợc nối vào tại hai
điểm kết thúc của mạng. Mỗi nút có 2 điện trở định thi n 4.7kΩ, một điện trở kéo lên
và một điện trở kéo xuống.
Mỗi nút RS-485 có trở kháng tải đầu vào là 12K Ω. Nhƣ vậy 10 nút nối song
song có tổng trở là 1200 Ω. Hai điện trở kết thúc cáp 120 Ω cho tổng trở là 60 Ω. Kết
qua là tổng trở kháng tải mà tín hiệu truyền qua l ≈ 57 Ω.
Mƣời nút mạng, mỗi nút có các điện trở định thiên là 4.7k Ω (một điện trở kéo
l n v 1 điện trở kéo xuống) thì tổng trở định thiên là 470 Ω điện trở kéo lên và 470 Ω
điện trở kéo xuống. Nhƣ vậy tổng trở tính từ 5V tới đất là 470 Ω + 57 Ω + 470 Ω =
997 Ω. Suy ra dòng qua các phân áp n y l 5V/997 Ω ≈ 5m [4].
Do đó điện áp tạo ra tr n đƣờng truyền là VAB = 5mA x 57 Ω = -285mV cao
hơn mức tiêu chuẩn thấp nhất là -200mV (tiêu chuẩn quy định VAB phải lớn hơn 200mV) [4, 6].
Cần lƣu ý rằng dòng điện có quan hệ mật thiết với các điện trở kết thúc cáp và
các điện trở kết thúc cáp là các tải chính. Việc th m v o các nút có các điện trở định
thiên sẽ l m tăng điện áp của đƣờng truyền ở trạng thái rỗi nhƣng dòng ti u thụ cũng


19

tăng theo. Việc giảm các nút lại làm cho điện áp đƣờng truyền ở trạng thái rỗi giảm đi
và có thể không đủ (dƣới 200mV), vì thế cần phải tính toán các giá trị n y để hệ thống
hoạt động tin cậy.
2.3. Giao thức MODBUS
2.3.1. MODBUS là gì?
MODBUS do Modicon (hiện nay thuộc Schneider Electric) phát triển năm
1979, là một phƣơng tiện truyền thông với nhiều thiết bị thông qua một cặp dây xoắn
đơn. Ban đầu, nó hoạt động trên RS-232, nhƣng sau đó nó sử dụng cho cả RS-485 để
đạt tốc độ cao hơn, khoảng cách d i hơn v nhiều slave trên một bus truyền.
MODBUS đã nhanh chóng trở thành tiêu chuẩn thông dụng trong ngành tự động hóa.
MODBUS là một hệ thống “master - slave”, master đƣợc kết nối với một hay
nhiều slave. Master thƣờng là một PLC, PC, DCS, hay RTU. Slave MODBUS RTU
thƣờng là các thiết bị hiện trƣờng. Khi một master MODBUS RTU muốn có thông tin
từ thiết bị slave, master sẽ gửi một thông điệp về dữ liệu cần, tóm tắt dò lỗi tới địa chỉ
thiết bị slave. Mọi thiết bị khác trên mạng sẽ nhận thông điệp n y nhƣng chỉ có thiết bị
n o đƣợc chỉ định mới có phản ứng. Các thiết bị slave trên mạng MODBUS không thể
tạo ra kết nối, chúng chỉ có thể phản ứng. Nói cách khác, slave sẽ gửi data về cho
master chỉ khi master có yêu cầu.
Ba phiên bản MODBUS phổ biến nhất đƣợc sử dụng ngày nay là:
- MODBUS ASCII.
- MODBUS RTU.
- MODBUS/TCP.
Tất cả thông điệp đƣợc gửi dƣới cùng một format. Sự khác nhau duy nhất giữa 3
loại MODBUS là cách thức thông điệp đƣợc mã hóa. Với MODBUS ASCII, mọi
thông điệp đƣợc mã hóa bằng hexadecimal, sử dụng đặc tính S II 4 bit. ối với mỗi
một byte thông tin, cần có 2 byte truyền thông, gấp đôi so với MODBUS RTU hay
MODBUS/TCP. MODBUS ASCII chậm nhất trong 3 giao thức tr n, nhƣng lại thích
hợp với modem điện thoại hay kết nối sử dụng sóng radio do ASCII sử dụng các tính
năng phân định thông điệp. Do tính năng phân định này, mọi rắc rối trong phƣơng tiện
truyền dẫn sẽ không làm thiết bị nhận dịch sai thông tin. iều này quan trọng khi đề

cập đến các modem chậm, điện thoại di động, kết nối ồn hay các phƣơng tiện truyền
thông khó tính khác. ối với MODBUS-RTU, dữ liệu đƣợc mã hóa theo hệ nhị phân
và chỉ cần một byte truyền thông cho một byte dữ liệu. ây l thiết bị lí tƣởng đối với
RS-232 hay mạng RS-485 đa điểm, tốc độ baud từ 1200 đến 115.200. Tốc độ baud
phổ biến nhất l 9600 đến 19200. MODBUS-RTU là giao thức công nghiệp đƣợc sử
dụng rộng rãi nhất. MODBUS/T P đơn giản là MODBUS qua Ethernet. Thiết bị
Master không kết nối trực tiếp với các thiết bị slave, thay v o đó các địa chỉ IP đƣợc
sử dụng. Với MODBUS/TCP, dữ liệu MODBUS đƣợc tóm lƣợc đơn giản trong một
gói T P/IP. Do đó, bất cứ mạng Ethernet hỗ trợ MODBUS/IP sẽ có hỗ trợ
MODBUS/TCP.
2.3.2. Nguyên tắc hoạt động của MODBUS
MOSBUS sử dụng giao thức master-slave. Tại một thời điểm chỉ có một master
đƣợc kết nối với bus và một hoặc vài slave (tối đa l 247 slave) cùng kết nối tới đƣờng
truyền nối tiếp. Chỉ master mới có quyền gửi yêu cầu, các slave không đƣợc truyền dữ


20
liệu nếu không nhận đƣợc yêu cầu từ master. Các slave không đƣợc giao tiếp với nhau.
Tại một thời điểm master chỉ giao khởi tạo giao tiếp với 1 slave [7, 8].
Khung bản tin của mạng Modbus chuẩn gồm 4 trƣờng chính theo thứ tự:
Trƣờng địa chỉ, trƣờng mã h m, trƣờng dữ liệu, trƣờng kiểm tra lỗi. Master gửi bản tin
có trƣờng địa chỉ nằm đầu ti n, địa chỉ này chỉ tới thiết bị cần ra yêu cầu. Slave sẽ
kiểm tra bus liên tục đến khi nhận đƣợc địa chỉ của mình. Lúc này slave sẽ kiểm tra
mã h m để xem yêu cầu cần thực hiện, ngoài ra còn có thông tin bổ trợ để thực hiện
yêu cầu đó trong trƣờng dữ liệu. Cuối cùng là thông tin về lỗi trong trƣờng kiểm tra lỗi
để xem bản tin nhận đƣợc có chính xác không.
- Hai thành phần chính của giao thức Modbus l trƣờng dữ liệu v trƣờng mã
hàm, hai thành phần còn lại sẽ bỏ đi khi truyền trong mạng cấp cao hơn.

Hình 2.8: Khung Modbus trên đường truyền nối tiếp

ADU: Applicantion Data Unit
PDU: Protocol Data Unit
- Kích thƣớc lớn nhất có thể có thể truyền tr n đƣờng truyền RS-485 là 256
byte tƣơng ứng với lớp DU. Do đó lớp PDU có tối đa:
256-1 byte địa chỉ - 2 byte kiểm tra lỗi = 253 byte [7].
Nếu phát hiện lỗi trong bản tin, bên nhận sẽ dừng truyền. Quá một thời gian
trễn n o đó (time out), master sẽ coi là có lỗi và quyết định h nh động phù hợp. Trong
trƣờng hợp đặc biệt, slave nhận đƣợc thông báo không lỗi nhƣng vì một lý do khác, nó
không thể thực hiện đƣợc yêu cầu, một thông báo theo kiểu “exception response” sẽ
đƣợc tạo ra và gửi cho master để master định đoạt h nh động tiếp theo.
Master có thể gửi yêu cầu tới riêng một slave n o đó bằng cách đƣa địa chỉ
slave đó v o trƣờng địa chỉ hoặc gửi bản tin quảng bá tới tất cả các slave (đƣa giá trị 0
v o trƣờng địa chỉ), lúc này slave sẽ không gửi bản tin trả lời.
Có hai kiểu định dạng khung bản tin khác nhau: ASCII và RTU, mỗi kiểu có ƣu
điểm riêng. Hai kiểu này chỉ dùng với mạng modbus chuẩn.
Chế độ ASCII
Khi các thiết bị trong một mạng Modbus chuẩn giao tiếp với chế độ ASCII
(American Standard Code for Information Interchange), mỗi byte trong thông báo
đƣợc gửi thành hai ký tự S II 7 bit, trong đó mỗi ký tự biểu diễn một chữ số hex. Ƣu
điểm của chế độ truyền này là nó cho phép một khoảng thời gian trống tối đa một giây
giữa hai ký tự mà không gây ra lỗi. Cấu trúc của một ký tự khung gửi đi đƣợc thể hiện
nhƣ hình 2.9.
Mỗi ký tự khung bao gồm:
 1 bit khởi đầu (start bit).
 7 bit biểu diễn một chữ số hex của byte cần gửi dƣới dạng ký tự ASCII
(0 -9 và A – F), trong đó bit thấp nhất đƣợc gửi đi trƣớc.


21
 1 bit parity chẵn/lẻ, nếu sử dụng parity.

 1 bit kết thúc (stop bit) nếu sử dụng parity hoặc 2 bit kết thúc nếu không
sử dụng parity.

Hình 2.9: Cấu trúc khung ký tự ASCII
Chế độ RTU
Khi các thiết bị trong một mạng Modbus chuẩn đƣợc đặt chế độ RTU, mỗi byte
trong thông báo đƣợc gửi thành một ký tự 8 bit. Ƣu điểm lớn nhất của chế độ truyền
này so với chế độ ASCII là hiệu suất cao hơn. Tuy nhi n, mỗi thông báo phải đƣợc
truyền thành một dòng liên tục. Cấu trúc một ký tự khung gửi đi đƣợc thể hiện nhƣ
hình 2.10.

Hình 2.10: Cấu trúc khung ký tự RTU
Mỗi ký tự khung bao gồm:
 1 bit khởi đầu (start bit).
 8 bit của byte thông báo cần gửi, trong đó bit thấp nhất đƣợc gửi đi
trƣớc.
 1 bit parity chẵn/lẻ nếu sử dụng parity.
 1 bit kết thúc (stop bit) nếu sử dụng parity hoặc 2 bit kết thúc nếu không
sử dụng parity).
2.3.3. ơ đồ trạng thái của Modbus
ơ đồ trạng thái master:
- Trạng thái “idle” = không có y u cầu cần xử lý. ây l trạng thái khởi tạo sau
khi bật nguồn. Một yêu cầu chỉ có thể đƣợc gửi đi trong trạng thái “idle”. Sau
khi gửi yêu cầu, master rời khỏi trạng thái “idle” v không đƣợc gửi yêu cầu
thứ 2 tại thời điểm này.
- Khi một yêu cầu ở chế độ unicast đƣợc gửi tới 1 slave, master chuyển tới trạng
thái “Waiting for reply” v một “Respone Time-out” bắt đầu chạy. iều này
tránh cho master rơi v o tình trạng chờ đợi trả lời vô thời hạn trong trạng thái
“Waiting for reply”. Giá trị của Time-out tùy thuộc vào từng ứng dụng.



22
-

-

Khi nhận đƣợc trả lời, master kiểm tra trả lời trƣớc khi xử lý dữ liệu. Việc kiểm
tra có thể phát hiện ra lỗi, hoặc lỗi khung dữ liệu nhận, đây l tình huống không
mong đợi. Trong trƣờng hợp này có thể yêu cầu gửi lại.
Nếu không nhận đƣợc trả lời, thì khi hết thời gian time-out, một lỗi có thể đƣợc
tạo ra, sau đó master trở về trạng thái “idle”. Master có thể yêu cầu gửi lại. Số
lần yêu cầu gửi lại phụ thuộc vào việc thiết lập master.

Hình 2.11: Sơ đồ trạng thái của master
- Khi một yêu cầu quảng bá (broadcast) đƣợc master gửi lên bus nối tiếp thì
không có các đáp ứng từ các slave. Tuy nhiên master cần duy trì thời gian trên
để các slave có thời gian xử lý trƣớc khi gửi 1 yêu cầu mới. Trễ n y đƣợc gọi là
“Turnaround delay” vì vậy master đi v o trạng thái “Waiting Turnaroud delay”
trƣớc khi trở về trạng thái “idle” v trƣớc khi có thể gửi một yêu cầu mới.
- Trong chế độ unicast time-out phải đƣợc đặt đủ d i để slave đủ thời gian nhận
và xử lý yêu cầu vì thế Turnaround delay phải ngắn hơn tim-out. Time-out từ 1
giây tới vài giây tại tốc đôk 9600bps bsg Turnaround delay khoảng từ 100ms
đến 200ms.
- Lỗi khung bao gồm: 1. Lỗi khi kiểm tra bit Parity, 2. Lỗi khi kiểm tra các bit dƣ
đƣợc thêm vào [7].
ơ đồ trạng thái slave

Hình 2.12: Sơ đồ trạng thái của slave



23
- Trạng thái “idle” = không có y u cầu cần xử lý. ây l trạng thái khởi tạo sau
khi bật nguồn.
- Khi nhận đƣợc 1 yêu cầu, slave kiểm tra gói trƣớc khi thực hiện h nh động
đƣợc yêu cầu trong gói. Các lỗi có thể xảy ra là: lỗi format trong yêu cầu, sai hành
động, … trong trƣờng hợp lỗi, một đáp ứng cần phải đƣợc đƣợc gửi tới master.
- Khi hoàn tất h nh động yêu cầu, một bản tin unicast phải đƣợc định dạng và
gửi tới master.
- Nếu slave phát hiện ra lỗi trong khung nhận, thì sẽ không có đáp ứng trở lại
master [7].
2.4. Kỹ thuật CRC
CRC (Cyclic Redundancy Check) là một phƣơng pháp để phát hiện lỗi bằng
cách gắn thêm một khối bit phía sau khối dữ liệu. CRC là một kỹ thuật mạnh để phát
hiện lỗi, vì vậy nó đƣợc dùng rộng rãi trong mọi hệ thống giao tiếp dữ liệu. Các bit bổ
sung thêm vào các bit thông tin đƣợc gọi là các bit CRC. Những bit này có thể là 16
hoặc 32. Nếu các bit bổ sung là 16, R đƣợc biểu diễn nhƣ R -16. CRC-32 sử
dụng 32 bit bổ sung. ó l những tiêu chuẩn quốc tế cho việc tính toán của CRC-16 và
CRC-32.
Việc nhận lỗi sử dụng CRC là rất đơn giản. Ở bên truyền, R đƣợc thêm vào
các bit thông tin. Khi việc nhận kết thúc, bên nhận tính toán CRC từ những bit thông
tin và nếu CRC tích hợp CRC nhận, vậy thì bên nhận biết đƣợc những bit thông tin là
đúng. R -16 và CRC-32 là hai thuật toán tiêu chuẩn đƣợc sử dụng để tính chu kỳ
kiểm tra dƣ thừa. Các bit CRC bổ sung (16 v 32) đƣợc nối thêm vào các bit thông tin
ở bên phát. Tại phía thu, các CRC nhận đƣợc so sánh với ƣớc tính. Nếu phù hợp, các
bit thông tin đƣợc coi l đã nhận đƣợc một cách chính xác. Nếu không phù hợp, nó cho
thấy rằng có những sai sót trong các bit thông tin.
2.3.1. Lý thuyết CRC
Một xâu bít bất kỳ đƣợc xem nhƣ một tập các hệ số (0 và 1) của một đa thức đại
số. Nếu xâu gồm k bít thì đa thức tƣơng ứng sẽ có bậc là k-1 gồm các số hạng từ x0
đến xk-1.

Ví dụ: 110001 x5 + x4 + x0 = x5 + x4 + 1
Phƣơng pháp R sẽ xây dựng một xâu các bít kiểm tra và ghép vào xâu bít cần
truyền, đƣợc gọi l dãy hecksum. Dãy hecksum đƣợc xây dựng nhƣ sau:
- Chọn trƣớc một đa thức gọi l đa thức sinh G(x)
- hecksum đƣợc tìm thoả mãn điều kiện đa thức tƣơng ứng với xâu ghép gồm xâu
gốc và checksum phải chia hết (Modulo 2) cho G(x).
- Khi nhận đƣợc xâu bít, để kiểm soát lỗi lấy đa thức nhận đƣợc chia (Modulo 2) cho
đa thức sinh G(x). Nếu không chia hết thì chắc chắn có lỗi, trƣờng hợp ngƣợc lại chƣa
khẳng định là không có lỗi.
2.3.2. Thuật toán CRC
Giả sử đa thức sinh đƣợc chọn là G(x) có bậc là r xâu bít cần truyền tƣơng ứng với đa
thức M(x) có bậc m .


24
ác bƣớc để xây dựng dãy hecksum nhƣ sau:
- Thêm r bits 0 vào cuối xâu bits cần truyền xâu ghép sẽ gồm đƣợc tìm thoả mãn điều
kiện đa thức tƣơng ứng với xâu ghép gồm (m + r) bits tƣơng ứng với đa thức xr M(x).
- hia Modulo 2 xâu bits tƣơng ứng xr M(x) cho xâu bits tƣơng ứng với G(x).
- Lấy số bị chia ở bƣớc trên trừ đi Modulo 2 cho số d.
Kết quả sẽ l xâu bít đƣợc truyền đi ( xâu gốc ghép với Checksum). Ký hiệu đa thức
tƣơng ứng cho xâu đó l P(x). Rõ r ng P(x) chia hết cho G(x). Khi nhận, giả sử xâu
bits nhận đƣợc có đa thức tƣơng ứng là Q(x) chia modulo 2 cho G(x). Giả thiết rằng
Q(x) = P(x) + E(x), trong đó E(x) đƣợc gọi là đa thức lỗi.
Ví dụ: Giả sử xâu gốc là 1101011011 suy ra M(x) = x9 + x8 + x6 + x4 + x3 + x + 1
có bậc m = 9; Chọn 10011 tƣơng ứng G(x)= x4 + x + 1 (r=4).
- Bƣớc1. Xâu gốc ghép 4 bits 0 ta đƣợc 11010110110000.
- Bƣớc 2. Chia modulo 2
11010110110000 /(modulo2) 10011 ta đƣợc thƣơng l 1100001010 v phần dƣ l
1110.

- Bƣớc 3. Xâu cần truyền là
11010110110000 - (modulo2) 1110 = 11010110111110 l P(x). Theo phƣơng pháp
này việc lựa chọn đa thức sinh chuẩn G(x) sẽ giúp cho việc phát hiện lỗi rất hiệu quả.
Hiện nay ngƣời ta xây dựng 3 đa thức sinh chuẩn quốc tế:
CRC – 12 = x12 + x11 + x3 + x2 + x + 1
CRC – 16 = x16 + x15 + x2 + 1
CRC – CCITT = x16 + x12 + x5 + 1


×