domingo, 25 de enero de 2015

Proyecto #1 Parte 3

Introducción a la comunicación Serial



Las comunicaciones seriales han cobrado un gran auge con respecto a las comunicaciones paralelas. Al irse haciendo más complejas las redes de comunicación una disminución del número de cables usados resulto ser la mayor ventaja de lo serial sobre lo paralelo. Entre las comunicaciones seriales se encuentran una gran cantidad de estándares  y protocolos para poder llevar a cabo la comunicación, y a su vez, se cuenta con módulos y chips para la implementación de dichos protocolos.

Hay dos tipos de comunicación serial:

*Síncrona: es gobernada por una señal de reloj (un tren de pulsos lógicos). Que indica en qué momento se inicia la transmisión de datos y en qué momentos se debe de leer cada bit que va llegando a través de la línea de datos.

*Asíncrona: no es gobernada por ninguna señal de reloj, cada uno de los bits que llegan por la línea de datos se leen a una velocidad constante.

Para un tipo de comunicación serial y asíncrona se usan los estándares RS232, RS485, entre otros, para poder comunicar entre diferentes equipos. Por ejemplo, las computadoras que cuentan con puerto serial (puerto COM) usan este estándar. Otro ejemplo de comunicación serial y asíncrona es la comunicación Bluetooth que se hará en este proyecto.

Dentro de la comunicación serial y asíncrona se tienen los siguientes conceptos que son de importancia:

*Estado inactivo: La línea de datos se mantiene en un estado (ya sea uno lógico o cero lógico) para indicar que no hay datos que están siendo transmitidos.

*Bit de inicio: hay un cambio en el estado inactivo de la línea de datos. De esta forma se indica que está a punto de ser transmitido un dato.

*Bit de parada: la línea de datos vuelve al estado inactivo, una vez que los datos han terminado de ser transmitidos.

*Baud-Rate: Velocidad a la cual se está transmitiendo los datos. Además es  un indicador de la velocidad a la cual deben de ser leídos los bits.

*Bit de paridad: Es un bit que indica si el dato ha sido transmitido de forma correcta. Este bit se antepone al dato. El bit de paridad indica si el número de ceros o unos es par o impar. Por ejemplo: si se desea enviar los siguientes bits: “0010111”, se cuenta el número de unos que es par y se decide que el bit de paridad es “1” para este caso, entonces finalmente se enviará a través de la línea de datos: “10010111”. Si por alguna razón se recibiese: “00010111”, esto indicaría que hay un error de transmisión dado que el bit de paridad, que cuando es “1” indica que el número de unos es par, ahora es “0”.


Fig.1 Ilustración de los conceptos básicos para una comunicación serial.


Con estos conceptos ya es posible tener una comunicación serial asíncrona, siempre y cuando ambos dispositivos estén de acuerdo en cuanto al estado de línea inactiva, el bit de inicio, el bit de parada, baud-rate y el bit de paridad; es decir, que ambos dispositivos manejen el mismo lenguaje o dicho de forma más sofisticada, el mismo protocolo. Un protocolo hecho con lo mencionado anteriormente es de los más básicos y menos estructurados para la comunicación serial y asíncrona.

En base a estos conceptos luego surgieron estándares como el RS232 donde se especifican los voltajes, cable, tipos de conectores, estado inactivo en la línea, bits de inicio, bit de parada, baud-rate, entre otras características.

Por lo tanto, en nuestro proyecto usaremos un protocolo de comunicación serial-asíncrona básico donde se tendrán las siguientes características (que son usadas normalmente):

*Estado de línea inactiva:”1”
*Bit de inicio:”0”
*Bit de parada: “1”
*Sin bit de paridad
*Baud-Rate: 9600 bps

Este tipo de comunicación serial-asincróna tan básico es posible llevarlo a cabo mediante el uso de módulos UART. Dicho módulo es incluido en el PIC y permite configurar las características antes mencionadas y transmitir y leer los datos bit por bit a la velocidad prefijada por el baud-rate.



Fig.2 Módulo UART en el PIC18F4550. Normalmente los pines del módulo son llamados Rx y Tx, además se resalta el pin de Vss dado que la “tierra” debe de ser común en los dispositivos que se comunican.


No hay comentarios:

Publicar un comentario