Estoy haciendo un simple osciloscopio de 1MHz con un sistema embebbed basado en ARM y Android. Tengo un ADC con una velocidad de 12MSa / s que toma las muestras. Lo necesito para enviar las muestras a un microcontrolador PIC, para enviarlas por USB a mi sistema Android.
No puedo enviar 12MSa / s de datos a través de USB, así que investigué y creo que tengo que usar un búfer de RAM. He investigado un poco en Internet, pero no puedo entender cómo funcionan.
Por lo que puedo entender: Supongamos que tengo 2 IC de RAM . Comienzo a llenar RAM 1 con muestras de mi ADC, luego, cuando se llena, comienzo a llenar RAM 2 . Mi microcontrolador comenzará a leer datos de RAM 1 . La velocidad de transferencia USB no es lo suficientemente rápida como para leer todo el contenido de la RAM antes de que se llene RAM 2 , por lo que el ADC tendrá que esperar hasta que RAM 1 esté vacío, por lo que lo haré muestras sueltas de mi ADC.
¿Hay alguna manera de prevenir esto? Mi placa de desarrollo es un PandaBoard. Estoy ejecutando Android 4 en él y funciona perfectamente, pero tengo este problema relacionado con el almacenamiento en búfer del hardware.