Tải bản đầy đủ - 0 (trang)
Hình 2.16: Sơ đồ khối của UART 8250A

Hình 2.16: Sơ đồ khối của UART 8250A

Tải bản đầy đủ - 0trang

41



Hình 2.17: Dạng của thanh ghi điều khiển đường truyền.

D0, D1: Chọn độ dài từ.

D2: Số bit Stop 0: 1 bit

1: 1,5 bit, 2 bit.

D3: Cho phép tạo, kiểm tra Parity 1: Cho phép

0: Cấm

D4: Chọn tạo/ kiểm tra parity chẵn (lẻ) 1: parity chẵn

0: parity lẻ

D5: Có giá trị 1 đảo parity, có giá trị 0 khơng hoạt động.

D6: Bit điều khiển gián đoạn: Có giá trị 1 buộc Sout=0

Có giá trị 0 khơng hoạt động

D7: Bit truy nhập số chia 1: Truy nhập số chia

0: Truy nhập IER, THR, RBR

Có một số điểm cần làm rõ thêm đối với thanh ghi điều khiển đường

truyền. Việc qui định số bit stop không những phụ thuộc vào giá trị bit D 2 mà

còn phụ thuộc độ dài mã ký tự: Nếu D2 = 1 mà mã này là 5 bit thì sẽ tạo/kiểm tra

1.5 bit stop, nếu mã này là 6, 7 hoặc 8 bit thì sẽ tạo/kiểm tra 2 bit stop. Bit D 5

cho phép làm việc với parity đảo: 8250A có thể thao tác với parity đảo so với

parity đã được định nghĩa ở bit D3, tức là khi phát/thu thì 8250A tạo/kiểm tra bit

parity đã được đảo ngược đi so với giá trị mà đáng lý ra nó phải tạo/kiểm tra.

5) Thanh ghi đệm giữ phát: (transmitter hold register THR) Ký tự cần

phát đi phải được ghi từ CPU vào thanh ghi này trong khi bit DLAB =0. Sau đó

khi truyền 8250A lấy kí tự từ đây, đóng khung cho nó như đã định và đưa từng

bit ra chân Sout.

6) Thanh ghi đệm thu: (receive buffer register, RBR) Khi 8250A nhận

được một kí tự qua chân Sin , nó tháo bỏ khung cho ký tự và giữ ký tự tại thanh



42



ghi đệm thu để CPU đọc. CPU chỉ đọc được ký tự trong thanh ghi này khi bit

DLAB =0.

7) Thanh ghi cho phép tạo yêu cầu ngắt: (interrupt enable register IER)

Thanh ghi này dùng để cho phép/ cấm các nguyên nhân gây ngắt khác nhau,

trong khi mạch 8250A hoạt động, có thể tác động được tới CPU thông qua chân

INTRPT của UAR. Mỗi bit trong các bit D 3, D2 ,D1, D0 ở mức cao sẽ cho phép

các hiện tượng tương ứng với bit đó được đưa ra yêu cầu ngắt đối với CPU.

Dạng thức của thanh ghi IER trên hình 2.18

D2

D3

D D D5 D4

7



0



6



0



0MODEM

0



RLINE



D1

TxEMTY



D0

RxRDY



Hình 2.18: Dạng thức của thanh ghi IER:

+ Bit D3 là 1: Cho phép các thay đổi trạng thái của modem gây ngắt

+ Bit D2 là 1: Cho phép các tín hiệu trạng tthái đường dây gây ngắt

+ Bit D1 là 1: Cho phép gây ngắt khi đệm giữ phát rỗng

+ Bit D0 là 1: Cho phép gây ngắt khi đệm thu đầy

8) Thanh ghi nhận dạng nguồn yêu cầu ngắt: (Interrupt Identification

Register, IIR).

Thanh ghi nhận dạng ngắt (chỉ để đọc ra) chứa mã mức ưu tiên cao nhất của

yêu cầu ngắt (tại chân INTRPT của 8250A) đang chờ được phục vụ. Do vậy khi

cần xử lý các yêu cầu ngắt theo kiểu thăm dò, CPU chỉ cần đọc bit ID0 của

thanh ghi này để biết là có yêu cầu ngắt và kiểm tra các bit ID2- ID1 để xác định

được nguồn gốc của yêu cầu ngắt.

Sau khi UART bị reset, chỉ có yêu cầu ngắt có mức ưu tiên số 1 sẽ được

phục vụ. Ta có thể thay đổi điều này bằng cách dùng mặt nạ che đi các yêu cầu

ngắt nào đó (khơng cho nó tác động) bằng cách ghi vào thanh ghi IIR các bit

thích hợp.

Dạng thức của thanh ghi IIR được biểu diển trên hình 2.19



43



D7 D6 D5 D4 D3 D2

0



0



0



0



0



D1



D0



ID2 ID1 ID0



Hình 2.19: Dạng thức của thanh ghi IIR

Các bit D0, D1: mã hóa yêu cầu ngắt có mức ưu tiên cao nhất đang chờ

được phục vụ.

Bit D0:

- 0: Có u cầu ngắt.

- 1: Khơng có.

Các nguồn tạo ra yêu cầu ngắt được liệt kê theo chủng loại và được sắp

xếp theo thứ tự ưu tiên giảm dần trong bảng 4. Bảng 4 còn cho thấy rằng các bit

ID2 ,ID1 , ID0 , của thanh ghi IIR thường bị xoá khi ta đọc các thanh ghi trạng

thái hoặc các thanh ghi liên quan.

Bảng 4 : mức ưu tiên gán cho các nguồn gây ngắt trong 8250A



ID2

1



1

0

0



ID1

1



0

1

0



Mức

1



Tên loại ngắt

Trạng thái



Nguồn gốc

Lỗi khung , thu đè,



đường thu



lỗi parity, gián đoạn



Idi bị xóa khi:

Đọc LSR



2

3



khi thu

Đệm thu đầy Đệm thu đầy

Đệm giữ phát Đệm giữ phát rỗng



Đọc RBR

Đọc IIR, ghi



4



rỗng

Trạng thái



∆CTS, ∆DSR, ∆RI,



THR

Đọc MSR



modem



∆RLDS



9) Thanh ghi điều khiển modem: ( modem control register MCR)

Thanh ghi này còn được gọi là thanh ghi điều khiển các tín hiệu ra của modem

bởi vì nó cho phép ta điều khiển các tín hiệu tại các chân DTR và RTS của

mạch UART.



44



Dạng thức của thanh ghi MCR được biểu diễn trên hình 2.20.

D3

D1

D0

D2

D D D5 D4

7



0



6



0



0



LOOP



OUT2 OUT1 RTS



DTR



Hình 2.20: Dạng thức của thanh ghi MCR.

- Bit D4: Nối vòng cục bộ : 1 – nối vòng, 0 – bình thường

- Bit D3, D2: Điều khiển đầu ra phụ: 1 – đưa OUTi = 0, 0 – đưa OUTi =1.

- Bit D1 : 1 – đưa RTS =0, 0 – đưa RTS = 1

- Bit D0 : 1 – đưa DTR =0 , 1 – đưa DTR =1

Bằng bit D0 = DTR = 1 ta có thể điều khiển tín hiệu tại chân DTR của

mạch 8250A đạt mức tích cực thấp để báo UART sẵn sàng làm việc.

Tương tự, bằng bit D1 = RTS = 1 ta có thể điều khiển tín hiệu tại chân RTS

của mạch 8250A đạt mức tích cực thấp để báo là UART sẵn sàng phát kí tự.

Ngồi ra ta còn điều khiển được các đầu ra phụ Out1 và Out 2 . Bằng các bit

D2 = OUT1 = 1 và D3 = OUT2 = 1 ta có thể điều khiển tín hiệu tại các chân này

sao cho Out1 =0 và Out 2 =0.

Bit D4 =1 cho phép điều khiển mạch 8250A làm việc ở chế độ nối vòng cục

bộ để kiểm tra chức năng của UART.

Cụ thể khi D4 = 1 ta có:

- Sout = 1

- Sin: Khơng nối bên ngồi

- Các thanh ghi dịch phần phát (//



- -) và phần thu (//



- -) nối



vòng với nhau.

- Các chân điều khiển vào của modem ( DSR , CTS , RI, RLSD ) khơng được

nối ra ngồi mà được nối ở bên trong mạch với các chân điều khiển ra của

modem ( RTS , DTR , Out1 , Out 2 ).



45



10) Thanh ghi trạng thái modem: (modem status register MSR). Thanh

ghi này còn được gọi là thanh ghi trạng thái vào từ RS232C vì nó cho biết trạng

thái hiện thời của các tín hiệu điều khiển modem từ đường dây.

Dạng thức của thanh ghi MSR được biểu diễn trên hình 2.21:

D4

D3

D1

D0

D5

D2

D

D

7



6



RLSD R1 DSR CTS



∆RLSD ∆RI



∆DSR ∆CTS



Hình 2.21: Dạng thứccủa thanh ghi MSR.

- D7, D6, D5: Có giá trị của các bit DTR, RTS trong MCR

- D3, D1, D0: 1 nếu có sự thay đổi của các tín hiệu khi bit LOOP=1tương

ứng so với lần đọc trước.

- D2: 1 nếu RI có biến đổi kiểu OUT2 , OUT1 ,

Trong từ trạng thái tại MSR , dấu delta (∆) đứng trước các tín hiệu là để chỉ

ra rằng trong khi 8250 hoạt động, nếu có sự thay đổi của các tín hiệu đó thì các

bit tương ứng sẽ được lập, riêng đối với tín hiệu RI thì ∆RI ám chỉ sự thay đổi từ

mức thấp lên mức cao.

11) Thanh ghi trạng thái đường dây: (Line Status Register LSR) Thanh

ghi trạng thái đường dây cho biết trạng thái của việc truyền tín hiệu trên đường

dây ra sao. Các tín hiệu THRE, BI, FE, PE, OE, RxDR đều có thể là các nguyên

nhân gây ngắt nếu các bit cho phép tương ứng trong thanh ghi IER được lập .

Dạng thức của thanh ghi LSR được biểu diển như trên hình 2.22:

D7



D6



D5



D4



D3



D2



0 TSRE THRE BI

FE PE

Hình 2.22: Dạng thức của thanh ghi LSR.



D1



D0



OE RxDR



Các bit của thanh ghi trạng thái đường dây có ý nghĩa như sau:

RxDR: Receiver data ready: 1 – đã nhận được một ký tự và để nó trong

thanh ghi đệm thu (RBR ), bit này xóa khi CPU đọc thanh ghi RBR.



46



OE: Overrun Error: (lỗi do thu đè): 1 – có hiện tượng thu đè (có thể do

CPU bị chậm), bit này bị xóa khi CPU đọc thanh ghi LSR.

PE: Parity Error (lỗi parity): 1 – có lỗi parity, bit này bị xóa khi CPU đọc

LSR.

FE: Framing Error (lỗi khung ): 1 – có lỗi khung, bit này bị xóa khi CPU

đọc thanh ghi LSR.

BI: Break Interrupt (có sự gián đoạn trong khi truyền): 1 – khi tín hiệu ở

đầu vào phần thu ở mức thấp lâu hơn thời gian dành cho một ký tự, bit này bị

xóa khi CPU đọc thanh ghi LSR.

THRE: Transmitter Holding Register Empty (thanh ghi giữ phát rỗng): 1 –

khi ký tự đã được truyền từ THR →TSR, bit này bị xóa khi CPU đưa ký tự tới

thanh ghi THR.

TSRE: transmitter Shift Register Empty (thanh ghi dịch phát rỗng): 1 – khi

một ký tự đã được phát đi, bit này bị xóa khi có một ký tự được chuyển từ

THR→TSR.

2.4.3. Các thanh ghi trong máy tính giao tiếp với UART8250A/ 16450:

Để giúp cho việc lập trình giao tiếp với các thiết bị bên ngoài qua cổng tuần

tự , máy tính định vị các địa chỉ thanh ghi trong máy để người lập trình thao tác

với UART.

- TD/RD Buffer Register (3F8h: COM1; 2F8h: COM2)

- Inrerupt Enable Register (3F9h; 2F9h )

- Interrupt Identification Register (3FAh; 2FAh )

- Line Control Register (3FBh; 2FBh )

- Modem Cotrol Register (3FCh; 2FCh )

- Line Status Register (3FDh; 2FDh )

- Modem Status regisret (3FEh; 2FEh )



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Hình 2.16: Sơ đồ khối của UART 8250A

Tải bản đầy đủ ngay(0 tr)

×