SimCom SIM5360 compartiendo una tarjeta SD con uController

2

Estoy diseñando un sistema de registro de datos que carga sus datos a través de 3G.

Voy a muestrear un sensor I2C a 10Hz, almacenar en búfer en la memoria local (o FRAM) y luego descargar el contenido del búfer en una tarjeta SD periódicamente (cada pocos segundos).

Cada 15 minutos aproximadamente, deseo cargar el contenido del archivo en un servidor web mediante un módulo 3G (Sim5360). Entiendo que este módulo se puede conectar directamente a una tarjeta SD y se le puede indicar que cargue archivos desde la tarjeta SD. Esto alejará el esfuerzo de procesamiento de mi uC y aumentará la velocidad de carga que se puede lograr, en comparación con la transmisión de datos desde la uC a través del UART.

Para que esto funcione, tanto el Sim5360 como el uC necesitan tener acceso a la tarjeta SD, que requiere un bus SPI multi maestro. ¿Es esto posible?

Siempre que ambos dispositivos tengan la capacidad de leer y escribir desde la tarjeta SD, puedo asegurarme de que no haya conflictos por intentos simultáneos de usar el recurso al mismo tiempo.

¿Puede alguien decirme si esto es posible y si hay algo especial que deba hacer para que esto funcione?

Alternativamente, si alguien tiene una mejor idea de cómo lograrlo, me encantaría escucharlo.

    
pregunta Steve

3 respuestas

2

No es imposible, pero hay que tener mucho cuidado desde el punto de vista del software con respecto al sistema de archivos en la tarjeta. Cada dispositivo debe vaciar los buffers y desmontar la tarjeta antes de "liberarla" al otro dispositivo.

    
respondido por el pjc50
2

Realmente no importa, por ejemplo, si tiene dos esclavos junto a la MCU o un esclavo y un maestro maestro apagado. Así que, básicamente, la SIM5360 apagada no debería causar ningún problema a la MCU si se desmonta correctamente la tarjeta SD antes de apagarse, tal como lo menciona @ pjc50.

No se recomienda desconectar las líneas del SIM5360 mediante un multiplexor controlado por la MCU. Traería más riesgo al sistema porque, debido a un error de software, la MCU podría desconectar el SIM5360 mientras lee / escribe la tarjeta SD.

Creo que deberías verificar dos condiciones en la MCU antes de acceder a la tarjeta SD.

  1. Siempre verifique si la tarjeta SIM5360 está correctamente apagada por completo.
  2. Verifique el estado del pin de selección de esclavo de la tarjeta SD si está en estado lógico alto (asumiendo el pin de selección de esclavo bajo activo).

Si alguna de estas condiciones es falsa, no continúe.

    
respondido por el Bence Kaulics
1

Haz Sim5360 "master" para la tarjeta SD. Así que puede obtener acceso dedicado a la tarjeta sd cuando sea necesario. Esto se puede lograr usando algún pin de entrada en la unidad de control controlada por Sim5360.

Si uC no puede escribir sus datos almacenados en la tarjeta SD, solo necesita almacenar más tiempo o tirar algunos datos. Si la cantidad de datos es razonablemente pequeña, incluso se puede almacenar en flash hasta que se pueda copiar en una tarjeta SD.

    
respondido por el staringlizard

Lea otras preguntas en las etiquetas