Beruflich Dokumente
Kultur Dokumente
16
= 16
16
Qu significa K?
MPEI
Comunicacin serial usando el modulo UART
Macro UART de Xilinx
Full-duplex, comunicacin asincrnica
8-bit, No Parity, 1-Stop: (8,N,1)
Buffer FIFO de 16 niveles para Transmisin y Recepcin
MPEI
Comunicacin serial usando el modulo UART
Macro UART_TX
KCUART_Tx
BBFIFO_16x8
MPEI
Comunicacin serial usando el modulo UART
Declaration of UART Transmitter with integral 16-byte FIFO buffer
component uart_tx
Port (
data_in : in std_logic_vector(7 downto 0);
write_buffer : in std_logic;
reset_buffer : in std_logic;
en_16_x_baud : in std_logic;
serial_out : out std_logic;
buffer_full : out std_logic;
buffer_half_full : out std_logic;
clk : in std_logic);
end component;
MPEI
Comunicacin serial usando el modulo UART
Macro UART_RX
KCUART_Rx
BBFIFO_16x8
MPEI
Comunicacin serial usando el modulo UART
Declaration of UART Receiver with integral 16-byte FIFO buffer
component uart_rx
Port (
serial_in : in std_logic;
data_out : out std_logic_vector(7 downto 0);
read_buffer : in std_logic;
reset_buffer : in std_logic;
en_16_x_baud : in std_logic;
Buffer_data_present : out std_logic;
buffer_full : out std_logic;
buffer_half_full : out std_logic;
clk : in std_logic);
end component;
MPEI
Comunicacin serial usando el modulo UART
Conexin UART KCPSM3
INPUT Operations
READ_STROBE Iteration with FIFOs
MPEI
Comunicacin serial usando el modulo UART
Documentos de consulta
UART Transmitter and Receiver Macros
Ken Chapman
Xilinx Ltda.
MPEI
Comunicacin serial usando el modulo UART
dsPIC30F
Full-duplex, comunicacin asincrnica
Soporte para protocolos: RS-232, RS-422, RS-485 y LIN
Buffer FIFO de 4 niveles para Transmisin y Recepcin
Interrupcin para Transmisin y Recepcin
Deteccin de errores
Soporte para direccionamiento
MPEI
Comunicacin serial usando el modulo UART
Diagrama de Bloques
MPEI
Comunicacin serial usando el modulo UART
Registros
UxBRG
UxMODE
UxSTA
Generador de Baud-Rate
Baud-Rate de 16-bit controlado por el UxBRG
=
16 ( + 1)
Receptor y Transmisor emplean el mismo BRG
MPEI
Comunicacin serial usando el modulo UART
Deteccin de errores
Parity Cuando el bit de paridad transmitido no coincide con el bit de
paridad calculado por el receptor. UxSTA<PERR>
Framing Cuando el bit de STOP es esperado y se detecta un nivel bajo.
UxSTA<FERR>
Receive Overrun Cuando el buffer esta lleno y un 5 dato es recibido.
UxSTA<OERR>
MPEI
Comunicacin serial usando el modulo UART
Ejemplo Configuracin Modulo UART 1
8-bit,1stop, No Parity, 9600 bps
UxMODE Register
1 - 0 - - 1 - -
0 0 0 - - 0 0 0
8-bit,NP 1stop
MPEI
Comunicacin serial usando el modulo UART
Ejemplo Configuracin Modulo UART 1
8-bit,1stop, No Parity, 9600 bps
UxSTA Register
0 - - - 0 1 R R
0 X 0 R R R R R
1 carcter
Deteccin de
errores
MPEI
Comunicacin serial usando el modulo UART
Ejemplo Configuracin Modulo UART 1
8-bit,1stop, No Parity, 9600 bps
UxBRG Register
=
16
1
=
16 9600
1
MPEI
Comunicacin serial usando el modulo UART
/* Ex: LoopBack */
/* Config UART */
clr U1CON ; Reset UART 1 module to defaul state
mov #BRGVal, W0
mov W0, U1BRG ; 9600 bits/s
mov #0x8400, W0
mov W0, U1MODE ; 8-N-1
mov #0x0800, W0
mov W0, U1STA ; 1 character
MPEI
Comunicacin serial usando el modulo UART
LOOP: btss U1STA, #URXDA ; Dato Recibido?
bra NEXTPROCESS ; NO: Continua con el siguiente proceso
mov U1RXREG, W0 ; SI: Lee dato recibido
mov W0, U1RXVal ; Almacena dato
mov W0, U1TXREG ; Loopback
NEXTPROCESS:
instruction
...
bra LOOP
MPEI
Comunicacin serial usando el modulo UART
Documentos de consulta
Microcontrollers and Microcomputers: Principles of Software and
Hardware Engineering.
Serial I/O-The Asynchronous Serial Communication System.
dsPIC30F Family Refence Manual
Implementing Auto Baud on dsPIC30F Devices