Estándar de Comunicaciones RS232 Con Labview

14
Estándar de comunicaciones RS-232C Estándar de comunicaciones RS232C "Recommended Standard" 232 está definido en las especificaciones ANSI (American National Standard Institution) como " la interface entre un equipo terminal de datos y un equipo de comunicación de datos empleando un intercambio en modo serie de datos binarios". En él se describen las diferentes reglas a seguir para realizar una comunicación serie entre dos dispositivos distantes entre sí. Normalmente, los dispositivos que intervienen en una comunicación serie son el Equipo Terminal de Datos (ETD), que suele ser un PC, y el Equipo de Comunicación de Datos (ECD), generalmente un equipo de medida para nuestro caso. A pesar de que el estándar RS232 empezó utilizándose para la comunicación entre un PC y un módem, la gran implantación de los PCs ha derivado en la ampliación del uso del RS232, convirtiéndose en el estándar más utilizado en aplicaciones de bajo coste que requieran la interconexión serie entre un ETD y un periférico. Como periféricos serie más usuales se pueden nombrar las impresoras, el ratón, los plotters, los scanners, los digitalizadores, etc. Para facilitar la conexión entre DTE y DCE se han desarrollado múltiples estándares que determinan todas las características físicas, eléctricas, mecánicas y funcionales de la conexión constituyendo lo que denominamos la definición de una interface. Estos estándares constituyen un ejemplo de los protocolos del nivel físico, y se encuadrarían en el nivel más bajo del modelo de referencia OSI. El RS-232 es una norma para la conexión entre un DTE y un DCE que define : El tipo de conector a emplear. Las características eléctricas. Los niveles de tensión. Las longitudes máximas a distintas velocidades. Los nombres de las señales que intervienen en el funcionamiento y la estructura del protocolo de comunicación. Esta norma establece una señalización eléctrica bipolar: Nivel lógico 0 : +15...+3Voltios. Nivel lógico 1 : -15...-3Voltios.

description

Estándar de Comunicaciones RS232 Con Labview

Transcript of Estándar de Comunicaciones RS232 Con Labview

  • Estndar de comunicaciones RS-232C

    Estndar de comunicaciones RS232C "Recommended Standard" 232 est definido en las especificaciones ANSI (American National Standard Institution) como " la interface entre un equipo terminal de datos y un equipo de comunicacin de datos empleando un intercambio en modo serie de datos binarios". En l se describen las diferentes reglas a seguir para realizar una comunicacin serie entre dos dispositivos distantes entre s. Normalmente, los dispositivos que intervienen en una comunicacin serie son el Equipo Terminal de Datos (ETD), que suele ser un PC, y el Equipo de Comunicacin de Datos (ECD), generalmente un equipo de medida para nuestro caso. A pesar de que el estndar RS232 empez utilizndose para la comunicacin entre un PC y un mdem, la gran implantacin de los PCs ha derivado en la ampliacin del uso del RS232, convirtindose en el estndar ms utilizado en aplicaciones de bajo coste que requieran la interconexin serie entre un ETD y un perifrico. Como perifricos serie ms usuales se pueden nombrar las impresoras, el ratn, los plotters, los scanners, los digitalizadores, etc. Para facilitar la conexin entre DTE y DCE se han desarrollado mltiples estndares que determinan todas las caractersticas fsicas, elctricas, mecnicas y funcionales de la conexin constituyendo lo que denominamos la definicin de una interface. Estos estndares constituyen un ejemplo de los protocolos del nivel fsico, y se encuadraran en el nivel ms bajo del modelo de referencia OSI. El RS-232 es una norma para la conexin entre un DTE y un DCE que define :

    El tipo de conector a emplear. Las caractersticas elctricas. Los niveles de tensin. Las longitudes mximas a distintas velocidades. Los nombres de las seales que intervienen en el funcionamiento y la estructura

    del protocolo de comunicacin.

    Esta norma establece una sealizacin elctrica bipolar:

    Nivel lgico 0 : +15...+3Voltios. Nivel lgico 1 : -15...-3Voltios.

  • Instituto de Fsica Universidad de Antioquia Curso de Instrumentacin

    Notas de clase profesores: Lucelly Reyes 2

    Las velocidades de transmisin que puede soportar este estndar van desde los 0 bps hasta los 20 Kbps. Con respecto a las distancias mximas se propone que no sean superiores a 15 metros. Aunque un diseo cuidadoso puede permitir distancias muy superiores, hay que suponer que esta limitacin terica se puede manifestar en la prctica en dispositivos que cumplan la norma.

    En el siguiente dibujo podemos ver la conexin bsica de RS-232.

    Las caractersticas principales que definen el estndar son:

    Velocidad mxima de transmisin de datos: 20 K bits por segundo (Kbps). Ahora bien, existen aplicaciones que se salen de las especificaciones del estndar que llegan a velocidades de hasta 116 kbps.

    Capacidad de carga mxima: 2500 pF. Esto se traduce en una longitud mxima de cable entre el PC y el perifrico de 15 a 20 metros. Para distancias mayores se ha de utilizar otro estndar de comunicaciones.

    El conector

    El RS-232C consiste en un conector tipo DB-25 de 25 pines, aunque es normal encontrar la versin de 9 pines DB-9, mas barato e incluso mas extendido para cierto tipo de perifricos (como el ratn serie del PC). En cualquier caso, los PCs no suelen emplear mas de 9 pines en el conector DB-25. Las seales con las que trabaja este puerto serie son digitales, de +12V (0 lgico) y -12V (1 lgico), para la entrada y salida de datos, y a la inversa en las seales de control. El estado de reposo en la entrada y salida de datos es -12V. Dependiendo de la velocidad de transmisin empleada, es posible tener cables de hasta 15 metros.

    Cada pin puede ser de entrada o de salida, teniendo una funcin especfica cada uno de ellos. Las ms importantes son:

    Pin DB9 Funcin 3 TXD (Transmitir Datos) 2 RXD (Recibir Datos) 4 DTR (Terminal de Datos

    Listo) 6 DSR (Equipo de Datos

    Listo) 7 RTS (Solicitud de Envo) 8 CTS (Libre para Envo) 1 DCD (Deteccin de

    Portadora) 5 GND Tierra 9 RI Indicador de Llamada

  • Instituto de Fsica Universidad de Antioquia Curso de Instrumentacin

    Notas de clase profesores: Lucelly Reyes 3

    A continuacin se describe brevemente la funcin de cada una de los pines.

    Data Carrier Detect (DCD): El DCE pone a "1" esta lnea para informar al DTE que est recibiendo una seal portadora con informacin.

    Data Set Ready (DSR): Es una seal que el DCE pone a "1" para indicar al DTE que est conectado a la lnea.

    Receive Data Line (RD): Las seales que se reciben por la lnea RD son en forma de transmisin serie. Cuando la seal DCD est a "0", la lnea RD se ha de mantener en el estado Mark.

    Request To Send (RTS): Esta seal es puesta a "1" por el DTE para indicar que est preparado para transmitir datos. Entonces el DCE ha de prepararse para recibir datos. En comunicaciones Half Duplex tambin se inhibe el modo de recepcin de datos. Despus de una cierta espera, el DCE pone a "1" la lnea CTS para informar al DTE de que ya est preparado para recibir datos.

    Una vez la comunicacin ha finalizado y no se transmiten ms datos por parte del DTS, RTS pasa de valer "1" a valer "0". Despus de un pequeo tiempo de espera, para asegurarse de que han sido recibidos todos los datos transmitidos, el DCE pone a "0" la lnea CTS.

    Transmit Data Line (TD): Las seales se transmiten por esta lnea, en modo serie, del DTE al DCE. Guando no se est transmitiendo ningn tipo de Informacin, la lnea ha de mantenerse en su estado Mark. Para que se puedan transmitir datos, las lneas DSR, DTR, RTS y CTS han de encontrarse a "1 ".

    Clear To Send (CTS): Esta seal es puesta a "1" por el DCE para indicar al DTE est preparado para recibir datos. CTS es puesta a "1" como respuesta a un estado "1"simultneo de las lneas RTS, DSR y DTR.

    Data Terminal Ready (DTR): Esta seal, conjuntamente con DSR, indica que los equipos estn operativos. DTR es puesta a "1" por el DTE para indicar al DCE que est preparado para recibir o transmitir datos. DTR ha de estar a "1" antes de que el DCE pueda poner a "1" DSR. Cuando DTR es puesta a "0" por el DTE, eI DCE es desconectado del canal de comunicaciones dado que ya ha sido completada la transmisin de la informacin.

    Ring Indicator (RI): RI es puesta a "1" por el DCE cuando est recibiendo una Ilamada, Esta lnea ha dejado de ser til al emplearse el estndar en las aplicaciones de modems.

    Signal Ground (pin 5): Esta lnea proporciona el comn, la referencia de tierra, a todas las lneas antes expuestas. Est elctricamente separada de la toma de tierra para proteccin del equipo.

    Las seales TXD, DTR y RTS son de salida, mientras que RXD, DSR, CTS y DCD son de entrada. La masa de referencia para todas las seales es GND (Tierra de Seal). Finalmente, existen otras seales como RI (Indicador de Llamada).

  • Instituto de Fsica Universidad de Antioquia Curso de Instrumentacin

    Notas de clase profesores: Lucelly Reyes 4

    La conexin "mdem nulo" En ciertas aplicaciones es necesario interconectar directamente dos EDT's, es decir, la conexin serie no se realizar entre el PC y un mdem, sino entre el PC y otro dispositivo como otro PC, un Autmata Programable Industrial, u otros. En estos casos es necesario construir un cable de comunicaciones especial, con un cableado que permita la conexin de los dos equipos sin la mediacin de un mdem. Esta conexin tpica es la Ilamada de "mdem nulo" y se presenta en la figura.

    Conexin Mdem Nulo

    El puerto serie en el PC

    El computador controla el puerto serie mediante un circuito integrado especfico, llamado UART (Transmisor-Receptor-Asncrono Universal). Normalmente se utilizan los siguientes modelos de este chip: 8250 (bastante antiguo, con fallos, solo llega a 9600 baudios), 16450 (versin corregida del 8250, llega hasta 115.200 baudios) y 16550A (con buffers de E/S). A partir de la gama Pentium, la circuiteria UART de las placa base son todas de alta velocidad, es decir UART 16550A. De hecho, la mayora de los mdems conectables a puerto serie necesitan dicho tipo de UART, incluso algunos juegos para jugar en red a travs del puerto serie necesitan de este tipo de puerto serie. Por eso hay veces que un 486 no se comunica con la suficiente velocidad con un PC Pentium. Los porttiles suelen llevar otros chips: 82510 (con buffer especial, emula al 16450) o el 8251 (no es compatible).

    Para controlar al puerto serie, la CPU emplea direcciones de puertos de E/S y lneas de interrupcin (IRQ). En el AT-286 se eligieron las direcciones 3F8h (o 0x3f8) e IRQ 4 para el COM1, y 2F8h e IRQ 3 para el COM2. El estndar del PC llega hasta aqu, por lo que al aadir posteriormente otros puertos serie, se eligieron las direcciones 3E8 y 2E8 para COM3-COM4, pero las IRQ no estn especificadas. Cada usuario debe elegirlas de acuerdo a las que tenga libres o el uso que vaya a hacer de los puertos serie (por ejemplo, no importa compartir una misma IRQ en dos puertos siempre que no se usen conjuntamente, ya que en caso contrario puede haber problemas). Es por ello que ltimamente, con el auge de las comunicaciones, los fabricantes de PCs incluyan un puerto especial PS/2 para el ratn, dejando as libre un puerto serie. Mediante los puertos de E/S se pueden intercambiar datos, mientras que las IRQ producen una interrupcin para indicar a la CPU que ha ocurrido un evento (por

  • Instituto de Fsica Universidad de Antioquia Curso de Instrumentacin

    Notas de clase profesores: Lucelly Reyes 5

    ejemplo, que ha llegado un dato, o que ha cambiado el estado de algunas seales de entrada). La CPU debe responder a estas interrupciones lo mas rpido posible, para que de tiempo a recoger el dato antes de que el siguiente lo sobrescriba. Sin embargo, las UART 16550A incluyen unos buffers de tipo FIFO, dos de 16 bytes (para recepcin y transmisin), donde se pueden guardar varios datos antes de que la CPU los recoja. Esto tambin disminuye el numero de interrupciones por segundo generadas por el puerto serie.

    El RS-232 puede transmitir los datos en grupos de 5, 6, 7 u 8 bits, a unas velocidades determinadas (normalmente, 9600 bits por segundo o ms). Despus de la transmisin de los datos, le sigue un bit opcional de paridad (indica si el numero de bits transmitidos es par o impar, para detectar fallos), y despus 1 o 2 bits de Stop. Normalmente, el protocolo utilizado ser 8N1 (que significa, 8 bits de datos, sin paridad y con 1 bit de Stop).

    Una vez que ha comenzado la transmisin de un dato, los bits tienen que llegar uno detrs de otro a una velocidad constante y en determinados instantes de tiempo. Por eso se dice que el RS-232 es asncrono por carcter y sincrono por bit. Los pines que portan los datos son RXD y TXD. Las dems se encargan de otros trabajos: DTR indica que el computador esta encendido, DSR que el aparato conectado a dicho puerto esta encendido, RTS que el computador puede recibir datos (porque no esta ocupado), CTS que el aparato conectado puede recibir datos, y DCD detecta que existe una comunicacin, presencia de datos.

    Para enviar datos desde el DTE hacia el DCE en primer lugar debe ocurrir que DRS y CTS estn a 0. Despus se comunican datos usando TXD. En cualquier momento el DCE puede detener al DTE poniendo DSR a 1 o estableciendo CTS a 1.

    Tanto el aparato a conectar como el computador (o el programa terminal) tienen que usar el mismo protocolo serie para comunicarse entre si. Puesto que el estndar RS-232 no permite indicar en que modo se esta trabajando, es el usuario quien tiene que decidirlo y configurar ambas partes. Como ya se ha visto, los parmetros que hay que configurar son: protocolo serie (8N1), velocidad del puerto serie, y protocolo de control de flujo. Este ultimo puede ser por hardware (el que ya hemos visto, el handshaking RTS/CTS) o bien por software (XON/XOFF, el cual no es muy recomendable ya que no se pueden realizar transferencias binarias). La velocidad del puerto serie no tiene por qu ser la misma que la de transmisin de los datos, de hecho debe ser superior. Por ejemplo, para transmisiones de 1200 baudios es recomendable usar 9600, y para 9600 baudios se pueden usar 38400 (o 19200).

    UTILIZACIN DEL PUERTO SERIE MEDIANTE LabVIEW LabVIEW proporciona herramientas de gran utilidad para el manejo del puerto serie. Todas las funciones que son necesarias a la hora de realizar una comunicacin serie entre el PC y un perifrico se encuentran ya programadas en forma de Instrumentos Virtuales. De esta forma, la utilizacin del puerto serie es casi transparente al programador de LabVIEW. La manera de actuar es la siguiente: Cuando se desee realizar alguna operacin con el puerto, se escoger el icono necesario para dicha funcin, ste se cablear de forma adecuada y, al ser ejecutado, LabVIEW se ocupar de manejar el puerto convenientemente para obtener o entregar los datos requeridos.

  • Instituto de Fsica Universidad de Antioquia Curso de Instrumentacin

    Notas de clase profesores: Lucelly Reyes 6

    Los iconos de manejo del puerto serie se encuentran en el men Functions de la ventana Diagram. Una vez en Functions, se ha de acceder al submen Serial. Tras seguir estos pasos, aparecen en pantalla los cinco iconos que Labview ofrece para el uso del puerto serie. La situacin de estos iconos en el submen indicado se muestra en la figura. Una vez desplegado el submen de los iconos del puerto serie, se pulsa el botn izquierdo del ratn y, mantenindolo pulsado, se mueve la flecha hasta situarla sobre el smbolo de la funcin que se desee realizar. En la parte inferior de la ventana aparecer el nombre de dicha funcin. Cuando se tiene seguridad de que la eleccin es la correcta, se deja de pulsar el botn del ratn y el icono escogido aparecer sobre la pantalla del diagrama, quedando listo para ser utilizado.

    Es importante tener en cuenta que los pasos a seguir al utilizar el puerto serie son siempre los siguientes:

    Realizar la configuracin del puerto serie, inicializndolo segn las caractersticas que se deseen para la comunicacin. Ya no ser necesario volver a configurar el puerto mientras no se varen las condiciones de comunicacin.

    Acceder al puerto serie para recibir o enviar datos tantas veces como se deseen.

  • Instituto de Fsica Universidad de Antioquia Curso de Instrumentacin

    Notas de clase profesores: Lucelly Reyes 7

    A continuacin se mostrarn y se describirn los diferentes iconos de que dispone LabVIEW para el manejo del puerto serie. La explicacin de cada uno de estos iconos estar acompaada, para mayor claridad, por uno o ms ejemplos de programacin.

    Configuracin del puerto serie Antes de poder utilizar el puerto serie para transmitir y/o recibir, es imprescindible configurarlo. De esta manera se le indica al PC cmo ha de actuar en las comunicaciones, es decir, qu puerto serie ha de utilizar, con qu velocidad de transmisin ha de emitir y recibir bytes, qu tipo de paridad ha de utilizar, etc... Es importante tener en cuenta que la configuracin que se le d al puerto serie del PC ha de ser exactamente la misma que utilice el dispositivo perifrico. Si esto no fuera as, PC y perifrico no podran comunicarse con xito, ya que estaran utilizando especificaciones de transmisin diferentes. As pues antes de realizar ninguna operacin con el puerto serie, ser necesario configurarlo de forma adecuada, teniendo en cuenta las caractersticas de comunicacin serie del dispositivo. Una vez se ha configurado el puerto y no es necesario volverlo a configurar mientras no se deseen cambia las especificaciones de la comunicacin.

    PROTOCOLOS DE COMUNICACIN ("HANDSHAKING MODES") En una comunicacin serie es conveniente realizar un control sobre la transmisin y la recepcin de datos a fin de que sta se lleve a cabo de forma correcta, es decir, que no se pierda informacin. Uno de los principales problemas que se presentan es la vigilancia de los buffers que destina el puerto serie para la recepcin y transmisin de datos. Estos buffers son zonas de memoria reservada que funcionan de la siguiente manera: Por una parte, se guardan los datos que van Ilegando por el puerto serie desde el

    perifrico. Estos datos se mantienen almacenados hasta que son ledos por el programa que gestiona el puerto serie. Es posible que la Ilegada reiterada de informacin sin que sta sea leda acabe por Ilenar la capacidad del buffer de recepcin. En este caso, los nuevos datos que se reciban tras la saturacin del buffer son ignorados, es decir, toda esta nueva informacin se pierde. Para que se puedan volver a recibir datos nuevos, primero se han de leer algunos de los datos almacenados en el buffer, con lo que en ste se dejar espacio libre que podr ocuparse con la nueva informacin que se reciba.

    Por otra parte, en el buffer de emisin se almacenan los datos que se deseen

    enviar al perifrico, en espera de que Ia transmisin sea posible, es decir, en espera de que el perifrico se encuentre preparado para recibir.

    La gestin de los buffers de entrada y salida es transparente al usuario cuando se

    trabaja con LabVIEW, es decir, el usuario slo ha de leer del buffer de entrada los nuevos datos recibidos y escribir en el buffer de salida los datos que desee enviar, despreocupndose de cmo se Ilenan o vacan estos buffers.

    Los protocolos de comunicacin ("handshaking modes") se ocupan de evitar que el buffer de recepcin de datos del puerto serie se sature y, por consiguiente, se pierda

  • Instituto de Fsica Universidad de Antioquia Curso de Instrumentacin

    Notas de clase profesores: Lucelly Reyes 8

    informacin. Con el uso de estos protocolos, el PC y el perifrico se envan informacin sobre sus respectivos buffers de recepcin. La mecnica de funcionamiento de los protocolos es la siguiente: En el caso de que el buffer del receptor se Ilegue a saturar con datos recibidos, se enva una seal al emisor indicndole que ha de interrumpir la transferencia de datos ya que, de otro modo, se perdera informacin. El emisor recibe dicha seal y deja de transmitir, quedndose en espera de que el receptor vuelva a estar disponible para continuar con la comunicacin. Una vez el receptor haya ledo parte de la informacin contenida en su buffer, ste volver a disponer de espacio libre, con lo que se enviar una seal al emisor indicndole que ya puede continuar con la transferencia de datos. LabVIEW es capaz de utilizar dos tipos diferentes de protocolos de comunicacin: "Software handshaking" y "Hardware handshakng". En el caso de que se desee utilizar uno de ellos en la comunicacin, el protocolo escogido deber ser habilitado en el momento de realizarse la configuracin del puerto serie. Si ninguno de los dos es habilitado expresamente, por defecto LabVIEW no utilizar ningn protocolo en las transferencias. Esta ltima opcin es aconsejable, por su simplicidad, en aplicaciones en las que la cantidad de informacin a transmitir es pequea. En estos casos, la capacidad del buffer puede ser ms que suficiente para que ste nunca Ilegue a saturarse, siendo innecesaria, pues, la utilizacin. de protocolos. Ahora bien, si el volumen de informacin a transmitir es considerable y/o si el perifrico conectado al PC no es muy rpido, el uso de uno de los protocolos de comunicacin est del todo recomendado. IMPORTANTE: AI utilizar uno de los protocolos es necesario comprobar que el perifrico conectado al PC dispone tambin de la posibilidad de utilizar dicho protocolo. Si esto es as, se han de configurar los dos puertos serie, el del PC y el del perifrico, para que utilicen el mismo protocolo, de manera que puedan comunicarse satisfactoriamente. A continuacin se describen brevemente los dos tipo: disponibles en LabVIEW: Software Handshaking - XON/XOFF El protocolo XON/XOFF es un protocolo software para evitar la saturacin de los buffers de comunicacin serie. Su funcionamiento es el siguiente: Cuando el buffer de recepcin est a punto de ser saturado, el receptor enva el carcter XOFF (, decimal 19) para indicar al emisor que ha de detener la transferencia de datos para que no llegue a perderse informacin. Una vez el receptor ha ledo parte de la informacin contenida en su buffer de recepcin, dispondr de nuevo de espacio libre para recibir ms datos, enviando entonces el carcter XON (, decimal 17) para indicar al emisor que puede reanudar la transmisin. Si se activa el protocolo XON/XOFF, los dispositivos que se estn comunicando siempre interpretan los caracteres y como los comandos XOFF y XON respectivamente, no como datos. Es por esto que no se ha de utilizar este protocolo al transmitir informacin binaria, ya que es posible que dichos caracteres se encuentren por casualidad entre los byte enviados, con lo que se interpretarn errneamente como los comandos XON y XOFF, alterando el curso de la comunicacin, cosa que no es conveniente. En este caso se deber desactivar el protocolo XON/XOFF, con lo que los caracteres: y se

  • Instituto de Fsica Universidad de Antioquia Curso de Instrumentacin

    Notas de clase profesores: Lucelly Reyes 9

    interpretarn como datos y no actuarn sobre la comunicacin, ya que no son considerados comandos de control.

    Hardware Handshaking Es el segundo protocolo que puede utilizarse en las comunicaciones serie con Labview. AI igual que el protocolo software, su finalidad es la de evitar que llegue a saturarse alguno de los buffers de datos utilizados en la comunicacin. Ahora bien, en este caso no se controla la transferencia de informacin mediante el envo de caracteres, sino que se utiliza una serie de seales fsicas que interconectan los dos dispositivos a comunicar. Estas seales son: DSR, RTS, CTS y DTR, ya comentadas Dado que son seales que necesitan un soporte fsico para ser transmitidas, ser necesario construir un cable de comunicaciones adecuado para el uso de este protocolo. Un ejemplo muy usual de conexin de este cable es la configuracin de mdem nulo. Una vez se han conectados los dos dispositivos a comunicar con el cable adecuado, el protocolo podr hacer uso convenientemente de las seales de control antes indicadas. SERIAL PORT INIT, VI El icono que se ha de utilizar para la configuracin del puerto serie es el llamado Serial Port Init,vi. Ejecutando este icono se eligen las caractersticas de comunicacin que se desean para el puerto serie, es decir, el tipa de protocolo a utilizar, la velocidad de transmisin, la paridad, etc... En la figura se muestra dicho icono, as como sus conexiones.

    A continuacin se describen las diferentes conexiones del icono, su funcin y el tipo de dato que se le ha de introducir, en el caso de que se trate de una conexin de entrada, o el tipo de dato que entrega, si se trata de una conexin de salida.

    Flow control etc... : Esta es una conexin de entrada del tipo "cluster", es decir, est constituida por una serie de entradas que han sido agrupadas en un determinado orden, formando un paquete. Los parmetros que se introducen por esta conexin son relativos a los protocolos de comunicacin, Hardware Handshaking y Software Handshaking, Si, debido a la naturaleza de la aplicacin, se considera conveniente prescindir de los protocolos en las transferencias, esta conexin se ha de dejar al aire, no es necesario programarla. Si por eI contrario, se decide utilizar uno de los protocolos, se ha de crear un "cluster" con los valores adecuados y cablearlo a esta conexin.

  • Instituto de Fsica Universidad de Antioquia Curso de Instrumentacin

    Notas de clase profesores: Lucelly Reyes 10

    A continuacin se detallan, en el orden correcto, las diferentes variables que se han de introducir en Flow control, etc..., indicando el tipo de dato y su utilidad.

    Input XON/XOFF: Estando en True activa el protocolo XON/XOFF por parte de PC. En este caso, el perifrico considerar los caracteres XON/XOFF que el PC le enve, interrumpiendo la transferencia de datos cuando el PC lo solicite y reanudndola de nuevo cuando el PC indique que puede recibir ms datos.

    Input HW Handshake: Si se encuentra a True se permite la utilizacin de la lnea Request To Send (RTS). Esta lnea fsica ser activada segn el funcionamiento del protocolo "Hardware", es decir, cuando el PC quiera indicar al perifrico que desea enviarle datos.

    Input alt HW Handshake: En el caso de ser True, se habilita el uso de la lnea fsica correspondiente a Data Terminal Ready (DTR). Si el protocolo "Hardware" activa esta lnea, se indica al perifrico que el PC est preparado para enviar o recibir datos.

    Output XON/XOFF: Si se pone a True se permite la utilizacin del protocolo "Software" por parte del perifrico. En este caso el PC interpretar correctamente los caracteres XON/XOFF que le enve el perifrico en funcin del estado de su buffer de recepcin.

    Output HW Handshake: Cuando se encuentra a True se permite la utilizacin de la seal Clear To Send (CTS) por parte del protocolo "Hardware". Esta lnea se activa por el perifrico para indicarle al PC que est listo para recibir sus datos.

    Output alt HW Handshake: Si se pone a True se habilita el uso de la seal Data Set Ready (DSR) por el protocolo "Hardware". Cuando esta lnea se activa, el perifrico indica al PC que se encuentra preparado para transmitir o recibir datos.

    XOFF byte: En esta entrada se ha de indicar el byte a utilizar como comando XOFF, es decir, como carcter . Por defecto se emplea el byte 13H. Se ha de tener en cuenta que, en caso de utilizar el protocolo XON/XOFF, los bytes que se escojan para los comandos XON y XOFF no deben enviarse entre los datos, ya que seran interpretados como caracteres de control y se actuara errneamente sobre el curso de la comunicacin.

    XON byte: Aqu se ha de indicar el byte a utilizar como comando XON o sea, el byte que se emplear como carcter en caso de utilizar el protocolo XON/XOFF. Por defecto se usa el byte 11H.

    Parity error byte: En esta entrada se ha de indicar el byte que hay que utilizar en caso de que se produzca un error de paridad en la transmisin. Si el byte alto de la palabra indicada en esta entrada es diferente de cero, el byte bajo ser el carcter que se utilizar para reemplazar cualquier error de paridad que se detecte en la transmisin, siempre y cuando la paridad est activada. Por ejemplo, si en esta entrada se introduce el valor 013FH, y, adems, se est trabajando con alguna de las modalidades de paridad, dado que el byte alto del dato introducido es diferente de cero, cuando se detecte un error de paridad en un byte recibido, este byte errneo ser sustituido por el byte 3FH. De este modo, si se detecta la presencia de un byte de valor 3FH entre los datos recibidos, se podr saber que ese byte sustituye a un byte recibido que no era correcto, ya que en su transmisin se

  • Instituto de Fsica Universidad de Antioquia Curso de Instrumentacin

    Notas de clase profesores: Lucelly Reyes 11

    produjo un error de paridad. As pues, con la utilizacin de un byte reservado, en el ejemplo el 3FH, se podrn detectar los errores de paridad, desechando los byte que hayan sido transmitidos de forma incorrecta. Por defecto, en esta entrada se introduce un 0000H, lo que significa que no se utiliza ningn byte de error de paridad.

    IMPORTANTE: En el caso de utilizar un byte de error de paridad, se ha de tener en cuenta que la informacin a recibir no ha de contener dicho byte, ya que entonces se produciran errores de interpretacin.

    Buffer Size: En esta conexin se ha de entrar una constante entera. Con esta constante se le indicar al puerto el tamao que se desea que tengan los buffers de entrada y salida que se utilizarn en la transmisin y recepcin de mensajes.

    El tamao de estos buffers es de 1 kbyte como mnimo. Es decir, si en Buffer Size se introduce un valor igual o menor a 1.024 bytes, el puerto serie tomar un tamao de buffer de 1.024 bytes (1 kbyte). Ahora bien, es posible que sea necesario utilizar tamaos de buffer mayores para las transmisiones de datos. En este caso, se ha de introducir en Buffer Size el valor que se crea necesario.

    Port Number: En esta entrada se ha de introducir un valor entero entre 0 y 13. Con este valor se indica al PC cul de sus puertos serie se desea configurar. Los puertos serie que pueden ser configurados por Labview, as como sus respectivos nmeros, se indican a continuacin:

    0:COM 1 3: COM4 6. COM7 10: PRN 1 13: PRN 4 1. COM2 4. COM5 7: COM8 11: PRN 2 2: COM3 5. COM6 8: COM9 12. PRN 3

    Baud Rate: El valor que se introduzca en esta entrada se tomar como la velocidad de transferencia de datos, en baudios, con la que se configurar el puerto serie. A esta velocidad se realizarn todas las transferencias, tanto el envo como la recepcin de datos. Valores tpicos de velocidad de transferencia son los 1.200, 2.400, 4.800 y los 9.600 baudios.

    Data Bits: En esta conexin se ha de indicar el nmero de bits de los bytes recibidos que se considerarn como bits de datos. Es decir, cuntos bits han de ser tomados como bits de datos en cada byte recibido. Los valores que pueden tomar esta entrada van de 5 a 8 bits de datos.

    Stop Bits: En esta entrada se han de introducir los bits de stop que se deseen utilizar en las transferencias. Los valores que puede tomar son: 0 para 1 bit de stop o 1 para 2 bits de stop.

    parity: En esta conexin se ha de indicar el tipo de paridad que se desea utilizar en la comunicacin. Se introducir un 0 en el caso de no querer emplear ningn tipo de paridad, un 1 para utilizar paridad impar o un 2 en el caso de querer paridad par.

    Error Code: Esta es la nica conexin de salida que presenta el icono de configuracin del puerto serie. Por ella se entregar un -1 en el caso de que la

  • Instituto de Fsica Universidad de Antioquia Curso de Instrumentacin

    Notas de clase profesores: Lucelly Reyes 12

    velocidad de transmisin, los bits de datos, los bits de stop, la paridad o el nmero de puerto serie se encuentren fuera de rango. Tambin puede tomar el valor -1 si el puerto serie no ha podido ser inicializado correctamente.

    Si, al ejecutar el Serial Port Init.vi, se obtuviera un -1 en la salida Error Code, comprobar que los valores de Baud Rate, Data Bits, Stop Bits, Parity, y Port Number se encuentran dentro de sus respectivos mrgenes. En el caso de que todos estos valores fueran correctos verificar si efectivamente el puerto serie no ha sido configurado correctamente. Para ello, intentar efectuar transferencias de datos en ambos sentidos bajo las especificaciones escogidas de comunicacin. Si las transferencias no son posibles, intentar de nuevo la inicializacin del puerto serie. En caso de que el error persista, revisar con otra aplicacin software si el puerto serie funciona correctamente.

    Ejemplos configuracin puerto serie para las versiones viejas de Labview A continuacin se muestran tres ejemplos de configuracin del puerto serie. Ejemplo 1: En este ejemplo se pretende ilustrar cmo realizar una configuracin del puerto serie para que ste funcione sin utilizar ningn tipo de protocolo de comunicacin ('Handshaking Modes'). Como ya se ha comentado anteriormente, este tipo de configuracin es la indicada, dada su simplicidad, en aplicaciones en las que el volumen de datos a transferir sea reducido en comparacin con el tamao de los buffers de datos del puerto serie. Si esto es as, dichos buffers no llegarn a saturarse en ningn caso, con lo que no ser necesaria la utilizacin de ningn protocolo de comunicacin. Cuando se ejecute el VI que contenga programado el ejemplo siguiente, el puerto serie se configurar segn las especificaciones que a continuacin se detallan: 1 Kbyte de tamao de buffer Puerto COM 1 Velocidad de transmisin: 9.600 8 bits de datos 1 bit de stop Paridad par No se utiliza eI protocolo XON/XOFF. No se utilizan las seales de Hardware Handshake. Si se produce un error en la configuracin, se activa un indicador booleano en el

    panel principal El programa del ejemplo se muestra en la figura que sigue.

  • Instituto de Fsica Universidad de Antioquia Curso de Instrumentacin

    Notas de clase profesores: Lucelly Reyes 13

    Ejemplo 2 En este ejemplo se configura el puerto serie para que funcione con el protocolo software XON/XOFF. Este protocolo ser utilizado en ambos sentidos, es decir, lo usarn tanto el PC como el perifrico para controlar la ocupacin de sus respectivos buffers de recepcin. Como caracteres XON y XOFF se utilizarn los que se dan por defecto, es decir, el decimal 19 para XOFF y el decimal 17 para XON. En este caso no se utilizar ningn tipo de paridad, con lo que tampoco ser necesario especificar un byte de error de paridad.

    Las caractersticas con que se configurar el puerto serie en este ejemplo son las siguientes: 1 Kbyte de tamao de buffer Puerto COM 2 Velocidad de transmisin: 4800 baudios 7 bits de datos 2 bit de stop Sin Paridad. Se utiliza eI protocolo XON/XOFF. No se utilizan las seales de Hardware Handshake. Si se produce un error en la configuracin, se activa un indicador booleano en el

    panel principal Ejemplo 3 En este ejemplo se configurar el puerto serie para que funcione utilizando el protocolo hardware, es decir, el protocolo que utiliza las seales DSR, RTS, CTS y DTR. Se ha de tener en cuenta que, adems de configurar adecuadamente el puerto serie, los dos dispositivos a comunicar, el PC y el perifrico, han de estar conectados por un cable que soporte estas seales fsicas. Una configuracin tpica para dicho cable es la de mdem nulo, ya descrita. Por otra parte, se utilizar paridad impar en las transferencias. Dado que ahora s que se pueden detectar errores de paridad, se incluir tambin un byte de error de parida, concretamente el 3FH. El funcionamiento de este byte ha sido expuesto en eI apartado Parity error byte.

  • Instituto de Fsica Universidad de Antioquia Curso de Instrumentacin

    Notas de clase profesores: Lucelly Reyes 14

    Ntese que, aunque no se utiliza en este caso el protocolo XON/XOFF, es necesario completar del todo la estructura "cluster" que se ha de conectar a la entrada Flow control, etc... del icono Serial Port Init.vi. Es por esto que se Ie ha de dar algn valor a los bytes de XON y de XOFF, a pesar de que no sern utilizados en la comunicacin. De este modo, el "cluster" contendr, en orden, todos los elementos y podr cablearse al icono sin ningn problema. Los valores que toman estos bytes son los que se programan por defecto, es decir, el decimal 19 para el comando XOFF y el decimal 17 para el comando XON.