Documente Academic
Documente Profesional
Documente Cultură
MICROCONTROLADORES Y SISTEMAS
EMBEBIDOS
Ing. Omar Enrique Barra Zapata
Objetivos
El objetivo general del presente curso es dar a
conocer al estudiante algunos dispositivos
embebidos y microcontroladores con la finalidad de
desarrollar aplicaciones de diversos tipos.
Temas
En el presente curso se desarrollarn los siguientes temas:
Captulo 1: Microcontroladores PIC18F2550 y PIC18F4550
Captulo 2: Interfaz USB
Captulo 3: Desarrollo de una aplicacin USB basada con PIC
Captulo 4: Sistemas embebidos:
Mdulo Ethernet
Mdulo GSM
Mdulo GPS
Mdulo Bluetooth
Mdulo RFID
Captulo 5: Desarrollo de aplicaciones y propuestas de estudio
Microcontroladores pic18f2550 y
pic18f4550
Captulo 1:
Introduccin
Los microcontroladores PIC18FXXXX son de la gama
alta con instrucciones de 16 bits y datos de 8 bits, y sus
modelos disponen de un sistema de gestin de
interrupciones muy potente que vienen en paquetes de
18 a 80 pines. Tambin incluyen variados controladores
de perifricos, puertas de comunicacin avanzadas con
elementos externos como USB y CAN, velocidad de
operacin de 48MHz, un multiplicador hardware de gran
velocidad y mayores capacidades de memoria, que
alcanza 32k palabras en la memoria de instrucciones y
2k bytes en la memoria de datos.
En la tabla 1.1 se muestran las caractersticas ms
relevantes de algunos modelos de esta gama, que slo
se utilizan en aplicaciones muy especiales con grandes
6
Ing. Omar Enrique Barra Zapata
requerimientos.
Microcontroladores PIC18FXXXX
Modelo
Memor
ia
de
progra
Regis
ma
Memoria
tros
(x 16
de datos Especfic
bits)
(RAM)
os
Lneas
de E/S
Convers
or
Temporizad Interrupc
A/D
ores
iones
(10 bits)
USB
Pines
PIC18F2455
24K
2K
32
23
19
10
28
PIC18F2550
32K
2K
32
23
19
10
28
PIC18F4455
24K
2K
32
34
20
13
40
PIC18F4450
32K
2K
32
34
20
13
40
Microcontrolador PIC18F2550
Arquitectura interna
El PIC18F2550 al igual que los dems miembros de su familia
se caracteriza por:
Microcontrolador PIC18F2550
Adems de las caractersticas anteriormente sealadas, se
puede resaltar lo siguiente:
Cuatro temporizadores.
Microcontrolador PIC18F2550
Canal USB.
10
Microcontrolador PIC18F2550
Pines y funciones
El microcontrolador PIC18F2550, como se ve en la figura 1.2,
dispone de 28 pines. Los puertos son el puente entre el
microcontrolador y el mundo exterior. Son lneas digitales y
otras analgicas que trabajan entre cero y cinco voltios y se
pueden configurar como entradas o como salidas. El
PIC18F2550 tiene tres puertos. El puerto A con 7 lneas, el
puerto B con 8 lneas, el puerto C con 7 lneas, y el puerto E
con 1 lnea. Cada pin se puede configurar como entrada o
como salida independiente programado por un par de
registros diseados para tal fin, excepto dos puertas, la puerta
A6 que es slo salida y la puerta E3 que es slo entrada. En
ese registro un "0" configura el pin del puerto correspondiente
como salida y un "1" lo configura como entrada.
11
Microcontrolador PIC18F2550
MCLR/VPP/RE3
28
RB7/KBI3/PGD
RA0/AN0
27
RB6/KBI2/PGC
RA1/AN1
26
RB5/KBI1/PGM
RA2/AN2/VREF-/CVREF
25
RB4/AN11/KBI0
RA3/AN3/VREF+
24
RB3/AN9/CCP2/VPO
RA4/T0CKI/C1OUT/RCV
23
RB2/AN8/INT2/VMO
RA5/SS/AN4/HLVDIN/C2OUT
22
RB1/AN10/INT1/SCK/SCL
VSS
21
RB0/AN12/INT0/FLT0/SDI/SDA
OSC1/CLKI
20
VDD
10
19
VSS
RC0/T1OSO/T13CKI
11
18
RC7/RX/DT/SDO
RC1/T1OSI/CCP2/UOE
12
17
RC6/TX/CK
RC2/CPP1
13
16
RC5/D+/VP
VUSB
14
15
RC4/D-/VM
OSC2/CLKO/RA6
PIC18F2550
12
Microcontrolador PIC18F2550
PUERTO A
Puerto bidireccional o de Entrada/Salida (TTL), excepto A6, u
otra funcin como:
A0/AN0 = Pin de entrada analgica 0 (AN0) / entrada de
comparacin (C1IN-).
A1/AN1 = Pin de entrada analgica 1 (AN1) / entrada de
comparacin (C2IN-).
A2/AN2/VREF- = Pin de entrada analgica 2 (AN2) / entrada
de comparacin (C2IN+) / voltaje de referencia negativo
(VRES-).
A3/AN3/VREF+ = Pin de entrada analgica 3 (AN3) / entrada
de comparacin (C1IN+) / voltaje de referencia positivo
(VREF+).
13
Microcontrolador PIC18F2550
PUERTO A
A4/T0CK1/C1OUT/RCV = Pin de Entrada/Salida o entrada de
Reloj Externo para el TMR0, cuando este pin se configura
como salida es de tipo Open Drain (ST), cuando funciona
como salida se debe conectar a VCC (+5V) a travs de una
resistencia, salida de comparacin (C1OUT).
A5/AN4/SS = Pin de entrada analgica 4 (AN4) / esclavo para
puerto serial asncrono / salida de comparacin (C1OUT) /
entrada de tensin alta o baja (HLVDIN).
A6/OSC2/CLKO = Pin de salida digital, entrada de oscilador
principal (OSC2) / salida de seal de reloj (CLK0).
14
Microcontrolador PIC18F2550
PUERTO B
Puerto bidireccional o de Entrada/Salida (TTL) u otra funcin
como:
B0/AN12/INT0/FLT0/SD1/SDA = Pin de entrada analgica 12
(AN12) / entrada de interrupcin externa 0 (INT0) / entrada de
fallo del ECCP (FLT0) / entrada de datos del SPI (SDI) / lnea
de datos de I2C (SDA).
B1/AN10/INT1/SCK/SCL = Pin de entrada analgica 10
(AN10) / entrada de interrupcin externa 1 (INT1) / lnea de
reloj del SPI (SCK) / lnea de reloj de I2C (SCL).
B2/AN8/INT2/VMO = Pin de entrada analgica 8 (AN8) /
entrada de interrupcin externa 2 (INT2) / salida de datos del
USB (VMO).
15
Microcontrolador PIC18F2550
PUERTO B
B3/AN9/CCP2/VPO = Pin de entrada analgica 9 (AN9) /
lnea de entrada o salida del CCP2 (CCP2) / salida de datos
del USB (VPO).
B4/AN11/KBI0 = Pin de entrada analgica 11 (AN11) /
interrupcin por cambio de pin (KBI0) / salida de CS del SPP
(CSSP).
B5/KBI1/PGM = Interrupcin por cambio de pin (KBI1) / lnea
de programacin (PGM).
B6/KBI2/PGC = Interrupcin por cambio de pin (KBI2) / lnea
de programacin (PGC).
B7/KBI3/PGD = Interrupcin por cambio de pin (KBI3) / lnea
de programacin (PGD).
16
Microcontrolador PIC18F2550
PUERTO C
Puerto bidireccional o de Entrada/Salida (TTL) / entrada de
alta velocidad, u otra funcin como:
C0/T1OSO/T13CK1= Pin de salida del oscilador del
temporizador 1 (T1OSO) / entrada de contador de los
temporizadores 1 y 3.
C1/T1OSI/CCP2/UOE = Pin de entrada del oscilador del
temporizador 1 (T1OSI) / lnea de entrada o salida CCP2
(CCP2) / salida OE del tranceiver del USB (UOE).
C2/CCP1 = Pin de entrada o salida del CCP1 (CCP1).
C4/D-/VM = Pin menos del bus USB (D-) / lnea de entrada del
USB (VM).
17
Microcontrolador PIC18F2550
PUERTO C
C5/D+/VP = Pin ms del bus USB (D+) / lnea de entrada del
USB (VP).
C6/TX/CK = Pin de salida de transmisin del EUSART (TX) /
lnea de reloj del EUSART (CK).
C7/RX/DT/SDO = Pin de entrada de recepcin del EUSART
(RX) / lnea de datos sncrona del EUSART (DT) / salida de
datos del SPI (SDO).
18
Microcontrolador PIC18F2550
PUERTO E
Puerto de slo entrada.
E3/MCLR/VPP = Pin de reseteo externo (MCLR) / lnea de
programacin (VPP).
PINES ADICIONALES
VSS = Ground o Tierra.
VDD = Fuente Positiva (+5V).
OSC1/CLKI = Entrada del Oscilador del Cristal / Entrada de
reloj de una Fuente Externa.
VUSB = Regulacin de voltaje USB.
19
Microcontrolador PIC18F4550
Arquitectura interna
20
Microcontrolador PIC18F4550
21
Microcontrolador PIC18F4550
Pines y funciones
El microcontrolador PIC18F4550, como se ve en la figura 1.3,
dispone de 40 pines. Los puertos son el puente entre el
microcontrolador y el mundo exterior. Son lneas digitales y
otras analgicas que trabajan entre cero y cinco voltios y se
pueden configurar como entradas o como salidas. El
PIC18F4550 tiene cinco puertos. El puerto A con 7 lneas, el
puerto B con 8 lneas, el puerto C con 7 lneas, el puerto D
con 8 lneas y el puerto E con 4 lneas. Cada pin se puede
configurar como entrada o como salida independiente
programado por un par de registros diseados para tal fin,
excepto dos puertas, la puerta A6 que es slo salida y la
puerta E3 que es solo entrada. En ese registro un "0"
configura el pin del puerto correspondiente como salida y un
"1" lo configura como entrada.
22
Microcontrolador PIC18F4550
MCLR/VPP/RE3
40
RB7/KBI3/PGD
RA0/AN0
39
RB6/KBI2/PGC
RA1/AN1
38
RB5/KBI1/PGM
RA2/AN2/VREF-/CVREF
37
RB4/AN11/KBI0/CSSPP
36
RB3/AN9/CCP2/VPO
RA4/T0CK1/C1OUT/RCV
RA3/AN3/VREF+
35
RB2/AN8/INT2/VMO
RA5/SS/AN4/HLVDIN/C2OUT
34
RB1/AN10/INT1/SCK/SCL
RE0/AN5/CK1SPP
33
RB0/AN12/INT0/FLT0/SDI/SDA
RE1/AN6/CK2SPP
32
VDD
RE2/AN7/OESPP
10
31
VSS
VDD
11
30
RD7/SPP7/P1D
VSS
12
29
RD6/SPP6/P1C
13
28
RD5/SPP5/P1B
14
27
RD4/SPP4
OSC1/CLKI
OSC2/CLKO/RA6
RC0/T1OSO/T13CKI
15
26
RC7/RX/DT/SDO
RC1/T1OSI/CCP2/UOE
16
25
RC6/TX/CK
RC2/CPP1/P1A
17
24
RC5/D+/VP
VUSB
18
23
RC4/D-/VM
RD0/SPP0
19
22
RD3/SPP3
20
21
RD2/SPP2
RD1/SPP1
PIC18F4550
23
Microcontrolador PIC18F4550
PUERTO A
Puerto bidireccional o de Entrada/Salida (TTL), excepto
A6, u otra funcin como:
A0/AN0 = Pin de entrada analgica 0 (AN0) / entrada de
comparacin (C1IN-).
A1/AN1 = Pin de entrada analgica 1 (AN1) / entrada de
comparacin (C2IN-).
A2/AN2/VREF- = Pin de entrada analgica 2 (AN2) /
entrada de comparacin (C2IN+) / voltaje de referencia
negativo (VREF-).
24
Microcontrolador PIC18F4550
PUERTO A
A3/AN3/VREF+ = Pin de entrada analgica 3, entrada de
comparacin (C1IN+) / voltaje de referencia positivo
(VREF+).
A4/T0CK1/C1OUT/RCV = Pin de Entrada/Salida o
entrada de Reloj Externo para el TMR0 (T0CK1), cuando
este pin se configura como salida es de tipo Open Drain
(ST), cuando funciona como salida se debe conectar a
VCC (+5V) a travs de una resistencia, salida de
comparacin (C1OUT).
A5/AN4/SS = Pin de entrada analgica 4 (AN4) o
esclavo para puerto serial asncrono / salida de
comparacin (C1OUT) / entrada de tensin alta o baja
25(HLVDIN).
Ing. Omar Enrique Barra Zapata
Microcontrolador PIC18F4550
PUERTO A
A6/OSC2/CLKO = Pin de salida digital, entrada de
oscilador principal (OSC2) / salida de seal de reloj
(CLK0).
PUERTO B
Puerto bidireccional o de Entrada/Salida (TTL) u otra
funcin como:
B0/AN12/INT0/FLT0/SD1/SDA = Pin de entrada
analgica 12 (AN12) / entrada de interrupcin externa 0
(INT0) / entrada de fallo del ECCP (FLT0) / entrada de
datos del SPI (SDI) / lnea de datos de I2C (SDA).
26
Microcontrolador PIC18F4550
PUERTO B
B1/AN10/INT1/SCK/SCL = Pin de entrada analgica 10
(AN10) / entrada de interrupcin externa 1 (INT1) / lnea
de reloj del SPI (SCK) / lnea de reloj de I2C (SCL).
B2/AN8/INT2/VMO = Pin de entrada analgica 8 (AN8) /
entrada de interrupcin externa 2 (INT2) / salida de datos
del USB (VMO).
B3/AN9/CCP2/VPO = Pin de entrada analgica 9 (AN9) /
lnea de entrada o salida del CCP2 (CCP2) / salida de
datos del USB (VPO).
27
Microcontrolador PIC18F4550
PUERTO B
B4/AN11/KBI0 = Pin de entrada analgica 11 (AN11) /
interrupcin por cambio de pin (KBI0) / salida de CS del
SPP (CSSP).
B5/KBI1/PGM = Interrupcin por cambio de pin (KBI1) /
lnea de programacin (PGM).
B6/KBI2/PGC = Interrupcin por cambio de pin (KBI2) /
lnea de programacin (PGC).
B7/KBI3/PGD = Interrupcin por cambio de pin (KBI3) /
lnea de programacin (PGD).
28
Microcontrolador PIC18F4550
PUERTO C
Puerto bidireccional o de Entrada/Salida (TTL), entrada
de alta velocidad, u otra funcin como:
C0/T1OSO/T13CK1= Pin de salida del oscilador del
temporizador 1 (T1OSO) / entrada de contador de los
temporizadores 1 y 3.
C1/T1OSI/CCP2/UOE = Pin de entrada del oscilador del
temporizador 1 (T1OSI) / lnea de entrada o salida CCP2
(CCP2) / salida OE del tranceiver del USB (UOE).
C2/CCP1/P1A = Pin de entrada o salida del CCP1
(CCP1) / salida PWM del ECCP1 (P1A).
29
Microcontrolador PIC18F4550
PUERTO C
C4/D-/VM = Pin menos del bus USB (D-) / lnea de
entrada del USB (VM).
C5/D+/VP = Pin ms del bus USB (D+) / lnea de entrada
del USB (VP).
C6/TX/CK = Pin de salida de transmisin del EUSART
(TX) / lnea de reloj del EUSART (CK).
C7/RX/DT/SDO = Pin de entrada de recepcin del
EUSART (RX) / lnea de datos sncrona del EUSART
(DT) / salida de datos del SPI (SDO).
30
Microcontrolador PIC18F4550
PUERTO D
Puerto bidireccional o de Entrada/Salida (TTL), o puerto
paralelo esclavo para interactuar con un bus de un
microprocesador:
D0/SPP0 = Pin de datos del SPP (SPP0).
D1/SPP1 = Pin de datos del SPP (SPP1).
D2/SPP2 = Pin de datos del SPP (SPP2).
D3/SPP3 = Pin de datos del SPP (SPP3).
D4/SPP4 = Pin de datos del SPP (SPP4).
D5/SPP5/P1B = Pin de datos del SPP (SPP5) / salida
PWM del ECCP1 (P1B).
31
Microcontrolador PIC18F4550
PUERTO D
D6/SPP6/P1C = Pin de datos del SPP (SPP6) / salida
PWM del ECCP1 (P1C).
D7/SPP7/P1D = Pin de datos del SPP (SPP7) / salida
PWM del ECCP1 (P1D).
PUERTO E
Puerto de slo entrada:
E0/AN5/CK1SPP = Pin de entrada analgica 5 (AN5) /
salida de reloj 1 del SPP (CK1SPP).
E1/AN6/CK2SPP = Pin de entrada analgica 6 (AN6) /
salida de reloj 2 del SPP (CK1SPP).
32
Microcontrolador PIC18F4550
PUERTO E
E2/AN7/OESPP = Pin de entrada analgica 7 (AN7) /
salida de habilitacin del SPP (OESPP).
E3/MCLR/VPP = Pin de reseteo externo (MCLR) / lnea
de programacin (VPP).
PINES ADICIONALES
VSS = Ground o Tierra.
VDD = Fuente Positiva (+5V).
OSC1/CLKI = Entrada del Oscilador del Cristal / Entrada
de reloj de una Fuente Externa.
VUSB = Regulacin de voltaje USB.
33
Interfaz usb
Captulo 2:
34
Introduccin
36
37
Caractersticas de transmisin
Los dispositivos USB se clasifican en cuatro tipos segn su
velocidad de transferencia de datos:
40
Caractersticas de transmisin
41
42
cable
Conectores y especificaciones
46
Introduccin
47