utilizando la COMUNICACION USB

4
tutorial 009 Vamos a aprender a utilizar el módulo de comunicación "USB" para poder conectar a una computadora nuestra placa microcontrolada. utilizando la COMUNICACION USB NIPLE permite comunicarse con amplia variedad de dispositivos mediante diferentes protocolos de comunicación. En este tutorial veremos como utilizar el Bus Serie Universal (USB) para poder interactuar con aplicaciones instaladas en una computadora. El USB, es un bus estándar industrial que define los cables, conectores y protocolos usados en un bus para conectar, comu- nicar y proveer de alimentación eléctrica entre computadoras, periféricos y dispositivos elec- trónicos. NIPLE incorpora la comunica- ción USB HID (Human Interface Device). Implementar la clase HID posee una característica que la hace muy interesante que es que la mayoría de siste- mas operativos modernos im- plementan los controladores ne- cesarios para poder comunicar- se con ellos sin ser necesaria la instalación de ningún driver adicional por parte del usuario. NIPLE actualmente dispone de 20 microcontroladores de la fa- milia 18F con capacidades USB: PIC18F1220 PIC18F4431 PIC18F2455 PIC18F2620 PIC18F1320 PIC18F2420 PIC18F2550 PIC18F4525 PIC18F2331 PIC18F2520 PIC18F4455 PIC18F4620 PIC18F2431 PIC18F4420 PIC18F4550 PIC18F13K50 PIC18F4331 PIC18F4520 PIC18F2525 PIC18F14K50

Transcript of utilizando la COMUNICACION USB

Page 1: utilizando la COMUNICACION USB

tutorial 009

VVaammooss aaaapprreennddeerr aa

uuttiilliizzaarr eell mmóódduullooddee ccoommuunniiccaacciióónn""UUSSBB"" ppaarraa ppooddeerr

ccoonneeccttaarr aa uunnaaccoommppuuttaaddoorraannuueessttrraa ppllaaccaa

mmiiccrrooccoonnttrroollaaddaa..

utilizando laCOMUNICACION USB

NIPLE permite comunicarse con amplia variedad de dispositivos mediantediferentes protocolos de comunicación. En este tutorial veremos como utilizar elBus Serie Universal (USB) para poder interactuar con aplicaciones instaladas enuna computadora.

El USB, es un bus estándarindustrial que define los cables,conectores y protocolos usadosen un bus para conectar, comu-nicar y proveer de alimentacióneléctrica entre computadoras,periféricos y dispositivos elec-trónicos.

NIPLE incorpora la comunica-ción USB HID (Human InterfaceDevice). Implementar la claseHID posee una característicaque la hace muy interesanteque es que la mayoría de siste-mas operativos modernos im-plementan los controladores ne-cesarios para poder comunicar-se con ellos sin ser necesaria lainstalación de ningún driveradicional por parte del usuario.

NIPLE actualmente dispone de20 microcontroladores de la fa-milia 18F con capacidades USB:

PIC18F1220 PIC18F4431 PIC18F2455 PIC18F2620

PIC18F1320 PIC18F2420 PIC18F2550 PIC18F4525

PIC18F2331 PIC18F2520 PIC18F4455 PIC18F4620

PIC18F2431 PIC18F4420 PIC18F4550 PIC18F13K50

PIC18F4331 PIC18F4520 PIC18F2525 PIC18F14K50

Page 2: utilizando la COMUNICACION USB

tutorial 009

Para poder utilizar la comunica-ción USB es necesario declararel módulo. Para esto seguimosla ruta:

DECLARACION DE DISPOSITIVOS>>> NUEVO DISPOSITIVO >>>COMUNICACIONES >>> USB

Los parámetros a configurarson:

DESCRIPCIÓN: es el nombre queaparecerá al conectar el disposi-tivo.

ID VENDOR: es el código delfabricante. Por defecto 1240.

ID PRODUCT: es el código deldispositivo. Por defecto 10.

configuración del módulo

programaciónSi no configuramos correcta-mente el CPU antes de declararla comunicación, NIPLE nos obli-gará a hacerlo. En esta ventanadebemos configurar un cristalde 20MHz y activar el móduloUSB.

Una vez que están todos losparámetros configurados debe-remos inicializar la comunica-ción insertando el bloque"Inicializar".

Acto seguido es necesario inser-tar el bloque "Refrescar". Estaacción mantiene activa la comu-nicación USB. Un dato a teneren cuenta es que la rutina duraaproximadamente 12uS y eltiempo entre refrescos debe sermenor a 50mS. Es decir que de-beremos refrescar la comunica-ción cada 50mS como máximo,insertando bloques en toda larutina.

Como esto puede llegar a serineficiente, el método adecuadopara realizar el refresco es uti-lizar un temporizador interno ygenerar una interrupción.

Page 3: utilizando la COMUNICACION USB

tutorial 009

Para no perder la conexión te-nemos que refrescarla, unamanera de hacerlo es medianteuna rutina generada por la inte-rrupción del timer 0.

Insertamos el temporizador in-terno TMR0 y lo configuramoscomo "temporizador".

Cabe recordar que el tiempoentre refresco debe ser menor a50mS, por lo tanto activamos laopción "Temporizar" y elegimos10mS con una presición apro-ximada.

Una vez ingresados todos estosparámetros, se activará el timer0 y se generará la rutina deinterrupción por desborde deltimer.

NIPLE genera de manera auto-mática una rutina con variosbloques que son indispensablespara el uso correcto de lainterrupción.

El bloque condicional"tiempo_t0=1" es el que evaluala finalización del tiempo confi-gurado, es decir que transcu-rridos aproximadamente 10mSesta condición se hará verdade-ra y ejecutará el bloque siguien-te.

En este punto deberemos incluirnuestro bloque de refresco de laconexión USB. Acto seguido de-beremos incluir los bloques de"fin de interrupción" en ambasramas del bloque condicional.

configuración del timer 0

rutina de refresco

Page 4: utilizando la COMUNICACION USB

tutorial 009

Una vez completados todos lospasos anteriores podremos ha-cer uso de los bloques de envíoy recepción de datos.

Para enviar datos debemos con-figurar algunos parámetros:

ID BUS: elección del bus de co-municación USB.

ACCION: Enviar.

TIPO: Bytes .

CANTIDAD: elección de la cant-idad de bytes a enviar.

BYTE: elección del tipo de datoa enviar (registro, decimal, he-xadecimal, binario, ASCII).

En caso de ser necesario sepuede activar una demora entreel envío de datos.

Para recibir datos debemos con-figurar algunos parámetros:

ID BUS: elección del bus de co-municación USB.

ACCION: Recibir..

TIPO: Fijo.

CANTIDAD: elección de la canti-dad de bytes a recibir.

Por último será necesario indi-car el o los registros donde sealmacenarán los datos obteni-dos.

enviar datos

NIPLE es un entorno visual e interactivo para facilitar al máximo la programación demicrocontroladores PIC. NIPLE es Microchip Recognized Third-Party Tool Provider.

>>> Puede descargar los archivos que complementan al tutorial (código fuente, esquemas ydatasheets) haciendo clic AQUÍ o leyendo el código QR <<<

recibir datos