Autor Tema: Memorias EEPROM i2C Vs SPI  (Leído 10428 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado joker53

  • PIC10
  • *
  • Mensajes: 31
Memorias EEPROM i2C Vs SPI
« en: 26 de Octubre de 2007, 21:18:26 »
Hola amigos como estan ?...espero que bien....
Tengo que empezar a trabajar con memorias externas con un pic 16f628 y/o 18f2550 he estado leyendo de las memorias i2c y veo quetambien hay memorias SPI y queria preguntarles cuales son las diferencias mas notorias....

Desde ya les agradezco.

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Memorias EEPROM i2C Vs SPI
« Respuesta #1 en: 26 de Octubre de 2007, 22:53:18 »
Hola amigos como estan ?...espero que bien....
Tengo que empezar a trabajar con memorias externas con un pic 16f628 y/o 18f2550 he estado leyendo de las memorias i2c y veo quetambien hay memorias SPI y queria preguntarles cuales son las diferencias mas notorias....

Desde ya les agradezco.

El tamaño.  En SPI tenes hasta memorias de Decenas Megas y si mal no recuerdo hasta Gigas (usando memorias SD por ejemplo).

A mi modo de verlo i2c es más apropiado para cuando tenes varios IC en una misma placa y tus requerimientos de almacenamiento de datos no son muy altos.  I2C en su mismo protocolo da mucha robustez y señalización , con SPi tenes que hacer todo vos.

Saludos
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: Memorias EEPROM i2C Vs SPI
« Respuesta #2 en: 27 de Octubre de 2007, 09:36:26 »
Coincido con Maunix, aunque hay un truco cuando ya tienes tu placa hecha con memorias I2C y te quedas corto... :lol:
Consiste en "apilar" los integrados uno sobre otro y conectar las patillas del bus I2C y las de alimentacion mediante soldadura, y las de seleccion de direccion ir haciendo las combinaciones necesarias.

Normalmente en memorias que usan I2C es normal que se puedan conectar en tre 4 a 8 dispositivos del mismo tipo.

Hacer esto con SPI es mas complejo, porque ademas consume mas pines I/O y un pin para el Chip Select por cada dispositivo SPI.
Por eso tambien las capacidades de las memorias SPI normalmente son mas grandes... :mrgreen:
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado psykhon

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 823
Re: Memorias EEPROM i2C Vs SPI
« Respuesta #3 en: 27 de Octubre de 2007, 09:36:42 »
si estas arrancando i2c es mas complejo y por eso seria lo recomendado para que aprendas bien, spi es un protocolo super simple   
No, no se lo que estoy haciendo. Nadie sabe que estoy haciendo. Por eso se llama "Investigacion".

Desconectado jdaniels

  • PIC10
  • *
  • Mensajes: 49
Re: Memorias EEPROM i2C Vs SPI
« Respuesta #4 en: 27 de Octubre de 2007, 09:57:48 »
Bueno yo no he utilizado el SPI pero I2C si y me parece super facil, claro cuando uno esta empezando en algo nuevo lo ve dificil y complicado pero I2C no tiene nada del otro mundo

Desconectado joker53

  • PIC10
  • *
  • Mensajes: 31
Re: Memorias EEPROM i2C Vs SPI
« Respuesta #5 en: 27 de Octubre de 2007, 10:15:28 »
Muchas gracais, con esto puedo hacerme un buen panorama, respecto de las velocidades de lectura, andamos en los mismo valores ?

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1297
Re: Memorias EEPROM i2C Vs SPI
« Respuesta #6 en: 27 de Octubre de 2007, 13:12:45 »
Otra gran ventaja de las memorias con bus SPI es la velocidad del bus, que puede ser de hasta 20MHz, a diferencia del I2C que su maxima velocidad es de 1MHz.
La principal desventaja es la cantidad de hilos en el bus para su conexion con varias memorias.

Saludos.

Elreypic.

Desconectado jdaniels

  • PIC10
  • *
  • Mensajes: 49
Re: Memorias EEPROM i2C Vs SPI
« Respuesta #7 en: 28 de Octubre de 2007, 12:08:33 »
Como se hace para que el bus en SPI vaya tan rápido (20Mhz) elreypic2? por el cristal o alguna configuración?

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Memorias EEPROM i2C Vs SPI
« Respuesta #8 en: 29 de Octubre de 2007, 13:50:09 »
Entiendo que elreypic se refiere al límite teórico del protocolo; en la práctica con un PIC no puedes llegar a transmitir a 20MHz.
Lo más rápido que he visto correr el SPI es a 10MHz con un PIC (lo hace GTPUSB PLUS con su expansor de puertos MCP23S17).

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1297
Re: Memorias EEPROM i2C Vs SPI
« Respuesta #9 en: 29 de Octubre de 2007, 14:43:48 »
Efectivamente como lo menciona nocturno, la velocidad maxima posible con un PIC es de solo 10MHz. Pero con el uso de otro tipo de microcontroladores puedes lograr mas velocidad. Cabe hacer mencion que esta velocidad esta definida por el fabricante de la memoria. Es decir no todas las memoria SPI logran esta velocidad.
Existen algunas memorias Flash seriales de la firma ATMEL cuyo bus SPI soporta hasta 50MHz.

Saludos.

Elreypic.

Desconectado jdaniels

  • PIC10
  • *
  • Mensajes: 49
Re: Memorias EEPROM i2C Vs SPI
« Respuesta #10 en: 29 de Octubre de 2007, 23:19:30 »
Ok y la normal por asi decirlo cual seria? teniendo un PIC de serie 18

Desconectado joker53

  • PIC10
  • *
  • Mensajes: 31
Re: Memorias EEPROM i2C Vs SPI
« Respuesta #11 en: 30 de Octubre de 2007, 19:37:05 »
Con CCS y un 16f628 puedo usar las funciones de SPI ?....

Desconectado psykhon

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 823
Re: Memorias EEPROM i2C Vs SPI
« Respuesta #12 en: 30 de Octubre de 2007, 20:02:33 »
Bueno yo no he utilizado el SPI pero I2C si y me parece super facil, claro cuando uno esta empezando en algo nuevo lo ve dificil y complicado pero I2C no tiene nada del otro mundo
i2c es facil hasta que te toca debuguearlo, ahi agarrate
No, no se lo que estoy haciendo. Nadie sabe que estoy haciendo. Por eso se llama "Investigacion".

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Memorias EEPROM i2C Vs SPI
« Respuesta #13 en: 31 de Octubre de 2007, 11:43:20 »
Ok y la normal por asi decirlo cual seria? teniendo un PIC de serie 18

Si mal no recuerdo, funcionando a 40MHz podrias hacerlo andar a unos 10Mbps.  Funcionando a 20Mhz, 5Mbps

Como regla general los dispositivos SPI suelen soportar grandes velocidades (20Mbps, 50Mbps, etc) , mucho más que las normales de un microcontrolador de baja gama pero hay que pensar que también están pensadas para ser usadas por poderosos DSPs y microcontroladores y alta gama.

Saludos
« Última modificación: 31 de Octubre de 2007, 11:45:49 por maunix »
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado Darukur

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 464
    • Informacion, recursos y ejemplos para desarrollos con microcontroladores
Re: Memorias EEPROM i2C Vs SPI
« Respuesta #14 en: 31 de Octubre de 2007, 12:04:56 »
Hola amigos como estan ?...espero que bien....
Tengo que empezar a trabajar con memorias externas con un pic 16f628 y/o 18f2550 he estado leyendo de las memorias i2c y veo quetambien hay memorias SPI y queria preguntarles cuales son las diferencias mas notorias....

Desde ya les agradezco.
Hola Joker53, por donde lo mires es mucho mejor una memoria SPI.
  • El estandar SPI es mucho mas facil de codificar en un PIC18 contra el I2C
  • Las velocidades de transferencia en I2C estan en 400Khz (recomendado) mientras que en SPI podes ir a lo que te de el micro (mas de 10Mhz seguro)
  • El costo por Kbyte es mucho menor en SPI, ya que una memoria de 1giga SD vale 15 dolares contra casi 8 dolares una memoria de 128Kbytes I2C
  • Es mas robusto el protocolo SPI, en arquitectura y rechazo al ruido
  • El SPI puede transmitir y recibir al mismo tiempo mientras que en I2C o recibis o transmitis
  • Lo unico que veo del I2C como pro es el uso compartido del canal no requiere mas lineas mientras que en SPI por cada dispo requeris un CS

Saludos espero que sirva  :-)
El que no sabe lo que busca no entiende lo que encuentra.
Mi Pagina Web:  http://www.sistemasembebidos.com.ar
Mi foro:             http://www.sistemasembebidos.com.ar/foro/


 

anything