Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Comunicaciones PDF
Comunicaciones PDF
Comunicaciones
• 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.
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
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.
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.
• 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.
TXat RXwt
MASTER SLAVE
RXat TXwt
RTSat CTSwt
Atmega168p WT-11
CTSat RTSwt
CARACTERÍSTICAS GENERALES
Se pasa a describir los aspectos más generales de la USART que se encuentra
implementada en el microprocesador atmega168p.
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.
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.
P: Bit de paridad.
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.
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.
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.
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.
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.
REGISTROS DE LA USART
Se presenta un breve resumen de los registros utilizados y de sus características
de funcionamiento.
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.
Las señales DTR, DSR y DCD son implementadas mediante puertos de entrada
y salida de propósito general del WT-11.
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:
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.
En la siguiente tabla se muestra los valores de velocidad con los que se puede
configurar el dispositivo y sus correspondientes errores.
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.
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.1. Introducción
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.
• 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.
• Sólo funciona en las distancias cortas a diferencia de, por ejemplo, RS-232, RS-
485, o Bus CAN.
ESQUEMA
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.
CARACTERÍSTICAS GENERALES
Las principales características de la interfase SPI son:
• Configuración Maestro-Esclavo.
DIAGRAMA DE BLOQUES
En la siguiente figura se puede observar el diagrama de bloques que componen
la interfase.
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 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
Con CPHA = 0
Con CPHA = 1
10.2.4. Modos SPI de la Memoria
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.
Esperando
Llamada
RING
Dirección No
Bluetooth Nokia 6131
BDADDR NFC
Sì
Canal
RFCOMM Abrir
1 Comunicación
Temperatura
Batería Enviar
Registros Datos
Contadores
Close Cerrar
Comunicación
Link 1
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.
SENSORES
GRUPO 1 SAN DESIDERIO
GRUPO 2 SAN LORENZO
GRUPO 3 SAN GIOBATTA