Publicado el 14 de Enero del 2017
755 visualizaciones desde el 14 de Enero del 2017
402,3 KB
25 paginas
Creado hace 19a (10/05/2006)
Instrumentación de Tiempo Real
UNIVERSIDAD DE CANTABRIA
Tema 1. Introducción
Tema 2. Recursos de acceso al hardware
Tema 3. Interrupciones
Tema 4. Puertas básicas de entrada/salida (I)
Tema 5. Recursos de temporización de bajo nivel
Tema 6. Multitarea en Ada
Tema 7. Puertas básicas de entrada/salida (II)
GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES
© Mario Aldea Rivas
2/Mar/06
1
Necesidades de temporización en
programas de tiempo real
UNIVERSIDAD DE CANTABRIA
La temporización es uno de los aspectos más característicos
de los sistemas de tiempo real
• necesidad de realizar acciones con una periodicidad
determinada o en un instante de tiempo prefijado
Requerimientos temporales más habituales en sistemas de
tiempo real:
• Realización de una tarea periódica
T
T
T
Tarea
Tarea
Tarea
Tarea
GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES
© Mario Aldea Rivas
2/Mar/06
Tiempo
Absoluto
2
Necesidades de temporización en
programas de tiempo real
(cont.)
UNIVERSIDAD DE CANTABRIA
• Tarea con tiempo relativo de respuesta
Evento
T
Tarea
• Tarea a realizar en un instante de tiempo absoluto
Tarea
Hora
Tiempo
Absoluto
Tiempo
Absoluto
GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES
© Mario Aldea Rivas
2/Mar/06
3
Necesidades de temporización en
programas de tiempo real
(cont.)
UNIVERSIDAD DE CANTABRIA
• Medida de tiempo relativo
T?
• Datación absoluta de eventos
Hora?
GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES
© Mario Aldea Rivas
2/Mar/06
Tiempo
Absoluto
Tiempo
Absoluto
4
Recursos hardware para gestión del
tiempo
UNIVERSIDAD DE CANTABRIA
Temporizador:
• contador de ciclos de un reloj de frecuencia fija y conocida
• cuando la cuenta llega a 0 se produce una interrupción
Reloj de tiempo real:
• reloj utilizado para obtener la hora y la fecha, normalmente
con precisión de segundos
• tiene en cuenta cambios de hora "políticos" (compensación
a fin de año y cambios de horario verano/invierno)
Reloj monótono:
• el valor leido siempre crece con el transcurso del tiempo
• utilizado por MaRTE OS (Time Stamp Counter)
GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES
© Mario Aldea Rivas
2/Mar/06
5
Descripción de un temporizador
genérico
UNIVERSIDAD DE CANTABRIA
Reloj
Habilitación
Disparo
Temporizador genérico
Contador
Cuenta inicial
Estado
Control
IRQ 0
OUT
GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES
© Mario Aldea Rivas
2/Mar/06
6
Descripción de un temporizador
genérico
(cont.)
UNIVERSIDAD DE CANTABRIA
Cuenta inicial: valor inicial que se carga en el contador al
comienzo de cada cuenta
Contador: valor actual de la cuenta
• comienza al valor Cuenta inicial y se va decrementando con
cada ciclo de reloj
• cuando su valor llega a 0 se produce una interrupción
Número de bits de la cuenta (N): este número indica el máximo
valor que se puede contar (2N)
• la máxima duración del intervalo para la que es posible
programar el temporizador será 2N * periodo del reloj
Habilitación: señal hardware que habilita o inhibe la cuenta
GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES
© Mario Aldea Rivas
2/Mar/06
7
Descripción de un temporizador
genérico
(cont.)
UNIVERSIDAD DE CANTABRIA
Registro de estado: permite leer el estado del temporizador
• lo más relevante será si ha terminado la cuenta o no
Registro de control: permite establecer el modo de operación
del temporizador
Modo de operación: establece los siguientes aspectos
• ¿cómo se inicia la cuenta? por orden software, por señal
externa, fin de cuenta anterior, ...
• ¿qué hacer cuando finaliza una cuenta? modificar salida,
generar interrupción, ...
• ...
GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES
© Mario Aldea Rivas
2/Mar/06
8
Temporizador programable (PIT)
(8253/8254)
UNIVERSIDAD DE CANTABRIA
Contiene 3 temporizadores independientes, cada uno de ellos
de de 16 bits
• cuentan impulsos de un reloj de frecuencia 1.19318 MHz, lo
que equivale a un periodo de 838.0965 ns
• máxima longitud de cuenta: 216 * 838.0965 ≅ 55 ms
• su programación se realiza mediante 4
Mapa de E/S
registros de E/S
$3E
$3F
$40
$41
$42
$43
$44
$45
I
T
P
Contador 0
Contador 1
Contador 2
Control
GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES
© Mario Aldea Rivas
2/Mar/06
9
PIT
Estructura interna de registros
UNIVERSIDAD DE CANTABRIA
Mediante el registro destinado a cada temporizador es posible
acceder a todos sus registros internos
Mapa de E/S
Contador 0
Contador 1
Contador 2
Control
$3E
$3F
$40
$41
$42
$43
$44
$45
I
T
P
Escritura
L e ctu ra
Temporizador 0
2º
msb
1º
lsb
Cuenta inicial
2º
msb
1º
lsb
Contador
1º
Estado
GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES
© Mario Aldea Rivas
2/Mar/06
10
PIT
Registros de E/S
UNIVERSIDAD DE CANTABRIA
Dirección
E/S
$40
$40
$41
$41
$42
$42
$43
$43
Tipo
Operación
Escritura
Lectura
Escritura
Lectura
Escritura
Lectura
Escritura
Lectura
Función
Establece valor inicial del temporizador 0
Lee cuenta y/o estado del temporizador 0
Establece valor inicial del temporizador 1
Lee cuenta y/o estado del temporizador 1
Establece valor inicial del temporizador 2
Lee cuenta y/o estado del temporizador 2
Establece modo de control
Operación no permitida
GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES
© Mario Aldea Rivas
2/Mar/06
11
PIT
Registro de control
UNIVERSIDAD DE CANTABRIA
Permite configurar el modo de operación de los contadores
SC1
SC0
RW1
RW2
M2
M1
M0
BCD
Sistema de cuenta:
0 - Binario
1 - BCD
Selecciona contador:
0 0 - Contador 0
0 1 - Contador 1
1 0 - Contador 2
1 1 - Lectura Retardada
Control Lectura/Escritura:
0 0 - Almacena en buffer
para lectura segura
0 1 - Lectura/escritura del
byte menos significativo
0 1 - Lectura/escritura del
byte más significativo
1 1 - Lectura/escritura
primero lsb después msb
Selecciona Modo:
0 0 0 - Modo 0
0 0 1 - Modo 1
x 1 0 - Modo 2
x 1 1 - Modo 3
1 0 0 - Modo 4
1 0 1 - Modo 5
GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES
© Mario Aldea Rivas
2/Mar/06
12
Modo 0:
Ciclo simple
UNIVERSIDAD DE CANTABRIA
La cuenta se inicia:
• al establecer el modo
• o al escribir un nuevo valor de cuenta inicial
La salida se mantiene a nivel bajo hasta que finaliza la cuenta
El contador sólo cuenta si Gate vale 1
N
7
6
5
4
3
2
1
0
$FF
FF
$FF
FE
...
...
...
...
CLK
OUT
Se carga un 7
en el contador
GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES
© Mario Aldea Rivas
2/Mar/06
13
Modo 1:
Ciclo simple redisparable
UNIVERSIDAD DE CANTABRIA
La cuenta se inicia (o reinicia) en el primer flanco de bajada de
la señal de reloj con Gate en estado alto
• un cambio en el valor de cuenta inicial no tiene efecto hasta
que se produzca un redisparo
La salida se mantiene a nivel bajo hasta que finaliza la cuenta
5
4
3
2
1
0
$FF
FF
$FF
FE
...
...
...
...
...
...
CLK
Gate
OUT
Disparo con
cuenta 5
GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES
© Mario Aldea Rivas
2/Mar/06
14
Modo 2:
Interrupción periódica
UNIVERSIDAD DE CANTABRIA
La cuenta se inicia:
• al establecer el modo
• o al escribir un nuevo valor de cuenta inicial
• o cada vez que la cuenta llega a 0
La salida se mantiene a nivel alto mientras la cuenta es
distinta de 0 y a nivel bajo mientras la cuenta es 0
5
4
3
2
1
0
4
3
2
1
0
4
3
2
1
0
4
...
CLK
OUT
Se carga un 5
en el contador
GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES
© Mario Aldea Rivas
2/Mar/06
15
Modo 3:
Generador de onda cuadrada
UNIVERSIDAD DE CANTABRIA
Igual que el modo 2, salvo en el valor de la salida
Si el valor de cuenta inicial es N:
• la salida permanece a nivel alto durante los N/2 primeros
ciclos ((N+1)/2 si N es impar)
• la salida permanece a nivel bajo durante los N/2 últimos
ciclos ((N-1)/2 si N es impar)
5
4
3
2
1
0
4
3
2
1
0
4
3
2
1
0
4
3
2
1
0
...
CLK
OUT
Se carga un 5
en el contador
GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES
© Mario Aldea Rivas
2/Mar/06
16
Modo 4:
Interrupción sobre fin de cuenta
UNIVERSIDAD DE CANTABRIA
La cuenta se inicia:
• al establecer el modo
• o al escribir un nuevo valor de cuenta inicial
La salida se mantiene a nivel alto salvo mientras la cuenta
tiene el valor nulo
8
7
6
5
4
3
2
1
0
$FF
FF
$FF
FE
...
...
...
...
CLK
OUT
Se carga un 8
en el contador
GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES
© Mario Aldea Rivas
2/Mar/06
17
Modo 5:
Interrupción redisparable
UNIVERSIDAD DE CANTABRIA
la cuenta se inicia con cualquier flanco positivo de la señal
Gate
• es, por tanto, redisparable
La salida se mantiene a nivel alto salvo mientras la cuenta
tiene el valor nulo
8
7
6
5
4
3
2
1
0
$FF
FF
$FF
FE
...
...
...
...
CLK
Gate
OUT
Se carga un 8
en el contador
GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES
© Mario Aldea Rivas
2/Mar/06
18
PIT: Lectura por almacenamiento
previo en el buffer
UNIVERSIDAD DE CANTABRIA
SC1
SC0
0
0
X
X
X
X
0 0 - Almacena en buffer
para lectura segura
Selecciona contador:
0 0 - Contador 0
0 1 - Contador 1
1 0 - Contador 2
1 1 - No válido en este modo
Permite almacenar en un buffer el valor del contador para su
lectura segura
• el contador no detiene su cuenta
La primera lectura sobre el registro del contador retorna el lsb
y la segunda el msb de la cuenta almacenada
GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES
© Mario Aldea Rivas
2/Mar/06
19
PIT:
Lectura retrasada
UNIV
Comentarios de: Instrumentación de Tiempo Real - Tema 5. Recursos de temporización de bajo nivel (0)
No hay comentarios