Информационный портал MSEVM
 Поиск





Главная > Программаторы > Программаторы AVR микроконтроллеров

Разновидности программаторов.

Существует большое количество различных программаторов, но их можно разделить на две категории: подключаемые к LPT порту компьютера и подключаемые к COM порту, причём это разделение весьма условно (хотя я и не встречал описания программатора, подключаемого к USB порту компьютера, но сделать его довольно просто). Преимуществом LPT программатора является его простота: в простейшем случае он выглядит как несколько проводков, соединяющих непосредственно выводы LPT порта и программируемого микроконтроллера, более сложная схема представляет собой шинный формирователь, через который осуществляется связь компьютера с микроконтроллером. Несмотря на недостатки первой схемы (на разных компьютерах она ведёт себя по-разному из-за разброса характеристик микросхем LPT портов, наводки в кабеле, необходимость отключать программатор от программируемой микросхемы после программирования) она может оказаться полезной при необходимости запрограммировать одну-две микросхемы. При постоянной работе с микроконтроллерами следует воспользоваться более сложной схемой. Шинный формирователь позволяет не отключать программатор от микроконтроллера после программирования, т.к. программа переводит его выводы в Z-состояние по окончанию работы. Однако у программаторов, подключаемых к LPT порту есть и недостатки. Самый главный из них заключается в том, что программатор занимает обычно единственный доступный в компьютере порт, который, к тому же, в большинстве систем занят принтером, и приходиться либо покупать мультикарту или новый принтер, либо постоянно переключать принтер и программатор, что не очень удобно. От этого недостатка свободны схемы для COM порта (хотя сейчас можно ещё встретить системы, где один COM порт занят мышой, а другой - модемом, но такая конфигурация встречается реже, чем принтер на LPT порту и поэтому как минимум один из COM портов в системе свободен). Также, как и в случае с LPT программаторами, существуют простые схемы и более сложные. В простейшем случае схема представляет собой преобразователи уровней RS232 в TTL и наоборот для отдельных сигналов, необходимых для ISP (у COM порта три линии входа и пять линий выхода, для IS программирования требуется три линии выхода (SCK, MOSI, Reset) и одна линия входа (MISO)). Схема более сложного программатора на COM порт состоит из микросхемы интерфейса RS-232 и микроконтроллера, преобразующего команды программы на PC в команды, понятные программируемой микросхемой. К тому же такое построение схемы позволяет практически неограниченно "наворачивать" схему, - можно поставить любое количество индикаторов для индикации режима программирования, можно подключить микроконтроллер к ОЗУ, чтобы программа для программируемой микросхемы сначала переписывалась в ОЗУ, а затем, независимо от работы PC, переписалась в программируемую микросхему (в этом случае исключаются ошибки программирования, связанные со сбоем в связи между PC и программатором), можно также сделать программатор с одной универсальной панелькой для всех программируемых микросхем, - всё зависит от программы управляющего микроконтроллера и фантазии разработчика :-).

Программаторы можно разделить и по типу подключения к программируемой микросхеме: либо она вставляется в панельку программатора, либо программирование осуществляется внутрисхемно (с помощью специального разъёма, предусмотренного разработчиком устройства). Несомненно, последний тип подключения очень удобен, но, к сожалению, не все микроконтроллеры поддерживают такой режим программирования, к тому же при внутрисхемном программировании невозможно запрограммировать некоторые биты конфигурации и для их изменения следует воспользоваться параллельным программатором. Практически все микроконтроллеры фирмы Atmel поддерживают режим ISP, к тому же при повседневной работе с микроконтроллерами вполне достаточно внутрисхемного программатора.

Подключение микроконтроллера к программатору.

В таблице 1 приведены выводы микроконтроллеров, необходимые для внутрисхемного программирования (при программировании микросхемы некоторые программаторы могут генерировать тактовые импульсы, которые подаются на вывод XTAL 1).
Таблица 1.
Контроллер Pins (DIP) Vcc GND Reset SCK MOSI MISO XTAL 1
ATtiny12 8 8 4 1 7 5 6 2
ATtiny15 8 8 4 1 7 5 6 внутр
AT90S1200 20 20 10 1 19 17 18 5
AT90S2313 20 20 10 1 19 17 18 5
AT90S2323 8 8 4 1 7 5 6 2
AT90S2343 8 8 4 1 7 5 6 2
AT90S4433 28 7 8 1 19 17 18 9
AT90S8515 40 40 20 9 8 6 7 19
AT90S8535 40 10 11 9 8 6 7 13
ATmega8 28 7 8 1 19 17 18 9
ATmega16 40 10 11 9 8 6 7 13
ATmega32 40 10 11 9 8 6 7 13
ATmega161 40 40 20 9 8 6 7 19
ATmega162 40 40 20 9 8 6 7 19
ATmega163 40 10 11 9 8 6 7 13
ATmega323 40 10 11 9 8 6 7 13
ATmega8515 40 40 20 9 8 6 7 19
Разъём, через который микросхема подключается к программатору может быть любой, но чтобы не возникало путаницы желательно придерживаться какого-либо стандарта. На данное время мне известно три типа разъёмов, более или менее распространенных. Это IDC10 с разводкой Altera (ByteBlaster), IDC10 с разводкой Atmel (STK200/300) и IDC6 с разводкой Atmel. Распиновка этих разъёмов приведена в таблице 2.



Таблица 2.
Pin IDC10 (Altera) IDC10 (Atmel) IDC6 (Atmel)
1 SCK MOSI MISO
2 GND Vcc Vcc
3 MISO LED SCK
4 Vcc GND MOSI
5 Reset Reset Reset
6 ключ GND GND
7 NC SCK -
8 XTAL 1 GND -
9 MOSI MISO -
10 GND GND -


В шестой контакт (ключ) разъёма Altera (ByteBlaster) рекомендуется забить кусочек спички, а соответствующую ногу разъёма не паять на плату, тогда можно будет отличить все три вида разъёмов друг от друга.

Программаторы:

Рудных Владимир
Mailto: Dreadatour@mail.ru










e-mail рассылки





Ортопедические подушки и матрасы.






Яндекс цитирования Rambler's Top100