Pages: [1]   Go Down
Author Topic: Dudas varias sobre SPI  (Read 978 times)
0 Members and 1 Guest are viewing this topic.
Palencia, Spain
Offline Offline
Sr. Member
****
Karma: 20
Posts: 396
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Euskadi
Offline Offline
God Member
*****
Karma: 16
Posts: 711
Arduinotarrak
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Palencia, Spain
Offline Offline
Sr. Member
****
Karma: 20
Posts: 396
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 smiley-mr-green).
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.
Logged

0
Offline Offline
Edison Member
*
Karma: 16
Posts: 1579
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Echa un vistazo en:

Saludos,

Igor R.
Logged


Offline Offline
Newbie
*
Karma: 0
Posts: 6
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Palencia, Spain
Offline Offline
Sr. Member
****
Karma: 20
Posts: 396
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Pages: [1]   Go Up
Jump to: