При желании работать с контроллерами, нам, как ни крути, придется обзавестись программатором. В данной статье рассмотрен простейший ISP программатор для микроконтроллеров AVR, работающий с удобной программкой для прошивки контроллеров UniProf.
Представляем вашему вниманию вариант нашей разводки программатора под смд компоненты.
На сайте разработчика можно увидеть принципиальную схему программатора.
Для изготовления программатора нам потребуются всего лишь:
• три диода 1N4148
• семь резисторов 1 кОм
Если будете собирать на основе нашей платы то дополнительно еще потребуется:
• один резистор на 1 кОм
• три резистора 0 кОм (на данной плате все используемые резисторы типоразмера 1206)
• разъем BD-9 (мама)
• светодиод 3мм
• гребенка 2.54
• один ISP разъем (10 пин)
Распайку платы настоятельно рекомендую начинать с смд комплектующих.
Хочется отметить, что плата разведена таким образом, что большинство дорожек заходит под смд компоненты, что упрощает пайку и сводит к минимуму вероятность ляпнуть "соплю".
Далее монтируем оставшиеся детали. Должно выйти примерно следующее.
При отмывке флюса стерлись черные плоски на диодах. Смотрим на принципиальную схему и монтируем в верном направлении.
Подключение программатора к микроконтроллеру
На программаторе установлен 10 пиновый разъем ISP
Назначение контактов ISP разъема:
1 - MOSI (выход данных для последовательного программирования)
2 - VCC +5V (Выход +5В, для питания программируемой платы от шины USB током до *200мА !!!)
3 - NC (Не подключен)
4 - GROUND (Общий или минус питания)
5 – RESET (Подключается к выводу RESET микроконтроллера)
6 - GROUND (Общий или минус питания)
7 - SCK (Выход тактирования данных)
8 - GROUND (Общий или минус питания)
9 - MISO (Вход данных для последовательного программирования)
10 - GROUND (Общий или минус питания)
Как уже было сказано ранее, программатор Громова поддерживает микроконтроллеры AVR с режимом последовательного программирования ISP ( In System Programming ), это контроллеры у которых есть порт SPI ( Serial Peripheral Interface ).
Открываем даташит на интересующий нас контроллер, для примера возьму любимый камушек ATmega8. Ищем раздел Pin configurations, в нем смотрим какими ногами представлен порт SPI
Как мы видим, этими ногами являются выводы контроллера под номерами 1, 7, 8, 17, 18, 19, 20, 22, их и нужно подключить к соответствующим выводам программатора.
В случае если в контроллер уже была залита программа и в ней были выставлены фьюз биты на работу от внешнего кварца, то к ножкам XTAIL1 и XTAIL2 следует следует припаять кварц нужного номинала, и пустить через неполярные конденсаторы емкостью 18-22 пикофарада на землю.
Если программатор не выдает линию питания +5V, а на наш программатор её не выдает, то питать контроллер надо от внешнего источника. На плате программатора уже выведены 2 штырька для подачи питания через них. Для таких целей проще раз и навсегда обжать себе вот такой кабелёк:
На черных коннекторах остаются маленькие участки с открытым металлом, во избежание КЗ настоятельно рекомендую изолировать каждый коннектор термоусадочной трубкой.
Следует отметить что программатор поддерживает еще и консольную программку AVRdude.
Пример загрузки прошивки в контроллер можно посмотреть на примере заливки Arduino BOOTLOADERаздесь.
Хорошие статьи на данную тематику можно найти на сайтах http://easyelectronics.ru и http://www.getchip.net.
Полный разбор программы UniProf можно так же найти на сайте http://www.getchip.net
Архив файлов
В архиве лежит шаблон под ЛУТ и список деталей в формате Word
Открываем изображение => Печать => Во всю страницу
Для облегчения распайки smd компонентов с обратной стороны платы, где нет маркировки, приведу картинку.
Скачать архив