Dudas varias sobre SPI

En primer lugar, saludos a la comunidad. Espero poder aprender y compartir cosas con vosotros.
Previamente había expuesto este tema en el hilo de software, pero me parece más adecuado el de hard, así que paso a explicar las dudas que me han ido surgiendo con esto del SPI.

En primer lugar, el problemilla con mi lector de SD. Tras muchos quebraderos de cabeza, ya que no conseguía establecer comunicación, lo solventé editando la librería SD, cambiando en SD.cpp la velocidad de inicio por defecto (SPI_HALF_SPEED) a SPI_QUARTER_SPEED. ¿Esto entra dentro de lo normal, o debería funcionar sin problemas en HALF_SPEED y debo achacar el problema a mi lector, longitud de cables, SD usada...)?
También desearía conectar al SPI una tarjeta Ethernet, que en principio, por sí sola parece que funciona.
Después se me ocurrió "juguetear" con un LCD12864, usándolo en modo Serie y me dije, ¿Será posible manejarlo con el puerto SPI también? Y tras una mañana completa de pruebas, lo conseguí (aunque no sé si al final lo dejaré ahí, porque lo que es de pines de momento me sobran bastantes del Mega, pero tenía curiosidad). El caso es que me asaltaron dos nuevas preguntas, dado que de electrónica voy bastante pez:

  • ¿Cómo se conectan varios dispositivos a los pines comunes del SPI (MISO MOSI y CLK)? ¿Directamente, en paralelo, o con algún tipo de componente para evitar interferencias entre ellos?
  • ¿Hay algún límite electrónico al número de dispositivos conectados en paralelo? Concretamente, podría usar los tres citados (SD, Ethernet, LCD)?

Muchas gracias de antemano.
Saludos.

Hola,
mira en Wikipedia "Serial Peripheral Interface Bus", tienes ahí información básica, esquemas de conexiones, etc.

Gracias por contestar.
Le he echado un vistazo a la wiki, y no me ha aclarado ninguna de las dudas que refería, aunque me viene bien la información adicional sobre implementación en arduino, ya que igual intento gestionarlo mediante interrupciones (por experimentar que no quede :grin:).
Según el esquema que muestra, los pines de los dispositivos van en paralelo directamente (salvo los SS). ¿Esto es "empalmar" según el esquema y listo? ¿No afecta la intensidad máxima que puede entregar el controlador u otros parámetros eléctricos? (como he dicho, en electrónica voy pez).
Saludos.

Echa un vistazo en:

Saludos,

Igor R.

no debería importar si conectas los 3 ya que no se activan al mismo tiempo por eso existe el ss (o cs chip select) con este seleccionas el dispositivo con cual quieres trabajar, claro debes ordenarlo por que si trabajan todos al mismo tiempo te dará problemas.

gorm:
no debería importar si conectas los 3 ya que no se activan al mismo tiempo por eso existe el ss (o cs chip select) con este seleccionas el dispositivo con cual quieres trabajar, claro debes ordenarlo por que si trabajan todos al mismo tiempo te dará problemas.

Gracias, gorm.
Eso era básicamente lo que quería saber (por evitar fritangas). Lo del Slave Select en la programación, lo doy por supuesto, además de tener en cuenta si he de alternar velocidad de reloj y modo de trabajo.