Due + SD + Ethernet

Buenos días.

Quiero compartir mi experiencia usando un lector de tarjetas SD y un modulo Ethernet con la placa DUE.

En principio el hardware consistía en:

  • Placa arduino DUE
  • Lector de tarjetas SD LCSTUDIO lcsoft.net
  • Modulo Ethernet USR-ES1. Concretamente el que tiene el W5500 en diagonal y la serigrafía "popctrl.taobao.com"

Hay muchos malos comentarios en la red sobre el módulo SD. Como estos fallos afectaban al regulador 3v3 y yo uso una DUE, los fallos parece que se solucionan usando la entrada 3v3 en lugar de la 5v. Así fue como lo hice funcionar sin muchos problemas haciendo un montaje con cables "dupont"

Por otro lado hice funcionar el módulo Ethernet. Existen un datasheet con el patillaje. Bajé la última versión de la librería Ethernet y la configuré para w5500. En el siguiente enlace está la información.

Monté el servidor web y funcionó.

El problema vino cuando quise hacerlos funcionar a la vez. Aunque el lector SD parecía funcionar bien, el módulo Ethernet decía tomar IPs raras y no respondía. A veces lo hacia al ping, otras no.

Probé modificando pullups de los pines Slave Select, cambiando a otros pines SS, ... pero nada.

Entonces adquirí el sku 429362 de dx. OpenSmart MicroSD reader. Como aclaración el pin DO equivale a MISO y el pin DI equivale a MOSI. Como no tienen ningún tipo de conversor de nivel, ni resistencias ni nada, deduje que era 3v3 y la conecté directamente.

Obtuve el mismo resultado. Ambos módulos funcionan bien individualmente pero el modulo Ethernet se niega a trabajar con el lector de tarjetas.

Todos los montajes hecho con cables "dupont"

Para mejorar el contacto, fabriqué una T soldada sobre pcb de prototipos. Entonces un grupo de cables iba desde la due hasta la T, y desde allí salía un grupo de cables para cada módulo. Tampoco funcionaba, pero algo me decía que era cuestión de los cables, su longitud o contactos.

Entonces fabriqué una PCB para montar ambos módulos. El montaje quedaba: DUE-cables_dupont-PCB_cutre_con_ambos_módulos. ¡PREMIO!

Con esta configuración he hecho funcionar ambos módulos. Bueno, ahora que lo pienso, la sd la uso en el setup y no vuelvo a usarla. Tengo que verificar que funciona en el loop al mismo tiempo que el módulo Ethernet.

Posibles causas del problema:

  • Uno de los cables dupont no estaba bien crimpado y no funcionaba bien.
  • La longitud, la topología o ambas afectan al bus SPI

Espero que sea de ayuda a otros compañeros.

Un saludo.