Изменить тактовую частоту Digispark, работать при низком напряжении

У меня низковольтное (3,2 В) приложение. Я надеялся использовать Digispark. У меня есть решение с использованием отдельного Tiny85, но я хочу использовать программирование Digispark USB.

Для работы на более низком напряжении, я думаю, нужна более низкая тактовая частота. Я сделал это с помощью отдельного Tiny85. Я мог бы подключить Digispark напрямую к программатору и изменить предохранители частоты, однако...

Я предполагаю, что снижение тактовой частоты путем программирования предохранителей сломает загрузчик Digispark, поскольку он будет иметь неправильную синхронизацию. Верно?

Могу ли я динамически переключать тактовую частоту в своем коде после загрузчика или это управляется только предохранителем?

Доступен ли загрузчик и могу ли я изменить его на более низкую частоту? Много ли работы потребуется, чтобы изменить код на другую частоту? Будет ли он достаточно мощным, чтобы запустить загрузчик USB?

, 👍2


3 ответа


Лучший ответ:

3

Вы можете установить предделитель часов во время выполнения. Например:

#include <avr/power.h>

void setup()
{
    clock_prescale_set(clock_div_8);
    // etc...
}

Более подробную информацию можно найти в документации от avr-libc.

Обратите внимание, что при использовании этого метода ваш Digispark все равно будет разогнан, когда загрузка, так что это может быть не 100% надежно. Но он будет разогнан только на очень короткое время.

,

2

Digispark использует загрузчик micronucleus.

Вы можете прошить его напрямую на Tiny85 без необходимости в модуле digispark. Таким образом, ваше существующее решение Tiny85 может получить загрузчик USB, если вы можете выделить 2k места для программы для загрузчика.

Я понимаю, что это не прямой ответ на ваш вопрос, но вы отметили, что у вас есть решение Tiny85, и вы хотели бы поддержку загрузчика USB на нем.

,

0

Максимальная безопасная частота при 3,2 В составляет около 12,7 МГц. См. рисунок 20-2 в datasheet.

Это действительно ниже 16 МГц, на которых работает digispark.

,