Estoy considerando usar el STMF103RB ( página del producto ST ) para un caso de uso que implica estar dormido durante 1 segundo y UARTing 500 ADC muestras y luego volver a dormir. Tengo una batería de 50 mAh y la necesito para durar al menos 10 horas, es decir, un promedio de 5 mA.
- Durmiendo: muestre el ADC a 500Hz, con un tiempo de muestreo de ADC de alrededor de 5 us y el DMA está en una ubicación de memoria.
- Despierto - UART estas 500 muestras lo más rápido posible y vuelve a dormir.
Mi problema radica en estimar la velocidad de reloj mínima requerida para procesar esto para estimar la vida útil de la batería. Si planeo usar el ADC a una frecuencia de muestreo de 500Hz, un tiempo de muestreo de 5 us (digamos 8 ciclos) y el ADC toma ~ 12 ciclos para convertir = 20 ciclos, digamos que 30 es seguro. ¿Esto significa que el reloj puede estar en (30 * 500 =) 15kHz mientras está dormido para hacer esto? ¿Es posible averiguar si esto también es correcto para el DMA por cálculo? Esta velocidad de reloj en reposo lo pondría < 1.08mA corriente típica (según la hoja de datos) y me daría espacio para las piernas más que suficiente para UART por un corto tiempo.
De manera similar, si quiero UART en 115200 Baud, ¿significa esto mi min. ¿La velocidad de reloj de AHB y APB es 115.2kHz? ¿O es simplemente demasiado lento para que el procesador procese su código también?