PDF de programación - Instrumentación de Tiempo Real - Tema 4. Puertas básicas de entrada/salida (I)

Imágen de pdf Instrumentación de Tiempo Real - Tema 4. Puertas básicas de entrada/salida (I)

Instrumentación de Tiempo Real - Tema 4. Puertas básicas de entrada/salida (I)gráfica de visualizaciones

Publicado el 14 de Enero del 2017
771 visualizaciones desde el 14 de Enero del 2017
501,5 KB
23 paginas
Creado hace 18a (06/04/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

Puerta de entrada/salida genérica

UNIVERSIDAD DE CANTABRIA

Las puertas de E/S ponen al computador en contacto con su
entorno:
• convertidores A/D y D/A, entradas y salidas digitales,

puertos serie y paralelo, tarjetas de red, etc.

Estructura de una puerta de E/S genérica:

µΡ

C
P

I

A
9
5
2
8

Puerta de E/S genérica

Registro de Control

Registro de Estado

Registro de Salida

Registro de Entrada

GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES

Requerimiento de

Interrupción

© Mario Aldea Rivas

2/Mar/06

2

Puerta de entrada/salida genérica:

Direcciones en el mapa de E/S

UNIVERSIDAD DE CANTABRIA

Cada registro ocupa una posición en el mapa de E/S

$3FF
$400
$401
$402
$403
$404

Reg. Control
Reg. Estado
Reg. Salida
Reg. Entrada

$3FE
$3FF
$400
$401
$402
$403

Reg. Control/Estado
Reg. Salida/Entrada

Dos registros pueden compartir una misma dirección en el
mapa de E/S
• uno de ellos será de sólo lectura y otro de sólo escritura
A los registros se accede con las operaciones Inb (lectura) y
Outb (escritura)

GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES

© Mario Aldea Rivas

2/Mar/06

3

Puerta de entrada/salida genérica:

Registro de datos

UNIVERSIDAD DE CANTABRIA

Registro a través del que el computador envía y/o recibe la
información
Si la puerta es de salida, este registro es de sólo escritura
• el programa debe escribir en él el dato que quiere transferir
Si la puerta es de entrada, el registro es de sólo lectura
• el programa lee el registro de datos para obtener el último

dato recibido

Si la puerta es de entrada/salida, los registros de datos de
entrada y salida suelen ocupar la misma dirección de E/S
• las operaciones de escritura son relativas al registro de

salida y las de lectura al de entrada

GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES

© Mario Aldea Rivas

2/Mar/06

4

Puerta de entrada/salida genérica:

Registro de control

UNIVERSIDAD DE CANTABRIA

Permite establecer el modo y parámetros de operación de la
puerta
Ejemplo de registro de control genérico:

IE
0

Modo
0

1

Canal

Start

0

1

0

1

1

• Start: comienzo de una operación de la puerta (p.e. captura

de dato)

• Canal: selecciona entre las diferentes fuentes o destinos
• Modo: modo de operación
• Habilita/inhibe interrupción (IE): controla si debe generarse

una interrupción cuando ha finalizado una operación

GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES

© Mario Aldea Rivas

2/Mar/06

5

Puerta de entrada/salida genérica:

Registro de estado

UNIVERSIDAD DE CANTABRIA

Registro de sólo lectura que permite conocer el estado en que
se encuentra la puerta
Ejemplo de registro de estado genérico:

IP
0

Canal

1

0

0

1

Error
1

0

Done

1

• Done: indica si la puerta ha finalizado la última operación
• Error: permite conocer si se ha producido un error (y de que

tipo) en la última operación de la puerta

• Canal: último canal seleccionado
• Interrupción Pendiente (IP): se ha generado una

interrupción que aún no ha sido atendida

GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES

© Mario Aldea Rivas

2/Mar/06

6

Puerta de entrada/salida paralelo

UNIVERSIDAD DE CANTABRIA

Permite trasferir información en grupos de 8 bits (un byte)
Dispone de los siguientes grupos de líneas:
• 8 líneas de datos bidireccionales:

- pueden utilizarse para enviar o recibir bytes

• 9 líneas auxiliares

- originalmente pensadas para implementar el protocolo
"Centronics" para comunicación computador/impresora

- 5 de ellas son líneas de entrada (ACK, BUSY, PE, ONLINE y

ERROR)

- 4 son líneas de salida (STROBE, AUTO, INIT y SELECT)

GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES

© Mario Aldea Rivas

2/Mar/06

7

Puerta de entrada/salida paralelo:

Conector de 25 pines

UNIVERSIDAD DE CANTABRIA

GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES

© Mario Aldea Rivas

2/Mar/06

8

Puerta de entrada/salida paralelo:

Registros del puerto paralelo

Dirección de E/S
puerto1/puerto2

Registro

Modo

$378/$278
$378/$278
$379/$279

$37A/$27A

$37A/$27A

Entrada de Datos
Salida de Datos
Lee valor líneas
auxiliares de entrada
Lee valor líneas
auxiliares de salida
Establece valor
líneas auxiliares de
salida

Lect.
Esc.
Lect.

Lect.

Esc.



2
o
e

l

l



a
r
a
p
o
t
r
e
u
P



1
o
e

l

l



a
r
a
p
o
t
r
e
u
P

$276
$277
$278
$279
$27A
$27B
$27C
$27D

$376
$377
$378
$379
$37A
$37B
$37C
$37D

UNIVERSIDAD DE CANTABRIA

Mapa de E/S

Entrada/Salida

Lee líneas entrada

Lee/escribe líneas salida

Entrada/Salida

Lee líneas entrada

Lee/escribe líneas salida

GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES

© Mario Aldea Rivas

2/Mar/06

9

Registro de entrada/salida de datos

Este registro permite leer el estado de las 8 líneas de datos o
establecer su valor en el caso de que la puerta actúe como
salida

UNIVERSIDAD DE CANTABRIA

D7

D6

D5

D4

D3

D2

D1

D0

pin9 pin8 pin7 pin6 pin5 pin4 pin3 pin2

• La puerta actúa como salida o entrada dependiendo del

valor asignado al bit Output del registro de control

GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES

© Mario Aldea Rivas

2/Mar/06

10

Registro de lectura de las líneas
auxiliares de entrada

UNIVERSIDAD DE CANTABRIA

Permite leer el estado de las 5 líneas auxiliares de entrada

Busy

Ack

PE

OnLine

Error

X

X

X

pin11

pin10

pin12

pin13

pin15

• En el caso de la línea Ack el valor leido es el complementario

al existente en el pin 10

GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES

© Mario Aldea Rivas

2/Mar/06

11

Registro de control

UNIVERSIDAD DE CANTABRIA

Permite leer y escribir el estado de las 4 líneas auxiliares de
salida
También permite configurar el funcionamiento de la puerta:
• puerta de salida (Output=>0) o de entrada (Output=>1)
• interrupción habilitada (IRQ enable=>1): se produce una
interrupción con cada flanco de bajada en el pin 10 (Ack)

X

X

Output

IRQ

enable

Select

Init

Auto Strobe

0

0

pin17
1

pin16
0

pin14
1

pin1
1

valor tras el reset

• El valor de los bits Select, Auto y Strobe es el

complementario del establecido en los pines 17, 14 y 1

GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES

© Mario Aldea Rivas

2/Mar/06

12

Ejemplo de uso puerta paralelo

UNIVERSIDAD DE CANTABRIA

with MaRTE_OS;
with MaRTE_Hardware_Interrupts;
use MaRTE_Hardware_Interrupts;
with IO_Interface; use IO_Interface;
with Basic_Integer_Types; use Basic_Integer_Types;
with System;
with Basic_Console_IO, Text_IO, Ada.Integer_Text_IO;
use Text_IO, Ada.Integer_Text_IO;

procedure Printer_Port_Test is

-- Registros del puerto paralelo
PP_BASE : constant IO_Port := 16#378#; -- Puerto 1
PP_DATA_REG : constant IO_Port := PP_BASE + 0;
PP_STATUS_REG : constant IO_Port := PP_BASE + 1;
PP_CONTROL_REG : constant IO_Port := PP_BASE + 2;

GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES

© Mario Aldea Rivas

2/Mar/06

13

Ejemplo de uso puerta paralelo

(cont.)

UNIVERSIDAD DE CANTABRIA

-- Byte leido del puerto
Data_Read : Unsigned_8;
pragma Volatile (Data_Read);
New_Data : Boolean := False;
pragma Volatile (New_Data);

-- Manejador de interrupción del puerto paralelo
function PP_Handler (Area : in System.Address;
Intr : in Hardware_Interrupt)
return Handler_Return_Code is
begin
Basic_Console_IO.Put (" In PP_Handler ");
Basic_Console_IO.New_Line;
Data_Read := IO_Interface.Inb (PP_DATA_REG);
New_Data := True;
return POSIX_INTR_HANDLED_NOTIFY;
end PP_Handler;

GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES

© Mario Aldea Rivas

2/Mar/06

14

Ejemplo de uso puerta paralelo

(cont.)

UNIVERSIDAD DE CANTABRIA

begin
-- Instala manejador de interrupción
if Associate (PARALLEL1_INTERRUPT,
PP_Handler'Unrestricted_Access,
System.Null_Address, 0) /= 0 then
Put_Line ("Error: Associate");
end if;

-- Configura como puerto de entrada y habilita las
-- interrupciones del puerto paralelo
IO_Interface.Outb (PP_CONTROL_REG, 2#00_1_1_0000#);

-- Habilita la interrupción en el PIC
if Unlock (PARALLEL1_INTERRUPT) /= 0 then
Put_Line ("Error: Unlock");
end if;

GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES

© Mario Aldea Rivas

2/Mar/06

15

Ejemplo de uso puerta paralelo

(cont.)

UNIVERSIDAD DE CANTABRIA

-- Espera a que ocurra la interrupción y muestra
-- el valor leido
loop
if New_Data then
New_Data := False;
Put ("Byte leido:");
Put (Integer (Data_Read), Base => 16);
New_Line;
end if;
end loop;

end Printer_Port_Test;

GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES

© Mario Aldea Rivas

2/Mar/06

16

Tarjeta de entrada/salida AX5411:
funcionamiento básico

UNIVERSIDAD DE CANTABRIA

Tarjeta de entrada/salida de propósito general
Compuesta por tres subsistemas independientes:
• Salida analógica

- dos convertidores D/A de 12 bits

• Entrada analógica

- 16 líneas de entrada encaminadas a un único convertidor

A/D mediante un multiplexor de 16 a 1

- máxima frecuencia de muestreo de 60 Kmuestras/seg
- ganancia configurable

• Entrada/Salida digital

- 24 canales de entrada y 24 de salida

GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES

© Mario Aldea Rivas

2/Mar/06

17

Configura
  • Links de descarga
http://lwp-l.com/pdf1081

Comentarios de: Instrumentación de Tiempo Real - Tema 4. Puertas básicas de entrada/salida (I) (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad