Va de Retro DRAM tester [v2.00]
Moderadores: cacharreo, Fundadores
Reglas del Foro
Aquí solo tienen cabida proyectos de hardware que incluyan siempre al menos sus esquemáticos para poder reproducirlos si llevan componentes electrónicos, y si es posible los ficheros del programa en que se hacen, los diseños de las placas, los gerber, etc. Si llevan algún tipo de software asociado debe estar diponible el código fuente
Para los que no cumplen estas condiciones se debe postear en el foro de proyectos generales.
Aquí solo tienen cabida proyectos de hardware que incluyan siempre al menos sus esquemáticos para poder reproducirlos si llevan componentes electrónicos, y si es posible los ficheros del programa en que se hacen, los diseños de las placas, los gerber, etc. Si llevan algún tipo de software asociado debe estar diponible el código fuente
Para los que no cumplen estas condiciones se debe postear en el foro de proyectos generales.
-
- Aspirante a demonio
- Mensajes: 436
- Registrado: 25 Feb 2021, 00:18
- Has thanked: 190 times
- Been thanked: 118 times
Re: Test de Memorias 4116, 4164 y 41464 - NEWS
Creo que es buena idea, con sólo un pin se evitan daños mayores.
Respecto al espacio de programa, los 32k parecen suficientes.
El código DRAMTester ocupa 3k https://forum.defence-force.org/viewtop ... f=9&t=1699
Suponiendo que cada test nuevo sean 3k (que siempre será algo menos) tendríamos 10 tests.
Por otro lado, dejo aquí un apunte del vídeo de @llopis en el que testea la memoria de un ORIC y puede ser útil a la hora de escribir el código.
Aquí comenta que variando los tiempos de desactivación de CAS y RAS puede hacer que el chip se reporte válido cuando no lo es.
Enhorabuena a todos, el proyecto va a quedar perfecto y lo más importante lo que vamos a aprender todos.
Respecto al espacio de programa, los 32k parecen suficientes.
El código DRAMTester ocupa 3k https://forum.defence-force.org/viewtop ... f=9&t=1699
Suponiendo que cada test nuevo sean 3k (que siempre será algo menos) tendríamos 10 tests.
Por otro lado, dejo aquí un apunte del vídeo de @llopis en el que testea la memoria de un ORIC y puede ser útil a la hora de escribir el código.
Aquí comenta que variando los tiempos de desactivación de CAS y RAS puede hacer que el chip se reporte válido cuando no lo es.
Enhorabuena a todos, el proyecto va a quedar perfecto y lo más importante lo que vamos a aprender todos.
- geloalex
- Demonio segundo orden
- Mensajes: 1397
- Registrado: 19 Abr 2018, 19:21
- Ubicación: Instagram: geloalex
- Has thanked: 936 times
- Been thanked: 487 times
Re: Test de Memorias 4116, 4164 y 41464 - NEWS
Estaría bien por si algún día se monta rápido no equivocarse , incluso ahí a lo mejor convendría poner uno tipo JST que solo entran de una forma y no son caros, solo en la conexión a placa , así evitas rediseños , los tenemos con la misma medida de centrajes.
Lo del ChipTester es por que lo tenia sin actualizar, ya estaba corregido en los nuevos firm
SpectrumZX81,ZX48,ZX48+,ZX128+2+3CommodoreA1200,A500,C64,C64C,C16AmstradCPC464,CPC6128MSXHB20P,HB75P,HBF1,HBF1XD,SVI728,8020Atari2600Sixer,2600Jr,7800PhillipsVideopacG7000NintendoGB,GBC,GBA,NES,FAMICOM,SNES,N64PCEnginePCEngine,PCEngineDUOSegaGG,SMS,SMS2,MD1,MD2,MEGACD2,SATURN,DC,NAOMIMicrosoftXBOX360Sony PS1,PS2,PS3,PS4,PSP,PSVitaMINISNES,SNES,MD,PSX INSTAGRAM: geloalex
- geloalex
- Demonio segundo orden
- Mensajes: 1397
- Registrado: 19 Abr 2018, 19:21
- Ubicación: Instagram: geloalex
- Has thanked: 936 times
- Been thanked: 487 times
Re: Test de Memorias 4116, 4164 y 41464 - NEWS
Puedo formar parte si lo veis bien , además puedo comparar resultados junto al ChipTester y tengo stock de componentes ....Popopo escribió: ↑19 Mar 2022, 15:05
Ahora...
Betatesters!!!
Se necesitan para probar los prototipos y el software que @cacharreo ha creado. ¿voluntarios que tengan memorias y o donen a los betatesters o ellos mismos hagan de betatesters?
Se valorará que puedan tener conocimientos de programación de arduino, base de electrónica e integrados defectuosos para probar, en cualquier caso, no son requisitos, el requisito principal es querer colaborar con las pruebas, y estas valoraciones son en caso de haber más voluntarios que placas, escoger a los que puedan probar en mayor profundidad (lo que es lógico).
SpectrumZX81,ZX48,ZX48+,ZX128+2+3CommodoreA1200,A500,C64,C64C,C16AmstradCPC464,CPC6128MSXHB20P,HB75P,HBF1,HBF1XD,SVI728,8020Atari2600Sixer,2600Jr,7800PhillipsVideopacG7000NintendoGB,GBC,GBA,NES,FAMICOM,SNES,N64PCEnginePCEngine,PCEngineDUOSegaGG,SMS,SMS2,MD1,MD2,MEGACD2,SATURN,DC,NAOMIMicrosoftXBOX360Sony PS1,PS2,PS3,PS4,PSP,PSVitaMINISNES,SNES,MD,PSX INSTAGRAM: geloalex
- Popopo
- Hermano de Lucifer
- Mensajes: 3466
- Registrado: 05 Nov 2019, 15:25
- Has thanked: 1120 times
- Been thanked: 570 times
Re: Test de Memorias 4116, 4164 y 41464 - NEWS
Por mi es lo adecuado. De hecho en mi implementación del teclado tengo también un pin NC para evitar posibles errores de conexión
- Popopo
- Hermano de Lucifer
- Mensajes: 3466
- Registrado: 05 Nov 2019, 15:25
- Has thanked: 1120 times
- Been thanked: 570 times
Re: Test de Memorias 4116, 4164 y 41464 - NEWS
Justo pensaba verlo esta noche, suelo extraer buenas notas de sus comentarios y experiencias.issalig escribió: ↑19 Mar 2022, 20:09 Respecto al espacio de programa, los 32k parecen suficientes.
Suponiendo que cada test nuevo sean 3k (que siempre será algo menos) tendríamos 10 tests.
Por otro lado, dejo aquí un apunte del vídeo de @llopis en el que testea la memoria de un ORIC y puede ser útil a la hora de escribir el código.
Aquí... comenta que variando los tiempos de desactivación de CAS y RAS puede hacer que el chip se reporte válido cuando no lo es.
El tamaño de un test... 3K? realmente creo que no tanto, pues pienso que 1K por cada integrado es suficiente para la configuración del test a lanzar, y luego ya el software de interfaz de usuario, los menús, avisos y las funciones de test, eso si puede ser más, pero sería 1 solo bloque no un bloque por cada tipo de IC.
Vamos, eso me parece
- Popopo
- Hermano de Lucifer
- Mensajes: 3466
- Registrado: 05 Nov 2019, 15:25
- Has thanked: 1120 times
- Been thanked: 570 times
Re: Test de Memorias 4116, 4164 y 41464 - NEWS
Justo eso pienso, pero para hacerlo a mi placa, es decir, como poner ese conector ya implica que el otro lado tenga también el mismo tipo de conector, pues igual a algunas personas les puede limitar de alguna manera la modularidad o dificultar modificaciones de cacharreo rápido, que en cambio con pines es lo más fácil, ahora bien, el poner un conector, digamos dupont (Creo que se escribe así) es como dices, no tan caro (aunque algo más) pero si más engorroso, para mi propia placa lo haré creo, pero no quiero ponerlo de serie, porque es cuestión de gusto hasta cierto punto. ¿Me entiendes?. Otra manera de resolver el tema de una posible mala conexión a muy bajo coste es en el conector hembra de 4 pines, le metes algo al pin que debe ir a NC. de esa manera si lo colocas invertido no te va a encajar.geloalex escribió: ↑19 Mar 2022, 22:31Estaría bien por si algún día se monta rápido no equivocarse , incluso ahí a lo mejor convendría poner uno tipo JST que solo entran de una forma y no son caros, solo en la conexión a placa , así evitas rediseños , los tenemos con la misma medida de centrajes.
Lo del ChipTester es por que lo tenia sin actualizar, ya estaba corregido en los nuevos firm
- cacharreo
- Moderador
- Mensajes: 5634
- Registrado: 09 Ago 2019, 10:17
- Ubicación: /home/cacharreo/
- Has thanked: 1190 times
- Been thanked: 2721 times
- Contactar:
Re: Test de Memorias 4116, 4164 y 41464 - NEWS
En cuanto a los tests al igual que @Popopo, no creo que nos topemos con un fuerte problema de espacio para los pocos integrados que son. Por ahora los límites más restrictivos son la velocidad máxima y la atenuación de la señal a altas frecuencias.
Según las pruebas de velocidad absoluta, con un programa ad-hoc para medirla que no hace nada más, pensamos que podemos aspirar a casi rozar o alcanzar los 8MHz, cuyo periodo sería 125ns o un poco superior. Para que no quede duda,
Osciloscopio / Analizador lógico (D1):
Referencias útiles:
Según las pruebas de velocidad absoluta, con un programa ad-hoc para medirla que no hace nada más, pensamos que podemos aspirar a casi rozar o alcanzar los 8MHz, cuyo periodo sería 125ns o un poco superior. Para que no quede duda,
Código: Seleccionar todo
// #############################################################################
// VdR-RAM-tester
// Timer1 test
// #############################################################################
#define TIMER_ENABLE // Enable/disable timer
#define OC1A 9 // Timer 1 Output Compare A
#define OC1B 10 // Timer 1 Output Compare B
#define DELAY 1000 // Delay (µs)
// v1.03
// | LFPG (µs) |
// | DELAY | Period |
// | 1 | 7.78 |
// | 5 | 15.40 |
// | 10 | 12.65 |
// | 100 | 104.00 |
// | 200 | 204.00 |
// | 500 | 506.00 |
// | 1000 | 2010.00 |
// | Timer1 (ns) (MHz) |
// | OC | Period | f | ZIF pin |
// | 1 | 125.00 | 8.00 | 10 |
// | 2 | 125.00 | 8.00 | 11 |
void setup()
{
// Disable interrupts
noInterrupts();
// We all love our NANOs so do not forget to
// set all pins as INPUTS (High impedance)
// before doing anything else
for ( int i = 0; i < 21; i++ )
pinMode(i, INPUT);
// Set timer pin
#ifdef OC1A
#define TIMER_PIN OC1A // Output Compare A
#else
#define TIMER_PIN OC1B // Output Compare B
#endif
// Set pin mode to OUTPUT
pinMode( TIMER_PIN, OUTPUT );
#ifdef TIMER_ENABLE
// Timer 1 settings
OCR1A = 0;
OCR1B = 0;
#ifdef OC1A
// Toggle OC1A
TCCR1A = bit( COM1A0 );
#else
// Toggle OC1B
TCCR1A = bit( COM1B0 );
#endif
// no prescaler | CTC1
TCCR1B = bit( WGM12 ) | bit ( CS10 );
#endif
// Enable interrupts
interrupts();
}
void loop ()
{
#ifndef TIMER_ENABLE
// No hw timer so we test this (cheesy) Low Frequency Pulse Generator
for ( int i = LOW; ; i = !i )
{
digitalWrite( TIMER_PIN, i);
delayMicroseconds( DELAY );
}
#endif
}
Referencias útiles:
Última edición por cacharreo el 20 Mar 2022, 15:27, editado 1 vez en total.
© cacharreo
- cacharreo
- Moderador
- Mensajes: 5634
- Registrado: 09 Ago 2019, 10:17
- Ubicación: /home/cacharreo/
- Has thanked: 1190 times
- Been thanked: 2721 times
- Contactar:
Resolución de problemas (v1.02f-1.05x)
Un guión para la resolución de problemas comunes con el ensamblaje y prueba del tester que irá siendo actualizado para incorporar las últimas novedades.
Problemas eléctricos
1a. El test de pines muestra un pin digital a 0 por defecto cuando la tabla de verificación dice que debe estar a 1
1b. El test de pines muestra un pin digital a 1 por defecto pero al conectarlo a tierra no cambia a 0
- Instalar correctamente el módulo MOSFET con H01 y H08 alineados respectivamente con Z01 y Z08,
- Asegurar la alimentación de dicho módulo consistente en un cable negro (desde H01) y otro rojo (desde H08) y que de forma respectiva están conectados o soldados a GND y VCC/+5V.
1.1. El módulo MOSFET está instalado como se ha descrito pero aún así el problema persiste
- El pad correspondiente al pin digital en el zócalo del Nano o el de su nodo fusible-zener correspondiente está soldado accidentalmente al plano de tierra.
- Las pistas asociadas al pin digital están en contacto con las de otros pines.
- El zener correspondiente está averiado (en corto).
- El fusible PPTC correspondiente está fundido (abierto).
2. El test de pines muestra varios pines digitales que cambian a la vez
- El tester está apoyado o en contacto con algún objeto que está alterando las lecturas (la mano del operador, algo sobre la mesa,...).
- Las pistas asociadas a dichos pines están en contacto con las de otros.
3. La tensión de alimentación tiene grandes oscilaciones entre diferentes reinicios en frío
- La fuente de alimentación utilizada es insuficiente (p.e. un concentrador USB) y debe sustituirse por un puerto USB directo del ordenador (mínimo 500mA) o un cargador USB de al menos 5V 2A que mantenga J3#3 (+5V) al menos a +4.38V.
- Si esta tensión presenta una variación o ruido de ±200mV o superior en placas v1.02f o de versiones anteriores es recomendable añadir por la cara inferior, un condensador de 220µF 25V entre el pin 8 del zócalo del LMC7660 (pin positivo del condensador) y el más cercano pin conectado al plano de tierra (pin negativo del condensador).
4. Los botones no hacen nada
- Falta el puente entre los pines 1 y 2 de J2.
- El botón está desconectado de la línea VCC o en corto.
- El pin 18 del Nano está en corto o desconectado de VCC.
- Las tensiones en el convertidor digital-analógico (DAC) no son correctas. Revisar las resistencias de cada botón confirmando sus valores.
5. Se escucha un zumbido agudo
- El pin 3 de J3 está en corto con tierra, un pin digital,...
- El módulo HW-668 tiene un corto o un contacto que debe ser revisado y eliminado.
Problemas NO eléctricos
1. Todos los tests fallan con memorias en buen estado
- Falta el puente en JP5 y/o JP6.
- Alimentación insuficiente (p.e. +5V por debajo de los +4.38V).
- Fallo en las tensiones suministradas en J3.
- Corto.
- Cables de J3 a J4 desconectados.
- Defectos en el zócalo ZIF.
- Fallos en las pistas que interconectan los pines digitales del Nano y el zócalo ZIF que deberán ser revisados y verificados con el test de pines.
2. Aparecen falsos negativos en tests con memorias en buen estado
- Interferencia electromagnética solucionable con el apantallamiento apropiado.
- Si se sospecha de una variación significativa en la tensión de alimentación o ruido en la misma, aplicar este método.
- Confirmar los contactos del zócalo ZIF con los pines de las memorias.
- Repetir las pruebas sobre memorias 4164 sin el LMC7660 instalado y si desaparecen los falsos negativos (test fallidos), sustituirlo.
- Repetir las pruebas sobre memorias 4164 sin el módulo HW-668 instalado y si desaparecen los falsos negativos (test fallidos), sustituirlo.
- Desoldar la pata soldada a masa de los diodos zeners implicados y repetir las pruebas. Si desaparecen los falsos negativos, ir conectándolos uno a uno y si vuelven a aparecer, sustituir el diodo.
3. Resulta muy difícil conseguir una pulsación larga
- El pulsador montado es inestable y rebota.
- Si se dispone de ella, comprobar con una botonera externa.
- Cambiar el pulsador.
Problemas eléctricos
1a. El test de pines muestra un pin digital a 0 por defecto cuando la tabla de verificación dice que debe estar a 1
1b. El test de pines muestra un pin digital a 1 por defecto pero al conectarlo a tierra no cambia a 0
- Instalar correctamente el módulo MOSFET con H01 y H08 alineados respectivamente con Z01 y Z08,
- Asegurar la alimentación de dicho módulo consistente en un cable negro (desde H01) y otro rojo (desde H08) y que de forma respectiva están conectados o soldados a GND y VCC/+5V.
1.1. El módulo MOSFET está instalado como se ha descrito pero aún así el problema persiste
- El pad correspondiente al pin digital en el zócalo del Nano o el de su nodo fusible-zener correspondiente está soldado accidentalmente al plano de tierra.
- Las pistas asociadas al pin digital están en contacto con las de otros pines.
- El zener correspondiente está averiado (en corto).
- El fusible PPTC correspondiente está fundido (abierto).
2. El test de pines muestra varios pines digitales que cambian a la vez
- El tester está apoyado o en contacto con algún objeto que está alterando las lecturas (la mano del operador, algo sobre la mesa,...).
- Las pistas asociadas a dichos pines están en contacto con las de otros.
3. La tensión de alimentación tiene grandes oscilaciones entre diferentes reinicios en frío
- La fuente de alimentación utilizada es insuficiente (p.e. un concentrador USB) y debe sustituirse por un puerto USB directo del ordenador (mínimo 500mA) o un cargador USB de al menos 5V 2A que mantenga J3#3 (+5V) al menos a +4.38V.
- Si esta tensión presenta una variación o ruido de ±200mV o superior en placas v1.02f o de versiones anteriores es recomendable añadir por la cara inferior, un condensador de 220µF 25V entre el pin 8 del zócalo del LMC7660 (pin positivo del condensador) y el más cercano pin conectado al plano de tierra (pin negativo del condensador).
4. Los botones no hacen nada
- Falta el puente entre los pines 1 y 2 de J2.
- El botón está desconectado de la línea VCC o en corto.
- El pin 18 del Nano está en corto o desconectado de VCC.
- Las tensiones en el convertidor digital-analógico (DAC) no son correctas. Revisar las resistencias de cada botón confirmando sus valores.
5. Se escucha un zumbido agudo
- El pin 3 de J3 está en corto con tierra, un pin digital,...
- El módulo HW-668 tiene un corto o un contacto que debe ser revisado y eliminado.
Problemas NO eléctricos
1. Todos los tests fallan con memorias en buen estado
- Falta el puente en JP5 y/o JP6.
- Alimentación insuficiente (p.e. +5V por debajo de los +4.38V).
- Fallo en las tensiones suministradas en J3.
- Corto.
- Cables de J3 a J4 desconectados.
- Defectos en el zócalo ZIF.
- Fallos en las pistas que interconectan los pines digitales del Nano y el zócalo ZIF que deberán ser revisados y verificados con el test de pines.
2. Aparecen falsos negativos en tests con memorias en buen estado
- Interferencia electromagnética solucionable con el apantallamiento apropiado.
- Si se sospecha de una variación significativa en la tensión de alimentación o ruido en la misma, aplicar este método.
- Confirmar los contactos del zócalo ZIF con los pines de las memorias.
- Repetir las pruebas sobre memorias 4164 sin el LMC7660 instalado y si desaparecen los falsos negativos (test fallidos), sustituirlo.
- Repetir las pruebas sobre memorias 4164 sin el módulo HW-668 instalado y si desaparecen los falsos negativos (test fallidos), sustituirlo.
- Desoldar la pata soldada a masa de los diodos zeners implicados y repetir las pruebas. Si desaparecen los falsos negativos, ir conectándolos uno a uno y si vuelven a aparecer, sustituir el diodo.
3. Resulta muy difícil conseguir una pulsación larga
- El pulsador montado es inestable y rebota.
- Si se dispone de ella, comprobar con una botonera externa.
- Cambiar el pulsador.
© cacharreo
- Popopo
- Hermano de Lucifer
- Mensajes: 3466
- Registrado: 05 Nov 2019, 15:25
- Has thanked: 1120 times
- Been thanked: 570 times
Re: Test de Memorias 4116, 4164 y 41464 - NEWS
125ns es (a mi entender) más que perfecto. La memoria más rápida que he tocado era de un Spectrum (memoria alta) y trabajaba en torno a los 150ns.
Trataré de poner hoy las velocidades de trabajo (más rápidas) en los equipos retro de la tabla del primer post.
Creo que tengo los datasheets de casi todas... si que las tengo.
- Popopo
- Hermano de Lucifer
- Mensajes: 3466
- Registrado: 05 Nov 2019, 15:25
- Has thanked: 1120 times
- Been thanked: 570 times
Re: Test de Memorias 4116, 4164 y 41464 - NEWS
Hola,
Tengo la siguiente duda, actualizando la tabla con las velocidades de las memorias tipicas en los equipos de 8 bits, veo que en el datasheet pues hay variedad, por ejemplo,
Las KM4164:
pues tienen varias velocidades Trac, Tcac y Trc, ¿cuál sería la más restrictiva y la que habría que tener en cuenta?
Por otra parte, las hay de 100ns, pero no las he visto en ningún Spectrum hasta ahora, además de que igual no se pueden usar por los tiempos de trabajo del propio Spectrum, pero desconozco si en otras plataformas si se usan.
alguno de los que usais Amstrad, Commodore, MSX, etc ¿puede decir cual es la menor que ha visto usándose? O sencillamente sepa cual es la más baja que usa alguno de los equipos con los que esté familiarizado.
Mientras pongo en la tabla las memorias "tipicas" que conozco en base a los datasheets, aunque ya no pondré los modelos más bajos puesto que igual ni se usan y no tendría sentido añadir tales memorias.
Gracias
Tengo la siguiente duda, actualizando la tabla con las velocidades de las memorias tipicas en los equipos de 8 bits, veo que en el datasheet pues hay variedad, por ejemplo,
Las KM4164:
pues tienen varias velocidades Trac, Tcac y Trc, ¿cuál sería la más restrictiva y la que habría que tener en cuenta?
Por otra parte, las hay de 100ns, pero no las he visto en ningún Spectrum hasta ahora, además de que igual no se pueden usar por los tiempos de trabajo del propio Spectrum, pero desconozco si en otras plataformas si se usan.
alguno de los que usais Amstrad, Commodore, MSX, etc ¿puede decir cual es la menor que ha visto usándose? O sencillamente sepa cual es la más baja que usa alguno de los equipos con los que esté familiarizado.
Mientras pongo en la tabla las memorias "tipicas" que conozco en base a los datasheets, aunque ya no pondré los modelos más bajos puesto que igual ni se usan y no tendría sentido añadir tales memorias.
Gracias
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.