Bienvenido: Ingresar
location: Diferencias para "WebHome/Hardware/UART"
Diferencias entre las revisiones 2 y 9 (abarca 7 versiones)
Versión 2 con fecha 2016-09-16 21:32:04
Tamaño: 3160
Comentario:
Versión 9 con fecha 2016-09-16 23:30:33
Tamaño: 4629
Comentario:
Los textos eliminados se marcan así. Los textos añadidos se marcan así.
Línea 5: Línea 5:
En particular la USART funcionando en modo asíncrono (UART) es uno de los protocolos de comunicación serie mas difundidos.

El LPC43xx posee 4 USART, una con los pines necesarios para implementar un MODEM y 3 sin esta posibilidad
El LPC43xx posee 4 USART, una USART con los pines necesarios para implementar un MODEM y 3 sin esta posibilidad.
Línea 11: Línea 9:
==== USART0,2,3 ==== ==== USART 0,2,3 ====
Línea 14: Línea 12:
|| !RxD || Entrada ||
|| !TxD || Salida ||
|| !DIR || Utilizado en RS-485 y EIA-485 ||
|| !UCLK || Clock para modo síncrono ||
|| !BAUD || Solo disponible en USART3 para interfaz IrDA||
|| RxD || Entrada ||
|| TxD || Salida ||
|| DIR || Utilizado en RS-485 y EIA-485 ||
|| UCLK || Clock para modo síncrono ||
|| BAUD || Solo disponible en USART3 para interfaz IrDA||
Línea 20: Línea 18:

==== UART1 ====
==== USART 1 ====
Línea 24: Línea 21:
|| !RxD || Entrada ||
|| !TxD || Salida ||
|| RxD || Entrada ||
|| TxD || Salida ||
Línea 33: Línea 30:
En particular la USART funcionando en modo asíncrono (UART) es uno de los protocolos de comunicación serie mas difundidos.
Línea 34: Línea 32:
== UART (universal asynchronous receiver/transmitter) ==
Línea 36: Línea 33:
Un receptor/transmisor asíncrono, es un modulo utilizado para realizar comunicaciones series de tipo asíncrona donde los datos son enviados sin una señal de reloj externa. == UART (Universal Asynchronous Receiver/Transmitter) ==
Línea 38: Línea 35:
Cuando se hace referencia a una UART 550 se refiere a que la misma es compatible con la UART diseñada por National Semiconductors 16550 para reemplazar a la 8250, esta última interfaz UART utilizada en la primera PC XT. Todas las UART del LPC43xx son compatibles con el estándar 550 (Cuando se referencia a una UART como "UART 550" o "UART compatible con 550" se refiere a que la misma es compatible con la UART diseñada por National Semiconductors 16550 esta UART salida al mercado en 1987 reemplazaba a la 8250, esta última utilizada en la primera PC XT como interfaz serie)
Línea 40: Línea 37:
   En este modo de transición los datos son enviados sin una señal de reloj externa.
Línea 51: Línea 49:
Para implementar una interfaz serie RS-232, utilizaremos una USART en particular, la número 2, esta USART tiene la particularidad == Utilización de la USART del LPC43xx ==

Para implementar una interfaz serie RS-232, utilizaremos una USART en particular, la número 2, en la placa EDU-CIAA esta USART fue cableada al integrado FTDI2232, el mismo es el encargado de realizar la interfaz JTAG del microcontrolador y el USB, además de esta tarea, incorpora un puerto extra configurado en este caso como puerto serie asíncrono. Es en ese puerto donde se conecta los pines de la USART2 permitiendo realizar una muy sencilla conexión entre la PC y la EDU-CIAA.

Para la configuración de el puerto, se utilizará la librería LPCOpen

=== Configurar el SCU ===

Se deben configurar los pines para ser usados por la USART, en su modo asincrónico solo utiliza dos señales RX y TX, estas serán las que se deberan configurar en la SCU.
  
Para evitar anular un dispositivo por ser requerido los pines para otra función, este microcontrolador mapea en varios pines cada linea de la USART, en el caso de la USART2 tenemos las siguientes opciones

     {{attachment:uart_1.png | "uart_1.png" | width="100%" }}

||U2_TXD ||en los pines P1_15, P2_10, P7_1, PA_1||
||U2_RXD ||en los pines P1_16, P2_11, P7_2, PA_2||

En el momento de rutear la placa se eligió la dupla P7_1 y P7_2 como los pines para ser unidos al FTDI2232, eso obliga a seleccionar esos pines como la salida para la UART


{{{
   Chip_SCU_PinMux(7,1,0,FUNC6); /* P7 1: UART3 TXD */
   Chip_SCU_PinMux(7,2,0,FUNC6); /* P7 2: UART3 RXD */
}}}

=== Configurar el Periférico ===
 







    

Puertos Series (USART) en el microcontrolador LPC43XX con la biblioteca LPCOpen

Los periféricos USART (por sus siglas en ingles de Universal Synchronous/Asynchronous Receiver/Transmitter) son dispositivos de comunicación serie síncrona o asíncrona, que permite conectar el microcontrolador con otros equipos, obteniendo de esta forma un método simple para comunicar o recibir datos del exterior.

El LPC43xx posee 4 USART, una USART con los pines necesarios para implementar un MODEM y 3 sin esta posibilidad.

Lineas de comunicación

USART 0,2,3

Señal

Descripción

RxD

Entrada

TxD

Salida

DIR

Utilizado en RS-485 y EIA-485

UCLK

Clock para modo síncrono

BAUD

Solo disponible en USART3 para interfaz IrDA

USART 1

Señal

Descripción

RxD

Entrada

TxD

Salida

CTS

Clear To Send

DCD

Data Carrier Detect

DSR

Data Set Ready

DTR

Data Terminal Ready

RI

Ring Indicator

RTS

Request To Send

En particular la USART funcionando en modo asíncrono (UART) es uno de los protocolos de comunicación serie mas difundidos.

UART (Universal Asynchronous Receiver/Transmitter)

Todas las UART del LPC43xx son compatibles con el estándar 550 (Cuando se referencia a una UART como "UART 550" o "UART compatible con 550" se refiere a que la misma es compatible con la UART diseñada por National Semiconductors 16550 esta UART salida al mercado en 1987 reemplazaba a la 8250, esta última utilizada en la primera PC XT como interfaz serie)

En este modo de transición los datos son enviados sin una señal de reloj externa.

En una transmisión asíncrona, los datos son divididos en palabras de una longitud fija, generalmente octetos, a los cuales se le agregan al comienzo códigos de sincronismo y luego al final del word se pueden agregar espacios, con lo cual permite al receptor identificar un nuevo código de sincronismo.

Como se comentó arriba, las palabras suelen ser octetos, este tipo de comunicación asíncrona se denomina orientada a caracter y uno de los estándar mas comunes es el RS-232 (Recommended Standard 232).

RS-232

El estándar RS-232 es una norma para el intercambio de datos entre dos dispositivos denominados DTE (Equipo terminal de datos) con un DCE (Equipo de comunicación de datos), A pesar de que este estándar soporta comunicación síncrona, su uso mas habitual es en comunicaciones asíncronas por ejemplo el implementado en una PC.

En el caso habitual de una PC llamaremos a la misma DTE, donde el DCE generalmente era el modem, en el caso de comunicarse dos PC entre si (DTE con DTE) no habrá modem, con lo cual la conexión se llamará Null Modem, en estos casos el cable que une las dos computadoras, debe unir las señales de manera cruzada, es decir por ejemplo que la señal denominada TxD en una de las PC debe unirse con la denominada RxD de la otra PC.

Utilización de la USART del LPC43xx

Para implementar una interfaz serie RS-232, utilizaremos una USART en particular, la número 2, en la placa EDU-CIAA esta USART fue cableada al integrado FTDI2232, el mismo es el encargado de realizar la interfaz JTAG del microcontrolador y el USB, además de esta tarea, incorpora un puerto extra configurado en este caso como puerto serie asíncrono. Es en ese puerto donde se conecta los pines de la USART2 permitiendo realizar una muy sencilla conexión entre la PC y la EDU-CIAA.

Para la configuración de el puerto, se utilizará la librería LPCOpen

Configurar el SCU

Se deben configurar los pines para ser usados por la USART, en su modo asincrónico solo utiliza dos señales RX y TX, estas serán las que se deberan configurar en la SCU.

Para evitar anular un dispositivo por ser requerido los pines para otra función, este microcontrolador mapea en varios pines cada linea de la USART, en el caso de la USART2 tenemos las siguientes opciones

  • "uart_1.png"

U2_TXD

en los pines P1_15, P2_10, P7_1, PA_1

U2_RXD

en los pines P1_16, P2_11, P7_2, PA_2

En el momento de rutear la placa se eligió la dupla P7_1 y P7_2 como los pines para ser unidos al FTDI2232, eso obliga a seleccionar esos pines como la salida para la UART

   Chip_SCU_PinMux(7,1,0,FUNC6); /* P7 1: UART3 TXD */
   Chip_SCU_PinMux(7,2,0,FUNC6); /* P7 2: UART3 RXD */ 

Configurar el Periférico

UntitledWiki: WebHome/Hardware/UART (última edición 2017-07-31 21:56:14 efectuada por GuillermoSteiner)