STM8L–Ток потребления в активном режиме
Сегодня необходимо было сделать (точнее уже выполнить монтаж) опытного образца на базе STM8L152C8, так как плата была полностью чистенькая решил проверить ток потребления микроконтроллера в активном и ждущем режиме.
Активный режим (Run)
Типовые токи потребления при выполнении кода из флеш, согласно документации:
Для теста набросал самый простой код:
Так как внешних кварцев на плате у меня нет, буду использовать только встроенный RC-генератор на 16 МГц.
Меняя делитель измерил ток для аналогичных частот:
f_cpu, МГц | Idd(run) типовой, мА | Idd(run) измеренный, мА |
0,125 | 0,35 | 0,7 |
1 | 0,54 | 1,0 |
4 | 1,16 | 1,9 |
8 | 1,97 | 3,1 |
16 | 3,54 | 5,3 |
Странно… Ток потребления выше, чем указан в документации.
Первая мысль может быть включено что-то из периферии.
Иду читать доку. Ни чего не нахожу
Пробую перевести все линии ввода-вывода на вход, с подтяжкой PullUp.
Получаю результат по лучше:
f_cpu, МГц | Idd(run) типовой, мА | Idd(run) измеренный, мА |
0,125 | 0,35 | 0,7 |
1 | 0,54 | 0,9 |
4 | 1,16 | 1,8 |
8 | 1,97 | 2,9 |
16 | 3,54 | 5,1 |
Думаю дальше…
И понимаю что нужно отключать программатор во время измерения
Без программатора:
f_cpu, МГц | Idd(run) типовой, мА | Idd(run) измеренный, мА |
0,125 | 0,35 | 0,35 |
1 | 0,54 | 0,65 |
4 | 1,16 | 1,4 |
8 | 1,97 | 2,5 |
16 | 3,54 | 4,7 |
Вижу что с ростом частоты расхождение больше. Иду курить доку снова…
Ни чего не приходит, поэтому решаю вынести бесконечный цикл в ОЗУ.
И о чудо ток потребления полностью совпадает с приведенным в документации:
На ум приходит мысль, возможно из-за цикла конвейер постоянно сбрасывается и идет частое обращение к флеш памяти, а измерения в доке приведены для “средней” программы.
Вставляю 100 “нопов” в цикл.
И провожу измерения:
f_cpu, МГц | Idd(run) типовой, мА | Idd(run) измеренный, мА |
0,125 | 0,35 | 0,34 |
1 | 0,54 | 0,43 |
4 | 1,16 | 0,76 |
8 | 1,97 | 1,22 |
16 | 3,54 | 2,23 |
Интересный результат
Далее балуюсь со вставкой различной математики в цикл. На 16 МГц максимальное потребление которое мне удалось получить равно 5,3 мА.
Режим ожидания (Wait)
Тут “чудес” не было, всё как в доке:
comments powered by Disqus