Académique Documents
Professionnel Documents
Culture Documents
En esta obra continuamos con los proyectos con microcontroladores que comenzamos a desarrollar
en el libro anterior. En esta oportunidad, iniciaremos la construccin de una placa experimental PIC18,
utilizaremos los perifricos internos del PIC y estudiaremos las posibilidades de conectividad inalmbrica.
analgico-digitales Tecnologas de displays LCD Proyecto de alarma trmica Conectividad no inalmbrica e inalmbrica
Docklight USB Mdulos prearmados ZigBee y 802.15.4 Conexin con la PC y configuracin
ADEMS
Electrnica prctica
Aprenda a analizar, simular
y construir circuitos
microcontroladores
Funcionamiento, programacin
y aplicaciones prcticas
Networking con
microcontroladores
Descubra cmo acceder remotamente
a sus equipos
Aprendizaje guiado mediante explicaciones claras y concisas Proyectos prcticos basados en necesidades reales
Consejos de los profesionales Infografas y procedimientos paso a paso Producciones fotogrficas profesionales
Microcontrollers projects
In 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.
NIVEL
Bsico
DE
USUARIO
intermedio avanzado
Proyectos con
microcontroladores
Aprenda a desarrollar
sus propias aplicaciones
ADEMS
experto
Nuestro sitio rene a la mayor comunidad de tecnologa en Amrica Latina. Aqu podr comunicarse con lectores, editores y
autores, y acceder a noticias, foros y blogs constantemente actualizados. Adems, podr descargar material adicional de los
libros y captulos gratuitos, o conocer nuestras otras publicaciones y acceder a comprarlas desde cualquier parte del mundo.
C o l e cc i n
U s e r s
E l e c t r n i c a
Preliminares.qxp
11/10/2011
16:33
Pgina 6
PRELIMINARES
CAPTULO 1
ARMADO DE UNA PLACA
EXPERIMENTAL
Placa experimental para PIC18LF4620
Esquemtico
Consideraciones de armado
PASO A PASO /1
Consideraciones de armado
Conexin al PIC de perifricos externos
Pulsadores
Relay
Display de 7 segmentos
Puertos I/O
Infografa 1: Perifricos
en microcontroladores
Prctica PWM
Ejercicio
Cdigo
Medicin del ancho de pulso
Conversores Analgico-Digitales
Resolucin de los conversores A/D
Conversor Digital-Analgico
Conversor Esttico o Flash
Conversor de Rampa Simple
o Dinmico
6
003
004
010
011
012
012
014
015
018
019
019
020
021
025
027
028
029
032
033
033
034
037
038
CAPTULO 2
PERIFRICOS PIC
Perifricos PIC
Perifricos PIC
Perifricos del PIC18LF4620
Los timers
El timer 0
Timers 1 y 3
Timer 2
El conversor analgico/digital
Placas entrenadoras
Manejo del display LCD inteligente
Comandos del LCD
Caracteres del LCD
Conexin del LCD en 8 bits
Conexin del LCD en 4 bits
Librera LCD del MPLAB C18
Funciones de la librera xlcd
Agregar la librera xlcd
a nuestro proyecto
Modificar la librera del LCD
Proyecto de alarma trmica
Sensor de temperatura
039
040
042
044
045
046
046
046
047
047
047
048
049
051
052
053
054
055
057
059
059
060
061
062
062
Preliminares.qxp
11/10/2011
16:33
Pgina 7
C o n t e n i d o d e l l i b ro
Esquemtico
Diagrama de flujo
Configuraciones del PIC
Configuracin del LCD
Alarma trmica em MPLAB C18
Multiple choice
CAPTULO 3
CONECTIVIDAD
NO INALMBRICA
062
066
066
068
068
074
075
Sistemas embebidos
076
Protocolos de conectividad
076
Comunicacin serie asncrona y RS-232 076
La comunicacin
078
Puerto serie
079
El estndar RS-232
079
Uso de la UART del PIC18F4620
080
Interfaz RS-232
082
Docklight
083
Cmo utilizar Docklight
084
Universal Serial BUS
088
USB fcil: FT2232D chip
089
Drivers
089
Modo FT245BM
091
Modo FT232BM
091
Serial Peripheral Interface
092
El bus SPI
093
La comunicacin SPI
094
Modos SPI
094
Tipos de perifricos
096
Conexin de una memoria SPI
098
Bus de comunicacin I2C
101
Protocolo de comunicacin
102
CAPTULO 4
CONECTIVIDAD
INALMBRICA
102
102
104
104
104
105
106
107
Conectividad inalmbrica
108
Opciones de comunicacin con la PC 108
Tecnologa Bluetooth 109
Mdulos prearmados (Kcwirefree) 110
Por qu tantas opciones? 112
Tecnologa Wi-Fi 113
Bluetooth 113
ZigBee y 802.15.4 113
ZigBee y 802.15.4 115
ZigBee 117
ZigBee en concreto
119
Mdulos prearmados (XBee y XBee ZB)
120
XBee 802.15.4
120
Conexin punto a punto
121
Punto a multipunto con coordinador 121
Mdulos XBee ZB
122
Comunicacin a un sitio central
124
Conectarse con los mdulos XBee
124
Conexin con la PC y configuracin
124
Red de sensores ZigBee
129
El coordinador
129
7
Preliminares.qxp
11/10/2011
16:33
Pgina 8
PRELIMINARES
Los routers
Los end-devices
Lectura de los reportes
Control por RF
El transmisor
El receptor
Control por infrarrojos
Estndar RECS80
Estndar RC5
El receptor
Multiple choice
CAPTULO 5
MDULOS RABBIT
Y DISPLAYS LCD GRFICOS
Historias de microprocesadores
De 8080 a Rabbit 5000
Del 6800 al HCS08
MSP430 y AVR
Microchip PIC
Mdulos Rabbit
La arquitectura
El micro por dentro
Puertos de entrada/salida
Manejo de memoria
Perifricos
Dynamic C
Caractersticas
Variables protegidas
Variables compartidas
Utilidad de configuracin de I/O
Rabbit BIOS
Bibliotecas de funciones
8
130
130
130
131
132
132
134
135
135
136
138
139
140
140
140
142
142
142
143
144
144
145
145
147
148
148
148
149
149
150
Puertos de I/O
Grabar datos en flash
Librera RS-232
El GPS
La librera PWM
Reloj de tiempo real
Detectores de cuadratura
Displays con pantalla sensible
Codificador en cuadratura
Mundo Rabbit
Mdulos de 5 Volts
Mdulos de 3,3 Volts
Minicores (3,3 V)
Displays grficos LCD
El display
Control de contraste
Control del display
Algoritmos
PLOT, encendiendo pxeles
Cmo dibujar grficos y funciones
Dibujo de funciones
Cmo dibujar letras
Dibujar caracteres
Dibujar grficos y textos paso a paso
PASO A PASO /1 Cmo dibujar
grficos y textos
Multiple choice
150
151
151
152
152
152
153
153
154
154
155
156
157
157
157
158
160
161
164
164
165
165
166
166
168
174
SERVICIOS
AL LECTOR
175
ndice temtico
Programas relacionados
Catlogo
176
179
181
PRO_Cap3.qxp
06/10/2011
15:31
Pgina 75
Captulo 3
Conectividad
no inalmbrica
PRO_Cap3.qxp
06/10/2011
15:31
Pgina 76
3.Conectividad no inalmbrica
Sistemas embebidos
Un sistema embebido es un dispositivo controlado
por un procesador, dedicado a realizar una nica tarea o una serie de ellas. Un mdem, por ejemplo, es
un sistema embebido que maneja tareas de comunicacin a travs de la lnea telefnica. Algunos sistemas embebidos son nicos en su tipo o se construyen para proyectos especficos.
Los microcontroladores se encuentran presentes
en numerosos sistemas embebidos. Para realizar
sus funciones, necesitan el apoyo de otros dispositivos digitales, como puede ser una computadora
personal, una memoria o un display LCD, por nombrar slo algunos. Con este objetivo, precisa comunicarse con ellos, es decir, transmitir y recibir informacin relevante al desempeo de las tareas
para las cuales fue diseado. Debido a esta necesidad de comunicacin, se desarrollaron diversos
protocolos, y en esta clase veremos, especficamente, los de conectividad no inalmbrica.
Protocolos
de conectividad
SPI, microwire, I2C y SMBus son protocolos de interconexin utilizados en comunicaciones de microcontroladores con perifricos, memorias EEPROM,
displays LCD u otro tipo de circuitos integrados
que requieran una intercomunicacin digital. Estas interfaces tienen un formato de transmisin serie y se
encuentran, principalmente, en sistemas embebidos.
76
COMUNICACIN SERIE
ASNCRONA Y RS-232
Analizaremos la comunicacin serie asncrona, su
aplicacin en la conectividad de un sistema embebido con una PC y el estndar RS-232. Este tipo de
comunicacin define una manera de transmitir la
informacin de a un bit por vez, en un formato determinado, a una velocidad acordada de antemano
por las partes. En general, existen muchos protocolos de comunicacin serie que, adems, son asncronos (Figura 1). En particular, aqu estudiaremos
Conectar un
dispositivo a la PC
nos permite
aprovechar todas las
ventajas que sta ofrece
PRO_Cap3.qxp
06/10/2011
15:31
Pgina 77
P ro t o c o l o s d e c o n e c t i v i d a d
INTERFAZ
FORMATO
VELOCIDAD
NMERO
DISTANCIA MXIMA
MXIMO DE
MXIMA
(BITS/SEGUNDO)
DISPOSITIVOS
USO TPICO
RS-232
Serie asncrono
15 m
19200 a 15 m
Mdem, mouse
instrumentacin
Adquisicin de datos
y sistemas de control
RS-485
32
1200 m a
100 Kbps
10 M a 12 m
USB
Serie
asncrono
(half-duplex)
Serie asncrono
127
5m
Ethernet
Serie
Puerto
Paralelo
100 m par
trenzado
3-9 m
Serie
64
90 m
3,2 G
Paralelo
15
18 m
8M
Instrumentacin
paralelo
IEEE1394
(Firewire)
IEEE-488
(GPIB)
77
PRO_Cap3.qxp
06/10/2011
15:31
Pgina 78
3.Conectividad no inalmbrica
lo relacionado con la comunicacin elemental sobre la base de un puerto serie en una PC y una
UART (Universal Asynchronous Receiver/Transmitter)
en un microcontrolador.
LA COMUNICACIN
El concepto de comunicacin es muy amplio; sin
embargo, en este caso nos referiremos a la accin de
conectar dos dispositivos electrnicos por un medio
fsico. En este sentido, la comunicacin es bidireccional y, vista desde el microcontrolador, se realiza
de la siguiente manera:
En ausencia de informacin, la seal se mantiene en el estado lgico alto.
Un carcter de informacin se inicia con un bit de
start, cuya misin es indicar al receptor que la informacin sigue a continuacin.
El dato de informacin se enva con el bit menos
significativo primero, y puede contener desde 5
hasta 8 bits. En algunos casos, se manda un noveno
bit para aplicaciones particulares.
FIGURA 2. La transmisin
serie asncrona del carcter
a y su recepcin.
78
PRO_Cap3.qxp
06/10/2011
15:31
Pgina 79
P ro t o c o l o s d e c o n e c t i v i d a d
FIGURA 3. La mayora de las nuevas PCs no poseen puerto serie en su hardware. Sin embargo, es
posible agregarlo mediante un convertidor de USB a serie.
ya que puede enviar y recibir informacin. En muchas ocasiones, podemos pensar que transmitir un
bit a la vez es ineficiente para las comunicaciones
actuales; sin embargo, este sistema tiene sus ventajas, como la posibilidad de utilizar cables de bajo
costo y conectores pequeos (Figura 3). En una
PC, las aplicaciones de software acceden al puerto
serie mediante el llamado COM port.
EL ESTNDAR RS-232
PUERTO SERIE
El puerto serie es la interfaz en una computadora u
otro dispositivo que transmite datos de a un bit por
vez. En el uso convencional, el trmino puerto
serie se refiere a aqul que utiliza este protocolo
asncrono que acabamos de ver. Es bidireccional,
El estndar V.24 de la ITU-T (International Telecommunications Union, Telecommunications Standardization Sector) define 25 lneas de conexin entre un
DTE (Data Terminal Equipment, una computadora) y
un DCE (Data Communications Equipment, un mdem o perifrico).
79
PRO_Cap3.qxp
06/10/2011
15:31
Pgina 80
3.Conectividad no inalmbrica
FIGURA 4. El estndar RS-232 utiliza un conector tipo DB-25 (de 25 pines) o DB-9 (de 9 pines).
en la Tabla 2. Existe un modo de conexin muy utilizado, denominado de 3 cables (3-wire), que emplea slo TD, RD y GND.
El puerto serie es
la interfaz en una PC
u otro dispositivo que
transmite datos de
a un bit por vez
PRO_Cap3.qxp
06/10/2011
15:31
Pgina 81
P ro t o c o l o s d e c o n e c t i v i d a d
NOMBRE
SENTIDO
FUNCIN
TD (Transmit Data)
DTEDCE
RD (Received Data)
3
4
2
7
DTEDCE
DTEDCE
Datos recibidos
El terminal desea transmitir
5
20
8
4
DTEDCE
DTEDCE
6
8
6
1
DTEDCE
DTEDCE
22
7
9
5
DTEDCE
COMN
RTS (Request
To Send)
CTS (Clear To Send)
DTR (Data
Terminal Ready)
DSR (Data Set Ready)
DCD (Data
Carrier Detect)
RI (Ring Indicator)
GND (Ground)
misin se efecta a travs del registro TXREG, y la recepcin, mediante el RCREG. Existen dos registros de
estado, TXSTA y RCSTA, que nos permiten controlar y
conocer la actividad de la UART. La velocidad y forma
de operacin se controlan a travs del registro BAUDCON y de un Baud Rate Generator (BRG) interno.
En MPLAB C18, disponemos de una funcin de incializacin y de cuatro elementales para enviar y recibir informacin por la UART:
81
PRO_Cap3.qxp
06/10/2011
15:31
Pgina 82
3.Conectividad no inalmbrica
INTERFAZ RS-232
En la Figura 5 vemos el circuito esquemtico de una
interfaz RS-232 genrica para nuestros proyectos. Se
basa en el MAX232, que incluye dos excitadores
para convertir las entradas de niveles TTL a RS-232
y dos receptores que se encargan de transformar entradas RS-232 en salidas a niveles TTL (Figura 6).
82
PRO_Cap3.qxp
06/10/2011
15:31
Pgina 83
P ro t o c o l o s d e c o n e c t i v i d a d
Docklight
Docklight es un software para verificacin, anlisis y simulacin de protocolos de comunicacin serie (RS-232, RS-485 y otros).
Veamos cmo utilizar este programa permite realizar
el monitoreo de la comunicacin serie entre dos dispositivos o simular el comportamiento de uno de ellos
para verificar el comportamiento del otro. Las funciones de este software son las siguientes:
PRO_Cap3.qxp
06/10/2011
15:31
Pgina 84
3.Conectividad no inalmbrica
Docklight es
un software
de verificacin,
anlisis y simulacin
de protocolos de
comunicacin serie
84
PRO_Cap3.qxp
06/10/2011
15:31
Pgina 85
PA S O A PA S O / 1 U t i l i z a r D o c k l i g h t
PASO A PASO /1
Utilizar Docklight
Al correr el programa por primera vez, aparece una ventana de registro. Como va a usarlo
en modo evaluacin, no debe registrarse.
85
PRO_Cap3.qxp
06/10/2011
15:31
Pgina 86
3.Conectividad no inalmbrica
Puede definir una secuencia para enviar haciendo doble clic en la seccin 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.
86
PRO_Cap3.qxp
06/10/2011
15:31
Pgina 87
PA S O A PA S O / 1 U t i l i z a r D o c k l i g h t
Puede definir una secuencia para recibir haciendo doble clic en la seccin
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 informacin de fecha y hora.
87
PRO_Cap3.qxp
06/10/2011
15:31
Pgina 88
3.Conectividad no inalmbrica
Universal
Serial BUS
El puerto USB (Universal Serial BUS) es una interfaz
de relativa complejidad. Una transferencia USB implica una comunicacin serial, bidireccional y de ndole diferencial sobre un cable compuesto por
cuatro conductores: GND (comn), VCC (alimentacin) y un par diferencial balanceado para transporte de datos (Figura 9). Existen cuatro tipos de transferencias definidas para una comunicacin USB:
PRO_Cap3.qxp
06/10/2011
15:31
Pgina 89
Paquete tipo token: contiene la direccin del dispositivo (nmero de endpoint) para el direccionamiento.
Paquete de datos: contiene los datos propiamente dichos de la transaccin.
Paquete de terminacin: indica el fin de la transaccin, de modo que pueda procesarse.
DRIVERS
USB FCIL: FT2232D CHIP
El ncleo del FT2232D, fabricado por FTDI, est
conformado por dos controladores que manejan el
proceso de enumeracin y otras comunicaciones sobre el bus USB (Figura 10). Cada uno ofrece distintos modos de configuracin, que implementan la
operatividad de otros dos chips de la familia: el
FT232B y el FT245B:
Una interfaz full-speed USB-UART (asncrona serial) a travs del mdulo hardware
FT232BM embebido.
Una interfaz full-speed paralela USB-FIFO a
travs del mdulo hardware FT245BM embebido.
Una interfaz serial sincrnica (USB-JTAG,
USB-SPI o USB-I2C) a travs del mdulo hardware configurable: MPSSE (Multi-Protocol Serial
Engine Interface).
Una interfaz paralela compatible con un
bus microcontrolador 8051 (MCU Bus Host
Emulation).
HID
Human Interface Device es una clase de dispositivo USB especialmente diseada para
interactuar de manera directa con personas. Esta tecnologa permiti innovar en dispositivos de entrada a computadoras y simplificar el procedimiento de instalacin de stos.
89