Compact Flash  Spectrum +2E / +3E


Introducción

    El proyecto + E ( http://www.zxplus3e.plus.com/ ) consiste en la sustitución de las ROM originales de los Spectrum 2+A, B y +3, por unas ROM modificadas con nuevos comandos y la capacidad de manejar discos duros con una interfaz hardware muy sencilla.

( Mi +2E )

    Después de algún tiempo usando un disco duro, lo quité. ¿Porqué? La repuesta no es por la necesidad una fuente AT para poder alimentar todo el conjunto. Al fin y al cabo sustituimos la fuente del Spectrum por otra fuente. La verdadera razón es por el ruido constante que introduce el disco duro el cual resulta molesto.

    Existe un elemento de almacenamiento que incluye un modo 'true ide' que simula totalmente el funcionamiento de un disco duro. Son las tarjetas de memoria Compact Flash. Pequeñas y con un consumo bajo, disponen de una capacidad de almacenamiento suficiente para los Spectrum.

ATENCION: LAS PRUEBAS REALIZADAS SE HAN HECHO CON UN MODELO DE ADAPTADOR CF - IDE Y CON UN MODELO DE COMPACT FLASH. NO ES POSIBLE ASEGURAR QUE FUNCIONE CUALQUIER COMPACT FLASH NI CUALQUIER ADAPTADOR CF - IDE.

COMPACT FLASH COMO DISCO DURO.

    Para realizar las pruebas, fue necesaria la compra de dos elementos. El primero es un adaptador Compact Flash a IDE, que dispone de un puerto para insertar las tarjetas CF y un conector IDE donde conectar el cable plano de 40 hilos típico de los disco duros.  El otro elemento necesario es una tarjeta Compact Flash; en mi caso una SanDisk de 128MB de capacidad que funciona perfectamente a +5V.



    Al conectar el adaptador Compact Flash por primera vez al Spectrum se quedó bloqueado. También se ha visto algún posible problema con la Compact Flash. Estos problemas quedan resumidos aquí:  Problemas iniciales

    Superado un fallo inicial, tenía el reto que esperaba, ¿ Como se formatea una Compact Flash?

    Cuando se instala un disco duro en el Spectrum, hay que proceder a su formateo. Para ello se realiza el siguiente comando:

         FORMAT TO unidad, cilindros, cabezas, sectores,#max particiones

    Los parámetros cilindros, cabezas y sectores son inherentes a un disco duro pero no a una tarjeta de memoria. Sin estos datos no es posible formatear la tarjeta. Para saber dichos valores, conecté el adaptador CF-IDE y la Compact Flash al PC. La bios me dio los siguientes valores:

        SANDISK 128MB   980 cilindros, 8 cabezas, 32 sectores.

       Con estos valores se formateó la tarjeta. Funcionaba pero presentaba un comportamiento extraño. La pantalla del Spectrum se parecía a esta:



       Buscando información en Internet, encontré algún programa y la siguiente tabla.


Cylinders, Head, Sector (CHS) parameters for Type I Compact Flash
(Caution: the accuracy of this table has not been verified, disclaimer)
Compact Flash Cylinders Heads Sectors/Track
2 MB 123 2 16
4 MB 123 2 32
6 MB 184 2 32
8 MB  245 2 32
10 MB 320 2 32
15 MB 458 2 32
20 MB 612 2 32
24 MB 734 2 32
30 MB 306 6 32
32MB 489 4 32
40 MB 612 4 32
48 MB 734 4 32
64 MB 978 4 32
96 MB 732 8 32
128 MB 977 or 978 8 32
192 MB 782 15 32
256 MB 1043 * 15 32
256 MB 981 16 32
512 MB 999 16 64

* old BIOS only allow 1023/1024 cylinders

For most LRP firewall applications, your only need 2 MB or 4 MB.

Many people purchase a new digital camera, immediately "throw away" the 8 Meg CF and replaced it with
a 128 or 256 Meg CF. This is an ideal situation if you know these people! 

© 2001-2003 Nicholas Fong

Burnaby, B.C. Canada
Revision date: January 28, 2003

    Como se puede ver, para el caso de 128MB, da los mismos valores para cabezas y sectores pero no para cilindros. En el caso de la Sandisk 128MB, el valor 978 daba los mismos errores que 980 pero el 977 hacía que la tarjeta funcionase perfectamente. La configuración correcta para una Sandisk 128MB es :

    SANDISK 128MB   977 cilindros, 8 cabezas, 32 sectores.  

   Con todo O.K, el Spectrum presenta las siguientes pantallas.



    Por ultimo recordar que al igual que el adaptador de disco duro, se pierde la mitad de la capacidad de la tarjeta al tener un bus de datos de 8 bits. Una  CF de 128MB se queda, por tanto, en 64 MB más que suficiente para nuestros Spectrum.

PROPUESTAS CONEXION COMPACT FLASH

    A continuación, se proponen algunas ideas de como conectar la Compact Flash al Spectrum.

1ª. Usando Adaptador CF IDE e interfaz disco duro

    Esta propuesta consiste en sustituir directamente el disco duro por la Compact Flash. Sin caja o con caja




    Para alimentar la Compact Flash se puede hacer de varias maneras.
       - Llevando un cable desde el interfaz de disco duro.
       - Desde una fuente AT.
       - En mi adaptador CF - IDE  hay un pin que permite alimentar a través del conector IDE.El PIN es el número 20 que en el estándar IDE corresponde a la señal 'KEY'. Otros adaptadores también usan este pin con el mismo propósito por lo que parece que es una 'norma no escrita' . Conectado +5V en el pin 20 del interfaz de disco duro hay alimentación para todo el sistema. Esto se puede realizar debido al bajo consumo de la Compact Flash.

2ª Usando Adaptador CF IDE e interfaz disco duro (II)

    Si se dispone de un interfaz de disco duro de dimensiones medias, se puede acoplar el adaptador CF-IDE de manera sencilla.

    En esta página, pongo algunos ejemplos de como realizar este proceso

3ª Placa específica.

    Lo ideal era diseñar y fabricar una placa que se conecte directamente al bus de expansión del Spectrum. Este proyecto presenta una dificultad alta por varios motivos.
 
        - Conseguir el conector para Compact Flash
        - El conector tiene terminación SMD. Lo que nos lleva a posibles problemas tanto en la placa como en el proceso de soldar.

    El conector de Compact Flash se compró en la tienda de electrónica www.amidata.es . Además de trabajar con profesionales, permite la compra a particulares (previa creación de una cuenta).

    En cuanto al segundo problema, fue necesario la compra de un soldador de 14w con una punta muy fina. Para facilitar la soldadura del conector CF, se realizó un fotolito del cual se eliminaron los contactos que no se iban a soldar. Este 'truco' reduce el peligro de soldar 2 pistas contiguas.

    El esquema recoge el diseño del adaptador CF comercial añadiendo los circuitos del interfaz para disco duro y terminado en conector de Spectrum. Es el siguiente:




Notas:

    El esquema lleva un regulador de tensión para proporcionar +3.3V. Pruebas realizadas desde que salió el artículo original indican que hay Compact Flash que funcionar correctamente si se las alimenta a +3.3V aunque las señales de datos sean de +5V.

    El circuito de RESET ha cambiado con respecto al original. Es debido a que al realizar una serie de adaptadores se detectó un problema que no había surgido antes. El Spectrum reconocía la CF la primera vez pero al resetear no aparecía nada. Esto pasaba con otras tarjetas CF distinta a la mía.

    El problema está en el circuito de reset. Como solución se ha eliminado el transistor y la resistencia de 100K. En su lugar se ha puesto una simple resistencia de 10K. El circuito de RESET queda de la siguiente manera:
 

    La placa ( 77.4x52.6 mm) está realizada con solo una cara y puentes. JP 2 sirve para seleccionar el voltaje de la CF: +5V ( 2-1) o  +3.3V ( 3-2).

    El aspecto teórico de la placa es la siguiente:



    El resultado del prototipo es el siguiente:



    El esquema y la placa teórica difieren levemente de las imágenes del prototipo. El esquema y placa teórica han sido actualizadas con posteridad.


    Con caja y enchufado al Spectrum. Se utiliza una caja PP6-N de supertronic.



Para finalizar

      En verano del 2005 se realizó una pequeña serie de interface para aquellas personas que se quisieron apuntar. Para facilitar el trabajo se busco empresas que fabricasen placas de manera profesional a un precio asequible

    Durante la búsqueda se encontraron algunas web interesantes:
               
                   http://www.olimex.com/pcb/

                   http://www.futurlec.com/index.shtml

    La escogida fue http://www.futurlec.com/index.shtml . En su página de placas http://www.futurlec.com/PCBService.shtml podemos averiguar con exactitud el precio por unidad

Documentos

Esquema y placa en eagle

Esquema y placa en pdf

Placa en pdf sin contactos necesarios

Datasheet LM1117


2005-2006. Artículo escrito por  José Leandro Novellón.