Да я пока не могу ее сформулировать толком. В основе l476. У устройства получаются 2 режима 1. Рабочий: периодически опрашиваем цифровые и аналоговые входы (ориентировочно период 1 мс, но может и реже), копим данные, периодически сбрасываем во флэш или SD карту 2. Интерактивный: взаимодействие с пользователем, передача данных. Переходим в него при активации протокола коммуникации (uart, USB) или если пользователь кнопку ткнул. Основной затык лично у меня в выборе режима энергосбережения для первого сценария Глубоко засыпать не вариант - просыпаться обратно до полной частоты почти 1 мс, значит, надо подремывать

Комментарии: 12

  1. Odnonogiy

    1. Что за лайф-критикал контроль с 1мс периодом? Это для любых задач дохрена. Взрывчатку пластифицировать и мет варить так точно не надо, даже квадрику столько много. 2. Зачем для опроса полная частота? 3. И все же имхо спать и будить по прерыванию таймера - самое то.

    • Serge

      1. В тз написано 1 мс 2. Не нужна, я опрашивать буду в режиме lp run у l4 это до 2мгц, АЦП хочет минимум 1.4. Но все равно ок 200мкА, если правильно помню. 3. Насколько глубоко? Стабилизация частот это вроде до 1мс, но тут надо почитать рефман - если кварц внешний и pll x1, может, и меньше.

      • Odnonogiy

        Навскидку отсюда https://www.compel.ru/lib/75312 и даже на русском.

        • Serge

          Я ориентировался на вот это "Собственно выход процессора из сна здесь — наименьшая проблема, при частоте 4,2 МГц он занимает примерно 10 мкс. А вот стабилизация кварца может занимать до 1 мс (хотя обычно для высокоскоростных резонаторов всё же быстрее, порядка нескольких сотен микросекунд), выход на режим PLL — ещё 160 мкс" https://habr.com/ru/post/430218/

          • Odnonogiy

            Заключение прямо радует. И это еще ни разу не упомянута хоть одна errata.

            • Serge

              Как грамотно проверить фактическую скорость пробуждения и устаканивания? Можно купить отладку на l4, вывести osc ноги и взять хороший осцил, но у меня недостача по обоим пунктам)

              • Odnonogiy

                Осцилл больше 100МГц не нужен точно. В любом случае я бы пробовал именно практически, если есть задачи, для которых ровное тактирование критично, надо просто дергать состояния и смотреть на вносимый эффект. С другой стороны, для работы тех же АЦП это же не настолько критично (но тут опять же смотреть под конкретную задачу). Так или иначе, подобный дебаг лично я всегда гоняю на стенде. Кстати, в некоторых случаях может быть эффективней использовать не один чип, дергая его туда-сюда, а два, но тут надо понимать сценарий нагрузки более детально.

                • Serge

                  Кстати, уточню по тз, как быстро надо кричать про упячку. Может, получится стопить ядро наглухо и юзать АЦП+DMA и gpio+DMA. И разгребать буферы редко-редко.

                  • Odnonogiy

                    Отличное решение. Почти уверен, что в итоге это возможно

                    • Aleksey

                      Многое от контроллера зависит, если нужно быстрое просыпание используйте внешний TCXO

                      • Odnonogiy

                        Тут вопрос сейчас немного в другом. Для понимания сценария/циклов энергосбережения нужно более детальное понимание тз. В частности, я все еще не верю, что нужно сбрасывать данные с частотой в килогерц, в 99% случаев оказывается, что это родилось мыслью "а давайте ебанем по максимуму!".

        • Serge

          Но надо поиграться с выходом на hsi без pll, а не на внешний и полные обороты

Не нашли ответ?

Вам также может быть интересно

У кого был опыт по отлетевшим тачам на самсах а51? Махнул стекло,через пару часов полностью тач отьехал,под шлейфом тача... Читать далее