QL Programación Avanzada
Anterior Siguiente

Apéndice F - Especificaciones de expansiones 'hardware'

Este apéndice explica la filosofía básica de la expansión 'hardware' del QL. Esta información se puede ampliar con un buen libro sobre interconexiones con el microprocesador 68008. Los detalles sobre la expansión de la ROM se incluyen en el apéndice C.

Aspectos generales de la expansión

El QL ha sido diseñado con la facilidad de añadir una cantidad considerable de 'hardware'. Éste se puede conectar al QL por medio del conector de expansión que hay en el lateral izquierdo. El acceso está tapado normalmente por una pieza de plástico negro. Si se quita esta tapa, es posible ver un conector DIN-41612 macho de 64 vías. La figura F.1 nos muestra un esquema del mismo.


Figura F.1 - Señales disponibles en el conector lateral

Las señales que aparecen seguidas de una L están activas cuando están bajas.

Para conocer la descripción de cada una de estas señales y su forma de operación, se debe consultar un libro de 68008.

Todas las señales del 68008 salen por el conector de expansión, por lo que es posible conectar cualquier tipo de periférico para el QL. Estos periféricos se colocarán en tarjetas enchufables. Solamente se puede añadir una de estas tarjetas al QL estándar. Para permitir una mayor flexibilidad, se dispondrá pronto de un módulo de expansión que proporcione varias ranuras para poder conectar distintos tipos de periféricos a medida que estén disponibles.

Descripción de las señales

Señales de salida

A0 a A19Líneas de dirección del 68008
ASLDirección de 'strobe' (indica direcciones válidas)
RDWLLectura/Escritura
DSL'Strobe' de los datos
BGLPermiso para las líneas de transmisión
DSMCL'Strobe' de datos Sostenido (chip maestro)
CLCKCPUReloj de la CPU
ESeñal de habilitación de periféricos 6800
REDSalida vídeo rojo
BLUESalida vídeo azul
GREENSalida vídeo verde
CSYNCLSeñal de sincronismo del vídeo compuesto
VSYNCHSeñal de sincronismo vertical
ROMOEHSalida de ROM habilitada
FC0Estado del procesador
FC1Estado del procesador
FC2Estado del procesador
RESETCPULIniciación de la CPU

Señales bidireccionales

D0 a D7Líneas de transmisión de datos

Señales de entrada

DTACKLÁrbitro de líneas de transmisión
BRLPetición a las líneas de transmisión
VPALDirección periférica válida
IPL0LPrioridad de interrupción de nivel 0
IPL1LPrioridad de interrupción de nivel 1
BERRLError de líneas de transmisión
EXTINTLInterrupción externa
DBGLRecogida de datos de las líneas de transmisión

Misceláneas

SP0 a SP3Líneas de selección de periféricos (hasta 16)
VIN9V DC nominales (7V mínimo) a 500mA máximo
VM12−12V
VP12+12V
GND0V (tierra de señales y alimentación)

Tipos de tarjetas de expansión

Hay dos tipos de tarjetas de expansión, de memoria y de periféricos.

El mapa de memoria entre las direcciones $40000 y $BFFFF ha sido asignado como memoria adicional (por lo tanto se puede añadir hasta medio 'megabyte' (512K octetos)). Esta memoria es contigua desde $40000 hacia arriba. Solamente se puede conectar a un tiempo una de estas tarjetas de memoria adicional. Cuando se enciende el QL, el QDOS comprueba si está disponible esta memoria.

Las tarjetas periféricas son muy interesantes. Cada una puede contener una ROM con controladores (ver sección 9) para los diferentes dispositivos que contiene la tarjeta. Todos los controladores tienen posiciones independientes, debido a la forma en que se asignan las posiciones de memoria a las diferentes tarjetas.

Asignando memoria a las tarjetas de expansión

El conector del QL tiene cuatro líneas de señal: SP0, SP1, SP2 y SP3. Todas ellas tienen su masa conectada a la tarjeta principal. Cada tarjeta de expansión contiene un circuito que produce un número diferente. Los circuitos de cada tarjeta deben comparar la dirección en SP0-SP3 con la que hay en las líneas A14-A17. Si son iguales, y está seleccionada el área de memoria de la tarjeta, la tarjeta es seleccionada. Cada tarjeta ocupa un hueco de 16K octetos en la memoria comprendida entre las direcciones $C000+$4000*n, donde n es el número introducido en cada tarjeta particular. De esta forma se puede comprender por qué cada tarjeta tiene su posición independiente. Cuando se conectan varias tarjetas, se pueden colocar en cualquier lugar de la parte superior de la memoria.

Interconexión con las líneas de datos

El 68008 no tiene un control completo de todas las líneas de transmisión. Cuando se transfiere información desde la memoria al circuito de vídeo, el ULA del retiene las líneas usando la señal DTACKL. El acceso a memoria se controla solamente con DSL, y no se usa ASL.

El reparto del mapa de memoria se realiza por los estados lógicos de las líneas altas de dirección. Para ayudarle a comprender la decodificación necesaria, vea la tabla que le damos a continuación:

A19A18A17A16A15A14Rango direc.
00000X00000-07FFFROM sistema (32K prim.)
00001008000-9BFFFROM sistema (16K exp.)
0000110C000-0FFFFROM enchuf. hasta 16K
00010X10000-17FFFReservadas
00011018000-1BFFFRegistro internos y ES
0001111C000-1FFFF128K RAM estándar
001XXX20000-3FFFFReservadas
01XXXX40000-7FFFF256K RAM de expansión
10XXXX80000-BFFFF256K RAM de expansión
11XXXXC0000-FFFFFExpansión 'hardware'

En un QL no expandido las líneas A18 y A19 no se usan nunca. Cuando se añaden periféricos, deben inhabilitar los circuitos principales del QL mientras reconoce las direcciones válidas. Esto se realiza poniendo alta la señal DSMCL. Se recomienda que se use para esto un transistor NPN de conmutación rápida.

A todas las señales de las líneas se pueden conectar dos TTL de baja potencia como máximo. El periférico debe suministrar las señales DTACKL (reconocimiento de transferencia de datos) o VPAL (dirección periférica válida) según se requiera, y debe inhabilitar DSMCL ('strobe' de datos del chip maestro).

El módulo de expansión debe proporcionar memoria intermedia extra de líneas. La memoria intermedia de datos se habilita cuando A18 y A19 están a 1, o si DGBL (señal de recogida de datos) es puesta a 1 por cualquier tarjeta periférica. Si se usa DBGL, se debe reforzar por un circuito de colector abierto. Cuando se conecta el módulo de expansión, se pone a cero RESETCPUL mientras se enciende el módulo de expansión. Si se apaga el módulo de expansión, RESETCPUL se pone a 0.


Anterior Tabla de contenidos Siguiente
Descripción de la pantalla   Códigos de error