Nota: Este tema es exclusivo para cuestiones relativas sobre el diseño, especificaciones y pruebas del VdR RAM tester. Los interesados en la tirada pueden consultar éste otro tema.
Tabla de contenidos
- 1. Presentación
2. Objetivos
3. Progreso
4. Memorias candidatas para el tester
5. Recursos para el tester
6. Firmware para el tester
7. Componentes y estimación de costes
8. Descargo de responsabilidad
1. Presentación
Este pretende ser un proyecto que permita crear una herramienta para comprobar las memorias DRAM 4116 y 4164 de los Spectrums y algunos otros sistemas de manera cómoda. Es decir... no tener que usar una placa base original para comprobar uno o muchos chips que se compren por lotes, lo cual resulta tedioso.
La chispa original parte del trabajo de iss que publicó en el foro Defence Force (enlace al diseño original) que realiza un test para las memorias 4164 y 41256 usando un Arduino Nano. Posteriormente este trabajo fue retocado por FrostBox Labs para comprobar unicamente las 4116 (enlace al vídeo demostrativo). Con la ayuda de compañeros del foro se pretende sacar una tirada para que sean comprobadas las memorias mencionadas en el título, a un coste mucho más bajo que el que se oferta por Internet actualmente.
2. Objetivos
Se pretende añadir ciertas características opcionales y adicionales:
- Opción de pantalla OLED con información relevante al proceso.
- Regulador/Selector de tamaño de la fuente en pantalla en caso de uso de pantallas OLED (para cegatos como yo).
- Opción de comprobar las memorias 41464 del Spectrum 128K (+2, etc) de 18 pines.
- Opción de añadir otros tipos de DRAM con misma cantidad de pines.
- Opción de añadir otros tipos de DRAM de hasta 20 pines.
- Esta tirada inicialmente estará limitada a 10 20 25 30 35 40 unidades, aunque si hubieran suficientes interesados se podría ampliar.
- El Objetivo del precio: ser inferior a los 7€(con pantalla y Arduino Nano (o similar) incluidos). Edito: Objetivo no alcanzable debido a que ahora se cobra IVA a los productos de China y han subido los precios tanto del Nano como de las pantallas OLED. Se tratará de contener todo lo posible.
3. Progreso Estado: Completado Progreso: 100%
- Cronología
2022-03-01 - Concreción de objetivos y soluciones para los diferentes tipos de memoria.
- Creación de prototipo hardware.
- Calculo grueso de los costes iniciales.
- Estudio de la posibilidad de trabajar desde un terminal serie IDE.
- Ajuste de los tiempos de pulsación.
2022-03-05 - Primeras versiones de PCB funcionales.
- Pruebas de menú con pantalla.
- Inicio de periodo de pruebas de los prototipos funcionales.
- Primeros prototipos de carcasa.
- Pruebas de escritura/lectura de ICs.
2022-06-18 - Comienzo del beta-testing.
- Resolución de averías y problemas en el montaje de los testers de los beta-testers.
2023-01-22 - Fin del beta-testing.
- Comienzo del periodo de espera de resultados.
2023-06-01 - Fin del periodo de espera de resultados de pruebas nunca realizadas por motivos sociopolíticos externos al proyecto.
- Añadidas las TMS4532 L y H (compatibles con las M3732 L y H).
- Pruebas de firmware hasta fw0.25cβ.
- Pruebas con todos las DRAM de 1bit. < superadas
- Pruebas con todos los diferente clones de Nanos (MPU ATmega328P y ATmega328PB, UART FT232RL y CH340x). < superadas
2023-06-17 - Proyecto completado, listo para la tirada.
- En este punto el tester es 100% funcional para todas las memorias DRAM candidatas.
- Añadidas las TMS4108-0 y TMS4108-1 (sugeridas por @WhatIsAMan).
- Sobremuestreo de la botonera para evitar los rebotes y/o lecturas incorrectas.
- Reactivación de la recuperación y el almacenamiento en la EEPROM del ùltimo test seleccionado en el menú.
- Desarrollo de los tests con memorias DRAM de 4bits.
- Compilación condicional para lectura teclado mediante ISR.
- Nueva opción "Info" para ver los parámetros principales del tester.
- "Select RAM chip" pasa a ser "Select an option".
- Controlador serie de teclado/pantalla.
- Tras las pruebas reactivar la comprobación de tensiones en el menú principal y en la pantalla de cableado.
- Optimización de la velocidad de acceso a puertos.
- Implementación de los buffers en RAM para los puertos del microcontrolador.
4. Memorias candidatas para el tester
Inicialmente las memorias candidatas fueron estas,
MSX | Commodore | Amstrad CPC | ZX Spectrum |
---|---|---|---|
|
|
|
|
especificaciones (2)
Memoria | Pin 5v | GND | Pin 12v | Pin -5v | Pines de dirección | Pines de datos | Total Pines | T (ns) | Usado en |
---|---|---|---|---|---|---|---|---|---|
41256 | 8 | 16 | 5,6,7,9,10,11,12,13 | i:2 o:14 | 16 | 120/150 | Commodore | ||
4164 | 8 | 16 | 5,6,7,9,10,11,12,13 | i:2 o:14 | 16 | 120/150 | ZX, Apple II, TI99 | ||
4864 | 8 | 16 | 5,6,7,9,10,11,12,13 | i:2 o:14 | 16 | 120 | MSX1 | ||
4116 | 9 | 16 | 8 | 1 | 5,6,7,10,11,12,13 | I:2 o:14 | 16 | 150 | ZX, C64, C128, CPC464, Apple |
41464 | 9 | 18 | 6,7,8,10,11,12,13,14 | 2,3,15,17 | 18 | 120 | CPC | ||
4416 | 9 | 18 | 6,7,8,10,11,12,13,14 | 2,3,15,17 | 18 | 120/150 | C16, C116, C128 | ||
4464 | 9 | 18 | 6,7,8,10,11,12,13,14 | 2,3,15,17 | 18 | 120/150 | C16, C64, C128, ZX128, AtariXL | ||
44256 | 10 | 20 | 6,7,8,9,11,12,13,14,15 | 1,2,18,19 | 20 | 100 | ZX80, C64, VC20, A500, A2000,A3000,A4000 |
VCC en pin 8 GND 16
VCC en pin 9 GND 18
VCC en pin 10 GND 20
que como se puede apreciar en la tabla anterior, todas las memorias tienen el pin de tierra en su último pin y, exceptuando la 4116, requieren de una única tensión.
A continuación está disponible la tabla de búsqueda de tests. En la columna izquierda, que está ordenada alfabéticamente, se busca la referencia de la DRAM a comprobar y la columna derecha indica qué test se debe usar con el tester para dicha DRAM.
Las "x" en las referencias de las DRAM indican un carácter alfanumérico cualquiera. Por ejemplo, x584xY4 puede leerse como K584PY4 o K584RY4; TMS4532-xxNL4 es una referencia genérica para cualquier memoria con el tiempo de acceso "xx", por ejemplo, TMS4532-15NL4.
5. Recursos para el tester
¡Aviso! De la BOM de una versión a la de otra puede haber cambios en las referencias de los componentes.
- Versión 2.00a, esquemas, materiales y placa (En desarrollo/Nightly)
- Versión 1.06b, esquemas, materiales y placa (Oficial/Stable)
- Versión 1.06a, esquemas, materiales y placa
- Versiones 1.06x, Módulo de conmutación de tensiones
- Resolución de problemas
- Propuesta de @issalig de caja o carcasa para la versión 1.05 y posteriores
- Test para detectar el tipo de ATMega del Nano
- Firmware vdr para el DRAM TESTER M.G. Rev.4/2021
6. Firmware para el tester
- Versiones en pruebas y desarrollo (En desarrollo/Nightly)
- Versión recomendada (Oficial/Stable)
- Instrucciones para la actualización del firmware
7. Componentes y estimación de costes
Esta es una tabla orientativa de costes que no considera los componentes pasivos (resistencias, algunos condensadores, etc.) cuyos costes son poco significativos para comprobar como está el mercado y obtener un coste estimado más realista. Hay que recordar que es aproximadamente un coste a mayores, la pantalla LED se podría omitir si uno la tiene ya, también el Nano, etc.
Las siguientes estimaciones pueden haber sido realizadas sobre costes individuales de los componentes que de ser comprados de forma conjunta el coste se reduciría necesariamente tanto por compras en cantidad como por gastos de envío.
Lista de componentes basada en la BOM v1.06
Última estimación (neta) para la versión completa: Total: 21.50€
8. Descargo de responsabilidad
Este proyecto es realizado como simple pasatiempo/entretenimiento electrónico y se proporciona tal cual fue diseñado e implementado con fines didácticos o de investigación. Los autores no ofrecen garantía ni aceptan responsabilidad alguna por su no adecuación a un fin concreto o por daños derivados durante su implementación y/o uso.