Por razones inconfesables estaba loco por poder disponer de una razonable cantidad de memoria no volátil para la RRBOARD2.
No, no me presionéis para que os hable del por qué de esto, no pienso hablar de ello, ni pienso deciros que en mi trabajo están mas que dispuestos a comercializar algún que otro invento mío.
Como véis en este asunto soy una tumba. Mis labios están sellados.
El caso es que solicité a varios fabricantes, y obtuve gracias a su magnanimidad, unos
samples tanto de RAM's no volátiles como de EEPRON's I2C y SPI.
Y he empezado con las de
Microchip 24AA1025, de las que los gentiles señores de Microchip han tenido la gentileza de enviarme tres unidades en encapsulado DIP. Aquí téneis su
DatasheetEstos IC's disponen de
1024 Kbits cada uno por lo que tres de ellos son 1024 * 3 / 8 =
384 Kbytes de memoria EEPROM accesibles vía I
2C
Para direccionar de cada uno de ellos he optado por conectar vía hardware las siguientes direcciones:
111 para IC1, 110 para IC2 y 101 para IC3. Si tuviesemos IC4 podríamos usar la dirección 100.
Con todo ello he realizado el siguiente diseño:
Como podéis ver dispone del correspondiente conector
CON-ML10 RR2-Compatible con algún detalle adicional.
El
16F877 tiene por hardware la conectividad I
2C, SCL y SDA, por los pines
RC3 y RC4 mientras que el
18F4550 los tiene por los pines
RB0 y RB1. Por este motivo eran distintos los pines a usar si era uno u otro el PIC, y por ello el puerto, utilizado.
Para solucionar esto he añadido los Jumpers
JP1-PB y
JP2-PC y así poder seleccionar qué pines vamos a utilizar para el I
2C.
Como se dá el caso de que si usamos el 18F4550 que tiene el I
2C por el PORTB podemos utilizar las
Pull-Ups internas o que por el contrario no podamos activarlas y tengamos entonces que proveerle al bus I
2C de esas
Pull-Ups conectadas a Vcc he añadido también las dos resistencias y su correspondiente Jumper
JP3-PU para poder conectarlas o desconectarlas según nuestra necesidad.
Tenemos que tener en cuenta también que
otros dispositivos I
2C pueden estar conectados al mismo bus y pueden ya o no disponer de sus propias Pull-Ups (Ver
RTC)
El esquemático se convierte en el siguiente PCB:
Bueno, y ya está bien por ahora. Mañana más.