Các thanh ghi của bộ truyền nhận dữ liệu nối tiếp SCI

Một phần của tài liệu Bài tập thực hành vi điều khiển H8SX1582 (Trang 58 - 63)

của H8SX/1582

7.1 Ni dung

Phần hướng dẫn này sẽ giải thích các vấn đề sau đây:

• Khảo sát bộ truyền nhận nối tiếp của vi điều khiển H8SX/1582 • Giới thiệu kỹ thuật giao tiếp nối tiếp giữa 2 thiết bị

• Sử dụng bộ SCI của H8SX/1582 viết và thực thi chương trình truyền nhận dữ liệu trên Starter Kit và máy tính.

7.2 Tng quan v b truyn nhn d liu ni tiếp SCI

Có 2 loại chức năng giao tiếp - Giao tiếp bất đồng bộ

- Giao tiếp đồng bộ xung clock

SCI của H8SX/1582 có 2 kênh giao tiếp đồng bộ nối tiếp hoạt động độc lập (kênh 3 và 4). Các kênh này có thể hoạt động được cả 2 chếđộ đồng bộ và bất đồng bộ. Tuy nhiên trong bài thực hành này chỉ hiện thực giao tiếp bất đồng bộ.

7.3 Các thanh ghi ca b truyn nhn d liu ni tiếp SCI SCI

7.3.1 Thanh ghi chếđộ tun t (SMR)

Thanh ghi SMR được sử dụng để thiết lập định dạng truyền dữ liệu và lựa chọn nguồn clock sinh tốc độ baud, một vài bit còn lại của SMR được sử dụng cho các chức năng khác trong chếđộ bình thường và chếđộ giao diện smart card.

Khi bit SMIF trong thanh ghi SCMR bằng 0

Khi bit SMIF trong thanh ghi SCMR bằng 1

Chức năng bit trong chế độ giao diện smart card (khi bit SMIF trong SCMR = 0): Bit Tên

bit

Giá trị khởi đầu

7 C/A 0 R/W Chếđộ giao tiếp 0: chếđộ bất đồng bộ 1: chếđộđồng bộ clock

6 CHR 0 R/W Chiều dài ký tự (chỉ sử dụng trong chếđộ bất đồng bộ)

0: chọn 8 bit làm chiều dài dữ liệu.

1: chọn 7 bit làm chiều dài dữ liệu. Chếđộ truyền bit thấp trước được chọn cốđịnh, và bit MSB (bit 7) trong TDR sẽ không được truyền trong quá trình truyền.

5 PE 0 R/W Cho phép parity 4 O/E 0 R/W Chếđộ parity

0: chọn parity chẵn. 1: chọn parity lẻ. 3 STOP 0 R/W Chiều dài bit kết thúc

0: 1 bit kết thúc. 1: 2 bit kết thúc. 2 MP 0 R/W Chếđộđa xử lý (chỉ sử dụng trong chếđộ bất đồng bộ) 1 0 CKS1 CKS0 0 0 R/W R/W Chọn clock

Những bit này chọn nguồn clock cho bộ phát tốc độ baud.

00: clock PΦ(n = 0) 01: clock PΦ/4 (n = 1) 10: clock PΦ/16 (n = 2) 11: clock PΦ/64 (n = 3)

Chức năng bit trong chế độ giao diện smart card (khi bit SMIF trong SCMR = 1): Bit Tên bit Giá trị khởi đầu R/W Đặc tả 7 GM 0 R/W Chếđộ GSM

Bit này bằng 1 cho phép hoạt động theo chếđộ GSM. Trong chếđộ GSM, thời gian thiết lập TEND được đặt trước 11.0 etu kể từ lúc khởi động và chức năng điều khiển xuất clock được thêm vào. Để biết thêm chi tiết, xem phần 12.7.6, Truyền dữ liệu (Trừ khi trong chếđộ truyền khối_ và 12.7.8, Điều khiển xuất clock. Chếđộ GSM

Bit này bằng 1 cho phép hoạt động theo chếđộ GSM. Trong chếđộ GSM,

6 BLK 0 R/W Bit này bằng 1 cho phép hoạt động theo chếđộ truyền khối.

truyền khối 5 PE 0 R/W Cho phép parity 4 O/E 0 R/W Chếđộ parity 0: chọn parity chẵn. 1: chọn parity lẻ. 3 2 BCP1 BCP0 0 0 R/W R/W Xung clock cơ bản 1,0 00: 32 chu kỳ clock (S = 32) 01: 64 chu kỳ clock (S = 64) 10: 372 chu kỳ clock (S = 372) 11: 256 chu kỳ clock (S = 256) 1 0 CKS1 CKS0 0 0 R/W R/W Chọn clock 00: clock PΦ(n = 0) 01: clock PΦ/4 (n = 1) 10: clock PΦ/16 (n = 2) 11: clock PΦ/64 (n = 3) (adsbygoogle = window.adsbygoogle || []).push({});

7.3.2 Thanh ghi tc độ bit (BRR)

Tốc độ giao tiếp của SCI phụ thuộc vào 3 yếu tố:

- Lựa chọn tốc độ trong thanh ghi SMR (bit CKS1 và CKS0) - Giá trị trong thanh ghi BRR

- Tần số hoạt động của bộ giao tiếp tuần tự của vi điều khiênH8SX/1582 Tần số hoạt động của bộ giao tiếp tuần tự của H8SX/1582 là 24Mhz.

N : Giá trị thiết lập cho thanh ghi BRR (0 <= N <= 255). Công thức tính N được tính theo công thức ở hình bên dưới

Trong đó: B: Tốc độ baud

P: tần số hoạt động của bộ giao tiếp tuần tự (tính theo Mhz) n : Tần số clock nhập được chọn

7.3.3 Thanh ghi trng thái (SSR)

SSR là thanh ghi chứa các cờ trạng thái của bộ SCI Khi bit SMIF trong thanh ghi SCMR bằng 0

Khi bit SMIF trong thanh ghi SCMR bằng 1

Chức năng các bit trong Chế độ giao tiếp tuần tự bình thường (Khi bit SMIF trong SCMR = 0):

Bit Tên bit Giá trị khởi

đầu R/W Đặc tả

7 TDRE 1 R/(W)* Cờ rỗng thanh ghi dữ liệu truyền 6 RDRF 0 R/(W)* Cờđầy thanh ghi dữ liệu nhận 5 ORER 0 R/(W)* Lỗi overrun 4 FER 0 R/(W)* Lỗi frame 3 PER 0 R/(W)* Lỗi parity 2 TEND 1 R Kết thúc truyền 1 MPB 0 R Bit đa xử lý 0 MPBT 0 R/W Truyền bit đa xử lý

Chức năng các bit trong Chế độ giao diện smart card (Khi bit SMIF trong SCMR=1):

Bit Tên bit Giá trị khởi

đầu R/W Đặc tả

7 TDRE 1 R/(W)* Cờ rỗng thanh ghi dữ liệu truyền 6 RDRF 0 R/(W)* Cờđầy thanh ghi dữ liệu nhận 5 ORER 0 R/(W)* Lỗi overrun 4 ERS 0 R/(W)* Trạng thái tín hiệu lỗi 3 PER 0 R/(W)* Lỗi parity 2 TEND 1 R Kết thúc truyền 1 MPB 0 R Bit đa xử lý 0 MPBT 0 R/W Truyền bit đa xử lý

7.3.4 Thanh ghi điu khin (SCR)

Thanh ghi SCR là thanh ghi cấm/cho phép giao tiếp và ngắt quãng Khi bit SMIF trong thanh ghi SCMR bằng 0

Khi bit SMIF trong thanh ghi SCMR bằng 1

Bit Tên bit Giá trị khởi đầu

R/W Đặc tả

7 TIE 0 R/W Cho phép ngắt quãng truyền 6 RIE 0 R/W Cho phép ngắt quãng nhận 5 TE 0 R/W Cho phép truyền

4 RE 0 R/W Cho phép nhận

3 MPIE 0 R/W Cho phép ngắt đa xử lý

2 TEIE 0 R/W Cho phép ngắt quãng kết thúc truyền 1

0 CKE1 CKE0 0 0 R/W R/W NhCho phép clock 1, 0 ững bit này lựa chọn nguồn clock và chức năng chân SCK. Chếđộ bất đồng bộ 00: Bộ phát tốc độ Baud nội 01: Bộ phát tốc độ Baud nội 1X: Clock ngoại Chếđộđồng bộ clock 0X: Clock nội 1X: External clock 7.3.5 Thanh ghi d liu nhn (RDR)

RDR là một thanh ghi 8 bit lưu trữ dữ liệu nhận. Khi SCI nhận một frame dữ liệu tuần tự, nó truyền dữ liệu tuần tự nhận được từ thanh ghi RSR tới lưu trữ trong thanh ghi RDR, giúp RSR có thể nhận tiếp dữ liệu sau. Bởi vì RSR và RDR hoạt động ở như một bộ đệm kép trong trường hợp này, nên hoạt động nhận liên tục có thể được tiến hành. Sau khi xác nhận rằng bit RDRF trong thanh ghi SSR bằng 1, ta đọc RDR một lần. RDR không thểđược ghi bởi CPU.

7.3.6 Thanh ghi d liu truyn (TDR) (adsbygoogle = window.adsbygoogle || []).push({});

TDR là một thanh ghi 8 bit lưu dữ liệu truyền. Khi SCI phát hiện rằng TSR rỗng, nó truyền dữ liệu từ TDR sang TSR và bắt đầu quá trình truyền. Cấu trúc bộ đệm kép của TDR và TSR cho phép truyền tuần tự liên tục. Nếu dữ liệu truyền tiếp theo đã được ghi trong TDR khi một frame đã được truyền, SCI lại tiếp tục lấy dữ liệu đó đem vào TSR và tiếp tục quá trình truyền. Mặc dù TDR có thểđược đọc hoặc ghi bởi CPU trong cùng một lúc, để có được dữ liệu truyền tin cậy, ta chỉ nên ghi dữ liệu truyền vào TDR một lần sau khi xác nhận rằng bit TDRE trong SSR đã bằng 1.

Một phần của tài liệu Bài tập thực hành vi điều khiển H8SX1582 (Trang 58 - 63)