Diseño con Microcontroladores
Curso
|
Cuatrimestre
|
Carácter
|
Créditos
|
Tercero
|
Segundo
|
Optativa
|
3T + 3P
|
Curso 2008/2009
Coordinador:
Manuel Nieto
Profesorado:
Antonio Pérez,
Manuel Nieto
Temario
- Introducción.
- Descripción del i8052.
- Arquitectura.
- Juego de instrucciones.
- Modos de direccionamiento.
- Diseño mínimo.
- Alimentación.
- Reloj.
- Circuito de Reset.
- Entrada-salida básica.
- Activación de LED,s.
- Lectura de pulsadores.
- Teclado
- Ejemplos
- Gestión de interrupciones en el i8052.
|
- Periféricos complejos.
- Temporizadores.
- USART (RS-232).
- I2C.
- Conversión A/D y D/A.
- Convertidores.
- PWM.
- Ejemplos.
- Memoria Principal.
- ROM, RAM.
- Decodificación.
- Alimentación ininterrumpida.
- Memoria en el i8052.
- Ejemplos prácticos.
|
Prácticas
Se realizará una práctica que consistirá en el diseño detallado, tanto del software
como del hardware, de un sistema basado en el microcontrolador i8052.
Para este curso hay que diseñar un cronómetro con los siguientes requisitos mínimos:
Deberá poder llevar dos medidas de tiempo (cuentas), totalmente independientes y
con una precisión de centésimas de segundo.
Deberá poder ser controlado mediante un teclado hexadecimal y un display de cristal
líquido (LCD) incorporados al sistema. También deberá poder ser controlado externamente
mediante un interfaz serie RS-232. La respuesta obtenida mediante ambos sistemas
de control deberá ser semejante.
Deberán estar disponibles los siguientes comandos para cada cuenta:
Comandos:
- Activación: Para poder usar una cuenta, ésta debe ser activada. Mientras no esté activada no debe responder al resto de los comandos.
- Desactivación:
- Start: Comienza la medida.
- Stop: Detiene la medida.
- Lapso: Toma y almacena un mínimo de tres tiempos parciales.
- Reset: Inicializa la medida y los tiempos parciales (los pone a cero).
- Bloqueo: Bloquea el control de la cuenta por medio del teclado o del
puerto serie.
- Configuración del puerto serie: Permite configurar los parámetros de la transmisión por el puerto serie (velocidad, paridad, control de flujo, etc.).
El cronómetro deberá ser diseñado con la herramienta Proteus y su correcto
funcionamiento deberá ser demostrado mediante su simulación.
Los alumnos que así lo deseen podrán construir dicho sistema o plantear prácticas alternativas de mayor complejidad.
Herramienta Proteus
Proteus es un paquete de software para el diseño de circuitos electrónicos
que incluye
captura (composición) de los esquemas, simulación analógica y digital combinadas y
diseño de circuitos impresos. Está disponible en dos versiones con funcionalidad
limitada: "Proteus VSM" y "Proteus PCB Design" y está instalado en los ordenadores
de la sala Altamira para su uso en la asignatura Diseño con microcontroladores.
Proteus VSM incluye simulación de microcontroladores de las familias 8051 y PIC16,
pero no permite la conexión con el software de diseño de PCB's. Esta versión está instalada en
los ordenadores lucky6 a lucky15. Los ordenadores con número par (6, 8, 10...) permiten hasta dos usuarios simultáneos realizando simulaciones de microcontroladores PIC. Los ordenadores con
número impar (7, 9, 11...) permiten tres usuarios simultáneos realizando simulaciones de microcontroladores de la familia 8051.
Proteus PCB Design incluye el diseño de PCB's, pero no permite la simulación
de microcontroladores y otros dispositivos como teclados, LCD's, etc. relacionados
con el diseño con microcontroladores. Esta versión está instalada en los ordenadores lucky2 a lucky5.
El paquete está compuesto por dos programas: ISIS, para la captura y simulación de circuitos; y ARES,
para el diseño de PCB's. En los ordenadores que tienen activada la funcionalidad VSM
sólo se puede ejecutar el programa ISIS. En ellos se puede realizar el diseño del
cronómetro y se puede diseñar su software, bien con los ensambladores que incluye la
propia herramienta, bien con paquetes más elaborados con los que está integrada (p.e.
keil, proton e IAR). También permite simular y depurar el funcionamiento de todo el sistema
ejecutando el software paso a paso, insertando puntos de ruptura (breakpoints, que
también pueden ser generados por el hardware), viendo el contenido de registros y
posiciones de memoria, etc y comprobando si la respuesta del hardware es la correcta.
También se simulan herramientas electrónicas, como osciloscopios, analizadores lógicos,
voltímetros, etc.
Una vez concluido y depurado el diseño del sistema, se puede proceder al diseño
del circuito impreso en los ordenadores que tienen activada la funcionalidad PCB Design.
Para ello se debe cargar el crónómetro en el programa ISIS y lanzar desde él la ejecución
del programa ARES, con lo que también se le envía la lista de componentes y sus conexiones.
Solamente disponemos de 3 licencias para simulación de 8051, otras 2 para simulación
de PIC16 y 1 para diseño de PCB's, por lo que simultáneamente sólo puede haber 3
ordenadores simulando circuitos basados en el 8051, otros 2 simulando circuitos
basados en PIC16 y 1 diseñando PCB's.
Debido a la configuración de los ordenadores de la sala Altamira, para que ISIS y
ARES funcionen correctamente y cada alumno pueda mantener sus diseños en su
cuenta, añadiendo componentes o modificándolos sin que eso afecte al trabajo de los
demás, antes de usar Proteus cada alumno debe crear los siguientes directorios en la
raiz de su cuenta de usuario:
H:\Proteus\
H:\Proteus\Diseños\
H:\Proteus\Templates\
H:\Proteus\Library\
H:\Proteus\Models\
H:\Proteus\Results\
Los ficheros con los diseños de los circuitos electrónicos deben guardarse en el directorio Diseños,
preferiblemente en carpetas separadas. No es obligatorio, pero es donde Proteus irá a buscarlos
por defecto. Los directorios Templates, Library y Models están destinados a guardar las modificaciones
de componentes incluidos en el programa o a guardar componentes añadidos que cada usuario pueda necesitar.
Por ejemplo, si se quiere utilizar un teclado específico para el cronómetro, se puede diseñar uno
nuevo y guardarlo en estos directorios, bien partiendo de cero, bien modificando uno de los que
vienen incluidos en la aplicación. En el directorio Results se guardan los ficheros de resultados que
se generan durante la ejecución de los programas.
Todo el paquete está bien documentado con tutoriales, ejemplos y ayuda on line. Sin embargo se debe
tener en cuenta que durante la simulación se mezcla simulación analógica con simulación digital. Esto
quiere decir que se pueden producir resultados inesperados y aparentemente erróneos. Por ejemplo, es
frecuente encontrar casos en los que no se cumple la ley de Omh. También es posible que los modelos
de algunos componentes no sean completos. Por ejemplo, parece que los displays LCD no simulan la
funcionalidad de desplazamiento del display (shift). También es posible que el modelo de algún componente
no sea del todo correcto (los vendedores no ofrecen garantías), pero parece un buen programa y no
debería haber ningún problema para su uso en esta asignatura. En todo caso, si surgen dudas o
necesitáis hacer alguna consulta, podéis hacerlo personalmente o por correo electrónico.
Material de Apoyo
IMPORTANTE: Casi toda la información de esta sección está sacada de internet.
Es bien sabido por todo el mundo que cualquiera puede poner información en la
red sin necesidad de pasar controles de fiabilidad. Los manuales de los fabricantes
y la documentación de los paquetes de software pueden contener erratas, pero son
a todas luces fiables. El resto de la información, en general, también lo es, pero
contiene inexactitudes, alguna tontería y está bastante sesgada hacia el mundo
de los pcs, así que usadla con cautela.
Pinnacle 52. Simulador de microcontroladores de la familia 8052. Sólo para windows.
Documentación sobre el 8052. Contiene
manuales de las familias AT89C51 y AT89C52 de Atmel (versiones del 8051 y 8052). También contiene manuales de varios microcontroladores.
Documentación de Dallas Semiconductors.
Documentación del bus i2c.
Documentación sobre Displays de cristal líquido (Módulos LCD).
Eagle Layout Software. Software de diseño de circuitos lógicos y placas. Versión Freeware.
Información sobre el estandard RS-232 y otros interfaces.
Información sobre el 8052.
The PC technology guide. Información
sobre el pc, periféricos y todo lo que le rodea (Se ve mal en algunas versiones
de Netscape).
Normas
DESARROLLO DEL CURSO
La asistencia a clase es obligatoria. A lo largo del curso se irán proponiendo ejercicios sobre aspectos puntuales del diseño que deberán ser realizados por los alumnos. Aquellos alumnos que realicen prácticas especiales deberán hacer una presentación de las mismas al final del curso.
EXÁMENES
Para aprobar la asignatura se deberá realizar una práctica, entregar una memoria de la misma y realizar un examen, debiéndose aprobar en la misma convocatoria. En caso de suspender alguna de las partes, se considerará la asignatura suspensa y se deberá realizar una nueva práctica, entregar la memoria y realizar un nuevo examen.
No se devolverán las memorias de las prácticas, por lo que se aconseja a los alumnos que conserven una copia.
Para la admisión de los alumnos al examen de la asignatura será necesario que hayan realizado la práctica en su totalidad.
REVISIÓN DE EXÁMENES Y PRÁCTICAS
Una vez publicadas las notas de la asignatura, se abrirá
un plazo de solicitud de revisión (2 días hábiles)
para aquellos alumnos que consideren que existe algún error en la
calificación. Esta solicitud de revisión se realizará
conectándose al URL (WEB) http://www.datsi.fi.upm.es/docencia/Micro_C/rev_dm.html.
El alumno deberá rellenar los datos que se requieran. Una vez hecha la
revisión por los profesores, se publicará la lista
de notas revisadas. Si el alumno desea revisión presencial, deberá
acudir al lugar y hora que se establecerá en su momento.
Se recuerda a los alumnos que la revisión de exámenes tiene por
objeto detectar y subsanar los posibles errores que puedan surgir en el
proceso de calificación. No se trata de explicar individualmente cómo se
resuelve el examen ni de variar ni discutir los criterios de corrección
para una persona determinada.
PRÁCTICAS o EXÁMENES COPIADOS
Los exámenes se realizarán a nivel personal y la práctica
en los grupos establecidos. Si se detecta que algún alumno ha copiado
en algún examen o algún grupo ha copiado en la realización
de la práctica, se le calificará como suspenso en esa
convocatoria y en las dos siguientes. En
particular, en el caso de la práctica,
se tendrá en cuenta que la responsabilidad de la práctica
está compartida por todos los miembros del grupo, por lo que en
caso de detectar alguna copia la norma se aplicará a todos los miembros
de todos los grupos involucrados en la copia (tanto los que copian como
los que se dejan copiar). Para evitar problemas y reclamaciones que no
se podrán atender se recomienda a los alumnos que sean especialmente
cuidadosos con los ficheros que se utilicen para la realización
de la práctica, puesto que de ello depende que la práctica
pueda o no ser copiada. En concreto, utilice siempre disquetes cuando trabaje
en un PC del Centro de Cálculo (no deje los ficheros en el disco
duro ni siquiera de forma transitoria) y haga uso de los mecanismos que
proporciona el sistema operativo cuando estos estén disponibles
(máquinas Unix).
Página actualizada el 31 de marzo de 2008