Interfaz de disco por puerto CDX-2. Instrucciones paso a paso cdx-2.

Estas instrucciones detallan brevemente como construir el interfaz Microsol cdx-2 FDC v2.4.

Estas instrucciones amplían las instrucciones detalladas en: https://github.com/msx-solis/msx-fdc-cdx2-clone/

Listado de componentes

RefDescripciónqty
PCBPCB interfaz de disco Microsol CDX-2 v2.41
C1Condensador electrolítico 47uF1
C2Condensador 1nF1
C3-6,C10-13Condensador 100nF8
C7Condensador de 220nF1
C8Condensador de 10pF1
C9Condensador de 33pF1
Cx1Condensador de 47pF1
D1Diodo rectificador 1N41481
JP1-JP5Conector de 3 pines5
J3Conector de 2 pines rotados1
Q1Transistor BC5471
R11Resistencia 12K1
R10Resistencia 39K1
RN1Matriz (array) de resistencias 470R de 6 pin SIP1
R1-2,R6-R9Resistencia 470R2
R3,R5,RxResistencia 1K3
R4Resistencia 4k71
J1Conector 34 pin shrouded 90º1
U274LS00N1
U374LS138N1
U474LS74N1
U574LS174N1
U6WD2793-PL1
U7,U874LS16N o 74LS06N2
Y1Cristal de cuarzo 4Mhz1
A6Zócalo 40dip600 torneado1
A1Zócalo 28dip600 torneado1
A3, A5Zócalo 16dip300 torneado2
A2,4,7,8Zócalo 14dip300 torneado4
U127C256 (o 27C128)1
Cable plano de 34 hilos1
Conector 34 pin hembra para cable plano2
Unidad de disco flexible 3.5″1
Fuente de 5v enchufe EU1
Cable alimentación floppy1
Conector 2,1mm hembra1

Nota: actualmente ningún kit incluye la disquetera.

Soldarlo todo correctamente

Fácil, el PCB muy bien indicado. Sólo hay que tener en cuenta algunos detalles:

Mi consejo es soldar los jumper de abajo a la izquierda (JP1-JP4) directamente con hilo entre los pines superiores como muestra la siguiente imagen.

Los componentes con polaridad, deben insertarse correctamente, estos són el diodo, el condensador electrolítico, el array de resistencias y por supuesto los zócalos…

El condensador electrolítico debería ir tumbado como se muestra en la foto siguiente.

También hay que tumbar algunos modelos del condensador de 220nF. Si tu condensador de 220nF es como el de la foto, es muy grande, en este caso debe ir tumbado por encima de la resistencia y el diodo que hay al lado.

Si el condensador de 220 nF que tienes es de tamaño normal, este detalle no es necesario.

Fotografía de muestra en un estado parcial de la construcción:

En la foto de arriba he utilizado tiras en lugar de zócalos (cosa que no tiene importancia). Hay que utilizar zócalos de pin redondo porque los agujeros permiten que el zócalo entre a fondo. En caso de utilizar otros zócalos todos los chips sobresalen más.
Conviene cortar los pines de estos zócalos por detrás como muestra la siguiente imagen.

En el caso de JP5 si aconsejo poner pines de jumper para poder probar al menos 2 versiones de firmware. Como el de la foto:

Aunque no es imprescindible, es conveniente cortar un pin del conector de disquetera, sería el tercer pin de la izquierda tal como muestra la siguiente fotografía:

Esto tiene como objeto quitar ese pin, ya que la mayoría de cables de disquetera ya fabricados no tienen agujero para dicho pin. si te vas a construir tu el cable no tiene importancia.

Programar el firmware

Las instrucciones serían como las de programar el TDC-600, utilizando en su lugar los ficheros correctos. En el kit el chip ya está programado.

Hacer una serie de tests

Por partes como se indica en el enlace del github. Lo más importante es que una vez soldado y antes de insertarlo en el MSX compruebes con un polímetro que no hay continuidad entre VCC y GND.

Si quieres asegurarte que todo funciona a la perfección puedes hacer varias pruebas.
1) Puedes instalar solo el chip U2, insertar la tarjeta en el MSX y verificar la frecuencia en el pin 3 del zócalo U4. En la siguiente imagen muestra que mido el pin 6 de U2 (mide lo mismo pero es más complicado de acceder). Debería ser cercano a 4Mhz.

2) A continuación podemos insertar U4 (me refiero a apagar el MSX, insertar el chip y encender de nuevo, por supuesto) y medir la frecuencia en su pin 9, debería ser cercano a 1Mhz.

Si no tenemos osciloscopio se puede medir igual con un frecuencímetro (también hay polímetros que miden frecuencia). Verías algo como en la siguiente foto:

Si las frecuencias estan bien, podemos comprobar si el circuito de selección de puerto funciona como es debido, para ello, insertamos U8 y U3 (siempre apagando) y miramos la señal en el pin 4 del zócalo U6, en este caso he utilizado una sonda lógica pero se puede hacer con un polímetro midiendo tensiones (o con el osciloscopio mucho mejor).

Al encender el MSX la señal debería ser HIGH (aproximadamente 5v con el polímetro).
entonces al ejecutar el siguiente programa desde BASIC:

10 A=INP(&HD0)

20 GOTO 10

RUN

La lectura del mismo punto debería ser LOW (aproximadamente 0v), aunque como oscilaría entre 0 y 5, no estoy seguro de que lectura da con el polímetro, tal vez simplemente de un voltage inferior en continua y un voltaje de 5v en medición alterna.

A continuación vamos a probar el sistema de control de disquetera. Tenemos que insertar U7 y U5 y utilizar la sonda en el pin 10 del conector de disquetera. Así está la placa:

Al encender en el MSX el pin 10 debería estar HIGH, si no es así podemos forzarlo con el comando siguiente.

OUT &hD4,&b00000000

Si es correcto debería activarse fijo (LOW) con el comando siguiente:

OUT &hD4,&b00000001

Por último al insertar U1 y U6, y con el jumper JP5 en la posición 1-2 debería aparecer al encender el MSX algo como en la siguiente imagen:

Configurar los jumper

Ya está explicado, la configuración por defecto es JP1-JP4 en posición 1-2 soldado con un cable, JP5 inicialmente en posición 1-2 y J3 es para hacer un test pero simplemente puedes no insertarlo.

Fabricar el cable de datos

El cable debe ser como el de una disquetera MSX tradicional, es decir, con los hilos 10-12 cruzados. Tal como esta foto:

Los cables normales de PC tienen la disquetera B sin cruces y la disquetera A con los cables 10 a 16 cruzados, si queremos aprovechar un cable de PC tenemos que descruzar los cables 10 a 16 para cruzar solo de 10 a 12.

Como utilizaremos disqueteras estándar de PC que son de tipo DS1, la unidad A está después del cruce y la B podría estar antes (en el supuesto de un cable con 3 conectores, no como el de la imagen).

Fabricar la fuente.

Con el kit adjunto una fuente de 5v y conector de barril, un cable de alimentación de disquetera 3.5″ (PC) y un conector hembra de barril para que lo soléis del siguiente modo:

El cable rojo en el pin central y el negro en la paleta externa del conector (pantalla), cerramos el metal que sujeta los cables (sin que haga contacto con el positivo) y enroscamos la funda de plástico. Para mayor seguridad podemos enchufar la fuente a corriente, enchufar el adaptador sin la disquetera y medir si hay 5v entre los pines del conector de la disquetera.
en caso contrario repasar el problema.

Prueba final

Hay que insertar el interfaz en el MSX, conectar el cable de datos a la disquetera, el cable de alimentación también a la disquetera y enchufar esta, antes de encender el ordenador.

Con un disquete de arranque para MSX-DOS1 insertado debería cargar el sistema operativo tal que así:

No obstante, si el ordenador es MSX1 saldrá antes una pantalla como la que sigue pidiendo que introduzcas la fecha:

Esto es debido a que los MSX2 en adelante tienen reloj de tiempo real mientras que los MSX1 no, y el sistema quiere saber la fecha para registrarla en los ficheros que modifique.

Explicación detallada del circuito

Este es el esquema principal:

descarga el PDF pulsando sobre la imagen

El circuito esta compuesto de una memoria ROM con el controlador y la extensión del BIOS/BASIC.

Aquí es donde estan almacenadas las rutinas que permiten al sistema ejecutar comandos de la disquetera, por ejemplo, desde BASIC podemos escribir FILES y nos mostraría el contenido del disco. El comando FILES es parte de la extensión del BASIC que está contenida en esta memoria.

También hay un generador de reloj con divisor de frecuencia a 1Mhz.

Esto no es un reloj para saber la fecha y hora sino una señal cuadrada de frecuencia precisa que los circuitos necesitan para activar su lógica secuencial.

A continuación el circuito de selección de puerto. En este caso se activa con una señal de lectura/escritura para el puerto 0xD0 (driver) y de escritura para el puerto 0xD4 (drive control).

El circuito drive control esta compuesto por un registro (D4) que mantiene las señales de control según la última orden enviada. Por ejemplo si el motor debe estar encendido o apagado se controla con el bit D5 enviado al mencionado registro.

Por último está el chip driver del dispositivo: es un chip diseñado específicamente para controlar disqueteras, puede recibir comandos sencillos y devolver resultados provenientes del disco, como leer un sector o cambiar la posición del cabezal sobre el disco.

Jordi Solís, miembro de MSXmakers.

Deja un comentario

Diseña un sitio como este con WordPress.com
Comenzar