Адаптер для программирования ATMega128

ISP адаптер для atmega128

При написании и отладке прошивки устройств на микроконтроллерах приходится часто выполнять перепрограммирование МК и периодически подключаться к нему через UART-интерфейс чтобы смотреть логи (по крайней мере, лично я предпочитаю отладку через UART-терминал). Особенностями МК ATMega128 является то, что 1) для внутрисхемного программирования он использует выводы, отличные от выводов SPI-интерфейса и
2) данный МК имеет на борту два UART-а, причем, выводы одного из них совпадают с выводами ISP-интерфейса.

Таким образом, при написании прошивки все манипуляции с устройством можно делать через один разъем для программатора. С одной стороны, это очень удобно и упрощает печатную плату/схему устройства. С другой стороны, в процессе отладки приходится постоянно менять местами шлейфы программатора и UART. А для перезапуска устройства приходится либо устанавливать отдельную кнопку сброса на плату (которая там, как правило, совсем не нужна при обычной работе устройства после завершения отладки), либо делать перезапуск путем выключения-включения питания. Т.к. постоянно дергать туда-сюда шлейфы ни разу не удобно и приводит к тому, что провода обрываются (а еще при этом можно попутать полярность и что-нибудь спалить), решил сделать небольшую плату-адаптер, которая:

  1. втыкается в отлаживаемую плату через 6-выводный ISP-разъем
  2. подключается к программатору (например, к USBASP) через 10-выводный ISP-разъем (X1 на схеме)
  3. кнопкой с фиксацией S1 подключает к МК либо программатр (если кнопка нажата) либо UART-терминал (если не нажата)
  4. имеет кнопку RESET для сброса МК
  5. имеет вспомогательную кнопку DEBUG, которую я использую для включения вывода логов (также ее можно использовать, например, для активации bootloader-а)
  6. имеет светодиод POWER показывающий наличие напряжения питания на ISP-разъеме

Схема адаптера:

Схема ISP адаптера для atmega128

Кнопка DEBUG добавлена для возможности включения логов. Т.к., например, при тактировании МК частотой 16 МГц максимальная скорость работы UART-а будет всего 1200 бод (если хочется получить режим безошибочной передачи данных), и передача логов при этом будет идти очень медленно, что приводит к торможению работы всей прошивки. Кнопку DEBUG можно опрашивать, например, в момент инициализации и включать вывод логов только если эта кнопка нажата (ну или наоборот, не нажата).

Внешний вид:

Внешний вид ISP адаптера

Адаптер в действии:

ISP адаптер для atmega128 в работе

Ниже по ссылке можно скачать схему и плату для Eagle и SVG-рисунок платы для ЛУТ.

DownloadСхема и плата (Eagle)
DownloadРисунок печатной платы в SVG (ЛУТ)
Рейтинг: 
0
Голосов еще нет