Intercambiar SPI con I2C en un PIC

Estoy haciendo un proyecto con un PIC18F452 que tiene un módulo MSSP que utilizo para comunicarme con dos dispositivos I2C pero ahora surgió un rediseño que me obliga a utilizar un tercer dispositivo SPI. ¿Es posible conectar de igual forma el dispositivo SPI al bus I2C y desactivar el I2C y activar el SPI cuando necesite comunicarme con el SPI o existe alguna otra solución como un convertidor I2C-SPI o algo parecido?. Agradezco una respuesta.
 
OK, me gusta esa respuesta... lo que me inquietaba realmente era la circuitería ya que I2C lleva unas resistencias en Pull up en SDA y SCL mientras que SPI es una incertibumbre para mi porque no lo utilizo, gracias por tu respuesta.
 
Depende de cada uno y del programador (en algunas ocasiones, más de lo que se piensa, del material que encuentres)
Si el programa es decente funcionan casi a la par (a mi entender: mejor el SPI, es más robusto a interferenias y se queda menos colgado)


Ahora bien: ¿que idioma es el mejor? ¿Español, Chino, Japones, Ingles...? Viene a ser algo parecido... depende de a quien le preguntes.
 
Con SPI te toca utilizar más pines a la hora de hacer un bus y además no hay ACK así que si el dispositivo esclavo deja de recibir no lo podrás saber por lo méritos de la interfaz. En conclusión depende de lo que vayas a hacer, de lo que cueste y de te compliques jejeje...
 
Bueno, me surge otra inquietud acerca del tema: He empezado a utilizar MikroC pero vengo de usar MPLAB C18 donde desactivar el I2C para activar el SPI es una muy sencilla pero con el MikroC no he encontrado la manerla de hacerlo. Alguien tiene una luz? Gracias.
 
halvarezo dijo:
Con SPI te toca utilizar más pines a la hora de hacer un bus y además no hay ACK así que si el dispositivo esclavo deja de recibir no lo podrás saber por lo méritos de la interfaz. En conclusión depende de lo que vayas a hacer, de lo que cueste y de te compliques jejeje...

¿ACK o el SCL?
 
ACK es la abreviatura de Acknowledge, osea una confirmación de recibido, es una señal o un código o algo que permita saber al maestro que se ha recibido lo que envió. Se usa ampliamente para describir las características de un sistema de comunicación.
 
yo estoy en una situacion algo similar a la de halvarezo, solo que yo utilizo el 18f4550 con CCS y este micro comparte pines entre I2C, SPI y RS232, protocolo que estoy utilizando para otra comunicacion...

ahora bien, yo he encontrado una solucion que me ha dejado tranquilo hasta el momento la cual consta basicamente de realizar alguna de las dos comunicaciones por hardware y la otra por software redireccionando los puertos a otros que tenga disponibles.

Si bien he tenido algunos problemas para redireccionar el SPI, no me da problemas el redireccionar el I2C o el RS232 cuando lo necesito, es mas... de este modo se pueden crear varios puertos RS232 (o i2c) segun sea necesario.


Espero te sirva mi respuesta.
 
Atrás
Arriba