Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Modos seriales USART (página 2)




Enviado por Pablo Turmero



Partes: 1, 2

Monografias.com

9
Protocolos de comunicación
Operación
Inicialización y reinicio (reset)
Formato del Character
Protocolos de comunicación
Detección automática de errores
Habilitación de recepción
Habilitación de transmisión
Generación de tasa de transferencia
Interrupciones

Monografias.com

10
(Gp:) Idle-Line Multiprocessor Format

(Gp:) Address-Bit Multiprocessor Format

(Gp:) 2 dispositivos
(Gp:) Bit MM=0

(Gp:) 3 o más dispositivos
(Gp:) Bit MM=1

Protocolos de Comunicación

Monografias.com

11
(Gp:) Tiempo de espera de 10 bits o mas
(Gp:) Tiempo de espera menor a 10 bits
(Gp:) Frame
(Gp:) Frame dentro del bloque
(Gp:) Frame dentro del bloque
(Gp:) Primer Frame dentro del bloque es uan direccion, sigue a un tiempo de espera
(Gp:) Expandido

Protocolos de Comunicación:
Protocolos de Comunicación:Idle-Line Multiprocessor Format

Monografias.com

12
Protocolos de Comunicación
(Gp:) TXWAKE=1

(Gp:) Escribir character en UxTXBUF

(Gp:) Contenido de UxTXBUF es llevado al registro de TX

(Gp:) Transmite 11 unos

(Gp:) TXWAKE=0 automaticamente

Idle-Line Multiprocessor Format Transmisión de datos

Monografias.com

13
Protocolos de Comunicación:

(Gp:) Se escribe la dirección en UxTXBUF
(Gp:) Registro tiene que estar listo

(Gp:) Se inicia la transmisión con un character ‘dont care’

Idle-Line Multiprocessor Format Transmisión de datos

Monografias.com

14
(Gp:) Primer frame del bloque
es una dirección
(Gp:) AD Bit es cero
para dato en el bloque

(Gp:) Expandido
(Gp:) Tiempo de espera
(Gp:) Bloques de frames
(Gp:) Tiempo de espera

Protocolos de Comunicación:
Protocolos de Comunicación: Address-Bit Multiprocessor Format
UxRCTL Usart Receive Control Register

Monografias.com

15
Protocolos de Comunicación:
Control del address bit para transmisión
(Gp:) Se escribe en bit TXWAKE

(Gp:) Este es cargado en el address bit del carácter transferido

(Gp:) Se limpia automáticamente

Address-Bit Multiprocessor Format
(Gp:) UxTCTL, Usart Transmit Control Register

Monografias.com

16
Detección automática de errores
Operación
Inicialización y reinicio (reset)
Formato del Character
Detección automática de errores
Protocolos de comunicación
Habilitación de recepción
Habilitación de transmisión
Generación de tasa de transferencia
Interrupciones

Monografias.com

17
Error de framing
Error de paridad

Error de rebalse (receive overrun)
Condición de break
Detección automática de
herores
errores
(Gp:) UxRCTL Usart Receive Control Register

Monografias.com

18
Habilitación de recepción
Operación
Inicialización y reinicio (reset)
Formato del Character
Habilitación de recepción
Protocolos de comunicación
Detección automática de errores
Habilitación de transmisión
Generación de tasa de transferencia
Interrupciones

Monografias.com

19
Habilitación de recepción
Habilitación de recepción
(Receive Enable)
(Gp:) URXEX Habilita o deshabilita recepción de datos

(Gp:) Se guardan en el UxRXBUF

Monografias.com

20
Habilitación de recepción
(Gp:) Character recibido
(Gp:) Condición de Interrupción
(Gp:) URXEx=0
(Gp:) URXEx=1
(Gp:) URXEx=1
(Gp:) URXEx=0
(Gp:) URXEx=1
(Gp:) URXEx=0
(Gp:) Recepcion
Deshabilitada
(Gp:) Estado de espera (Recepcion Deshabilitada)
(Gp:) Receptor recibe el character
(Gp:) Incompleto
(Gp:) Bit de inicio inválido

Habilitación de recepción (Receive Enable)
(Gp:) UxTCTL, Usart Transmit Control Register

Monografias.com

21
Habilitación de transmisión
Habilitación de recepción
Operación
Inicialización y reinicio (reset)
Formato del Character
Habilitación de transmisión
Protocolos de comunicación
Detección automática de errores
Generación de tasa de transferencia
Interrupciones

Monografias.com

22
Habilitación de transmision
Habilitación de Transmisión (Transmit Enable)
(Gp:) UTxEX habilita o deshabilita transmisión de datos

(Gp:) Se inicia la transmisión escribiendo en UxTxBUF

Monografias.com

23
(Gp:) Character Transmitido
(Gp:) Condición de Interrupción
(Gp:) UTXEx=0
(Gp:) UTXEx=1, Se escribe dato al buffer de transmisión
(Gp:) UTXEx=1
(Gp:) UTXEx=0
(Gp:) UTXEx=1
(Gp:) UTXEx=0 y última entrada del buffer es transmitida
(Gp:) Transmisión
Deshabilitada
(Gp:) Estado de espera (Transmisor Habilitado)
(Gp:) Transmisión Activa
(Gp:) Incompleto
(Gp:) No se escribe dato en el buffer de transmisión

Habilitación de transmision
Habilitación de Transmisión
(Transmit Enable)
(Gp:) UxTCTL, Usart Transmit Control Register

Monografias.com

24
Habilitación de transmision
Habilitación de Transmisión
(Transmit Enable)
Para transmitir al buffer
UTxEX=1 y UTxIFGX=1
El bit TxEPT=1 indica que la transmisión activa se ha completado, esto evita errores

Monografias.com

25
Generación de tasa de transferencia
Habilitación de transmisión
Habilitación de recepción
Operación
Inicialización y reinicio (reset)
Formato del Character
Generación de la tasa de transferencia
Protocolos de comunicación
Detección automática de errores
Interrupciones

Monografias.com

26
Generacion de la tasa
Generación de la tasa de transferencia (Baude rate)
La tasa máxima=1/3 BRCKL
Puede generar frecuencias no estándares
Baude rate=BRCLK/N
(Gp:) Factor guardado en registros UxBR0 y UxBR1

(Gp:) UxBR0 y UxBR0 , Baud Rate Control Register

Monografias.com

27
Interrupciones
Generación de tasa de transferencia
Habilitación de transmisión
Habilitación de recepción
Operación
Inicialización y reinicio (reset)
Formato del Character
Interrupciones
Protocolos de comunicación
Detección automática de errores

Monografias.com

28
Interrupciones
Interrupciones
Vector de interrupciones para transmisión
Vector de interrupciones para recepción
Cuando el buffer está listo
Cuando ya ha transmitido se resetea
Cuando un carácter es recibido y cargado en el buffer
Se resetea cuando ha sido leído o la interrupción ha sido servida
URxIFGX=1
UTxIFGX=1

Monografias.com

29
Interrupciones
Interrupciones
Registros de interrupción 1 y 2
(Gp:) UTXIFGX, flag de transmisión
(Gp:) URXIFGX, flag de recepción

Monografias.com

30
#include < msp430x14x.h>
#include "MSP430lib.c"
#include "TRcircbuf.c"

void main (void){
/* Inicialización de osciladores (MSP430lib)*/
InitOsc ();

/* Inicialización de puertos Entrada/Salida (MSP430lib) */
InitPorts ();

/* Inicialización de UART (TRcircbuf) */
RS232Init ();

/* Inicialización de LCD (MSP430lib) */
InitLCD ();
Ejemplo de programación
Ejemplo de Programación

Monografias.com

31
/* Loop de recepción */
while (1){

/* Espera la llegada de un byte a la entada serial y lo almacena en el buffer*/
/* Este estado es interrumpido por RXInterrupt */
if ( RS232RXBufferCount() ){

/* Lee el caracter del buffer y lo almacena en una variable */
RxB = cRS232GetChar();

/* Prende el led */
STATUS_LED_ON;

Ejemplo de programación(2)
Ejemplo de programación

Monografias.com

32
/* Limpia el LCD */
if (cntr == 0){
SEND_CMD(CLR_DISP);
SEND_CMD(DD_RAM_ADDR);
}

/* Envia el caracter recibido al LCD */
SEND_CHAR(RxB);
if(cntr == 15) SEND_CMD(DD_RAM_ADDR2);
if(cntr++ == 31) cntr = 0;
STATUS_LED_OFF;
}
}
}

Ejemplo de programación(3)
Ejemplo de programación

Monografias.com

33
Fin del asunto

Monografias.com

34

(Aplausos aquí)

Monografias.com

35
unsigned char RS232RXBufferCount (void)
{
return (RXCharCount);
}
RS232RXBufferCount

Monografias.com

36
void RS232Init (void)
{
RXWriteIndex = RXReadIndex = RXCharCount = 0;
TXWriteIndex = TXReadIndex = TXCharCount = 0;
TXBufferEmpty = BUFFER_EMPTY; // reset empty flag
InitUART0();
}
RS232Init

Monografias.com

37
char cRS232GetChar (void)
{
char Byte;
if (RXCharCount){ /* Verifica si hay char aún disponible */
Byte = RXBuffer[RXReadIndex++]; /* Obtiene byte del buffer */
RXReadIndex &= RXBUFSIZE-1; /* Indice de buffer circular */
RX_INT_DISABLE; /* Inhabilita interrupción (IE2) */
RXCharCount–; /* Lectura de un char decrementa la cuenta */
RX_INT_ENABLE; /* Hecho, se habilita interrupción(IE2) */
return (Byte);
}
else
return (0); /* si no hay nuevo char */
}
cRS232GetChar

Monografias.com

38
InitPorts
void InitPorts(void) {

P1SEL = 0;
P1OUT = 0;
P1DIR = BIT5 | BIT6; /* enable only Relay outputs */

P2SEL = 0;
P2OUT = 0;
P2DIR = ~BIT0; /* habilita P2.0 es entrada */

P3SEL |= BIT4 | BIT5; /* enable UART0 */
P3DIR |= BIT4; /* enable TXD0 as output */
P3DIR &= ~BIT5; /* enable RXD0 as input */

P4SEL = 0;
P4OUT = 0;
P4DIR = BIT2 | BIT3; /* only buzzer pins are outputs */

P6SEL = 0x80;
P6OUT = 0;
P6DIR = 0x00; /* all output */
}

Monografias.com

39
void InitUART0 (void) /* Inicialización UART0 */
{
BCSCTL1 & = ~DIVA0;
BCSCTL1 | = DIVA1; /* ACLK = XT1 / 4 */
UCTL0 = CHAR; /* 8 data bits, sin paridad, 1 bit de detencion*/
UTCTL0 = SSEL0; /* se elige ACLK como reloj para UART */
U0BR0 = 0xd0; /* 2000000:9600=208
U0BR1 = 0x00;
UMCTL0 = 0x00; /* sin modulación*/
ME1 | = UTXE0 | URXE0; /* habilitan modulos de tx y rx UART */
P3SEL | = 0x30; /* define bits de tx y rx P3.4 P3.5 */
P3DIR | = BIT4; /* habilita TXD0 como salida*/
P3DIR & = ~BIT5; /* habilita RXD0 como entrada*/
IE1 | = URXIE0; /* habilita USART0 RX interrupcion*/
IE1 | = UTXIE0; /* habilita USART0 TX interrupcion */
_EINT(); /* habilita interrupción*/
}
InitUART0
InitUART0

Monografias.com

40
UxCTL Registro de control USART

Monografias.com

41
UxTCTL
UxCTL Registro de control de tx

Monografias.com

42
uxbr0
Registro de control de tasa de transferencia

Monografias.com

43
bcsctl

Monografias.com

44
Uxmctl

Monografias.com

45

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter