Necesito saber como conectar dos eeprom en cascada

Muy buenas a todos y espero que este año sea de mucho provecho y exito para todos y esta comunidad. Tengo una duda, estoy utilizando memorias EEPROM 24LC1025 y quiero conectarlo en cascode. Me gustaría si alguno de uds. me puede facilitar o explicar como realizar dicha conexión. Voy a usar protocolo I2C y lo voy a conectar a un pic 16f877A.
 
Simplemente conecta los pines A0 y A1 de cada CI a diferentes combinaciones de GND y VCC. Por ejemplo:

IC1: A0 = 0, A1 = 0;
IC2: A0 = 1; A1 = 0;
IC3: A0 = 0; A1 = 1;
IC4: A0 = 1, A1 = 1;

Despues para seleccionar un CI determinado solo debes enviar el correspondiente valor para A0 y A1 (recuerda que A2 debe estar siempre conectado a VCC) y para seleccionar el bloque (de 512KBytes) alto o bajo de cada CI, debes tambien definir el valor de B0.

Saludos
 
Ok gracias por la respuesta hermano, pero no logro ver lo que me quieres decir , tienes una imagen de ejemplo o un link para lograr ver lo que me dices.

eeprom.jpg

En este ejemplo, las EEPROM estan configuradas para habilitar operaciones de escritura (WP = 0). Esto puede cambiar dependiendo de tu configuracion. RC3 y RC4 van conectados al I2C del micro.

Saludos
 
Gracias hermano de verdad muchas gracias agradecido 100% cuando termine mi proyecto de grado lo compartire con uds. para que observen la gran ayuda que me han dado de verdad, muy pero muy agradecido.
 
Carferper segun tengo entendido se ponen unas resistencias en los puertos como la siguiente manera: (ademas de la conexcion que sugieres)

eeprom_example.png


wsanchez
ademas de hacer la conexion debes direccionar en tu codigo la memoria que deseas accesar.
 
segun tengo entendido se ponen unas resistencias en los puertos como la siguiente manera:

No pude ver la imagen del enlace que colocaste, pero supongo que hablas de las resistencias "pull-up" que se deben conectar en las lineas SCK y SDA. Efectivamente esa es la recomendacion de Microchip para estos dispositivos. Tambien recomiendan colocar un condensador de 0.1uF entre VCC y GND.

No los inclui en el diagrama pues asumi que wsanchez0915 estaba al tanto de esos detalles. La nota de aplicacion AN1028 de Microchip es muy util y recominedo a wsanchez0915 leerla junto con los datasheets.

Saludos
 
Hermanos muchas gracias por la información. Ahora le explico de que trata mi circuito. Resulta que estoy trabajando con tres pic; El PIC#1 tiene conectado un keypad 4x4, Módulo GPS/DGPS y un módulo LCD de 4x20. El PIC#2 se encuentra conectado Módulo GSM/GPRS y el PIC#3 se va encontrar conectado las memorias EEPROM. La comunicación entre PIC es la del MSSP (SPI), mi pregunta es; ¿puedo usar el SPI y el I2C?, porque lo que quiero hacer es guardar una serie de coordenadas en un fichero dentro de la memoria EEPROM y luego ser descargado en la pc a través de RS232.
 
Interesante proyecto, yo optaria por un solo protocolo de comunicacion. Es decir usar solo SPI o I2C. Cada uno tiene sus ventajas y desventajas. SPI es mas sencillo y mas rapido, el unico inconveniente es que necesita mas conexiones. Hay muchas EEPROM que usan SPI. I2C es mas complejo y mas lento pero solo se requieren 2 lineas. Tanto I2C como SPI pueden ser implementadas en software y muchos micros poseen hardware dedicado, algunos incluso poseen ambos de forma independiente. Otra opcion seria usar el modulo SPI en hardware y I2C en software, o viceversa. Pero de esta manera se complica la programacion. Como ves tienes muchas opciones, la mejor opcion depende de los micros, EEPROMS y lenguaje de programacion que vas a usar. Algunos compiladores incluyen librerias que hacen el manejo de estos modulos mucho mas facil.

Saludos
 
Me pueden explicar eso de usar el SPI en hardware y I2C en Software. Por ejemplo los 3 PIC que estoy usando son 16F877A. Y lo estoy compilando en MikroC Pro con las librerias SPI y UART. Ahora le explico, el PIC#1 va a ser master y los otros dos son Slaver. Cuando el gps obtenga algun dato (cant. de satelite, coordenadas, etc.) lo mostrará en la LCD. El usuario presionará un botón para almacenar las coordenadas en un archivo de fichero que se guardará en la EEPROM y este será enviado por GSM/GPRS.
 
Si revisas la documentacion del 16F877A vas a notar que este micro tiene solo un modulo MSSP, que puede ser configurado para implementar ya sea I2C o SPI, por lo que uno de los dos protocolos debe ser implementado por software (generalmente el mas lento: I2C). En realidad es posible implementar los dos protocolos simultaneamnete en hardware pero es muy complicado y requiere muchas consideraciones especiales tanto en hardware (pues ambos protocolos comparten los pines RC3 y RC4) como en software (ya que se deben crear rutinas de configuracion que hagan el cambio de un protocolo al otro).

Cuando se implementa un protocolo por software significa que se debe realizar TODO el manejo de las señales desde cero. Es decir se debe crear rutinas de inicio, parada, datos, relog, etc. mediante programacion. Esto es diferente a usar el modulo interno, el cual hace todas estas tareas de manera transparente para el usuario, por lo que es mucho mas facil.

El compilador que usas, MikroC Pro, tiene incluidas varias librerias tanto para I2C como para SPI, las relevantes para tu caso serian: SPI, I2C, Software_SPI y Software_I2C.

Saludos
 
Atrás
Arriba