Va de Retro DRAM tester [v2.00]

Proyectos de hardware con sus esquemáticos y si llevan software en fuente

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.
Responder
Avatar de Usuario
Popopo
Hermano de Lucifer
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

Mensaje por Popopo »

Gomas48K escribió: 11 Feb 2022, 23:34 Para evitar que al pulsar dos o mas pulsadores, la suma de las resistencias en paralelo, puedan dar a error y reconocer otro pulsador... se puede usar el método que se usa en los códigos de programación de las centralitas en automoción.
El código de programación final, es la suma de varios números (cada número es una opción posible en esa programación)
Usando los números 1,2,4,8,16,32,64..... el numero siguiente es el doble del anterior (a los que programáis, os suena todo esto... jajajj)
Ej: código 37 (suma de las opciones 32+4+1) para decodificarlo, se va restando al código, el numero mayor de la tabla de posibilidades (1,2,4,8....) hasta que se llegue a "0"

Si se extrapola a voltajes, tiene que funcionar!!!
Claro, dependiendo del numero de pulsadores; porque si son muchos, 5v no da para muchas opciones y contando con el margen que tienen que tener (% tolerancia de las resistencias, caídas de tensión, etc)
Hola,
Gracias por el enlace, tengo que verlo, pero si, viene a ser la misma idea que las tarjetas que guardan imágenes almacenando niveles de tensión, etc.

Lo de la codificación no lo he entendido, pero lo dejo para cuando lo demás esté más avanzando, porque suena interesante. Por ahora no contemplo el error, pues son pulsadores o un teclado flexo tipo del Spectrum que he pillado en cantidad, donde pulsar dos cosas tiene que ser intencionado, en tal caso... pues si sale fuera de rango... va a ingnorar o hacer lo mismo que el valor más alto, si esta en rango... puede salir coindicencia, pero ya eso responsabilidad del que ha pulsado dos veces, en mi caso... uno de los críos XD.

Ah! vale, ya pillo, pero el coste de ir restando es alto en espacio, no, usaré una función que me ha enseñado de arduino @mad3001 que se llama map, no creas que la domino bien, pero digamos que encaja entre una serie de valores (para no usar ifs) dentro de una escala definida. Tengo que ver el provecho que se le pueda sacar, sino Ifs-Else.

Ahora trato de montar eso en el arduino y lo siguiente empezar con un programa (que me comunicará por serie con varios pulsadores) para hacer unas pruebas con una memoria, por cierto, sobre lo del registro, que es gran idea, ¿sabes si cuando le metes por ejemplo 100111 y le cambias a 110111 entre los dos estados fluctúa las tensiones de salida de los bits que permanecen igual? porque en caso de que no fluctuen, es solución perfecta para los pines de señal, que no sufren del requisito de velocidad.

Aunque me falta hacer el análisis de esas señales a ver en cuales pines coinciden en todos los integrados que son señal. ¿puedes mirarlo por favor?

Gracias
Avatar de Usuario
Gomas48K !Sinclair 1
Aspirante a demonio
Aspirante a demonio
Mensajes: 271
Registrado: 16 Jun 2021, 06:08
Ubicación: España
Has thanked: 716 times
Been thanked: 216 times

Re: Test de Memorias 4116, 4164 y 41464 - NEWS

Mensaje por Gomas48K »

Popopo escribió: 11 Feb 2022, 23:56
Lo de la codificación no lo he entendido, pero lo dejo para cuando lo demás esté más avanzando, porque suena interesante. Por ahora no contemplo el error, pues son pulsadores o un teclado flexo tipo del Spectrum que he pillado en cantidad, donde pulsar dos cosas tiene que ser intencionado, en tal caso... pues si sale fuera de rango... va a ingnorar o hacer lo mismo que el valor más alto, si esta en rango... puede salir coindicencia, pero ya eso responsabilidad del que ha pulsado dos veces, en mi caso... uno de los críos XD.
Pensándolo mas detenidamente, si las resistencias fueran en serie, se suman los valores, pero al estar en paralelo, hay que calcularlo sumando las inversas y es mas complicado de extrapolar... y más si usas la instrucción map()....... Nada!!! si se pulsan dos teclas a la vez, mala suerte.
Popopo escribió: 11 Feb 2022, 23:56 Ah! vale, ya pillo, pero el coste de ir restando es alto en espacio, no, usaré una función que me ha enseñado de arduino @mad3001 que se llama map, no creas que la domino bien, pero digamos que encaja entre una serie de valores (para no usar ifs) dentro de una escala definida. Tengo que ver el provecho que se le pueda sacar, sino Ifs-Else.
He estado echando un vistazo a la función map() y básicamente es la lectura en una entrada analógica, asignando un rango de 0 a 320, asignando un margen inferior y otro superior.
Está muy bien! y mas para este caso de los pulsadores.
Popopo escribió: 11 Feb 2022, 23:56 Ahora trato de montar eso en el arduino y lo siguiente empezar con un programa (que me comunicará por serie con varios pulsadores) para hacer unas pruebas con una memoria, por cierto, sobre lo del registro, que es gran idea, ¿sabes si cuando le metes por ejemplo 100111 y le cambias a 110111 entre los dos estados fluctúa las tensiones de salida de los bits que permanecen igual? porque en caso de que no fluctuen, es solución perfecta para los pines de señal, que no sufren del requisito de velocidad.

Aunque me falta hacer el análisis de esas señales a ver en cuales pines coinciden en todos los integrados que son señal. ¿puedes mirarlo por favor?

Gracias
Nunca he trabajado con 74HC595, pero la verdad, creo haber visto en algún sitio, que hasta que no cambiaba de estado al refrescar el registro, mantenía la misma salida.

Estoy buscando y no encuentro donde lo vi... seguiré buscando, para confirmarlo... porque el historial del navegador, pppuuuffff... es una locura, tantas paginas visitadas buscando información, es imposible.

De todas formas, para poder comprobarlo en la practica, en arduino.... se puede hacer un bucle (de un bit de 74HC595) a una entrada del arduino y asignar un registro, para comprobar si mantiene la salida o hay fluctuaciones de refresco???? porqué sería la prueba definitiva.

Este vídeo está bastante bien, se ven casos prácticos y explica algunas cosas interesantes, por si te vale como referencia en general de este método.

vídeo de Registro desplazamiento
Con mi Gomas 48K, hasta el mismo infierno!!! :twisted:
Avatar de Usuario
Popopo
Hermano de Lucifer
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

Mensaje por Popopo »

Gomas48K escribió: 12 Feb 2022, 05:09 Nunca he trabajado con 74HC595, pero la verdad, creo haber visto en algún sitio, que hasta que no cambiaba de estado al refrescar el registro, mantenía la misma salida.
Estoy buscando y no encuentro donde lo vi... seguiré buscando, para confirmarlo... porque el historial del navegador, pppuuuffff... es una locura, tantas paginas visitadas buscando información, es imposible.
De todas formas, para poder comprobarlo en la practica, en arduino.... se puede hacer un bucle (de un bit de 74HC595) a una entrada del arduino y asignar un registro, para comprobar si mantiene la salida o hay fluctuaciones de refresco???? porqué sería la prueba definitiva.
Este vídeo está bastante bien, se ven casos prácticos y explica algunas cosas interesantes, por si te vale como referencia en general de este método.
vídeo de Registro desplazamiento
Hola Gomas48K,
El problema viene a ser el tiempo y dinero.
Comprobarlo por práctica no puedo al menos que lo compre, porque no lo tengo. He pillado ya algunos elementos de los que hemos hablado en este hilo para probarlos, pero no llegan hasta Marzo... con suerte, sin contar el desembolso que supone ir probando elementos que puedan ir bien y luego no valgan.

Lo que nos interesa del elemento o solución que podamos poner (que sea sobretodo económica) es que mantenga los valores anteriores en todo momento si este no cambia.
Es una locura claro, indagar por los historiales, casi mejor es hacer búsqueda nueva buscando esa info, si te es posible sería un ahorro de tiempo importante.

Gracias :)
Avatar de Usuario
Gomas48K !Sinclair 1
Aspirante a demonio
Aspirante a demonio
Mensajes: 271
Registrado: 16 Jun 2021, 06:08
Ubicación: España
Has thanked: 716 times
Been thanked: 216 times

Re: Test de Memorias 4116, 4164 y 41464 - NEWS

Mensaje por Gomas48K »

Popopo escribió: 12 Feb 2022, 14:48
Hola Gomas48K,
El problema viene a ser el tiempo y dinero.
Comprobarlo por práctica no puedo al menos que lo compre, porque no lo tengo. He pillado ya algunos elementos de los que hemos hablado en este hilo para probarlos, pero no llegan hasta Marzo... con suerte, sin contar el desembolso que supone ir probando elementos que puedan ir bien y luego no valgan.

Lo que nos interesa del elemento o solución que podamos poner (que sea sobretodo económica) es que mantenga los valores anteriores en todo momento si este no cambia.
Es una locura claro, indagar por los historiales, casi mejor es hacer búsqueda nueva buscando esa info, si te es posible sería un ahorro de tiempo importante.

Gracias :)
Hola Popopo,
Tienes toda la razón.... te lías a comprar cosas para hacer pruebas y cuando te quieres dar cuenta, te ha salido por un "pico"

He estado mirando el datasheet de Texas y otros... y no aparece esa información y a saber si donde lo haya visto (o crea haberlo visto) sea verdad.

A ver si tengo alguno en la caja de antiguos proyectos o lo compro y salimos de dudas.

Gracias a ti!!!! ;)
Con mi Gomas 48K, hasta el mismo infierno!!! :twisted:
Avatar de Usuario
Popopo
Hermano de Lucifer
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

Mensaje por Popopo »

Gomas48K escribió: 12 Feb 2022, 18:00 He estado mirando el datasheet de Texas y otros... y no aparece esa información y a saber si donde lo haya visto (o crea haberlo visto) sea verdad.
A ver si tengo alguno en la caja de antiguos proyectos o lo compro y salimos de dudas.
No te pilles nada,
En tienda normal puede salir caro, por AliEx... tarda un webo y tampoco es que sea barato en algunos casos.
Una de las fuentes que uso es buscar ejemplos de aplicación por Y2B, hay mucha moralla, cierto, pero en algunos ejemplos se explica y veo lo que busco, aunque no sea dicho y se muestre de forma indirecta.
Avatar de Usuario
cacharreo !Sinclair 1
Moderador
Moderador
Mensajes: 5793
Registrado: 09 Ago 2019, 10:17
Ubicación: /home/cacharreo/
Has thanked: 1202 times
Been thanked: 2780 times
Contactar:

Re: Test de Memorias 4116, 4164 y 41464 - NEWS

Mensaje por cacharreo »

Popopo escribió: 09 Feb 2022, 22:42la primera aparente (tengo que seguir rellenando) es que el GND por ahora todas las memorias los tienen en el mismo Pin local, es decir, es su último PIN el cual en posición por ahora es la misma en el ZIF, es decir, todos los GND por ahora están en el primer pin de la derecha del ZIF, o lo que es lo mismo, es el último PIN del ZIF, con lo que si es así... nos ahorramos un PIN del Nano, pues ese pin estaría siempre a GND.
Popopo escribió: 10 Feb 2022, 20:12GND. Es el mismo para todos los integrados, ya nos hemos ahorrado otro pin.
Exacto y si se usa un ZIF de 20 pines se puede ahorrar teóricamente otro pin del Nano en el que correspondería al pin 10 del ZIF que en todas las memorias queda desconectado excepto en la 44256 que corresponde a Vcc y por tanto no es necesaria la transferencia de datos.

Por otro lado y de entrada evaluaría otras propuestas diferentes a los multiplexores, el protocolo I2C está limitado en velocidad (¿1.7MHz?), se complicaría un poco la protección de los pines, se perderían unos 2, 3, 4 pines en las señales de control del multiplexor y limitaría la velocidad de los tests porque computacionalmente no tiene el mismo coste escribir/leer de un puerto I/O directamente que a través del multiplexor, como mínimo consume el doble de tiempo.

El MCP23S17 es un expansor de 16 puertos I/O, usa el protocolo SPI, el límite teórico en cuanto a velocidad rondaría los 10MHz, añadiría 12 pines extra (=16-4) y condicionaría la velocidad de los tests por los mismos motivos explicados pero ahora es complicado de encontrarlo y supone un importante coste extra (de alrededor de un euro se ha ido a los 4-6€) que se ha elevado con la escasez en el mercado.
Popopo escribió: 11 Feb 2022, 17:23La base... modulación de una señal analógica para obtener su equivalente digital. Se usa esta filosofía en modulación de señales por constelación, etc etc... corto, porque igual patino :X
El caso, varios pulsadores de ejemplo, cada uno con una resistencia diferente, un divisor de tensión, la entrada analógica según el valor del divisor de tensión interpreta un interruptor => comando/acción.

No he podido terminar de pulirlo porque me he puesto a averiguar porqué diablos no me dice el valor de la resistencia exacta que pongo en la prueba (que ni me hace falta, pero me he quedado viendo a ver porqué).

El esquema cutre:
Esto mismo lo hemos hablado antes al menos en un par de ocasiones referenciando el sistema que utiliza mi proyecto de 2021, XDAC, un conversor analógico-digital basado en una escalera R-2R. Con esta escalera y un conjunto de resistencias adecuado se pueden codificar los bits que se deseen, cada puerto analógico de Arduino podría proporcionar hasta 10 bits de profundidad, es decir, el equivalente a leer 10 microinterruptores. Al final y básicamente se están convirtiendo los valores de las entradas a un valor analógico con, p.e la escalera R-2R, y después el software deberá convertirlos en valores digitales. Es rápido y si es posible realizar una calibración adecuada del Nano, fácil y seguro.

Imagen
Popopo escribió: 12 Feb 2022, 18:13En tienda normal puede salir caro, por AliEx... tarda un webo y tampoco es que sea barato en algunos casos.
Con el año nuevo chino unas 2 semanas, cuando vuelvan al ritmo de trabajo normal unos 9 o 10 días.
Última edición por cacharreo el 30 Mar 2022, 07:34, editado 7 veces en total.
© cacharreo
Avatar de Usuario
Popopo
Hermano de Lucifer
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

Mensaje por Popopo »

cacharreo escribió: 12 Feb 2022, 18:30
Esto mismo lo hemos hablado antes al menos en un par de ocasiones referenciando el sistema que utiliza mi proyecto de 2021, XDAC, un conversor analógico-digital basado en una escalera R-2R. Con esta escalera y un conjunto de resistencias adecuado se pueden codificar los bits que se deseen, cada puerto analógico de Arduino podría proporcionar hasta 10 bits de profundidad, es decir, el equivalente a leer 10 microinterruptores. Al final y básicamente se están convirtiendo los valores de las entradas a una valor analógico con, p.e la escalera R-2R, y después el software vuelve a convertirlos en valores digitales. Es rápido y si es posible realizar una calibración adecuada del Nano, fácil y seguro.
¿? Pero entonces, ¿por qué he estado mirando y buscando soluciones para el control?
Bueno, no es importante ya, el caso es que tienes la experiencia para implementar algo así, he adquirido la experiencia y se que se puede hacer porque lo he probado también, pues un problema menos.
Nos queda ver como ahorrar algunos pines de señales o direccionamiento. El tema de alimentación, el software que he empezado de nuevo para hacerlo particular a este proyecto y con eso, ya tendríamos el tester de memorias.

Pufff la memoria me la debe estar jugando de nuevo, me leeré de nuevo todo el hilo por si acaso se me haya pasado otra cosa, no sea que invierta de nuevo tiempo en algo que ya tiene solución
Avatar de Usuario
Popopo
Hermano de Lucifer
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

Mensaje por Popopo »

cacharreo escribió: 12 Feb 2022, 18:30 Con esta escalera y un conjunto de resistencias adecuado se pueden codificar los bits que se deseen, cada puerto analógico de Arduino podría proporcionar hasta 10 bits de profundidad, es decir, el equivalente a leer 10 microinterruptores.
¿adecuado? ¿qué valores por tanto serían? es porque me voy a poner a soldar un teclado y para dejarlo ya fijo, con sus diez entradas, aunque luego use solo 2 ó 3.
cacharreo escribió: 12 Feb 2022, 18:30 Es rápido y si es posible realizar una calibración adecuada del Nano, fácil y seguro.
¿calibración adecuada? los valores deben estar pensados para que cualquiera se los monte luego por su cuenta o cuando se reparta la tirada no complicarse uno soldando o tocando kits. ¿a qué te refieres con calibrar?
Si ya tienes el circuito hecho (el que muestras) los valores ya habrán sido probados. ¿no?

Como ventaja del circuito que me muestras veo que no se come una tensión completa en ningún momento. Se que es lo mismo que el que he propuesto, pero trato de hacerme la composición de montaje para la protoboard o la placa que voy a soldar, alguna ventaja entre uno u otro. Bueno, realmente luego eso puede colocarse como quiera, pero va a depender de la escala elegida en el software que pueda interpretar bien las señales. si es que son dos tres pines (uno del Nano), uno puede colocar pulsadores en plaquita aparte si quiere posteriormente. Me monto uno para poder seguir con lo siguiente.
Avatar de Usuario
cacharreo !Sinclair 1
Moderador
Moderador
Mensajes: 5793
Registrado: 09 Ago 2019, 10:17
Ubicación: /home/cacharreo/
Has thanked: 1202 times
Been thanked: 2780 times
Contactar:

Re: Test de Memorias 4116, 4164 y 41464 - NEWS

Mensaje por cacharreo »

Popopo escribió: 12 Feb 2022, 19:35Pero entonces, ¿por qué he estado mirando y buscando soluciones para el control?
Para encontrar algunas mejores o para tener más opciones.
Popopo escribió: 12 Feb 2022, 21:38¿adecuado? ¿qué valores por tanto serían? es porque me voy a poner a soldar un teclado y para dejarlo ya fijo, con sus diez entradas, aunque luego use solo 2 ó 3.
Los valores son los que quieras siempre que uno sea el doble que el otro, por ejemplo, 10k (R) y 20k (2R).
Popopo escribió: 12 Feb 2022, 21:38¿calibración adecuada? los valores deben estar pensados para que cualquiera se los monte luego por su cuenta o cuando se reparta la tirada no complicarse uno soldando o tocando kits. ¿a qué te refieres con calibrar?
En el momento en que escoges usar un pin analógico como tal es necesario calibrarlo para que los valores leídos puedan interpretarse con certeza absoluta. Aquí dejo unos ejemplos que muestran el problema,

https://docs.arduino.cc/built-in-exampl ... alibration
https://www.web-robotica.com/arduino/co ... emperatura
https://arduino.stackexchange.com/quest ... duino-nano
© cacharreo
Avatar de Usuario
Popopo
Hermano de Lucifer
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

Mensaje por Popopo »

He estado haciendo cálculos con el esquema que me has puesto,
Al estar en la rama de la masa la variación de la carga para el divisor de tensiones, el margen entre una tensión y otra es muy escaso, ahí podría tener problemas para luego diferenciar.
Al menos que me haya equivocado, según entiendo la tensión en el nudo de cada Q con la rama principal (configuración estrella), la corriente (en teoría) es 0, y la tensión quee hay desde cada nudo a Vout es la misma que la del propio nudo.

Para Q7 Vout = 4'05
para Q6 Vout = 4
para Q5 Vout = 3.89...
Es muy poco,
Con el reparto de resistencia calculado a repartir tensiones para 5 voltios y 5 pulsadores, (ejemplo de la propia página) las tensiones son:
R = 10 Vout 1.24
R = 3.9 Vout 2.29
R = 2.2 Vout 3
...
Con esta otra configuración el margen es genial, y no hace falta calibración alguna. No se trata tampoco de un equipo de medida, tampoco es posible realizarla porque no tiene sentido que el usuario este pulsando cada boton un rato o realizar el proceso, cada vez que lo quiera usar. Me parece.

La parte buena de tu esquema de resistencias, es que son todas las resistencias de dos valores, sin complicación, parte mala (excepto si me he equivocado al calcular) que la diferencia de tensión es muy poca entre una entrada y otra.

La parte buena de mi esquema o el de la web, es que el rango queda mejor dividido y la diferencia entre saltos es muy holgada. La parte mala que implica usar resistencias de diferentes valores haciendo algo mas engorroso de reunir materiales.
Responder

Volver a “Proyectos de hardware abiertos”