KHẢO SÁT VÀI IC LSI TRUYỀN ÐỒNG BỘ

Một phần của tài liệu Giáo trình truyền dữ liệu (Trang 115 - 123)

CÁC CHUẨN GIAO TIẾP

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 . 6.3.2 SSDA 6852 của Morola .

6.3.1 USART 8251A của Intel :

Baí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 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ộ bớt D0 và D1 trong thanh ghi ủiều khiển = 00, cỏc bớt D2, D3, D4, D5 như trong phần bất ủồng bộ, bớt D6 cho phộp chọn thực hiện ủồng bộ từ bên trong hay bên ngoài và bít D7 cho phép chọn 1 hay 2 từ SYNC

- 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

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 bớt của mỏy thu ủược cấp vào chõn . 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 bít.

- 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/ ở 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

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 - 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 .

- 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 bớt 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 bớt lỗi của thanh ghi trạng thỏi ủược reset nhờ từ lệnh cú bớt ER ủược set = 1 (D4 = 1). Cỏc bớt 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 Morola :

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/

E Tx FIFO

9→ RST

Rx SHIFT

REGISTER

←RxD ←2

1→← Vss

12→ Vcc Rx FIFO

15→← D7

CONT. REG. 1

CONT. REG. 2

CONT. REG. 3

22→← D0

SYNC. CODE REG.

STATUS REGISTER

TUF SM/

TxCLK RxCLK

8 23 24 5↓ 4 3

(H 6.10) Ý nghĩa các chân:

- , RS : Chip select, Register select -R / : Read / Write - E : Data I/O enable & Clocking - : Interrupt Request - : Reset -D7 – D0 : Data bus I/O

- RxCLK, TxCLK : Receive Clock, Transmitter Clock

- : Clear to send - : Carrier detect

- SM/ : 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í bít 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,

,

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/

=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 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 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 1: Clear 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/ = 1 10: SM/ = 0 01:SM/ = 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/ = 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)

éố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/ ủượ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/ 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 bớt trong thanh ghi trạng thỏi và ủiều 13 bit

7

Yêu cầu ngắt

IRQ 1 = Chõn 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 1= từ lần xóa cuối cùng

Reset khi ghi vào CR3 với và/hoặc TxRS = 1 bit

2

Carrier Detect 1 = 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 ảo 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ộ

- 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ự

- 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à bớt TUF lờn cao, lỳc ủú SSDA tự ủộng thờm từ SYNC vào ủể phỏt ủi. Bớt TUF là một cờ ủược reset bởi bít b3=1 trong CR3

Cỏc bớt ủượ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 phải ở LOW và bớt RxRS phải ủược xúa. Cỏc bớt 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 bớt dữ liệu ủược lấy mẫu ở cạnh lờn của xung clock thu tại chõn RxCLK.

Một phần của tài liệu Giáo trình truyền dữ liệu (Trang 115 - 123)

Tải bản đầy đủ (PDF)

(212 trang)