Que tipo de memoria usar

oye eidtech

ya leí sobre eso y aún así no consigo comprender nada

soy nuevo en esto

¿como se envía un bit? ¿solo con poner a 1 la salida?
¿como mandas la señal de reloj del bus?

alguien que tenga algun manual facil
 
Hola, estaría necesitando que me ayudaran a resolver un problema. En el circuito que estoy diseñando recibo datos desde una computadora por el RS232 a un ATmega16 a 115.200bps. El tema es que esa información la tengo que enviar por uno de los puertos del micro a una velocidad mayor, por lo que necesitaría primero guardar la información y luego enviarla.

Mi duda es la siguiente, puedo conectarle al ATmega16 una EEPROM externa que guarde esta información y luego me permita enviarla?? Si esto es factible, tendría que utilizar una memoria con comunicación SPI, no es cierto??

Muchas gracias.
 
Cierto.... aunque si solo necesitas reenviar los datos a una velocidad mayor yo los guardaria en RAM, ya que las memorias EEPROM tienen un limite maximo de escritura de datos.... excediendo ese limite dejan de funcionar...
 
Gracias por la respuesta. Pasa que no encuentro en el mercado memorias RAM con comunicación SPI, hoy voy a comprar y veo si consigo. Sino, tendré que poner un zócalo y cambiar la eeprom externa cada tanto.
 
Gracias, ahora busco si consigo algún rtc con la cantidad de RAM que necesito, serían 32K mínimo.

Había programado todo para la comunicación SPI y ahora no consigo el 25LC256, me puse a leer de I2C para usar la 24LC256 pero la verdad que es bastante más complicado y estoy necesitando solucionar este tema.
 
Ni por asomo, en un RTC pueden haber 32 bytes.
Dallas tiene RAM no volátil pero de acceso paralelo vía bus "normal" con y sin RTC, yo los usaba.
 
Gracias Scooter. Me fijo entonces si consigo alguna RAM de dallas de las que me comentás, pasa que no creo que me alcancen los puertos del atmega16 para usarla si tengo 16 bits de direccionamiento y 8 de datos.
 
Gracias por la sugerencia, pero la verdad que no tengo idea como podría implementarla. No te pido que me lo soluciones, pero podrás ayudarme para ver por donde empezar a investigar para realizarlo?
 
Siguiendo la opinión de Scooter, puedes recurrir a una RAM (no necesariamente no volátil) como por ejemplo una 62256 (32KB). Para ahorrarte líneas del micro puedes recurrir a registros de corrimiento para el bus de datos y otros para el de dirección y unas líneas aparte para el bus de control. El circuito quedará grande pero será de una velocidad mayor que si utilizases algúna EEPROM externa.
Saludos
 
He estado buscando y no encuentro ram SPI o I²C de mas de 1kB, y poner 32 chips me parece un pasón.
Para las memorias paralelo si vas a hacer un buffer secuencial puedes usar un contador para el bus de direcciones y con dos líneas lo controlas (reset y clock) y el bus de datos ya al gusto, o directo o con un registro de desplazamiento.

Corrijo, microchip tiene para todos los gustos:
http://www.microchip.com/pagehandler/en-us/products/memory/serialSRAM/home.html
 
Última edición:
Gracias por las sugerencias, no había entendido antes a Scooter. Ustedes dicen de usar un 74HC164 para convertir la salida serie a paralela y de esa manera usar la memoria RAM 62256, luego para la lectura un 74HC165. Ahora me pongo en tema para implementarlo, muchas gracias, si puedo hacerlo la verdad que sería lo ideal.

Igual en principio lo que no entiendo es lo siguiente, necesitaría tres 74HC164 para convertir a paralelo la dirección (high y low) y los datos. El tema es que los tres tendrían que estar conectados al SPI, para poder seleccionar si enviando o leyendo address high, address low o datos tendría que utilizar el pin MR, no es cierto?
 
Yo dejaría el bus de datos tal cual, el bus de direcciones si que le pondría un contador. Con reset y clock controlas toda la memoria que quieras.
 
Gracias por las sugerencias, no había entendido antes a Scooter. Ustedes dicen de usar un 74HC164 para convertir la salida serie a paralela y de esa manera usar la memoria RAM 62256, luego para la lectura un 74HC165. Ahora me pongo en tema para implementarlo, muchas gracias, si puedo hacerlo la verdad que sería lo ideal.

Igual en principio lo que no entiendo es lo siguiente, necesitaría tres 74HC164 para convertir a paralelo la dirección (high y low) y los datos. El tema es que los tres tendrían que estar conectados al SPI, para poder seleccionar si enviando o leyendo address high, address low o datos tendría que utilizar el pin MR, no es cierto?

Así es, 3 74HC164, uno para el bus de datos, otros dos para 16 bits de dirección y también otro 74HC165 para la lectura de datos.
Siguiendo esta estructura con la señal de reloj decidirás que registro "captura" el bit enviado por la línea de datos común a TODOS los registros.

Esta implementación tiene como ventaja que solo se necesitan 16 pulsos de reloj para fijar una dirección cualesquiera que sea (acceso aleatorio) y 8 pulsos más para los datos, a diferencia de la propuesta de los contadores que propone el amigo Scooter que demanda una cantidad variable de pulsos en función de la dirección donde se desea leer/escribir haciendo el sistema mucho más lento.
Aunque si las lecturas/escrituras serán sucesivas la idea de los contadores es más propicia y rápida
 
Atrás
Arriba