Truyền nối tiếp đồng bộ

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

pdf23 trang | Chia sẻ: aloso | Lượt xem: 2404 | Lượt tải: 0download
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:

  • pdfTruyền nối tiếp đồng bộ.pdf
Tài liệu liên quan