Title: Charla introductoria para instructores
1Introducción a la práctica del Laboratorio de
Sistemas Electrónicos Digitales Curso 2000-2001
Control de acceso remoto codificado con un
receptor digital basado en el MC68000
Juan Manuel Montero Martínez Javier Macías Guarasa
Departamento de Ingeniería Electrónica E.T.S.I.
Telecomunicación Universidad Politécnica de
Madrid
2Guión
- Introducción
- Arquitectura
- Detección de tonos
- Desarrollo SW
- Comentarios generales
- Mejoras
3Introducción
Introducción
- Objetivo Diseñar, medir e implementar un pequeño
prototipo que emplee un sistema digital basado en
un microprocesador. - Sólo se puede usar el MC68000.
- HWSW diseño modular.
- Programación en ensamblador (lo recomendado) o en
C. - Como en LCEL
- sólo tenemos 1 gran práctica.
- Montaje básico (lt8,5) mejoras opcionales.
4Descripción general
Introducción
- Prototipo que
- Contiene un emisor de tonos (100 Hz y 200 Hz)
- El receptor estará basado en el 68000, un
convertidor analógico digital (ADC) muestreando a
2 KHz y tratamiento digital de señal (DFT,
procesamiento por tramas). - Actualiza un reloj para control de horario de
acceso y para controlar el timeout. - 2 claves de acceso
- Supervisor acceso sin restricciones.
- Usuario acceso dentro de un cierto horario (de
900 a 1700).
5Arquitectura general
Arquitectura
6Emisor recomendado
Arquitectura
7Receptor digital
Arquitectura
8Convertidores A/D (I)
Arquitectura
- Los ADC son dispositivos electrónicos capaces de
proporcionarnos una señal digital cuyo valor es
directamente proporcional a la señal analógica
que se encuentra a su entrada.
FF
VALOR DIGITAL
00
VREF-
VREF
TENSIÓN ANALÓGICA
9Convertidores A/D (II)
Arquitectura
- Características generales
- Margen de entrada tensiones mínima y máxima que
pueden convertir (0 - 5 V). - Resolución cuántos bits digitales disponemos a
la salida (8 bits). - Tiempo de conversión cuánto tiempo tarda en
realizar una conversión desde el instante en que
recibe la orden (3 microsegundos). - Precisión de la conversión error máximo en
número o décimas de bit que nos garantiza el
fabricante (0,5 bit). - Retención y muestreo internos la existencia de
un SH interno nos evita tener que añadirlo
externamente (Sí)
10Convertidores A/D (III)
Arquitectura
- ADC0820 la tensión analógica entre Vin y Vref-
se convierte en señal digital en las salidas
D0-D7 el voltaje máximo que se puede medir es
Vref. - Algoritmo de medición (CS0, RD0)
- Flanco de subida en WR
- esperamos flanco de bajada en INT (3
microsegundos) - leer D0-D7
- flanco de bajada en WR
11Convertidores A/D (IV)
Arquitectura
Entrada analógica
GND
GND
5 V
12Convertidor A/D (y V)
Arquitectura
Diagrama de tiempos
13Terminales de entrada/salida
Arquitectura
- Los terminales de entrada y salida están
protegidos para evitar que se dañen por
cortocircuitos, etc. - Los opto-acopladores que los protegen son lentos
y son unidireccionales. - Puerto A salidas.
- Puerto B entradas.
- Cuando ponemos un dato en un terminal de salida,
este dato tarda un tiempo en aparecer en la
salida de los opto-acopladores.
Puerto del PIT
Opto-acopladores
14Opto-acopladores
Arquitectura
- Caracterización de los optoacopladores
- Generación de un onda cuadrada por un terminal
del puerto A empleando interrupciones periódicas. - Medir a distintas frecuencias el tiempo a nivel
alto y a nivel bajo de la onda generada
(teóricamente cuadrada). - La frecuencia máxima a la que la frecuencia de la
señal medida coincide con la de la señal
programada. - Muestreo cada 2 interrupciones.
15Arquitectura SW
Arquitectura
16Procesamiento por tramas
Detección de tonos
- Trama o ventana secuencia de muestras
consecutivas que procesaremos como una unidad. - Análisis local de señales variantes en el tiempo.
17Energía media de una trama
Detección de tonos
- La energía de una trama implica un sumatorio de
multiplicaciones. - Se puede aproximar por un sumatorio de valores
absolutos. - Como vamos a comparar tramas de igual tamaño,
podemos ahorrarnos la división por N (energía
absoluta).
18DFT de una trama (I)
Detección de tonos
- La DFT de una trama en la frecuencia f1 equivale
a multiplicar la trama por 2 sinusoides (seno y
coseno) de frecuencia f1. - Podemos tener los valores de las sinusoides
precalculados en una tabla en memoria. - Podemos ahorrarnos la división por N.
19DFT de una trama (II)
Detección de tonos
20Detección y decodificación
Software
- 2 fases
- Detección, usando la energía de cada trama, del
comienzo y fin de cada dígito. - Decodificación del tono determinar si es de 100
Hz o 200 Hz o es espúreo
21Diagrama de estados
Detección de tonos
Paso a automático
Pulsación de dígitos
22Estructura
Software
- Seguiremos unas normas rígidas y obligatorias.
- Es obligatorio hacer copias de seguridad de cada
sesión de prácticas a la que asistáis. - Un programa en ensamblador constará
obligatoriamente de 5 partes - Constantes.
- Variables globales.
- Subrutinas.
- Rutinas de atención a interrupción.
- Programa principal.
23Variables
Software
- Salvo que tengamos problemas de tiempo, es
preferible emplear variables globales en vez de
registros globales (mayor claridad) - Nombres estandarizados obligatorios
sustantivoadjetivo, sustantivoinfinitivo. - MuestraProcesar, estadoActual...
- Sólo los primeros 8 caracteres son significativos
- OJO Las variables y registros globales son
difíciles de usar cuando hay interrupciones al
procesar una interrupción es mejor guardar y
recuperar todos los registros en la pila, incluso
los aparentemente no usados (TRAP 14).
24Subrutinas
Software
- Si reciben parámetros, lo harán por registro o
por pila (no por medio de variables globales
auxiliares). - Si reciben 3 o menos parámetros, mejor emplear
registros (D1,D2,D3). - Para devolver un resultado, empleamos D0
- Seamos sistemáticos y documentemos el código.
25Depuración
Software
- Cuando se escribe un programa, nunca funciona a
la primera gt depurar. - Depurar paso a paso las interrupciones de tiempo
real es difícil gt depuración por pantalla,
depuración por tramas. - Trap 14 nos permite leer del teclado del PC y
escribir en su pantalla (PORTIN1, OUTPUT, INCHE,
OUTCH, HEX2DEC, GETNUMA). - Consultad cadena.asm
- La rutina de atención a la TRAP no se puede
ejecutar paso a paso.
26Depuración
Software
EJEMPLO DE USO DE ALGUNAS FUNCIONES QUE
PROPORCIONA LA TRAP 14 SISTEMA EQU 14
Llamada al sistema (TRAP 14) OUTPUT EQU
243 Función para escribir una cadena de
caracteres a partir de la posición en la
que se está el cursor en la pantalla del PC
(hay que usar la TRAP 14) PORTIN1 EQU
241 Función PORTIN1 lee una cadena de
caracteres del teclado
del PC (hay que usar la TRAP 14) CR EQU
13 código ASCII del retorno de carro
permite retroceder el cursor hasta la 1ª
columna de la pantalla LF EQU 10
código ASCII del avance de línea permite pasar el
cursor a la línea siguiente sin que
retroceda el cursor prompt DC.B 'Introduzca
una cadena (máximo 127 caracteres)'
DC.B CR retorno de carro DC.B
LF avance de línea buffer DS.B 127
Buffer cadena donde leer lo que usuario
teclee INICIO lea.l prompt,A5
dirección de comienzo del mensaje lea.l
buffer,A6 dirección de final del mensaje 1
move.l OUTPUT,D7 seleccionamos la función de
salida por pantalla trap SISTEMA
damos la orden de escribir en pantalla
lea.l buffer,A5 dirección de comienzo del
buffer donde leer lo que usuario escribe
en el teclado del PC. move.l PORTIN1,D7
trap SISTEMA se queda esperando a que el
usuario escriba algo por teclado y lo
termine pulsando ENTER (hasta que no se pulse
enter sigue leyendo del teclado) ...
27Desarrollo orientativo (I)
Software
- Sesión 1
- familiarizarse con la entrenadora y el entorno
ED68K (programas de ejemplo cocheFantastico.asm y
cadena.asm). - caracterizar los opto-acopladores de protección,
escribiendo su primer programa empleando una
interrupción periódica, (esqueleto del programa
final de la práctica). - Sesiones 2 y 3
- Diseñar y montar el módulo de muestreo. Modificar
el programa anterior para generar las señales que
necesita el convertidor analógico digital.
Capturar correctamente un nivel de continua. - Guardar en memoria una o varias tramas de
muestras digitalizadas (buffer) y atacar al ADC
con sinusoides, triangulares, etc
28Desarrollo orientativo (II)
Software
- Sesiones 4 y 5
- E la vez que captura una trama de señal, sea
capaz de procesar las DFTs y calcular la energía.
Probar, con tonos de varias frecuencias. - Empleando las energías calculadas, detectar el
comienzo y el fin de cada pulsación de un tono,
ajustando el umbral de detección. - Sesiones 6 y 7
- Al final de la pulsación de cada tono nos muestre
el dígito detectado, y que este es siempre el
correcto. - Comparar la secuencia recibida con los posibles
patrones, a fin de decidir si el usuario es
normal, es súper-usuario o es un intruso, y
realizar las acciones oportunas en cada caso.
29Desarrollo orientativo (y III)
Software
- Sesión 8
- Añadir el reloj que se actualiza en la
interrupción, se inicializa al principio del
programa (cuando todavía no están habilitadas las
interrupciones) y se muestra por la pantalla del
PC en el programa principal. - Usar la hora para comprobar si la clave es válida
en la hora actual. - Sesión 9
- Implementar el timeout.
- Pruebas finales.
30Uso del Laboratorio
Comentarios generales
- Optimizad el uso de los turnos
- Fuera del Laboratorio
- Diseñad sobre papel y escribid parte del SW
- Montad e interconectad los integrados
- Dentro del Laboratorio
- Medidas
- Investigad los fallos en el HW y SW
- Corregid el programa
31Material necesario
Comentarios generales
- Mínimo imprescindible
- El mismo que para LCEL
- Cable plano de 26 hilos y conectores DB25
- Recomendaciones generales
- Inserción, PCB, wire-wrapping
- Inserción es MUY POCO FIABLE, pero es el más
cómodo y barato. - Wire-wrapping es MUY FIABLE, pero es algo más
caro e incómodo si cometéis - PCB es una mejora
32Mejoras (I)
Mejoras
- Especificaciones mínimas correctas y prototipo
funcionando ? hasta un 8,5 - Por encima de eso ? mejoras
- No se trata de repetir módulos idénticos
- Ojo con las mejoras pueden implicar MUCHA
complejidad - Comenzad por lo básico
- Tened en mente alguna mejora (secundario)
33Mejoras (II)
Mejoras
- Menú de súper-usuario cambiar claves, cambiar
hora, salir. - Módulo de salida de usuario visualizar la clave
conforme se va introduciendo. - LCD,7 segmentos.
- Incrementar el número de frecuencias.
- Módulo de entrada portátil teclado matricial.
34Mejoras (y III)
Mejoras
- Módulo de entrada/salida programable.
- HP, PalmPilot.
- Canal de infrarrojos o radiofrecuencia
- Módulo de salida por voz (cto. de reloj, latches,
D/A, filtros). - Acceso por voz.
- Montaje en PCB.
- Voluntarias .
35Leed con detenimiento el enunciado de la
práctica, las notas complementarias y las normas
de funcionamiento del LaboratorioCumplid a
rajatabla las indicaciones, por favor
36http//www-gth.die.upm.es/macias/lsed.html
37Preguntas?