Sunteți pe pagina 1din 12

1

Estructura y tecnologa de Computadores Mdulo E. El subsistema de E/S

Tema 10. Interfaces de E/S programables

Jos Manuel Mendas Cuadros


Dpto. Arquitectura de Computadores y Automtica Dpto. Universidad Complutense de Madrid

contenidos

1. Estructura y funcin del interfaz de E/S


Repaso de conceptos. Estructura general de un interfaz de E/S. Mtodos de transmisin de informacin entre interfaz y perifrico: E/S paralela y E/S serie. Tipos de interfaces de E/S: genricos y especficos.

2. Interfaces de E/S paralela: MC6821 PIA


Organizacin de la PIA. Programacin de la PIA. Ejemplo: conexin del MC68000 a una impresora paralelo a travs de la PIA

3. Fundamentos de E/S serie


Transmisin serie asncrona. Transmisin serie sncrona. Estructura de un interfaz serie asncrono. Estructura de un interfaz serie sncrono. Ejemplos de interfaces de E/S serie

4. Interfaces de E/S serie: MC6850 ACIA


Organizacin de la ACIA. Programacin de la ACIA. Ejemplo: conexin del MC68000 a una impresora serie a travs de la ACIA

estructura y tecnologa de computadores

1. estructura y funcin del interfaz de E/S


Repaso de conceptos
Los dispositivos perifricos se conectan al computador a travs de un INTERFAZ de E/S
Interfaz = Controlador = Adaptador = Tarjeta de E/S

Funciones del interfaz de E/S


Interpretar las rdenes que recibe de la CPU y transmitirlas al perifrico Controlar la transferencia de datos entre la CPU y el perifrico
Conversin de formatos y/o niveles elctricos Adaptar la diferencia de velocidades entre CPU y perifrico (mediante buffers de almacenamiento)

Informar a la CPU del estado del perifrico Ejemplo conversin de formatos


Tipo de conversin Datos en el perifrico ANALGICOS E: conversin A/D S: conversin A/D E: conversin S/P S: conversin P/S E: -S: --

Esquema de conexin CPU-interfaz-perifrico CPU


8 0 8 5 8 0 8 5

SERIE DIGITALES PARALELO

CPU
BUS Sistema o de E/S

INTERFAZ

PERIFRICO
Conexin con perifricos

estructura y tecnologa de computadores

1. estructura y funcin del interfaz de E/S


Estructura general de un interfaz de E/S
Bus del sistema o de E/S
IRQ*
REGISTRO ESTA DO REGISTRO DATOS ENTRA DA

Interfaz
ENT Control

ENT. Datos

BUS DATOS

CPU
BUS DIR DECODIF. DIR

REGISTRO DATOS SALIDA

SAL. Datos

CS* RS R/W*
LOGICA CONT ROL REGISTRO CONTROL

SAL Control

P e r i f r i c o

Un interfaz de E/S se est constituido de 3 elementos bsicos Lneas de comunicacin con la CPU
Permiten a la CPU comunicarse con el interfaz

Lneas de comunicacin con el perifrico


Permiten al interfaz comunicarse con el perifrico

Registros del interfaz


Permiten a la CPU programar el interfaz, consultar el estado y enviar o recibir datos hacia/desde el perifrico

estructura y tecnologa de computadores

1. estructura y funcin del interfaz de E/S


Estructura general de un interfaz de E/S (cont.) Registros del interfaz
Registro de datos de salida
Cuando la CPU quiere enviar datos al perifrico los escribe sobre el registro(s) de datos de salida

Registro de datos de entrada


Cuando la CPU quiere recibir datos del perifrico los lee desde el registro(s) de datos de entrada

Registro de estado
Cuando la CPU quiere conocer el estado del perifrico, lo hace leyendo el registro de estado:

Registro de control
Cuando la CPU quiere transmitir una orden al perifrico lo hace escribiendo en el registro de control

Lneas de comunicacin con la CPU Lneas de datos


Para transferencia de datos entre la CPU y el interfaz Programacin del registro de control y lectura del registro de estado

Lnea R/W*
Para especificar el tipo de operacin (lectura o escritura)

Lnea CS* (Chip Select) y RS (Register Select)


Para seleccionar el interfaz y acceder a un registro particular del mismo Normalmente se conectan al bus de direcciones (mediante un descodificador en el caso de CS*)

Lnea IRQ*
Para peticin de interrupcin cuando el perifrico est listo para transmitir/recibir

Lneas de comunicacin con el interfaz Lneas de datos de entrada y salida


Para transferencia de datos entre el interfaz y el perifrico

Lneas de control de entrada y salida


Para transferencia de rdenes al perifrico (salida control) y consultar su estado (entrada control)

estructura y tecnologa de computadores

1. estructura y funcin del interfaz de E/S


Mtodos de transmisin de informacin entre interfaz y perifrico
E/S paralela Utiliza varias lneas de comunicacin a travs de las cual se se enva varios bits de informacin de

forma simultnea
Es adecuada para conexin de dispositivos a distancias cortas, que requieran altas velocidades de

transmisin
Conexin de elementos dentro de un computador mediante buses Conexin de dispositivos externos a cortas distancias a travs de un interfaz paralelo

Problema de la E/S paralela


Para conectar dispositivos a distancias medias o largas resulta muy costosa Redes de computadores Los dispositivos de baja velocidad no aprovechan el potencial de la transmisin paralela Teclados, ratones, modems, etc.

E/S serie Utiliza una nica lnea de comunicacin a travs de las cual se se envan varios bits de informacin

de forma secuencial
Es menos costosa que la E/S paralela
Adecuada para conexin de dispositivos a largas distancias

Es til para conexin de dispositivos de velocidad media o baja Modos de transmisin serie
Transmisin asncrona Transmisin sncrona

estructura y tecnologa de computadores

1. estructura y funcin del interfaz de E/S


Tipos de interfaces de E/S
De propsito general: Permiten conectar distintos tipos de dispositivos al computador
Interfaces de E/S paralela
Para conectar dispositivos que realizan E/S paralela (reciben o transmiten varios bits de forma simultnea) Ejemplos: MC6821 PIA, R6522 VIA, MC68320 PI/T, i8255 PPI

Interfaces de E/S serie


Para conectar dispositivos que realizan E/S serie Ejemplos: MC6850 ACIA, R6552 DACIA, MC6854 ADLC, UART i8250, USART i8251

De propsito especfico: Diseados para conectar un tipo particular de perifrico


Controladores de teclado/display
Ejemplos: i8279

Controladores de disco y disquete


Ejemplos: MC6824, i8271, i82062

Controladores de red de rea local


Ejemplos: i82501 (controlador Ethernet)

Conversores A/D-D/A
Ejemplos: AD7824

etc.

estructura y tecnologa de computadores

2. interfaces de E/S paralela: MC6821 PIA


Interfaz MC6821 PIA (Peripheral Interface Adaptor)
Interfaz paralelo diseado para sistemas basados en el MC6800 (bus sncrono) Compatible con el MC68000

Organizacin de la PIA

Registros de datos (ORA y ORB)

Dispone de dos puertos paralelos de 8 bits cada uno (Puerto A y Puerto B) Las lneas de comunicacin con el perifrico (PA7-PA0, PB7-PB0), pueden programarse como entradas o como salidas
IRQA* D7-D0
E (reloj)
R/W*

Se utilizan como registro de entrada o de salida de datos, segn como estn programadas las lneas de comunicacin con el perifrico (PA7-PA0 y PB7-PB0) Se utilizan para programar las lneas de comunicacin con el perifrico (PA7-PA0 y PB7-PB0) Si DDRA[i] = 0 PAi acta como lnea de entrada Si DDRA[i] = 1 PAi acta como lnea de salida (El mismo funcionamiento para el puerto B) Se utilizan como lneas de control de entrada y salida Para examinar el estado de los perifricos Para generar seales de control sobre los mismos Se utilizan para programar el funcionamiento de las lneas de control (CA1-CA2, CB1-CB2) Permiten capacitar/decapacitar localmente las interrupciones del interfaz Tambin contienen informacin de estado

Registros de sentido de datos (DDRA y DDRB)

Puerto A DDRA
ORA CRA

CA 1

CA2 PA7-PA0

Lneas de control (CA1-CA2, CB1-CB2)

CS0
CS1

CS2*

DDRB ORB

PB7-PB0 CB1

Registros de control (CRA, CRB)


RS0 RS1 IRQB* CRB Puerto B

CB2

estructura y tecnologa de computadores

2. interfaces de E/S paralela: MC6821 PIA


Seleccin de registros en la PIA
Para acceder a cualquier registro de la PIA deben estar activadas las lneas de Chip Select

CS0-CS1 se activan a alta CS2* se activa a baja RS1 selecciona entre el puerto A o el puerto B Si RS1 = 0 acceso a puerto A Si RS1 = 1 acceso a puerto B RS0 selecciona entre los registros de datos del puerto (ORx, DDRx) y registro de control (CRx) Si RS0 = 0 acceso a registros de datos (ORx o DDRx) (Para discriminar entre el registro ORx y DDRx se utiliza el bit 2 del registro de control CRx) Si RS0 = 1 acceso a registros de control (CRx)

Para seleccionar un registro particular se usan las lneas de Register Select

RS1 0 0 0 1 1 1

RS0 0 0 1 0 0 1

CRA2 0 1 x x x x

CRB2 x x x 0 1 x

Acceso a puerto A

Acceso a puerto B

Registro seleccionado DDRA ORA CRA DDRB ORB CRB

estructura y tecnologa de computadores

10

2. interfaces de E/S paralela: MC6821 PIA


Programacin de la PIA
La programacin de la PIA se realiza a travs de los registros de control CRA y CRB

Tipo de transicin a detectar por las lneas Cx1 y Cx2 (positiva o negativa) Capacitacin/descapacitacin de interrupciones cuando se detecta la transicin programada Programacin de Cx2 como salida para generar pulsos o seales de control especficas
7 C Rx 6 5 4 3 2 1 0

Trans. Trans. Cx1 Cx2

Program. Cx2

DDRx Program. Cx1 /ORx

Se activa cuando se detecta la transicin programada por Cx1 (activa IRQx* si est capacitada) Se activa cuando se detecta la transicin programada por Cx2 (activa IRQx* si est capacitada) Programacin de Cx2 (lnea de entrada/salida) CRx[5]: programa Cx2 como entrada o salida CRx[5] = 1 Cx2 acta como entrada CRx[5] = 0 Cx2 acta como salida Si Cx2 programada como entrada
CRx[4]: tipo de transicin a detectar

Programacin de Cx1 (slo entrada) CRx[1]: tipo de transicin a detectar CRx[1] = 1 transicin positiva CRx[1] = 0 transicin negativa CRx[0]: Capacitacin de IRQx* CRx[0] = 0 IRQx* descapacit. CRx[0] = 1 IRQx* capacitada Seleccin del acceso a DDRx o ORx

Si Cx2 programada como salida


bit 5 1 CRx bit 4 bit 3 0 0 Modo Descripcin "Handshake" Cx2 a alta cuando se produce una en lectura (A) transicin programada por Cx1 o en escritura (B) Vuelve a baja cuando se hace una lectura (A) o una escritura (B) del puerto Cx2 a baja durante un ciclo despus de Salida pulso una lectura (A) o una escritura (B) del puerto. Puede usarse para indicar al perifrico que se ha ledo el dato Salida manual Cx2 a baja (sigue a bit 3) Salida manual Cx2 a alta (sigue a bit 3)

CRx[4] = 0 transicin positiva CRx[4] = 1 transicin negativa CRx[3]: Capacitacin de IRQx* CRx[3] = 0 IRQx* descapacitada CRx[3] = 1 IRQx* capacitada

1 1

1 1

0 1

estructura y tecnologa de computadores

11

2. interfaces de E/S paralela: MC6821 PIA


Ejemplo: conexin de una impresora paralela al MC68000 a travs de la PIA
MC68000
D7-D0 A1 A2 A23-A3 AS* VPA* LDS* VMA* E CS0 CS2* E DECODIF. DIR EN* D7-D0 RS0 RS1 CS1

PIA MC6821 Puerto A PA7-PA0 CA2 CA1 Puerto B PB7-PB0 CB2 CB1 D7-D0 STB ACK IMPRESORA PARALELA 8 BITS

Conexin de la PIA (puerto A) a la impresora

Protocolo de comunicacin con la impresora (Handshake simple)


D7-D0 carcter 1 STB
carcter 2 carcter n

ACK

Lneas de datos de la impresora (D0-D7) Se conectan a las lneas PA0-PA7 (programadas como salidas) Lnea de orden de impresin (STB = Strobe) Se conecta a la lnea CA2 (progr. como salida) Un flanco positivo por STB indica a la impresora que hay un nuevo carcter en el registro ORA que debe imprimir Lnea de respuesta de dato impreso (ACK) Se conecta a la lnea CA1 (entrada) La impresora genera un flanco positivo por ACK cuando ha terminado de imprimir un carcter y est lista para el siguiente

estructura y tecnologa de computadores

12

2. interfaces de E/S paralela: MC6821 PIA


Conexin de la PIA al bus del MC68000

Utilizamos el bus sncrono del MC68000 (ya que la PIA es un interfaz sncrono) E (seal de reloj) conectada al reloj de la PIA VMA* (Valid Memory Address) conectada a CS2* Conectamos la parte baja del bus de datos (D0-D7) a las lneas de datos de la PIA Elegimos direcciones impares para los registros de la PIA LDS* conectada a CS2* A23-A3 conectadas a CS1 a travs de un descodificador (elegimos direcciones no usadas por la memoria) A1-A2 conectadas a RS0-RS1 Conectamos VPA* a la salida del descodificador para que el MC68000 utilice interrupciones autovectorizadas

Programa de impresin a travs de la PIA con E/S programada con espera de respuesta Inicializacin de la PIA
1. Programamos las lneas PA0-PA7 como salida: DDRA 11111111 = $FF (CRA[2] debe tener el valor 0) 2. Programacin del registro de control CRA: CRA XX11X110 = $36 a) Programamos CA2 como salida manual (haciendo que siga al valor de CRA3) para generar la seal STB CRA[4] 1; CRA[3] 1 b) Programamos para que CA1 detecte un pulso positivo (seal ACK) y descapacitamos interrupciones CRA[1] 1; CRA[0] 0 c) CRA[2] 1 para que quede seleccionado el registro de datos ORA

Transmisin de un carcter a la impresora


1. Enviar carcter a ORA (datos vlidos en PA0-PA7) 2. Generar manualmente pulso de Strobe Poner CA2 a 0 (poniendo un 0 en CRA[3] CRA XX110110 = $36) Poner CA2 a 1 (poniendo un 1 en CRA[3] CRA XX111110 = $3E) 3. Comprobar valor de CRA[7] 4. Si CRA[7]=0 (impresora no ha generado el pulso positivo ACK) volver a 3

estructura y tecnologa de computadores

13

2. interfaces de E/S paralela: MC6821 PIA


Programa ensamblador
Programar PIA Inicializar puntero del texto A0 #TEXTO Leer siguiente carcter D0 (A0)+ ORA DDRA CRA MAXCAR EOT * TEXTO * * INICIO EQU EQU EQU EQU EQU DS.B $ee0001 $ee0001 $ee0003 100 20 MAXCAR Etiqueta de ORA Etiqueta de DDRA (=ORA) Etiqueta del registro CRA Mx. n de caracteres del texto Carcter ASCII de fin de texto Reservamos MAXCAR bytes para el texto Seleccionar DDRA (CRA[2] 0) Programar PA0-PA7 como salidas Programar el registro CRA Llevar dir. de comienzo del texto a A0 Leer carcter e incrementar A0 para apuntar al siguiente carcter Comprobar si es el final de texto Si es final de texto vamos a FIN Enviar carcter a impresora Generar seal STB CA2 = 0 Generar seal STB CA2 = 1 Chequer CRA[7] Si CRA[7] = 0 carcter no impreso Si CRA[7] = 1 siguiente carcter FIN: Regresar al programa monitor

Final de texto? D0 = #EOT? NO Enviar carcter a impres. ORA D0 Generar pulso STB CRA #$36 CRA #$3E

FIN

BUCLE *

MOVE.B MOVE.B MOVE.B MOVEA.L MOVE.B CMP BEQ MOVE.B MOVE.B MOVE.B BTST.B BEQ BRA TRAP DC.W

#0,CRA #$FF,DDRA #$36,CRA #TEXTO,A0 (A0)+,D0 #EOT,D0 FIN D0,ORA #$36,CRA #$3E,CRA #7,CRA LEE_CRA BUCLE #15 $10

LEE_CRA S ACK activada? CRA[7]=1? NO

FIN

estructura y tecnologa de computadores

14

3. fundamentos de la E/S serie


Modo de transmisin serie asncrona
El emisor y el receptor utilizan seales de reloj
Errores por desincronizacin de los relojes
0 1 0 0 1 0 1 1 1 0 1 datos transmitidos muestreo sincronizado muestreo desincronizado

distintas
Problema

Aunque utilicen la misma frecuencia, los relojes del emisor y el receptor pueden estar desfasados Aunque ambos relojes estn perfectamente sincronizados, transcurrido un cierto tiempo tendern a desincronizarse

Errores

Sincronizacin mediante bits de start y stop


car1 car2 car3 car4

Solucin

El receptor y el emisor resincronizan sus relojes al inicio de cada carcter Con cada carcter se incluyen un bit de start y uno (o varios) bits de stop
Polaridad opuesta provoca una transicin
LSB 1 1 0 1 0 0 0 Caracter transmitido: $8B (10001011)

MSB 1

al inicio de cada carcter


Esta transicin es utilizada por el receptor

para sincronizarse con el emisor

Es til nicamente a bajas velocidades de

START

DATOS

PARI (par) STOP

transmisin

Desde unos pocos bps hasta varios Kbps


Punto medio bit deSTART Periodo 1 bit muestreos en recepcin

estructura y tecnologa de computadores

15

3. fundamentos de la E/S serie


Modo de transmisin serie sncrona
El emisor y el receptor utilizan la misma seal de reloj

Puede utilizarse una lnea independiente para transmitir la seal de reloj en paralelo con los datos
Mayor coste de la lnea

Puede codificarse la seal de reloj junto con los datos


Codificacin bipolar Codificacin Manchester Codificacin Manchester diferencial Etc. Codificacin por Nivel 1 0 0 1 1 1 0 1

Cdigo Manchester: 0=
1=

Codificacin Manchester

Reloj extrado

Es necesaria para transmisin serie a velocidades medias y altas

Del orden de Mbps o Gbps

estructura y tecnologa de computadores

16

3. fundamentos de la E/S serie


Esquema de un interfaz serie asncrono

Lneas TxD y RxD Para transmisin y recepcin de datos IRQ Lneas Hin y Hout Reg Estado Reg Trans. Lneas de control o handshake para realizar los Reg Desp. T protocolos de comunicacin Reg Control Reloj Trans. Bus Registro de desplazamiento de transmisin Datos Realiza la conversin serie/paralelo Reloj Recep. Registro de desplazamiento de recepcin R/W* Reg Desp. R CS* Lgica Realiza la conversin paralelo/ serie ... Reg Recep. Control RS Generador de reloj Genera la seal de reloj de la transmisin y la recepcin Registro de estado Permite detectar el estado de las lneas de handshake de entrada Permite conocer el estado de los registros de recepcin y transmisin (llenos o vacos) Registro de control Permite programar los parmetros de la transmisin Velocidad de transmisin N de bits de stop (1, 1.5 2) N de bits por carcter (5, 6, 7 u 8) Tipo de paridad (par, impar, no paridad) Permite programar el funcionamiento de las lneas de handshake de salida Permite capacitar/descapacitar localmente las interrupciones

Hin

TxD

Generador Reloj RxD

Hout

estructura y tecnologa de computadores

17

3. fundamentos de la E/S serie


Esquema de un interfaz serie sncrono

Lneas TxD y RxD Para transmisin y recepcin de datos IRQ Lneas Hin y Hout Reg Estado FIFO Trans. Lneas de control o handshake para realizar los protocolos de comunicacin Reg Control Bus Registro de desplazamiento de transmisin Datos Realiza la conversin serie/paralelo FIFO Recep. R/W* Mezcla la seal de reloj junto con los datos CS* Lgica ... Registro de desplazamiento de recepcin Control RS Realiza la conversin paralelo/serie Extrae la seal de datos a partir de la seal recibida Extractor de reloj Extrae la seal de reloj a partir de la seal recibida Colas (FIFO) de transmisin y recepcin Para adaptar la velocidad de los dispositivos Registro de estado Permite detectar el estado de las lneas de handshake de entrada Permite conocer el estado de los registros y las colas de recepcin y transmisin Registro de control Permite programar los parmetros de la transmisin Permite programar el funcionamiento de las lneas de handshake de salida Permite capacitar/descapacitar localmente las interrupciones

Hin

Reloj Trans. Reg Desp. T

Generador Reloj TxD

Reg Desp. R Reloj Recep.

RxD

Extractor Reloj

Hout

estructura y tecnologa de computadores

18

4. interfaces de E/S serie


Ejemplos de interfaces de E/S serie
Interfaces para comunicacin serie asncrona

i8250 UART (Universal Asynchronous Receiver-Transmitter) MC6850 ACIA (Asynchronous Communications Interface Adapter) R6552 DACIA (Dual Asynchronous Communications Interface Adapter), compatible con Motorola 6800/68000

Interfaces para comunicacin serie sncrona


i8273 (Programmable HDLC/SDLC Protocolo Controller) MC6852 ADLC (Advanced Data-Link Controller) MC6854 SSDA (Synchronous Serial Data Adapter)

Interfaces para comunicacin serie sncrona y asncrona


i8251 USART (Universal Synchronous-Asynchronous Receiver-Transmitter) MC68661 EPCI (Enhaced Programmable Communications Interface)

estructura y tecnologa de computadores

19

4. interfaces de E/S serie: MC6850 ACIA


Interfaz MC6850 ACIA (Asynchronous Communications Interface Adapter)
Interfaz de comunicacin serie asncrona diseado para sistemas basados en el MC6800 (bus sncrono) Compatible con el MC68000

Organizacin de la ACIA
D7-D0 TDR RDR CS0 CS1 TxCLK RxCLK
TxData

RxData

Lnea de transmisin de datos Lnea de recepcin de datos Seal de reloj de la transmisin Seal de reloj de la recepcin Suelen conectarse al mismo oscilador

Lneas de comunicacin con la CPU

CS2* E R/W * RS CR SR

CTS* RTS* DCD*

Seales de control de la transmisin para protocolos de comunicacin (handshake) Son un subconjunto de las lneas del RS-232

IRQ*

Registro de estado (SR)


Registro de transmisin de datos (TDR)


Para enviar datos a travs de TxD Realiza la conversin paralelo/serie Para leer los datos recibidos a travs de RxD Realiza la conversin serie/paralelo

Informacin del estado de los registros RDR y TDR Informacin del estado de las lneas de control Informacin sobre situaciones de error Programacin de los parmetros de la transferencia Programacin de las lneas de control Capacitacin/descapacitacin local de interrupciones

Registro de control (CR)

Registro de recepcin de datos (TDR)

estructura y tecnologa de computadores

20

4. interfaces de E/S serie: MC6850 ACIA


Seleccin de registros de la ACIA
La ACIA dispone de 4 registros de 8 bits cada uno

Dos registros de escritura: TDR y CR Dos registros de lectura: RDR y SR CS0-CS1 se activan a alta CS2* se activa a baja SR 0 0 1 1 R/W* 0 1 0 1 Reg. Selecc. CR (escritura) SR (lectura) TDR (escritura) RDR (lectura)

Para acceder a cualquier registro de la ACIA deben estar activadas las lneas de Chip Select (CS)

Para seleccionar un registro particular se usan las lnea

de Register Select (RS) y R/W*


Si RS = 0 acceso a registros de control y estado Si RS = 1 acceso a registros de transmisin y recepcin

Seales de control de la transmisin


Son un subconjunto de las lneas RS-232 para la conexin y control de un mdem RTS* (Request to Send) Solicitud de envo

Lnea de salida que activa la CPU cuando quiere solicitar permiso para enviar un dato al mdem Lnea de entrada que activa el mdem cuando est listo para recibir datos de la CPU (en respuesta a RTS) y enviarlos a travs de la lnea telefnica Lnea de entrada que activa el mdem cuando detecta datos de llegada por la lnea telefnica

CTS* (Clear to Send) Preparado para el envo

DCD* (Data Carrier Detect) Deteccin de portadora

estructura y tecnologa de computadores

21

4. interfaces de E/S serie: MC6850 ACIA


Programacin de la ACIA
La programacin de la ACIA se realiza a travs del registro de control CR
Seleccin de la frecuencia Puede modificarse la frecuencia de transmisin o recepcin dividiendo la frecuencia del oscilador por 1, 16 64
CR[1] 0 0 1 1 CR[0] 0 1 0 1 Funcin D iv i s i n p o r 1 D iv i s i n p o r 1 6 D iv i s i n p o r 6 4 Reset ACIA

Seleccin del formato Permite seleccionar los siguientes parmetros: N de bits de datos (7 u 8) Tipo de paridad (par, impar, no paridad) N de bits de stop (1 2)
CR[4] 0 0 0 0 1 1 1 1 CR[3] CR[2] Funcin 0 0 7 bits datos + paridad par + 2 bits stop 0 1 7 bits datos + paridad impar + 2 bits stop 1 0 7 bits datos + paridad par + 1 bit stop 1 1 7 bits datos + paridad impar + 1 bit stop 0 0 8 bits datos + no paridad + 2 bits stop 0 1 8 bits datos + no paridad + 1 bit stop 1 0 8 bits datos + paridad par + 1 bit stop 1 1 8 bits datos + paridad impar + 1 bit stop

Selecc. Frecuencia

Selecc. Formato

CR
4

Control de la Transmisin
CR[6] 0 0
5 Control Transmis. 6

1 1

CR[5] Funcin 0 Descapacita interrupciones por TDR vaco Pone RTS* a baja 1 Capacita interrupciones por TDR vaco Pone RTS* a baja 0 Descapacita interrupciones por TDR vaco Pone RTS* a alta 1 Descapacita interrupciones por TDR vaco Pone RTS* a baja y TxD a baja ("break")

Control de la Recepcin
7 Control Recepc.

CR[7] Funcin 0 Descapacita interrupciones por RDR lleno 1 Capacita interrupciones por RDR lleno

estructura y tecnologa de computadores

22

4. interfaces de E/S serie: MC6850 ACIA


Registro de estado de la ACIA (SR)
La programacin de la ACIA se realiza a travs del registro de control SR
Bit 0 RDR Lleno TDR Vaco CDC* Activado CTS* Activado Error Formato

Se activa cuando se ha recibido un carcter completo (el carcter recibido est almacenado en RDR) Se desactiva al leer RDR Se activa cuando se ha transmitido completamente el contenido de TDR Se desactiva al escribir sobre TDR Indica si la lnea CDC* est activada Indica si la lnea CTS* est activada Error de formato Se activa cuando se recibe un carcter con un formato errneo (n de bits de datos o de stop errneo) Error de solapamiento de la recepcin Se activa cuando se recibe un nuevo carcter por RxD antes de que el anterior haya sido ledo Error de paridad Se activa cuando la paridad calculada no coincide con el valor del bit de paridad del carcter recibido Flag de interrupcin Refleja el estado de la lnea de peticin de interrupcin IRQ*

SR
4

Error 5 Solapam. Recepc. 6 Error Paridad

IRQ

estructura y tecnologa de computadores

23

4. interfaces de E/S serie: MC6850 ACIA


Ejemplo: conexin de una impresora serie al MC68000 a travs de la ACIA
MC68000
D7-D0 A1

ACIA MC68250
D7-D0 RS

TxD RTS*

RxD DSR* DTR* IMPRESORA SERIE

A23-A2 AS* VPA* LDS* VMA* E

DECODIF. DIR EN*

CTS*
CS1

CS0 CS2* E

Conexin de la ACIA a la impresora

Programacin de la ACIA para realizar E/S programada con espera de respuesta


1. Control de recepcin No permitir interrupciones por recepcin CR[7]=0 2. Control de transmisin Transmisin sin interrupciones y activacin de RTS* CR[6]=0; CR[5]=0 3. Seleccin del formato 8 bits de datos, no paridad, 1 bit de stop CR[4]=1; CR[3]=0; CR[2]=1 4. Seleccin de la frecuencia Dividir frecuencia por 16 CR[1]=0; CR[0]=1 Valor de CR: %00010101 = $15

Lnea de transmisin(TxD) Se conecta a la lnea de recepcin (RxD) de la impresora Lnea RTS* (Request to Send) Se conecta a la lnea DSR* (Data Set Ready) de la impresora Estar activada durante toda la transmisin (desde el primer carcter hasta el ltimo) Lnea de CTS* (Clear to Send) Se conecta a la lnea DTR* (Data Terminal Ready) de la impresora La impresora activa esta lnea cuando ha impreso un carcter y est preparada para recibir el siguiente

estructura y tecnologa de computadores

24

4. interfaces de E/S serie: MC6850 ACIA


Programar ACIA CR #$15 Inicializar puntero del texto A0 #TEXTO

Programa ensamblador
TDR CR SR MAXCAR EOT * TEXTO * * INICIO BUCLE * EQU EQU EQU EQU EQU DS.B $ee0001 $ee0003 $ee0003 100 20 MAXCAR Etiqueta de TDR Etiqueta de CR Etiqueta de SR (=CR) Mx. n de caracteres del texto Carcter ASCII de fin de texto Reservamos MAXCAR bytes para el texto Programar ACIA Llevar dir. de comienzo del texto a A0 Leer carcter e incrementar A0 para apuntar al siguiente carcter Comprobar si es el final de texto Si es final de texto vamos a FIN Enviar carcter a impresora Chequear SR[1] (TDR vaco) Si SR[1] = 0 TDR no vaco Chequear SR[3] (CTS* activado) Si SR[3] = 0 CTS* desactivado Pasar a imprimir siguiente carcter FIN: Regresar al programa monitor

Leer siguiente carcter D0 (A0)+ S

Final de texto? D0 = #EOT? NO Enviar carcter a impres. TRD D0

FIN

MOVE.B MOVEA.L MOVE.B CMP BEQ MOVE.B BTST.B BEQ BTST.B BEQ BRA TRAP DC.W

#$15,CR #TEXTO,A0 (A0)+,D0 #EOT,D0 FIN D0,TDR #1,SR TEST_TDR #3,SR TEST_CTS BUCLE #15 $10

TDR vaco? SR[1]=1? S CTS* activado? SR[3]=1? S

NO

TEST_TDR TEST_CTS

NO

FIN

estructura y tecnologa de computadores

S-ar putea să vă placă și