You are on page 1of 4

XI JORNADAS DE PARALELISMOGRANADA, SEPTIEMBRE 2000 1

Resumen--En este artculo se presenta una tarjeta de


desarrollo, especialmente concebida para las prcticas de
laboratorio con microcontroladores PIC. Todas las
caractersticas de la tarjeta han sido pensadas para que la
realizacin y desarrollo de los experimentos, por parte del
profesor y los alumnos, sean sencillos.
Palabras clave--Microcontroladores, PIC, tarjeta de
desarrollo, laboratorio de micros.
I. INTRODUCCIN
A enseanza de sistemas basados en
microcontroladores es parte fundamental de una
Ingeniera Electrnica, y es un buen complemento en la
formacin de cualquier Ingeniero Informtico.
Durante varios aos se ha impartido una asignatura de
microcontroladores en la titulacin de Ingeniera
Informtica de la Universitat de Valncia. En las clases
de laboratorio se utilizaban tarjetas basadas en el 8051.
Las clases estaban bien, pero el conjunto de perifricos
con los que se hacan experimentos era escaso, ya que
casi toda la tarjeta de desarrollo estaba dedicada al
propio micro con su RAM y EPROM. Por otro lado, la
descarga de programas se poda realizar sobre la marcha,
pero a una RAM externa que era por tanto necesaria en
todas las aplicaciones. Adems, era siempre necesario
contar con un mnimo "Sistema Operativo" que cuartaba
la libertad en el diseo de experimentos, especialmente
si luego se queran portar a otras plataformas. Por
ltimo, la tarjeta admita un nico tipo de
microcontrolador, siendo las posibilidades de
intercambio algo escasas.
Por

estas razones, entre otras, se consider la
posibilidad de cambiar la plataforma de desarrollo del
laboratorio de micros. En la bsqueda de alternativas, se
encontr que Microchip ofrece una gran variedad de
microcontroladores (PIC), con muchas posibilidades de
aplicacin, y con una gran compatibilidad entre ellos
[1]. Esto es especialmente importante, ya que se buscaba
una plataforma donde realizar una amplia gama de
aplicaciones. De hecho, la adopcin finalmente de esta
familia de micros ha hecho posible que se pudiera
utilizar la misma tarjeta en otras asignaturas como la de
Perifricos y la de Instrumentacin. En la de perifricos
se utilizan para realizar un componente externo basado
en USB: el puerto USB de la tarjeta, con el PIC
adecuado, se programa como dispositivo esclavo. En la
asignatura de instrumentacin se utiliza como generador
digital de seales analgicas.


Departamento de Informtica, Universidad de Valencia, Avda. Vte.
Andrs Estells s/n, 46100 Burjassot, Valencia (Espaa).
Fernando.Pardo@uv.es, Jose.A.Boluda@uv.es, http://tapec.uv.es/
En el caso de la asignatura de microcontroladores, el
laboratorio est orientado hacia el desarrollo de sistemas
empotrados autnomos, que es el campo donde mejor
encajan los microcontroladores. Esta es la razn tambin
por la que se han introducido un gran nmero de
perifricos y puertos, tanto analgicos como digitales.
Por un lado, el tener una nica tarjeta con todo incluido
es ms cmodo y fiable que tener que enchufar una
tarjeta diferente para cada experimento, por otro lado, el
entorno del micro sera el mismo que si el desarrollo
fuera real.
La figura 1 muestra una foto de la tarjeta. Los
diferentes mdulos y perifricos de la tarjeta se han
dispuesto de forma bien diferenciada siguiendo fines
pedaggicos. La informacin completa sobre esta tarjeta
se puede encontrar en [2].



Fig. 1. Fotografa de la tarjeta EduPIC

Las principales caractersticas de esta tarjeta son las
siguientes:
o Est preparada para soportar las familias 12, 16 y 18
de los PIC de Microchip. (Encapsulado tipo DIP de
8, 18, 28 y 40 pines.)
o Los PIC son programados directamente en la tarjeta
a travs del puerto paralelo del PC, siempre y
cuando el PIC soporte ICSP (In Circuit Serial
Programmming). Prcticamente cualquier PIC
soporta ICSP.
o Existe un conmutador para deshabilitar
completamente los perifricos durante la
programacin.
o Incluye LCD alfanumrico de 2x16 caracteres.
o Teclado matricial con 4x4 teclas.
o Cuatro fuentes analgicas integradas:
o 2 potencimetros lineales (0-5 V)
o 1 sensor de temperatura.
o 1 sensor de luminosidad.
Tarjeta de desarrollo para el laboratorio de
microcontroladores PIC
Fernando Pardo y Jos A. Boluda
L
2 AUTORES: TTULO DEL ARTCULO
o Se incluye una resistencia para calentamiento del
sensor de temperatura.
o Barra de 8 leds para monitorizar el bus de datos.
o Conjunto de 4 displays de 7 segmentos conectados a
un nico conversor de BCD a 7 segmentos.
o 5 entradas digitales de un bit seleccionables
mediante conmutador.
o Entradas comunes analgicas y digitales
seleccionables mediante conmutadores de tres
estados (Anlogo/Libre/Digital). Este conmutador
permite la desconexin individual de cada entrada
analgica o digital.
o Bus I2C y perifricos:
o PCF8591: Conversor A/D y D/A. Tiene
una salida y cinco entradas analgicas.
o PCF8582: Memoria E2PROM con 256
bytes.
o Conector e interfaz RS232.
o Conector USB (slo para PICs que soporten USB).
o Botn para generar interrupcin externa (INT).
o Conmutadores de habilitacin individuales para
cada perifrico de la tarjeta.
o Conectores individuales para el bus I2C, entradas y
salidas analgicas, PWM (RC1 y RC2),
interrupcin externa y reloj timer0 (T0K).
o Dos conectores IDC de 26 pines para expandir la
conexin del microcontrolador. El primer conector
tiene todas las seales de los PIC de hasta 28 pines,
mientras que el segundo completa las seales
presentes en PICs ms grandes (hasta 40 pines).
o La alimentacin se puede realizar mediante una
fuente externa aunque no est ni polarizada (AC o
DC) ni filtrada, siempre que sea superior a unos 13-
15 Voltios e inferior a unos 30 V. Es posible la
utilizacin de dos pilas de 9 voltios.
II. PERIFRICOS Y MDULOS DE LA TARJETA
Los componentes ms interesantes de la tarjeta
EduPIC se comentan a continuacin.
A. Unidad de programacin
Una de las caractersticas ms interesantes de esta
tarjeta es que se puede grabar casi cualquier PIC en la
propia tarjeta. Esta caracterstica es especialmente
importante en un laboratorio docente donde un mismo
dispositivo debe ser grabado una y otra vez.
La figura 2 muestra el circuito de programacin de la
tarjeta. Los pines de programacin del PIC (RB7 y RB8)
estn conectados al conector del puerto paralelo de
impresora a travs de un buffer. A travs de este puerto
se reciben tambin diferentes seales para llevar el PIC a
su estado de programacin.
Para que la programacin sea correcta, es necesario
aislar los pines RB7 y RB6 del resto de perifricos. Un
conmutador de la tarjeta se encarga de asegurar este
aislamiento.
En el circuito de programacin se incluye tambin el
de reset. Como el PIC tiene su propio power-up reset, el
circuito de reset externo se limita a un botn.
VPP VCC
NMCLR
R16
2K2
R22
2K2
R24
2K2
D11
1N4148
Q7
2N3904
3
2
1
Q6
2N3904
3
2
1
Q5
2N3906
3
2
1
R17
2K2
P1
PARALELO
13
25
12
24
11
23
10
22
9
21
8
20
7
19
6
18
5
17
4
16
3
15
2
14
1
U10
74LS244
2
4
6
8
11
13
15
17
1
19
18
16
14
12
9
7
5
3
1A1
1A2
1A3
1A4
2A1
2A2
2A3
2A4
1G
2G
1Y1
1Y2
1Y3
1Y4
2Y1
2Y2
2Y3
2Y4
SCLK
RB7/SDATA
RB6/SCLK
RB6
RB7
SDATA
SW18
SW_PROG
2
1
3
5
4
6
SW15
RESET
1 3
2 4
R25
100
R23
1K
D9
LN10304
20 1
19 2
18 3
17 4
16 5
15 6
14 7
13 8
12 9
11 10

Fig. 2. Circuito de programacin de PIC en la placa.
B. Fuentes analgicas y digitales
La tarjeta dispone de 5 entradas digitales de un bit y 4
analgicas, sin contar las propias del bus I2C que se
comenta ms adelante. Estas entradas comparten el
puerto A del PIC que puede ser configurado como
digital o analgico. Dado que comparten la misma
entrada, es necesario disponer de algn mecanismo que
permita elegir una entrada o la otra, o incluso ninguna en
el caso de utilizar seales externas a la tarjeta. Para ello
se han utilizado conmutadores que permiten elegir las
tres posibilidades: analgico, digital y desconectado.
Hay 4 fuentes internas de seales analgicas: dos de
ellas son simples potencimetros que permiten
seleccionar cualquier tensin entre 0 y 5 Voltios. Otra
fuente analgica viene de un sensor de temperatura
LM35, que entrega una salida lineal con la temperatura,
exactamente 10 mV por cada grado centgrado
empezando en cero grados. La ltima entrada analgica
viene de una resistencia sensible a la luz (LDR)
colocada junto con otra resistencia formando un divisor
resistivo entre 0 y 5 Voltios.
Las fuentes digitales se han implementado mediante
interruptores que dan 0 5 V.
C. Barra de 8 leds y display de 7 segmentos
La salida digital bsica consiste en un led por cada bit
de un puerto. En este caso se ha elegido una barra de
leds para reducir espacio.
Otra salida digital bsica consiste en un simple display
de 7 segmentos.
Se han conectado estos dos dispositivos de salida a los
8 bits del puerto B del PIC. La figura 3 muestra el
circuito de esta conexin.
XI JORNADAS DE PARALELISMOGRANADA, SEPTIEMBRE 2000 3


GA0
GA3
GA1
GA2
GA4
GA7
GA6
GA5
GA2
GA[0..7]
GA5
GA1
GA3
GA4
GA7
GA5
GA6
GA3
GA7
GA2
GA0
GA4
GA0
GA6
GA1
D9
LN10304
20 1
19 2
18 3
17 4
16 5
15 6
14 7
13 8
12 9
11 10
D10
SC52-11HWA
7
6
4
2
1
9
10
5
3
8
a
b
c
d
e
f
g
dp
gnd1
gnd2
RB1
RB0
RB3
RB2
RB5
RB6
RB7
RB4
R14
330 DIP 16
1
2
3
4
5
6
7
8 9
10
11
12
13
14
15
16
SW14
DISP2.ON
2
1
3


Fig. 3. Circuito de la barra de leds y display de 7 segmentos

Ambos dispositivos, display y leds, comparten el
mismo paquete de resistencias, lo que provoca que uno
de los dispositivos tome la mayor parte de la corriente,
al ser diodos, y luzca ms. Para evitar esto se han
elegido dispositivos cuyos diodos tienen caractersticas
similares de tensin y corriente de polarizacin.
D. Display mltiple de 7 segmentos
Para incrementar la complejidad de los dispositivos de
salida, se ha incluido un display mltiple formado por
cuatro sencillos de 7 segmentos. Hay varias
posibilidades de control de este tipo de display mltiple,
pero se ha optado por un display de refresco, ya que
permite introducir conceptos como la realizacin de
tareas de fondo, interrupciones de refresco, etc., durante
la ejecucin normal de un programa.
La figura 4 muestra el circuito de este display de 4
displays de 7 segmentos. Los 4 bits menos significativos
del puerto B estn conectados al 74LS48 que es el
convertidor de BCD a 7 segmentos. La salida de este
convertidor es comn a los 4 displays. Con el fin de que
slo aparezca el nmero en el display deseado, se han
puesto 4 seales de habilitacin en los 4 bits ms
significativos del puerto B, de manera que estos bits
controlan los transistores que conectan o desconectan
cada display de forma individual.
Un nmero de 4 cifras se construye poniendo cada vez
un dgito en la parte baja del puerto B. al tiempo que se
selecciona un display diferente. Si esta alternancia se
realiza lo suficientemente rpida, el ojo ver un nmero
de 4 cifras casi sin parpadeos.

VCC G[0:7]
G0 G0 G0 G0 G0
G1
G2
G7
G6
G5
G7
G2
G3
G5
G2
G3
G6
G1 G1
G4
G3
G2
G4
G3
G7
G6
G4
G5
G4
G3
G1
G5
G6
G1
G7
G4
G6
G5
G2
RB3
RB1
RB2
RB0
D4
SC52-11HWA
7
6
4
2
1
9
10
5
3
8
a
b
c
d
e
f
g
dp
gnd1
gnd2
D5
SC52-11HWA
7
6
4
2
1
9
10
5
3
8
a
b
c
d
e
f
g
dp
gnd1
gnd2
D6
SC52-11HWA
7
6
4
2
1
9
10
5
3
8
a
b
c
d
e
f
g
dp
gnd1
gnd2
D7
SC52-11HWA
7
6
4
2
1
9
10
5
3
8
a
b
c
d
e
f
g
dp
gnd1
gnd2
U5
74LS48
7
1
2
6
4
5
3
13
12
11
10
9
15
14
1
2
4
8
BI/RBO
RBI
LT
A
B
C
D
E
F
G
R4
10K
SW3
DISP1.ON
2
1
3
Q1
2N3904
3
2
1
RB7 RB6
Q2
2N3904
3
2
1
R5
10K
RB5
Q3
2N3904
3
2
1
R6
10K
Q4
2N3904
3
2
1
R7
10K
RB4


Fig. 4. Circuito correspondiente al display mltiple de 4 cifras
E. Teclado matricial 4x4
Es importante disponer de un teclado en una tarjeta de
desarrollo. Se ha optado por un teclado matricial, ya que
es un tipo de teclado que ofrece 2
n
teclas por cada n bits
y es muy simple de usar.
El teclado 4x4 (16 teclas) est conectado tambin al
puerto B. Los 4 bits ms significativos estn conectados
a las filas, y los 4 menos significativos a las columnas.
No hay necesidad de colocar resistencias de pull-up,
ya que el propio PIC las proporciona (siempre que se
configure para ello). Si el teclado estuviera conectado en
otro puerto s que podra ser necesario disponer
externamente de estas resistencias.
F. Pantalla LCD
El ltimo paso hacia un display de mediana
complejidad lo constituye la pantalla LCD. Hay otras
pantallas ms sofisticadas, pero hay pocas que sean tan
verstiles, estndares, econmicas, y fciles de usar.
El LCD de la tarjeta est conectado al puerto B y A del
PIC. El puerto B se utiliza como bus de datos, mientras
que en los tres bits menos significativos de A se han
implementado las seales de control del LCD.
La figura 5 muestra la conexin del LCD al PIC de la
tarjeta.

VCC
RB6
RB5
RB7
RB0
RB1
RB2
RB3
RB4
RA1/AN1
RA0/AN0
RA2/AN2
SW21
LCD.ON
2
1
3
R40
10K
R35
POT10K
1
3
2
LCD
2X16
D13
LCD
7
8
9
10
11
12
13
14 1
2
3
4
5
6
D0
D1
D2
D3
D4
D5
D6
D7 GND
VCC
VEE
RS
R/W
E


Fig. 5. Circuito del LCD
G. Interface RS232
Es importante que una tarjeta de desarrollo disponga
de algn puerto de comunicaciones y transmisin de
datos, aunque sea sencillo.
Se ha incorporado el RS232 porque es sencillo,
disponible, est en la mayora de ordenadores
personales, y la mayora de PICs incluye una UART de
comunicaciones serie donde es sencillo implementar una
conexin RS232.
Lo nico necesario para implementar la comunicacin
RS232 es un circuito que adapta las tensiones de 5 V del
PIC a las de 12 V del RS232. Esto se consigue con un
MAX232 por ejemplo, tal como muestra la figura 6.

VCC
RC6/TX
RC7/RX
+ C24
1u
+
C27
1u
+
C26
1u
+ C25
1u
P2
RS-232
5
9
4
8
3
7
2
6
1
U13
MAX232
13
8
11
10
1
3
4
5
2
6
12
9
14
7
R1IN
R2IN
T1IN
T2IN
C+
C1-
C2+
C2-
V+
V-
R1OUT
R2OUT
T1OUT
T2OUT


Fig. 6. Interface RS232

4 AUTORES: TTULO DEL ARTCULO
H. Bus I2C
El protocolo de bus I2C permite la transmisin de
datos entre varios dispositivos con tan solo dos hilos. La
simplicidad y facilidad de uso son slo algunas de las
razones para incluirlo en sistemas empotrados.
La mayora de microcontroladores modernos,
incluyendo los PIC, disponen de dos pines para el bus
I2C. Por otro lado, hay varios dispositivos perifricos
que disponen de este bus como nico interface digital,
facilitando la interconexin de dispositivos.
Se han incluido dos de estos perifricos en la tarjeta
EduPIC. Uno de ellos es un conversor A/D y D/A. El
conversor A/D no era en principio necesario pues el PIC
ya tiene 4 puertos de este tipo, pero la conversin D/A
no forma parte de casi ningn PIC, por lo que resulta
interesante incluirla dentro de la tarjeta. De esta manera
la tarjeta ya puede leer y escribir seales analgicas.
El otro dispositivo I2C es una simple EEPROM serie
que expande la capacidad de almacenamiento del PIC,
especialmente porque algunos PICs (pocos) no incluyen
ninguna memoria EEPROM para escritura permanente.
I. Interface USB
Hay algunos microcontroladores PIC, muy pocos
todava, que incluyen un interface USB en el propio
micro. No slo incluyen la parte lgica de
comunicaciones, sino que generan las seales elctricas
segn el estndar USB 1.0; esto significa que se puede
realizar una conexin de bus USB sin necesidad de
ningn circuito externo, salvo un par de resistencias y
condensadores.
El puerto USB del PIC comparte pines con el bus I2C
entre otros, por lo que si se quiere que una tarjeta de
desarrollo permita ambos buses, es necesario disponer
de unos puentes de configuracin. Esto lo hace la tarjeta
EduPIC con dos puentes que permiten elegir entre bus
I2C y USB.
Por otro lado, la configuracin de las seales del
puerto puede ser diferente dependiendo de que la tarjeta
acte como maestro o como esclavo. La configuracin
por defecto es la de esclavo, ya que es la ms usual.
Adems, no todos los PIC soportan el modo maestro.
III. SOFTWARE
No se ha implementado ningn firmware en la tarjeta.
Este era uno de los requisitos, pues se pretenda que el
cdigo implementado no dependiera de ningn sistema
operativo o firmware que pudiera estar presente en la
tarjeta, y que pudiera interferir en la aplicacin.
Sin embargo, es necesario algn mecanismo que
permita la descarga de la aplicacin en el PIC y luego se
ejecute. Esto se ha implementado mediante la capacidad
ICSP (programacin serie) de los PIC, que permite que
puedan ser grabados en la propia tarjeta.
Para ello es necesario disponer de un programa en el
PC que se comunique con el PIC y le grabe el programa.
Se ha desarrollado un programa que realiza esta labor
entre otras. Este programa lee el cdigo en formato HEX
generado por el compilador y lo transmite al PIC,
comprobando que la grabacin sea correcta. Esta
funcin es la principal, pero tambin permite escribir
datos en la memoria EEPROM del PIC, lee el contenido
del PIC, permite cambiar la configuracin del PIC,
permite su desproteccin, etc.
Estas funciones se combinan en una interface amistosa
que funciona tanto en Windows como Linux.
La tarjeta est adaptada para ser usada con otros
programas de descarga y grabacin de libre distribucin
como el ICProg.
IV. SESIONES DE LABORATORIO
Hay un total de 5 sesiones en el laboratorio de
microcontroladores. El principal objetivo es cubrir la
mayor parte de caractersticas tanto del micro como de
los perifricos, para combinarlos en aplicaciones lo ms
realistas posible. En la ltima sesin se ofrece la
oportunidad de que el estudiante invente su propio
proyecto.
Sesin 1: Programacin en ensamblador
En esta sesin los estudiantes realizan un pequeo
programa en ensamblador del PIC. En el resto de
sesiones utilizan C, pero es importante que sepan qu
hay detrs de cualquier programa en C. Adems hay
ciertas caractersticas que son slo accesibles si se
conoce el ensamblador del PIC. En esta sesin se
aprende tambin el manejo de las herramientas de
depuracin bsicas como el simulador.
Sesin 2: Interrupciones, temporizacin y display
mltiple
En esta sesin se introduce el lenguaje C. Se explica el
uso de las interrupciones y temporizaciones mediante el
uso del display mltiple de 4 dgitos. En esta sesin el
estudiante debe implementar un contador de doble
sentido. Deben generar interrupciones cada cierto
tiempo (timer1) para modificar el contador y atender a
las seales de parada e inicializacin. Al mismo tiempo
se debe refrescar el display para mostrar en cada
momento el valor del contador.
Sesin 3: Teclado y LCD
Mediante la implementacin de un conversor de
temperaturas, los estudiantes aprenden a leer de un
teclado matricial y a escribir y controlar un LCD.
Sesin 4: Entradas analgicas y comunicacin serie
En esta sesin se aprende a leer las entradas analgicas
y a mandar/recibir datos por el puerto serie RS232
conectado al ordenador. Para ello envan por el puerto
serie el valor analgico de uno de los puertos. El puerto
analgico se elige mediante el teclado del ordenador.
Sesin 5: Proyecto libre
En esta ltima sesin el estudiante presenta un
proyecto propio que ha ido desarrollando durante el
curso. El proyecto debe funcionar sobre la tarjeta y
hacer uso de la mayor cantidad de dispositivos.
Otras sesiones, otras asignaturas
Tal y como se coment anteriormente, esta tarjeta se
emplea tambin en la asignatura de perifricos, donde se
implementa un perifrico esclavo basado en USB.
Tambin en la asignatura de Instrumentacin, donde se
generan seales analgicas a partir de patrones digitales.
REFERENCIAS
[1] Microchip Inc, Varios Manuales y notas de aplicacin.
http://www.microchip.com/
[2] Fernando Pardo, EduPic, Tarjeta de desarrollo para
sistemas basados en PIC: Manual del usuario,
http://tapec.uv.es/edupic/

You might also like