¿Qué impide el uso de un chip de bus CAN y una tarjeta SD en una interfaz SPI compartida?

1

Estoy interactuando con una tarjeta SD y un chip de interfaz CAN (el MCP2515) en una interfaz SPI. Para la velocidad de escritura, estoy usando una biblioteca FAT y abriendo un archivo para transmitir. Si detengo temporalmente la transmisión de datos a la tarjeta SD para recopilar datos del chip CAN, la reanudación de las escrituras de la tarjeta causará daños en el archivo.

No puedo ver por qué los dos interactúan entre sí. Si en el nivel más bajo no hay ninguna superposición al tirar de los pines CS bajos para cada dispositivo, seguramente la tarjeta SD estaría ciega a lo que estaba sucediendo en el bus SPI. He confirmado que liberar el pin CS de la tarjeta SD no causa ningún problema, ni tirar del pin SC del chip de interfaz CAN. Es solo con una transferencia SPI que la escritura de la tarjeta SD se corrompe.

¿Se trata de un problema de la electrónica o es más probable que sea un problema de firmware / biblioteca al que me enfrento?

Más información:

  • Microprocesador: ATmega2560
  • Interfaz CAN: MCP2515
  • Tarjeta SD: Transcend 4GB C10 MicroSD HC
  • Desplazador de nivel de tarjeta SD: 74hc4050

Las escrituras se realizan en trozos completos de 512 bytes, alineados con los bloques en la tarjeta SD. El síntoma de fallo es que el siguiente bloque escrito devuelve un error de escritura. Aún no he podido descifrar el significado de la falla, aunque se devuelven dos códigos por cada falla. Estos pueden ser generados por el propio brote de la tarjeta SD que todavía no sé:

  1. 0x13
  2. 0xFF, 0xE0, 0x7F o 0x3F

Una vez que se completa la escritura SD, su pin CS se coloca alto antes de que el pin CAN CS se agote. Una vez que se completan las operaciones CAN y se intercambian los pines CS. Aunque esto es cuando ocurre la falla.

    
pregunta J Collins

1 respuesta

1

Hay algunas anomalías en las tarjetas SD que liberan datos después de la no confirmación de la selección de chips, ya que requieren un borde de reloj SPI.

Le sugiero que lea estas notas de este sitio muy informativo e interesante Fabricación electrónica de vidas

    
respondido por el Kevin White

Lea otras preguntas en las etiquetas