Eligiendo SRAM para el proyecto PIC

1

Estoy tratando de diseñar un efecto de pedal de guitarra, un looper para ser precisos. Mi idea es usar el PIC24FJ128GC010 que tiene un ADC de 16 bits, para tener una buena calidad de audio. Como mi idea es convertir, registrar y luego guardar el sonido en un módulo SRAM externo, estoy tratando de encontrar un módulo SRAM que pueda ajustarse a mi proyecto. He hecho algunos cálculos pero no estoy seguro de que sean correctos: Dado que el ancho de banda de las frecuencias de guitarra es aproximadamente de 80Hz a 15KHz, la frecuencia de muestreo debe ser de alrededor de 30KHz (teorema de Nyquist-Shannon), así que si tengo un ADC de 16 bits, por ejemplo, por un minuto de muestreo, tendré: 30'000 Hz * 60 s = 1'800'000 muestras / min * 16 bit = 28'800'000 bit / min = 3.6MB / min Estoy en lo cierto ¿Me estoy perdiendo de algo? Acepto todas las sugerencias, también sobre la elección de la SRAM. Gracias.

    
pregunta Luca Daidone

2 respuestas

3

¿Por qué usar PIC24 + sram cuando la nueva serie PIC32MZ DA tiene 32MB de DDR interno / apilado? TI tiene algunos codecs adc agradables que combinan bien con i2s. Si bien entiendo que tratar de mantenerlo bajo un mismo techo, creo que es mejor agregar un anuncio de audio en lugar de sram. Los micro adc típicos no están realmente orientados hacia el audio de todos modos.

Supongo que para cuando encuentres 4mb de sram estarás a costa de la serie DA, especialmente si calculas el tiempo extra de diseño de pcb y el número de capas.

La errata actual limita el ddr a 0-70C, pero 32MB es realmente bueno, abre muchas posibilidades.

    
respondido por el Erik Friesen
0

\ $ 3 \ cdot 10 ^ 4 \ frac {\ text S} {\ text s} \, \ cdot \, 6 \ cdot10 ^ 1 \, \ text {s} \, \ cdot \, 1.6 \ cdot10 ^ 1 \ frac {\ text {bit}} {\ text {S}} = 2.88 \ cdot 10 ^ 7 \, \ text {bit} = 3.6 \, \ text {MB} \ $, por lo que es correcto.

¿Por qué usar SRAM externa? Eso requerirá que coloque una carga alta en la interfaz de memoria externa, y tampoco es muy barato.

Hay suficientes microcontroladores con suficiente RAM integrada para este propósito (generalmente se denominan DSPs , procesadores de señales digitales, que describen su aplicación muy bien. Sin embargo, estos probablemente vendrán con mucho, mucho más CPU con la potencia que necesita, a costos significativamente superiores a los procesadores de aplicaciones ARM de alto rendimiento (consulte a continuación). Su elección de un microcontrolador de 16 bits es muy poco aconsejable, ya que eso no permite Usted dirija esa cantidad de RAM directamente.

Por lo tanto, una Raspberry Pi simple con algo de interfaz de sonido I²S haría esto bastante bien, si ejecuta el procesamiento de la señal con una prioridad alta (o sin metal, lo que no es realmente más difícil escribir código para un microcontrolador más pequeño) .

Por lo tanto, elige algo de 32 bits; de nuevo, recomendaría usar una computadora de una sola placa y escribir software de Linux; el audio es bastante "aburrido" para los procesadores con capacidad, y, a menos que busque latencias por debajo del período de muestra, puede lograr latencias suficientemente bajas al configurar los controladores normales del kernel en consecuencia.

    
respondido por el Marcus Müller

Lea otras preguntas en las etiquetas