Professional Documents
Culture Documents
Resumen—En este artículo se presenta una metodología Considerando las problemáticas planteadas
para realizar la comunicación entre LabVIEW y un anteriormente, en este artículo se presenta una metodología
microcontrolador PIC18F4550 de Microchip. Con las para establecer la comunicación vía USB entre LabVIEW y
herramientas presentadas en este trabajo se pueden adquirir y un microcontrolador. El artículo está dividido de la
enviar datos masivos de información hasta una velocidad de siguiente forma: en la sección II se presenta el desarrollo de
12Mb/s. La comunicación se realiza mediante la herramienta
la comunicación entre la PC y el microcontrolador. En la
Call Library Fuction de LabVIEW, la cual hace uso de la
librería mpusbapi que nos proporciona Microchip. El puente sección III contiene la vía y tipo de comunicación USB y en
que establece la comunicación entre el microcontrolador y la la IV se presenta el funcionamiento de librería mpusbapi 1 de
PC se realiza mediante las librerías usb del software CCS C microchip y la comunicación con LabVIEW, Por último, en
Compiler y el driver mchpusb para Microsoft Windows XP. la sección V se hace la validación de la comunicación USB,
Por último se realizan pruebas de adquisición y envió de datos. censando datos de temperatura y activando leds, que
simbolizan unas electroválvulas.
Palabras clave: Call Library Function, Mpusbapi.dll, USB,
Bulk Transfers USB, LabVIEW-USB.
II. COMUNICACIÓN ENTRE LA PC Y EL DISPOSITIVO USB
I. INTRODUCCIÓN
Existen tres maneras de establecer la comunicación por
USB (Bus Universal en Serie):
Muchas compañías en la industria de la manufactura
1. Bulk Transfers: transferencia bidireccional masiva
usan computadoras personales en sus plantas y laboratorios
de información.
para probar sus productos, tomar mediciones y automatizar
2. CDC: clase de dispositivos de comunicación
procesos. Al crear sistemas basados en computador, los
(emulación del protocolo RS232).
usuarios están aprovechando las ventajas de las tecnologías
3. HID: dispositivos de interfaz humana (plug-and-
de la computación más recientes tales como tarjetas de
play).
adquisición de datos.
En este trabajo se opto por la opción Bulk Transfers,
debido a que permite la transmisión de datos de alta
La técnica de instrumentos virtuales mediante tarjetas
velocidad (Full Speed) de 12Mb/s. Las transferencias Bulk
de adquisición de datos, es cada vez más utilizada en la
están diseñadas para soportar aquellos dispositivos que
industria. Esta metodología consiste en realizar paneles de
precisan enviar o recibir grandes cantidades de datos.
control en computador, tradicionalmente hechas por
software que utiliza instrumentos virtuales como LabVIEW.
Interconexión
A través de estos instrumentos virtuales (Vis) se pueden
supervisar en tiempo real las variables del proceso PC Dispositivo USB
(Temperatura, Humedad, Presión, entre otros.) y controlar Tarje
actuadores (válvulas, termoresistencias, entre otros). Estos LabVIEW Función
VIs brindan al usuario una gran flexibilidad de operación
debido a que no requieren de ninguna circuitería para Librería Mpusbapi
realizar complicados procedimientos de control, simulación TAD
y supervisión.
Controlador del
Actualmente la obtención de datos en LabVIEW, se dispositivo USB
Firmware
realiza mediante tarjetas de adquisición (TAD) que National
Instrument desarrolla. Estas TAD generalmente son muy Host USB Microcontrolador
costosas y de uso limitado, esto es, que no puede utilizarse
en ningún otro software. El costo es la principal limitante Fig. 1. Etapas de comunicación entre la PC y el Dispositivo USB.
que hace difícil adquirirlas por estudiantes, universidades y
centros de investigación. En el diagrama de la Figura. 1 se ilustra el flujo de datos
USB a partir del software LabVIEW que manipula al
1
Mpusbapi es una librería creada por Microchip para utilizar el
microcontrolador.
ISBN: -1 / 5-
CONAGOLFO 2009
dispositivo USB a través de la librería mpusbapi. La librería de cómo los bytes de información debe ser interpretado o
realiza la transmisión de datos a la dirección del dispositivo tratados. Y por ultimo esta la opcional donde contiene los
que el host USB configuro al usar el driver. El driver datos enviados y recibidos, que va desde 1 byte hasta 124
establece el puente entre la PC y el microcontrolador. Dentro bytes.
del microcontrolador se ejecuta el firmware el cual se
comunica con elementos de la TAD, que realizan algunas B. Microcontrolador PIC
funciones útiles para el usuario o lo que se desea controlar. Para establecer la interfaz de comunicación USB se
selecciono el microcontrolador PIC18F4550. Este
Una descripción formal de los principales procesos o dispositivo soporta la comunicación vía USB, es decir,
elementos que realizan la comunicación entre el dispositivo incluyen un controlador USB interno y cuenta con pines para
USB y la PC se enumeran a continuación. conectarse a la PC sin la necesidad de pull-ups o circuitería
externa [5]. En la Figura. 4 se observa la estructura interna
A. Interconexión del controlador de periférico USB.
El dispositivo USB dispone de 2 tipos de conectores (A
y B) como se observa en la figura 2, que pueden ser a su vez
macho o hembra [2].
PIC18F4550 LIN-UART
Full Speed MCU Core
Interfaz USB 2.0 12MIPS I2C/SPI
2 1
48MHZ 16-bit Captura
1 2 3 4
USB Regulador de 32 Kbytes
3 4
Voltaje Enhanced Flash Quad. PWM
A B 2 Kbytes 10-bit
Fig. 2. Conectores USB Transferencia USB RAM ADC
Full Speed 256 Bytes
De esta forma el típico cable USB sería el modelo EEPROM
US09. La velocidad soportada por estos cables es de 12
Mbps, hasta 480Mbps en el caso de los cables para USB Fig. 4. Característica del PIC18F4550
2.0. El cable está compuesto por solo cuatro cables, Vbus,
D+, D- y GND (Ver Tabla1). La información y los datos se El firmware 2 que se implemento en el PIC18F4550
mueven por los cables D+ y D-. para establecer la comunicación USB con la PC, se realizo a
través de las siguientes instrucciones de programación.
TABLA 1.
Pines de conexión USB Inicio
Pin Nombre Color de cable Inicializa el USB
1 +5.0V Rojo
2 Data- Blanco Habilita el Periférico USB
3 Data+ Verde
Espera que sea configurado por la PC
4 Tierra Negro
Trasmisión de datos a la PC
Si ¿Conexión con
Windows Xp?
No
Fin
Fig. 3. Composición de un paquete de información Fig.5. Diagrama de flujo del firmware
-2 / 5-
CONAGOLFO 2009
A. Pipe Stream
La Pipe Stream es una vía de comunicación
unidireccional entre el host y el endpoint de los tipos Bulk, mpusbopen
Interrupción o Isócrono. Si un dispositivo necesita realizar
mpusbwrite
transferencias bidireccionales de un tipo de endpoint
concreto el sistema debe establecer dos pipes, una de salida mpusbread
y una pipe de entrada. A través de estas pipes, el sistema
puede leer del dispositivo toda la información descriptiva mpusbclose
necesaria para identificar el tipo de dispositivo, posibles Si
configuraciones, protocolo que soporta, número y tipos de ¿Continuar?
enpoints que soporta en cada posible configuración, etc. No
Fin
-3 / 5-
CONAGOLFO 2009
Mpusbread (handle, pData, dwLen, pLenght, Fig. 8. Diagrama electrónico del Proyecto
dwMilliseconds):
La transmisión de datos vía USB se realizo
manipulando el encendido de forma intencionada de unos
5
leds(Ver Fig. 8). Estos leds representan el encendido digital
VID_PID es la unión entre la identificación del dispositivo (PID) y del
de actuadores como válvulas de paso.
vendedor (VID), en número hexadecimal de 16bits.
-4 / 5-
CONAGOLFO 2009
Fig. 9. VI PicUSB-LabVIEW
REFERENCIAS
En la Figura 10, se muestra la programación
[1] Gary W. Johnson, R. J. (2006). LabVIEW Graphical Programming,
estructurada con el respectivo subVI creado y en la Figura. Fourth Edition. New York: McGraw-Hill.
11, se muestran la programación virtual del proyecto. [2] Jan Axelson. (2001). USB Complete Everything You Need to
Develop Custom USB Peripherals,Third Edition. Madison, WI:
Lakeview Research.
[3] Lazaro, A. M. (2005). LABVIEW 7.1: PROGRAMACION
GRAFICA PARA EL CONTROL DE INSTRUMENTACION,
Cuarta Edición. Texas: Thomson.
[4] National Instruments (2008). http://www.ni.com
[5] Universal Serial Bus (2008). http://www.usb.org
[6] Microchip (2008). http://www.microchip.com
-5 / 5-