intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Truyền dữ liệu-chương 6

Chia sẻ: Hoang Thuy | Ngày: | Loại File: PDF | Số trang:23

52
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

để 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ủ đề:
Lưu

Nội dung Text: Truyền dữ liệu-chương 6

  1. Truyền nối tiếp đồng bộ _____________________________________________Chương 6 VI -1 CHƯƠNG 6 TRUYỀN NỐI TIẾP ĐỒNG BỘ GIAO TIẾP GIỮA DTE VÀ DCE ĐỒNG BỘ CÁC GIAO THỨC ĐỒNG BỘ Giao thức đồng bộ nhị phân Giao thức hướng bit VÀI IC LSI DÙNG TRONG TRUYỀN ĐỒNG BỘ USART 8251A của Intel SSDA 6852 của Motorola KỂM TRA HỆ THỐNG THÔNG TIN Phép đo tỉ số PAR Biểu đồ mắt 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). 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. 6.1 GIAO TIẾP GIỮA DTE VÀ DCE ĐỒNG BỘ Trong chế độ truyền đồng bộ, máy thu phục hồi xung đồng hồ từ dòng dữ liệu nhận được. Chuẩn giao tiếp RS-232 và RS-449 có các đường dành cho xung đồng hồ liên lạc giữa các cặp thiết bị đầu cuối (DTE) và modem (DCE). Bảng 6.1 cho biết nơi nhận dữ liệu và các chân liên hệ của hai chuẩn giao tiếp nói trên __________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu
  2. Truyền nối tiếp đồng bộ _____________________________________________Chương 6 VI -2 Bảng 6.1 Các chân truyền tín hiệu đồng bộ của RS-232 và RS-449 RS-232 RS-449 Ký hiệu Chân Tên Ký hiệu Chân Tên TCLK 15 Trans. clock (từ DCE) ST 6 & 23 Send timing (từ DCE) RCLK 17 Receive Clock (từ DCE) RT 8 & 26 Receive timing (từ DCE) ETCLK 24 Ext trans.clock (từ DTE) TT 17 & 25 Terminal timing (từ DTE) Khi sử dụng modem, đồng bộ thu thường được cấp từ modem (DCE) tới thiết bị đầu cuối (DTE). Tuy nhiên xung đồng hồ có thể phát sinh từ modem hoặc từ DTE (Các IC tạo thành modem và IC giao tiếp đều có mạch tạo xung đồng hồ) và việc điều khiển có thể thực hiện riêng rẽ ở cả máy thu và phát hoặc thực hiện theo cả hai chiều với một xung đồng hồ duy nhất. (H 6.1) mô tả các khả năng kết nối mạch của RS-449 để thực hiện đồng bô. (H 6.1a) Thiết bị đầu cuối (DTE) ở mỗi trạm thu phát điều khiển sự đồng bộ (xung đồng hồ từ DTE đến DCE theo đường TT) (H 6.1b) Modem (DCE) ở mỗi trạm thu phát điều khiển sự đồng bộ (xung đồng hồ từ DCE đến DTE theo đường ST) (H 6.1c) Thiết bị đầu cuối ở trạm A điều khiển sự đồng bộ theo cả hai chiều (xung đồng hồ từ DTE A đến DCE A theo đường TT, ở trạm B hai đường TT (ST) và RT nối chung lại) (H 6.1d) Modem ở trạm A điều khiển sự đồng bộ theo cả hai chiều (xung đồng hồ từ modem đến DTE theo đường ST ở trạm A, ở trạm B hai đường ST (TT) và RT nối chung lại) DTE DCE DCE DTE ⎯→ ←⎯ A SD SD A B SD SD B ⎯→ ←⎯ TT TT TT TT ←⎯ ⎯→ RT RT RT RT ←⎯ ⎯→ RD RD RD RD (a) DTE DCE DCE DTE ⎯→ ←⎯ A SD SD A B SD SD B ←⎯ ⎯→ ST ST ST ST ←⎯ ⎯→ RT RT RT RT ←⎯ ⎯→ RD RD RD RD (b) DTE DCE DCE DTE ⎯→ ←⎯ A SD SD A B SD SD B ⎯→ ←→ TT TT TT ST ←⎯ ⎯→ RT RT RT RT ←⎯ ⎯→ RD RD RD RD (c) DTE DCE DCE DTE ⎯→ ←⎯ A SD SD A B SD SD B ←⎯ ←→ ST ST TT ST ←⎯ ⎯→ RT RT RT RT ←⎯ ⎯→ RD RD RD RD (d) (H 6.1) 6.2 CÁC GIAO THỨC ĐỒNG BỘ Một hệ thống thông tin có thể được định dạng bằng các giao thức khác nhau. __________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu
  3. Truyền nối tiếp đồng bộ _____________________________________________Chương 6 VI -3 Trong chế độ truyền đồng bộ, có thể chia giao thức ra làm hai loại : - Giao thức điều khiển Byte hay ký tự (Byte - Controlled Protocol, BCP, hay Character-Oriented Protocol). - Giao thức hướng Bit (Bit - Orientied Protocol, BOP). - Trong giao thức điều khiển byte (BCP), khối dữ liệu bao gồm nhiều ký tự, mỗi ký tự là một đơn vị thông tin (7 hoặc 8 bit) và các thông tin điều khiển cũng xuất hiện dưới dạng từ. Các ký tự dữ liệu (bản tin chính thức) hợp với từ điều khiển thành một khung thông tin. Một khung thông tin thường bắt đầu bằng một hay nhiều từ dùng cho sự đồng bộ, thường là từ SYNC, nó báo cho máy thu biết bắt đầu một khối dữ liệu. Ngoài ra, trước và sau bản tin chính thức còn có các từ điều khiển, bao gồm các địa chỉ các đài, trạm, các từ báo bắt đầu và kết thúc văn bản, các từ báo mã kiểm tra lỗi ... - Trong giao thức hướng bit (BOP), khối dữ liệu xem như một chuỗi bit, các từ điều khiển và ký tự dữ liệu không hẳn là các từ 8 bit mà có thể là một tập hợp các bit tùy theo giao thức cụ thể. Giống như trong BCP, bắt đầu khối tin cũng có tín hiệu báo, đó là từ 8 bit gọi là Cờ (Flag) , cờ này cũng được đặt ở cuối bản tin. Như vậy tác dụng của cờ là thiết lập sự đồng bộ và đánh dấu điểm bắt đầu và điểm kết thúc. Khối dữ liệu bao gồm cả các cờ hình thành một Khung (Frame). Trước và sau bản tin chính thức có các từ điều khiển, được gọi chung là Trường điều khiển (Control Field). Tất cả qui định chi tiết về bản tin, các thông báo hỏi nhận đều thực hiện trong trường điều khiển này. (H 6.2) cho ta hai dạng khung của hai protocol này (H 6.2) Chúng ta giới thiệu dưới đây: - Giao thức điều khiển byte được đề nghị bởi IBM vào năm 1964 và được sử dụng rất rộng rãi trong các ứng dụng điểm - điểm (poin - point) và nhiều điểm (multipoint) với các phương thức đơn công và bán song công. Đó là giao thức truyền đồng bộ nhị phân (Binary Synchronous Communication, BSC, đôi khi gọi là BISYNC). Giao thức BSC được ISO lấy làm cơ sở để xây dựng giao thức hướng ký tự chuẩn quốc tế với tên Basic Mode (dữ liệu dùng mã EBCDIC thay cho mã ASCII và mã dò sai là CRC thay cho BCC) - Giao thức hướng bit, do hãng IBM phát triển và sử dụng có tên là Điều khiển liên kết dữ liệu đồng bộ (Synchronous Data Link Control - SDLC) 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). 6.2.1 Giao thức đồng bộ nhị phân Đây là giao thức điều khiển việc truyền nhận dữ liệu nhờ một số ký tự đặc biệt trong các bảng mã. Các thông tin dữ liệu được gửi đi trong các khung dữ liệu mà hai biên là các ký tự SYNC để báo máy thu biết bắt đầu bản tin. Các từ điều khiển dùng trong BISYNC lấy từ bản mã ASCII, gồm một số từ như sau : __________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu
  4. Truyền nối tiếp đồng bộ _____________________________________________Chương 6 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 0 1 1 0 1 1 b0 1 0 0 1 0 1 1 b1 0 1 1 0 1 0 1 b2 0 0 0 0 0 0 0 b3 0 1 0 1 1 0 1 b4 0 0 0 0 0 0 0 b5 0 1 1 1 1 0 0 b6 1 1 1 0 1 0 0 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
  5. Truyền nối tiếp đồng bộ _____________________________________________Chương 6 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
  6. Truyền nối tiếp đồng bộ _____________________________________________Chương 6 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. Commands→ ⎯⎯⎯⎯ ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ ⎯⎯ Primary ⎯⎯⎯⎯⎯⎯ ↓ ↓ ← Responses Secondary Secondary (a) Dạng không cân bằng ← Commands → Combined Combined ---------------------------------------------- ← Responses → 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
  7. Truyền nối tiếp đồng bộ _____________________________________________Chương 6 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 A FLAG ADDRESS CONTROL INFORMATION FCS FLAG ← 8 bit → ← 8 bit → ← →← →← → ← 8 bit → 8 bit variable 16 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
  8. Truyền nối tiếp đồng bộ _____________________________________________Chương 6 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
  9. Truyền nối tiếp đồng bộ _____________________________________________Chương 6 VI -9 Sơ cấp Thứ cấp Ns P Nr Ns F Nr 0 000 0 000 Trạm sơ cấp phát 3 khung thông tin. 0 100 0 000 Khung thứ 3 là khung thăm dò 0 010 1 000 0 000 0 110 Trạm thứ cấp báo nhận với Nr=3. 0 100 1 110 Nó gửi lại 2 khung thông tin. 0 110 0 010 Trạm sơ cấp báo nhận tốt 2 khung với Nr=2. Gửi tiếp 6 khung 0 001 0 010 0 101 0 010 0 011 0 010 0 111 0 010 0 000 1 010 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 0 010 0 011 khung 6. Vì trạm sơ cấp không biết chỉ khung 6 hay tất cả các 0 110 0 011 khung theo sau có sai FCS nên nó phát lại tất cả từ khung 6 0 001 1 011 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 0 011 0 101 nên trở về 0) 0 111 0 101 0 000 0 101 Trạm thứ cấp báo nhận tất cả các khung với Nr=2. 0 100 1 101 Vì trạm thứ cấp không còn gì để gửi, khung giám sát được dùng 10 00 1 010 Trạm sơ cấp gửi tiếp 5 khung 0 010 0 101 0 110 0 101 0 001 0 101 Trạm thứ cấp xác nhận khung 4 và yêu cầu phát lại từ khung 5 0 101 0 101 (Nr=5) 0 011 1 101 10 00 1 101 (RR) or 10 01 1 101 (REJ) - 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ơ Phát đi từ trạm Cho phép cấ p thứ cấp phát bản văn __________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu
  10. Truyền nối tiếp đồng bộ _____________________________________________Chương 6 VI - 10 1100 P/F 000 UI x x x 1110 P 000 SIM x 1110 F 000 RIM x 1100 P 001 SNRM x 1111 F 000 DM x 1100 F 010 RD x 1100 P 010 DISC x 1100 P/F 110 UA x x 1110 F 001 FRMR 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 FRMR control field of [ Ns Nr] [ ] FCS Flag field control field rejected frame 0 xxx 0 xxx wxyz 0000 - 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
  11. Truyền nối tiếp đồng bộ _____________________________________________Chương 6 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
  12. Truyền nối tiếp đồng bộ _____________________________________________Chương 6 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
  13. Truyền nối tiếp đồng bộ _____________________________________________Chương 6 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
  14. Truyền nối tiếp đồng bộ _____________________________________________Chương 6 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
  15. Truyền nối tiếp đồng bộ _____________________________________________Chương 6 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 → ← n , RR - F(2) B , I(3) P (0) 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): 12 345 678 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
  16. Truyền nối tiếp đồng bộ _____________________________________________Chương 6 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 1 = Đơn Vào chế độ tìm 1 = Cho phép tìm từ SCS (Single character SYN) 0 = Kép EH (Enter hunt mode) SYN Dò từ SYN bên ngoài 1=Chân SYNDET là Reset nội 1 = Reset 8251A D6 ESD (External SYN Detect) ngã vào IR (Internal Reset) 0 = ngã ra D5 Chọn KT chẵn 1 = Chẵn Yêu cầu phát 1 = Chân RST thấp EP (Even parity Enable) 0 = lẻ RTS 0 = cao D4 Cho phép KT chẵn lẻ 1= Có KT chẵn lẻ Error reset 1 = Reset cờ lỗi PEN (Parity Enable) 0 = Không ER PE, OE, FE to 0 D3 Chọn chiều dài ký tự 00 = 5 bit Phát từ break 1 = Chân TxD thấp L1 01 = 6 bit SBRK(Send Break Ch.) 0 = Chân TxD cao D2 L0 10 = 7 bit Cho phép thu 1 = Cho phép 11 = 8 bit RxE 0 = Không D1 Chọn hệ số chia CK D1D0 DTE sẵn sàng 1 = Chân DTR thấp B1 00= Truyền Đ. bộ DTR 0 = cao 01 = :1 D0 B0 10 = :16 Cho phép phát 1 = Cho phép 11 = : 64 TxE 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
  17. Truyền nối tiếp đồng bộ _____________________________________________Chương 6 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 1 = DSR pin is low DSR 0 = high D6 Sync. char. detect 1 = Sync. char. detect SYNDET (Synchronous only) D5 Framing error 1 = Framing error reset by writing ER = 1 FE (Synchronous only) D4 Overrun error OE 1 = Overrun error D3 Parity error PE 1 = Parity error D2 Trans. reg. Empty 1 = Empty Tx 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
  18. Truyền nối tiếp đồng bộ _____________________________________________Chương 6 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⎯→ ⎯⎯⎯⎯→TxD ⎯→6 CS Tx SHIFT REGISTER 11⎯→ RS 13⎯→ R/ W 14⎯→ Tx FIFO E 7←⎯ IRQ 9⎯→ RST ←⎯⎯⎯⎯RxD ←⎯2 Rx SHIFT REGISTER 1←→ Vss 12⎯→ Vcc Rx FIFO 15←→ D7 __________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu
  19. Truyền nối tiếp đồng bộ _____________________________________________Chương 6 VI - 19 CONT. REG. 1 CONT. REG. 2 CONT. REG. 3 22←→ D0 SYNC. CODE REG. STATUS REGISTER TxCLK RxCLK TUF SM/ DTR CD CTS 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 Cho phép ngắt 1 = Cho phép ngắt PE, Bit địa chỉ 00: Chọn CR2 7 khi có lỗi EIE RxOvrn, TUF, AC2 01: Chọn CR3 10: T G mã Sync CTS , CD bit Phát từ Sync 1 = Phát từ Sync 11: Chọn TxFIFO 6 khi underflow 0 = Phát bit 1 khi AC1 Reg. (khi RS=1và Không sử dụng Tx Sync underflow R/ W =0 ) bit Word length 000-6 + parity chẵn Cho phép 1: Chân IRQ tác 5 selector 001-6 + parity lẻ n g ắt thu động WS3 010-7 bits RIE bit WS2 011-8 bits Cho phép 1: Chân IRQ tác 4 100-7 + parity chẵn n g ắt phát động 101-7 + parity lẻ TIE bit Xóa cờ 1: Xóa TUF WS1 110-8 + parity chẵn CLR sync 1: Xóa đồng bộ 3 CTUF 111-8 + parity lẻ bit Chọn phát 1 1: 1 byte data I/O Loại bỏ từ 1: Loại từ Sync từ CLR CTS 1: Clear CTS 2 hay 2 byte 0: 2byte Data I//O đồng bộ dòng dữ liệu thu bit 1or2 SYNC 1=1 từ sync Bit điều khiển Reset phát 1= Reset phát 00: SM/ DTR = 1 1 char. select 0=2 từ sync ngoại vi TxRS 10: SM/ DTR = 0 1 / 2 sync PC2 01: SM/ DTR = xung bit Chọn Sync 1=Ngoài đồng bộ Reset thu 1= Reset thu 0 trong hay 0=Trong RxRS 11-SM/ DTR = 0 Vô ngoài PC1 hiệu hóa xung đồng bộ E/I sync Control Reg.3 (CR3) Control Register 2 (CR2) Control Reg.1(CR1) __________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu
  20. Truyền nối tiếp đồng bộ _____________________________________________Chương 6 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 b7 b6 RS R/ W 0 1 x x Thanh ghi trạng thái 0 0 x x Thanh ghi ĐK CR1 1 1 x x Thanh ghi Rx FIFO 1 0 0 0 Thanh ghi ĐK CR2 1 0 0 1 Thanh ghi ĐK CR3 1 0 1 0 Thanh ghi mã SYNC 1 0 1 1 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 1 = Chân IRQ tác động IRQ bit 6 Parity error 1 = Có lỗi parity PE Reset khi đọc RxFIFO or ghi vào CR1 với RxRS = 1 bit 5 Receiver Overrun 1 = Có lỗi tràn Rx OVRN Reset khi đọc Status Reg. và RxFIFO hay ghi vào CR1 với RxRS=1 bit 4 Transmitter Underflow 1= Có lỗi Underflow TUF Reset khi ghi vào CR3 với CTUF và/hoặc TxRS = 1 bit 3 Clear to send 1= CTS ↑ từ lần xóa cuối cùng CTS Reset khi ghi vào CR3 với CTS và/hoặc TxRS = 1 bit 2 Carrier Detect 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 CD bit 1 Transmitter data register 1= Có hiệu lực available TDRA Reset khi ghi vào TxFIFO bit 0 Receiver data available 1 = Có hiệu lực RDA 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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2