PIC: problemas de consumo de energía de depuración

5

Tengo una placa que contiene un PIC16 (vea la hoja de datos aquí ) que está dibujando demasiado corriente. Podemos medir el sorteo actual para el tablero como un todo, pero no podemos medir el sorteo actual para cada componente.

Nuestros cálculos teóricos ponen el dibujo actual en 300uA, pero estamos viendo un 500uA. Para depurar este exceso de 200uA, queremos poner el PIC en el modo actual más bajo posible. ¿Cómo se puede poner el PIC en su modo de menor potencia?

Lo que he hecho es deshabilitar todos los indicadores (como el restablecimiento de la reducción de tensión, el desbordamiento de la pila / el restablecimiento del subdesbordamiento, etc.) y poner el PIC en reposo en la primera instrucción. ¿Debo poner los pines de PIO en un estado específico? ¿Hay periféricos que están habilitados de forma predeterminada y deberían estar apagados?

    
pregunta Randomblue

2 respuestas

6

Asegúrese de que todos los periféricos estén apagados, que el watchdog y brownout estén apagados, y que el procesador esté inactivo. Eso debería minimizar el consumo de corriente del propio PIC. Asegúrese de que todas las clavijas de entrada digital se muevan sólidamente altas o bajas, y asegúrese de que todas las clavijas de salida estén configuradas de manera que no causen corriente en el resto del sistema.

El reinicio de desbordamiento / desbordamiento de la pila no tiene nada que ver con el consumo de energía. Es solo parte de la lógica digital del procesador. Apagar el reloj del procesador (poner el dispositivo en suspensión) lo apagará junto con el resto de la lógica del procesador.

Algunos subsistemas son independientes del reloj del procesador y deben apagarse por separado. Los ejemplos incluyen el temporizador de vigilancia y la detección de reinicio de caída de tensión. El A / D también puede estar encendido si se ejecuta desde su reloj R-C interno. La hoja de datos muestra la corriente incremental dibujada para todas estas cosas. Ir a través de esa lista y asegúrese de que todo está apagado.

Usted dice que no puede medir la corriente de los componentes individuales, pero por supuesto que puede. Incluso podría quitar el PIC de la placa y conectar todas sus salidas a alto o bajo, y luego ver qué toma la placa. Eso elimina completamente el PIC de la ecuación. O podrías hacer lo contrario. Ponga el PIC en una placa de pruebas ejecutando el mismo código que debería apagarlo y mida su corriente en ese momento.

    
respondido por el Olin Lathrop
2

Para agregar a la respuesta de Olin (que cubre todos los detalles prácticos), al final de la hoja de datos hay una lista de estados de apagado con varios periféricos / WDT / etc activados / desactivados y consumo actual. De acuerdo con el clip a continuación, debería poder obtener una uA. He medido alrededor de esto (1-2uA IIRC) con un 16F690 durante el tiempo de "reposo", por lo que este es un chip posterior (y prácticamente un pin para pin compatible con el 16F690). Supongo que probablemente lo hará un poco mejor.

    
respondido por el Oli Glaser

Lea otras preguntas en las etiquetas