Proyectos con Microcontroladores

20
APLICACIONES CON MICROCONTROLADORES PIC18 DISPLAYS LCD ALFANUMéRICOS Y GRáFICOS MóDULOS RABBIT, ZIGBEE Y BLUETOOTH CONTROL REMOTO POR INFRARROJO Y POR RADIOFRECUENCIA COLECCIÓN USERS ELECTRÓNICA APRENDA A DESARROLLAR SUS PROPIAS APLICACIONES PROYECTOS CON MICROCONTROLADORES ADEMÁS ¡CONTIENE EJEMPLOS PRáCTICOS PARA PONER MANOS A LA OBRA!

description

En esta obra continuamos con los proyectos con microcontroladores que comenzamos en el libro anterior. En esta oportunidad, comenzaremos con la construcción de una placa experimental PIC18 y aprenderemos a utilizar los periféricos internos del PIC.

Transcript of Proyectos con Microcontroladores

Page 1: Proyectos con Microcontroladores

Nuestro sitio reúne a la mayor comunidad de tecnología en América Latina. Aquí podrá comunicarse con lectores, editores y

autores, y acceder a noticias, foros y blogs constantemente actualizados. Además, podrá descargar material adicional de los

libros y capítulos gratuitos, o conocer nuestras otras publicaciones y acceder a comprarlas desde cualquier parte del mundo.

Si desea más información sobre el libro: Servicio de atención al lector [email protected]

Microcontrollers projectsIn this book, we will continue the study of microcontrolllers that we started in Microcontrollers. This time, we are going to build a PIC18 experimental board, we will learn about PIC internal peripherics, and apply wireless conectivity in several projects.

APLICACIoNes CoN mICroCoNTroLAdores PIC18

dIsPLAys LCd ALfANumérICos y gráfICos

móduLos rAbbIT, ZIgbee y bLueTooTh

CoNTroL remoTo Por INfrArrojo y Por rAdIofreCueNCIA

C o l e C C i ó n U s e r s e l e C t r ó n i C a

AprendA A desArrollAr sus propiAs AplicAciones

proyectos conMicrocontroladores

proy

ecto

s co

n Mi

croc

ontr

olad

ores

proyectos con Microcontroladores

adeMás

electrónica prácticaAprenda a analizar, simular y construir circuitos

Microcontroladoresfuncionamiento, programación y aplicaciones prácticas

networking con Microcontroladoresdescubra cómo acceder remotamente a sus equipos

adeMás

sobre la colección: electrónica■ Aprendizaje guiado mediante explicaciones claras y concisas ■ proyectos prácticos basados en necesidades reales■ consejos de los profesionales ■ infografías y procedimientos paso a paso ■ producciones fotográficas profesionales

N I V E L D E U S U A R I O

intermedioBásiCo avanzado experto

en esta obra continuamos con los proyectos con microcontroladores que comenzamos a desarrollar en el libro anterior. en esta oportunidad, iniciaremos la construcción de una placa experimental pic18, utilizaremos los periféricos internos del pic y estudiaremos las posibilidades de conectividad inalámbrica.

dentro del libro encontrará■ Placa experimental para PIC18Lf4620 ■ Consideraciones de armado ■ Periféricos externos ■ Contador y PWm ■ Conversores

analógico-digitales ■ Tecnologías de displays LCd ■ Proyecto de alarma térmica ■ Conectividad no inalámbrica e inalámbrica

■ docklight ■ usb ■ módulos prearmados ■ Zigbee y 802.15.4 ■ Conexión con la PC y configuración

¡CoNTIeNe ejemPLos PráCTICosPArA PoNer mANos A LA obrA!

Page 2: Proyectos con Microcontroladores

6

PREL IMINARES

Contenido del libro

Prólogo al contenido 003

El libro de un vistazo 004

Introducción 010

CAPÍTULO 1ARMADO DE UNA PLACA EXPERIMENTAL 011

Placa experimental para PIC18LF4620 012

• Esquemático 012

• Consideraciones de armado 014

• PASO A PASO /1

Consideraciones de armado 015

Conexión al PIC de periféricos externos 018

• Pulsadores 019

• Relay 019

• Display de 7 segmentos 020

• Puertos I/O 021

Infografía 1: Periféricos

en microcontroladores 025

Práctica PWM 027

• Ejercicio 028

• Código 029

• Medición del ancho de pulso 032

Conversores Analógico-Digitales 033

• Resolución de los conversores A/D 033

• Conversor Digital-Analógico 034

• Conversor Estático o Flash 037

• Conversor de Rampa Simple

o Dinámico 038

• Conversor de Doble Rampa 039

• Conversor por

aproximaciones sucesivas (SAR) 040

• Conversor comercial ADC0808 042

Multiple choice 044

CAPÍTULO 2PERIFÉRICOS PIC 045

Periféricos PIC 046

Periféricos PIC 046

Periféricos del PIC18LF4620 046

• Los timers 047

• El timer 0 047

• Timers 1 y 3 047

• Timer 2 048

• El conversor analógico/digital 049

• Placas entrenadoras 051

Manejo del display LCD inteligente 052

• Comandos del LCD 053

• Caracteres del LCD 054

• Conexión del LCD en 8 bits 055

• Conexión del LCD en 4 bits 057

• Librería LCD del MPLAB C18 059

• Funciones de la librería xlcd 059

• Agregar la librería xlcd

a nuestro proyecto 060

• Modificar la librería del LCD 061

Proyecto de alarma térmica 062

• Sensor de temperatura 062

Preliminares.qxp 11/10/2011 16:33 PÆgina 6

Page 3: Proyectos con Microcontroladores

Conten ido de l l ib ro

• Esquemático 062

• Diagrama de flujo 066

• Configuraciones del PIC 066

• Configuración del LCD 068

• Alarma térmica em MPLAB C18 068

Multiple choice 074

CAPÍTULO 3CONECTIVIDAD NO INALÁMBRICA 075

Sistemas embebidos 076

Protocolos de conectividad 076

• Comunicación serie asíncrona y RS-232 076

• La comunicación 078

• Puerto serie 079

• El estándar RS-232 079

• Uso de la UART del PIC18F4620 080

• Interfaz RS-232 082

Docklight 083

• Cómo utilizar Docklight 084

Universal Serial BUS 088

• USB fácil: FT2232D chip 089

• Drivers 089

• Modo FT245BM 091

• Modo FT232BM 091

• Serial Peripheral Interface 092

• El bus SPI 093

• La comunicación SPI 094

• Modos SPI 094

• Tipos de periféricos 096

• Conexión de una memoria SPI 098

Bus de comunicación I2C 101

• Protocolo de comunicación 102

• Condiciones de START y STOP 102

• Transferencia de datos 102

• Comparación entre I2C y SPI 104

• Dispositivos I2C 104

• Uso de I2C en el PIC18F4620 104

• Conexión y manejo

de un periférico I2C 105

Multiple choice 106

CAPÍTULO 4CONECTIVIDAD INALÁMBRICA 107

Conectividad inalámbrica 108

• Opciones de comunicación con la PC 108

• Tecnología Bluetooth 109

Módulos prearmados (Kcwirefree) 110

¿Por qué tantas opciones? 112

• Tecnología Wi-Fi 113

• Bluetooth 113

• ZigBee y 802.15.4 113

ZigBee y 802.15.4 115

• ZigBee 117

• ZigBee en concreto 119

Módulos prearmados (XBee y XBee ZB) 120

• XBee 802.15.4 120

• Conexión punto a punto 121

• Punto a multipunto con coordinador 121

• Módulos XBee ZB 122

• Comunicación a un sitio central 124

• Conectarse con los módulos XBee 124

• Conexión con la PC y configuración 124

Red de sensores ZigBee 129

• El coordinador 129

7

Preliminares.qxp 11/10/2011 16:33 PÆgina 7

Page 4: Proyectos con Microcontroladores

PREL IMINARES

• Los routers 130

• Los end-devices 130

• Lectura de los reportes 130

Control por RF 131

• El transmisor 132

• El receptor 132

Control por infrarrojos 134

• Estándar RECS80 135

• Estándar RC5 135

• El receptor 136

Multiple choice 138

CAPÍTULO 5MÓDULOS RABBITY DISPLAYS LCD GRÁFICOS 139

Historias de microprocesadores 140

• De 8080 a Rabbit 5000 140

• Del 6800 al HCS08 140

• MSP430 y AVR 142

• Microchip PIC 142

Módulos Rabbit 142

• La arquitectura 143

• El micro por dentro 144

• Puertos de entrada/salida 144

• Manejo de memoria 145

• Periféricos 145

Dynamic C 147

• Características 148

• Variables protegidas 148

• Variables compartidas 148

• Utilidad de configuración de I/O 149

• Rabbit BIOS 149

• Bibliotecas de funciones 150

• Puertos de I/O 150

• Grabar datos en flash 151

• Librería RS-232 151

• El GPS 152

• La librería PWM 152

• Reloj de tiempo real 152

• Detectores de cuadratura 153

• Displays con pantalla sensible 153

• Codificador en cuadratura 154

Mundo Rabbit 154

• Módulos de 5 Volts 155

• Módulos de 3,3 Volts 156

• Minicores (3,3 V) 157

Displays gráficos LCD 157

• El display 157

• Control de contraste 158

• Control del display 160

• Algoritmos 161

• PLOT, encendiendo píxeles 164

• Cómo dibujar gráficos y funciones 164

• Dibujo de funciones 165

Cómo dibujar letras 165

• Dibujar caracteres 166

• Dibujar gráficos y textos paso a paso 166

PASO A PASO /1 Cómo dibujar

gráficos y textos 168

Multiple choice 174

SERVICIOSAL LECTOR 175

Índice temático 176

Programas relacionados 179

Catálogo 181

8

Preliminares.qxp 11/10/2011 16:33 PÆgina 8

Page 5: Proyectos con Microcontroladores

Veremos las diferentes opcionesdisponibles para conectar un sistemaembebido a nuestra computadora.

Capítulo 3

CCoonneeccttiivviiddaadd

nnoo iinnaalláámmbbrriiccaa

PRO_Cap3.qxp 06/10/2011 15:31 PÆgina 75

Page 6: Proyectos con Microcontroladores

3.Conect iv idad no ina lámbr ica

Sistemas embebidos

Un sistema embebido es un dispositivo controladopor un procesador, dedicado a realizar una única ta-rea o una serie de ellas. Un módem, por ejemplo, esun sistema embebido que maneja tareas de comuni-cación a través de la línea telefónica. Algunos siste-mas embebidos son únicos en su tipo o se constru-yen para proyectos específicos.

Los microcontroladores se encuentran presentesen numerosos sistemas embebidos. Para realizarsus funciones, necesitan el apoyo de otros disposi-tivos digitales, como puede ser una computadorapersonal, una memoria o un display LCD, por nom-brar sólo algunos. Con este objetivo, precisa co-municarse con ellos, es decir, transmitir y recibir in-formación relevante al desempeño de las tareaspara las cuales fue diseñado. Debido a esta nece-sidad de comunicación, se desarrollaron diversosprotocolos, y en esta clase veremos, específica-mente, los de conectividad no inalámbrica.

Protocolos ddee ccoonneeccttiivviiddaadd

SPI, microwire, I2C y SMBus son protocolos de in-terconexión utilizados en comunicaciones de micro-controladores con periféricos, memorias EEPROM,displays LCD u otro tipo de circuitos integradosque requieran una intercomunicación digital. Estas in-terfaces tienen un formato de transmisión serie y seencuentran, principalmente, en sistemas embebidos.

La computadora personal o PC, omnipresente ennuestra vida, es actualmente la herramienta tecno-lógica más popular junto con el teléfono móvil.Nos permite realizar todo tipo de tareas y nosofrece una capacidad de procesamiento de datoscada vez más poderosa. Además, el avance de In-ternet la ha transformado en un puente de cone-xión con el mundo. Por todo esto, sería deseablepoder establecer una comunicación entre un dis-positivo periférico (diseñado por nosotros) y la PC.La Tabla 1 muestra algunas de las opciones dis-ponibles al respecto. Además de las mencionadas,existen otras interfaces populares. El protocoloMIDI, por ejemplo, se emplea en la conexión deinstrumentos musicales electrónicos con la PC.

COMUNICACIÓN SERIEASÍNCRONA Y RS-232Analizaremos la comunicación serie asíncrona, suaplicación en la conectividad de un sistema embe-bido con una PC y el estándar RS-232. Este tipo decomunicación define una manera de transmitir lainformación de a un bit por vez, en un formato de-terminado, a una velocidad acordada de antemanopor las partes. En general, existen muchos protoco-los de comunicación serie que, además, son asín-cronos (Figura 1). En particular, aquí estudiaremos

76

Conectar un dispositivo a la PC nos permite aprovechar todas lasventajas que ésta ofrece

PRO_Cap3.qxp 06/10/2011 15:31 PÆgina 76

Page 7: Proyectos con Microcontroladores

77

Protoco los de conect iv idad

FIGURA 1. La conectividad USB nos abre

un nuevo mundo de posibilidades y nos

permite ampliar las características y

funciones de nuestros periféricos.

RS-232 Serie asíncrono 2 15 m 19200 a 15 m Módem, mouse

instrumentación

RS-485 Serie 32 1200 m a 10 M a 12 m Adquisición de datos

asíncrono 100 Kbps y sistemas de control

(half-duplex)

USB Serie asíncrono 127 5 m 1,5 M; 12 M; 480 Mouse, teclado, memoria,

M; 4,8 G (USB 3.0) audio, impresora, periférico

personalizado

Ethernet Serie 100 m par 10/100/1000 M Comunicaciones de

trenzado redes en general

Puerto Paralelo 2 3-9 m 8 M Impresora, escáner

paralelo

IEEE- Serie 64 90 m 3,2 G Video, audio, dispositivos

1394 de almacenamiento

(Firewire)

IEEE-488 Paralelo 15 18 m 8 M Instrumentación

(GPIB)

INTERFAZ FORMATONÚMEROMÁXIMO DEDISPOSITIVOS

DISTANCIAMÁXIMA

VELOCIDADMÁXIMA(BITS/SEGUNDO)

USO TÍPICO

TABLA 1. Existen múltiples opciones de conectividad no inalámbrica con la PC;

en la tabla se presentan las más importantes.

PRO_Cap3.qxp 06/10/2011 15:31 PÆgina 77

Page 8: Proyectos con Microcontroladores

78

3.Conect iv idad no ina lámbr ica

FIGURA 2. La transmisión

serie asíncrona del carácter

‘a’ y su recepción.

lo relacionado con la comunicación elemental so-bre la base de un puerto serie en una PC y unaUART (Universal Asynchronous Receiver/Transmitter)en un microcontrolador.

LA COMUNICACIÓNEl concepto de comunicación es muy amplio; sinembargo, en este caso nos referiremos a la acción deconectar dos dispositivos electrónicos por un mediofísico. En este sentido, la comunicación es bidirec-cional y, vista desde el microcontrolador, se realizade la siguiente manera:

• En ausencia de información, la señal se mantie-ne en el estado lógico alto.• Un carácter de información se inicia con un bit destart, cuya misión es indicar al receptor que la infor-mación sigue a continuación.• El dato de información se envía con el bit menossignificativo primero, y puede contener desde 5hasta 8 bits. En algunos casos, se manda un novenobit para aplicaciones particulares.

• De manera opcional, pero acordado de antemano,se envía un bit de paridad. Éste se calcula empare-jando la cantidad de unos en el carácter, para quesea par o impar.• El carácter se termina con 1 o 2 bits de stop,cuya finalidad es volver la línea de transmisión alestado de reposo durante un tiempo suficientecomo para que el receptor pueda identificar el pró-ximo bit de start. La Figura 2 muestra el envíodel carácter ‘a’ (0x61) en 8 bits.

PRO_Cap3.qxp 06/10/2011 15:31 PÆgina 78

Page 9: Proyectos con Microcontroladores

79

Protoco los de conect iv idad

Es importante aclarar que asíncrono significa queno utiliza una señal de reloj para la transmisión y re-cepción de datos. Los relojes internos de transmi-sor y receptor deben estar lo suficientemente pró-ximos y mantener una estabilidad tal, que permita lacomunicación de un carácter. Por lo general, el re-ceptor sincroniza su reloj con el flanco descendentedel bit de start y observa los datos en el centro decada bit de información.

PUERTO SERIEEl puerto serie es la interfaz en una computadora uotro dispositivo que transmite datos de a un bit porvez. En el uso convencional, el término puerto serie se refiere a aquél que utiliza este protocoloasíncrono que acabamos de ver. Es bidireccional,

ya que puede enviar y recibir información. En mu-chas ocasiones, podemos pensar que transmitir unbit a la vez es ineficiente para las comunicacionesactuales; sin embargo, este sistema tiene sus venta-jas, como la posibilidad de utilizar cables de bajocosto y conectores pequeños (Figura 3). En unaPC, las aplicaciones de software acceden al puertoserie mediante el llamado COM port.

EL ESTÁNDAR RS-232El estándar V.24 de la ITU-T (International Telecom-munications Union, Telecommunications Standardi-zation Sector) define 25 líneas de conexión entre unDTE (Data Terminal Equipment, una computadora) yun DCE (Data Communications Equipment, un mó-dem o periférico).

FIGURA 3. La mayoría de las nuevas PCs no poseen puerto serie en su hardware. Sin embargo, es

posible agregarlo mediante un convertidor de USB a serie.

PRO_Cap3.qxp 06/10/2011 15:31 PÆgina 79

Page 10: Proyectos con Microcontroladores

80

3.Conect iv idad no ina lámbr ica

El estándar RS-232 de la EIA/TIA (Electronics/Tele-communications Industries Association) determina losniveles de tensión para realizar la comunicación (Figura 4). Existen variantes que fijan el nivel máxi-mo, pero la mayoría coincide en aceptar lo siguiente:

• Un 0 lógico se representa con un nivel de tensiónmayor a 3 V.• Un 1 lógico se representa con un nivel de tensiónmenor a -3 V.

La distancia máxima es de 15 m, y la velocidad má-xima a esa distancia es de 19200 bps; velocidadesde hasta 115200 bps o más son posibles a distan-cias menores. La comunicación es por cable conven-cional, con referencia de masa (no-balanceado). Lasseñales más comunes de RS 232 pueden apreciarse

en la Tabla 2. Existe un modo de conexión muy uti-lizado, denominado de 3 cables (3-wire), que em-plea sólo TD, RD y GND.

USO DE LA UART DEL PIC18F4620Este microcontrolador posee un módulo denominadoEUSART, que es una UART con capacidad de funcio-nar, además, en modo sincrónico. El módulo se habilitamediante el bit SPEN en el registro RCSTA. La trans-

FIGURA 4. El estándar RS-232 utiliza un conector tipo DB-25 (de 25 pines) o DB-9 (de 9 pines).

El puerto serie es la interfaz en una PC u otro dispositivo quetransmite datos de a un bit por vez

PRO_Cap3.qxp 06/10/2011 15:31 PÆgina 80

Page 11: Proyectos con Microcontroladores

81

Protoco los de conect iv idad

Cuando el USB llegó al mercado, se pronosticó la desaparición del puerto serie. Muchos sis-

temas embebidos continúan usándolo porque su implementación es más económica y la pro-

gramación, menos compleja. Además, permite el uso de cables de mayor longitud.

¿POR QUÉ UTILIZAR PUERTO SERIE?

TD (Transmit Data) 2 3 DTE�DCE Datos por transmitir

RD (Received Data) 3 2 DTE�DCE Datos recibidos

RTS (Request 4 7 DTE�DCE El terminal desea transmitir

To Send)

CTS (Clear To Send) 5 8 DTE�DCE El terminal puede transmitir

DTR (Data 20 4 DTE�DCE El terminal está operacional

Terminal Ready)

DSR (Data Set Ready) 6 6 DTE�DCE El módem está operacional

DCD (Data 8 1 DTE�DCE El módem recibe portadora

Carrier Detect) del módem remoto

RI (Ring Indicator) 22 9 DTE�DCE Se recibe un llamado por la línea telefónica

GND (Ground) 7 5 COMÚN

NOMBRE PIN (25) PIN (9) SENTIDO FUNCIÓN

TABLA 2. Algunas de las señales más comunes en una comunicación asíncrona.

misión se efectúa a través del registro TXREG, y la re-cepción, mediante el RCREG. Existen dos registros deestado, TXSTA y RCSTA, que nos permiten controlar yconocer la actividad de la UART. La velocidad y formade operación se controlan a través del registro BAUD-CON y de un Baud Rate Generator (BRG) interno.

En MPLAB C18, disponemos de una función de in-cialización y de cuatro elementales para enviar y re-cibir información por la UART:

• OpenUSART(): permite la configuración de laUART del microcontrolador, incluyendo velocidad einterrupciones. Configura un modo de trabajo sininterrupciones, en 8 bits por carácter, recepción con-tinua a FOSC / (64 * (spbrg + 1)) bps. Por ejemplo:

OpenUSART( USART_TX_INT_OFF &

USART_RX_INT_OFF &

USART_ASYNCH_MODE & USART_EIGHT_BIT &

USART_CONT_RX & USART_BRGH_LOW, spbrg );

PRO_Cap3.qxp 06/10/2011 15:31 PÆgina 81

Page 12: Proyectos con Microcontroladores

82

3.Conect iv idad no ina lámbr ica

• WriteUSART(): escribe un byte en el buffer detransmisión de la UART.• BusyUSART(): permite conocer si la UART estátransmitiendo• DataRdyUSART: permite conocer si se ha recibi-do un carácter.• ReadUSART(): lee un byte del buffer de recep-ción de la UART.

La operatoria en transmisión es verificar si la UARTha terminado de transmitir y, luego, enviar un ca-rácter. En recepción, verificamos si hay uno dispo-nible y, a continuación, llamamos a la función quenos lo entrega.

INTERFAZ RS-232En la Figura 5 vemos el circuito esquemático de unainterfaz RS-232 genérica para nuestros proyectos. Sebasa en el MAX232, que incluye dos excitadorespara convertir las entradas de niveles TTL a RS-232y dos receptores que se encargan de transformar en-tradas RS-232 en salidas a niveles TTL (Figura 6).

FIGURA 5. El circuito esquemático

de la interfaz RS-232.

FIGURA 6. En el sitio web de Microchip,

www.microchip.com, podemos encontrar

una versión de evaluación del MPLAB C18.

PRO_Cap3.qxp 06/10/2011 15:31 PÆgina 82

Page 13: Proyectos con Microcontroladores

83

Protoco los de conect iv idad

Docklight

Docklight es un software para verificación, análi-sis y simulación de protocolos de comunicación se-rie (RS-232, RS-485 y otros).

Veamos cómo utilizar este programa permite realizarel monitoreo de la comunicación serie entre dos dispo-sitivos o simular el comportamiento de uno de ellospara verificar el comportamiento del otro. Las funcio-nes de este software son las siguientes:

FIGURA 7. Es posible insertar Docklight

entre la comunicación de dos dispositivos

serie para monitoreo. Debemos poseer dos

puertos COM en la PC.

FIGURA 8. Con Docklight podemos verificar la implementación del protocolo serie en un

dispositivo. Es posible definir una secuencia de control reconocible por el dispositivo y

analizar las respuestas que éste genera.

PRO_Cap3.qxp 06/10/2011 15:31 PÆgina 83

Page 14: Proyectos con Microcontroladores

84

3.Conect iv idad no ina lámbr ica

• Simular un protocolo serie. Docklight puedeenviar secuencias de datos definidas por el usuariosegún el protocolo utilizado; además, es capaz deactuar según las secuencias que reciba. Esto haceposible simular el comportamiento de un dispositivoserie, algo particularmente útil para generar condi-ciones de verificación que son difíciles de reproducircon el dispositivo original.• Registrar datos de RS-232. Cualquier comuni-cación serie puede ser registrada utilizando dos for-matos de archivos diferentes. Es posible empleartexto normal para registrar una gran cantidad dedatos rápidamente, o utilizar un formato HTML contexto que permita distinguir fácilmente entre losdatos entrantes y salientes.• Detectar secuencias de datos específicas. Enmuchos casos, necesitamos verificar la ocurrencia deuna secuencia específica dentro de la informaciónen RS-232 que indica una condición de error.Docklight maneja una lista de estas secuencias, y escapaz de realizar acciones definidas por el usuarioen caso de detectarlas.• Responder a datos entrantes. Docklight da laposibilidad de especificar respuestas definidas por elusuario a diferentes secuencias recibidas. De esta

Las celdas de unamemoria PROM se

construyen alrededorde fusibles, diodos y

transistores

Docklight es un software de verificación, análisis y simulaciónde protocolos de comunicación serie

manera, es posible construir un simulador básicopara nuestro dispositivo serie, y rastrear erroresenviando un comando de diagnóstico luego de reci-bir un mensaje de error.

CÓMO UTILIZAR DOCKLIGHTEste programa puede obtenerse desde su página weboficial: www.docklight.de. En el Paso a paso 1veremos la manera de configurar Docklight paraenviar y reconocer secuencias, y operar manual-mente. Esta última requiere de la activación del teclado, ya que el programa se orienta al envío desecuencias mediante un clic. Realizaremos una comunicación con un módulo XBee a través de unpuerto serie virtual vía USB con un chip FTDI.

PRO_Cap3.qxp 06/10/2011 15:31 PÆgina 84

Page 15: Proyectos con Microcontroladores

85

PASO A PASO /1 Ut i l i zar Dock l ight

PASO A PASO /1Utilizar Docklight

Al correr el programa por primera vez, aparece una ventana de registro. Como va a usarlo

en modo evaluación, no debe registrarse.

1

A continuación, se abre una ventana para elegir un proyecto. La versión de evaluación

no permite guardar el trabajo, así que empezará con un proyecto nuevo. Lo primero

que hará es configurar el puerto serie que va a usar. En este caso, se conectará a

115200 bps en el COM4. En el menú Tools seleccione Project Settings y,

en la solapa Communications, configure Port y Speed.

2

PRO_Cap3.qxp 06/10/2011 15:31 PÆgina 85

Page 16: Proyectos con Microcontroladores

86

3.Conect iv idad no ina lámbr ica

PASO A PASO /1 (cont.)

Para enviar caracteres manualmente, debe abrir el puerto y habilitar la operación

de teclado. Con este fin, haga clic sobre el icono de reproducción y, luego, en el

del teclado. Ingrese un texto, y vea que el programa muestra la fecha, la hora y el

sentido de la comunicación.

3

Puede definir una secuencia para enviar haciendo doble clic en la sección Send

sequences. Ingrese los datos correspondientes y, si requiere caracteres de

control (como Enter), puede pedir ayuda. Mande la secuencia haciendo clic

sobre la flecha que está a la izquierda.

4

PRO_Cap3.qxp 06/10/2011 15:31 PÆgina 86

Page 17: Proyectos con Microcontroladores

87

PASO A PASO /1 Ut i l i zar Dock l ight

PASO A PASO /1 (cont.)

Puede definir una secuencia para recibir haciendo doble clic en la sección

Receive sequences, para lo cual tiene que ingresar los datos

correspondientes. Puede relacionarla con una respuesta por enviar o un

comentario que se verá en pantalla junto a la información de fecha y hora.

5

Configure enviar ATD1 cuando la respuesta es 0<CR>. En la imagen se ve que el

sistema funciona por sí solo ante un primer envío, que origina la primera respuesta

e indica la recepción de la secuencia mediante el comentario introducido en el

paso anterior: el texto “recibí un 0”.

6

PRO_Cap3.qxp 06/10/2011 15:31 PÆgina 87

Page 18: Proyectos con Microcontroladores

88

3.Conect iv idad no ina lámbr ica

Universal SSeerriiaall BBUUSS

El puerto USB (Universal Serial BUS) es una interfazde relativa complejidad. Una transferencia USB im-plica una comunicación serial, bidireccional y de ín-dole “diferencial” sobre un cable compuesto porcuatro conductores: GND (común), VCC (alimenta-ción) y un par diferencial balanceado para transpor-te de datos (Figura 9). Existen cuatro tipos de trans-ferencias definidas para una comunicación USB:

• Isocrónicas: garantizan una velocidad detransferencia determinada, pero con posibles pér-didas de datos.• Del tipo interrupción: esta opción de transfe-rencias se utiliza cuando un dispositivo requieregarantizar transferencias rápidas.• Bulk: este tipo realiza transferencias largas yesporádicas, que utilizan todo el ancho de bandaremanente disponible, pero que no precisan deuna entrega en un tiempo determinado. El USBHost le asigna la prioridad más baja a este tipo detransferencias.• De control: usada para el envío de comandoscortos o información de estado al dispositivo.

Cada vez que un dispositivo USB se conecta a unhost, se inicia un proceso de enumeración, que co-mienza mediante el envío de una señal de reset aldispositivo. Durante esta etapa, se determina la tasade transferencia del periférico USB. El USB Host leela información y le asigna una dirección única de 7 bits. Una comunicación USB está basada en el es-tablecimiento de pipes o canales lógicos de cone-xión. Se denomina endpoint al bloque de memoriade datos o registro del chip controlador sobre el cualse establece la comunicación física. Es posible traba-jar a distintas tasas de transferencia:

• Show Speed: 10 - 100 Kbps• Full Speed: 500 Kbps - 10 Mbps• High Speed (USB 2.0): 25 – 480 Mbps

Las diferentes tasas de transferencia involucran dis-tintos niveles de tensión utilizados para la comuni-cación en el par diferencial. Cada intercambio invo-lucra tres paquetes:

FIGURA 9. Vemos aquí los conectores típicos

del tipo A y B, utilizados corrientemente en

dispositivos de interfaz USB.

Cada vez que un dispositivo USB seconecta a un host, se inicia un proceso de enumeración

PRO_Cap3.qxp 06/10/2011 15:31 PÆgina 88

Page 19: Proyectos con Microcontroladores

89

Universa l Ser ia l BUS

• Paquete tipo token: contiene la dirección del dispo-sitivo (número de endpoint) para el direccionamiento.• Paquete de datos: contiene los datos propiamen-te dichos de la transacción.• Paquete de terminación: indica el fin de la trans-acción, de modo que pueda procesarse.

USB FÁCIL: FT2232D CHIPEl núcleo del FT2232D, fabricado por FTDI, estáconformado por dos controladores que manejan elproceso de enumeración y otras comunicaciones so-bre el bus USB (Figura 10). Cada uno ofrece distin-tos modos de configuración, que implementan laoperatividad de otros dos chips de la familia: elFT232B y el FT245B:

• Una interfaz full-speed USB-UART (asíncro-na serial) a través del módulo hardwareFT232BM embebido.• Una interfaz full-speed paralela USB-FIFO através del módulo hardware FT245BM embebido.• Una interfaz serial sincrónica (USB-JTAG,USB-SPI o USB-I2C) a través del módulo hardwa-re configurable: MPSSE (Multi-Protocol SerialEngine Interface).• Una interfaz paralela compatible con unbus microcontrolador 8051 (MCU Bus HostEmulation).

• Modos bit-bang sincrónicos y asíncronos,de operación básica, donde no se necesita la cone-xión a una CPU externa. Se maneja directamenteun bus E/S de 8 bits con el fin de controlar relays,LEDs o similares.

DRIVERSEstos chips emplean drivers provistos por el fabri-cante, en dos opciones:

• Virtual COM Port driver: el dispositivo se ve comoconectado a un puerto COM (RS-232). Trabaja bajoentorno Windows, y es utilizable por cualquier aplica-ción que emplee comunicaciones con un puerto COM.• D2XX Direct Driver: para aplicaciones paralelo oen las que prevalezca la necesidad de velocidad, confunciones específicas para las aplicaciones que secomuniquen con el chip.

Algunas aplicaciones típicas son aquellas que nece-sitan manejar, a lo sumo, un puerto del tipo bulk oisocrónico para cada lado. El chip provee pines decomunicación con una memoria microwire, en lacual es posible grabar información como Vendor ID(identificador del fabricante), Product ID (identi-ficador del producto), si es un circuito que se alimenta del bus o tiene alimentación externa(self-powered), etc.

Human Interface Device es una clase de dispositivo USB especialmente diseñada para

interactuar de manera directa con personas. Esta tecnología permitió innovar en disposi-

tivos de entrada a computadoras y simplificar el procedimiento de instalación de éstos.

HID

PRO_Cap3.qxp 06/10/2011 15:31 PÆgina 89

Page 20: Proyectos con Microcontroladores