Приветствую Вас ГостьСреда, 27.11.2024, 01:35

Микроконтроллеры для всех


Каталог статей

Главная » Статьи » Мои статьи

Программатор с LPT








  Это устройство позволяет записывать наши программы в память программ МК. Это следующий этап, после того как вы написали программу и отладили ее. Существуют последовательные и параллельные программаторы. Наибольшую популярность получили последовательные программаторы, так как они более простые, дешевые и надежные.
  Самый простой последовательный программатор для микроконтроллеров семейства AVR, состоит всего из пяти проводников и ограничивающих ток резисторов. Этот программатор называют программатор Громова (наверное, по фамилии его создателя). Организован он по следующему принципу: выводы RESET, MISO, MOSI, SCK, GND посредством сопротивлений соединены с 25-контактным разъемом DB-25 LPT- порт.
  Однако данная организация программатора не является надежной и безопасной для персонального компьютера (ПК) и микроконтроллера (МК). Есть вероятность выхода из строя порта ПК. Таким образом, эту схему усложнили защитным буфером и вышла вполне надежная, простая и дешевая схема последовательного программатора, которая представлена на рисунке 1. В качестве защитного буфера используется микросхема DD1 74HC244. Пояснения принципа работы данной схемы начнем с микроконтроллерной части (выводы RESET, MISO, MOSI, SCK, GND).
Назначения этих выводов в процессе программировании следующее:
  RESET – вывод МК, с помощью которого работа процессора переводиться в начальное состояние. После включения МК, процессор начинает считывать программу из памяти программ (ПП) и выполнять соответствующие команды. При подачи кратковременно логического «0» на вход RESET процессор, «сбрасуется» в ноль и начинает работу заново. Однако при подачи на вход RESET не кратковременно «0» (не менее 20mc), МК переходит в режим программирования. Этим он готов принимать новый список команд записываемых в ПП.
Таким образом: «1» на входе RESET – штатный режим работы МК; кратковременный «0» - сброс МК; не кратковременный «0» - режим программирования памяти МК.
  MISO (Master Input Slave Output) – этот вывод является частью последовательного синхронного интерфейса SPI. Как видно из самого названия вывода, он служит для ввода данных (кода программы) в память программ МК в режиме программировании.
  MOSI (Master Output Slave Input) – этот вывод также является частью последовательного синхронного интерфейса SPI. Однако служит он для вывода данных программатору МК в режиме программировании. В режиме программирования на эту ножку подается команда « Разрешения программирования».
  SCK – этот вывод также является частью последовательного синхронного интерфейса SPI. Предназначен для выдачи синхроимпульсов от МК (приемного устройства) к передающему устройству. То есть это выход синхроимпульсов, задающих скорость обмена данными.
  GND – тут понятно без пояснения. Вывод - общий провод или земля, или минус провод питания.

Рисунок 1 Принципиальная схема последовательного программатора (мой первый программатор).

  Теперь понятно, что последовательный программатор так называется потому, что загрузка программы в ПП осуществляется в последовательном коде по одному проводу.
  На рисунке 1 светодиод VD1 предназначен для индикации о наличии питании 5В в схеме. Светодиод VD3 предназначен для индикации процесса программирования. Не для всех моделей AVR этот светодиод будет индицировать. В момент программирования он начинает быстро мигать или гореть ровным светом (мигания человеческий глаз может не воспринимать). Разъем PLD-10 для передачи программного кода в память МК выглядит так. 
Питать программатор не обязательно, поскольку программатор будет питаться от источника питания, который подведен к МК.
  Всю остальную логику работы схему берет на себя программный программатор PonyProg. PonyProg – это бесплатное программное обеспечения, поддерживающее программирования многих известных МК. Его свежую версию всегда можно скачать бесплатно на нашем сайте. Работа программы очень проста: открыть в этой среде откомпилированную и отлаженную программу, выбрать нужный МК, (например Attiny2313) и нажать кнопку программирования чипа. Процесс займет от 0.5 с до нескольких минут в зависимости от размера программы. Краткое достаточное пояснение работы программы PonyProg приведена на рисунке 2. Кстати, не сильно обращайте внимание если зелененький светодиод будет как-то неправильно себя вести. Не совсеми МК он работает верно, но это не значит , что он не сможет прошить данную микросхему.
Рисунок 2 Окно PonyProg

  Пару слов о программаторе (рисунок 1). Этот программатор прекрасно себя зарекомендовал. Собрать его можно на коленке всего за 1.5$ , а надежность его высокая. За время эксплуатации ни разу не выкидывал сюрпризов.
 У меня выглядит это чудо так (рисунок 3). Немного небрежно, но он работает уже не один год.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Рисунок 3 Мой первый программатор с LPT.
 
  Вещь нужная до сих пор частенько обращаюсь к ниму. Только жаль, что порты LPT вымирают, их все сложнее сейчас найти на современных машинах. 
  Сейчас я программирую USB-программатором, но если что-то вдруг не идет, я возвращаюсь к старому программатору (рисунок 1). К тому же сам USB-программатор (а точнее AVRку, которая там стоит) чем-то же надо запрограммировать. Поэтому собрать программатор , который описан выше это обязательная задача для начинающего. Хотя можно собрать USB-программатор, а микросхему отдать другу, чтоб он ее прошил, а к LPT-программатору уже не возвращаться.
  По сколько большинство современных ПК уже не имеют в свеем составе LPT- порта, не говоря уже о ноутбуках, этот программатор некуда и подключить к компьютеру, если только использовать переходники и преобразователи USB-LPT. Дороговато. Поэтому все популярнее становиться использования USB программаторов. Они не отличаются надежностью и быстродействием, но они удобнее при программировании МК и дороже вдвое. О таких программаторах пойдет речь позже. Лично я этот программатор люблю и пользуюсь активно им. Соберите и оцените сами! Реализацию USB-программаторов я привожу в отдельно статье. Причем там будет приведено два типа программатора USBASP и USB-Doper, который способен программировать МК в среде AVRstudio (определяется там как STK-500).
Програмное обеспечения для программатора качаем здесь ---> PonyProg

Вывод:
для начинающего программиста микроконтроллеров AVR, которые не знают с чего начать, стоит начать именно с разработки данного устройства. Для новичка этот программатор должно стать первым проектом в разработке микропроцессорных устройств на базе МК AVR. Последовательный программатор дешевый (примерно 2$), практичный, малогабаритный, несложный по своей структуре, надежный, с поддержкой бесплатного приложения PonyProg и способностью программировать все существующие микроконтроллеры семейства AVR прекрасное и не заменимое устройство для программиста. После разработки такого программатора, можно приступать к разработке первого микропроцессорного устройства на МК AVR.




Категория: Мои статьи | Добавил: Alex_Sky (03.11.2009)
Просмотров: 14835 | Комментарии: 4 | Теги: скачать схему программатора, PonyProg, МК, AVR, программатор, универсальный программатор, микроконтроллер, LPT программатор, программирование МК | Рейтинг: 4.0/4
Всего комментариев: 4
4 Салават  
0
LPT очень привередлив, даже при КЗ его можно спалить. Кроме того нужно заводить отдельное питание на устройство. Советую http://яэтосмогу.рф/usb-programmator-na-ft323rl/ или http://яэтосмогу.рф/usbasp-programmator-avr/

1 Виталий Юрьевич  
0
Первый проект. Спаял все как по вашей схеме. не получается увидеть ПК устройство. В чем может быть проблема?

2 Alex_Sky  
0
Скорее всего это проблемы в вашей пайке. Если вы уверены, что схема собрана верно, то попробуйте следующее:
- чем-то острым прочистить между дорожками, чтобы не было контакта и замерить ОМ-метром , что КЗ отсутствует;
- убедиться, что ваш разъем по контактом PLD-10 совпадает с разъемом PLD-10 вашего МК (прозвоните мультиметром выводы на соответствие);
- померить питания на микросхеме, имеется ли оно вообще там;
- убедится, что в PonyProg выбран нужный порт;
- желательно не русифицировать PonyProg, по скольку слышал, что из-за этого бывали ошибки в программировании.
Ну и в заключении, 99% всех неприятностей с программаторами, это не брежная пайка (обрыв, короткое замыкание и др. сопли).

3 Alex_Sky  
0
1) Не аккуратная пайка. Самая главная и частая проблема. Микро- сопли, обрывы, не надежные соединения.
2) Перепроверьте схему
3) Настройте правильно порт, а именно в Пони Прог выставте в Interface Setup/Sirial, I/O, выберите порт и больше ничего не трогайте.
ПК обноруживать устройство не будет. Оно будет просто работать.

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск
Категории раздела
Мои статьи [19]
Статистика

Онлайн всего: 2
Гостей: 2
Пользователей: 0
Форма входа
Друзья сайта
  • Yourdevice