Está en la página 1de 5

COMUNICACIONES II

INTERFAZ LABVIEW - MICROCONTROLADOR CON COMUNICACIN SERIAL RS-232


Jos A. Quintana, Estudiante UPS, jquintanas@est.ups.edu.ec
RESUMEN1 La comunicacin serial no hace otra cosa que enviar datos de informacin en forma de bytes, pero un bit a la vez (recordando que un byte est compuesto por ocho bits), que pueden provenir de sensores, transductores, etc., hacia equipos que monitorean tales valores como los computadores. Por otra parte tambin puede existir un control u rdenes provenientes desde los ordenadores hacia otros elementos, tales elementos de enlace pueden ser los micro-controladores o PLCs. El presente documento expone en la Seccin II, lo referente a la comunicacin serial sincrnica, en la Seccin III se habla de la comunicacin serial asincrnica, en la Seccin IV se indica la comunicacin serial paralela y por ltimo en la Seccin V se indica cmo realizar la comunicacin serial en LabVIEW empleando los bloques VISA.

Full duplex Se utilizan dos lneas ms una lnea de referencia y el flujo de informacin es en ambos sentidos. La ventaja de este mtodo es que se puede transmitir y recibir informacin de manera simultnea. En la Fig. 1, se observa cmo el transmisor (Tx) de un dispositivo se conecta al receptor (Rx) del otro.

PALABRAS CLAVES Interfaz, comunicacin serial, asincrnica, byte, bit, full duplex, interfaz RS-232 Fig. 1. Comunicacin serial full duplex

DESARROLLO I. INTRODUCCIN

El tipo de comunicacin serial empleada en la prctica es la serial asincrnica, esto debido a que el conector DB-9 permite slo este tipo de comunicacin. Se la detalla a continuacin. II. COMUNICACIN SERIAL ASINCRNICA

El concepto de comunicacin serial es sencillo. El puerto serial enva y recibe bytes de informacin un bit a la vez. An y cuando esto es ms lento que la comunicacin en paralelo, que permite la transmisin de un byte completo por vez, este mtodo de comunicacin es ms sencillo y puede alcanzar mayores distancias, por ejemplo empleando comunicacin serial RS-422 o RS-485 el largo del cable puede llegar a los 1200 metros. La comunicacin serial es un protocolo de comunicacin muy usado entre dispositivos de instrumentacin, el interfaz empleado en esta prctica es el RS-232, cuya longitud mxima de cableado es de 15 m1. La direccionalidad empleada en la prctica fue la full-duplex, la cual se detalla a continuacin.

Al byte enviado (8 bits) siempre se le agregan dos bits ms, uno al inicio y otro al final, esto con la finalidad de indicarle al receptor cuando inicia el dato (bit de start) y cuando termina (bit de stop), es decir, el bit de start va al inicio de la trama de bits y el bit de stop, va al final de la trama de bits, esto se puede ver en la Fig. 2.

Fig. 2. Comunicacin serial asincrnica

COMUNICACIONES II, CONSULTA # 1, 2013/04/16

El bit de inicio es un 0 y el bit de paro es un 1, siempre que se enven datos seriales generalmente llevan este formato, por

COMUNICACIONES II ejemplo si se enva la palabra HOLA de forma serial, la trama de bits se ver como en la Fig. 3, donde por simplicidad se usaran bloques representando datos y bits de inicio y paro.

2 potencimetro, un sensor de temperatura LM35 y una LDR (light dependent resistor). Para la utilizacin del puerto serial se lo configur a una velocidad de transmisin de 9600 baudios. El pin de transmisin del microcontrolador es el pin 25 y el de recepcin el pin 26 La programacin del microcontrolador se la realiz en MikroBasic, se la indica en la Fig. 4:

Fig. 3. Bit de inicio y de parada

La transmisin asncrona que vamos a ver es la definida por la norma RS232, que se basa en las siguientes reglas: - Cuando no se envan datos por la lnea, sta se mantiene en estado alto (1). -Cuando se desea transmitir un carcter, se enva primero un bit de inicio que pone la lnea ha estado bajo (0) durante el tiempo de un bit. -Durante la transmisin, si la lnea est a nivel bajo, se enva un 0 y si est a nivel alto se enva un 1. -A continuacin se envan todos los bits del mensaje a transmitir con los intervalos que marca el reloj de transmisin. Por convenio se transmiten entre 5 y 8 bits. -Se enva primero el bit menos significativo, siendo el ms significativo el ltimo en enviarse. -A continuacin del ltimo bit del mensaje se enva el bit (o los bits) del final que hace que la lnea se ponga a 1 por lo menos durante el tiempo mnimo de un bit. Estos bits pueden ser un bit de paridad para detectar errores y el bit o bits de stop, que indican el fin de la transmisin de un carcter. Los datos codificados por esta regla, pueden ser recibidos siguiendo los pasos siguientes2: -Esperar la transicin 1 a 0 en la seal recibida. -Activar el reloj con una frecuencia igual a la del transmisor. -Muestrear la seal recibida al ritmo de ese reloj para formar el mensaje. -Leer un bit ms de la lnea y comprobar si es 1 para confirmar que no ha habido error en la sincronizacin. Por ltimo se debe tener en cuenta la velocidad a la que se envan los bits, es de suma importancia ya que ambos dispositivos deben estar a la misma velocidad para transmitir y recibir bits, si no lo estn, simplemente la transmisin serial no sera correcta. Para la prctica se eligi una velocidad de transmisin de 9200 bps.

Fig. 4. Firmware del microcontrolador.

Al colocar (adcon1=130) lo que se est haciendo es configurar el puerto anlogo del micro, donde se pone los voltajes de referencia en Vdd y Vss, el nmero de entradas analgicas, que pueden ser hasta ocho, en este caso aunque solo se necesitaba tres se le configur con cinco entradas analgicas, por seguridad. Las tres entradas analgicas estn denominadas como xo, x1 y x2. En la Tabla 1, se puede ver a que tem corresponde los valores de diez, veinte y treinta (10, 20, 30). Esto quiere decir que cuando en LabVIEW elijamos un tem (que puede ser POTENCIMETRO, TEMPERATURA O LDR), ingresar por el puerto serial uno de los tres valores dados, entonces el microcontrolador comparar si coincide con los nmeros preestablecidos, haciendo que salga por el pin de transmisin la entrada analgica correspondiente.

III. SOFTWARE Y HARDWARE EMPLEADOS PIC16F877A

Se utiliz el mdulo de conversin anlogo digital A/D, el cual es un conversor de 10 bits. De los ocho puertos anlogos disponibles se utiliz tres puertos, en los cuales se coloc un

COMUNICACIONES II LabVIEW

Mdulo USB-232

Para la comunicacin serial en LabVIEW se emple los bloques VISA (Virtual Instrument Software Arquitecture). El puerto fue configurado a una velocidad de 9600 baudios, que es la misma del microcontrolador. En la programacin se emple un Combo Box, el cual permite elegir cul de las tres seales analgicas se desea visualizar, para lo cual se emple un indicador numrico. Dentro de la configuracin del puerto se eligi un bit de parada, no se opt por el bit de paridad y se enviaron ocho bits, esto se lo puede ver en la Fig. 5.

El mdulo USB-232 es el enlace de comunicacin entre el computador y el microcontrolador, el cual brinda muchas ventajas, al eliminar cableado, espacio, ya que en su interior est integrado el circuito MAX232 que se lo aprecia en la Fig. 6.

Fig. 6. Circuito de enlace Serial RS-232 a nivel TTL.

El mdulo, que se lo puede ver en la Fig. 7, convierte un puerto USB en un interfaz RS-232 con niveles de voltaje TTL.

Fig. 5. Panel de Control y Frontal en LabVIEW.

Fig. 7. Mdulo USB-232TTL.

En la Tabla 1, se puede ver el valor asignado a cada tem del Combo Box.
tem Valor dado (Decimal) Valor de salida por puerto serial

IV. COMUNICACIN CON PUERTO DE SALIDA La variacin necesaria a la programacin ya realizada sera la siguiente: En el Combo Box empleando, agregara las entradas numricas con los distintos nmeros a tomar por el puerto de salida, ver Fig. 8.

POTENCIMETRO TEMPERATURA LDR

10 20 30

10 20 30

Tabla. Valores de cada tem del Combo Box en decimal, el cual sale por el puerto serial.

COMUNICACIONES II 9 10 11 12 13 14 9 A B C D E 9 10 11 12 13 14

Tabla. Valores de cada tem del Combo Box en cdigo ASCII, el cual sale por el puerto serial.

Fig. 8. Nmeros agregados al Combo Box.

Hay que indicar que el dato de salida que se halla en knob es el valor que estar saliendo por el puerto serial hacia microcontrolador. Por lo que sera de tambin variar programacin del microcontrolador, se lo visualiza en Fig. 10.

2, el la la

En el Case Structure utilizado, a travs del Knob 2, dara valores correspondientes al cdigo ASCII, a cada tem que se encuentra en el Combo Box, los cuales iran al write buffer del VISA Write, para lo cual se tendra que modificar la programacin de entrada al write buffer, tal como se ve en la Fig. 9.

Fig. 9. Variacin de Programacin de entrada al write buffer.

Por lo tanto a cada tem le corresponder un valor del cdigo ASCII3. Una tabla de valores dados a cada tem del Combo Box se ve en la Tabla 2, en la misma se visualiza solo hasta el nmero 14.
tem Valor string asignado (HEXADECIMAL) VALOR DE SALIDA POR PUERTO SERIAL (ASCII)

Fig. 10. Variacin del firmware del microcontrolador.

POTENCIMETRO ILUMINACIN TEMPERATURA

0 1 2 3 4 5 6 7 8

FD FE FF 0 1 2 3 4 5 6 7 8

253 254 255 0 1 2 3 4 5 6 7 8

Se puede ver que por el puerto de salida ( d), se visualizar el dato de la variable (y) que es el valor que ingresa por el pin de recepcin del micro, este dato ir del cero (0) al doscientos cincuenta y dos (252) ya que del doscientos cincuenta y tres al doscientos cincuenta y cinco (253 255) lo empleamos para el envo de la entrada analgica. Una vez ms hay que mencionar que la variable (d) tomar valores del cdigo ASCII, es decir, del cero al doscientos cincuenta y cinco (0 255).

COMUNICACIONES II CONCLUSIONES El tipo de comunicacin serial empleada en la prctica es la es la full-duplex, en la cual se puede enviar y recibir informacin al mismo tiempo. Dado que en la serial asincrnica se avisa al receptor cuando se va a enviar los datos y cuando se termina de enviar el dato, para ello, al byte enviado se le agregan dos bits ms, uno al inicio y otro al final, con la finalidad de indicarle al receptor cuando inicia el dato (bit de inicio) y cuando termina (bit de parada), es por esto que en la configuracin del puerto serial en LabVIEW se puede elegir el nmero de bits de parada, que pueden ser uno, uno y medio, o dos. Para la prctica elegimos un bit. En LabVIEW, cuando a un indicador numrico le asigno un valor con una constante, teniendo presente que el valor de este indicador numrico ser el dato de salida por el puerto serial, el valor de salida por el puerto ser el mismo valor de la constante asignada. Ahora, cuando al indicador numrico le asignamos un valor string (que para propsitos de la programacin es un string hexadecimal), el valor de salida por el puerto serial, ser el valor que le corresponde en cdigo ASCII al string de ingreso. Es importante en la programacin del microcontrolador, configurar correctamente el puerto serial, el cual debe tener la misma velocidad de envo de datos del otro dispositivo, en este caso LabVIEW, por medio de la PC. Es recomendable el uso de mdulos que facilitan el armado del circuito y nos ahorran tiempo, como el mdulo usb-232ttl, en el cual ya viene incorporado el MAX-232.

REFERENCIAS [1]digital.ni.com/public.nsf/allkb/039001258CEF8FB686256E 0F005888D1 [2]http://perso.wanadoo.es/pictob/comserie.htm [3]http://www.elcodigoascii.com.ar/

También podría gustarte