Sí, es muy desafortunado.
Intenté poner pull downs internas en SDI, pero la SD de plano no puede con la carga y ni siquiera inicializa. No encontré en ningún lado cuánto valen las "weak pull-downs".
Estamos viendo si meto capacitores de unos 160nF aprox. en esas líneas para sólo dejar pasar los 1MHz.
Otra opción es colocar schottkys en las líneas para eliminar el overshooting, pero el ruido hacia abajo de los 3V3 es lo que me preocupa. Con el osciloscopio veo mucho ruido pero es por él mismo, siempre la señal del canal 2 se mezcla con la del 1 y viceversa. No puedo diagnosticarlo limpiamente.
A ver qué se nos ocurre.
Que raro está tu caso:
En el circuito que tengo, uso conexiones directas a la SD, solamente uso una resistencia de pull up de 10K en la salida de SDO de la tarjeta SD, ya que esta suele poner la salida en alta impedancia alguna veces, de hecho al ponerse en alta impedancia es lo que permite leer 0xFF en algunos casos...
De ahí en fuera, las conexiones son directas al modulo SPI del PIC, a 3.3V, sin nada mas.
De hecho no recomendaria el uso de capacitores en los pines de las señales, eso de "forzar" a 1 escaso Mhz. la señal de reloj se me hace medio lenta, partiendo de que he cualquier tarjeta se puede leer usando SPI a 16 mhz sin problemas.
Lo que te recomendaria seria poner un capacitor SMD de 1 uf en paralelo con los pines de alimentación de la tarjeta, eso si te ayudaría a eliminar ruido, pero en las lineas de datos no.