Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 13 trang
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ềnthôngquaRS232 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ềnthố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