Sie sind auf Seite 1von 20

UNIVERSIDAD NACIONAL DE SAN AGUSTN FACULTAD DE INGENIERA DE PRODUCCIN Y SERVICIOS ESCUELA PROFESIONAL DE INGENIERA INDUSTRIAL

AUTOMATIZACIN INDUSTRIAL PROYECTO FINAL DE AUTOMATIZACIN INDUSTRIAL

PRESENTADO POR: * * * * Ayamani Fernandez, Miguel Olazabal Flores, Edward Reinoso Oporto, Jaime Zuiga Paredes, Candy

DOCENTE: MSC. ELIO CRUZ SANTANDER Arequipa, Abril de 2009 CONTENIDO 1. NOMBRE DEL PROYECTO: 4 2. DESCRIPCIN DEL PROCESO 4 3. DESCRIPCIN DE LOS COMPONENTES 4 3.1. ACTUADOR 4 3.2. CONTROLADOR 4 4. DEFINICIN GENERAL DE LOS DISPOSITIVOS EL CAMPO 5 5. COMUNICACIN SERIE 7 6. ESPECIFICACIN Y SELECCIN DEL CONTROLADOR 16F84A 7. PROGRAMACIN DEL CONTROLADOR 8 8. PROGRAMACIN DEL PIC EN MATLAB 10 9. DIAGRAMA O CIRCUITO ELCTRICO 12 10. COMUNICACIN SERIE 14 10.1. Transmisin modulada en amplitud 14 10.2. Estndares con formato marca/espacio 15 10.3. Enlace TTL 15 10.4. Lazo de corriente 20mA 15 10.5. Interfaz TTL/20mA 17 10.6. RS232 18 10.7. Consideraciones En La Comunicacin Serie 10.8. Velocidad De Transmisin 18 10.9. La base de reloj 19 10.10. Lneas o canales de comunicacin 19

18

10.11. Modos de transmisin 20 10.12. La transmisin asncrona 20 10.13. Bit de inicio y bit de parada 21 10.14. Reglas de transmisin asncrona 22 Velocidad de transmisin 22 10.15. La transmisin sncrona 24 10.16. Detectar errores en la comunicacin 25 10.17. Generadores y detectores de paridad 25 10.18. Paridad par 26 10.19. Paridad impar 27 Mtodo checksum 30 Conversin serie/paralelo. 31 10.20. Conversin por software 31 11. LA TRANSMISIN DE DATOS 31 12. LA RECEPCIN DE DATOS 32 13. CONVERSIN POR HARDWARE 33 La sincronizacin de la recepcin 36 La norma RS232 37 Velocidad 38 Conectores 38 14. DESCRIPCIN DE TERMINALES EN RS232 39 Interfaz TTL-RS232 40 El MAX232 42 Interfaz TTL-RS232 sin MAX232 44 RS232 en el PC 44 Direcciones e IRQ de los puertos serie 46 15. CONECTOR SERIE DB25 47 16. CONECTOR SERIE DB9 48 17. ADAPTADOR DE 9 A 25 PATILLAS 50 18. TIPOS DE CONEXIONES CON DB9 51 Conexin del PC a una impresora serie 52 19. CONFIGURACIN DE LOS PUERTOS 53 20. COMPROBACIN DE LOS PUERTOS SERIE 54 Conexin de un microcontrolador al puerto serie del PC 55 21. CABLE DE CONEXIN 56 22. LECTURA DEL PUERTO SERIAL CON LABVIEW 57 23. ESCRITURA EN EL PUERTO SERIAL 63 24. DETERMINANDO SI LA CONEXIN COM SELECCIONADA ES LA CORRECTA

65

PROYECTO DE AUTOMATIZACIN INDUSTRIAL 1. NOMBRE DEL PROYECTO: CONTADOR AUTOMTICO DE OBJETOS Y/O ARTCULOS 2. DESCRIPCIN DEL PROCESO El proceso del siguiente control automtico se basa principalmente en el microcont rolador PIC 16f84A, el cual nos permite automatizar le proceso. El proceso consi ste en realizar un conteo de paquetes ya sean de 6 o 9 unidades, todo esto manip ulado con el Labview, cada vez que se cuenten estos pequeos lotes existe otro con tador que acumula la cantidad de lotes que estn pasando a travs de un sensor que t ransmite una seal y al ser interrumpida por el objeto hace posible su correspondi ente conteo. 3. DESCRIPCIN DE LOS COMPONENTES 3.1. ACTUADOR Como actuador principal para el proceso usamos un motor de 12 voltios de corrien te continua. 3.2. CONTROLADOR Como parte del proceso principal, el controlador est basado en el PIC 16F84A, que

es muy comercial y permite un manejo muy diverso, ya que este se puede progra mar de acuerdo a los requerimientos de los usuarios. 4. DEFINICIN GENERAL DE LOS DISPOSITIVOS EL CAMPO 1.1. Descripcin general del HMI

5. COMUNICACIN SERIE La informacin necesaria para la comunicacin serie lo podemos encontrar en el anexo . En el proyecto usamos los siguientes componentes para esta comunicacin: Cable DB9 Serie 6. ESPECIFICACIN Y SELECCIN DEL CONTROLADOR 16F84A Se trata de uno de los microcontroladores ms populares del mercado, ideal para pr incipiantes, debido a su arquitectura de 8 bits, 18 pines, y un set de instrucci ones RISC muy amigable para memorizar y fcil de entender, internamente consta de: * Memoria Flash de programa (1K x 14). * Memoria EEPROM de datos (64 x 8). * Memoria RAM (68 registros x 8). * Un temporizador/contador (timer de 8 bits). * Un divisor de frecuencia. * Varios puertos de entrada-salida (13 pines en dos puertos, 5 pines el puerto A y 8 pines el puerto B). Otras caractersticas son: * Manejo de interrupciones (de 4 fuentes). * Perro guardin (watchdog). * Bajo consumo. * Frecuencia de reloj externa mxima 10MHz. (Hasta 20MHz en nuevas versiones). La frecuencia de reloj interna es un cuarto de la externa, lo que significa que con un reloj de 20Mhz, el reloj interno sera de 5Mhz y as pues se ejecutan 5 Millones de Instrucciones por Segundo (5 MIPS) * No posee conversores analgicos-digital ni digital-analgicos. * Pipe-line de 2 etapas, 1 para bsqueda de instruccin y otra para la ejecucin de la instruccin (los saltos ocupan un ciclo ms). * Repertorio de instrucciones reducido (RISC), con tan solo 30 instrucciones dis tintas. * 4 tipos distintos de instrucciones, orientadas a byte, orientadas a bit, opera cin entre registros, de salto. En los ltimos aos se ha popularizado el uso de este microcontrolador debido a su b ajo coste y tamao. Se ha usado en numerosas aplicaciones, que van desde los automv iles a decodificadores de televisin. Es muy popular su uso por los aficionados a la robtica y electrnica. Puede ser programado tanto en lenguaje ensamblador como en Basic y principalment e en C, para el que existen numerosos compiladores. 7. PROGRAMACIN DEL CONTROLADOR Para programar el controlador se usaran dos programas: * MATLAB IDE 7.20 * ICE PROG 1.05

8. PROGRAMACIN DEL PIC EN MATLAB __CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC;configuracion para el grabador LIST P=16f84A INCLUDE<P16F84A.INC> CBLOCK 0x13 GuardaDato Contador ContadorDec Chequea Pitido ENDC ;ZONA DE CODIGOS*********************** ORG 0 Inicio call bsf movlw movwf bsf bsf bcf bcf clrf bcf call Principal btfsc goto movlw goto LeePuerto call Memoria andlw movwf ; call Antirebote btfsc goto call btfsc goto call RS232_Inicializa STATUS,RP0 b'00000000' PORTB PORTA,4 PORTA,1 PORTA,0 STATUS,RP0 ContadorDec PORTA,0 InicializaContador ;Procesador ;Definicion de los operandos utilizados

PORTA,1 LeePuerto d'10' Memoria RS232_LeeDato b'11111111' GuardaDato Retardo_200ms PORTA,2 Fin Retardo_20ms PORTA,2 Fin IncrementaVisualiza

DejarPulsar btfss PORTA,2 goto DejarPulsar Fin EnviarBytes movf ContadorDec,W call RS232_EnviaDato movf Contador,W call RS232_EnviaDato goto Principal IncrementaVisualiza bcf PORTA,0 incf Contador,F movf GuardaDato,W subwf Contador,W btfss STATUS,C goto Visualiza incf ContadorDec

InicializaContador clrf Contador bsf PORTA,0 Visualiza movf call ;clrf movwf movwf return Contador,W Numero_a_7Segmentos PORTB Chequea PORTB

INCLUDE<DISPLAY_7S.INC> INCLUDE<RETARDOS.INC> INCLUDE<RS232.INC> END 9. DIAGRAMA O CIRCUITO ELCTRICO

10. COMUNICACIN SERIE Cuando hablamos con alguien, en primer lugar llamamos su atencin y entonces se tr ansmite el mensaje, una palabra cada vez. Cuando terminamos, realizamos una paus a para indicar que hemos concludo. Lo mismo se cumple con la lectura o la escritu ra, se comienza una oracin con la letra mayscula, y lee o escribe una palabra cada vez, con intervalos de cierto perodo. Estas formas de comunicacin humanas son ser ie, no paralelas. Los sistemas microprogramables basados en CPU internamente estn diseados para la trans ferencia de datos en buses o lneas de 8 bits o mltiplos de 8. As el bus de datos es t optimizado para el tratamiento de datos en paralelo lo cual es mucho ms rpido que

el tratamiento serie. Si la velocidad de transferencia de datos en paralelo es mucho ms rpida, porqu se uti a la transmisin de datos serie?. Algunas respuestan se dan a continuacin: 1. Para realizar la comunicacin de datos en paralelo se requiere gran cantidad de hilos conductores, pues debe ser establecido un hilo para cada bit de datos, ad ems de las seales de control. Esto encarece notablemente la comunicacin en funcin de la distancia. La comunicacin serie requiere 2, 3 4 hilos. 2. Una entrada salida/serie puede ser transmitida a travs de pares de cobre, cabl e coaxial, fibra ptica, va rdio o va satlite, lo que proporciona comunicacin con equip os remotos (redes locales) o muy remotos (Internet a travs de las redes telefnicas y de datos). 3. La comunicacin paralelo no posee el alto grado de estandarizacin que ha alcanza do la comunicacin serie, lo que permite la intercominicacin entre equipos, por eje mplo mediante RS232, USB o FireWire. 10.1. Transmisin modulada en amplitud Dentro de las mltiples posibilidades existentes nos centraremos en la comunicacin seri e a travs de la interpretacin de dos niveles lgicos de tensin o corriente denominado formato marca/espacio. El nivel lgico "1" representa un estado de tensin o corriente denominado marca, el niv el lgico "0" representa un estado de tensin o corriente denominado espacio. 10.2. Estndares con formato marca/espacio Existen varios estandares que usan el formato marca/espacio, de los que nos interesa n: * TTL * Lazo de corriente de 20mA * RS232 Niveles para cada estndar. 10.3.mAa20 mATTL"1" (Marca) +3V -3V RS 20 Lazo +15V 0 5V Enlace TTL232C Nivel -15V mA Lgico "0" (Espacio) 10.4. Lazo de corriente 20mA El lazo de corriente de 20 mA es usado para transmitir datos hasta 1609m (1 milla). Para este tipo de interfaz la seal del sistema de datos debe ser convertida a 20m A para ser aceptada por el perifrico. Una forma barata de convertir TTL a 20 mA es usando optoacopladores. Un optoacoplador consiste en un led y un fototransistor los cuales, unidos, trabajan como un rle. Cuando la seal de entrada polariza en directo al led, la luz emitida por el diodo provoca que el transistor conduzca. Como no existe conexin electric a entre el diodo y el transistor, se obtiene un aislamiento elctrico entre el tra nsmisor y el receptor, que es otra ventaja de este tipo de interfaz.

10.5. Interfaz TTL/20mA En la siguiente figura se muestra como obtener la interfaz TTL/20mA a travs de un opt oacoplador con una linea transmisora y otra receptora. La lnea transmisora TXD provee los niveles TTL (0/5V). Un nivel lgico "1" (5V) en TXD ser invertido a 0V por el 7414 (un inversor trigger schmitt usado para proveer me jor inmunidad al rudo en el circuto); este nivel, aplicado al ctodo del led provoca que conduzca, emitiendo luz infrarroja a la base del fototransistor. Ello provo ca que el fototransistor pueda conducir. Si un "0" lgico aparece en TXD se aplica rn 5 voltios al ctodo del led y no conducir, manteniendo el fototransistor en corte y comportndose como un circuito abierto (se abre el lazo de corriente). Es impor tante notar que el fototransistor no suministra los 20mA , este se comporta solo como un interruptor que cerrado permite que la corriente fluya y abierto impide el paso de corriente. Cuando 20 mA, o un "1" lgico, es aplicado al optoacoplador de la parte inferior de la

figura, el fototransistor conduce y aplica un nivel "0" a la entrada inversora, el cual colocar un "1" lgico en la entrada de la lnea receptora RXD. Si no fluye c orriente en el lazo, el fototransistor estar al corte y +5V se aplicarn a la entra da inversora por la resistencia de 470 ohm a positivo (en pull-up). El inversor colocar en "0" lgico en RXD, la entrada a la lnea receptora. 10.6. RS232 Es una de las normas ms populares empleadas en la comunicacin serie (su insercin en el PC incremento su popularidad). Fue desarrollada en la dcada de los 60 para gobern ar la interconexin de terminales y MODEM. Est patrocinada por la EIA (Asociacin de Industrias Elctricas). Dado su inters se ver con mas profundidad mas adelante en la norma RS232 10.7. Consideraciones En La Comunicacin Serie Cuando se transmite informacin a travs de una lnea serie es necesario utilizar un sist ma de codificacin que permita resolver los siguientes problemas : 1. Sincronizacin de bits: El receptor necesita saber donde comienza y donde termi na cada bit en la seal recibida para efectuar el muestreo de la misma en el centr o del intervalo de cada smbolo (bit para seales binarias). 2. Sincronizacin del carcter: La informacin serie se transmite por definicin bit a b it, pero la misma tiene sentido en palabras o bytes. 3. Sincronizacin del mensaje: Es necesario conocer el inicio y fin de una cadena de caracteres por parte del receptor para, por ejemplo, detectar algn error en la comunicacin de un mensaje. 10.8. Velocidad De Transmisin La velocidad de transmisin de datos es expresada en bits por segundo o baudios. El ba udio es un concepto ms general que bit por segundo. El primero queda definido com o el nmero de estados de la seal por segundo, si slo existe dos estados (que pueden ser representados por un bit, que identifica dos unidades de informacin) entonce s baudio es equivalente a bit por segundo. Baudio y bit por segundo se diferenci an cuando es necesario ms de un bit para representar ms de dos estados de la seal. La velocidad de transmisin queda limitada por el ancho de banda, potencia de seal y ru ido en el conductor de seal. La velocidad de transmisin queda bsicamente establecid a por el reloj. Su misin es examinar o muestrear continuamente la lnea para detect ar la presencia o ausencia de los niveles de seal ya predefinidos. El reloj sincr oniza adems todos los componentes internos. 10.9. La base de reloj Cuando se establece la comunicacin es necesario implementar una base de tiempo que co ntrole la velocidad. En un microcontrolador, se utilizara la base de tiempos del reloj del sistema, si bien, en trminos genricos se utilizara uno de los siguientes mtodos: a. Mediante la divisin de la base de reloj del sistema. por ejemplo mesiante un c ontador temporizador programable. b. A travs de un oscilador TTL. Para cambiar frecuencia hay que cambiar el crista l. c. Generador de razn de baudios. Existen diferentes dispositivos especializados q ue generan diferentes frecuencias de reloj. 10.10. Lneas o canales de comunicacin Se pueden establecer canales para la comunicacin de acuerdo a tres tcnicas, siempre ta mando al microprocesador o microcontrolador como referencia (transmisor) y al pe rifrico como destino (receptor): a. Simplex b. Semi duplex (Half duplex) c. Totalmente duplex (Full duplex) Simplex: En ella la comunicacin serie usa una direccin y una lnea de comunicacin. Sie e existir un transmisor y un receptor, no ambos. La ventaja de este sistema consiste en que es necesario slo un enlace a dos hilos. La desventaja radica en que el extremo receptor no tiene ninguna forma de avisar al extremo transmisor sobre su estado y sobre la calidad de la informacin que se rec ibe. Esta es la razn por la cual, generalmente, no se utiliza. Semi duplex: La comunicacin serie se establece a travs de una sla lnea, pero en ambos ntidos. En un momento el transmisor enviar informacin y en otro recibir, por lo que

no se puede transferir informacin en ambos sentidos de forma simultnea . Este modo permite la transmisin desde el extremo receptor de la informacin, sobre el e stado de dicho receptor y sobre la calidad de la informacin recibida por lo que p ermite as la realizacin de procedimientos de deteccin y correccin de errores. Full duplex: Se utilizan dos lneas (una transmisora y otra receptora) y se transfiere informacin en ambos sentidos. La ventaja de este mtodo es que se puede transmitir y recibir informacin de manera simultnea. La mayora de los dispositivos especializados para la comunicacin pueden transferir inf ormacin tanto en full duplex como en half duplex (el modo simplex es un caso espe cial dentro de half duplex). 10.11. Modos de transmisin Existen dos modos bsicos para realizar la transmisin de datos y son: * Modo asncrono. * Modo sncrono. Las transmisiones asncronas son aquellas en que los bits que constituyen el cdigo de u n caracter se emiten con la ayuda de impulsos suplementarios que permiten manten er en sincronismo los dos extremos. En las transmisiones sncronas los caracteres se transmiten consecutivamente, no exist iendo ni bit de inicio ni bit de parada entre los caracteres, estando dividida l a corriente de caracteres en bloques, envindose una secuencia de sincronizacin al inicio de cada bloque. 10.12. La transmisin asncrona Cuando se opera en modo asncrono no existe una lnea de reloj comn que establezca la du acin de un bit y el caracter puede ser enviado en cualquier momento. Esto conllev a que cada dispositivo tiene su propio reloj y que previamente se ha acordado qu e ambos dispositivos transmitirn datos a la misma velocidad. No obstante, en un sistema digital, un reloj es normalmente utilizado para sincroniz ar la transferencia de datos entre las diferentes partes del sistema. El reloj d efinir el inicio y fin de cada unidad de informacin as como la velocidad de transmi sin. Si no existe reloj comn, algn modo debe ser utilizado para sincronizar el mens aje. En realidad, la frecuencia con que el reloj muestrea la lnea de comunicacin es mucho m ayor que la cadencia con que llegan los datos. Por ejemplo, si los datos estn lle gando a una cadencia de 2400 bps, el reloj examinar la lnea unas 19200 veces por s egundo, es decir, ocho veces la cadencia binaria. La gran rapidez con que el rel oj muestrea la lnea, permite al dispositivo receptor detectar una transmisin de 1 a 0 o de 0 a 1 muy rpidamente, y mantener as la mejor sincronizacin entre los dispo sitivos emisor y receptor. El tiempo por bit en una lnea en que se transfiere la informacin a 2400 bps es de unos 416 microsegundos (1 seg/2400). Una frecuencia de muestreo de 2400 veces por se gundo nos permitir muestrear el principio o el final del bit. En ambos casos dete ctaremos el bit, sin embargo, no es extrao que la seal cambie ligeramente, y perma nezca la lnea con una duracin un poco ms larga o ms corta de lo normal. Por todo ell o, una frecuencia de muestreo lenta no sera capaz de detectar el cambio de estado de la seal a su debido tiempo, y esto dara lugar a que la estacin terminal no reci biera los bits correctamente. 10.13. Bit de inicio y bit de parada En la transmisin asncrona un carcter a transmitir es encuadrado con un indicador de in cio y fin de carcter, de la misma forma que se separa una palabra con una letra m ayscula y un espacio en una oracin. La forma estndar de encuadrar un carcter es a tr avs de un bit de inicio y un bit de parada. Durante el intervalo de tiempo en que no son transferidos caracteres, el canal debe poseer un "1" lgico. Al bit de parada se le asigna tambin un "1". Al bit de inicio del carcter a transmitir se le asigna un "0". Por todo lo anterior, un cambio de nivel de "1" a "0" lgico le indicar al receptor que un nuevo carcter ser transmitid o. 10.14. Reglas de transmisin asncrona La transmisin asncrona que vamos a ver es la definida por la norma RS232, en la que pr ofundizaremos ms adelante y que se basa en las siguientes reglas:

a. Cuando no se envan datos por la lnea, sta se mantiene en estado alto (1). b. Cuando se desea transmitir un carcter, se enva primero un bit de inicio que pon e la lnea a estado bajo (0) durante el tiempo de un bit. c. Durante la transmisin, si la lnea est a nivel bajo, se enva un 0 y si est a nivel alto se enva un 1. d. A continuacin se envan todos los bits del mensaje a transmitir con los interval os que marca el reloj de transmisin. Por convenio se transmiten entre 5 y 8 bits.

e. Se enva primero el bit menos significativo, siendo el ms significativo el ltimo en enviarse. f. A continuacin del ltimo bit del mensaje se enva el bit (o los bits) del final qu e hace que la lnea se ponga a 1 por lo menos durante el tiempo mnimo de un bit. Es tos bits pueden ser un bit de paridad para detectar errores y el bit o bits de s top, que indican el fin de la transmisin de un carcter. Los datos codificados por esta regla, pueden ser recibidos siguiendo los pasos sigui entes: a. Esperar la transicin 1 a 0 en la seal recibida. b. Activar el reloj con una frecuencia igual a la del transmisor. c. Muestrear la seal recibida al ritmo de ese reloj para formar el mensaje. d. Leer un bit ms de la lnea y comprobar si es 1 para confirmar que no ha habido e rror en la sincronizacin. Velocidad de transmisin En la transmisin asncrona por cada caracter se enva al menos 1 bit de inicio y 1 bit d parada as como opcionalmente 1 bit de paridad. Esta es la razn de que los baudios no se correspondan con el nmero de bits de datos que son transmitidos.

Ejemplo: Determinar cuntos bits de datos y caracteres son transmitidos de manera asncrona en 1 segundo si se transmite a una velocidad de 2400 baudios con 1 bit de inicio, 2 b its de parada, 1 bit de paridad y 6 bits de datos por caracter: Para transmitir un caracter se necesitar: 1 bit inicio + 6 bits datos + 1 bit paridad + 2 bits parada =10 bits. Como la velocidad de transmisin es 2400 baudios y cada caracter consume 10 bits, se t ransmitirn 240 caracteres por segundo (2400/10). Como cada caracter posee 6 bits de datos sern transmitidos 240 * 6 = 1440 bits de datos por segundo. La caracterstica fundamental del formato de transmisin asncrono es su capacidad de man jar datos en tiempo real, con un intervalo de longitud arbitraria entre caracter es sucesivos. Al final de cada caracter, la lnea va a 1 en el bit de parada y per manece en ese estado durante un nmero arbitrario de bits ociosos. El inicio del n uevo caracter estar definido por la transicin a 0 del bit de inicio. En la siguiente figura se muestra la mayor velocidad asncrona posible con el bit de p aridad.

10.15. La transmisin sncrona Es un mtodo ms eficiente de comunicacin en cuanto a velocidad de transmisin. Ello vie dado porque no existe ningn tipo de informacin adicional entre los caracteres a se r transmitidos. Cuando se transmite de manera sncrona lo primero que se enva es un octeto de sincronis mo ("sync"). El octeto de sincronismo realiza la misma funcin que el bit de inici o en la transmisin asncrona, indicando al receptor que va ha ser enviado un mensaj e. Este carater, adems, utiliza la seal local de reloj para determinar cundo y con qu frecuencia ser muestreada la seal, es decir, permite sincronizar los relojes de los dispositivos transmisor y receptor. La mayora de los dispositivos de comunica cin llevan a cabo una resincronizacin contra posibles desviaciones del reloj, cada uno o dos segundos, insertando para ello caracteres del tipo "sync" peridicament e dentro del mensaje. Los carcteres de sincronismo deben diferenciarse de los datos del usuario para permit ir al receptor detectar los caracteres "sync". Por ejemplo, el cdigo ASCII utiliz

a el octeto 10010110. Existen ocasiones en que son definidos dos caracteres de sincronismo, ello puede ser necesario si, por cualquier motivo el caracter "sync" original se desvirtuara, el siguiente permitir la reinicializacin del receptor. En segundo lugar, puede ocu rrir que el equipo receptor necesite un tiempo adicional para adaptarse a la seal entrante. Cuando se transmite de forma sncrona, es necesario mantener el sincronismo entre el t rasnmisor y el receptor cuando no se envan caracteres, para ello son insertados c aracteres de sincronismo de manera automtica por el dispositivo que realiza la co municacin.

El receptor/transmisor sncrono debe indicar adems cundo el sincronismo ha sido logrado por parte del receptor. 10.16. Detectar errores en la comunicacin Cuando se escriben o se envan datos, pueden producirse errores, entre otras cosas, po r ruidos inducidos en las lneas de transmisin de datos. Es por tanto necesario com probar la integridad de los datos transmitidos mediante algn mtodo que permita det ermina sis se ha producido un error. En un caso tpico, si al transmitirse un mensaje se determina que se ha producido un e rror, el receptor solicita de nuevo el mensaje al emisor. Se pueden detectar errores de acuerdo a la forma de transmisin: 1. Transmisin asncrona: a. Paridad. b. Sobre escritura. c. Error de encuadre (framing). 2. Transmisin sncrona: a. Paridad. b. Sobre escritura. 10.17. Generadores y detectores de paridad Como un error en una transmisin serie solamente suele afectar a un bit, uno de los mto dos ms comunes para detectar errores es el control de la paridad. El control de paridad consiste en aadir un bit, denominado de paridad, a los datos qu e se envan o escriben. La paridad puede ser par o impar. 10.18. Paridad par El bit de paridad ser cero, cuando el nmero de bit "unos" que contienen los datos a tr ansmitir sea un nmero par, y el bit de paridad ser uno cuando los datos que se man dan contienen un nmero impar de unos. La suma de los bits que son unos, contando datos y bit de paridad dar siempre como re 0 0101 0000 1 0000 0101 Paridad Dato 0001 sultado un nmero par de unos. En las siguientes figuras se muestra como se puede realizar un generador de paridad y un detector de paridad con puertas lgicas or-exclusivas (EXOR). 10.19. Paridad impar En el sistema de paridad impar, el nmero de unos (datos + paridad) siempre debe ser i 1 0101 0000 0 0000 0101 Paridad Dato 0001 mpar. Ejemplo: Se quieren transmitir los datos C3H y 43H con paridad impar. * C3H = 1100 0011 * 43H = 0100 0011 C3H tiene un nmero par de unos, por lo que el bit de paridad a insertar debe ser 1 pa ra que se cumpla que el nmero de unos (datos + paridad) siempre debe ser impar: 43HDE PARIDADnmero impar de unos, por lo que el bit de paridad a insertar debe ser 0 5 0 1 BIT D7 D6 D5 D4 D3 D2 D1 tiene D0"unos" un para que se cumpla que el nmero de unos (datos + paridad) siempre debe ser impar: La DE PARIDADde transmisin se muestra en la figura siguiente. 3 0 1 BIT D7 D6 D5 D4 D3 D2 D1 secuencia D0"unos"

Supongamos que se comete un error en la recepcin de 43H en la posicin ms significativa (D7). Esto significa que se ha recibido el caracter C3H (bit MSB complementado), el receptor discrimina este error al recibir un nmero par de unos (bit D0, D1, D 6, D7 y paridad):

Como fue definida paridad impar, se detecta el error pues deberia haber un nmero impa 4 "1" 0 1 BIT D7 D6 D5 D4 D3 D2 D1 DE PARIDAD D0"unos" r de unos y hay cuatro. Como respuesta a la deteccin el sistema podra solicitar la transmisin de este caracter nuevamente. Por ltimo, y considerndo lo anterior, indicar que el mtodo de deteccin de errores med te paridad slo es vlido cuando falla un bit, si por ejemplo fallan dos, no se dete ctar el error. Mtodo checksum Puede existir el caso en que, por ejemplo, se alteren dos bits en un caracter transm itido y si se ha implementado la comprobacin de paridad, el error no ser detectado . Existen otros mtodos de deteccin de errores como son la comprobacin de redundancia cc a (CRC) y la comprobacin de suma (checksum). Por su simplicidad, ser abordado el mt odo checksum. El mtodo checksum puede ser utilizado tanto en la transmisin sncrona como en la asncr . Se basa en la transmisin, al final del mensaje, de un byte (o bytes) cuyo valor sea el complemento a dos de la suma de todos los carcteres que han sido transmit idos en el mensaje. El receptor implementar una rutina que suma todos los bytes d e datos recibidos y al resultado se le sumar el ltimo byte (que posee la informacin en complemento a dos de la suma de los caracteres transmitidos) y si la recepcin del mensaje ha sido correcta, el resultado debe ser cero. Ejemplo: Indicar el ltimo caracter a transmitir cuando se implementa el mtodo de checksum. Los datos a transmitir sern 40H, 35H y 0EH. Se realiza la suma: 40H + 35H + 0EH = 83H Ahora se determina el complemento a dos del resultado: 83H = 1000 0011 0111 1100 + 1 ------------0111 1101 = 7DH El ltimo carcter a transmitir ser 7DH. Conversin serie/paralelo. Como un sistema microprogramable basado en CPU es un dispositivo que inherentemente maneja los datos de forma paralela, debe realizarse una conversin para obtener el formato de datos serie que requiere los dispositivos perifricos que pueda tener conectados a travs de la comunicacin serie. Existen dos formas en se pueden implementar la conversin serie/paralelo. Esta puede s er conversin por software y conversin por hardware. 10.20. Conversin por software Para este mtodo es necesario utilizar un terminal de salida de un puerto conectado al microprocesador o una patilla del microcontrolador. De la misma manera para la recepcin se necesitar un terminal de entrada. A modo de ejemplo en la siguiente figura se muestra la utilizacin de un microcontrola dor PIC donde RA0 se utilizar como salida (transmisor) y RA1 como entrada (recept or). El modo de transmisin ser asncrono. Como ejemplo se implementar una rutina de conversin para la comunicacin asncrona con it de inicio y 2 bits de parada con una velocidad de 300 bauds. 11. LA TRANSMISIN DE DATOS Debe realizarse una rutina que permita la transmisin de datos por la patilla RA0 del microcontrolador. La rutina de transmisin puede ser llamada por interrupcin, cada vez que un dato serie quiera ser transmitido o por que se establezca en una o varias partes del flujo del programa que ejecuta el microcontrolador. Se asumir que sern transmitidos 11 bits. Un bit de inicio, 8 bits de datos y 2 bits de parada. Se asumir que los 8 bits a transmitir estarn en el registro de trabajo o acumulador y que la frecuencia de transmisin ser de 300 baudios. La rutina debe en primer lugar colocar la lnea a cero (que debe previamente estar en "1") durante el tiempo de un bit para establecer el bit de inicio, posteriorment

e el acumulador ser enviado a puerto RA0, lo que transmitir el bit menos significa tivo de datos a travs de RA0. Despus de un tiempo equivalente a la duracin de 1 bit, un contador debe ser establecid o para controlar el nmero de veces que el acumulador debe ser rotado a la derecha para transmitir cada bit, el acumulador es entonces rotado a la derecha y se en via a RA0 su contenido para transmitir el segundo bit de dato. El bit a ser tran smitido estar siempre en el bit menos significativo del acumulador. El procedimie nto de rotacin y demora ser repetido hasta que los 8 bits de datos sean transmitid os, finalmente la lnea (RA0) ser colocada a 1 lgico durante el tiempo de dos bits. 12. LA RECEPCIN DE DATOS Una rutina de recepcin por software puede ser llamada cada un milisegundo para detect ar la presencia de un bit de inicio, o por interrupcin. La rutina lee la entrada RA1 y monitoriza su estado. Si el valor en RA1 es "1", se debe retornar al progr ama principal, si es "0", es indicador de la presencia de un bit de inicio y se deber comenzar el ensamblaje del carcter que est transmitiendo el perifrico remoto. Cuando el bit de inicio es detectado, se espera el intervalo de tiempo equiva lente a la duracin de 1/2 bit para comprobar nuevamente la entrada RA1, esto se r ealiza para asegurar el muestreo del bit de inicio en el centro de su intervalo y evitar iniciar la recepcin cuando el "0" haya sido provocado por ruidos en la ln ea. Para obtener el tiempo de 1/2 bit se tiene en consideracin la frecuencia de t ransmisin. La duracin de un simbolo a transmitir a 300 bauds ser 1/300 de segundo, o lo que es lo mismo 3,33 mseg; por ello la duracin de 1/2 bit ser de 1,667 mseg. Despus de haberse asegurado la presencia del bit de inicio, se espera el tiempo de du racin de 1 bit para encuestar la primera unidad de informacin del dato a recibir e n la mitad de su intervalo. Posteriormente, un contador es establecido con el nme ro de bits de datos que sern recibidos, el cual decrementar con cada bit recibido. El bit ledo en PA1 pasa al acumulador y se rota a la izguierda a travs del acarreo, po steriormente se realiza una rotacin a la derecha con el acarreo al registro donde debe almacenarse el resultado de la recepcin. Esta operacin de doble rotacin permi te que un bit sea recibido sin que el bit previo sea destrudo. El acarreo acta com o almacenador intermedio entre el acumulador y el registro. Despus que el primer bit de dato es recibido, el contador ser decrementado despus de u a demora de un bit, que permitir comprobar el prximo bit de dato a recibir en la m itad del intervalo. Este proceso contina hasta que los 8 bits de datos queden alm acenados en el registro. Cuando el proceso se ha completado, el primer bit recib ido estar almacenado en el bit menos significativo del registro y el ltimo dato en el bit ms significativo del registro. Despus de que los bits de datos han sido recibidos, el programa debe chequear los bit s de parada. Para ello el valor presente en RA1 ser rotado dos veces a la izquier da con acarreo, si en algn momento el acarreo no vale "1", habr existido un error de encuadre (framing) y deber ser abortada la recepcin. Si los dos bits estn presen tes, el dato presente en el registro debe ser salvado por el microcontrolador y retornar al programa principal. A rutina se le puede aadir una seccin que compruebe un bit de paridad. Despus de acept r los 8 datos, se puede tomar un noveno (con informacin de paridad) y comprobar s u estado de manera tal que si es detectada una paridad incorrecta, sea generado un mensaje de error y el dato se ignore. La ventaja de la conversin por software es la simplicidad en el hardware. La desventa ja radica en que existe una prdida en la eficiencia del trabajo del sistema por e l tiempo que se debe tomar en la ejecucin de estas rutinas. Tambin la velocidad de transmisin puede quedar comprometida. Por todo ello, en la mayora de los sistemas la conversin serie/paralelo es implementada en trminos de hardware. 13. CONVERSIN POR HARDWARE Como puede ser apreciado en la conversin por software, el algortmose se basa simplemen te en operaciones de rotacin o desplazamiento de registros. Los elementos que per miten la conversin por hardware se basan en registros de desplazamiento. Existen tres tipos de dispositivos que permiten la conversin serie/paralelo: a. El receptor/transmisor asncrono universal (UART): usado en la transmisin serie asncrona. b. El receptor/transmisor sncrono universal (USRT): usado en la transmisin serie sn

crona, usado en la transmisin a alta velocidad. c. El receptor/transmisor sncrono/asncrono universal (USART): permite la comunicac in serie de forma tanto asncrona como sncrona. La estructura interna de estos dispositivos puede ser funcionalmente dividida en tre s secciones: seccin de transmisin, seccin de recepcin y seccin de estado/control. Est a estructura se muestra en la siguiente figura.

Los datos paralelos a ser convertidos por la seccin de transmisin entran al registro b uffer y son transferidos al registro para la transmisin de datos. Los datos son d esplazados a la salida a travs de la lnea de salida serie a una velocidad determin ada por el reloj y la seccin de control. Los bits de inicio, parada y bit de pari dad sern aadidos automticamente por la UART. Los datos a ser convertidos en paralelo entrarn a travs de la lnea de entrada serie al registro para la recepcin de datos. Los datos serie sern desplazados en este regis tro a una razn determinada por el reloj del receptor y la seccin de control. Los b its de inicio y de parada sern discriminados de los datos asncronos recibidos y la palabra recibida ser transferida al registro buffer de salida paralelo. La seccin de estado/control no slo controla la razn de transmisin/recepcin, sta gen errupcin, comprueba paridad, determina el nmero de bits de parada, comprueba el er ror de encuadre, etc. Existen microcontroladores que incluyen internamente la circuiteria equivalente a un a UART, lo que proporciona una mayor eficacia pues el programa se libera de la n ecesidad de inplementar la conversin serie/paralelo y la deteccin de errores. Tambin existen UART en circuitos integrados para ser enlazados a un microprocesador. Este dispositivo implementa la conversin asncrona paralelo/serie para convertir el formato de palabra que maneja el microprocesador y el formato de datos usado en la transmisin serie. A la UART se le deben especificar varios parmetros: a. Bits de datos por caracter (usualmente de 5 a 8). b. Bits de parada (1, 1,5 y 2). c. Bit de paridad, para utilizar su capacidad de deteccin de error. d. Velocidad de transmisin. La UART comprueba de manera automtica cuando debe ocurrir la sincronizacin del bit de parada. Si en este momento es detectado un 0, un bit de estado (error de encuadr e o framming error) se activar. El sistema podr leer el estado de este bit despus d e la lectura de cada caracter y determinar que hacer. Otro tipo de error que comprueba el UART es el error de paridad, si es includo en el protocolo de comunicacin. Cuando se inserta la generacin/comprobacin de paridad la UART inserta (despus de los bits de datos) un bit adicional, el cul se obtiene rea lizndo una operacin lgica OR exclusiva con los bits de datos que han sido transmiti dos dar como resultado un 1 (paridad impar) o en 0 (paridad par). Por ejemplo, si es establecida la paridad impar el transmisor insertar un bit de paridad de form a tal que el nmero de unos de los bits de datos ms el bit de paridad sea una canti dad siempre impar. El error de sobreescritura (overwrite) La UART presenta una estructura interna con doble buffer, ello le permite tener un c aracter almacenado en el registro almacenador (buffer) de la recepcin mientras qu e el registro de desplazamiento serie paralelo contina ensamblando un nuevo carac ter. Cuando el registro almacenador posee un dato, se le indica al sistema que controla l a UART, por ejemplo un microprocesador, que debe leer el caracter que ha ensambl ado. Esto el microprocesador debe realizarlo antes de que el registro serie/para lelo ensamble un nuevo caracter (por ejemplo el tiempo que la UART en ensamblar un dato es de aproximadamente 1 mseg a 9600 baudios). Si el microprocesador no l ee el dato antes de que se ensamble el prximo caracter, se perder la informacin del caracter previo, pues el nuevo que ha sido enlazado ocupar su lugar en el regist ro buffer receptor. Cuando esto ocurre se produce un error de sobreescritura (ov erwrite), convenientemente indicado por el UART a travs de un bit de la palabra d e estado. La sincronizacin de la recepcin

Para realizar la sincronizacin del dato recibido se debe comprobar el bit en la mitad del intervalo del tiempo que dura para evitar la lectura de falsas transiciones producto del ruido en la lnea. Para la sincronizacin se utiliza un reloj externo de perodo TC que cumple la relacin: Td = K * Tc , donde K, generalmente, toma el valor 16. Td es el tiempo de duracin de cualquier bit de datos transmitidos, bit de paridad, bi t de parada o bit de inicio. Para lograr la sincronizacin entre el transmisor y el receptor tanto Tc como K deben ser el mismo para ambos, ello permitir que el bit de datos se compruebe en el mom ento preciso sin necesidad de conectar una lnea adicional de reloj para lograr el sincronismo. A continuacin vamos a ver como se sincroniza el dato en una transmisin asncrona. En la figura siguiente se observa como despus de detectado el bit de inicio y transcu rridas 8 transiciones de reloj, ha transcurrido un tiempo igual a la mitad del b it de informacin que establece el inicio de la recepcin de un nuevo caracter. A pa rtir de ese tiempo se leern los datos cada 16 pulsos de reloj. Esto permite comprobar la informacin en la mitad del intervalo de cada bit de informa cin.

La norma RS232 Como antes se adelant, la norma RS232 es una de las ms populares que se utilizan en la comunicacin serie, y es la que se utiliza en los PC's, si bien hoy da est ampliame nte superada por la transmisin serei a travs de USB, de manera que est remitiendo s u uso (por ejemplo, ya no se implementa en ordenadores porttiles). Se desarroll en la dcada de los 60 para gobernar la interconexin de terminales y MODEM. La norma RS232 resuelve tres aspectos en la comunicacin que se establece entre el DTE , Equipo Terminal de Datos, por ejemplo un PC y el DCE, Equipo para la comunicac ion de datos, por ejemplo un ratn: 1. Caractersticas elctricas de la seal: Se establece que la longitud mxima entre el DTE y el DCE no debe ser superior a los 15 metros y la velocidad mxima de transmi sin es de 20.000 bps. Los niveles lgicos no son compatibles TTL, considerando: a. 1 lgico entre -3V y -15V b. 0 lgico entre +3V y +15V 2. Caractersticas mecnicas de los conectores: Se utiliza un conector 25 patillas, DB 25, o de 9 patillas, DB 9, donde el conector macho identifica al DTE y el con ector hembra al DCE. 3. Descripcin funcional de las seales usadas: Las seales estn bsicamente divididas en dos grupos: a. Seales primarias, que son normalmente utilizadas para la transferencias de dat os b. Seales secundarias, utilizadas para el control de la informacin que ser transfer ida. La norma RS232 est definida tanto para la transmisin sncrona como para la asncrona, p cuando se utiliza esta ltima, slo un conjunto de terminales (de los 25), es utili zado. Velocidad La velocidad est estandarizada segn la norma RS 232C en baudios: a. 75 b. 110 c. 150 d. 300 e. 600 f. 1200 g. 2400 h. 4800 i. 9600 j. 19200 Conectores DB25 patillas macho y hembra

DB9 patillas4 macho y hembra Ambos conectores son totalmente compatibles entre s y existen adaptadores para pasar de un conector a otro 14. DESCRIPCIN DE TERMINALES EN RS232 Para ilustrar mejor el significado de cada terminal, consideremos a modo de ejemplo que el DTE podra ser un PC y el DCE un ratn. Se considerar el terminal DB25. Ms adel ante, en RS232 en el PC se volver al tema de los conectores. * TXD (Transmit Data, transmisin de datos, salida, pat. 2): Seales de datos que se transmiten del DTE al DCE. En principio, los datos no se pueden transmitir si a lguno de los terminales RTS, CTS, DSR DTR est desactivado. * RXD (Receive Data, recepcin de datos, entrada, pat. 3): Seales de datos transmit idos desde el DCE al DTE. * DTR (Data Terminal Ready, terminal de datos preparado, salida, pat. 20): Seal d el DTE que indica que est conectado, generalmente en "0" indica que el DTE est lis to para transmitir o recibir. * DSR (Data Set Ready, dispositivo preparado, entrada, pat. 6): Seal del DCE que indica que el dispositivo est en modo de transmisin de datos. * RTS (Request To Send, peticin de envo, salida, pat. 4): Seal del DTE al DCE, noti fica al DCE que el DTE dispone de datos para enviar. Se emplea en lneas semiduple x para controlar la direccin de transmisin. Una transicin de 1 a 0 avisa al DCE que tome las medidas necesarias para prepararse para la transmisin. * CTS (Clear To Send, preparado para transmitir, entrada, pat. 5): Seal del DCE a l DTE indicando que puede transmitirle datos. * CD (Carrier Detect, deteccin de portadora, entrada, pat. 8): Seal del DCE que ha detectado la seal portadora enviado por un modem remoto o que la lnea telefnica es t abierta. * RI (Ring Indicator, timbre o indicador de llamada entrante, entrada, pat. 22): Seal del DCE indicando que est recibiendo una llamada por un canal conmutado. * SG (GND) (System Ground Signal Ground, masa de seal, pat. 7): Masa comn para tod os las lneas. * FG (GND) (Shield Protective Ground, tierra de proteccin, pat. 1): El conductor esta elctricamente conectado al equipo. Una secuencia normal, a travs de la RS232, es la siguiente: 1. Ambos dispositivos son alimentados, indicando encendido (si ha sido estableci do en el equipo). El DTE activa el terminal DTR y el DCE activa el terminal DSR. Una interfase RS232 bien diseada no comunicar hasta que estos dos terminales estn activos. El DTE esperar la activacin del terminal DSR y el DTE la activacin del ter minal DTR. Aunque DTR y DSR algunas veces pueden ser utilizados para el control del flujo, estos terminales solo indican que los dispositivos estn conectados. 2. El DTE pregunta al DCE si este est listo. El DTE activa la lnea RTS. El DCE si est listo, responde activando la lnea CTS. Puestos de acuerdo ambos equipos, se pu ede entrar a comunicar. 3. Los datos son transferidos en ambos sentidos. El DTE enva informacin al DCE a t ravs del terminal TXD. El DCE enva informacin al DTE a travs del terminal RXD. Interfaz TTL-RS232 Para una comunicacin full duplex desde la UART de un microprocesador o microcontrolad or deben conectarse un mnimo nmero de seales, concretamente TXD y RXD as como la mas a (GND, SG o Signal Ground). Sin embargo una interfaz tpica RS232 requiere al men os 7 seales. Las lneas adicionales se utilizan para la puesta de acuerdo entre el DTE (por ejemplo un PC) y el DCE (por ejemplo un ratn). El terminal para transmitir datos (TXD) es utilizado para transferir datos del DTE a l DCE, por lo que debe ser conectado a la lnea receptora serie del perifrico. De m anera idntica la lnea receptora de datos (RXD) debe ser conectada a la lnea transmi sora del perifrico. Para convertir TTL a RS232 se pueden usar circutos tpicos de transistores y diodos dis

cretos o los circuitos integrados MC1488 y MC1489, sin embargo, existe un circuto integrado muy popular que permiten esta conversin. El MAX232 es un conversor de nivel TTL/RS232. Slo es necesario este circuito integrado y 4 condensadores. La i nterfaz mnima con el MAX232 entre un dispositivo con salida serie TTL o CMOS y el conector RS232 se muestra en la siguiente figura. El MAX232 Descripcin: El MAX232 dispone internamente de 4 conversores de niveles TTL al estanda r RS232 y viceversa, para comunicacin serie como los usados en los ordenadores, e l COM1 y el COM2. Puede encontrar mas informacin en MAX232.PDF. Funcionamiento: El circuito integrado lleva internamente 2 conversores de nivel de T TL a RS232 y otros 2 de RS232 a TTL con lo que en total podremos manejar 4 seales del puerto serie del PC, por lo general las mas usadas son; TXD, RXD, RTS, CTS, estas dos ltimas son las usadas para el protocolo handshaking pero no es impresc indible su uso. Para que el MAX232 funcione correctamente debemos poner unos con densadores externos, todo esto lo podemos ver en la siguiente figura en la que s olo se han cableado las lineas TXD y RXD que son las mas usualmente usadas para casi cualquier aplicacion. En el MAX232 todos los condensadores deben ser de 1 microfaradio para llegar hasta 1 20 Kbps o de 100 nanofaradios para llegar hasta 64 Kbps. Para el MAX232A los con densadores han de ser de 100 nanofaradios y se consiguen hasta 200 Kbps. Usos: Este integrado es usado para comunicar un microcontrolador o sistema digital c on un PC o sistema basado en el estndar RS232. Caractersticas a +5v, condensadores de 100 nF: * Vcc: de 4,5v a 5,5v. * Consumo: 4 mA (15 mA con carga a la salida de 3 Kohm). * Entradas compatibles TTL y CMOS. * Tensin de entrada mxima RS232: +/- 30v. * Tensin de Salida RS232: +/- 15v. o Tensin de salida tpica de +/-8v con carga nominal de 5 Kohm en RS232. * Resistencia entrada RS232: 5 Kohm (a masa). * Resistencia entrada TTL/CMOS: 400 Kohm (a positivo). * Las entradas se pueden dejar al aire. o Entrada TTL al aire, se considera un "0" al invertirse en la salida. o Entrada RS232 al aire, se considera un "1" al invertirse en la salida. * Salidas cortocircuitables contnuamente: o Salida RS232: +/- 22 mA. o Salida TTL/CMOS: a masa -10 mA, a positivo +30 mA. * Data Rate: 200 Kbps (mn 116 Kbps). Interfaz TTL-RS232 sin MAX232 Hemos visto que para conseguir un interfaz TTL-RS232, utilizar el MAX232 es lo ms sen cillo pues adems del integrado slo se necesitan cinco condensadores. No obstante, si se va a utilizar con un PC, se puede realizar un interfaz mediante componente s discretos, 5 resistencias, 2 transistores y 1 diodo. El circuito aprovecha la propia corriente del puerto COM del PC para generar las seales del RS232. Los terminales marcados como TxD, RxD y Gnd corresponden al conector RS232 del PC mi entras que los terminales marcados como RD y TD van directamente a sistema con l as seales TTL. Este tipo de interfaz puede verse en ratones o elementos de control de puntero del P C. Los puntos de alimentacin son de +5V. RS232 en el PC El puerto serie de un ordenador trabaja en modo asncronico. En puerto serie recibe y enva informacin fuera del ordenador mediante un determinado software de comunicacin o un driver del puerto serie. La informacin se enva al puerto carcter a carcter. Cu ando se ha recibido un carcter, el puerto serie enva una seal por medio de una inte rrupcin indicando que el carcter est listo. Cuando el ordenador ve la seal, los serv icios del puerto serie leen el carcter. Existen dos tipos de interfaces RS232 puesto que la norma fue diseada para dos tipos

de equipos, el DTE (Equipo Terminal de Datos) y el DCE (Equipo de Comunicacin de Datos). Existen entonces dos tipos de interfaz RS232, la DTE (conector macho) y la DCE (conector hembra): * Interfaz DTE (macho) en el PC. * Interfaz DCE (hembra) en los modem, ratones y otros dispositivos. Por tanto en un PC se utilizan conectores DB9 macho, de 9 patillas, por los que se c onectan los dispositivos al puerto serie. Los conectores hembra que se enchufan tienen una colocacin de patillas diferente, de manera que se conectan la patilla 1 del macho con la patilla 1 del hembra, la patilla 2 con el 2, etc... RS232 no admite comunicaciones a ms de 15 metros y 20 Kbps (se puede utilizar mayor d istancia y velocidad, pero no es el estndar). La comunicacin es efectuada con 25 t erminales diferentes, cada uno con su funcin. RS232 est definida tanto para la com unicacin sncrona como asncrona, pero cuando se utiliza esta ltima slo se utiliza un c onjunto de los 25 terminales. Normalmente, las comunicaciones serie en el PC tienen los siguientes parmetros: 9.600 baudios, 1 bit de Start, 8 bits de Datos, 1 bit de Stop y sin paridad. En la figura siguiente se puede ver un ejemplo de la transmisin en TTL del dato binar io 01011001. La lnea en reposo est a nivel lgico alto (+5 voltios). En la figura siguiente se puede ver un ejemplo de la transmisin en RS232 del dato bin ario 01011001. La lnea en reposo est a nivel lgico alto (-15 voltios). Direcciones e IRQ de los puertos serie El puerto serie utiliza direcciones I/O y una interrupcin para llamar la atencin del p rocesador. Adems el software de control debe conocer la direccin. La mayora de los puertos series utilizan direcciones estandar predefinidas. stas estn escritas normalmente en base hexadecimal. Las direcciones I/O e IRQ pueden selec cionarse en la BIOS o bajo Windows. Las seales son: Las I/O 2E8-2EF COM4 3E8-3EF COM3 3 2F8-2FF COM2 4 3F8-3FF COM1 IRQ Dir. direcciones e IRQ usadas por los puertos serie fueron definidas al disear el PC, Puerto sin embargo, las del COM3 y COM4 no se han definido oficialmente, aunque estn ace ptadas por convenios. El IBM-PC utilizaba la UART 8250, siendo la 16550A una de las ltimas que se utilizan. 15. CONECTOR SERIE DB25 Visto del lado PC (DB25 Macho) La direccin (Dir) es DTE (PC) relativa a DCE (Dispositivo). * DTE (PC) DCE (Dispositivo), entrada en el DTE (PC). * DTE (PC) DCE (Dispositivo), salida en el DTE (PC). 16. CONECTOR SERIE DB9 La direccin (Dir) es DTE (PC) relativa a DCE (Dispositivo). * DTE (PC) DCE (Dispositivo), entrada en el DTE (PC). * DTE (PC) DCE (Dispositivo), salida en el DTE (PC). 17. ADAPTADOR DE 9 A 25 PATILLAS Existen dispositivos compactos capaces de adaptar un conector a otro 18. TIPOS DE CONEXIONES CON DB9 Dos PCs no se puede conectar de manera directa entre s, pues son dos DTE, pero no obst ante se puede hacer de acuerdo a la forma de conectar el cable. Para conectar dos DTE hay que tener en cuenta que ambos transmiten por la lnea 2 y re ciben por la lnea 3, por ello, basta cruzar RXD (2) y TXD (3). Tambin debe conecta rse la lnea de tierra de seal. Esta conexin es vlida cuando el software que controla la comunicacin no utiliza los terminales de control. Si es necesario utilizar los terminales "en lnea" (DSR y DTR) se debe considerar que ambos DTE activarn el terminal DTR (4) y esperarn por la activacin del terminal DSR (6). Como ninguno activar el terminal DSR, estarn esperando siempre. Este problem

a se puede solucionar mediante el intercambio de las seales de control, basta cru zar los terminales DSR (6) y DTR (4) Con respecto a los terminales RTS (7) y CTS (8) sucede algo similar a DSR y RTS, por ello se pueden cruzar los terminales 7 y 8. Otra forma de conexin, en este caso sin control de flujo, se hara considerando que com o cada DTE espera la activacin del terminal DSR al mismo tiempo que activa el DTR , se unan en cada DTE, para que cada DTE se de a s mismo la posibilidad de transm isin. Lo mismo se hara con RTS y CTS. Tambin se conectar el terminal CD a DTR. Algun os programas no trabajan si este terminal no est activo. De manera que como CD es entrada en ambos DTE, se debe mantener activo conectndolo a DTR. Conexin del PC a una impresora serie 19. CONFIGURACIN DE LOS PUERTOS * Bit por segundo: o Define la velocidad mxima, en bits por segundo (bps), a la que se transmiten lo s datos a travs del puerto. Normalmente, se establece a la velocidad mxima admitid a por el equipo o dispositivo con el que se est comunicando. * Bits de datos: o Cambia el nmero de bits de datos a utilizar para cada carcter transmitido y reci bido. El equipo o dispositivo con el que comunica debe tener la misma configurac in que aqu. La mayor parte de los caracteres se transmiten con siete u ocho bits d e datos. * Paridad: o Cambia el tipo de comprobacin de errores a utilizar para el puerto seleccionado . El equipo o dispositivo con el que se comunica debe tener la misma configuracin que aqu. Se debe elegir una de las siguientes: * Ninguna: significa que no se agregar ningn bit de paridad a los bits de datos en viados desde este puerto. Esto deshabilitar la comprobacin de errores. * Par: significa que el bit de paridad se establece a 1 si se necesita para que el nmero de unos (1) de los bits de datos sea par. Esto habilitar la comprobacin de errores. * Impar: significa que se agrega un bit de paridad si se necesita para que el nme ro de unos (1) de los bits de datos sea impar. Esto habilitar la comprobacin de er rores. * Marca: significa que se agrega un bit de paridad, pero siempre est establecido a 0. * Espacio: significa que se agrega un bit de paridad, pero siempre est establecid o a 1. * Bit de parada: o Cambia el tiempo entre cada carcter que se transmite (cuando el tiempo se mide en bits por segundo). * Control de flujo: o Cambia la forma en que se controla el flujo de datos. * Ninguno * Xon/Xoff, llamado en ocasiones protocolo de enlace software, es el mtodo de sof tware estndar para controlar el flujo de datos entre dos mdems. * Control de flujo Hardware, llamado en ocasiones protocolo de enlace hardware, es el mtodo estndar de controlar el flujo de datos entre un equipo y un dispositiv o serie. 20. COMPROBACIN DE LOS PUERTOS SERIE Con un voltmetro en tensin continua colocar una sonda en la patilla 3 y la otra sonda a masa. El valor que tiene que dar es de unos 11V, hacer lo mismo con la patilla 4 y la patilla 7. Si no da 11V algo va mal en el ordenador. Si colocamos la sonda negra del polmetro en la masa del conector, la tensin de las patillas 3, 4 y 7 ser negativa (-11,54v). En el resto de patillas la tensin es Tambin podemos 0 (0,16v)un programa de diagnstico como CheckIt para lo cual hemos de r aproximadamente de utilizar ealizar las siguientes conexiones.

Conexin de un microcontrolador al puerto serie del PC Para conectar el PC a un microcontrolador por el puerto serie se utilizan las seales TXD, RXD y GND. El PC utiliza la norma RS232, por lo que los niveles de tensin de las patillas entn comprendidos entre +15 y -15 voltios. Los microcontroladores n ormalmente trabajan con niveles TTL (0-5v). Es necesario por tanto intercalar un circuito que adapte los niveles: Uno de estos circuitos, que se utiliza mucho, es el MAX232. 21. CABLE DE CONEXIN Para realizar la conexin entre el PC y un microcontrolador circuito podemos usar dife rentes alternativas. Una manera es utilizar un cable serie macho-hembra no cruza do, y en el circuito un conector hembra DB9 para circuito impreso. En la placa de circuito impreso donde se encuentra el PIC y donde se colocar el conec tor DB9 hembra sera conveniente realizar la interconexin entre patillas que se des cribe en la siguiente figura. Las conesxiones que presenta la figura garantizan que cualquier programa de comunica cin acepte la transmisin del PIC, si bien se realizar sin control de flujo. La sali da DTR (patilla 4, Terminal de Datos Preparado) entrega seal a la entrada DCD (pa tilla 1, Deteccin de Portadora) y a la entrada DSR (patilla 6, Dispositivo Prepar ado). Por otro lado la salida RTS (patilla 7, Peticin de Envo), entraga seal a la e ntrada CTS (patilla 8, Preparado para el Envo). Esta configuracin no es necesaria ni para Hyperterminal de Windows ni para TerminalTO B. 22. LECTURA DEL PUERTO SERIAL CON LABVIEW Para tener acceso al puerto serial usando labview se debe inciar una sesin VISA. La configuracin del tipo de comunicacin serial se hace con VISA configure serial po rt , que se puede encontrar en Functions >> Instrument I/O >> Serial >> VISA confi gure serial port. Figura 3.- Paleta de Funciones de VISA Figura 4.- VISA Configure Serial Port Una vez inicializada la sesin VISA, se procede a configurar la lectura. Para lo c ual se utiliza VISA Read Figura 5.- VISA Read El nodo de byte count recibe el tamao de buffer que se escribi en el puerto. Para id entificarlo, se coloca un Property Node ubicado en Functions >> Programming >> P roperty Node. Su nodo de referencia se conecta a la sesin VISA creada y luego, en property node se da un click para seleccionar Serial Settings >> Number of byte s at serial port. Figura 6.- Configurando el Propery Node para contar el nmero de bytes recibidos Por ltimo se debe cerrar la sesin VISA para liberar el puerto y poderle dar otra f uncin. Esto se logra con VISA close en Functions >> Instrument I/O >> Serial >> Vis a Close, y, como buena costumbre de programacin se coloca un controlador de error es. Figura 7.- Simple Error Handler El VI para leer puede ser el siguiente:

Figura 8.- leyendo el Puerto serial con una sesin VISA de LabView Notas sobre la lectura en puerto serial. Es importante sincronizar la velocidad de transferencia de datos del microcon rminal de Baud rate del Visa Configure serial port, de tal manera que sea la misma para ambos (en este caso 2500 baudios. La estructura stacked sequence con la func in wait es tan slo una espera programada para la lectura. Lo nico presente en el Pa nel de control es el indicador read buffer donde se escriben los datos adquiridos. Tambin es importante seleccionar el puerto COM adecuado. Con LabView se puede co mprobar si el puerto COMX seleccionado es el adecuado. El ejemplo Basic Serial W rite and Read.VI 23. ESCRITURA EN EL PUERTO SERIAL Escribir en el puerto serial usando LabView es ms sencillo, y los pasos se e in. Primero, se inicializa una sesin VISA de la misma manera que se hizo al leer el p uerto, con un VISA Configure Serial Port . Luego, se coloca un VISA Write que se pued e encontrar en Functions >> Programming >> Instrument I/O >> VISA Write. Figura 9.- VISA Write Por ltimo se cierra la sesin VISA con un VISA close y un Simple Error Handler. El VI de escritura en puerto serial puede quedar como se muestra a continuacin.

Figura 10.- Escribiendo al Puerto serial con una sesin VISA en LabView Al igual que en la lectura del puerto serial, la velocidad de transferencia es p rimordial. En ambos casos, es importante sincronizar las tareas de escritura y lectura r e tal manera que el microcontrolador o la computadora estn listos para enviar o r ecibir un dato en el puerto serial. Para ello se puede programar un loop que no permita que el programa avance hasta que no se reciba cierto texto. Se recomiend a la revisin de los VIs anexos en el documento. 24. DETERMINANDO SI LA CONEXIN COM SELECCIONADA ES LA CORRECTA En la pantalla de inicio de LabView abre el buscador de ejemplos Find examples . Lu ego busca la carpeta Hardware and Input and Output y posteriormente selecciona la de serial . Abre el VI Basic Serial Write and Read.vi . Ahora conecta los pines 2 y 3 del cable de conexin serial y escribe texto en la pantalla de write del VI (la su perior). Cuando corras el VI, el mismo texto debe aparecer escrito en la ventana Read. Si no es as, debes seleccionar otro puerto COM. Automatizacin Industrial

Das könnte Ihnen auch gefallen