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

Giao tiếp nối tiếp dùng vi mạch 8251

14 1,7K 30
Tài liệu đã được kiểm tra trùng lặp

Đ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 14
Dung lượng 249,54 KB

Nội dung

TRUYỀN THÔNG TIN NỐI TIẾP Việc truyền thông tin giữa các bộ phận nằm gần nhau trong hệ vi xử lý có thể được thực hiện thông qua bus song song mở rộng hoặc các mạch phối ghép song song..

Trang 1

GIAO TIẾP NỐI TIẾP DÙNG VI MẠCH

8251

I TRUYỀN THÔNG TIN NỐI TIẾP

Việc truyền thông tin giữa các bộ phận nằm gần nhau trong hệ vi xử lý có thể được thực hiện thông qua bus song song mở rộng hoặc các mạch phối ghép song song Trong đó các byte hoặc các từ được chuyển từ bộ phận này sang bộ phận khác trên một tập các đường mạch in hoặc dây cáp Trong trường hợp cần phải truyền thông tin ở các thiết bị cách xa nhau làm sao tiết kiệm được số đường dây dẫn cần thiết cho việc truyền Từ yêu cầu trên đã ra đời phương pháp truyền thông tin nối tiếp Ở đầu phát dữ liệu song song đầu tiên được chuyển thành dữ liêu dạng nối tiếp sau đó được truyền đi liên tiếp trên một đường dây Ở đầu thu, tín hiệu nối tiếp sẽ được biến đổi ngược lại để tái tạo tín hiệu dạng song song thích hợp cho việc xử lý tiếp theo

Trong thực tế có 2 phương pháp truyền thông tin kiểu nối tiếp: truyền đồng bộ và truyền không đồng bộ

Trong phương pháp truyền đồng bộ, dữ liệu được truyền theo từng mảng với tốc độ xác định Mảng dữ liệu trước khi được truyền đi sẽ được gắn thêm ở đầu và ở cuối mảng các byte hoặc một nhóm bit định dấu đặc biệt

Ở hình 5.1 biểu diễn một bản tin để truyền đồng bộ theo giao thức BISYNC (giao thức truyền thông tin hệ 2 đồng bộ, binary synchronous communication protocal) đây thực chất là giao thức điều khiển theo byte, vì các byte (ký tự) đặc biệt được dùng để đánh dấu các phần khác nhau của bản tin

Trong cách truyền không đồng bộ, dữ liệu được truyền đi theo từng ký tư Ký tự cần

truyền đi được gắn thêm một bit đánh dấu ở đầu để báo bắt đấu ký tự (start) và 1 hoặc 2 bit đánh dấu cuối để báo kết thúc ký tự (stop)ï Vì cuối ký tự được nhận dạng riêng biệt nên nó có thể được truyền đi theo phương pháp không đồng bộ, được thể hiện trên hình 5.1

SYN SYN SOH HEADER STX TEXT ETX hay ETB BCC

SYN : Ký tự đồng bộ SOH : Ký tự bắt đầu phần mào đầu HEADER : Phần mào đầu

STX : Ký tự bắt đầu văn bản TEXT :Thân văn băn

ETX : Ký tự kết thúc văn bản ETB : Ký tự kết thúc văn bản BCC : Ký tự kiểm tra khối

HÌNH 5.1

Trang 3

Tuỳ theo loại mã được chọn dùng trong khi truyền (Baudot, Ascii,… ) độ dài cho mã ký tự có thể là 5 , 6 , 7, 8 bit Tuỳ theo hệ thống truyền tin, bên cạnh các bit dữ liệu còn có thể tuỳ chọn có hay không có 1 bit parity để kiểm tra lỗi khi truyền có thể tuỳ chọn 1 hoăc 2 bit stop, nhưng bắt buộc phải có một bit start Như vậy để truyền một ký tự theo phương pháp không đồng bộ, ngoài ký tự mang tin ta buộc phải truyền thêm ít nhất 2 và nhiều nhất là 4 bit phụ để tạo ra khung cho ký tự đó, vì thế phương pháp nầy tuy đơn giản nhưng có hiệu suất không cao

Tốc độ truyền dữ liệu theo phương pháp nối tiếp được đo bằng bit/s Ngoài ra người ta cũng hay dùng đơn vị baud, đó là giá trị ngịch đảo của thời gian giữa các lần thay đổi mức tín hiệu, với dữ liệu chỉ có hai mức (0 và 1)ø và mỗi thay đổi mức tín hiệu chỉ mã hóa một bit thì có thể hiểu baud = bit/s, các tốc độ truyền thường gặp trong thực tế là 11, 300, 600, 1200,

2400, 4800, 9600, 19200 baud

Để tạo điều kiện dể dàng cho việc phối ghép đường truyền nối tiếp với hệ vi xử lý và để giảm tối đa các mạch phụ thêm ở bên ngoài người ta đã chế tạo ra các vi mạch tổ hợp cỡ lớn lập trình được có khả năng hoàn thành phần lớn các công việc cần thiết trong khi phối ghép Đó là các mạch thu phát di bộ vạn năng IN8250/16450 của National và mạch thu phát đồng bộ – dị bộ vạn năng 8251 của Intel

II VI MẠCH USART 8251:

Trong phần này ta sẽ giới thiệu mạch 8251A đó là vi mạch USART có thể dùng cho cả hai kiểu truyền thông tin nối tiếp đồng bộ, dị bộ Sơ đồ chân và sơ đồ thanh ghi được trình bày ở hình 5.3

1 Sơ đồ chân và sơ đồ khối

a nhóm tín hiệu ghép nối với vi xử lý gồm:

- /CS nối với bộ giải mã địa chỉ A1 An để chọn 2 thanh ghi

(A0 = 1điều khiển trạng thái, A0 = 0 đệm số liệu)

- C/D nối với đường dây địa chỉ A0 để một trong 2 cặp thanh ghi trên

- /WR nối với chân /WR của vi xử lý

- /RD nối với chân /RD của vi xử lý

- CLK nối với đường dây CLK của vi xử lý

Chiều của dòng ký tự

Luôn ở mức cao

Luôn ở mức thấp

Start D0 D1 D2 D3 D4 D5 D6 Parity Stop Stop

Mã của ký tự cần truyền

HÌNH 5.2 : Khung của một ký tự để truyền không đồng bộ

Trang 4

- Reset nối với đường dây reset của vi xử lý.

- D0 … D7 nối với các đường dẫn D0…D7 của VXL

b Nhóm tín hiệu ghép nối vối Modem

- /DTR

- /DSR

- /RTS

- /CTS

c Nhóm tín hiệu gép nối với đường dây truyền – nhận và KGN:

- TxEMTY thanh ghi đệm truyền rỗng

- TxR cho số liệu truyền

- TxRDy báo số liệu truyền đã sẵn sàng

- RxRDy báo số liệu nhận đã sẵn sàng

- Syn det/Break : chỉ đồng bộ/đứt dòng tin

d Nhóm tín hiệu ghép nối với máy phát xung nhịp

- TxD : nhịp truyền

- RxC : nhịp nhận

Trang 5

1 2 3 4 5 6 7 8 9 10 11 12 13 14

28 27 26 25 24 23 22 21 20 19 18 17 16 15

8251A

D1 D0 Vcc /RxC /DTR /RTS /DSR Reset CLK TxD TxEMPTY /CTS

Syndet/BR TxRDY

D2

D3

RxD

GND

D4

D5

D6

D7

/TxC

/WR

/CS

C/D

/RD

RxRDY

/CS

/RD

/WR

C/D

D0

D1

D2

D3

D4

D5

D6

D7

CLK

RST

RxRDY

TxRDY

TxEMTy

Vcc

GND

/DSR /DTR /CTS /RTS Syn/BRK TxC RxC

Thanh ghi truyền

Thanh ghi đệm truyền

Thanh ghi nhận

Thanh ghi đệm nhận

Thanh ghi chế độ

Thanh ghi lệnh Thanh ghi trạng thái

TxD

RxD

Hình 5.3 : Sơ đồ

chân (a) và các thanh ghi (b) của 8251A

(a)

(b)

/CS chíp chọn vi mạch /RD read – đọc

/WR write – viết C/D control/data - điều khiển số liệu

CLK – clock – nhịp D0 D7 data O/I – bus dữ liệu vào ra /TxC – transmit clock - nhịp truyền

RxC – receiver clock RST – reset

/DTR dada terminal ready

/DSR – data set ready /RTS request to send /CTS clear to send TxD – transmit data RxD – receiver data TxRDy – transmit ready RxRDy – receiver ready TxEMTY – transmist register empty

Syn/BRK- Break detect

Trang 6

2 Các thanh ghi:

Ở hình 5.4a và hình 5.4b mô tả bộ thanh ghi của 8251, gồm: thanh ghi trạng thái và thanh ghi điều khiển

Hai thanh ghi trên có cùng một địa chỉ với A0 = 1, một dùng để ghi (/WR) lệnh điều khiển và một để đọc (/RD) trạng thái Hai thanh ghi đệm số liệu ghi và đọc có cùng một địa chỉ (A0 = 0) và dùng để ghi và đọc số liệu cần truyền và nhận của KGN Các lệnh cho các thanh ghi trên như bảng sau:

/CE C/D /WR /RD LỆNH

0

0

0

0

1

1 1 0 0 x

0 1 0 1 x

1 0 1 0 x

Ghi vào thanh ghi điều khiển (chế độ, lệnh)

Đọc thanh ghi trạng thái

Ghi số liệu vào thanh ghi đệm truyền

Đọc số liệu từ thanh ghi đệm nhận

Trở kháng cao (không dùng)

- Thanh ghi điều khiển

- Thanh ghi trạng thái

Trang 7

a Thanh ghi điều khiển:

- dùng để ghi:

+ lời điều khiển chế độ

Hình 5.4a

D7 D6 D5 D4 D3 D2 D1 D0

Tốc độ truyền

00 đồng bộ

01 không đồng bộ x1

10 không đồng bộ x 16

11 không đồng bộ x64

Độ dài ký tự

5 bit 6bit 7bit

8 bit

Điều khiển khung không giá trị một bit dừng 1.5 bit dừng

2 bit dừng

Bit chẵn lẻ X0 không kiểm tra chẳn lẻ kiểm tra lẻ

10 kiểm tra chẵn

Trang 8

b Lời lệnh:

D7 D6 D5 D4 D3 D2

D1 D0

Cho phép phát 1= cho phép 0= cấm

Chế độ bất đồng bộ

1= tìm ký tự đồng bộ

Sync

Ngắt mềm 1= xoá các thanh ghi

Yêu cầu phát 1= đưa tín hiệu RTS/= 0

Xoá cờ báo lỗi 1= xoá cờ

PE, OE, FE

Gửi tín hiệu cắt 1= đưa TxD = 0 0= hoạt động bình thường

Cho phép thu 1= cho phép RxRDy 0= cấm RxRDy

Số liệu đầu cuối Sẵn sàng, DTR\ =1

EH IR RTS ER SBRK RxEN DTR TxEN

HÌNH 5.4b

Trang 9

c thanh ghi trạng thái.

Dùng để đọc lời trạng thái:

Chỉ modem

đã Sẵn

sàng để

truyền số

liẹäu

Chỉ chữ

đồng bộ

đã được

8251 nhận

Chỉ thanh ghi biến đổi song song - nối tiếp rỗng

Chỉ 8251 sẵn sàng nhận 1 chữ hay lệnh để truyền

Bit báo sai chẳn lẻ

Pe= 1 khi có sai xóa bằng ER của lệnh

Chỉ sẵn sàng nhận số liệu để truyền cho VXL

Bit chỉ lỗi tràn

Khi VXL chưa đọc lời trước, lời sau đã tới thì

OE =1 xoá bằng ER của lệnh

Bit chỉ sai khung (không đồng bộ) khi số bit dừng bị sai FE= 1 xoá bằng ER

=1 Hình 5.4c

D7 D6 D5 D4 D3 D2 D1 D0

DSR SYNDET FE OE PE TxEM RxRDy TxRDy

Trang 10

* Vớùi lời điều khiển chế độ: hình 5.4a

- Chế độ đồng bộ: (trong, ngoài hai hay một ký tự đồng bộ SYNC) bởi nội dung ghi vào D7, D6

- Tốc độ truyền với giá trị:

+ D1D0 = 00: Dùng cho chế độ đồng bộ, tốc độ nơi thu bằng tốc độ nơi phát, không có sự thay đổi tần số xung nhịp

+ D1D0=01 : dùng cho chế độ không đồng bộ, tốc độ giữa nơi thu và nơi phát không đổi + D1D0=01: tốc độ thu = tốc độ truyền X1, tức tốc độ thu = tốc độ truyền

+D1D0=10: tốc độ thu =16x tốc độ truyền

+ D1D0=11: tốc độ thu =64x tốc độ truyền

- Độ dài ký tự, tức độ dài một đơn vị tin SDU với các giá trị D3d2 = 00 (5bit), 01(6bit), 10(7bit) và 11(8bit)

- Kiển tra chẵn lẻ D5D4 =00 (không kiểm tra), 01 (kiểm tra lẻ), 11 (kiểm tra chẵn)

- Điều khiển khung, xác định số bit dừng

Với D7D6 = 01 – một bit dừng

D7D6 = 10 – một bit rưỡi dừng D7D6 = 11 – hai bit dừng

 Với lời lệnh (hình5.4b) ta có thể ghi lệnh để:

- Điều khiển modem: DTR(D1=1), RTS(D5=1)

- Xoá mềm( bằng chương trình có IR (D6=1) để xoá về 0 các thanh ghi nội

- Xóa cờ báo lỗi ER (D4=1)

- Ghi cho phép truyền TxEN (D0=1) cho phép nhận RxE(D2=1)

- Gửi tín hiệu cắt ( các bit bằng 0-Break) để cắt dòng tin liên tục đang truyền

- Tìm ký tự đồng bộ EH(D7=1) trong chế độ đồng bộ

 Thanh ghi trạng thái (hình 5.4c): dùng để đọc

- Sẵn sàng truyền TxRDY (D0=1), sẵn sàng nhận RXRDY( D1=1)

- Thanh ghi đệm số liệu rỗng TxE (D2=1)

- Tuy chỉ có một địa chỉ (CS\=0, A1=1) nhưng ta có thể ghi được 2 lời điều khiển chế độ và lời lệnh ở 2 thanh ghi điều khiển khác nhau vì còn có chung một flip flop nội điều khiển lần lượt vào hai thanh ghi trên

Trang 11

III ỨNG DỤNG 8251A ĐỂ TRUYỀN THÔNG TIN NỐI TIẾP:

1 Truyền thông tin nối tiếp giữa 2 kit VXL:

a Khởi phát 8251A:

Muốn 8251 hoạt động đúng chế độ (không đồng bộ), tốc độ (300, 600, 1200, 2400, 4800, 9600bps hoặc lớn hơn), số bit tin (5, 6, 7, 8) có kiểm tra chẵn hoặc lẻ và xác đinh số bit dừng (1; 1,5; 2 bit) ta phải ghi lời điều khiển chế độ vào thanh ghi điều khiển cuả 8251

Ví dụ:

Một 8251 có điạ chỉ gốc CS\ với 0FFF0h, cần trao đổi thông tin 8 bit, tốc độ x16 không có kiểm tra Parity chẵn lẻ, 2bit stop

Lời điều khiển là: 1 1 0 0 1 1 1 0

Lưu đồ khởi tạo 8251A

TxD RxD DTR\

8251

DSR\

RTS\

CTS\

TxD RxD DTR\

8251

DSR\

RTS\

CTS\

VXL2 VXL1

HÌNH 5.5

00h thanh ghi điều khiển

Begin

03h AH

AH - 1

Trang 12

AH - 1

AH = 0 ?

Delay

Nạp từ chế độ cào thanh

ghi chế độ

Delay

End

sai

Đúng

HÌNH 5.5

Trang 13

chương trình khởi phát:

D2: LOOP D2

D3: LOOP D3

MOV AL, 11001110B

D4: LOOP D4

END

2.

Trang 14

Truyền thông tin nối tiếp giữa kit VXL và máy tính:

O O O O O

O O O O

Cổng COM của máy tính

Giải mã điạ chỉ

HÌNH 5.6

Xử lý ngắt (8259A hai mức)

CS \ GND

D 0 – D7

TxD Rest

RxD CLK

DTR C/D\

RD \

DSR\

WR\

RTS \

TxD

CTS\

RxRDy

A 1 – A 11

D 0 –D 7

Reset CLK

A 0

RD \

WR \

INTR INTA \

6 9

Ngày đăng: 29/09/2013, 14:20

HÌNH ẢNH LIÊN QUAN

Ở hình 5.4a và hình5.4b mô tả bộ thanh ghi của 8251, gồm: thanh ghi trạng thái và thanh ghi điều khiển. - Giao tiếp nối tiếp dùng vi mạch 8251
h ình 5.4a và hình5.4b mô tả bộ thanh ghi của 8251, gồm: thanh ghi trạng thái và thanh ghi điều khiển (Trang 7)
HÌNH 5.6 - Giao tiếp nối tiếp dùng vi mạch 8251
HÌNH 5.6 (Trang 16)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w