.2 Các thanh ghi SCI và các bit điều khiển

Một phần của tài liệu Thiết kế mạng giám sát và điều khiển MC68HC11 dùng RS 485 (Trang 54 - 58)

Thơng thường, phần mềm sẽ khởi động hệ thống phụ trước (chẳng hạn 1 chương trình con sau khi reset) bằng cách viết vào các thanh ghi trạng thái giá trị thích hợp

Thanh ghi truyền dữ liệu (SCDR-$102E) :

Cả 2 thanh ghi truyền dữ liệu TDR và thanh ghi nhận dữ liệu RDR cĩ cùng địa chỉ với thanh ghi dữ liệu SCDR. Nếu dữ liệu được viết đến thanh ghi SCDR, dữ liệu sẽ đến TDR. Nếu thanh ghi được đọc, dữ liệu sẽ đến từ RDR.

Bit 7 6 5 4 3 2 1 Bit 0

R7/T7 R6/T6 R5/T5 R4/T4 R3/T3 R2/T2 R1/T1 R0/T0

Reset U U U U U U U U

Thanh ghi tốc độ Baud (BAUD-$102B)

Bit 7 6 5 4 3 2 1 Bit 0

TCLR 0 SCP1 SCP0 RCKB SCR2 SCR1 SCR0

Reset 0 0 0 0 0 U U U

Thanh ghi tốc độ Baund (BAUD) dùng để lựa chọn sự thay đổi về tốc độ . Các bit SCP0 và SCP1 được xem như là số chia cho các bit SCR0, 1, 2.

MC68HC11 cĩ một bộ chia tốc độ (rate generator) mà nĩ tỉ số giữa đồng hồ hệ thống và 16 . Như vậy , tốc độ baud cao nhất là E/16 (hoặc = tần số thạch anh/16).

Thanh ghi điều khiển nối tiếp 1 (SCCR1-$102C) :

Bit 7 6 5 4 3 2 1 Bit 0

R8 T8 0 M WAKE 0 0 0

Reset U U 0 0 0 0 0 0

R8 : bit dữ liệu nhận 8.

Khi hệ thống SCI được đặt là 9 Bit thì bit này đĩng vai trị như là bit mở rộng ( bit9) của RDR.

T8 : bit phát dữ liệu 8.

Khi hệ thống SCL được đặt là 9 bit data thì bit này đĩng vai trị như là bit mở rộng (bit9) của TDR.

M : Mode (select character format)

! 0 =1 start bit , 8 data bit , 1 stop bit.

! 1 =1 start bit , 9 data bit , 1 stop bit.

WAKE : Chọn lựa chế độ Wake up (Wake-up method select)

! 0 = IDLE line. Bộ nhận sẽ được đánh thức nếu đường truyền ở mức iddle trong khoảng thời gian ít nhất là bằng 1 ký tự.

! 1 = Adress mark. Mức logic 1 ở vị trí MSB (cĩ thể là bit thứ 8 hoặc thứ 9 tuỳ thuộc vào bit M) sẽ đánh thức bộ nhận.

Thanh ghi điều khiển nối tiếp 2 (SCCR2-$102D) :

Bit 7 6 5 4 3 2 1 Bit 0

TIE TCIE RIE ILIE TE RE RWU SBK

Reset 0 0 0 0 0 0 0 0

TIE – Cho phép ngắt phát (Transmit Interrupt Enable).

! 0 = Cấm ngắt phát.

! 1 = cho phép ngắt phát khi cờ TDRE set lên 1.

TCIE- Cho phép ngắt khi truyền xong (Transmit Complete Interrupt Enable).

! 0 = Cấm ngắt khi truyền xong.

! 1 = Ngắt khi cờ TC set lên 1.

RIE- Cho phép ngắt nhận (Receiver Interrupt Enable ).

! 0 = Cấm ngắt RDRF và OR.

! 1 = Ngắt khi cờ RDRF hoặc OR set lên 1.

ILIE – Cho phép ngắt khi đường dây ở mức Iddle (Idle Line Interrupt

Enable).

! 0 = Cấm ngắt Iddle.

! 1 = Ngắt khi cờ Iddle set lên 1 (chức năng này bị cấm khi cho phép chế độ wake-up).

TE – Cho phép phát (Transmitter Enable).

! 0 = Cấm bộ truyền SCI.

! 1 = Cho phép bộ truyền SCI.

RE – Cho phép nhận (Receiver Enable).

! 0 = Cấm bộ nhận SCI.

! 1 = Cho phép bộ nhận SCI.

RWU – Điều khiển chọn chế độ Wake–up cho bộ nhận.

! 0 = Bộ nhận SCI hoạt động bình thường.

! 1 = Đặt bộ nhận SCI vào chế độ chờ. Các ngắt liên quan đến bộ nhận sẽ bị cấm cho đến khi một số điều kiện được thoả . Điều kiện đánh thức bộ nhận tuỳ thuộc vào cách lựa chọn của bit WAKE trong thanh ghi SCCR1.

SBK - Send Break.

Thanh ghi trạng thái SCI (SCSR-$103E)

Bit 7 6 5 4 3 2 1 Bit 0

TDRE TC RDRF IDLE OR NF FE 0

Thanh ghi này cung cấp các bit điều khiển và cho phép hoặc cấm những chức năng riêng cho giao tiếp truyền nối tiếp.

TDRE – Cờ báo thanh ghi truyền trống.

! = 0 Bộ đệm phát đang bận.

! = 1 Bộ đệm phát trống, một ký tự mới cĩ thể được viết vào thanh ghi SCDR

TC – Cờ báo việc truyền đã hồn tất.

! = 0 Bộ truyền đang đang gởi một ký tự.

! = 1 Bộ đệm đã truyền xong một ký tự .

RDRF – Cờ báo thanh ghi nhận đầy.

! = 0 Bộ đệm nhận chưa đầy.

! = 1 Bộ đệm nhận đầy. Một ký tự mới đã được nhận và dịch phần mềm cĩ thể đọc ký tự này.

TDRE – Cờ báo thanh ghi truyền trống

! = 0 Bộ đệm phát đang bận.

! = 1 Bộ đệm phát trống, một ký tự mới cĩ thể được viết vào thanh ghi SCDR.

IDLE – Cờ báo phát hiện Idle line

! = 0 Đường RxD đang hoạt động

! = 1 RxD line đang ở mức iddle (mức 1).

OR – Cờ báo lỗi overrun.

! = 0 Khơng cĩ lỗi Overrun.

! = 1 Một ký tự đã được nhận và sẵn sàng chuyển vào thanh ghi SCDR nhưng ký tự trước đĩ chưa được đọc.

NF – Cờ báo nhiễu.

! = 0 Khơng phát hiện nhiễu trong suốt quá trình nhận ký tự vào thanh ghi SCDR

! = 1 Phát hiện nhiễu trong suốt quá trình nhận ký tự vào thanh ghi SCDR

FE – Cờ báo lỗi khung truyền.

! = 0 Khơng phát hiện lỗi khung truyền.

! = 1 Phát hiện lỗi khung truyền đối với ký tự trong SCDR.

Các cờ trạng thái trên đều được xố bằng cách đọc thanh ghi SCSR trong khi các cờ này ở mức 1. Sau đĩ viết đến (đối với các cờ TDRE và TC) hoặc đọc (các cờ cịn lại) thanh ghi dữ liệu SCDR.

Một phần của tài liệu Thiết kế mạng giám sát và điều khiển MC68HC11 dùng RS 485 (Trang 54 - 58)

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

(131 trang)