corregime si le erré :
usando el serial a 9600 baudios , esto seria 1200 bytes por segundo. Si necesito transferir 200.000 bytes , divido 200.000 por 1200 y me da la cantidad de
segundos en transferir esa cantidad : 167 segundos. A eso hay que sumarle los 5 mseg de cada maniobra de escritura sobre una eeprom normal:
200.000 *5 mseg = 1 millon de milisegundos , o sea 1000 segundos mas , en total 1167 segundos , que divididos por 60 me da 19,47 minutos( no 30 )
pero igual es una enormidad de tiempo.
A ver si nos entendemos. Si comparamos una memoria SPI debemos compararla con otra SPI, no se porque hablas de 9600 baudios.
Una memoria de 256Kbits tiene 32KBytes x 8 bits. Debes transmitir entonces 32KBytes.
Las memorias en cuestión SPI o I2C aceptan velocidades de 100Kbps, 400Kbps o 1Mbps.
Si tienes una memoria de 32KBytes, una típica i2c, tiene un buffer de 128 bytes. La demora está en el tiempo de escritura, no en la transferencia.
En este modo, para escribir 128 bytes, necesitaremos aproximadamente 132 bytes de comunicación. El i2c necesita unos 10 flancos de reloj para completar su tarea. Esto hace
132 * 10 bits por byte / 100^3 = 13,2 mseg.
El tiempo en escribir esos 128 bytes será entonces
Tenvío + Tescritura = 13,2 + 5 = 18,2 mseg
Si quieres trasnferir 32Kbytes te dará 32Kbytes / 128 bytes / transmision = 256 transmisiones
256 transmisiones * 18,2 mseg = 4,65 seg // 32768 bytes en 256 transmisiones de 128 bytes.
Si quieres realmente transmitir 200 KBytes, suponiendo que tienes varias memorias de 32KBytes, esto te dará
200KBytes / 32KBytes por memoria = 7 integrados de memoria
Tmemorias = Tmemoria x 7 = 4,65 seg x 7 memorias = 32,5 segs.