Revisé el siguiente enlace que dice que u-boot admite tres tipos de tecnología flash
http://www.stlinux.com/u-boot/flash
1. Nand 2. NOR 3. Flash serie SPI
Me gustaría saber por qué se elige SPI para usarse como dispositivos flash, no como I2C.
¿Por qué no podemos tener tecnología flash basada en I2C?
Hay tres razones por las que siento que SPI es una mejor opción que I2C en la mayoría de los proyectos.
SPI se puede sincronizar más rápido que I2C. He usado SPI hasta 50Mhz en circuitos integrados que admiten esa velocidad, mientras que la velocidad máxima de I2C es de 3,4Mhz.
Dado que I2C es una línea de datos 'compartida', el maestro debe liberar el control de la línea de datos para que el esclavo responda. He estado quemado en varios proyectos antes donde el maestro liberó el control y el IC esclavo procedió a bloquearse (principalmente debido al ruido en la línea). Ahora estás en un estado en el que ambos lados están esperando que el otro responda y necesitas reiniciar todo. Muy frustrante. Con SPI, deja de lado todas las líneas de datos compartidos porque cada línea tiene una dirección dedicada.
Si tiene una diferencia de nivel de voltaje entre sus circuitos integrados (por ejemplo, 3,3 V frente a 5 V), los traductores de voltaje unidireccionales son más fáciles de manejar que el tri-estado necesario para I2C.
En una nota al margen, me resulta más fácil depurar SPI si está utilizando las líneas de selección de chip, ya que puede usar esa línea para activar su alcance. Básicamente, todo se reduce a que, si tiene los pines de repuesto, use SPI y ahórrese el dolor de cabeza. Si, por otro lado, solo tiene 2 pines, está atascado con I2C. Pero en serio, agregue una línea de reinicio separada a su IC esclavo I2C, para que tenga un medio de recuperación de un bus colgado.
Banda ancha. I 2 C alcanza un máximo de 3,4 MHz. SPI no suda a 50MHz. Obviamente, se requiere un enrutamiento inteligente si desea alcanzar esa velocidad, pero es posible.
Además, múltiples canales. SPI puede funcionar en "modo cuádruple", donde se transfieren 4 bits cada ciclo en lugar de 1. Esto da como resultado una velocidad de datos de decenas de megabytes por segundo.
Amit Singh Tomar
Super gato
Pedro
Super gato
Super gato