Sơ đồ giao tiếp chuẩn RS232

Một phần của tài liệu Bài giảng Hệ thống nhúng 2010 (Trang 60 - 62)

Tính sai số truyền thơng:

Ví dụ: cho Fosc=16MHz, Baud=9600bps

Trong đó:

• Desired Baud Rate: tốc độ baud u cầu

• Solving for X: Tìm X

• Calculated Baud Rate : Tính tốc độ baud

• Error: lỗi

♦ Truyền thơng nối tiếp khơng đồng bộ USART

Truyền thơng khơng đồng bộ, có khung truyền 1-bit start, 8 hay 9 bit dữ liệu, 1- bit stop. UART truyền bit LSB trước. Bộ truyền nhận bắt buộc phải có cùng khung truyền và tốc độ baud. Bộ tạo tốc độ baud sinh ra một xung nhịp để dịch bit, có thể nhân tốc độ x16 hoặc x64, phụ thuộc vào bit BRGH (TXSTA<2>). Truyền thông nối

tiếp khơng hỗ trợ Parity bằng phần cứng, nếu muốn, có thể tính bằng phần mềm, thơng qua bit thứ 9. Truyền thông sẽ ngừng khi ở chế độ ngủ (SLEEP).

Bộ truyền dữ liệu nối tiếp USART:

Bộ truyền thông nối tiếp truyền thanh ghi dịch TSR. Thanh ghi dịch là bộ đệm chứa dữ liệu đọc/ghi truyền, TXREG. TXREG chứa dữ liệu khi muốn truyền bằng lập trình phần mềm. Thanh ghi TSR sẽ không được cập nhật dữ liệu cho đến khi bit STOP truyền hết. Khi TXREG truyền dữ liệu đi và cập nhật nó vào thanh ghi TSR, TXREG sẽ rỗng, và cờ TXIF (PIR1<4>) được lập (và khơng thể xóa bằng phần mềm, nó chỉ được xóa khi có dữ liệu mới ghi vào TXREG). Ngắt này được bật/tắt bởi bit TXIE (PIE1<4>).

Thứ tự thiết lập truyền dữ liệu:

• Khởi tạo thanh ghi tốc độ baud: SPBRG, nếu muốn truyền tốc độ cao, BRGH=1

• Cho phép truyền thơng: SYNC=0 và SPEN=1

• Nếu cần ngắt: TXIE=1

• Nếu cần truyền thơng 9 bit: TX9=1

• Cho phép truyền: TXEN=1, TXIF=1

• Nếu bit thứ 9 được chọn, TX9D sẽ được nạp

• Ghi dữ liệu vào TXREG để truyền đi

Một phần của tài liệu Bài giảng Hệ thống nhúng 2010 (Trang 60 - 62)

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

(126 trang)
w