Использует ли Arduino pro-micro 3.3v кристалл 8 МГц или кристалл 16 МГц с делителем тактовой частоты 2?
Я пытаюсь переоборудовать некоторые 5-вольтовые платы, совместимые с Leonardo, для работы при более низком напряжении 3–3,7 В, чтобы я мог питать свой проект с помощью LiPo-батарей.
Насколько я могу судить, настройки Leonardo по умолчанию (и настройки pro-micro) не будут работать при таком напряжении. Когда я питаю платы (которые ожидают напряжения 5 В) от литиевой батареи, система обычно вообще не запускается. Мои две теории заключаются в том, что либо xtal-генератор 16 МГц не начинает резонировать, либо обнаружение на плате снижения напряжения исключает загрузку при более низком напряжении.
Я хотел бы модифицировать платы, чтобы они работали с меньшим энергопотреблением. Поскольку pro-micro существует в варианте с напряжением 3,3 В, я предполагаю, что есть какой-то способ заставить чип Atmega32u4 работать при более низком напряжении. Я просмотрел техническое описание и схемы Atmega32u4 от sparkfun, а также изучил различия в битах предохранителей между версиями Pro Micro с напряжением 3,3 В и 5 В. Насколько я могу судить, единственная разница в конфигурации — это обнаружение отключения питания. Настройки источника синхронизации настроены для кварца с частотой от 8 до 16 МГц, поэтому они могут быть одинаковыми для обеих плат.
Мне не совсем удалось понять систему сборки загрузчика Catarina, которая могла бы подсказать, как обрабатываются часы. Похоже, что загрузчики плат 3,3 В и 5 В построены из одного и того же источника, но с разной переменной «частота процессора». Тем не менее, существуют довольно существенные различия в выводах файлов .hex, и мне интересно, происходит ли что-то более интересное.
Насколько я могу судить, на Atmega32u4 можно получить тактовую частоту 8 МГц либо используя xtal 16 МГц с делителем тактовой частоты, равным 2, либо используя xtal 8 МГц с делителем тактовой частоты, равным 1.
Поскольку pro-micro 3.3v — это «основная» поддерживаемая плата, использующая Atmega32u4 при более низком напряжении, я хотел бы настроить свой проект таким образом, чтобы он был совместимым. Это означает, что мне нужно встроить совместимый источник синхронизации, если это возможно.
Кто-нибудь знает более подробную информацию о конфигурации pro-micro 3,3 В/8 МГц, которая могла бы помочь понять, как ее настроить?
@MRule, 👍3
Обсуждение1 ответ
Лучший ответ:
На схеме Sparkfun Pro Micro 3,3 В/8 МГц (здесь ) рисуется резонатор 16 МГц. Но там же указано: "На плате указана комбинация частоты резонатора и напряжения регулятора". Из этого можно сделать вывод, что версии 3,3 В/8 МГц и версии 5 В/16 МГц не имеют одинаковых резонаторов и что версия 3,3 В/8 МГц, скорее всего, имеет резонатор 8 МГц.
- Arduino Pro micro Serial communication проблема с узлом MCU
- Невозможно прошить arduino pro micro из терминала
- Можно ли удалить загрузчик при прошивке с помощью загрузчика?
- Atmega32u4: снижение энергопотребления при сохранении активности USB
- Pro micro Wire.endTransmission() не возвращает
- Arduino Pro Micro, получить данные с контакта Tx?
- Отправка мультимедийных клавиш клавиатуры с помощью библиотеки клавиатур
- Распиновка аналога Arduino Pro Micro
Когда xtal 16 МГц используется с делителем тактовой частоты, тактовая часть atmega32u4 по-прежнему работает на частоте 16 МГц. Я сомневаюсь, что задокументировано, что он будет делать при более низких напряжениях. Вам понадобится xtal 8 МГц (или внутренний резонатор), чтобы запустить его на частоте 8 МГц. Загрузчик описан в файле boards.txt. Не все загрузчики atmega32u4 на частоте 8 МГц должны быть одинаковыми. У Adafruit также есть atmega32u4 с частотой 8 МГц: https://www.adafruit.com/product/3675. По возможности старайтесь использовать официальные платы Arduino для лучшей и долгосрочной поддержки., @Jot
Значит, pro-micro 3.3v использует внешний кристалл 8 МГц?, @MRule
Я предполагаю, что Adafruit использует разные кристаллы. Не сделать этого было бы странно. При построении загрузчика компилятор определяет скорость кристалла по константе [F_CPU](https://github.com/adafruit/Caterina-Bootloader/blob/master/Makefile#L105). Он использует это для установки F_USB и (заставляет светодиоды мигать с одинаковым интервалом) (https://github.com/adafruit/Caterina-Bootloader/blob/917e066d83eef0d56222b5e2b518db4805637ce5/Caterina.c#L216). Я думаю, прежде чем создавать эти , какой-то сотрудник Adafruit меняет make-файл, чтобы в нем были указаны правильные F_CPU, PID и предохранители для версии 3 В или 5 В., @Gerben
У меня есть частичное решение: можно просто разогнать (т.е. позволить Leonardo работать на частоте 16 МГц, несмотря на меньшую мощность). По-видимому, это рискованно и в конечном итоге может привести к плохим последствиям. (На самом деле я заблокировал одну плату, не установив более медленную скорость передачи данных для записи предохранителей). Нужно просто настроить детектор снижения напряжения на более низкое напряжение. Конфигурация предохранителей для этого: E:CE, H:D8, L:FF. Это та же конфигурация предохранителей, что и в Pro-micro 3,3 В, с XTAL 8 МГц. Оказывается, одни и те же настройки тактового предохранителя работают как с xtals 8 МГц, так и с 16 МГц., @MRule