20:15

Калькулятор фьюзов avr на русском скачать

Калькулятор фьюзов avr на русском

Про Ардуино и не только.
воскресенье, 19 августа 2018 г. Что такое Фьюзы. Чтение и запись фьюзов Ардуино. Сегодня я хочу рассказать о том, что такое фьюзы, за что они отвечают и как их можно прочитать и записать в Ардуино. Рекомендую также заглянуть в предыдущую публикацию, т.к. работа с фьюзами возможна только через программатор. Фьюзы (от английского Fuse bits) - это конфигурационные биты микроконтроллера, отвечающие за его предварительную настройку.

Эти биты расположены в отдельном адресном пространстве, доступном только при программировании. Биты объединяются в конфигурационные байты и их состав зависит от конкретной модели микроконтроллера. При работе с конфигурационными битами нужно помнить один важный момент: если бит содержит логическую единицу, то это означает что он не запрограммирован, соответственно, запрограммированный конфигурационный бит содержит логический ноль . Такая логика основана на принципе хранения данных в EEPROM: чистая микросхема памяти содержит во всех ячейках единицы, а термин запрограммирована по отношению к такой ячейке означает, что в нее записали ноль. Фьюзы ATmega328 / ATmega328p. Микроконтроллеры ATmega328 и ATmega328p, на базе которых построено большинство плат семейства Ардуино, имеют 3 байта конфигурации: младший, старший и дополнительный.

Их описание приведено ниже в таблицах. Младший конфигурационный байт ATmega328/P. Номер бита Навание Описание Значение по умолчанию 7 CKDIV8 Divide clock by 8 0 (запрограммирован) 6 CKOUT Clock output 1 (не запрограммирован) 5 SUT1 Select start-up time 1 (не запрограммирован) 4 SUT0 Select start-up time 0 (запрограммирован) 3 CKSEL3 Select Clock source 0 (запрограммирован) 2 CKSEL2 Select Clock source 0 (запрограммирован) 1 CKSEL1 Select Clock source 1 (не запрограммирован) 0 CKSEL0 Select Clock source 0 (запрограммирован) Старший конфигурационный байт ATmega328/P. Номер бита Навание Описание Значение по умолчанию 7 RSTDISBL External Reset Disable 1 (не запрограммирован) 6 DWEN debugWIRE Enable 1 (не запрограммирован) 5 SPIEN Enable Serial Program and Data Downloading 0 (запрограммирован) 4 WDTON Watchdog Timer Always On 1 (не запрограммирован) 3 EESAVE EEPROM memory is preserved through the Chip Erase 1 (не запрограммирован) 2 BOOTSZ1 Select Boot Size 0 (запрограммирован) 1 BOOTSZ0 Select Boot Size 0 (запрограммирован) 0 BOOTRST Select Reset Vector 0 (запрограммирован) Дополнительный конфигурационный байт ATmega328/P. Номер бита Навание Описание Значение по умолчанию 7 - - 1 6 - - 1 5 - - 1 4 - - 1 3 - - 1 2 BODLEVEL2 Brown-out Detector trigger level 1 (не запрограммирован) 1 BODLEVEL1 Brown-out Detector trigger level 1 (не запрограммирован) 0 BODLEVEL0 Brown-out Detector trigger level 1 (не запрограммирован)

Таким образом, значения конфигурационных байтов в ATmega328/P по умолчанию: Low: 0x62, High: 0xD9, Extended: 0xFF. Обратите внимание, это значения именно для "чистого" микроконтроллера ATmega328/P , а не для Ардуино. Значения фьюзов для Ардуино можно найти в файле Arduino_dir\hardware\arduino\avr\Boards.txt , где Arduino_dir - это путь к IDE Arduino. Откройте файл в текстовом редакторе и найдите интересующую плату по названию, чуть ниже будет информация о фьюзах: uno.name=Arduino/Genuino Uno . uno.bootloader.low_fuses=0xFF uno.bootloader.high_fuses=0xDE uno.bootloader.extended_fuses=0x05. Для расшифровки шестнадцатеричных значений конфигурационных байтов удобно использовать онлайн калькулятор Engbedded Atmel AVR® Fuse Calculator:

Выберите модель микроконтроллера и введите значения фьюзов в соответствующие поля внизу страницы в разделе Current settings - введенные значения будут моментально расшифрованы и представлены в удобном виде. И, наоборот, можно изменить конфигурацию битов в разделах Manual fuse bits configuration и Feature configuration и получить значения конфигурационных байтов для записи в микроконтроллер. Рассмотрим назначение конфигурационных битов более подробно. CKDIV8. CKOUT.

Конфигурационные биты SUT совместно с битами CKSEL определяют длительность задержки при старте микроконтроллера. Задержка необходима для того, чтобы источник тактовой частоты стабилизировался после подачи питания и вошел в свой рабочий режим. Величина задержки зависит от выбранного источника и составляет от 0 до 65мс. Конкретные значения можно найти в даташите. CKSEL.

Современные микроконтроллеры способны работать с различными источниками тактового сигнала. Выбор источника осуществляется установкой конфигурационных битов CKSEL. В таблице ниже приведены источники тактового сигнала, поддерживаемые микроконтроллерами ATmega328 / ATmega328P, и соответствующие им значения CKSEL. Источник тактового сигнала Значение CKSEL3..0 Экономичный кварцевый генератор 1111-1000 Кварцевый генератор 0111-0110 Низкочастотный кварцевый генератор 0101-0100 Внутренний RC-генератор на 128кГц 0011 Внутренний калиброванный RC-генератор 0010 Внешний сигнал синхронизации 0000 Зарезервировано 0001. RSTDISBL. Фьюз RSTDISBL управляет работой цифрового вывода микроконтроллера, совмещенного с входом внешнего сброса.

Если RSTDISBL запрограммирован, то вывод может быть использован как обычный цифровой пин ввода/вывода. Если фьюз RSTDISBL не запрограммирован, то вывод используется для внешнего сигнала сброса: низкий уровень напряжения на нем приводит к генерации сигнала сброса микроконтроллера. Отключение внешнего сброса может быть оправдано при работе с микроконтроллерами, имеющими небольшое количество выводов, в других случаях лучше не трогать этот фьюз.

Просмотров: 243 | Добавил: dislumabafulrahealth | Теги: загрузка | Рейтинг: 0.0/0
Популярные архивы:
avatar