Cargar archivos de Mp3 / Base de datos de PEN DRIVE a SD CARD con la velocidad

0

Estoy usando un microcontrolador PIC32MZ2048EFH144 en mi proyecto con armonía Microchip. Estoy utilizando USB para el pen drive y el protocolo SPI para la tarjeta SD. Todo funcionaba correctamente cuando cargué los datos del pen drive a la tarjeta SD. Sin embargo, cuando subo más de 2000 archivos mp3, tarda entre 20 y 25 minutos. ¿Cómo puedo aumentar la velocidad de transferencia y cargar todos los archivos en 5 a 10 minutos? El SPI se ejecuta a 40MHZ y USB a toda velocidad .

Si el tamaño del archivo es inferior a 10kb, entonces se cargan 500 archivos en menos de 2 minutos . ¿Puede alguien darme sugerencias sobre cómo puedo aumentar la velocidad de transferencia?

    
pregunta bhura112

1 respuesta

0

Hay tantas variables involucradas que no ha proporcionado información suficiente para que personas externas puedan dar consejos completos y / o válidos.

Comencemos con algunas matemáticas simples considerando el rendimiento máximo de USB completo (alrededor de 1 MB / s) y un tamaño de archivo MP3 promedio de 3.5 MB:

2000 files * 3.5 MB/file / 1 MB/s = 7000 s = 117 min

Con 10 kb:

2000 files * 0.01 MB/file / 1 MB/s = 20 s

Por lo tanto, dependiendo del caso de uso real, puede o no estar limitado por USB y no podemos decirle que sin más datos. Otro problema es que la saturación del USB y la realización de otras tareas significativas, como la administración de un sistema de archivos y el envío de los datos a SPI, pueden no ser posibles con un simple código de MCU puramente procedimental si no se está ejecutando a la velocidad máxima del reloj. Es probable que necesite utilizar transferencias DMA para mantener el flujo de sus buffers mientras administra el sistema de archivos en la CPU. Si su software no es un cuello de botella, su MCU es compatible con USB de alta velocidad que definitivamente no podría saturarse antes que el software o el SPI.

    
respondido por el Mathieu L.

Lea otras preguntas en las etiquetas