TU MEJOR MAESTRO

Logo TTM

Introducción


Los protocolos de comunicación en serie son la evolución de los protocolos de comunicaión en paralelo, en donde el envío de los datos se realiza bit a bit por una misma línea de comunicación en vez de transmitir simultaneamente varios bits por diferentes líneas. El módulo que transmite inicia la comunicación enviando un bit de inicio para que el receptor comience a recibir los datos, al terminar de transmitir el último bit de datos se envía un bit que indica el término de la transmisión.

Por lo general se envían tramas de 10 bits donde 8 bits corresponden a los datos y los 2 bits restantes son para indicar el inicio y el fin de la transmisión, sin embargo, en ocasiones se suele agregar un bit de paridad antes del bit de parada con la intención de detectar errores en la transmisión.


Img_01

Figura 1. Tipos de transmisión de datos


Puerto serie es el nombre que recibe la interfaz física que permite la comunicación entre dos dispositivos. En el caso del FPGA el puerto serie consta de dos pines, uno de transmisión (Tx) y otro de recepción (Rx). Ambos pines están conectados a un chip FTDI que se encarga de convertir las señales en formato TTL a señales de tipo USB.


Img_02

Figura 2. Comunicaión serie en FPGA


Dependiendo el tipo de transmisión, al modulo serial se le conoce como UART ó USART.

  • UART – Universal Asyncronos Receiver and Transmitter.
  • USART – Universal Syncronos and Asyncronos Receiver and Transmitter.

El puerto serie es muy útil, debido a que por estemedio podemos comunicar el FPGA con la computadora para transmitir información. Además de que existe una infinidad de módulos y sensores que se comunican a través del puerto serie. La comunicación serial es muy importante debido a que la mayoría de los protocolos de comunicación utilizados actualmente son de este tipo. Algunos ejemplos de protocolos seriales son USB, SPI, I2C, Bluetooth, ZigBee.


Protocolo


Para poder comunicar dos dispositivos a traves de comunicación serial es necesarios conectar el pin de transmisión del emisor con el pin de recepción del receptor, y el pin de recepción del emisor con el pin de transmisión del receptor, tal y como se observa en la Figura 3.


Img_04

Figura 3. Conexión entre emisor y receptor


Para poder establecer una comunicación serie entre dos dispositivos, es necesario definir los siguientes parámetros:


Velocidad de transmisión (baud rate):
Este parametro corresponde con número de bits que se pueden transmitir por segundo. Sin embargo, hay que tener en consideración que a mayor velocidad de transmisión, menor será la distancia que deberá existir entre emisor y receptor.

Bits de datos:
Dentro de la trama de comunicación los bits de datos corresponderan con la cantidad efectiva de información que recibira el usuario. El valor más utilizado para lo bits de datos es de 8, sin embargo, el número de bits que se envía depende del tipo de aplicación.

Bits de parada:
El bit de parada indica al dispositivo receptor que la transisión ha finalizado. Y también se utiliza para permitir una tolerancia en la diferencia de sincronismo entre los relojes de los equipos emisor y receptor.

Bit de paridad:
El bit de paridad permite verificar si se han producido errores durante la transmisión. Hay cinco tipos: par, impar, marcada, espaciada y sin paridad. La paridad par e impar harán que el número de bits a 1 de la trama sea como la paridad indica, las paridades marcada y espaciada colocan el bit de paridad a 1 y 0 respectivamente.

Por ejemplo, si se configura el puerto serial a una velocidad de 9600 Baudios, con 8 bits de datos y 1 bit de paridad. La trama que se tendría que transmitir tendría la siguiente forma:


Img_03

Figura 4. Trama para 8 bits de datos


De acuerdo con la Figura 4 se observa que por cada byte de datos (8 bits) que se envía, en realidad se tienen que enviar 11 bits. Por lo tanto, si la velocidad de transmisión es de 9600 bits/s, tenemos como resultado una tasa real de transmisión de 872.72 bytes por segundo, dado que cada byte tiene agregados tres bits por parte del protocolo serial. Si omitieramos el bit de paridad podriamos incrementar el ancho de banda a 960 bytes por segundo.

INTRODUCCIÓN

¿Qué es un FPGA?

¿Cómo funciona?

¿Qué es un HDL?

Referencia VHDL

Referencia Verilog

CIRCUITOS DIGITALES

Combinatorios

Secuenciales

Aritmética digital

PROTOCOLOS

Serial

SPI

I2C

Ethernet

PRÁCTICAS

BÁSICOS

LEDs

PWM

Motor CD

Motor PAP

INTERMEDIOS

Matriz de LEDs

Sensor ultrasónico

Display LCD

Display TFT

Display OLED

AVANZADOS

Interfaz VGA

Interfaz HDMI

Interfaz PS2

Interfaz SD