1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

truyền thông qua rs232

13 308 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 13
Dung lượng 366,95 KB

Nội dung

10/12/2012 1 Truyền thông qua RS232 DSPIC the dsPIC30F UART Module • Dữ liệu truyền nối tiếp – 8-bit or 9-bit data – Truyền song công • Hỗ trợ truyền dữ liệu với – Bộ đệm truyền nhân 4 bytes – Ngắt nhận và gửi – Cơ chế kiểm tra lỗi • Hỗ trợ nhận địa chỉ gửi 2 10/12/2012 2 Cấu hình truyền thống 3 Phần cứng 4 10/12/2012 3 Các thanh ghi 5 Giải thích thanh ghi 6 10/12/2012 4 Thanh ghi (tiếp) 7 UART - Baud Rate Generator • Thanh ghi xác định tốc độ truyền nhận • UxBRG register với (x = 1 hoặc 2) –Baud Rate = Fcy / ( 16 * (UxBRG + 1) ) với Fcy = Tần số lệnh (Instruction Cycle Frequency) • Cả nhận và truyền đều sử dụng chung 1 tần số 8 10/12/2012 5 Ví dụ • Nếu FCY=8MHz, và tốc độ truyền là 9600 baud, – UxBRG=(8•106/(16•9600))-1=51.083. • UxBRG=51. • Sai số truyền là UxBRG=51 is 9615.384, i.e. the deviation is 0.16% 9 Ví dụ (tiếp) 10 10/12/2012 6 UART - Transmission 11 UART - Transmission 12 10/12/2012 7 UART - Transmit Buffers • Bộ đệm truyền 4 byte – Dữ liệu truyền sẽ được chuyển đến thành ghi UxTSR • Người dùng chỉ truy cập tới được byte đầu tiên của bộ đệm • UTXBF status bit thông báo bộ đệm đầy. 13 UART – Ngắt truyền • Cờ ngắt xác định bởi bit UxTXIF và cho phép ngăt bởi bit UxTXIE • Chế độ UTXISEL= 1 Ngắt xảy ra khi bộ đệm hoàn toàn trống • Khi UTXISEL bit = 0 – Ngắt xảy ra khi mỗi byte được truyền • UTXEN bit là bit cho phép truyền dữ liệu 14 10/12/2012 8 UART – nhận 15 UART nhận • Bộ đệm nhận 4 byte – Dữ liệu truyền sẽ được chuyển từ thành ghi UxRSR, và người dùng đọc thanh ghi UxRXREG • Người dùng chỉ truy cập tới được byte đầu tiên của bộ đệm • Khi bộ đệm 4 byte đầy và thanh ghi UxRSR cũng nhận dữ liệu, thì bit OERR sẽ báo • Việc xóa OERR sẽ xóa bộ đệm 4 byte này 10/12/2012 9 UART - Receive Interrupts • Ngắt nhận xác định bởi cờ UxRXIF và cho phép ngắt bới bit UxRXIE • Có 3 chế độ ngắt khác nhau • URXISEL = 11 –  Ngắt xảy ra khi bộ đệm đầy, 4 bytes • URXISEL bits = 10 – Ngắt xảy ra khi bộ đệm có 3 bytes • When URXISEL bits = 01 or 00 – Ngắt xảy ra khi bộ đệm có dữ liệu 17 UART - Error Detection • Parity Error – When received parity does not match the parity calculated by module from received data – Indicated by PERR bit in the UxSTA register set • Framing Error – When a STOP bit is expected on UxRX pin but a low logic level is detected – Indicated by FERR bit in the UxSTA register set • Receive Overrun Error – When the Receive Buffer is full and a 5 th character is received – Indicated by OERR bit in the UxSTA register set 18 10/12/2012 10 UART - Address Detection • When the UART is operating in 9-bit mode (PDSEL = 11), and the ADDEN bit in the UxSTA register is set –  The module will wait for an Address word, i.e., a 9-bit word with the 9th bit set • At this stage, the URXISEL bits in the UxSTA register must be set to 00 or 01 – On receiving the Address word, the user inspects the lower byte to verify an address match – If an address match occurred, the user should clear the ADDEN bit, after which the module will wait for Data words (9-bit words with MSB clear) 19 UART – Những đặc điểm phụ • Alternate I/O – Sử dụng cặp đôi chân TX/RX khác – Cho phép bơi bít ALTIO trong thanh ghiUxMODE • Loopback Mode – UxTX pin được nối ngầm với nhau UxRX pin – Cho phép bởi bit LPBACK UxMODE • Wake-up from SLEEP – Device can be woken up from SLEEP by START bit – Enabled by setting WAKE bit in UxMODE register 20 . 10/12/2012 1 Truyền thông qua RS232 DSPIC the dsPIC30F UART Module • Dữ liệu truyền nối tiếp – 8-bit or 9-bit data – Truyền song công • Hỗ trợ truyền dữ liệu với – Bộ đệm truyền nhân 4 bytes –. đệm truyền 4 byte – Dữ liệu truyền sẽ được chuyển đến thành ghi UxTSR • Người dùng chỉ truy cập tới được byte đầu tiên của bộ đệm • UTXBF status bit thông báo bộ đệm đầy. 13 UART – Ngắt truyền •. Frequency) • Cả nhận và truyền đều sử dụng chung 1 tần số 8 10/12/2012 5 Ví dụ • Nếu FCY=8MHz, và tốc độ truyền là 9600 baud, – UxBRG=(8•106/(16•9600))-1=51.083. • UxBRG=51. • Sai số truyền là UxBRG=51

Ngày đăng: 14/06/2014, 12:09

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w