1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Truyền thông dữ liệu - Chương 3: Thực hiện đồng bộ qua kết nối số liệu

19 8 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 19
Dung lượng 2,22 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài giảng Truyền thông dữ liệu - Chương 3: Thực hiện đồng bộ qua kết nối số liệu đưa ra một số khái niệm, đồng bộ số liệu, truyền nối tiếp bất đồng bộ, truyền nối tiếp đồng bộ, lập trình truyền số liệu qua các giao tiếp số liệu.

Trang 1

§3 THỰC HIỆN ĐỒNG BỘ QUA KẾT

NỐI SỐ LIỆU

Nguyễn Hồng Sơn

NỘI DUNG

 Một số khái niệm

 Đồng bộ số liệu

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

 Nguyên lý đồng bộ bit

 Thực hiện đồng bộ ký tự

 Đồng bộ một frame

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

 Cơ sở đạt đồng bộ bit

Cơ sở đạt đồng bộ ký tự/byte và frame

Trang 2

3

Một số khái niệm

dùng tín hiệu số để truyền nhận số liệu giữa

DTE và DCE hay DTE và DTE.

4

Đồng bộ số liệu

 Đồng bộ bit

 Đồng bộ một nhóm bit (ký tự, byte)

 Đồng bộ một khối số liệu chứa nhiều ký tự hay byte

(frame, )

 Hai thiết bị chỉ truyền nhận số liệu thành công trên

liên kết lớp hai khi và chỉ khi chúng đạt đồng bộ số

liệu trên lớp đó.

 Đồng bộ số liệu ở lớp hai đạt được nhờ đồng bộ frame

(bao hàm cả đồng bộ bit và ký tự/byte)

Trang 3

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

 Không dựa vào yếu tố đồng bộ thời gian (đồng bộ vật lý)

 Tạo cơ chế giúp máy thu nhận thức đúng bit đã truyền

 Nguyên tắc thu thông thường: máy thu lấy mẫu mức tín hiệu

số vào thời điểm thu và dịch thành số liệu, đưa vào thanh ghi

thu

 Một bit được truyền trong khoảng thời gian một Tb (thời gian

của một bit) Do sự tác động của các yếu tố môi trường mà

hay bị biến dạng ở hai biên, nên máy thu luôn cố gắng lấy

mẫu ở giữa thời bit

Truyền ntbđb: nguyên lý đồng bộ bit

 Start bit, thường là bit 0, được đặt để truyền

trước.

 Data 4,5,6,7 hay 8 bit được truyền kế tiếp.

 Một bit kiểm tra, tùy chọn (có hoặc không).

 1 hay 1,5 hay 2 stop bit.

Tất cả được đặt trong thanh ghi PISO, chính

Trang 4

7

Truyền ntbđb: nguyên lý đồng bộ bit

8

Trang 5

Truyền ntbđb: thực hiện đồng bộ ký tự

máy phát.

theo định dạng ký tự đã được lập trình để

tách ký tự.

Trang 6

11

Truyền ntbđb: đồng bộ frame

 STX

 ETX

 DLE

ký tự điều khiển giúp máy thu đồng bộ

frame

12

DLE

Trang 7

Truyền nối tiếp đồng bộ: Cơ sở đạt

đồng bộ bit

 Dùng đồng hồ (thời gian) để đồng bộ

>dựa vào đồng bộ vật lý để đạt đồng bộ luận lý

 Tín hiệu đồng hồ được cấp cho cả nguồn và đích

 Trong kết nối cự ly ngắn như trong một giao tiếp vật lý giữa

máy tính với thiết bị nối mạng, đường tín hiệu CK cấp tín hiệu

đồng hồ để đồng bộ bit giữa hai thiết bị

 Trong kết nối cự ly xa dùng một trong hai giải pháp chính để

tiết kiệm đường truyền CK:

 Mã hóa tín hiệu clock vào Data và truyền đi

 Dùng cơ chế DPLL

 Cũng có thể kết hợp hai giải pháp chính với nhau

Truyền ntđb: Mã hóa tín hiệu ck

vào Data

Trang 8

15

Các phương pháp

mã hóa ck vào data

16

Truyền ntđb: Dùng cơ chế DPLL

Trang 10

19

Các phương pháp mã hóa bit thông thường để

truyền đồng bộ cự ly xa (WAN)

20

Kết hợp cả hai giải pháp

Trang 11

Mã hóa đường dây (line coding)

các mã hóa bit phục vụ cơ chế đồng bộ bit.

trường hợp áp dụng cụ thể

bit số liệu và trạng thái tín hiệu

Trang 12

23

Truyền ntđb: Cơ sở đạt đồng bộ

ký tự và frame_Hướng ký tự

24

Truyền ntđb: Cơ sở đạt đồng bộ

byte và frame_Hướng bit

Trang 13

Sơ lược các vi mạch điều khiển

truyền

 BoPs

 UCCs

Lập trình truyền số liệu qua các

giao tiếp số liệu: Mức thấp

 Phát triển các chương trình điều khiển truyền/nhận data

giữa thiết bị đầu cuối với các thiết bị ngoại vi qua giao tiếp

vật lý

 Các giao tiếp vật lý được thực hiện qua một vi mạch có thể

lập trình, ví dụ 8251, 16550, , còn gọi là I/O module

 Dùng hợp ngữ (assembly language), khởi động vi mạch,

hiểu và vận dụng các thanh ghi

 Kiến thức liên quan: Vi xử lý, Kiến trúc máy tính

(Programmed I/O)

Trang 14

27

Lập trình truyền số liệu qua các

giao tiếp số liệu: Mức cao

 Thường phát triển ứng dụng truyền/nhận qua giao tiếp nối

tiếp (serial port)

 Phần cứng mức thấp cung cấp các serial port cho lập trình

mức cao

 Trong ứng dụng cần phải lập trình cài đặt serial port để kết

nối với giao tiếp vật lý (I/O module)

 Khi đã cài đặt serial port trong chương trình, tiến hành lập

trình truyền data ra hay nhận data vào từ serial port (cổng

luận lý) bằng công cụ truyền/nhận hay đọc/ghi thông thường

 Các IDE đều có thư viện để thực hiện serial port và các công

cụ để thao tác truyền nhận với nó

28

Lập trình cài đặt serial port trên

Windows

 Windows hỗ trợ lập trình qua cổng COM (giao tiếp

EIA-232/V.24), truyền nối tiếp bất đồng bộ

 Hai phương pháp thông thường:

 File operation, xem serial port như một file

 ActiveX, dùng MSComm

Trang 15

Các bước thực hiện

data,

Thực hiện như một file

handlePort_ = CreateFile (portName, // Specify port device: default "COM1"

GENERIC_READ | GENERIC_WRITE, // Specify mode that open device

Trang 16

31

Thực hiện

 2.1 Lấy cấu hình hiện hành

 2.2 Gán thông số

if (GetCommState(handlePort_,&config_) == 0)

{ AfxMessageBox("Port Error");

return FALSE;

}

config_.BaudRate = dcb.BaudRate; // Specify baud rate of communicaiton

config_.StopBits = dcb.StopBits; // Specify stopbit of communication

config_.Parity = dcb.Parity; // Specify parity of communication

config_.ByteSize = dcb.ByteSize; // Specify byte of size of communication.

32

Thực hiện



 2.3 Lưu cấu hình

if (SetCommState(handlePort_,&config_) == 0)

{ AfxMessageBox("Set port error");

return FALSE;

}

Trang 17

Thực hiện

// instance an object of COMMTIMEOUTS

COMMTIMEOUTS comTimeOut; // Specify time-out between charactor for receiving

comTimeOut.ReadIntervalTimeout = 3; // Specify value that is multiplied by the requested number of bytes to be read

comTimeOut.ReadTotalTimeoutMultiplier = 3; // Specify value is added to the product of the ReadTotalTimeoutMultiplier

//member

comTimeOut.ReadTotalTimeoutConstant = 2; // Specify value that is multiplied by the requested number of bytes to be

//sent

comTimeOut.WriteTotalTimeoutMultiplier = 3; // Specify value is added to the product of the WriteTotalTimeoutMultiplier

//member

comTimeOut.WriteTotalTimeoutConstant = 2; // set the time-out parameter into device control

SetCommTimeouts(handlePort_,&comTimeOut);

Thực hiện

if (WriteFile(handlePort_, // handle to file to write to

outputData, // pointer to data to write to file

&length,NULL) == 0) // pointer to number of bytes written

{ AfxMessageBox("Khong truyen duoc data.");

return FALSE;

}

Trang 18

35

Thực hiện

{ AfxMessageBox("Khong nhan duoc data.");

return FALSE;

}

36

Thực hiện

if (CloseHandle(handlePort_) == 0) // Gọi hàm để đóng port

{ AfxMessageBox("Đong port không thanh.");

return FALSE;

}

1.Tham khảo :http://msdn.microsoft.com/library

2 Janet L Axelson, Serial port complete, second edition, Lakeview Research LLC, Madison WI 53704, 2007

Trang 19

Bài tập tự chọn

1 Tìm hiểu MSComm và diễn giải cách thực hiện

truyền/nhận data qua serial port tuân theo các

bước nêu trên.

2 Cài đặt chương trình theo diễn giải ở trên.

Ngày đăng: 11/05/2021, 05:01

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm