El protocolo serial asíncrono es un protocolo de comunicación común en el mundo de la electrónica embebida. Es utilizado por controladores y dispositivos para comunicar información. El protocolo se implementa en los receptores/transmisores asíncronos universales (UART, por sus siglas en inglés). Cuando un dispositivo se comunica usando el protocolo serial, su UART transmite en la línea “TX” y recibe datos por la línea “RX”.

RS232_Example1

Cuando se conecta dos dispositivos de esta manera, un dispositivo envía un caracter usando su línea TX y el otro la recibe por su línea RX y viceversa. La conexión correcta de dos dispositivos para su comunicación serial asíncrona, se muestra a continuación.

RS232_Correct1

Notar que el pin TX del dispositivo 1 está conectado al pin RX del dispositivo 2. El dispositivo envía los datos por el pin TX y el dispositivo 2 los recibe por el pin RX.

Sólo un dispositivo puede tener control de una línea UART en un determinado momento. Si más de un dispositivo transmite a la línea RX de otro dispositivo, se produce un error llamado “contención de bus”. Esto se traduce en que en vez de tener muchos dispositivos comunicándose con uno, éstos “competirán” por la línea de datos y no se podrá transmitir ni recibir información.

Bus_Contention1

En el diagrama anterior, la línea RX del dispositivo 1, no podrá recibir datos en forma apropiada, porque la línea de TX de los dispositivos 2 y 3 están “compitiendo” por enviar datos. De esta manera, no es posible enviar datos al dispositivo 1.

Pregunta:

Considere que tiene un Arduino Pro Mini que quiere programar usando un FTDI Basic. Para conectar apropiadamente los dispositivos, ¿A qué pin del Arduino Pro Mini debe conectarse el pin TX del FTDI?

TXRX_Example1

Respuesta: El pin TX del FTDI Basic debe conectarse al pin RX del Arduino Pro Mini. El pin TX siempre transmite datos y el pin RX siempre recibe datos. Por eso, el pin TX en el FTDI debe conectarse al pin RX en el Arduino Pro Mini y viceversa.