Ключевое ?лово

vk

Срочная прочистка канализационных труб https://mario-expert.kiev.ua/ от "Марио Эксперт"

Микроконтроллеры Atmega обычно программируются через интерфейс ISP (SPI),но для этого необходимо,хоть и недорогой,но всетаки программатор. Данный способ для подключения использует 5 проводов (SCK, MISO, MOSI, reset, GND).

Но используя специальный загрузчик, зашитый в нижнюю область памяти микроконтроллера  можно прошивать через последовательный порт используя выводы (RX, TX ,reset, GND) - Так прошиваются платы Arduino, на которых установлена микросхема переходник USB-RS232. Загрузчик активируется командой сброса на выводе reset микроконтроллера и ждет очень небольшой промежуток времени, если передача по последовтельному порту не началась, то управление переходит на нулевой адрес микроконтроллера, где находится основная программа.

В младших моделях м/к загрузчик занимает всего 512 байт. В Arduino Duemilanove он был 2048 байт.

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

Данный конструктор автоматически создает загрузчик для микроконтроллера , указывает фьюзы для прошивки, а так же генерирует пример блока для вставки в файл board.txt в среде Arduino IDE. Загрузчик можно создать для работы на конкретный кварц или внутренний задающий генератор(например на 8 мгц или 1 мгц). Занижение рабочей частоты ведет к понижению энергопотребления, к сожалению это уменьшает максимальную скорость загрузки.

В конструкторе используется загрузчик optiboot.

Поддерживаемые м/к: Atmega328P, Atmega168 Atmega88Atmega8Atmega16 ,Atmega32.Возможно добавление и других м/к.

Настройка Arduino IDE.

Если Вы хотите добавить среду Arduino нестандартный микроконтроллер (Atmega16 или Atmega32)  или использовать не стандартный кварц (не на 16 мгц)., то необходимо в файл boards.txt ,который находится в папке arduino\hardware\arduino/ добавить дополнительную секцию, которую создаст конструктор.

Для Atmega16 и Atmega32 необходима установка своего ядра - это описано в статье Добавляем поддержку не родных м/к в среду Arduino

Конфигурация загрузчика

Для конфигурации загрузчика необходимо для начала выбрать Ваш микроконтроллер и указать задающий генератор:

Внешний кварц - Используя внешний кварц,подключаемый к выводам XTAL м/к. Так же необходима установка конденсаторов на 22pF ,подключенных на GND.

Внутренний генератор - внутренний генератор м/к ,который,в зависимости от модели м/к может работать на 1,2,4,8 мгц.При этом освобождаются выводы XTAL м/к для своих целей.

Watchdog - Внутренний неточный генератор на 256 кгц для системы Watchdog.Доступен не на всех м/к.

Загрузчик может использовать программный  последовательный порт,который может назначен на другие выводы м/к (В стадии тестирования). Обратите внимание, что при некоторых частотах программный UART включается принудительно.

На низких частотах, например с использованием Watchdog, возможны с проблемы с загрузкой прошивки, если у вас нет хорошего программатора( который умеет понижать частоту), то использовать низкую частоту не рекомендую !! Понижение частоты возможно на программаторе USBasp с avrdude с ключем -B

 

Установка загрузчика 

После того, как Вы выберете необходимые опции и нажмете создать HEX  конструктор выдаст команды для прошивки через утилиту avrdude ,а так же ссылки на статьи , как прошить загрузчик через плату Arduino или USBasp.

Кстати,данными командами можно и не пользоватся,если вы уже добавили блок в board.txt и скопировали загрузчик в папку \hardware\arduino\bootloaders\optiboot\ а затем выбрав в меню Сервис - записать загрузчик.

 

Внимание !! Конструктор работает в тестовом режиме и необходима проверка фьюзов в калькуляторе !! При обнаружении ошибок просьба связаться с администрацией сайта , воспользовшись форумом или темой на arduino.ru

Конструктор загрузчика:

Внешний кварцВнутренний генератор Watchdog 256кГц
Частота генератора: Использовать делитель на 8.
Фактическая частота:
Внутренний генератор: Только для Atmega 8/16/32.
Модель м/к:
Программный UART. Порт: RX: TX: (В тестовом режиме.)
Отключить светодиод загрузчика.


Home`s Smart © 2013-2016. г.Киров.
Цитирование материалов возможно только со ссылкой на сайт. Использование фотоматериалов только с разрешения авторов.