Está en la página 1de 8

ENSEÑANZA PRÁCTICA DE LOS MICROCONTROLADORES Y LAS

FPGAS EN LOS NUEVOS PLANES DE ESTUDIOS

M.A. DOMÍNGUEZ, C. QUINTÁNS Y J. MARCOS


Departamento Tecnología Electrónica. Escuela Técnica Superior de Ingeniería de Telecomunicación.
Universidad de Vigo. España
mdgomez@uvigo.es, quintans@uvigo.es, acevedo@uvigo.es

El avance en la microelectrónica ha permitido disponer de circuitos


programables y reconfigurables con una gran cantidad y variedad de recursos
lógicos, así como microcontroladores de altas prestaciones y gran capacidad
de puertos de entrada/salida para su conexión a periféricos. Estos circuitos
favorecen el diseño de sistemas complejos en un espacio reducido. En este
artículo se presenta la metodología docente de un curso práctico que facilita el
proceso de aprendizaje de los circuitos configurables y de los
microcontroladores, orientado a titulaciones de ingeniería de
telecomunicación, y teniendo en cuenta el futuro Espacio Europeo de
Educación Superior.

1. Introducción
El avance de la microelectrónica ha provocado un cambio espectacular en los sistemas digitales
comerciales. En pocos años se han desechado una gran cantidad de soluciones analógicas para pasar a
realizarlas con circuitos digitales. Estos cambios también han ido acompañados de una modificación
en el enfoque docente en las escuelas de ingeniería, el cual, además de estar motivado por el cambio
tecnológico, ha estado motivado por los cambios en las políticas educativas (extinción de los antiguos
planes de ciclo largo y el Espacio Europeo de la Educación Superior). Esta evolución de las
enseñanzas técnicas no es ajena al mundo profesional, es más, éste es el verdadero objetivo. Esto
quiere decir que es importante el perfil profesional con el que se forme a los futuros ingenieros. La
evolución de los equipos electrónicos en los últimos años ha sido muy rápida y ha supuesto que el
diseño y realización de sistemas digitales [1] con circuitos integrados ASIC (Application Specific
Integrated Circuit) se ha reducido en favor de la utilización de circuitos reconfigurables [2] y
microcontroladores [3]. Por tal motivo, en la enseñanza de los sistemas digitales surge la necesidad de
adaptar sus contenidos y métodos a estos tipos de circuitos. Con esto se pretende conseguir un perfil
de ingeniero competitivo y que pueda adaptarse a las necesidades del mercado.

2. El Espacio Europeo de Educación Superior


Actualmente la enseñanza universitaria está inmersa en un proceso de adaptación al Espacio
Europeo de Educación Superior, iniciado en la Unión Europea con las declaraciones de la Sorbona
(1998) y Bolonia (1999). Con este objetivo se han publicado 2 Reales Decretos (55/2005 y 56/2005)
en enero de 2005 que establecen la estructura que deben tener las enseñanzas universitarias y regulan
los estudios universitarios oficiales de grado y postgrado.

Se crearon 5 subcomisiones (Humanidades, Ciencias Sociales y Jurídicas, Enseñanzas Técnicas,


Ciencias Experimentales y Ciencias de la Salud) para analizar la situación actual y elaborar los nuevos
planes de estudios. Existe una comisión externa creada por el Consejo de Coordinación Universitaria
que está diseñando el nuevo mapa de titulaciones a impartir en las universidades españolas. En la
reunión celebrada el 21 de septiembre de 2005 se definió un primer grupo de 22 titulaciones y en la
última reunión del 8 de febrero de 2006 se ha presentado otro bloque de otros 22 títulos.
En Septiembre de 2007 las Comisiones Delegadas de las Conferencias de Directores de Escuelas
del ámbito de la Ingeniería de Telecomunicación han elaborado una propuesta de Título de Master y
Títulos de Grado en Ingeniería de Telecomunicación.

En esta propuesta, en la que participaron 48 Centros universitarios, se proponen una estructura,


contenido y condiciones de acceso para la formación de Grado y de Master que den continuidad a la
actual titulación. La propuesta se desglosa en cinco títulos de grado (240 créditos) y uno de master
(120 créditos), con las siguientes denominaciones:
• Master Universitario en Ingeniería de Telecomunicación.
• Graduado en Ingeniería de Telecomunicación en Sistemas de Comunicaciones.
• Graduado en Ingeniería de Telecomunicación en Telemática.
• Graduado en Ingeniería de Telecomunicación en Electrónica.
• Graduado en Ingeniería de Telecomunicación en Sistemas Audiovisuales.
• Graduado en Ingeniería de Telecomunicación en Tecnologías Fundamentales.

En el ámbito de la tecnología electrónica, según los objetivos principales que se establecen en esta
propuesta, los alumnos deben aprender de manera autónoma nuevos conocimientos y técnicas, e idear
y diseñar circuitos y sistemas electrónicos para el procesado analógico y digital de señal.

Actualmente, el real decreto 1393/2007 de 29 de octubre de 2007 es el que establece la


ordenación de las enseñanzas universitarias oficiales y desarrolla su estructura de acuerdo con las
líneas generales emanadas del Espacio Europeo de Educación Superior. En lo relativo al ejercicio
profesional, basándose en las propuestas de las universidades y de los colegios profesionales, se está a
la espera de aprobar, mediante orden ministerial, las condiciones a las que deberán adecuarse los
planos de estudios conducentes a la obtención de nuevos títulos que habiliten para el ejercicio de la
profesión regulada de Ingeniero Técnico de Telecomunicación y de Ingeniero de Telecomunicación.

3. La enseñanza de los sistemas electrónicos digitales en los planes de estudio actuales y


su adaptación a los nuevos títulos de grado
Analizando los planes de estudios actuales, el problema de partida está en la estructura horizontal
de la titulación de ingeniería de telecomunicación, es decir, hay un gran número de asignaturas de
electrónica digital y se tratan con una elevada profundidad (Fig. 1). En cambio, en la titulación técnica
se ha aplicado un esquema estratificado con sólo dos asignaturas en las que se tratan los temas
generales pero sin profundizar demasiado (Fig. 2). De esta forma se consigue un perfil de ingeniero
que conoce los sistemas digitales, sabe utilizarlos y aplicarlos, y tiene nociones de diseño pero no muy
profundas. Así, se pretende que el ingeniero técnico esté capacitado para realizar sistemas digitales
complejos aplicando soluciones bien conocidas y normalizadas en la medida de lo posible.

Electrónica digital: 6 Troncales

Sistemas digitales programables: 4,5 T + 3 P


Electrónica digital
básica:16,5
Obligatoria
Laboratorio de electrónica digital: 3 P

Optativas

Laboratorio de sistemas programables II: 4,5 P


Sistemas digitales programables II: 6 T Sistemas digitales
complejos: 22,5
Laboratorio de sistemas digitales programables II: 6 P
Laboratorio microelectrónico digital: 6 P

Ingeniero de Telecomunicación

Figura 1. Asignaturas de electrónica digital en la titulación de Ingeniero de Telecomunicación de la Universidad


de Vigo.
Troncales Electrónica digital
Fundamentos de Electrónica: 3 T + 0,75 (parte digital) básica: 4,25

Obligatoria Sistemas digitales


Sistemas electrónicos digitales: 3 T + 3 P complejos: 6

Ingeniero Técnico de Telecomunicación

Figura 2. Asignaturas de electrónica digital en las titulaciones de Ingeniero Técnico de Telecomunicación de la


Universidad de Vigo.

En este artículo se presenta un curso básico para la enseñanza del diseño de sistemas digitales con
circuitos reconfigurables y microcontroladores. Este curso tiene aplicación en la asignatura “Sistemas
Electrónicos Digitales” de 2º curso de las Ingenierías Técnicas de Telecomunicación impartidas
actualmente en la Universidad de Vigo. Está diseñado con un conjunto de prácticas cuyo contenido
tienen en cuenta el esquema estratificado comentado anteriormente para su aplicación en los futuros
planes de estudios.

En este trabajo se propone una futura titulación de Ingeniería de Telecomunicación en la que se


estructure la enseñanza de la electrónica digital de acuerdo con un esquema estratificado (pocas
asignaturas donde se tratan temas generales y con poca profundidad). Así el plano de estudios podría
ser una ampliación de las actuales ingenierías técnicas. Se podría tender a una estructura con 3
asignaturas de electrónica digital: Una básica, una sobre microcontroladores y otra sobre circuitos
reconfigurables. Por tanto, en la futura titulación de grado la asignatura “Sistemas Electrónicos
Digitales” de 2º curso de las Ingenierías Técnicas podrá servir de base para el título de grado
dividiéndola en dos (una asignatura sobre microcontroladores y otra sobre los circuitos
reconfigurables) (Fig. 3), y así adaptarse a los objetivos principales establecidos en la propuesta
comentada en el apartado 2.

Estructura básica y funcionamiento del µC Circuitos reconfigurables, estructura básica


y funcionamiento

ANSI C µC Esquemáticos PLD


Otras arquitecturas
Ensamblador Hardware VHDL FPGA

Figura 3. Esquema estratificado de la asignatura “Sistemas Electrónicos Digitales” dividida en los bloques que
corresponderán a las nuevas asignaturas de los títulos de grado.

En los siguientes apartados se describen la metodología docente y los contenidos de laboratorio de


la actual asignatura “Sistemas Electrónicos Digitales” y los resultados obtenidos en los tres cursos
desde su implantación.

4. El laboratorio de la asignatura Sistemas Electrónicos Digitales

4.1. Metodología docente


A los alumnos se les proponen el diseño y realización de circuitos digitales sencillos (control de
apertura de puertas automáticas, sistema de encriptación para transmisión de información utilizando
memorias CAM, etc.) utilizando FPGAs y microcontroladores. Se utilizan entornos de diseño
profesionales para que los alumnos adquieran un conocimiento de la realidad del mundo laboral. Las
prácticas de circuitos reconfigurables se diseñan mediante esquemáticos y VHDL [4] utilizando un
entorno EDA (Electronic Design Automation) de la firma Xilinx denominado ISE (Integrated
Software Environment) y una placa de desarrollo de Digilent basada en la FPGA Spartan 2E de Xilinx.
Con respecto al diseño con microcontroladores se utiliza el entorno de programación y simulación
µVision2 de la firma Keil [5]. Para la realización física se han diseñado pequeños módulos hardware
para insertar en una placa de prototipos (uno basado en el microcontrolador EZ-USB FX2 de Cypress
[6] y otros con periféricos genéricos). Así, los alumnos pueden cablear sus sistemas utilizando los
módulos básicos y otros componentes que puedan necesitar para cada práctica específica.

Las prácticas se estructuran de la siguiente manera (7 prácticas con FPGAs y 3 con


microcontroladores):
1. Introducción al entorno software de diseño y simulación ISE (2 horas).
2. Realización de sistemas secuenciales con circuitos LSI y MSI (2 horas).
3. Realización de sistemas secuenciales con FPGAs (2 horas).
4. Controlador secuencial de una puerta automática (4 horas).
5. Diseño de sistemas secuenciales utilizando el asistente de diagramas de estado StateCAD
(2 horas).
6. Memorias RAM y display de 4 dígitos de 7 segmentos (2 horas).
7. Sistema de encriptación (4 horas).
8. Microcontroladores: salidas y temporizadores (2 horas).
9. Microcontroladores: interrupciones (2 horas).
10. Microcontroladores: generación de una señal cuadrada de frecuencia variable (2 horas).

Las prácticas se realizan en sesiones de 2 horas y son guiadas por el profesor que les explica la
solución propuesta y les presenta las características eléctricas y electrónicas del hardware a utilizar y el
manejo de los entornos software de programación y simulación.

La evaluación de los alumnos se lleva a cabo revisando el trabajo realizado en las sesiones de
laboratorio y con dos trabajos finales de diseño (uno para la parte de microcontroladores y otro para
FPGAs) que tienen que realizar por su cuenta y presentar al profesor. Los alumnos que han realizado
todas las prácticas y el trabajo reciben una calificación de Apto con una puntuación de 0 a 2 de la nota
final de la asignatura. Además, en el examen final de teoría se incluyen dos cuestiones sobre la parte
de laboratorio.

El curso que se presenta se ha empezado a impartir en el año académico 2004-2005, teniendo


hasta la actualidad un total de aproximadamente 200 alumnos que lo han cursado. Analizando todas
las notas de estos 3 cursos académicos se concluye que el 100% de los alumnos que vienen a las
prácticas consiguen una calificación de apto con una nota media de 1,5 y que su grado de satisfacción
es alto según las encuestas oficiales que realiza la Universidad de Vigo entre los alumnos de todas las
asignaturas y sus profesores.

4.2. Descripción de los recursos hardware


Para la realización de las prácticas con FPGAs se utiliza la placa de desarrollo de Digilent D2SB
basada en la FPGA Spartan 2E de Xilinx (Fig. 4). Las características principales de esta placa son las
siguientes:
• FPGA con 200.000 puertas y una frecuencia de operación de 200 MHz.
• 6 conectores de expansión de 40 terminales.
• Un zócalo para una Flash ROM programable mediante JTAG.
• 2 reguladores de tensión de 1,8 V (alimentación del núcleo) y 3,3 V (para las entradas y
salidas).
• Un oscilador de 50 MHz y un zócalo para un segundo oscilador.
• Un puerto de programación JTAG
• Un LED de estado y un pulsador para pruebas básicas de entrada/salida.
Figura 4. Placa de desarrollo Digilent D2SB y placa de periféricos Digilent DIO4.

También se utiliza la placa de periféricos Digilent DIO4 que se conecta directamente a los
conectores de expansión de la placa de desarrollo y consta de un display de 4 dígitos de 7 segmentos,
8 LEDs, 5 pulsadores, 8 interruptores, un puerto VGA y un puerto PS/2 (Fig. 4).

Para la realización física de las prácticas de microcontroladores se ha diseñado un pequeño


módulo hardware para insertar en una placa de prototipos basado en el microcontrolador EZ-USB FX2
de Cypress (Fig. 5 y Fig. 6). Esta placa tiene como principal ventaja su sencillez, facilidad de
programación mediante puerto USB [7] y altas prestaciones (el microcontrolador es una versión
extendida de la arquitectura 8051). También se ha diseñado una placa de periféricos que consta de 8
microinterruptores para generar entradas digitales, un pulsador con antirrebotes realizado con un
circuito temporal 555 que genera un pulso de una duración de 1 segundo, y un display de 7 segmentos
con punto decimal para visualizar señales de salida (Fig. 7 y Fig. 8).

Figura 5. Placa de prácticas con el microcontrolador EZ-USB FX2.


VCC_IO

J1

R1 R2
100k 100k 1
VCC 2
SM/R_0805 SW1 SM/R_0805 SW2 PAB8 R7
PULSADOR_SMD PULSADOR_SMD 0 PAB9 R8 3
C1 1 2 1 2 PAB10 R9 4
PAB11 R10 5
PAB12 R11 6
WAKEUP RESET 7
10k C2 + + C3 PAB13 R12
AX/.350X.100/.034 2.2uF 1uF PAB14 R13 8
SM/C_1210_POL SM/C_1206_POL_12 PAB15 R14 9
PAB0 R15 10
R3 PAB1 R16 11
PAB2 R17 12
0 PAB3 R18 13
10M PAB4 R19 14
AX/.350X.100/.034 PAB5 R20 15
0 PAB6 R21 16
PAB7 R22 17
18
VCC_IO 19
CON19

X1 PD[0:7]
24Mhz
RAD/.400X.150/LS.200/.031 VCC_IO
J2
PD0
PD1 1
C4 C5 U1 PD2 2
22pF 22pF PD5 1 56 PD4 PD3 3
SM/C_0805 SM/C_0805 PD6 2 PD5/FD13 PD4/FD12 55 PD3 PD4 4
PD7 3 PD6/FD14 PD3/FD11 54 PD2 PD5 5
4 PD7/FD15 PD2/FD10 53 PD1 PD6 6
PAUX0 5 GND PD1/FD9 52 PD0 PD7 7
6 CLKOUT PD0/FD8 51 8
7 VCC WAKEUP 50 CON8
0 PAUX1 8 GND VCC 49
PAUX2 9 RDY 0/SLRD RESET 48
10 RDY 1/SLWR GND 47 PAB7
11 AVCC PA7/FLAGD/SLCS 46 PAB6
VBUS 12 XTALOUT PA6/PKTEND 45 PAB5
13 XTALIN PA5/FIFOADR1 44 PAB4
J5 14 AGND PA4/FIFOADR0 43 PAB3 J4
15 VCC PA3/WU2 42 PAB2 PAUX0
1 16 DPLUS PA2/SLOE 41 PAB1 PAUX1 1
2 17 DMINUS PA1/INT1# 40 PAB0 PAUX2 2
3 18 GND PA0/INT0# 39 PAUX3 3
4 19 VCC VCC 38 PAUX6 4
5 PAUX3 20 GND CTL2/FLAGC 37 PAUX5 CON4
6 21 IFCLK CTL1/FLAGB 36 PAUX4
USB_miniB 22 RESERVED CTL0/FLAGA 35 J3
0 23 SCL GND 34 PAUX4
24 SDA VCC 33 PAUX5 1
PAB8 25 VCC GND 32 PAB15 PAUX6 2
PAB9 26 PB0/FD0 PB7/FD7 31 PAB14 3
VCC_IO PAB10 27 PB1/FD1 PB6/FD6 30 PAB13 CON3
PAB11 28 PB2/FD2 PB5/FD5 29 PAB12
PB3/FD3 PB4/FD4

CY 7C68013-56PVC
J6 SOG.025/56/WG.420/L.725
R4 R5
2k2 2k2 1
SM/R_0805 SM/R_0805 2
CON2 0

PAB[0:15]

PAUX[0:6]

VCC_IO
VCC

VCC_IO
JP3 U2
F1 KF33DBT
3 1 3 3.3V
2 IN OUT
1 C8 C9 C10
FUSE + D C7
HEADER 3 C6 N + 10uF R6 100n 100n 100n
G
SIP/TM/L.300/3 500m A 10uF SM/C_1210_POL 1k
VBUS SM/C_1210_POL SM/R_0805
2
D1
LED 0
SM/D_0805_21
0

Figura 6. Esquema de la placa del microcontrolador.

Figura 7. Placa de periféricos.


VCC_CIRCLE

JH1

1
2 1
3 2
SW2
1 16 4 3
15 5 4
14 6 5
13 7 6
R2 12 8 7
C1 1k R3 11 9 8
4M7 10 10 9
100k 8 9 11 10
b3 12 11
- 0 + b2 13 12
SW1 SWCON DIP-16 b1 14 13
4 8 0 14
b0 15
1 2 2 3 b[3:0] 16 15
R C
TR C Q 16
V
7
DIS HEADER 16
5 6 D2
C2 CV THR
1k DIS0 7
a
U1 D U2 6 DIS1 6
1
LM555 N C3 4 13 DIS0 b
G BI OA
100k 5 C 12 DIS1 DIS2 4 8
3 RBI C OB 11 DIS2 c
1 LT V OC 10 DIS3 DIS[7:0] DIS3 2
b0 7 OD 9 DIS4 d
b1 1 A OE 15 DIS5 DIS4 1
b2 2 B OF 14 DIS6 e
b3 6 C OG DIS5 9 3
D
D N f
G
74LS48 DIS6 10
g
8 5 P
D

R4
LN10204

560

Figura 8. Esquema de la placa de periféricos.

5. Descripción de una práctica


Como ejemplo de de la metodología seguida, a continuación se describe una de las prácticas que
los alumnos deben realizar con el microcontrolador en la asignatura “Sistemas Electrónicos Digitales”.

El objetivo de esta práctica es que el alumno aprenda a programar un microcontrolador y a utilizar


las interrupciones. Para ello debe conocer la estructura de los microcontroladores, el entorno de
programación (se introduce en la práctica anterior), configuración de los puertos, de las interrupciones
y de los contadores. Previamente a la asistencia al laboratorio, el alumno debe realizar las siguientes
tareas: lectura de la documentación sobre el microcontrolador, estudio del diseño y la programación
del microcontrolador y estudio del manejo de las interrupciones.

El alumno debe implementar mediante el microcontrolador un programa de control sencillo para


encender secuencialmente una serie de 4 LEDs. El microcontrolador debe tener habilitada una
interrupción externa de forma que cuando se reciba un pulso en el terminal correspondiente a dicha
interrupción, el programa debe atenderla activando un contador que realiza una cuenta ascendente
desde 0 hasta 9. Una vez que el contador llega a 9, el microcontrolador debe seguir con el programa
principal de encendido de LEDs en el punto donde lo había dejado. La programación se puede realizar
tanto en lenguaje ensamblador como en lenguaje C.

En la Fig. 9 se presenta el montaje que debe realizar el alumno en una placa de prototipos para
conectar a los puertos del microcontrolador los periféricos adecuados para la tarea de control
propuesta. El alumno deberá programar los 4 bits de mayor peso del puerto A como terminales de
salida y conectar a esos terminales los LEDs mediante las correspondientes resistencias limitadoras de
corriente para proceder a su encendido secuencial. Para visualizar la salida del contador se conectan
los 4 bits de menor peso del puerto B a la entrada del display de la placa de periféricos. Los 4 bits de
menor paso del puerto B se deben programar como terminales de salida y en ellos escribir el valor del
contador y de esta forma dicho valor se visualiza en el display de 7 segmentos de la placa de
periféricos. Otra conexión que se debe realizar es la de la salida del pulsador de la placa de periféricos
con la entrada de interrupción externa del contador (bit 0 del puerto A). De esta forma, si la
interrupción externa está habilitada, cuando se acciona el pulsador de la placa de periféricos se
produce un flanco en la entrada de interrupción externa del microcontrolador y se atiende
inmediatamente la correspondiente rutina de interrupción (contaje de 0 a 9 que se visualiza en el
display). La placa de prototipos debe tener disponible una tensión de +5 V para poder alimentar la
placa de periféricos y la del microcontrolador (ésta tiene un selector que le permitiría alimentarse
directamente del USB).

Figura 9. Montaje de una práctica de microcontrolador.

6. Conclusiones
En este artículo se presenta una metodología para la enseñanza práctica de la electrónica digital
moderna, que se basa en circuitos de tipo FPGA y en microcontroladores. Se presenta la realización de
una serie de prácticas donde el alumno aprende el manejo de programas de diseño electrónico
profesionales adquiriendo los conocimientos necesarios que demanda el mercado laboral de un
ingeniero. También se presentan dos placas, diseñadas a medida, que se insertan en una placa de
prototipos, para el desarrollo de las prácticas con microcontroladores. De esta forma el alumno,
además de programar el microcontrolador, realiza las conexiones de los periféricos de una forma fácil,
sencilla y muy didáctica.

Referencias
[1] E. Mandado y Y. Mandado. Sistemas Electrónicos Digitales. 9a edición, MARCOMBO (2008).
[2] E. Mandado, J. Álvarez y M.D. Valdés Peña. Dispositivos Lógicos Programables y sus Aplicaciones.
Thomson (2002).
[3] J. Peatman. Design With Microcontrollers, McGraw-Hill (1998).
[4] IEEE Standard VHDL Language Reference Manual, IEEE Std. 1076-2002.
[5] Keil. U-Vision C51 software. [En línea]. Disponible: http://keil.com. (2005).
[6] Cypress. CY7C68013 device handbook. [En línea]. Disponible: http://www.cypress.com. (2005).
[7] Universal Serial Bus Revision 2.0 specification, [En línea]. Disponible:
http://www.usb.org/developers/docs.

También podría gustarte