-
Простой программатор для AT89C2051 "на скорую руку" с использованием ATMega8
-
AT89C2051
,
ATMega8
Наконец внял просьбам в комментах и выкладываю всё, что относится к программатору AT89C2051, которым прошивал термометр из этого поста.
Схема, прошивка переделана с ATMega32 на ATMega8, сегодня проверено в железе еще раз, всё работает и шьётся. В программаторе за ненадобностью не реализованы функции Verify, Blank check и установка Lock bits. Функция Verify избыточна, т.к. проверка происходит по ходу записи.
В комплект поставки входит принципиальная схема программатора, проект для IAR с исходниками (на C) и сама прошивка для ATMega8, проект в IntelliJ Idea с исходниками программатора (на Java).
Обмен программатора с компьютером происходит через последовательный порт (USART in и USART out на схеме). Т.к. на моём комтьютере COM-портов нету, я использовал преобразователь RS232-USB, собранный на FT232RL (отсюда). Cкорость обмена с компьютером по COM-порту 9600-8n1.
Принципиальная схема контроллера
Принципиальная схема в формате Splan7: (доступно зарегистрированным пользователям)
Исходный код прошивки
Версия v2.0 от 15.03.2014: (доступно зарегистрированным пользователям)
Прошивка
Версия v2.0 от 15.03.2014: (доступно зарегистрированным пользователям)
Фюзы для меги необходимо выставить следующие:
H-Fuse: 0xDD
L-Fuse: 0xE3
Частота внутреннего генератора при таких фюзах - 4MHz.
Прошивал мегу с помощью широко известного программатора USBasp софтом Khazama AVR Programmer.
Протокол программирования AT89C2051 описан в даташите, ссылка на который есть ниже.
Программатор
Версия v2.0 от 15.03.2014: (доступно зарегистрированным пользователям)
Для работы с COM-портом из программы на Java, необходимо использовать вот эту библиотеку. Инструкция по установки есть внутри в файле INSTALL.
Эта библиотека расчитана на работу в 32-bit среде Java, поэтому на 64-bit Windows надо отдельно ставить 32-bit Java и запускать из-под неё, иначе будем получать сообщение "Can't load IA 32-bit .dll on a AMD 64-bit platform thrown while loading gnu.io.RXTXCommDriver".
Дисклаймер: Всё это добро предлагается "как есть", Автор не отвечает за полную или частичную неработоспособность изделия, не берет на себя никаких обязательств по поддержке или развитию проекта. На вопросы буду отвечать по мере возможности и при наличии свободного времени.
Даташиты
- Войдите, чтобы оставлять комментарии
ОБСУЖДЕНИЯ
Этот программатор можно подключать на прямую к СОМ порту?
АТ89С2051
Теоретически - да. Практически - я не пробовал, у меня нет порта, подключал через usb переходник.