10. comunicaciones - bibing.us.esbibing.us.es/proyectos/abreproy/40048/fichero... · 10....

27
10. Comunicaciones 10.1. Comunicación RS232 Mediante UART El microcontrolador host atmega se comunica con el dispositivo Bluetooth WT- 11 mediante comunicación serie, utilizando para ello la USART implementada en el microcontrolador. Con esta comunicación se consigue que el host envíe todos los comandos de configuración y de control al WT – 11 y a su vez éste responda. 10.1.1. Introducción. Comunicación RS232 En primer lugar se realiza una breve introducción del estándar de comunicación serie RS232 que se utilizará para realizar la comunicación entre el host – WT11. La comunicación mediante UART es diferente a la comunicación mediante RS232, las diferencias se describirán más adelante. LA NORMA La denominada RS-232 es una interfaz que designa una norma para el intercambio serie de datos binarios entre un DTE (o Equipo terminal de datos) y un DCE (o Equipo de terminación del circuito de datos), aunque existen otras situaciones en las que también se utiliza la interfaz RS-232. En esta aplicación el equipo terminal de datos DTE será el procesador host atmega, mientras que el equipo terminación del circuito de datos es el dispositivo WT - 11. La interfaz RS-232 está diseñada para distancias cortas, de unos 15 metros o menos, y para unas velocidades de comunicación bajas, de no más de 20 KBytes . A pesar de ello, muchas veces se utiliza a mayores velocidades con un resultado aceptable. La interfaz puede trabajar en comunicación asíncrona o síncrona y tipos de canal simplex, half duplex o full duplex. En un canal simplex los datos siempre viajarán en una dirección, por ejemplo desde DCE a DTE. En un canal half duplex, los datos pueden viajar en una u otra dirección, pero sólo durante un determinado periodo de tiempo; luego la línea debe ser conmutada antes que los datos puedan viajar en la otra dirección. En un canal full duplex, los datos pueden viajar en ambos sentidos simultáneamente. Las líneas de handshaking de la RS-232 se usan para resolver los problemas asociados con este modo de operación, tal como en qué dirección los datos deben viajar en un instante determinado. Si un dispositivo de los que están conectados a una interfaz RS-232 procesa los datos a una velocidad menor de la que los recibe deben de conectarse las líneas handshaking que permiten realizar un control de flujo tal que al dispositivo más lento le de tiempo de procesar la información. Las líneas de "hand shaking" que permiten hacer este control de flujo son las líneas RTS y CTS. Los diseñadores del estándar no

Upload: lamtram

Post on 19-Sep-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 10. Comunicaciones - bibing.us.esbibing.us.es/proyectos/abreproy/40048/fichero... · 10. Comunicaciones 10.1. Comunicación RS232 Mediante UART El microcontrolador host atmega se

10. Comunicaciones

10.1. Comunicación RS232 Mediante UART El microcontrolador host atmega se comunica con el dispositivo Bluetooth WT-11 mediante comunicación serie, utilizando para ello la USART implementada en el microcontrolador. Con esta comunicación se consigue que el host envíe todos los comandos de configuración y de control al WT – 11 y a su vez éste responda.

10.1.1. Introducción. Comunicación RS232 En primer lugar se realiza una breve introducción del estándar de comunicación serie RS232 que se utilizará para realizar la comunicación entre el host – WT11. La comunicación mediante UART es diferente a la comunicación mediante RS232, las diferencias se describirán más adelante.

• LA NORMA

La denominada RS-232 es una interfaz que designa una norma para el intercambio serie de datos binarios entre un DTE (o Equipo terminal de datos) y un DCE (o Equipo de terminación del circuito de datos), aunque existen otras situaciones en las que también se utiliza la interfaz RS-232.

En esta aplicación el equipo terminal de datos DTE será el procesador host

atmega, mientras que el equipo terminación del circuito de datos es el dispositivo WT -11.

La interfaz RS-232 está diseñada para distancias cortas, de unos 15 metros o menos, y para unas velocidades de comunicación bajas, de no más de 20 KBytes. A pesar de ello, muchas veces se utiliza a mayores velocidades con un resultado aceptable. La interfaz puede trabajar en comunicación asíncrona o síncrona y tipos de canal simplex, half duplex o full duplex. En un canal simplex los datos siempre viajarán en una dirección, por ejemplo desde DCE a DTE. En un canal half duplex, los datos pueden viajar en una u otra dirección, pero sólo durante un determinado periodo de tiempo; luego la línea debe ser conmutada antes que los datos puedan viajar en la otra dirección. En un canal full duplex, los datos pueden viajar en ambos sentidos simultáneamente. Las líneas de handshaking de la RS-232 se usan para resolver los problemas asociados con este modo de operación, tal como en qué dirección los datos deben viajar en un instante determinado.

Si un dispositivo de los que están conectados a una interfaz RS-232 procesa los

datos a una velocidad menor de la que los recibe deben de conectarse las líneas handshaking que permiten realizar un control de flujo tal que al dispositivo más lento le de tiempo de procesar la información. Las líneas de "hand shaking" que permiten hacer este control de flujo son las líneas RTS y CTS. Los diseñadores del estándar no

Page 2: 10. Comunicaciones - bibing.us.esbibing.us.es/proyectos/abreproy/40048/fichero... · 10. Comunicaciones 10.1. Comunicación RS232 Mediante UART El microcontrolador host atmega se

concibieron estas líneas para que funcionen de este modo, pero dada su utilidad en cada interfaz posterior se incluye este modo de uso.

• SEÑALES A continuación se describen las señales más utilizadas para realizar las comunicaciones RS232. SG (Signal ground) o GND: Esta línea de tierra. DTR (Data Terminal Ready): Esta señal prepara al modem para conectarse a una línea de comunicación y mantener la conexión establecida. Una vez que modem esta conectado a la línea este pin debe estar encendido para mantenerse la conexión, si DTR es apagado, provoca una desconexión de la línea, interrumpiendo el enlace de datos en progreso. DTR también puede mantenerse encendido para efectuar la transmisión de datos por el pin TXD. Básicamente DTR es el pin de control maestro del modem. DSR (Data Set Ready): Es la línea que indica que el modem está preparado. Usualmente el DSR esta todo el tiempo encendido porque este valor es un indicador de que el MODEM esta encendido y listo. RTS (Request To Send): Es la línea que dice al modem que el PC quiere enviar datos. El estándar RS-232 dice que RTS condiciona al modem para la transmisión, en realidad esta es solo una función que sirve de interruptor a un modem half duplex para transmitir o recibir. Mientras un modem half duplex esta recibiendo, el DTE guarda el RTS apagado (cero), Cuando le toca al DTE el turno de transmitir, este informa al modem que desea transmitir poniendo el RTS a (uno). El DTE no puede comenzar inmediatamente con el envío de datos al modem porque este, no puede cambiar inmediatamente el modo de transmisión a recepción. Después de poner a uno RTS el DTE monitorea el pin CTS el cual es apagado por el modem que esta en modo de recepción, cuando el modem esta listo para transmitir, este enciende el CTS en función al DTE que esta listo para el envío de datos. Este RTS-CTS (hand shaking), también es permitido en sentido contrario, es decir cuando el transmisor vuelve a recibir. Como en una comunicación full duplex hay dos canales no se necesita el RTS-CTS, de esta forma un modem full duplex pone permanentemente el pin CTS conectado al pin DCD (Data Carrier Detect). CTS (Clear To Send): Es la línea que indica que el modem está preparado para recibir datos desde el PC. DCD (Data Carrier Detect): Es la línea que indica que el modem tiene de verdad conexión remota. Este pin es también llamado “Receiver Time Signal Detect”, es encendido cuando el modem recibe una señal remota y se mantiene encendido durante el enlace. En conexiones de modem half duplex el DCD es encendido solamente por el MODEM que esta en recepción. TXD (Transmit Data): Es la línea de transmisión de datos serie al modem. El TXD no puede transmitir datos a menos que los siguientes circuitos hayan sido encendidos: DTR

Page 3: 10. Comunicaciones - bibing.us.esbibing.us.es/proyectos/abreproy/40048/fichero... · 10. Comunicaciones 10.1. Comunicación RS232 Mediante UART El microcontrolador host atmega se

DSR RTS (listo para enviar). CTS (listo para recibir). RXD (Receive Data): Es la línea de recepción de datos serie desde el modem. RI (Ring Indicator): Es la línea que indica que el modem ha detectado la señal de “llamada” (se pone en uno).

Además para que dos dispositivos puedan hacer efectivo el intercambio de información, se requiere que cada uno de ellos utilice las mismas características de transmisión, entre estas características están la velocidad de transmisión, que pueden ser de: 110bps, 300bps, 600bps, 900bps, 1200bps, 2400bps, 4800bps, 9600bps, 19200bps. Estas velocidades han sido ampliadas en la versión RS-232-E.

El circuito RTS activa y desactiva el circuito de transmisión del modem.

Cuando un terminal detecta que le están llamando a él activa su señal RTS y queda a la espera de recibir la señal CTS (listo para enviar) desde el modem antes de enviar su respuesta. Cuando el terminal ha terminado la transmisión, desactiva la señal RTS, lo que hace que el modem desactive su transmisor dejando la línea libre. Con las seis señales de la tabla se puede establecer una comunicación punto a punto entre los dos DTE (por ejemplo dos módems conectados por un cable).

10.1.2. Diferencias entre RS232 y UART Básicamente son dos las diferencias entre la comunicación estándar RS232 y la comunicación serie mediante UART, estas son las siguientes:

• Los niveles de tensión para representar los estados lógicos del bit son diferentes, en la comunicación serie RS232 los niveles de tensión son -12 V (1 lógico) y +12 V (0 lógico), en cambio utilizando la UART se utilizan los niveles de tensión + Vdd (1 lógico) y 0 V (0 lógico), en este caso Vdd utilizado es 3,3V.

• Como se puede deducir del la descripción anterior los niveles lógicos están

invertidos, esto quiere decir, que lo que se entiende como un 1 lógico en RS232 (estado de la línea abajo), se entiende en la UART como un 0, lo mismo ocurre con el estado lógico 0 del RS232. Es por ello que si se quiere conectar el WT – 11 al puerto serie de un PC se necesita de un drivers adaptador de los niveles de tensión y estados lógicos, esto se desarrollará más adelante.

10.1.3. Esquema de la Comunicación La siguiente figura muestra un esquema de las señales que se usarán para la comunicación entre el microprocesador Host y el WT-11. En la comunicación serie mediante UART, el atmega168p funcionará como maestro por lo cual el WT -11 trabajará como esclavo. Las líneas RTS y CTS están

Page 4: 10. Comunicaciones - bibing.us.esbibing.us.es/proyectos/abreproy/40048/fichero... · 10. Comunicaciones 10.1. Comunicación RS232 Mediante UART El microcontrolador host atmega se

cruzadas entre el maestro y el esclavo como viene indicado en la norma. De la misma forma ocurre con las líneas TX y RX de ambos módulos.

La comunicación se realiza utilizando sólo cuatro líneas del estándar RS232, debido a la implementación de las UART tanto en el atmega como en el WT -11. En el caso del atmega sólo están implementadas en el microprocesador las líneas de RX y TX, las líneas de control de flujo se implementa utilizando dos puertos de propósito general del micro. Existe una descripción mas detallada a nivel de conexión entre ambos dispositivos en el capitulo de planos.

10.1.4. USART ATMEGA168P CARACTERÍSTICAS GENERALES

Se pasa a describir los aspectos más generales de la USART que se encuentra implementada en el microprocesador atmega168p. El Transmisor/Receptor Universal Síncrono y Asíncrono (USART) es un dispositivo altamente flexible para comunicación serie. Las principales características son:

• Operación Full Duplex (Registros independientes de recepción y transmisión serie).

• Operación Asíncrona y Sincrona. • Operación Sincrona Maestro-Esclavo. • Generador de alta resolución de Baud rate. • Soporte de tramas con 5, 6, 7, 8 o 9 bits de datos y 1 o 2 bits de stop. • Generación de paridad Par o Impar y Chequeo soportado por hardware. • Detección de datos OverRun. • Detección de tramas de error. • Filtrado de ruido incluid, detección de bit de inicio falso y filtro pasa-bajo ideal.

MASTER

Atmega168p

SLAVE

WT-11

RXat TXwt

TXat RXwt

CTSwt RTSat

CTSat RTSwt

COMUNICACIÓN A CUATRO LÍNEAS

Page 5: 10. Comunicaciones - bibing.us.esbibing.us.es/proyectos/abreproy/40048/fichero... · 10. Comunicaciones 10.1. Comunicación RS232 Mediante UART El microcontrolador host atmega se

• Tres interrupciones separadas: Finalización de Tx, Registro de datos vacío Tx, Recepción Completa Rx.

• Modo de comunicación Multiprocesador. • Modo de comunicación de doble velocidad Asíncrona.

A continuación de muestra el diagrama a bloques del transmisor USART.

Registros accesibles de I/O del CPU y pines de I/O se muestran en negritas.

Los recuadros punteados en el diagrama de bloques muestran las tres partes principales del USART (listadas de arriba hacia abajo): Generador de reloj, transmisor y receptor. Los registros de control son compartidos por todas las unidades. La generación de reloj lógico consiste en la sincronización de la entrada de reloj externa usada el modo de operación esclavo síncrono y el generador de baute rate. El pin XCK (reloj de transferencia) solamente se usa para el modo de transferencia sincrona. El transmisor consiste de un solo buffer de escritura, un registro de desplazamiento serie, el generador de paridad y el control lógico para manejar los diferentes formatos de tramas serie. El buffer de escritura permite una continua transferencia de datos sin ningún retardo entre tramas. El receptor es la parte más compleja del módulo USART consiste en un reloj y

Page 6: 10. Comunicaciones - bibing.us.esbibing.us.es/proyectos/abreproy/40048/fichero... · 10. Comunicaciones 10.1. Comunicación RS232 Mediante UART El microcontrolador host atmega se

unidad de recuperación de datos. La unidad de recuperación es usada para la recepción de datos asíncronos. En resumen para la unidad de recuperación, el receptor incluye un chequeador de paridad, control lógico, un registro de desplazamiento y un buffer de recepción de dos niveles (UDR). El receptor soporta el mismo formato de trama como el transmisor, y puede detectar un error de trama, y errores de paridad y de overrun de datos. INICIALIZACIÓN

La USART tiene que ser inicializada antes que cualquier comunicación tome lugar. El proceso de inicialización consiste normalmente en ajustar el baud rate, el formato de trama y habilitar el transmisor o el receptor dependiendo del uso. Para una operación de interrupción que conduzca el USART, las banderas de interrupción globales deberán ser limpiadas (y las interrupciones globales deshabilitadas) cuando se realiza la inicialización.

Antes de la inicialización cuando se cambie el baud rate u el formato de trama,

hay que tener cuidado de que no se estén usando transmisiones de salida durante el periodo que los registros se cambien. La bandera TXC puede usarse para comprobar si el transmisor ha completado su transferencia, y la bandera de RCX puede usarse para comprobar que no exista un dato sin leerse en el buffer receptor. Hay que tener en cuenta que la bandera TXC debe de limpiarse antes de cada transmisión (antes que el UDR se escriba) si se usa para este propósito. TRANSMISION DE DATOS

El transmisor de LA USART es habilitado ajustando el bit Habilitación de Transmisión (TXEN) en el registro UCSRB. Cuando el transmisor es habilitado, la operación normal del puerto del pin TxD es “overridden” por LA USART dando la función de transmisión de salida serie. El baud rate, modo de operación y el formato del trama deben establecerse antes que inicie cualquier transmisión. ENVIO DE TRAMAS DE 5 A 8 BITS

Una transmisión de datos es iniciada cargando al buffer del trasmisor con los datos a ser transmitidos. La CPU puede cargar al buffer de transmisión con solo escribir en la localidad de I/O de UDR. Los datos almacenados en el buffer de transmisión serán movidos al registro de desplazamiento cuando este registro este listo para enviar un nuevo trama. El registro de desplazamiento es cargado con un nuevo dato si se encuentra en estado libre (ninguna transmisión de salida) o inmediatamente después del último bit de stop de la trama anterior sea transmitido. Cuando el registro de desplazamiento es cargado con un nuevo dato, transferirá una trama completa a una razón dada por el registro del Baud, el bit U2X o por XCK dependiendo del modo de operación.

Page 7: 10. Comunicaciones - bibing.us.esbibing.us.es/proyectos/abreproy/40048/fichero... · 10. Comunicaciones 10.1. Comunicación RS232 Mediante UART El microcontrolador host atmega se

En el siguiente cronograma se puede ver un ejemplo de trama

� St: Bit de Star siempre es activo en bajo.

� N: Número de datos de 0 a 8 bits.

� P: Bit de paridad.

� Sp: Bits de parada puede ser 1 o 2. Siempre son activos en altos. INTERRUPCIONES DE TRANSMISIÓN

El transmisor USART tiene dos banderas que indican un estado: Registro de Datos Vacío (UDRE) y Transmisión Completada (TXC). Ambas banderas pueden usarse para generar interrupciones. La bandera del registro de datos vacía (UDRE) indica si el buffer del transmisor esta listo para recibir nuevos datos. Este bit se pone a uno cuando el buffer del transmisor esta vacío., y se limpia cuando el buffer del transmisor contiene datos para ser transmitidos que aún no se han movido al registro de corrimiento. Por compatibilidad para dispositivos futuros, siempre escriba a este bit un cero cuando se escriba al registro UCSRA.

Cuando el bit de habilitación de interrupción del registro de datos vacío (UDRIE) en el UCSRB se escriba a uno, la interrupción del registro de datos vacío del USART será ejecutada tan pronto como UDRE pase a uno (siempre y cuando las interrupciones globales estén habilitadas). UDRE se limpia escribiendo en UDR. Cuando se usa una transmisión de datos manejada por interrupción, la rutina de interrupción de registro vacío debe ya sea escribir un nuevo dato a UDR para limpiar UDRE o deshabilitar la interrupción de datos de registro vacío, de lo contrario una nueva interrupción puede ocurrir una vez que la rutina de interrupción termine.

El bit de la bandera de la transmisión completada (TXC) se coloca a uno cuando la trama entera en el registro de desplazamiento de transmisión ha sido enviada y ningún dato actualmente se encuentra en el buffer de transmisión. El bit de la bandera TXC automáticamente se limpia cuando una interrupción de transmisión completa se ejecute, o puede ser borrado escribiendo a uno en esa localidad del bit. La bandera TXC es útil para interfaces de comunicación half-duplex (como el estándar RS485), donde una transmisión debe entrar a modo de recepción y se libere el bus de comunicación inmediatamente después de completar la transmisión.

Cuando el bit de habilitación de interrupción de transmisión completa en el UCSRB se ponga a uno, la interrupción de transmisión completa del USART será ejecutada cuando la bandera TXC llegue a ponerse a uno (siempre y cuando las

Page 8: 10. Comunicaciones - bibing.us.esbibing.us.es/proyectos/abreproy/40048/fichero... · 10. Comunicaciones 10.1. Comunicación RS232 Mediante UART El microcontrolador host atmega se

interrupciones globales estén habilitadas). Cuando la interrupción de transmisión completa se use, la rutina del manejo de interrupción no tiene que limpiar la bandera TXC, esto se realiza automáticamente cuando la interrupción se ejecute.

DESHABILITAR EL TRANSMISOR

La deshabilitación del transmisor (ajustando el TXEN a cero) no llevara a cabo hasta que transmisiones de salida o pendientes se hayan completado, por ejemplo, cuando el registro de desplazamiento de transmisión y el registro del buffer de transmisión no contengan datos para ser trasmitidos. Cuando se deshabilite, el transmisor no enviara más datos por el pin TxD.

RECEPCIÓN DE DATOS

El receptor del USAR se habilita escribiendo en el bit de habilitación de recepción (RXEN) en el registro UCSRB a uno. Cuando el receptor se habilita, la operación normal del pin de RxD es “overridden” por el USART y se comporta como receptor serie de entrada. El Baud Rate, el modo de operación y el formato del frame deben de ajustarse antes que cualquier recepción serial se lleve a cabo. RECEPCIÓN DE TRAMAS DE 5 A 8 BITS

El receptor inicia la recepción de datos cuando detecta un bit de inicio valido. Cada bit que siga al bit de inicio será muestreado a un baud rate o al reloj XCK, y se correrá dentro del registro de desplazamiento del receptor hasta que el primer bit de stop de una trama se reciba. Un segundo bit de stop será ignorado por el receptor. Cuando el primer bit de stop sea recibido, por ejemplo, un trama serie completa este presente en el registro de desplazamiento del receptor, el contenido de registro desplazamiento será movido dentro del buffer del receptor. El buffer del receptor puede entonces leerse por lectura de la localidad del registro de I/O UDR.

INTERRUPCIONES DE RECEPCIÓN

El receptor de la USART tiene una bandera que indica el estado del receptor. La bandera de recepción completa (RXC) indica si existen datos presentes sin leerse en el buffer de recepción. Esta bandera esta en uno cuando existen datos sin haberse leído en el buffer de recepción y esta a cero cuando el buffer de recepción esta vacío (por ejemplo, no contiene ningún dato sin leerse). Si el receptor esta deshabilitado (RXEN = 0), el buffer receptor será “flushed” y consecuentemente el bit RXC llega a se cero.

Cuando el bit de habilitación de interrupción de recepción completa (RXCIE)

en el UCSRB es puesto a uno, la interrupción de recepción completa de la USART será ejecutada tan pronto como la bandera RXC se ponga a uno (siempre y cuando las interrupciones globales estén habilitadas). Cuando se usa la recepción de datos dirigida por interrupción, la rutina de recepción completa debe leer el dato recibido de UDR para limpiar la bandera de RXC, de lo contrario una nueva interrupción puede ocurrir una vez que la rutina de interrupción termina.

Page 9: 10. Comunicaciones - bibing.us.esbibing.us.es/proyectos/abreproy/40048/fichero... · 10. Comunicaciones 10.1. Comunicación RS232 Mediante UART El microcontrolador host atmega se

BANDERAS DE ERROR

El receptor USART tiene tres banderas de error: Error de trama (FE), Dato Sobre escrito (DOR) y Error de Paridad (PE). Todas pueden accederse leyendo el UCSRA. Algo similar para las banderas de Error es que ellas están localizadas juntas en el buffer de recepción con la trama para las cuales ellas indican el estado del error.

Debido a que las banderas de error son almacenadas, el UCSRA deberá de leerse

antes que el buffer de recepción (UDR), ya que leyendo la localidad de I/O del UDR cambia la localidad de lectura del buffer. Otra similitud para las banderas de error es que ellas no pueden ser alteradas por software poniendo una escritura en la localidad de la bandera. Sin embargo, todas las banderas deben ponerse a cero cuando el UCSRA es escrito para incrementar la compatibilidad de futuras implementaciones del USART. Ninguna de las banderas de Error puede generar interrupciones.

La bandera de error de trama (FE) indica el estado del primer bit de stop de la próxima trama legible almacenada en el buffer de recepción. La bandera de error de trama es cero cuando el bit de stop fue correctamente leído (como uno), y la bandera de error de trama será uno cuando el bit de stop haya sido incorrecto (cero). Esta bandera puede ser usada para detectar condiciones de fuera de sincronización, detectando condiciones de ruptura y manejo de protocolo. La bandera de error de trama no será afectada por los ajustes del bit USBS en el UCSRC ya que el receptor ignora todo, excepto para los primeros bits de stop. Por compatibilidad con futuros dispositivos, siempre ponga a cero este bit cuando se escriba a UCSRA.

La bandera de Datos Sobre escritos (DOR) indica la perdida de datos debido a la condición de buffer de recepción lleno. Una sobre escritura de datos ocurre cuando el buffer del receptor esta lleno (dos caracteres), y esta un nuevo carácter esperando en el registro de desplazamiento del receptor, y un nuevo bit de inicio es detectado. Si la bandera DOR es puesta a uno entonces hubo una o más perdidas de tramas series entre la última trama leída del UDR y la próxima trama leída de UDR. Para compatibilidad con futuros dispositivos, siempre se debe escribir este bit a cero cuando se escriba en UCSRA. La bandera DOR se limpia cuando la trama recibida fue exitosamente movida del registro de desplazamiento al buffer de recepción. La bandera de Error de Paridad (PE) indica que la próxima trama en el buffer de recepción tuvo un error de paridad cuando se recibió. Si la comprobación de paridad no esta habilitado el bit PE siempre leerá cero. Para compatibilidad con futuros dispositivos, siempre escriba a este bit a cero cuando escriba en UCSRA.

DESHABILITAR EL RECEPTOR

En contraste con el transmisor, la deshabilitación del receptor será inmediata. Los datos de las recepciones que están en proceso serán perdidos. Cuando se deshabilita el receptor (por ejemplo, RXEN se coloca a cero) la operación de recepción no se ejecutara más en el pin del puerto de RxD. El buffer receptor FIFO será “flushed” cuando el receptor se deshabilita. El resto de los datos en el buffer serán perdidos.

Page 10: 10. Comunicaciones - bibing.us.esbibing.us.es/proyectos/abreproy/40048/fichero... · 10. Comunicaciones 10.1. Comunicación RS232 Mediante UART El microcontrolador host atmega se

REGISTROS DE LA USART Se presenta un breve resumen de los registros utilizados y de sus características de funcionamiento. Registro de Datos de E/S del USART – UDR

El buffer de registro de datos de transmisión del USART y el buffer de registro

de datos de recepción del USART comparten la misma dirección de E/S referida como Registro de Datos del USART o UDR. El buffer de registro de transmisión de datos (TXB) será el destino para los datos escritos en la localidad del registro UDR. Leyendo la localidad del registro UDR retornara el contenido del buffer de registro de datos de recepción (RXB).

Para los caracteres de 5-, 6- o 7- bits los bits altos no usados serán ignorados por el transmisor y se ajustaran a cero por el receptor. El buffer de transmisión solamente se puede escribir cuando la bandera UDRE en el registro UCSRA esta en alto. Los datos escritos a UDR cuando la bandera UDRE no esta en alto, serán ignorados por el transmisor del USART. Cuando el dato se escribe al buffer de transmisión, y el transmisor es habilitado, el transmisor cargará los datos dentro del registro de desplazamiento del transmisor cuando el registro de desplazamiento este vacío. Entonces los datos serán transmitidos por el pin TxD.

El buffer de recepción consiste de una FIFO (Fila de Primero en Entrar, Primero

en Salir) de dos niveles. La FIFO cambiará su estado cuando el buffer de recepción se acceda. Registro A de Estado y Control del USART

• Bit 7 – RXC: Recepción Completa del USART

• Bit 6 – TXC: Transmisión Completa del USART

• Bit 5 – UDRE: Registro de Datos Vacío del USART

• Bit 4 – FE: Error de Frame

• Bit 3 – DOR: Datos Sobre escritos

• Bit 2 – PE: Error de Paridad

• Bit 1 – U2X: Doble Velocidad de Transmisión del USART

• Bit 0 – MPCM: Modo de Comunicación Multi-procesador

Registro B de Estado y Control del USART

• Bit 7 – RXCIE: Habilitación de Interrupción de RX Completa

Page 11: 10. Comunicaciones - bibing.us.esbibing.us.es/proyectos/abreproy/40048/fichero... · 10. Comunicaciones 10.1. Comunicación RS232 Mediante UART El microcontrolador host atmega se

• Bit 6 – TXCIE: Habilitación de Interrupción de TX Completa

• Bit 5 – UDRIE: Habilitación de Interrupción de Registro de Datos Vacío del

USART

• Bit 4 – RXEN: Habilitación del Receptor

• Bit 3 – TXEN Habilitación del Transmisor

• Bit 2 – UCSZ2: Tamaño del Carácter

• Bit 1 – RXB8: 8vo Bit de Datos de Recepción

• Bit 0 – TXB8: 9no Bit de Datos de Transmisión

Registro C de Estado y Control del USART

El registro UCSRC comparte la misma localidad de E/S del Registro UBRRH.

• Bit 7 – URSEL: Registro de Selección

• Bit 6 – UMSEL: Selección del Modo del USART

• Bits 5:4 – UPM1:0. Modo de Paridad

• Bit 3 – USBS: Selección del Bit de Stop

• Bits 2:1. Tamaño del Carácter

• Bit 0 – UCPOL: Polaridad de Reloj

Registro del Baud Rate del USART – UBRRL y UBRRH

El registro comparte la misma localidad de E/S como el registro UCSRC.

• Bit 15 – URSEL: Selección de Registro

• Bit 14:12 – Bits Reservados

• Bits 11:0 – UBRR11:0. Registro del Baud Rate del USART

10.1.5. UART Sistema Bluetooth WT-11 El dispositivo Bluetooth lleva incorporado una interfase UART para poder realizar una comunicación con otros dispositivos. A continuación se explica las características básicas de dicha UART:

Page 12: 10. Comunicaciones - bibing.us.esbibing.us.es/proyectos/abreproy/40048/fichero... · 10. Comunicaciones 10.1. Comunicación RS232 Mediante UART El microcontrolador host atmega se

• Los niveles de tensión utilizados son de 0 a Vdd que son los mismos que utiliza

el microprocesador ATmega 168P, por lo cual no se necesita ningún tipo de drivers para realizar adaptación alguna.

• Están implementadas las cuatro señales básicas de comunicación serie con

control flujo, estas son UART_TX, UART_RX, UART_RTS y UART_CTS. Pero para la comunicación que se desea realizar sólo serán usadas las de transmisión y recepción no obstante, las señales de control de flujo se han conectado a dos pines del microprocesador por si en algún momento se quiere realizar una comunicación con control de flujo.

Las señales DTR, DSR y DCD son implementadas mediante puertos de entrada y salida de propósito general del WT-11.

10.1.6. Configuración Baud Rate Este apartado es el más importante dentro de la configuración de la comunicación entre el microprocesador host y el sistema Bluetooth, ya que ambas UART deben ser configuradas para que comuniquen con el mismo Baud Rate para que los comandos sean entendibles en ambos sentidos. CONFIGURACIÓN DEL BAUD RATE DEL ATmega168P En la configuración del ATmega intervienen los siguientes factores:

• Frecuencia a la que trabaja el micro y si hay algún divisor de frecuencia activado. Se trabaja con una frecuencia de 8MHz proporcionada por el oscilador interno RC. La configuración de esta fuente de reloj y de esta frecuencia la realiza el programador.

Page 13: 10. Comunicaciones - bibing.us.esbibing.us.es/proyectos/abreproy/40048/fichero... · 10. Comunicaciones 10.1. Comunicación RS232 Mediante UART El microcontrolador host atmega se

• Si está activado el bit U2X del registro USCRnA el cual dobla la velocidad a la que transmite la UART. No ha hecho falta activar dicho flag ya que con 8 MHZ se trabaja a una velocidad adecuada y doblando dicha velocidad no se consigue mejorar la transmisión como se explicará a continuación.

Una vez conocidas las condiciones de reloj en las que se realizará la transmisión

hay que configurar el registro de baud rate del microprocesador, que es un registro doble, UBRRnH y UBRRnL. El valor que se debe insertar en dicho registro se puede calcular mediante las siguientes expresiones:

Donde Fosc es la frecuencia seleccionada y UBRRn el valor que se ha de cargar en dicho registro de configuración. De la anterior expresión se deduce,

Esta última expresión se ha implementado mediante código, el cual se carga directamente de cargar los registros, para mayor información ver el capitulo dedicado al código. En la siguiente tabla, que ha sido sacada del datasheet del micro se muestra los distintos Baud Rate que se pueden conseguir con la frecuencia selecciona de 8 MHz y el error que se comete. El error se puede calcular con la siguiente expresión:

Page 14: 10. Comunicaciones - bibing.us.esbibing.us.es/proyectos/abreproy/40048/fichero... · 10. Comunicaciones 10.1. Comunicación RS232 Mediante UART El microcontrolador host atmega se

CONFIGURACIÓN DEL BAUD RATE DEL WT-11 El firmware que trae el dispositivo fija el Bate Rate a 115200 baud, pero este se puede cambiar tocando la configuración interna del firmware mediante la herramienta que proporciona CSR (fabricante del microprocesador interno al chip Bluegiga) PSTool, el cual viene dentro del paquete CSR Bluesuite. En la siguiente tabla se muestra los valores de velocidad con los que se puede configurar el dispositivo y sus correspondientes errores.

Page 15: 10. Comunicaciones - bibing.us.esbibing.us.es/proyectos/abreproy/40048/fichero... · 10. Comunicaciones 10.1. Comunicación RS232 Mediante UART El microcontrolador host atmega se

PROBLEMÁTICA DE CONFIGURACIÓN El problema consiste en que el firmware (iWRAP) viene configurado por defecto con un Bate Rate como ya se ha explicado anteriormente, si se intenta configurar con este Baud Rate al microprocesador se comete un error muy grande, en concreto como se puede observar de la tabla mostrada en el apartado de configuración del microprocesador, un error de 8,5 % este error es inadmisible, por lo que hay que intentar configurarlo con otra tasa de transmisión. Por otro lado si se configura a 9600 baud que es una tasa para la que el micro tiene un error de 0%, se tiene en cambio un error de -0,82 % que puede llegar a ser un poco elevado, además de ser un tasa de transmisión que puede llegar a ser baja conforme se eleva el flujo de información que se deseé enviar. SOLUCIÓN ADECUADA Finalmente se ha decidido configurar ambos dispositivos con una tasa de 38400 baud, con la cual en el micro se obtiene un error de 0,2 % que es bastante bajo y en cuanto al dispositivo Bluetooth se tiene un error de -0,18% que también es muy bajo. Permitiendo además tener una velocidad de transmisión más elevada y adecuada para la cantidad de transmisión que desea enviar. Como se observa de la tabla de ejemplo de Baud Rate del Atmega, se ha cargado con el valor 12. La configuración del WT-11 se explica en el apartado dedicado a la herramienta de configuración PSTool.

10.1.7. Configuración Interna WT-11: Herramienta PS Tool

Page 16: 10. Comunicaciones - bibing.us.esbibing.us.es/proyectos/abreproy/40048/fichero... · 10. Comunicaciones 10.1. Comunicación RS232 Mediante UART El microcontrolador host atmega se

Con la herramienta PSTool que viene incluida en el paquete software BlueSuite proporcionado por CSR, se puede configurar las principales características funcionales del firmware que contienen los chip CSR. Esta aplicación se ha utilizado para modificar el Baud Rate con el que funciona por defecto iWRAP, para poder realizar la comunicación con el microprocesador Host a 38400 baud como ya se explicó anteriormente. En el Datasheet del sistema Bluetooth WT -11 vienen los pasos seguidos para poder cambiar la configuración del Baud Rate.

10.2. Comunicación SPI A continuación se describe como se ha realizado la comunicación serie SPI, la cual ha sido utilizada para comunicar el microprocesador Host con la memoria externa, así como para programar el microprocesador se ha utilizado también esta interfase.

10.2.1. Introducción

El Bus SPI (del inglés Serial Peripheral Interface) es un estándar de comunicaciones, usado principalmente para la transferencia de información entre circuitos integrados en equipos electrónicos. El bus de interface de periféricos serie o bus SPI es un estándar para controlar casi cualquier electrónica digital que acepte un flujo de bits serie regulado por un reloj.

Incluye una línea de reloj, dato entrante, dato saliente y un pin de chip select,

que conecta o desconecta la operación del dispositivo con el que uno desea comunicarse. De esta forma, este estándar permite multiplexar las líneas de reloj.

Muchos sistemas digitales tienen periféricos que necesitan existir pero no ser

rápidos. La ventajas de un bus serie es que minimiza el número de conductores, pines y el tamaño del circuito integrado. Esto reduce el coste de fabricar montar y probar la electrónica. Un bus de periféricos serie es la opción más flexible cuando muchos tipos diferentes de periféricos serie están presentes. El hardware consiste en señales de reloj, data in, data out y chip select para cada circuito integrado que tiene que ser controlado. Casi cualquier dispositivo digital puede ser controlado con esta combinación de señales. Los dispositivos se diferencian en un número predecible de formas. Unos leen el dato cuando el reloj sube otros cuando el reloj baja. Algunos lo leen en el flanco de subida del reloj y otros en el flanco de bajada. Escribir es casi siempre en la dirección opuesta de la dirección de movimiento del reloj. Algunos dispositivos tienen dos relojes. Uno para capturar o mostrar los datos y el otro para el dispositivo interno. VENTAJAS

• Comunicación full-duplex.

• Mayor velocidad de transmisión que con I²C o SMBus.

Page 17: 10. Comunicaciones - bibing.us.esbibing.us.es/proyectos/abreproy/40048/fichero... · 10. Comunicaciones 10.1. Comunicación RS232 Mediante UART El microcontrolador host atmega se

• Protocolo flexible en que se puede tener un control absoluto sobre los bits

transmitidos: o No está limitado a la transferencia de bloques de 8 bits. o Elección del tamaño de la trama de bits, de su significado y propósito.

• Su implementación en hardware es extremadamente simple:

o Consume menos energía que I²C o que SMBus debido que posee menos circuitos (incluyendo las resistencias pull-up) y estos son más simples.

o No es necesario arbitraje o mecanismo de respuesta ante fallos. o Los dispositivos esclavos usan el reloj que envía el maestro, no necesitan

por tanto su propio reloj. o No es obligatorio implementar un transceptor (emisor y receptor), un

dispositivo conectado puede configurarse para que solo envíe, sólo reciba o ambas cosas a la vez.

• Usa muchos menos terminales en cada chip/conector que una interfaz paralelo

equivalente.

• Como mucho una única señal específica para cada esclavo (señal SS), las demás señales pueden ser compartidas.

INCONVENIENTES

• Consume más terminales en cada chip que I²C, incluso en la variante de 3 hilos.

• El direccionamiento se hace mediante líneas específicas (señalización fuera de banda) a diferencia de lo que ocurre en I²C que se selecciona cada chip mediante una dirección de 7 bits que se envía por las mismas líneas del bus.

• No hay control de flujo por hardware.

• No hay señal de asentimiento. El maestro podría estar enviando información sin

que estuviese conectado ningún esclavo y no se daría cuenta de nada.

• No permite fácilmente tener varios maestros conectados al bus.

• Sólo funciona en las distancias cortas a diferencia de, por ejemplo, RS-232, RS-485, o Bus CAN.

Como conclusión decir que este interfase se ha utilizado debido a que es un

estándar muy utilizado en la comunicación con memora flash externas, y el microprocesador utilizado dispone de este interfase. ESQUEMA

Page 18: 10. Comunicaciones - bibing.us.esbibing.us.es/proyectos/abreproy/40048/fichero... · 10. Comunicaciones 10.1. Comunicación RS232 Mediante UART El microcontrolador host atmega se

La siguiente figura muestra el esquema de comunicación utilizado, donde el sistema maestro el microprocesador ATmega y el esclavo es la memoria 25P80. Las líneas utilizadas son las de una comunicación clásica, a estas se les ha añadido la de hold que es especial para este tipo de memoria y esta fuera del ámbito de una comunicación SPI clásica.

10.2.2. SPI ATMEGA 168P

En este capitulo se describe el interfase SPI que contiene el microprocesador ATmega126P. CARACTERÍSTICAS GENERALES

Las principales características de la interfase SPI son:

• Comunicación Full_duplex a tres cables, con transferencia de datos síncrona.

• Configuración Maestro-Esclavo.

• Transferencia de datos primero LSB o MSB.

• Siete programables tasas de Bits.

• Flag de interrupción de fin de transmisión.

• Flag de protección de colisión de escritura.

• Conmutación del modo de funcionamiento Idle.

• Doble velocidad (CK/2) en modo maestro. DIAGRAMA DE BLOQUES En la siguiente figura se puede observar el diagrama de bloques que componen la interfase.

Page 19: 10. Comunicaciones - bibing.us.esbibing.us.es/proyectos/abreproy/40048/fichero... · 10. Comunicaciones 10.1. Comunicación RS232 Mediante UART El microcontrolador host atmega se

El sistema consiste en dos registros de desplazamiento y generador de reloj maestro. El SPI maestro comienza el ciclo de comunicación cuando se selecciona el chip select (poniendo en bajo) del dispositivo esclavo con el que se desea realizar la comunicación. Tanto el maestro como el esclavo preparan los datos para ser enviados en sus respectivos registros de desplazamiento y el maestro genera los pulsos de reloj requeridos para intercambio de información. La información siempre es desplazada desde el maestro hacia el esclavo sobre la salida del maestro – entrada del esclavo MOSI, y desde el esclavo hacia el maestro sobre la entrada del maestro – salida del esclavo MISO. Después de cada envío de un paquete el maestro debe sincronizar el esclavo colocando en alto la línea de chip select #SS. Cuando el SPI es configurado como maestro no se tiene un control automático sobre la línea #SS, ésta debe ser manejada por software para poder empezar. Cuando se ha realizado dicho paso, escribiendo un byte sobre el registro de datos SPI se comienza la generación del reloj SPI y el hardware desplaza los 8 hacia el esclavo. Una vez desplazado todo el byte el generador de reloj para, actualizando el flag de final de transmisión. Si la interrupción correspondiente está activada, ésta se llevará a cabo. El maestro puede continuar enviando el siguiente byte escribiendo dentro de SPDR o establecer la señal de final de paquete colocando en alto la señal #SS. El último byte recibido será almacenado en Buffer para su posterior uso. Cuando se configura como esclavo el interfase SPI permanece durmiendo con la señal MISO en tri-estado mientras el pin #SS se encuentre en estado alto. En este estado

Page 20: 10. Comunicaciones - bibing.us.esbibing.us.es/proyectos/abreproy/40048/fichero... · 10. Comunicaciones 10.1. Comunicación RS232 Mediante UART El microcontrolador host atmega se

mediante software se puede actualizar el contenido del registro de datos SPI, SPDR, pero los datos no serán desplazados hasta que no se reciba una señal correcta de reloj y el pin #SS se coloque en bajo. Una vez que el byte ha sido completamente desplazado, el flag de final de transmisión SPIF es activado. Si la interrupción correspondiente está activada la rutina de servicio de interrupción se llevará a cabo. El esclavo podría recibir un nuevo dato antes de leer el que había recibido anteriormente. El último dato recibido se almacenará en el registro Buffer para su posterior uso. En la siguiente figura se puede observar el funcionamiento de los registros de desplazamiento tanto del maestro como del esclavo.

El sistema contiene un buffer en la dirección de transmisión y tiene dos en la dirección de recepción. Esto significa que los bytes transmitidos no pueden ser escritos en el registro de datos SPI antes que el ciclo entero de desplazamiento sea completado. Sin embargo cuando se reciben los datos, los caracteres recibidos deben ser leídos del registro de datos SPI antes que un nuevo carácter sea completamente desplazado. En cualquier otro caso el byte será perdido. FUNCIONALIDAD DEL PIN #SS MODO ESCLAVO Cuando la SPI se encuentra configurado como esclavo el pin #SS es siempre una entrada. Cuando dicho pin se coloca en bajo, el SPI se activa y el pin MISO pude hacerse salida si es configurado por el usuario. El resto de pines son entradas.

Cuando el pin es conducido a alto, todos los pines son entradas y el SPI es pasivo, lo cual significa que no puede recibir datos. Cuando el #SS es llevado a alto el SPI esclavo realiza un reset lógico y coloca parcialmente algún dato recibido en registro desplazamiento. MODO MAESTRO Si se configura el SPI como maestro se puede configurar la dirección del pin #SS como se quiera.

Page 21: 10. Comunicaciones - bibing.us.esbibing.us.es/proyectos/abreproy/40048/fichero... · 10. Comunicaciones 10.1. Comunicación RS232 Mediante UART El microcontrolador host atmega se

Si el pin es configurado como salida el funcionamiento de tal pin es como una pin de salida general del micro el cual se conectará con el otro pin #SS del esclavo. Si en cambio de configura como entrada hay que asegurarse de que ésta se encuentra en estado alto, para asegurar una correcta operación de SPI. Si estando configurado como entrada se coloca en bajo el SPI interpretará que otro maestro ha seleccionado el SPI como esclavo y comenzará a enviar datos.

10.2.3. Modos de Funcionamiento Existen cuatro combinaciones de fase y polaridad del reloj con respecto a la información serie, esto modos de funcionamiento son determinados por los bits de control CPHA y CPOL. Los formatos posibles son mostrados en la siguiente tabla:

Las siguientes figuras muestran el diagrama de tiempo de funcionamiento de la transferencia de información en los cuatro modos de funcionamiento-

� Con CPHA = 0

� Con CPHA = 1

Page 22: 10. Comunicaciones - bibing.us.esbibing.us.es/proyectos/abreproy/40048/fichero... · 10. Comunicaciones 10.1. Comunicación RS232 Mediante UART El microcontrolador host atmega se

10.2.4. Modos SPI de la Memoria La memoria puede manejarse mediante dos modos de funcionamiento con la interfase SPI, dependiendo de cómo estén configurados los bits CPOL y CPHA. La diferencia de funcionamiento entre los dos modos de funcionamiento se muestra en la figura a continuación y se refiere al estado de polaridad del reloj cuando el bus maestro se encuentra en estado de standby.

Como conclusión se puede ver que hay q configurar el modo de funcionamiento de ambos dispositivos de la misma forma con el objetivo de que la comunicación se realice de forma correcta.

10.3. Comunicación Sistema Bluetooth – Teléfono Móv il Nokia 6132NFC

Page 23: 10. Comunicaciones - bibing.us.esbibing.us.es/proyectos/abreproy/40048/fichero... · 10. Comunicaciones 10.1. Comunicación RS232 Mediante UART El microcontrolador host atmega se

Como ya es conocido para la comunicación con el Nokia 6132 NFC se utilizar el estándar de comunicación Bluetooth. En el capitulo dedicado a la especificación Bluetooth se vieron los distintos perfiles que se podían utilizar para realizar una comunicación Bluetooth y a su vez que protocolo se utilizaban en dichos perfiles para llevar a cabo la comunicación. Dentro de todos esos perfiles se ha utilizado el perfil serie para realizar la transmisión de información, es un perfil que como ya se ha comentado en capítulos anteriores permite emular un puerto serie utilizando como medio de transmisión Bluetooth. Esto quiere decir que la información llegará al receptor, es decir el teléfono móvil, de forma continua. En concreto el teléfono recibirá una cadena de caracteres que contendrá todo la información de interés para la aplicación que corre sobre el teléfono móvil.

El siguiente diagrama de flujo sirve para entender como se realiza los pasos para establecer la comunicación y enviar la información al teléfono móvil.

Page 24: 10. Comunicaciones - bibing.us.esbibing.us.es/proyectos/abreproy/40048/fichero... · 10. Comunicaciones 10.1. Comunicación RS232 Mediante UART El microcontrolador host atmega se

10.3.1. Establecimiento de la comunicación El establecimiento de la comunicación se realiza un vez que se ha recibido una llamada por parte del teléfono móvil, mediante software se comprueba que la llamada corresponde al teléfono móvil Nokia 6131 NFC, esta comprobación se realiza mediante comparación de la dirección Bluetooth del teléfono la cual de antemano es conocida por el sistema Bluetooth, con la dirección Bluetooth de dispositivo que ha realizado la llamada. En el caso que la dirección Bluetooth que se recibe no coincide con la del teléfono se cierra inmediatamente el canal de comunicación que se había abierto,

Esperando Llamada

Nokia 6131

NFC

Abrir Comunicación

Enviar Datos

Cerrar Comunicación

No

RING

Dirección Bluetooth BDADDR

Canal RFCOMM

1

Temperatura Batería

Registros Contadores

Close Link 1

Page 25: 10. Comunicaciones - bibing.us.esbibing.us.es/proyectos/abreproy/40048/fichero... · 10. Comunicaciones 10.1. Comunicación RS232 Mediante UART El microcontrolador host atmega se

volviendo el sistema al estado inicial de reposo en el que espera una nueva solicitud de comunicación.

10.3.2. Envío de Información Una vez establecida la comunicación el sistema Bluetooth envía la trama de caracteres por el canal de comunicación serie abierto, esto es un por un canal del protocolo RFCOMM que se abre cuando se establece la comunicación. En la siguiente figura se puede observar en que consiste la trama de información que se envía al teléfono:

En primer lugar se envían 4 bytes que corresponden con la medida de temperatura que mide el sensor que lleva incorporado el WT-11. Se utilizan cuatro bytes que corresponden 2 bytes al valor numérico de la temperatura con dos cifras y otros dos bytes para enviar los caracteres ºC. Un posible ejemplo para este campo sería 25ºC. A continuación se mandan 6 bytes, estos corresponden con el % de batería del sistema en el momento en el que se ha realizado la solicitud de comunicación. Los bytes corresponden 5 bytes para las cifras del % de batería con dos decimales más los caracteres de separación de las cifras enteras de los decimales y símbolo porcentual. Por ejemplo un posible valor para este campo sería 75,20%. Por último se envían los datos de los registros de las medidas de los contadores. La siguiente figura constituye lo que sería un registro de una media.

• El carácter ‘-‘corresponde a la indicación del comienzo del registro.

• El siguiente byte en el ejemplo 1, corresponde al número de sensor. Se tienen tres posibles sensores que corresponden a los tres concentradores de contadores, que se muestran en la siguiente tabla.

SENSORES

GRUPO 1 SAN DESIDERIO

Temperatura (4 Bytes)

Batería (6 Bytes)

Registro de los Contadores (n Bytes)

Page 26: 10. Comunicaciones - bibing.us.esbibing.us.es/proyectos/abreproy/40048/fichero... · 10. Comunicaciones 10.1. Comunicación RS232 Mediante UART El microcontrolador host atmega se

GRUPO 2 SAN LORENZO

GRUPO 3 SAN GIOBATTA

• El carácter ‘:’ sirve de separación para los campos de fecha e instante.

• La fecha se manda en formado “dd#mm#aaaa”, donde el carácter # sirve para

diferenciar los distintos subcampos que componen la fecha.

• En último lugar se envía el instante en formato “hh.mm”, en este caso se utiliza el carácter ‘*’ para diferenciar los subcampos.

El número de trama como la anterior que se envíen dependerá del número de

medida de los contadores.

10.3.3. Cierre de la comunicación El cierre de la comunicación lo realiza el sistema Bluetooth por medio del comando CLOSE 0, el cual cierra el canal RFCOMM que previamente se había abierto al recibir la llamada por parte del Nokia 6131 NFC.

10.4. Comunicación Sistema Bluetooth – Otras tarjet as Bluetooth. Como se explicara más adelante se han realizado pruebas de comunicación del Sistema Bluetooth diseñado con otras tarjetas Bluetooth las cuales son un PC portátil con Bluetooth incorporado u otra tarjeta de desarrollo del WT-11-

10.4.1. Establecimiento de la comunicación El establecimiento de la comunicación se realiza exactamente igual que el caso del móvil sólo que ahora se comprobará que la dirección Bluetooth de la solicitud recibida corresponde con unas de las tarjetas Bluetooth antes mencionadas.

10.4.2. Envío de Información En cuanto al envío de información es parecido sólo que los campos de la trama que se envía aumentan, enviando todos los posibles datos de la comunicación establecida que pueden resultar interesante al receptor. En la siguiente figura se observa la composición de la trama:

Page 27: 10. Comunicaciones - bibing.us.esbibing.us.es/proyectos/abreproy/40048/fichero... · 10. Comunicaciones 10.1. Comunicación RS232 Mediante UART El microcontrolador host atmega se

Como se puede observar el volumen de información que se transmite en estos casos es mayor. La información de los campos es la siguiente:

• BER, corresponde a la tasa de error de transmisión en %.

• TXPOWER, potencia de transmisión en dBm.

• RSSI, potencia de recepción en dBm.

• PING, relacionado con el tiempo de respuesta en ms.

• Lo otros campos son iguales que en el caso anterior.

10.4.3. Cierre de la comunicación Se realiza de la misma forma que en el caso anterior.