Upload
khangminh22
View
1
Download
0
Embed Size (px)
Citation preview
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
[email protected], [email protected], [email protected]
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
Laboratorio de electrónica digital: 3 P
Sistemas digitales programables: 4,5 T + 3 P
Laboratorio de sistemas programables II: 4,5 P
Sistemas digitales programables II: 6 T
Laboratorio de sistemas digitales programables II: 6 P
Laboratorio microelectrónico digital: 6 P
Troncales
Obligatoria
Optativas
Electrónica digital básica:16,5
Sistemas digitales complejos: 22,5
Ingeniero de Telecomunicación
Electrónica digital: 6
Laboratorio de electrónica digital: 3 P
Sistemas digitales programables: 4,5 T + 3 P
Laboratorio de sistemas programables II: 4,5 P
Sistemas digitales programables II: 6 T
Laboratorio de sistemas digitales programables II: 6 P
Laboratorio microelectrónico digital: 6 P
Troncales
Obligatoria
Optativas
Electrónica digital básica:16,5
Sistemas digitales complejos: 22,5
Electrónica digital: 6
Laboratorio de electrónica digital: 3 P
Sistemas digitales programables: 4,5 T + 3 P
Laboratorio de sistemas programables II: 4,5 P
Sistemas digitales programables II: 6 T
Laboratorio de sistemas digitales programables II: 6 P
Laboratorio microelectrónico digital: 6 P
Troncales
Obligatoria
Optativas
Electrónica digital básica:16,5
Sistemas digitales complejos: 22,5
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.
Fundamentos de Electrónica: 3 T + 0,75 (parte digital)
Sistemas electrónicos digitales: 3 T + 3 P
Troncales
Obligatoria
Electrónica digital básica: 4,25
Sistemas digitales complejos: 6
Ingeniero Técnico de Telecomunicación
Fundamentos de Electrónica: 3 T + 0,75 (parte digital)
Sistemas electrónicos digitales: 3 T + 3 P
Troncales
Obligatoria
Electrónica digital básica: 4,25
Sistemas digitales complejos: 6
Fundamentos de Electrónica: 3 T + 0,75 (parte digital)
Sistemas electrónicos digitales: 3 T + 3 P
Troncales
Obligatoria
Electrónica digital básica: 4,25
Sistemas digitales 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
ANSI C
Ensamblador
µC
Otras arquitecturasHardware
Circuitos reconfigurables, estructura básica y funcionamiento
Esquemáticos
VHDL FPGA
PLD
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
0
VCC_IO
VCC_IO
VCC_IO
0
0
0
0
0
0
VBUS
VCC0
VCC_IO
0
VCC
VBUS
VCC_IO
PD6
PD2PD5
PD7
PD2
PD0
PD4 PD3
PD1PD5PD7
PD1
PD4
PD0PD6
PD3
PD[0:7]
PAUX[0:6]
PAUX0
PAUX1PAUX2
PAUX3PAUX6PAUX5PAUX4
PAUX0PAUX1PAUX2PAUX3
PAUX4PAUX5PAUX6
PAB9
PAB12
PAB6
PAB6
PAB15
PAB14
PAB8
PAB2
PAB2
PAB11
PAB14
PAB4
PAB1
PAB11
PAB4
3.3V
PAB5
PAB13
PAB0
PAB7
PAB13
PAB8
PAB0
PAB3
PAB7
PAB12
PAB10
PAB5
PAB1
PAB15
PAB[0:15]
PAB3
PAB10PAB9
R10
R61kSM/R_0805
C522pF
SM/C_0805
R11
C422pF
SM/C_0805
X124Mhz
RAD/.400X.150/LS.200/.031
R42k2SM/R_0805
R12
U2KF33DBT
1 3
2
IN OUT
GND
R13
F1
FUSE +C610uF
SM/C_1210_POL
R14R15
D1LEDSM/D_0805_21
JP3
HEADER 3SIP/TM/L.300/3
123
R16
J5
USB_miniB
123456
R17
+C710uFSM/C_1210_POL
SW1PULSADOR_SMD
1 2
SW2PULSADOR_SMD1 2
R18R19
J3
CON3
123
J4
CON4
1234
J2
CON8
12345678
C8
100n
C9
100n
C10
100n
R20R21
R52k2SM/R_0805
J1
CON19
12345678910111213141516171819
R22
+C22.2uF
SM/C_1210_POL
+ C31uFSM/C_1206_POL_12
R2100k
SM/R_0805
R1100k
SM/R_0805
U1
CY7C68013-56PVCSOG.025/56/WG.420/L.725
123 54
5556
45
8
109
1112131415
171819202122232425262728 29
303132333435363738394041424344454647484950515253
67
16
PD5/FD13PD6/FD14PD7/FD15 PD2/FD10
PD3/FD11PD4/FD12
GNDCLKOUT
RDY0/SLRD
AVCCRDY1/SLWR
XTALOUTXTALINAGNDVCCDPLUS
GNDVCCGNDIFCLKRESERVEDSCLSDAVCCPB0/FD0PB1/FD1PB2/FD2PB3/FD3 PB4/FD4
PB5/FD5PB6/FD6PB7/FD7
GNDVCCGND
CTL0/FLAGACTL1/FLAGBCTL2/FLAGC
VCCPA0/INT0#PA1/INT1#PA2/SLOEPA3/WU2
PA4/FIFOADR0PA5/FIFOADR1
PA6/PKTENDPA7/FLAGD/SLCS
GNDRESET
VCCWAKEUPPD0/FD8PD1/FD9
VCCGND
DMINUS
R8
J6
CON2
12
C1
10kAX/.350X.100/.034
R3
10MAX/.350X.100/.034
R7
R9
WAKEUP RESET
500m A
Figura 6. Esquema de la placa del microcontrolador.
Figura 7. Placa de periféricos.
0
VCC_CIRCLE
0
DIS0DIS1DIS2DIS3DIS4DIS5DIS6
DIS0
DIS1
DIS2
DIS3
DIS4
DIS5
DIS6
DIS[7:0]b0b1b2
b3b2b1
b[3:0]b0
b3
U1LM555
2
5
3
7
6
4 8
1
TR
CV
Q
DIS
THR
RVCC
GND
C3100k
C21k
C1
100k
R34M7
R21k
SW1
1 2
0 +-
SW2
SWCON DIP-16
1
8
161514131211109
U2
74LS48
7126
453
13121110915
16
8
14ABCD
BIRBILT
OAOBOCODOEOF
VCC
GND OG
JH1
HEADER 16
123456789
10111213141516
12345678910111213141516
a
b
c
d
e
f
g
DP
D2
LN10204
5
3
10
9
1
2
84
6
7
R4
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.