Về phương diện thực hiện sự đồng bộ giữa máy thu và phát trong một hệ thống
thông tin hai chế độ truyền bất đồng bộ và đồng bộ có những điểm khác biệt :
- Chế độ truyền bất đồng bộ: để phát bản tin người ta phát đi từng ký tự một và sự
đồng bộ được thực hiện cho từng ký tự này bởi các bit Start và Stop thêm vào trước và sau
mỗi ký tự . Xung đồng hồ được tạo ra một cách riêng rẽ ở máy thu và máy phát. Như vậy, sự
đồng bộ được thực hiện chính xác khi tần số xung đồng hồ ở máy thu hoàn toàn đúng với tần
số xung đồng hồ ở máy phát, nếu không tin tức nhận được sẽ có lỗi.
- Chế độ truyền đồng bộ: để phát một bản tin người ta xem nó là một khối và phát
đi một lần cả khối đó, sự đồng bộ được thực hiện bằng cách cho máy phát phát kèm theo tín
hiệu dữ liệu các xung đồng hồ mà máy thu khi dò ra sẽ dùng để đồng bộ tín hiệu ở máy thu.
Thực tế, việc này chỉ được thực hiện khi hệ thống thu phát khép kín về mặt vật lý, hay nói
cách khác máy phát và thu phải ở gần nhau. Khi máy phát không thể gửi riêng tín hiệu xung
đồng hồ tới máy thu thì ở máy thu phải có mạch tách bit thời gian từ chính tín hiệu dữ liệu để
thực hiện sự đồng bộ.
Ở máy thu đồng bộ, ngoài việc dò tín hiệu đồng bộ ra, máy thu phải biết phân biệt
được ranh giới của mỗi ký tự để việc phục hồi bản tin không bị lỗi.
Ta thấy việc thực hiện giao thức bất đồng bộ tương đối đơn giản, giá thành thấp nhưng
hiệu quả không cao. Giả sử để phát một ký tự mã ASCII thì phải dùng ít nhất 9 bit (7 bit ký
tự, 1 bit start, 1 bit stop), thì tỉ lệ hao là 2/9 = 0,22=22%. Trong khi đó, tỉ lệ này trong chế độ
đồng bộ là rất thấp, khoảng vài %.
Như vậy, chế độ truyền bất đồng bộ chỉ thuận lợi khi phát những bản tin ngắn và với
vận tốc thấp (<1200 bps). Và chế độ truyền đồng bộ tỏ ra ưu việt hơn khi phát những bản tin
dài với vận tốc cao hơn (>1200 bps). Dùng với các Modem âm tần, phát đồng bộ có thể đạt
vận tốc 9600 bps.
Chương này đề cập đến các giao thức đồng bộ, khảo sát vài IC LSI thực hiện việc phát
nối tiếp đồng bộ thông dụng và cuối cùng sơ lược qua các phương pháp kiểm tra hệ thống
thông tin
23 trang |
Chia sẻ: aloso | Lượt xem: 2590 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Truyền nối tiếp đồng bộ, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
như sau :
__________________________________________________________________________
Nguyễn Trung Lập Truyền dữ liệu
_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI
- 4
SYN Ký tự đồng bộ mã ASCII dạng Hex 16H
SOH Ký tự bắt đầu của Header 01H
STX Ký tự bắt đầu văn bản 02H
ETX Ký tự kết thúc văn bản 03H
EOT Ký tự kết thúc phát 04H
ETB Ký tự kết thúc truyền khối 17H
ENQ Ký tự hỏi 05H
ACK Ký tự báo cho biết đã nhận dữ liệu 06H
NAK Ký tự báo cho biết chưa nhận dữ liệu 15H
NUL Ký tự rỗng 00H
DLE Ký tự giải phóng đường dữ liệu 10H
CAN Ký tự hủy 18H
Một khung dữ liệu của BISYNC tiêu biểu có cấu trúc sau :
SYN SYN SOH header STX text ETX BCC
Đầu Cuối
- Phần văn bản (text) chứa dữ liệu thông tin. Kích thước vùng text có giới hạn nên với
các văn bản lớn người ta chia thành những khối nhỏ (block) và trong phần Header có phần
identifier (id) để chỉ thứ tự các khối.
- Phần header chứa điạ chỉ đến và tín hiệu trả lời ACK/NAK nếu có yêu cầu.
- BCC là ký tự 1 Byte dùng kiểm tra khung. Đây là byte duy nhất được tạo ra để kiểm
tra lỗi trong toàn khối. BCC có thể là một phép kiểm tra chẵn lẻ (dùng trong BSC), hoặc chặc
chẽ hơn là kiểm tra dư thừa theo chu kỳ (Cycle Redundancy Check, CRC ) (Dùng trong Basic
Mode, với CRC - 16).
Dưới đây là ví dụ truyền chữ TEST và kiểm tra chẵn lẻ theo hàng
STX T E S T EXT BCC
0
1
0
0
0
0
0
1
0
0
1
0
1
0
1
1
1
0
1
0
0
0
1
1
1
1
0
0
1
0
1
0
0
0
1
0
1
0
1
1
1
1
0
0
0
0
0
0
1
1
1
0
1
0
0
0
b0
b1
b2
b3
b4
b5
b6
b7
Đối với ví dụ trên các bit sẽ được truyền như sau :
STX T E S T ETX BCC
01000001 00101011 10100011 11001010 00101011 11000000 11101000
Đầu Cuối
Trong ví dụ này người ta dùng kiểm tra chẵn và BCC chỉ kiểm tra các ký tự từ STX
đến ETX. Trên thực tế, sự kiểm tra được thực hiện trên toàn khối (từ SOH đến ETX).
Khi nhận được bản tin, máy thu thực hiện phép tính kiểm tra tổng, so sánh với BCC
nhận được, sau đó sẽ trả lời bằng tín hiệu ACK (Đúng) hoặc NAK (Không đúng).
Máy phát sẽ không gửi bản tin khác khi chưa được xác nhận rằng bản tin trước đã
nhận đúng (phương thức bán song công).
Dưới đây là một số thủ tục chính trong BSC/Basic Mode:
- Mời truyền tin:
Giả sử trạm A muốn mời trạm B truyền tin, trạm A sẽ gửi lệnh sau đây tới B:
__________________________________________________________________________
Nguyễn Trung Lập Truyền dữ liệu
_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI
- 5
EOT B ENQ
Trong đó B là địa chỉ của trạm được mời truyền tin
EOT để chuyển liên kết sang trạng thái điều khiển
Khi B nhận được lệnh này, có thể xảy ra 2 trường hợp:
- Nếu B có tin để truyền thì B tạo cấu trúc tin theo dạng chuẩn và gửi đi
- Nếu B không có tin để truyền thì gửi đi lệnh EOT để trả lời
Ở phía A một khoảng thời gian xác định sau khi gửi lệnh đi mà không được trả lời
hoặc nhận được trả lời sai thì A sẽ chuyển sang trạng thái phục hồi (Recovery state).
- Mời nhận tin:
Giả sử trạm A muốn mời trạm B nhận tin, trạm A sẽ gửi lệnh sau đây tới B:
EOT B ENQ
Có thể bỏ qua lệnh EOT.
Khi nhận được lệnh này, nếu B sẵn sàng nhận tin thì nó gửi lệnh ACK để trả lời, nếu
không thì gửi lệnh NAK
Ở phía A một khoảng thời gian xác định sau khi gửi lệnh đi mà không được trả lời
hoặc nhận được trả lời sai thì A sẽ chuyển sang trạng thái phục hồi (Recovery state).
- Yêu cầu trả lời:
Khi một trạm cần trạm kia trả lời một yêu cầu nào đó đã gửi đi trước đó thì nó chỉ cần
gửi lệnh ENQ đến trạm kia
- Ngừng truyền tin (tạm thời): Gửi lệnh EOT
- Giải phóng liên kết: Gửi lệnh DLE EOT
- Trạng thái phục hồi: Khi một trạm nào đó đi vào trạng thái "phục hồi" nó sẽ thực
hiện một trong các hành động sau:
- Lặp lại lệnh đã gửi đi n lần (n là số nguyên chọn trước) hoặc
- Gửi "yêu cầu trả lời" n lần hoặc kết thúc truyền bằng lệnh EOT
- Chế độ thông suốt (Transparent Mode).
Trong trường hợp các mã điều khiển xuất hiện trong văn bản (Text) nhưng không
mang ý nghĩa điều khiển mà phải được hiểu như là dữ liệu, hệ thống được chuyển sang chế độ
thông suốt bằng cách dùng ký tự DLE đặt trước STX và DLE đặt trước ETX để chấm dứt chế
độ này.
6.2.2 Giao thức hướng bit.
Giao thức hướng bit được thiết kế để thoả mãn nhiều yêu cầu trong cách truyền đồng
bộ, bao gồm :
- Truyền giữa hai đài (trạm) (point to point) hay nhiều đài (multipoint).
- Bán song công hay song công.
- Liên lạc giữa trạm sơ cấp và trạm thứ cấp.
- Liên lạc với khoảng cách ngắn (nối trực tiếp), hoặc rất xa (vệ tinh).
Giao thức này có một số tính chất sau :
- Người sử dụng có thể sử dụng bất cứ loại mã nào.
- Có khả năng thích hợp với nhiều loại đường truyền.
- Hiệu suất cao : giảm tối thiểu tỉ lệ hao hụt.
- Độ tin cậy cao : cho phép kiểm tra lỗi có hiệu quả và có khả năng phục hồi dữ liệu.
Có thể nói các tính chất của giao thức hướng bit được thể hiện ở trường điều khiển bởi
các tổ hợp bit mã hóa các từ điều khiển.
Có nhiều giao thức hướng bit đã được đề nghị bởi các cơ quan khác nhau và được sử
dụng rộng rãi :
- Thủ tục điều khiển thông tin dữ liệu cao cấp (Advanced Data Communication Control
Procedure - ADCCP) phát triển bởi Viện chuẩn quốc gia Hoa Kỳ (American National Standard
Institute - ANSI) đây là chuẩn trong hệ thống thông tin quốc gia.
__________________________________________________________________________
Nguyễn Trung Lập Truyền dữ liệu
_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI
- 6
- Thủ tục truy xuất đường truyền cân bằng (Link Access Procedure, balance - LAP-B) thực
hiện bởi Hội đồng Tư vấn Điện tín và Điện thoại quốc tế (International Telegraph & Telephone
Consultative Committee - CCITT) Đây là một chuẩn về mạng.
- Điều khiển liên kết dữ liệu đồng bộ (Synchronous Data Link Control - SDLC) được dùng
bởi hãng IBM (International Business Machine Corporation) và ISO lấy làm cơ sở để phát triển thành
giao thức điều khiển liên kết dữ liệu mức cao (High Level Data Link Control, HDLC).
Thật ra không có mấy khác biệt giữa các chuẩn nói trên: HDLC và ADCCP có thể
xem là một còn LAP-B và SDLC là những tập con của HDLC.
Phần sau đây sẽ bàn tới chuẩn SDLC.
6.2.2.1 Đặc tính cơ bản :
SDLC định nghĩa 3 loại trạm, 2 dạng truyền và 2 chế độ vận hành.
* 3 loại trạm:
- Trạm sơ cấp: (Primary) có trách nhiệm điều khiển vận hành của hệ thống, những
khung phát bởi trạm sơ cấp gọi là lệnh (command)
- Trạm thứ cấp: (secondary) vận hành dưới sự điều khiển của trạm sơ cấp, những
khung phát bởi trạm thứ cấp là lời đáp (response) Trạm sơ cấp duy trì việc nối logic với từng
trạm thứ cấp trong hệ thống một cách riêng rẽ .
- Trạm hỗn hợp: Các trạm đồng thời giữ vai trò sơ và thứ cấp.
* 2 dạng truyền:
- Dạng không cân bằng : dùng giữa 2 trạm hoặc nhiều trạm, gồm một trạm sơ cấp và
một hoặc nhiều trạm thứ cấp, có thể truyền song công và bán song công.
- Dạng cân bằng : chỉ dùng giữa 2 trạm hỗn hợp, có thể truyền song công hoặc bán
song công.
* 2 chế độ vận hành :
- Chế độ trả lời chuẩn (Normal Response Mode - NRM) : đây là một dạng truyền không
cân bằng, một trạm sơ cấp có thể khởi động để truyền dữ liệu đến trạm thứ cấp và trạm thứ
cấp chỉ có thể truyền dữ liệu để trả lời khi trạm sơ cấp yêu cầu.
- Chế độ bình thường không kết nối (DISC) : Ở chế độ này trạm thứ cấp nhận tin
nhưng không tác động được vào bản tin.
(H 6.3) mô tả dạng truyền cân bằng và không cân bằng.
Primary
Commands→
⎯⎯⎯⎯⎯⎯
← Responses
⎯⎯⎯⎯
↓
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
⎯⎯
↓
Secondary
Secondary
(a) Dạng không cân bằng
Combined
← Commands →
----------------------------------------------
← Responses →
Combined
b) Dạng cân bằng
(H 6.3)
6.2.2.1 Cấu trúc của khung : (H 6.4)
__________________________________________________________________________
Nguyễn Trung Lập Truyền dữ liệu
_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI
- 7
Một khung thông tin trong SDLC gồm các trường sau đây :
- Cờ : 8 bit
- Điạ chỉ : 1 byte.
- Điều khiển : 8 bit.
- Thông tin : thay đổi theo bản tin.
- Chuỗi kiểm tra khung (Frame Check Sequence - FCS) : 16 bit.
- Cờ : 8 bit.
Các trường cờ, điạ chỉ và điều khiển đặt trước trường thông tin gọi là đầu khung
(header) và các trường FCS và cờ đặt sau trường thông tin gọi là cuối khung (Trailer). (H 6.4)
cho dạng của khung và các trường trong khung
FLAG
A
ADDRESS
CONTROL
INFORMATION
FCS
FLAG
← 8 bit → ← 8 bit → ← 8 bit → ← variable → ← 16 bit → ← 8 bit →
(H 6.4) Dạng khung thông tin SDLC
a. Trường cờ (Flag Field) :
Trường cờ đặt ở đầu và cuối một khung để giới hạn khung, gồm 8 bit theo qui định là
01111110 (6 bit 1 liên tiếp giữa 2 bit 0 ).
Giữa 2 khung có thể có một trong các trường hợp sau đây:
- Một cờ xuất hiện giữa bản tin gọi là cờ đơn vừa dùng chấm dứt một khung đồng thời
bắt đầu một khung khác.
- Một cờ chấm dứt khung trước và một cờ bắt đầu khung sau. Giữa 2 cờ này có thể chỉ
dùng một bit 0.
- Có thể chèn vào giữa 2 cờ một số cờ khác.
Khung x : Khung x+1
. . . . 01111110 . . . .
. . . . 01111110 : 01111110 . . . .
. . . . 011111101111110 . . . .
. . . . 01111110 01111110 : 01111110 01111110 . . . .
Do SDLC không có qui định chặt chẻ về mã dùng cho dữ liệu nên các mã có dạng của
cờ có thể xuất hiện trong bản tin và gây nên nhầm lẫn ở máy thu. Để tránh sự hiểu lầm ở máy
thu khi nhận dữ liệu, máy phát dùng kỹ thuật nhồi bit nghĩa là khi thấy trong chuỗi dữ liệu có
5 bit 1 liên tiếp thì thêm vào bit 0 ngay sau 5 bit 1 này. Ở máy thu sau tín hiệu cờ khi gặp liên
tiếp 5 bit 1 thì tự động bỏ bit 0 theo sau đó để phục hồi dữ liệu. Như vậy bảo đảm sự chính
xác của dữ liệu.
Thí dụ: Trạm B có địa chỉ là C2 phát đi văn bản “C?”
- Khung thông tin chưa nhồi bit: (Viết theo chiều mũi tên hướng về bên trái)
01111110 01000011 01111110 11111110 11000011 11110110
Cờ Đ/c= C2 TĐK mã “=7F mã C= C3 mã ?= 6F
11111110 FCS 01111110 111111111111. . . .
“=7F Cờ Bit nghỉ
- Khung thông tin có bit nhồi (o):
01111110 01000011 011111o10 11111o110 11000011 111o10110
Cờ Đ/c= C2 TĐK mã “=7F mã C= C3 mã ?= 6F
11111o110 FCS 01111110 111111111111. . . .
__________________________________________________________________________
Nguyễn Trung Lập Truyền dữ liệu
_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI
- 8
“=7F Cờ Bit nghỉ
b. Trường địa chỉ (Address field)
Trường địa chỉ dùng để xác định trạm thứ cấp trong hệ thống. Địa chỉ trong bản tin
luôn luôn là địa chỉ của trạm thứ cấp dù nó do trạm sơ cấp hay thứ cấp gửi đi.
Trường này không cần thiết trong trường hợp hệ thống chỉ gồm hai trạm.
Trường địa chỉ dài 8 bit. Nếu tất cả các bit trong trường địa chỉ đều =1 có nghĩa trạm
sơ cấp yêu cầu liên lạc với tất cả trạm thứ cấp.
Giá trị 00 không được xem là một địa chỉ (gọi là void address)
c. Trường điều khiển (Control field) (H 6.5)
SDLC định nghĩa 3 loại khung của trường điều khiển, mỗi loại có dạng khác nhau
Một hoặc hai bit đầu tiên của trường điều khiển dùng định nghĩa khung : bit thứ nhất =
0 chỉ khung thông tin, bit thứ nhất và hai = 10 chỉ khung giám sát và = 11 chỉ khung không
số. Những bit còn lại được tổ chức như những tập bit con mà ý nghĩa của nó sẽ được giải
thích cụ thể đối với từng loại khung.
Một frame của SDLC được coi là bất hợp lệ nếu nó không được đóng khung bởi 2 Cờ
ở hai đầu hoặc có tổng kích thước các vùng nằm giữa 2 Cờ nhỏ hơn 32 bit.
1 (LSB) 2 3 4 5 6 7 8
I : Information 0 Ns P/F Nr
S : Supervisory 1 0 S P/F Nr
U : Unnumbered 1 1 M P/F M
Ns = Send sequence number Nr = Receive sequence number
S = Supervisory function bits M = Unnumbered function bits
P/F = Poll/Final bit
(H 6.5) Dạng trường điều khiển
- Khung loại I: (Thông tin, Information frame, I-frame) , đây là khung chứa bản tin
cần phát đi của người sử dụng.
Khi khung I được dùng thì bản văn phát đi được đánh số thứ tự.
Bit 5 trong khung thông tin có tên là bit P/F (Poll/Final).
* Nếu bản tin phát đi từ trạm sơ cấp đến trạm thứ cấp thì đây là bit P, nếu P=0 thì trạm
thứ cấp không cần thiết phải trả lời ngay, nếu P=1 thì đây là bit thăm dò và trạm thứ cấp phải
trả lời ngay.
* Nếu bản tin phát đi từ trạm thứ cấp đến trạm sơ cấp thì đây là bit F, nếu F=0 thì đây
chưa phải là bản tin cuối cùng và trạm sơ cấp không cần thiết phải trả lời ngay, nếu F=1 có
nghĩa đây là bản tin cuối cùng và trạm sơ cấp phải trả lời ngay.
* Ns chỉ số thứ tự bản tin đang được phát đi.
* Nr là số thứ tự nhận, nếu phát đi từ trạm sơ cấp thì liên hệ đến số Ns phát đi từ trạm
thứ cấp và nếu phát đi từ trạm thứ cấp thì liên hệ với Ns phát đi từ trạm sơ cấp. Nr chỉ số thứ
tự bản tin mà trạm đang chờ và đồng thời xác nhận đã nhận tốt các bản tin trước đó (tức đến
số Nr-1)
Thí dụ, trạm thứ cấp phát đi Ns=2 và Nr=3 có nghĩa là nó đang phát đi bản tin thứ 2 và
đã nhận tốt các bản tin thứ 2 trở về trước.
Do các số Ns chỉ có 3 bit nên số lượng tối đa mỗi lần phát chỉ được 7 bản tin, như vậy
buộc máy thu phải xác nhận trước khi số Ns vượt quá 7 (Ns=111).
Dưới đây là một thí dụ, Giả sử trạm sơ cấp đang phát và các số Nr và Ns đều bắt đầu
bằng số 0
__________________________________________________________________________
Nguyễn Trung Lập Truyền dữ liệu
_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI
- 9
Sơ cấp Thứ cấp
Ns P Nr Ns F Nr
0 000 0 000
0 100 0 000
0 010 1 000
0 110 0 010
0 001 0 010
0 101 0 010
0 011 0 010
0 111 0 010
0 000 1 010
0 011 0 101
0 111 0 101
0 000 0 101
0 100 1 101
0 010 0 101
0 110 0 101
0 001 0 101
0 101 0 101
0 011 1 101
0 000 0 110
0 100 1 110
0 010 0 011
0 110 0 011
0 001 1 011
10 00 1 010
10 00 1 101
(RR)
or
10 01 1 101
(REJ)
Trạm sơ cấp phát 3 khung thông tin.
Khung thứ 3 là khung thăm dò
Trạm thứ cấp báo nhận với Nr=3.
Nó gửi lại 2 khung thông tin.
Trạm sơ cấp báo nhận tốt 2 khung với Nr=2. Gửi tiếp 6 khung
Vì Nr=6, Trạm thứ cấp báo nhận Nr-1=5 khung và yêu cầu phát lại
khung 6. Vì trạm sơ cấp không biết chỉ khung 6 hay tất cả các
khung theo sau có sai FCS nên nó phát lại tất cả từ khung 6
Trạm sơ cấp báo nhận tốt khung 4 với Nr=5.
Tiếp tục phát lại khung 6. (Lưu ý là số đếm Ns đã vượt trị cho phép
nên trở về 0)
Trạm thứ cấp báo nhận tất cả các khung với Nr=2.
Vì trạm thứ cấp không còn gì để gửi, khung giám sát được dùng
Trạm sơ cấp gửi tiếp 5 khung
Trạm thứ cấp xác nhận khung 4 và yêu cầu phát lại từ khung 5
(Nr=5)
- Khung loại S: (Giám sát , Supervisory frame, S-frame), dùng để đếm số khung
gửi/nhận; một số lệnh và lời đáp báo tình trạng của máy thu (như sẵn sàng hay bận) kiểm soát
và báo lỗi.
Khung giám sát bắt đầu bởi 2 bit 10.
Bit 3 và 4 (vị trí S trong khung) xác định các lệnh của khung giám sát
b3b4= 00 : Ready to receive (RR)
b3b4= 10 : Not ready to receive (RNR)
b3b4= 01 : Reject (REJ)
Trạm thứ cấp sẽ xóa khung RNR bằng cách gửi một khung thông tin với bit F=1 và
đối với các khung RR và REJ thì F=0 hay 1.
Trạm sơ cấp sẽ xóa khung RNR bằng cách gửi một khung thông tin với bit P=1 và đối
với các khung RR và REJ thì P=0 hay 1.
- Khung loại U: (Không số, Unnumbered frame, U-frame), cung cấp những chức năng
điều khiển phụ như khởi động trạm thu, kiểm tra trạm, giải phóng liên kết khi cần thiết . . . .
Khung không số bắt đầu bởi 2 bit 11.
Khi dùng khung U để phát thì không cần đánh số thứ tự bản tin.
Bảng 6.2 cho các lệnh trong khung U:
Mã nhị phân Lệnh Phát đi từ trạm sơ
cấp
Phát đi từ trạm
thứ cấp
Cho phép
phát bản văn
__________________________________________________________________________
Nguyễn Trung Lập Truyền dữ liệu
_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI
- 10
1100 P/F 000
1110 P 000
1110 F 000
1100 P 001
1111 F 000
1100 F 010
1100 P 010
1100 P/F 110
1110 F 001
UI
SIM
RIM
SNRM
DM
RD
DISC
UA
FRMR
x
x
x
x
x
x
x
x
x
x
x
x
x
UI - Unumbered Information (NSI - Nonsequenced Information): Cho phép dữ liệu
người sử dụng được phát theo kiểu không tuần tự
SIM - Set Initialization Mode: Dùng để khởi tạo một cuộc liên lạc giữa trạm sơ và thứ
cấp. Lệnh này sẽ reset số đếm Ns và Nr và trạm sơ cấp chờ trạm thứ cấp trả lời với lệnh UA.
RIM - Request Initialization Mode (RQI - Request Initialization): Trạm thứ cấp yêu
cầu trạm sơ cấp phát lệnh SIM
SNRM - Set Normal Response Mode: Đặt trạm thứ cấp vào chế độ chỉ trả lời. Trong
chế độ này trạm thứ cấp có thể trả lời với các loại khung I, U và S.
Trạm thứ cấp không thể tự đặt mình vào một trong hai chế độ NRM và DISC
DM - Disconnect Mode (ROL - Request On-Line): Được phát bởi trạm thứ cấp để
báo cho trạm sơ cấp biết nó đang ở chế độ bình thường không kết nối. Thường khi được báo
thì trạm sơ cấp sẽ đặt chế độ trả lời bình thường cho nó (SNRM).
RD - Request Disconnect (RQD - Request Disconnect): Dùng ở trạm thứ cấp để yêu
cầu không kết nối.
DISC - Disconnect: Phát bởi trạm sơ cấp để đưa trạm thứ cấp vào chế độ bình thường
không kết nối. Ở chế độ này trạm thứ cấp nhận tin nhưng không tác động được vào bản tin.
UA - Unumbered Acknowledgement (NSA - Nonsequenced Ack.): Phục vụ như một
tín hiệu ACK (trạm thứ cấp báo nhận) đối với khung SNRM, DISC hoặc SIM.
FRMR - Frame Reject (CMDR - Command Reject): được dùng bởi trạm thứ cấp để từ
chối một khung sai FCS.
Để phát lệnh FRMR, trạm thứ cấp phải ở chế độ trả lời bình thường (NRM). Lệnh này
báo cho trạm sơ cấp biết khung thông tin trạm thứ cấp nhận được có một trong các lỗi:
- Trường điều khiển không có nghĩa.
- Trường thông tin quá dài (dài hơn bộ đệm của máy thu).
- Số Nr phát từ trạm sơ cấp không có giá trị (không tương thích với số Ns của trạm thứ
cấp).
Trạm thứ cấp sau khi phát lệnh này chỉ trở về chế độ bình thường khi nhận được một
trong các lệnh đặt chế độ như DISC, SIM hoặc SNRM từ trạm sơ cấp. Ta nói các lệnh này
reset lệnh FRMR.
Khi gửi khung FRMR, trạm thứ cấp phải dùng dạng văn bản cố định, trong đó có chỉ
rõ lý do sai:
Flag Address
field
FRMR
control field
control field of
rejected frame
[ Ns Nr]
0 xxx 0 xxx
[ ]
wxyz 0000
FCS Flag
- Nr và Ns là số thứ tự hiện hành của trạm thứ cấp.
Lý do sai xác định bởi các bit wxyz (các số 0 thêm vào sau các bit wxyz cho đủ 8 bit)
- w=1 nếu trạm thứ cấp nhận được lệnh không có giá trị hay không thể thi hành được.
- x=1 khung thông tin không đúng.
- y=1 đệm thu bị tràn.
- z=1 nếu số Nr không khớp với số Ns.
__________________________________________________________________________
Nguyễn Trung Lập Truyền dữ liệu
_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI
- 11
Dưới đây là một thí dụ về mẫu đối thoại trong hệ thống nhiều điểm, phương thức
truyền song công hoàn toàn (F/FDX). Trạm A khởi động ở chế độ NRM và trạm B ở chế độ
DM
_____________________________________________________________________
Flag A RR FCS Flag Trạm sơ cấp thăm dò trạm A
7E C 1 11 7E
Flag A Text FCS Flag A gửi khung thông tin thứ nhất;
7E C 1 00 7E Nr=Ns=0 , F=0
Flag A Text FCS Flag A gửi khung thông tin thứ hai;
7E C 1 02 7E Nr= F =0 , Ns =1
Flag A Text FCS Flag A gửi khung thông tin thứ ba;
7E C 1 14 7E Nr=0 , F=1 , Ns=2
Flag A Text FCS Flag Sơ cấp gửi văn bản trả lời;
7E C 1 60 7E Nr=3 , P=0 , Ns=0
Flag A Text FCS Flag Sơ cấp gửi khung thông tin thứ 2;
7E C 1 72 7E Nr=3 , P=1 , Ns=1
Flag A REJ FCS Flag Trạm A báo khung thứ 2 sai FCS;
7E C 1 39 7E Nr=1, F=1
Flag A Text FCS Flag Sơ cấp phát lại khung thứ 2;
7E C 1 72 7E Nr=3, P=1, Ns=1
Flag A RR FCS Flag Trạm A báo nhận khung thứ 2;
7E C 1 51 7E Nr=2, F=1
Flag B Text FCS Flag Sơ cấp gửi khung thông tin trạm B;
7E C 2 10 7E Nr=Ns=0, P=1
Flag B DM FCS Flag Trạm B báo nó đang ở chế độ DM;
7E C 2 1F 7E
Flag B SNRM FCS Flag Sơ cấp đặt trạm B vào chế độ NRM;
7E C 2 93 7E Nr=Ns=0, P=1
Flag B UA FCS Flag Trạm B trả lời bằng lệnh UA;
7E C 2 73 7E
Flag B Text FCS Flag Sơ cấp gửi khung tt 1 tới trạm B;
7E C 2 00 7E Nr=Ns=0, P=0
Flag B Text FCS Flag Sơ cấp gửi khung tt 2 tới trạm B;
7E C 2 02 7E Ns=1, Nr=0, P=0
Flag B Text FCS Flag Sơ cấp gửi khung tt 3 tới trạm B;
7E C 2 04 7E Ns=2, Nr=0, P=0
Flag B Text FCS Flag Sơ cấp gửi khung tt 4 tới trạm B;
7E C 2 16 7E Ns=3, Nr=0, P=1
Flag B RR FCS Flag Trạm B báo nhận tất cả các khung;
7E C 2 91 7E Nr=4, F=1
Flag B DISC(Text) FCS Flag Sơ cấp gửi lệnh disconnect tới trạm
7E C 2 53 7E B đồng thời gửi theo một bản tin
Flag B FRMR DISC -- -- FCS Flag Trạm B trả lời với khung FRMR,
7E C 2 97 53 80 02 7E DISC là trường ĐK của lệnh sai
80 Nr=4, Ns=0 : số đếm hiện thời của trạm B
02: x=1: Bản văn không được phép
Flag B DISC FCS Flag Sơ cấp gửi lệnh disconnect tới trạm B
7E C 2 53 7E
Flag B UA FCS Flag Trạm B trả lời với lệnh UA;
7E C 2 73 7E
______________________________________________________________________________________
d. Trường thông tin (Information field)
Trường thông tin xuất hiện trong khung I , đôi khi trong khung U. Trường thông tin có
thể chứa một số bit bất kỳ là bao nhiêu, chiều dài của nó không xác định nhưng thường là bội
của 8.
e. Trường kiểm tra khung (Frame check sequence field, FCS)
__________________________________________________________________________
Nguyễn Trung Lập Truyền dữ liệu
_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI
- 12
Trường kiểm tra khung FCS chứa nội dung chỉ phương pháp thực hiện việc kiểm tra.
FCS thông dụng trong SDLC là loại 16 bít kiểm tra độ dư thừa theo chu kỳ (CRC) do CCITT
thiết lập (CRC-16).
6.2.2.3 Vận hành
Vận hành của SDLC bao gồm việc trao đổi các khung I, khung S và khung U giữa
trạm sơ và thứ cấp hay giữa hai trạm sơ cấp.
Ngoài các lệnh đề cập ở trên, ta lưu ý thêm vài chi tiết sau:
- Bản văn báo bỏ: đó là bản văn chứa từ 7 đến 14 số 1 liên tiếp (bit nhồi không được
thêm vào cho đoạn văn bản này), ở máy thu, sau khi nhận được Flag, nếu gặp liên tiếp từ 7
đến 14 số 1 thì hiểu rằng không phải quan tâm tới tất cả những gì nhận được cho đến lúc đó.
Xung đồng bộ vẫn được duy trì khi nhận được bản văn báo bỏ. Điều kiện bỏ cũng dùng để kết
thúc một khung và bắt đầu cho khung khác ưu tiên hơn.
- Trạng thái nghỉ: Hệ thống vẫn vận hành nhưng không có một khung thông tin hay
điều khiển được phát đi thì hệ thống vào trạng thái nghỉ, lúc này máy thu nhận được liên tiếp
ít nhất 15 bit 1.
- Mã dùng trong SDLC:
Để đảm bảo máy thu duy trì được đồng bộ phải có một sự thay đổi thường xuyên ở
dòng dữ liệu tới. Do đã thực hiện biện pháp nhồi bit nên không bao giờ có quá 5 bit 1 liên tiếp
vậy chỉ còn trường hợp một loạt bit 0 liên tiếp có thể xảy ra. Để giải quyết trường hợp này,
người ta dùng loại mã non-return-to-zero inverted (NRZI) cho dữ liệu trong SDLC . Tính chất
của loại mã này là Không có sự thay đổi mức tín hiệu khi gặp bit 1 và mức tín hiệu bị đảo khi
gặp bit 0.
(H 6.6)
- Các bước tiến hành để chuẩn bị phát một bản tin:
* Tạo bản văn và trường điều khiển: Control field Text
* Thêm địa chỉ vào: Address Control field Text
* Tạo khung FCS: Address Control field Text FCS
* Thực hiện nhồi bit: Bit nhồi được thực hiện cho khung thông tin kể từ địa chỉ và
khung FCS.
* Thêm các cờ ở đầu và cuối bản tin.
Lưu ý là bit nhồi thực hiện sau khi tính toán cho khung FCS nên trong khung FCS
cũng có thể có bit nhồi và ở máy thu phải loại bit nhồi trước khi dùng thuật toán kiểm tra lỗi.
Dưới đây thêm vài ví dụ về các lệnh trong vận hành của SDLC (không ghi lại mã)
Dạng tổng quát của một lệnh A , C/R P/F (0)
__________________________________________________________________________
Nguyễn Trung Lập Truyền dữ liệu
_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI
- 13
A địa chỉ trạm thứ cấp
C/R Lệnh hỏi hoặc lời đáp
Khoảng trống dùng cho số Ns, có thể thêm dấu ( ) vào nếu cần
P/F Poll hoặc Final bit (P = On P = Off, tương tự cho F)
(0) số Nr (nếu cần)
1/ Trạm thứ cấp được nối vào đường dây và trao đổi khung I, U
B , RR - P(0) → A Polls B
← B , RIM - F B Request Initialization
B , SIM - P → A Sets B to initialization mode
← B , UA - F B Acknowledges
⏐ B is brought online through system
↓ procedures when initialization complete
B , SNRM - P → A Set B 's response mode.Nr and Ns
counts are reset to 0
← B , UA - F B Acknowledges
B , RR - P(0) → A Polls B for transmission
B , I(0) P (0) → Duplex exchange of numbered I - Frame
⏐ ← B , I(0) F (0)
B , I(1) P (0) → ⏐ A Sends frame 1
B , I(2) P (0) → ⏐ A Sends frame 2. B confirms frame 0-1
⏐ ← B , I(1) F (2) and sends frame 1
B , I(3) P (1) → ⏐ A confirms frame 0 and sends frame 3
⏐ ← B , I(2) F(3) B confirms frame 2 and sends frame 2
B , RR - P(3) → ⏐ A confirms frame 1-2 and Poll B
← B , RR - F(4) B confirms frame 3 ( B remains in NRM)
-----------------------------------------------------------------------------------------------------------------
2/ Trạm thứ cấp bận
B , I(4) P (3) → A sends numbered I - Frames
B , I(5) P (3) →
B , I(6) P (3) →
B , I(7) P (3) →
B , I(0) P(3) → A Polls B
← B , RNR - F(0) B becomes busy, but confirms frame 4-7
B , RR - P(3) → A asks if B is still busy
← B , RR - F(0) B can receive again and expects frame 0
B , I(0) P (3) → A sends frame 0 again
B , I(1) P (3) → A continues with frame 1
B , I(2) P(3) → A sends frame 2 and poll B(gửi thăm dò)
← B , RR - F(3) B confirms frame 0 - 2 (B remains in NRM)
-----------------------------------------------------------------------------------------------------------------
3/ Trạm sơ cấp bận
B , SNRM - P → A sets B 's response mode and reset the Nr
and Ns counts to 0
← B , UA - F B Acknowledges
B , RR - P(0) → A Polls B
← B , I(0) F (0) B sends numbered I - frame
← B , I(1) F (0)
← B , I(2) F (0)
← B , I(3) F (0)
B , RNR - P (3)→ A becomes busy, but confirms frame 0 - 2
← B , RR - F(0) B stops sending
__________________________________________________________________________
Nguyễn Trung Lập Truyền dữ liệu
_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI
- 14
B , RR - P(3) → A Polls B
← B , I(3) F (0) B retransmits frame 3
← B , I(4) F (0) B sends frame 4
(CRC error) A has a CRC error on frame 4
B , RR - P(4) → A Polls B, confirms frame 3
← B , I(4) F(0) B sends frame 4 again
B , RR - P (5) → A confirms frame 4 (B remains in NRM)
------------------------------------------------------------------------------------------------------------------------------------
4/ Lệnh không có giá trị
B ,XXX- P → A sends frame with an undefined C field.
← B , FRMR - F B rejects the frame
Higher level at A processes the status
reported by B in FRMR response.
B ,SNRM - P → A resets B 's error condition
Nr and Ns counts are reset to 0.
← B , UA - F B acknowledges (B remains in NRM)
------------------------------------------------------------------------------------------------------------------------------------
5/ Số thứ tự sai trong trao đổi song công
B , RR - P(0) → A polls B for transmission
← B , I(0) F (0) B sends numbered I- frame
B , I(0) P (0) →
← B , I(1) F (0) Duplex exchange of numbered I - Frame
← B , I(2) F (0)
(CRC error) B receives frame 0 with CRC error
B , I(1) P (2) → A ' s frame 1 is out of numerical order
(Lẻ ra phải phát lại khung 0)
← B , I(3) F (0)
← B , I(4) F(0)
← B , SREJ - F (0) B expects frame 0.
B , I(0) P (5) → A sends frame 0 again and confirms
frame 0 - 4
← B , I(5) F(0) B sends final I--frame
B , I(1) P (5) → A retransmits frame 1
B , RR - P(6) → A confirms frame 5 and polls B for
confirmation
← B , RR - F(2) B confirms frame 1 (B remains in NRM)
-----------------------------------------------------------------------------------------------------------------
Các thí dụ cho hệ multipoint
Các trạm thứ cấp online, trạm sơ cấp gửi tín hiệu tới một trạm thứ và đồng thời nhận
tín hiệu từ một trạm khác
6/ B , RR - P → A Polls B for status
← B , RIM - F B asks for initialization mode
B , SIM - P → A sets B to initalization mode
← B , UA - F B acknowledges
B is brough on line through system
procedures when initialization is complete
B , SNRM - P → A sets B on line. Nr & Ns counts are reset
__________________________________________________________________________
Nguyễn Trung Lập Truyền dữ liệu
_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI
- 15
← B , UA - F B acknowledges
n , RR - P(0) → A Polls n for transmission
B , I(0) P (0) →
← n , I(0) F (0) n sends numbered frames to A while A
sends to B
B , I(0) P (0) →
← n , I(1) F (0)
← n , I(2) F (0)
← n , I(3) F (0) n completes its transmission of numbered
frames
B , RR - P(0) → A Polls B for confirmation
B , I(1) - P(0)
← B , RR - F(2) B confirms 0 - 1
n , RR - P (4) → A confirms frames 0-3 (B&n remain in NRM)
7/ n , I(0) P (4) → A sends numbered frames to n
B , I(2) P (0) → A sends numbered frames to B
n , I(1) P(4) → A concludes sending to n and requests confirmation
B , I(3) P (0) → ← n , RR - F(2) A continues sending to B, n confirms frame 0 - 1
B , I(4) P(0) → A concludes sending to B and requests confirmation
← B , RR - F(5) B confirms (B & n remain in NRM)
Ví dụ 6, các trạm thứ cấp được kết nối, trạm sơ cấp gửi tín hiệu tới một trạm trong khi
nhận tín hiệu của trạm khác
Ví dụ 7, trạm sơ cấp gửi tín hiệu tới các trạm thứ cấp.
6.2.2.4 So sánh giữa Bisynch và SDLC:
Bisynch là giao thức hướng ký tự trong lúc SDLC là giao thức hướng bit. Bisynch có
thể dùng mã ASCII hay EBCDIC trong lúc SDLC chỉ dùng EBCDIC. Để dò lỗi, nếu là ASCII
thì dùng phép kiểm tra khối (BCC) còn khi dùng mã EBCDIC thì dùng kiểm tra dư thừa theo
chu kỳ (CRC) với chiều dài mã kiểm tra là 2 byte. Cả hai giao thức đều dùng chung kích
thước khung thông tin là 256 byte. Ở Bisynch có chế độ thông suốt dữ liệu (để tránh nhầm lẫn
dữ liệu và ký tự điều khiển) trong lúc ở SDLC thì dùng phương pháp nhồi bit (để tránh nhầm
lẫn với mã Cờ).
6.2.2.5 Giao thức Điều khiển liên kết dữ liệu cấp cao (HDLC)
HDLC được ISO cho ra đời năm 1975 nhằm bổ sung một số chức năng của SDLC của
IBM. Một số bổ sung có thể kể ra như sau:
- Trường địa chỉ mở rộng, gồm nhiều byte:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 8n
0 0 ------------- 1
(H 6.7) Trường địa chỉ mở rộng
Trong trường địa chỉ mở rộng, địa chỉ xác định bơi một số là bội của 7 bit. Bit LSB
trong một byte là 0 hoặc 1 (là 0 khi byte đó chưa phải là byte cuối cùng và là 1 khi là byte
cuối cùng của trường địa chỉ) 7 bit còn lại hình thành địa chỉ của trạm thứ cấp (H 6.7).
- Trường điều khiển mở rộng, gồm 2 byte (H 6.8):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Information 0 Ns P/F Nr
Supervisory 1 0 S 0 0 0 0 P/F Nr
Unnumbered 1 1 M 0 M P/F 0 0 0 0 0 0 0 0
__________________________________________________________________________
Nguyễn Trung Lập Truyền dữ liệu
_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI
- 16
(H 6.8) Trường điều khiển mở rộng
Trong trường điều khiển mở rộng, các số Ns và Nr gồm 7 bit như vậy cho phép phát
một lần 127 bản tin.
- Dạng khung dữ liệu: SDLC chỉ dùng mã EBCDIC 8 bit còn HDLC cho phép dùng
bất cứ loại mã nào
- Dạng khung giám sát: ngoài các lệnh RR, RNRvà REJ, HDLC có thêm lệnh SREJ
(selective reject), lệnh này do thứ cấp yêu cầu phát lại một khung có số Nr.
- HDLC có thêm 2 chế độ vận hành:
* Chế độ trả lời bất đồng bộ (Asynchronous Response Mode - ARM) : đây là dạng truyền
không cân bằng. Trạm thứ cấp có thể khởi động để phát mà không cần lệnh của trạm sơ cấp.
Nó có thể trả lời mà không cần phải nhận được một khung với bit P =1. Tuy nhiên, khi nó
nhận được một khung với bit P =1 thì khung trả lời phải có bit F =1. Trong trường hợp này
F=1 không có nghĩa là khung cuối cùng của trạm thứ cấp.
- Chế độ không kết nối bất đồng bộ (Asynchronous Disconnect Mode - ADM) : ADM
tương tự như DM ngoại trừ một điểm là trạm thứ cấp có thể khởi động chế độ DM hay RIM
bất cứ lúc nào.
6.3 Khảo sát vài IC LSI truyền đồng bộ
Chúng ta khảo sát dưới đây hai IC tiêu biểu
- USART 8251A của Intel
- SSDA 6852 của Motorola
6.3.1 USART 8251A của Intel
Bảng 6.3 Từ Control và command
D7 Từ SYN đơn
SCS (Single character SYN)
1 = Đơn
0 = Kép
Vào chế độ tìm
EH (Enter hunt mode)
1 = Cho phép tìm từ
SYN
D6
Dò từ SYN bên ngoài
ESD (External SYN Detect)
1=Chân SYNDET là
ngã vào
0 = ngã ra
Reset nội
IR (Internal Reset)
1 = Reset 8251A
D5 Chọn KT chẵn
EP (Even parity Enable)
1 = Chẵn
0 = lẻ
Yêu cầu phát
RTS
1 = Chân RST thấp
0 = cao
D4 Cho phép KT chẵn lẻ
PEN (Parity Enable)
1= Có KT chẵn lẻ
0 = Không
Error reset
ER
1 = Reset cờ lỗi
PE, OE, FE to 0
D3 Chọn chiều dài ký tự
L1
00 = 5 bit
01 = 6 bit
Phát từ break
SBRK(Send Break Ch.)
1 = Chân TxD thấp
0 = Chân TxD cao
D2 L0 10 = 7 bit
11 = 8 bit
Cho phép thu
RxE
1 = Cho phép
0 = Không
D1 Chọn hệ số chia CK
B1
D1D0
00= Truyền Đ. bộ
01 = :1
DTE sẵn sàng
DTR
1 = Chân DTR thấp
0 = cao
D0 B0 10 = :16
11 = : 64
Cho phép phát
TxE
1 = Cho phép
0 = Không
Mode control word bit Command word bit
Ghi chú: Reset lỗi phải hoàn thành khi RxEnable và Enter hunt được lập trình
Là IC thu phát đồng bộ và bất đồng bộ. Trong chương 4 ta đã khảo sát IC này trong
chế độ bất đồng bộ, bây giờ chúng ta tìm hiểu thêm một số tính chất của IC trong chế độ đồng
bộ. Vận hành ở chế độ đồng bộ 8251A có vận tốc truyền lên tới 64 kbps.
Chi tiết các thanh ghi điều khiển, lệnh và trạng thái cho ở bảng 6.3 và 6.4
Để IC hoạt động ở chế độ đồng bộ bit D0 và D1 trong thanh ghi điều khiển = 00, các
bit D2, D3, D4, D5 như trong phần bất đồng bộ, bit D6 cho phép chọn thực hiện đồng bộ từ bên
trong hay bên ngoài và bit D7 cho phép chọn 1 hay 2 từ SYNC
__________________________________________________________________________
Nguyễn Trung Lập Truyền dữ liệu
_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI
- 17
- Chân SYN/BREAK của IC trong chế độ đồng bộ có thể là ngã ra hoặc ngã vào và
tùy thuộc vào từ điều khiển trong chương trình. Khi thực hiện chế độ đồng bộ bên trong thì
chân này là ngã ra, ở mức thấp khi được reset và lên cao để chỉ rằng máy thu đã nhận được từ
SYNC. Khi máy thu thực hiện tác vụ đọc trạng thái thì chân này tự động reset. Khi thực hiện
chế độ đồng bộ từ bên ngoài thì chân này là ngã vào, tín hiệu dương đến chân này báo 8251A
bắt đầu nhận dữ liệu
Bảng 6.4 8251A Status Register
D7 Data set ready
DSR
1 = DSR pin is low
0 = high
D6 Sync. char. detect
SYNDET
1 = Sync. char. detect
(Synchronous only)
D5 Framing error
FE
1 = Framing error reset by writing ER = 1
(Synchronous only)
D4 Overrun error OE 1 = Overrun error
D3 Parity error PE 1 = Parity error
D2 Trans. reg. Empty
Tx Empty
1 = Empty
0 = Busy
D1 Receiver ready RxD 1 = Ready with new char.
D0 Trans. Ready TxD 1 = Ready for next char.
Ghi chú : - TxRDY có nghĩa khác với chân TxRDY . Chân TxRDY phụ thuộc trạng thái chân CTS và
bit TxEN
- Bit TxRDY lên 1 khi thanh ghi đệm phát trống
- 82251A ở chế độ phát đồng bộ
8251A bắt đầu phát dữ liệu ngay sau khi CPU nạp từ SYNC cho đến khi không còn tín
hiệu để phát, thanh ghi đệm phát trống mà CPU không nạp ký tự kế tiếp thì 8251A tự động
thêm từ SYNC vào và phát đi
- 8251A ở chế độ thu đồng bộ
- Khi sự đồng bộ được thực hiện từ bên trong, lệnh ENTER HUNT phải được lập trình
trong từ lệnh đầu tiên, việc này khiến 8251A dò từ SYNC trong dòng dữ liệu đến, sau khi dò
ra USART chấm dứt chế độ HUNT và máy thu trong tình trạng đồng bộ hóa, chân SYNDET
lên cao để báo cho µP biết.
- Khi sự đồng bộ được thưc hiện từ bên ngoài, xung đồng hồ dời bit của máy thu được
cấp vào chân RxC . Xung này thường được cấp từ modem và phải đồng bộ với dòng dữ liệu
thu được.
Ở chế độ đồng bộ, 8251A làm việc với một tần số cố định của xung đồng hồ (chứ
không được chia như ở chế độ bất đồng bộ). Tần số xung này phải phù hợp với vận tốc truyền
bit.
- Khởi động 8251A
Tương tự như ở chế độ bất đồng bộ, ngoại trừ ký tự SYNC phải đươc lập trình như sau
- Reset chip: đưa chân RST lên cao (Reset cứng) hoặc set bít IR trong thanh ghi lệnh =
1 (Reset mềm)
- Ghi mã ký tự SYNC
- Ghi từ lệnh
Chân C/ D ở mức cao trong 3 lần ghi
Byte đã ghi giữa từ chọn mode và từ lệnh (command) đã chốt vào USART là mã ký tự
SYNC
- Phát một ký tự
Cũng như trong chế độ bất đồng bộ, chân CTS phải ở mức thấp và bit TxEn trong
thanh ghi từ lệnh được set = 1 (cho phép phát)
- Chờ bit TxRDY được set hay chân TxRDY lên cao
__________________________________________________________________________
Nguyễn Trung Lập Truyền dữ liệu
_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI
- 18
- Ghi ký tự kế tiếp vào thanh ghi đệm phát.
Khi truyền xong ký tự cuối cùng của khối, chân TxE (trans. empty) sẽ ở High và bit
TxEn được set, USART tự động phát từ SYNC trong suốt thời gian nghỉ
Các bit được dời ra cùng lúc với cạnh xuống của tín hiệu TxC .
- Thu một ký tự
Để thu một ký tự ở chế độ đồng bộ cần thực hiện các bước:
- Ghi từ ENTER HUNT như là một phần của lệnh đầu tiên vào thanh ghi từ lệnh
- Chờ chân SYNDET lên cao
- Chờ chân RxRDY lên cao hay bit trạng thái tương ứng được set (D1 thanh ghi trạng
thái = 1)
- Đọc ký tự từ thanh ghi đệm thu
- Đọc trạng thái lỗi từ thanh ghi trạng thái
Những bit lỗi của thanh ghi trạng thái được reset nhờ từ lệnh có bit ER được set = 1
(D4 = 1). Các bit dữ liệu được dời vào cùng lúc với cạnh lên của xung đồng hồ thu RxC
- 8251A giao tiếp với modem
(H 6.9) là một mẫu giao tiếp giữa 8251A và modem, chuẩn giao tiếp RS-449 được sử
dụng. Xung đồng hồ thu phát được cấp từ modem
(H 6.9)
6.3.2 SSDA 6852 của Motorola
6852 của Motorola là IC điều hợp đồng bộ nối tiếp (Synchronous Serial Data Adaptor,
SSDA) loại NMOS 24 chân được chế tạo để giao tiếp với họ vi xử lý 6800 của Motorola
trong chế độ đồng bộ. (H 6.10) là sơ đồ khối của 6852
10⎯→ CS Tx SHIFT REGISTER ⎯⎯⎯⎯→TxD ⎯→6
11⎯→ RS
13⎯→
14⎯→
7←⎯
R/ W
E
IRQ
Tx FIFO
9⎯→ RST
Rx SHIFT REGISTER ←⎯⎯⎯⎯RxD ←⎯2
1←→ Vss
12⎯→
Vcc
Rx FIFO
15←→ D7
__________________________________________________________________________
Nguyễn Trung Lập Truyền dữ liệu
_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI
- 19
CONT. REG. 1
CONT. REG. 2
CONT. REG. 3
22←→ D0
SYNC. CODE REG.
STATUS REGISTER
TUF CD
CTS SM/ DTR
TxCLK RxCLK
8↓ 23↑ 24↑ 5↓ 4↑ 3↑
(H 6.10)
Ý nghĩa các chân
- CS, RS : Chip select, Register select - R/ W : Read/Write
- E : Data I/O enable & Clocking - IRQ : Interrupt Request
- RST : Reset - D7 - D0 : Data bus I/O
- RxCLK, TxCLK : Receive Clock, Transmitter Clock
- CTS : Clear to send - CD : Carrier detect
- SM/ DTR : Sync. match/Data term ready: Điều hợp đồng bộ/DTE sẳn sàng
- TUF : Trans. underflow - Vcc & Vss : Power & Ground
-TxD,RxD : Transmit Data, Receive Data
Là IC chỉ có chức năng thu phát đồng bộ, 6852 có một số chi tiết không giống như
8251A. Đặc biệt nó có bộ đệm thu phát 3 byte hoạt động theo kiểu vào trước ra trước (First
In, First Out, FIFO) . Sử dụng bộ đệm này 6852 có thể vận hành theo chế độ byte kép
(Double-byte) nghĩa là CPU có thể đọc hoặc ghi đồng thời 2 ký tự mà không phải đợi
Việc chọn chế độ vận hành và điều khiển ở SSDA đều thông qua µP bằng cách ghi
vào 3 thanh ghi điều khiển. Các trạng thái lỗi và bắt tay được đọc từ thanh ghi trạng thái. Vị
trí bit của các thanh ghi cho trong bảng 6.5 và 6.6
Bảng 6.5 Các từ trong thanh ghi điều khiển của 6852
bit
7
Cho phép ngắt
khi có lỗi EIE
1 = Cho phép ngắt PE,
RxOvrn, TUF,
CTS , CD
Bit địa chỉ
AC2
00: Chọn CR2
01: Chọn CR3
10: T G mã Sync
bit
6
Không
sử dụng
Phát từ Sync
khi underflow
Tx Sync
1 = Phát từ Sync
0 = Phát bit 1 khi
underflow
AC1
11: Chọn TxFIFO
Reg. (khi RS=1và
R/ W =0 )
bit
5
Word length
selector
WS3
000-6 + parity chẵn
001-6 + parity lẻ
010-7 bits
Cho phép
ngắt thu
RIE
1: Chân IRQ tác
động
bit
4
WS2
011-8 bits
100-7 + parity chẵn
101-7 + parity lẻ
Cho phép
ngắt phát
TIE
1: Chân IRQ tác
động
bit
3
Xóa cờ
CTUF
1: Xóa TUF WS1 110-8 + parity chẵn
111-8 + parity lẻ
CLR sync 1: Xóa đồng bộ
bit
2
CLR CTS 1: Clear CTS Chọn phát 1
hay 2 byte
1: 1 byte data I/O
0: 2byte Data I//O
Loại bỏ từ
đồng bộ
1: Loại từ Sync từ
dòng dữ liệu thu
bit
1
1or2 SYNC
char. select
1 / 2 sync
1=1 từ sync
0=2 từ sync
Bit điều khiển
ngoại vi
PC2
00: SM/DTR = 1
10: SM/DTR = 0
01: SM/DTR = xung
Reset phát
TxRS
1= Reset phát
bit
0
Chọn Sync
trong hay
ngoài
E/I sync
1=Ngoài
0=Trong
PC1
đồng bộ
11-SM/DTR = 0 Vô
hiệu hóa xung đồng bộ
Reset thu
RxRS
1= Reset thu
Control Reg.3 (CR3) Control Register 2 (CR2) Control Reg.1(CR1)
__________________________________________________________________________
Nguyễn Trung Lập Truyền dữ liệu
_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI
- 20
Đối với µP 6852 chỉ xuất hiện bằng hai cách định địa chỉ (chân RS ở High và CS ở
Low- Thường CS được nối với đường địa chỉ A0). Từ sơ đồ khối ta thấy có 7 thanh ghi trong
6852 có thể được µP truy xuất.
Ngoại trừ thanh ghi điều khiển 1, tất cả các thanh ghi khác đều chỉ có thể đọc hoặc chỉ
có thể ghi tùy chức năng
Trạng thái của đường R/ W được dùng để chọn nhóm thanh ghi chỉ đọc hay chỉ ghi
Từ bảng 6.5 ta thấy 2 bit có trọng số lớn nhất trong thanh ghi điều khiển 1 được dùng
để định địa chỉ các thanh ghi khác. Việc định địa chỉ có thể tóm tắt như sau:
Chân Thanh ghi ĐK1 Chọn thanh ghi
RS R/W b7 b6
0 1
0 0
1 1
1 0
1 0
1 0
1 0
x x
x x
x x
0 0
0 1
1 0
1 1
Thanh ghi trạng thái
Thanh ghi ĐK CR1
Thanh ghi Rx FIFO
Thanh ghi ĐK CR2
Thanh ghi ĐK CR3
Thanh ghi mã SYNC
Thanh ghi Tx FIFO
Duyệt qua các bit trong thanh ghi trạng thái và điều khiển trong bảng 6.5 và 6.6 ta thấy
có nhiều điểm tương đồng với 8251A.
Mỗi khi máy thu dò ra từ SYNC trong dòng dữ liệu đến, chân SM xuất hiện xung có
chiều dài 1 bit ( giống như chân SYNDET của 8251A)
Bảng 6.6 6852 Status Register Word bits (SR)
bit 7 Yêu cầu ngắt
IRQ
1 = Chân IRQ tác động
bit 6 Parity error
PE
1 = Có lỗi parity
Reset khi đọc RxFIFO or ghi vào CR1 với RxRS = 1
bit 5 Receiver Overrun
Rx OVRN
1 = Có lỗi tràn
Reset khi đọc Status Reg. và RxFIFO hay ghi vào CR1 với RxRS=1
bit 4 Transmitter Underflow
TUF
1= Có lỗi Underflow
Reset khi ghi vào CR3 với CTUF và/hoặc TxRS = 1
bit 3 Clear to send
CTS
1= CTS ↑ từ lần xóa cuối cùng
Reset khi ghi vào CR3 với CTS và/hoặc TxRS = 1
bit 2 Carrier Detect
CD
1 = CD ↑ từ lần xóa cuối cùng
Reset khi đọc Status Reg. và RxFIFO hay ghi vào CR1 với RxRS=1
bit 1 Transmitter data register
available TDRA
1= Có hiệu lực
Reset khi ghi vào TxFIFO
bit 0
Receiver data available
RDA
1 = Có hiệu lực
Reset khi đọc RxFIFO
- Khởi động 6852
Khởi động 6852 bao gồm các bước sau :
- Reset chip bằng cách ghi từ điều khiển vào thanh ghi CR1 và xác định địa chỉ thanh
ghi CR3
- Ghi từ điều khiển mong muốn vào thanh ghi CR3 (chọn số từ SYN và chế độ đồng
bộ)
- Ghi từ điều khiển vào thanh ghi CR1 để duy trì điều kiện reset và xác định địa chỉ
thanh ghi CR2
- Ghi từ điều khiển mong muốn vào thanh ghi CR2
- Ghi từ điều khiển vào thanh ghi CR1 để duy trì điều kiện reset và truy xuất thanh ghi
mã đồng bộ kế tiếp
- Ghi mã mong muốn vào thanh ghi mã đồng bộ
__________________________________________________________________________
Nguyễn Trung Lập Truyền dữ liệu
_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI
- 21
- Ghi từ điều khiển mong muốn vào thanh ghi CR1 (bao gồm việc cho phép thu và
(hoặc) phát)
- Phát một ký tự
- CTS phải ở mức thấp và bit TxRS phải được xóa
- Chờ bit TDRA trong thanh ghi trạng thái (Trans. Data Register Available) được set
-Viết mã ký tự phát vào bộ đệm TxFIFO
Chu trình được lặp lại cho tới khi cả khối dữ liệu được phát. Nếu CPU không cung cấp
Data đủ nhanh để máy phát phát, ta nói máy phát ở tình trạng underflow và bit TUF lên cao,
lúc đó SSDA tự động thêm từ SYNC vào để phát đi. Bit TUF là một cờ được reset bởi bit
b3=1 trong CR3
Các bit được dời ra ngoài khi có cạnh xuống của xung đồng hồ tại ngã vào TxCLK
- Thu một ký tự
Để thu một ký tự ngã vào CD phải ở LOW và bit RxRS phải được xóa. Các bit tới
máy thu được so sánh với mã SYNC trong thanh ghi mã đồng bộ đến khi có sự tương ứng
(nhận dạng từ SYNC)
- Chờ cho tới khi RDA được set
- Đọc trạng thái lỗi trong thanh ghi trạng thái
- Đọc mã ký tự từ bộ đệm RxFIFO
Các bit dữ liệu được lấy mẫu ở cạnh lên của xung clock thu tại chân RxCLK.
6.4 KIỂM TRA HỆ THỐNG THÔNG TIN
Một hệ thống thông tin trước khi đưa vào vận hành cũng như trong quá trình sử dụng
luôn cần được kiểm tra thường xuyên để bảo đảm tính chính xác và độ tin cậy.
- Kiểm tra tương tự thường được thực hiện đối với một hệ thống chuẩn bị đưa vào sử
dụng
- Kiểm tra số thường được tiến hành thường xuyên để đánh giá chất luợng của hệ
thống mà không cần phải ngắt hệ thống trong một thời gian dài
6.4.1 Kỹ thuật tương tự - Phép đo tỷ số PAR
Tín hiệu trên một đường truyền thường bị biến dạng do hai nguyên nhân: độ suy giảm
biên độ theo tần số và sự biến dạng do trễ pha. Việc đo đạc hai đại lượng này rất tốn kém thời
gian và được thực hiện trong suốt thời gian nghiên cứu hệ thống, đây không phải là một công
việc thường ngày.
Phép đo tỷ số PAR là một phương pháp thử nhanh và cho phép ta đánh giá được hệ
thống. Đây là phép đo tỷ số trị đỉnh và trị trung bình của tín hiệu nhận được (Peak to average
Ratio)
Kỹ thuật PAR dùng một máy phát và một máy thu nối nhau qua hệ thống truyền trên
băng tần âm thanh. Máy phát phát tín hiệu để kiểm tra là một chuỗi xung, máy thu nhận tín
hiệu xung này, sự suy giảm biên độ và biến dạng pha trong hệ thống làm tiêu hao năng lượng
của tín hiệu và do đó làm giảm tỷ số giá trị đỉnh EPK trên trị trung bình của tín hiệu chỉnh lưu
toàn kỳ EFWA (Full Wave Average). Tỷ số này là giá trị PAR
% 100*1)
E
2E(PAR
FWA
PK −=
Nếu tín hiệu hoàn toàn không biến dạng, tỷ số này là 100%
__________________________________________________________________________
Nguyễn Trung Lập Truyền dữ liệu
_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI
- 22
Nếu có biến dạng với trị số chuẩn hóa là 0,75 thì giá trị PAR là 50%. Đây là giá trị
chấp nhận được với hệ thống có vận tốc truyền lên tới 2400 bps. Giá trị PAR nhạy đối với
biến dạng do suy giảm biên độ, do trễ pha, do nhiễu nền cao, do hệ thống không tuyến tính và
các họa tần của tín hiệu . . . ..
6.4.2 Phép đo biến dạng dùng biểu đồ mắt
Một phương pháp đo biến dạng rất hữu hiệu trong hệ thống truyền dữ liệu là dùng biểu
đồ mắt (Eye pattern).
- Biểu đồ mắt :
Dùng một tín hiệu xung clock có giá trị br (tức tần số) xác định, dùng kích khởi mạch
quét ngang một dao động nghiệm và tín hiệu số cần kiểm tra là các tín hiệu 1 , 0 thay đổi một
cách tuần tự được đưa vào bản lệch dọc của dao động nghiệm. Một biểu đồ mắt có dạng như
(H 6.11) xuất hiện trên màn ảnh dao động nghiệm
(a) (H 6.11) (b)
Sự hình thành biểu đồ mắt có thể hiểu là sự chồng chất của các tín hiệu 1, 0 thay đổi
liên tục tạo ra. (H 6.12) minh họa sự hình thành này
(H 6.12)
Nếu tín hiệu xung vào dao động nghiệm gần như lý tưởng thì biểu đồ mắt có dạng gần
giống như hình chữ nhật, ta nói biểu đồ mắt hoàn toàn mở (H 6.11.a)
Trong thực tế biến dạng không thể nào tránh khỏi hoàn toàn và biểu đồ mắt đóng lại
(H 6.11.b). Giao điểm của các biến đổi từ 1 xuống 0 và ngược lại được gọi là giao điểm 1/0.
Sự thay đổi theo chiều ngang của giao điểm 1/0 là sự biến động (jitter). (H 6.13) cho thấy các
giá trị biến động khác nhau của biểu đồ mắt. (H 6.13.a) là trường hợp không có biến động, (H
6.13.b) biến động khoảng 5%, (H 6.13.c) khoảng 10%, (H 6.13.d) khoảng 20%, (H 6.13.e)
khoảng 50% và (H 6.13.f) > 50%. Sự biến động càng lớn biểu đồ mắt càng khép lại, vậy kích
thước của vòng mở tại trung tâm biểu đồ mắt cho ta chất lượng của hệ thống.
__________________________________________________________________________
Nguyễn Trung Lập Truyền dữ liệu
_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI
- 23
(H 6.13)
Việc đánh giá chất lượng tín hiệu bằng biểu đồ mắt chỉ cho kết quả tin cậy được khi :
- Tín hiêụ 1, 0 tạo bởi mạch phải đối xứng.
- Đường dây phải điều hợp tổng trở để tránh sóng phản xạ.
- Thời gian trễ của tín hiệu khi chuyển từ mức 0 lên 1 hay ngược lại phải bằng nhau.
Nếu một trong các điều kiện trên không thỏa thì chất lượng tín hiệu sút giảm và việc
đánh giá không còn chính xác.
__________________________________________________________________________
Nguyễn Trung Lập Truyền dữ liệu
Các file đính kèm theo tài liệu này:
- Truyền nối tiếp đồng bộ.pdf