ПРОГРАММАТОР AVR-МИКРОКОНТРОЛЛЕРОВ С УНИВЕРСАЛЬНЫМ КОНТРОЛЛЕРОМ ЗАЩИТЫ

Полезная модель относится к области микроконтроллерной схемотехники, а именно к универсальным устройствам оперативного невнутрисхемного программирования современных 8-битных AVR-микроконтроллеров семейств ATmega и ATtiny, которые обладают наилучшим соотношением: функциональные возможности / стоимость / быстродействие / энергопотребление.
Известен аналог - Патент на полезную модель №89915 РФ. Бюл. №35 за 2009 год. «Программатор AVR-микроконтроллеров семейств ATmega и ATtiny» // Акиншин О.Н., Акиншин Н.С., Анкудинов К.А., Анкудинов А.И. и др. Схема аналога представлена в приложении №1 к данному описанию. В табл.1 и табл.2 представлены цоколевка (распиновка) AVR-микроконтроллеров семейств ATtiny и ATmega.
Таблица 1
№, пп
ATtiny
DIP
VCC (+)
GND (-)
MOSI
MISO
SCK
RESET
XTAL1
XTAL2
1.
85V
8
8
4
5
6
7
1
2
3
2.
85
8
8
4
5
6
7
1
2
3
3.
45V
8
8
4
5
6
7
1
2
3
4.
45
8
8
4
5
6
7
1
2
3
5.
25V
8
8
4
5
6
7
1
2
3
6.
25
8
8
4
5
6
7
1
2
3
7.
15L
8
8
4
5
6
7
1
2
3
8.
12L
8
8
4
5
6
7
1
2
3
9.
12V
8
8
4
5
6
7
1
2
3
10.
12
8
8
4
5
6
7
1
2
3
11.
84V
14
1
14
7
8
9
4
2
3
12.
84
14
1
14
7
8
9
4
2
3
13.
44V
14
1
14
7
8
9
4
2
3
14.
44
14
1
14
7
8
9
4
2
3
15.
24V
14
1
14
7
8
9
4
2
3
16.
24
14
1
14
7
8
9
4
2
3
17.
26L
20
5
6,16
1
2
3
10
7
8
18.
26
20
5
6,16
1
2
3
10
7
8
19.
2313
20
20
10
17
18
19
1
5
4
20.
2313V
20
20
10
17
18
19
1
5
4
Аналог включает в себя (см. приложение №1): LPT-порт; микросхему 47НС244, включающую два четырехканальных управляемых буфера и подтягивающий резистор; сигнальное устройство на двух светодиодах и двух
Таблица 2
№ п/п
ATmega
DIP
VCC (+)
GND (-)
MOSI
MISO
SCK
RESET
XTAL1
XTAL2
1
8
28
7
8,22
17
18
19
1
9
10
2
8L
28
7
8,22
17
18
19
1
9
10
3
48
28
7
8,22
17
18
19
1
9
10
4
48V
28
7
8,22
17
18
19
1
9
10
5
88
28
7
8,22
17
18
19
1
9
10
6
88V
28
7
8,22
17
18
19
1
9
10
7
168
28
7
8,22
17
18
19
1
9
10
8
168V
28
7
8,22
17
18
19
1
9
10
9
16
40
10
11,31
6
7
8
9
13
12
10
16L
40
10
11,31
6
7
8
9
13
12
11
32
40
10
11,31
6
7
8
9
13
12
12
32L
40
10
11,31
6
7
8
9
13
12
13
164
40
10
11,31
6
7
8
9
13
12
14
164V
40
10
11,31
6
7
8
9
13
12
15
324
40
10
11,31
6
7
8
9
13
12
16
324V
40
10
11,31
6
7
8
9
13
12
17
644
40
10
11,31
6
7
8
9
13
12
18
644V
40
10
11,31
6
7
8
9
13
12
19
8535
40
10
11,31
6
7
8
9
13
12
20
8535L
40
10
11,31
6
7
8
9
13
12
21
162
40
40
20
6
7
8
9
19
18
22
162V
40
40
20
6
7
8
9
19
18
23
8515
40
40
20
6
7
8
9
19
18
24
8515L
40
40
20
6
7
8
9
19
18
ограничительных резисторах; кварцевый генератор на двух кварцевых резонаторах (4,0 и 8,0 МГц), переключателе резонаторов и двух конденсаторах; компенсационный стабилизатор напряжения на биполярном транзисторе, кремниевом стабилитроне, балластном резисторе и двух конденсаторах фильтра; панель DIP-8 для программирования микроконтроллеров ATtiny85V, ATtiny85, ATtiny45V, ATtiny45, ATtiny25V, ATtiny25, ATtiny15L, ATtiny12L, ATtiny12V и ATtiny12; панель DIP-14 для программирования микроконтроллеров ATtiny84V, ATtiny84, ATtiny44V, ATtiny44, ATtiny24V и ATtiny24; первую панель DIP-20(1) для программирования микроконтроллеров ATtiny26L и ATtiny26; вторую панель DIP-20(2) для программирования микроконтроллеров ATtiny2313V и ATtiny2313; панель DIP-28 для программирования микроконтроллеров ATmega8, ATmega8L, ATmega48, ATmega48V, ATmega88, ATmega88V, ATmega168, ATmega168V, первую панель DIP-40(1) для программирования микроконтроллеров ATmega16, ATmega16L, ATmega32, ATmega32L, ATmega164, ATmega164V, ATmega324, ATmega324V, ATmega644, ATmega644V, ATmega8535 и ATmega8535L, вторую панель DIP-40(2) для программирования микроконтроллеров ATmega162, ATmega162V, ATmega8515 и ATmega8515L.
Опыт эксплуатации аналога и анализ таблиц 1 и 2 выявили два существенных недостатка аналога:
1. DIP-панели для установки программируемых AVR-микроконтроллеров не обеспечивают безошибочной установки микроконтроллера в соответствии с его цоколевкой (распиновкой) и при смене положения микроконтроллера на 180° в части случаев происходит смена полярности выводов VCC и GND, что в свою очередь приводит в 70-80% случаев к выходу из строя программируемых AVR-микроконтроллеров. Такая ошибка даже при малых партиях серийной продукции (программировании микроконтроллеров) имеет достаточную вероятность, и ее нельзя не принимать во внимание.
2. Кроме того возможна ситуация когда вывод VCC AVR-микроконтроллера не имеет гальванического контакта с выводом VCC DIP-панели программатора или наоборот - когда вывод GND AVR-микроконтроллера не имеет гальванического контакта с выводом GND DIP-панели программатора. В такой ситуации программируемый AVR-микроконтроллер, даже при малом серийном производстве, в достаточном количестве случаев выходит из строя в процессе программирования.
Известен прототип - Патент на полезную модель №99677 РФ. Бюл. №32 за 2010 год. «Программатор AVR-микроконтроллеров с контроллером защиты» // Агафонов Ю.М., Акиншин Н.С., Анкудинов К.А., Анкудинов А.И. и др. Схема прототипа представлена в приложении №2 к данному описанию.
Прототип включает в себя (см. приложение №2): LPT-порт; микросхему 47НС244, включающую два четырехканальных управляемых буфера и подтягивающий резистор; сигнальное устройство на двух светодиодах и двух ограничительных резисторах; кварцевый генератор на двух кварцевых резонаторах (4,0 и 8,0 МГц), переключателе резонаторов и двух конденсаторах; компенсационный стабилизатор напряжения на биполярном транзисторе, кремниевом стабилитроне, балластном резисторе и двух конденсаторах фильтра; панель DIP-8 для программирования микроконтроллеров ATtiny85V, ATtmy85, ATtiny45V, ATtiny45, ATtiny25V, ATtiny25, ATtiny15L, ATtiny12L, ATtiny12V и ATtiny12; панель DIP-14 для программирования микроконтроллеров ATtiny84V, ATtiny84, ATtiny44V, ATtiny44, ATtiny24V и ATtiny24; первую панель DIP-20(1) для программирования микроконтроллеров ATtiny26L и ATtiny26; вторую панель DIP-20(2) для программирования микроконтроллеров ATtiny2313V и ATtiny2313; панель DIP-28 для программирования микроконтроллеров ATmega8, ATmega8L, ATmega48, ATmega48V, ATmega88, ATmega88V, ATmega168, ATmega168V, первую панель DIP-40(1) для программирования микроконтроллеров ATmega16, ATmega16L, ATmega32, ATmega32L, ATmega164, ATmega164V, ATmega324, ATmega324V, ATmega644, ATmega644V, ATmega8535 и ATmega8535L, вторую панель DIP-40(2) для программирования микроконтроллеров ATmega162, ATmega162V, ATmega8515 и ATmega8515L; контроллер защиты, содержащий маломощный тиристор марки КУ101Г, резистор цепи управления тиристором, подстроенный измерительный резистор и нормально разомкнутую кнопку сброса.
В прототипе частично устранены оба недостатка аналога, но опыт эксплуатации прототипа и анализ таблиц 1 и 2 выявили следующие существенные недостатки прототипа:
1. Так как AVR-микроконтроллеры семейств ATtiny и ATmega имеют различные по величине допустимые максимальные токи (100 мА и 200 мА, соответственно), то установленный в прототипе один номинал тока защиты, равный 200 мА, обеспечивает надежную защиту микроконтроллеров семейства ATmega и не обеспечивает надежную защиту микроконтроллеров семейства ATtiny.
2. Применение в контроллере защиты в качестве исполнительного устройства маломощного тиристора марки КУ101Г, ввиду нестабильности параметров последнего (напряжение открывания тиристора в зависимости от партии и температуры окружающей среды может варьироваться от минус 50% до плюс 100% от номинального значения), требует индивидуальной настройки контроллера защиты каждого программатора в изготавливаемой серии программаторов, что привело к низкой технологичности производства.
3. Перечисленные в п.1 и п.2 недостатки свидетельствуют низкие универсальность функций (недостаточную функциональную полноту) и технологичность производства контроллеров защиты программаторов AVR-микроконтроллеров даже при их малом серийном производстве.
Полезной моделью решается задача повышения функциональной полноты и технологичности серийного производства программаторов AVR-микроконтроллеров семейств ATtiny и ATmega с универсальным контроллером защиты.
Поставленная задача достигается тем, что в программатор AVR-микроконтроллеров с универсальным контроллером защиты, содержащий LPT-порт, микросхему 47НС244 с подтягивающим резистором, сигнальное устройство на двух светодиодах и двух ограничительных резисторах, кварцевый генератор на двух кварцевых резонаторах с переключателем резонаторов и двух конденсаторах, стабилизатор напряжения на биполярном транзисторе, кремниевом стабилитроне, балластном резисторе и двух конденсаторах фильтра, панели DIP-8, DIP-14 и две панели DIP-20 для программирования AVR-микроконтроллеров семейства ATtiny, панель DIP-28 и две панели DIP-40 для программирования AVR-микроконтроллеров семейства ATmega введен универсальный контроллер защиты, содерщащий AVR-микроконтроллер ATtiny 15L, переключатель для выбора программирования микроконтроллеров ATtiny или ATmega, высокоточный измерительный резистор, сигнальное устройство на светодиоде и ограничительном резисторе, блок питания универсального контроллера защиты на кремниевом стабилитроне, балластном резисторе и конденсаторе фильтра.
За счет введения в предлагаемую полезную модель универсального контроллера защиты, состоящего из AVR-микроконтроллера ATtiny 15L, переключателя для выбора программирования микроконтроллеров ATtiny или ATmega, высокоточного измерительного резистора номинала 0,22 Ом±0,1%, сигнального устройства на светодиоде АЛ336 В и ограничительном резисторе номинала 3,0 кОм, блока питания универсального контроллера защиты на кремниевом стабилитроне КС447А, балластном резисторе номинала 300 Ом и конденсаторе фильтра номинала 500 мкФ, обеспечивается универсальность рабочих функций и технологичность серийного производства программируемых AVR-микроконтроллеров семейств ATtiny и ATmega при сохранении работоспособности программируемых AVR-микроконтроллеров во всех возможных нестандартных ситуациях: при ошибочной установке AVR-микроконтроллеров в DIP-панели программатора, с разворотом на 180° от нормального положения,при отсутствии контакта между одноименными ножками микроконтроллера и DIP-панели и при упомянутых выше ситуациях На фиг. изображена принципиальная электрическая схема устройства полезной модели - «Программатор AVR-микроконтроллеров с универсальным контроллером защиты».
Программатор AVR-микроконтроллеров с универсальным контроллером защиты (см. фиг.) включает в себя: LPT-порт (DB 25M) 1, который подключается к компьютеру и имеет контакты 4 - (DATA2), 5 - (DATA3), 6 - (DATA4), 7 - (DATA5), 8 - (DATA6), 9 - (DATA7), 10 - (АСК), 2 и 12, 3 и 11 перемкнуты для опознавания программатора управляющей программой компьютера; микросхему 2 марки 74НС244 - два четырехканальных управляемых буфера; первое сигнальное устройство на резисторе 3 и светодиоде 4 и второе сигнальное устройство на резисторе 5 и светодиоде 6, предназначенные для визуального контроля записи и считывания информации микроконтроллера, соответственно; элементы кварцевого генератора, состоящего из двух конденсаторов 7 и 8, переключателя 9 и двух кварцевых резонаторов 10 (4 МГц) и 11 (8 МГц); компенсационный стабилизатор напряжения на 5 В, состоящий из балластного резистора 12, кремниевого стабилитрона 13, регулирующего транзистора 14, низкочастотного и высокочастотного конденсаторов фильтра 15 и 16, соответственно; подтягивающий резистор 17, обеспечивающий режим записи информации в микроконтроллер; панель DIP-8 18 для установки и программирования 8-выводных AVR-микроконтроллеров ATtiny85V, ATtiny85, ATtiny45V, ATtiny45, ATtiny25V, ATtiny25, ATtiny15L, ATtiny12L, ATtinyl2V и ATtinyl2; панель DIP-14 19 для установки и программирования 14-выводных AVR-микроконтроллеров ATtiny84V, ATtiny84, ATtiny44V, ATtiny44, ATtiny24V, ATtiny24; первую панель DIP-20(1) 20 для установки и программирования 20-выводных AVR-микроконтроллеров ATtiny26L, ATtiny26; вторую панель DIP-20(2) 21 для установки и программирования 20-выводных AVR-микроконтроллеров ATtiny2313V, ATtiny2313; панель DIP-28 22 для установки и программирования 28-выводных AVR-микроконтроллеров ATmega8, ATmega8L, ATmega48, ATmega48V, ATmega88, ATmega88V, ATmega168, ATmega168V; первую панель DIP-40(1) 23 для установки и программирования 40-выводных AVR-микроконтроллеров ATmega16, ATmega16L, ATmega32, ATmega32L, ATmega164, ATmega164V, ATmega324, ATmega324V, ATmega644, ATmega644V, ATmega8535, ATmega8535L; вторую панель DIP-40(2) 21 для установки и программирования 40-выводных AVR-микроконтроллеров ATmega162, ATmega162V, ATmega8515 и ATmega8515L; DIP-панели 18, 19, 20, 21, 22, 23 и 24 с одноименными сигналами (MOSI, SCK, XTAL1, XTAL2, RESET, MISO, VCC и GND) электрически соединены, так например, по сигналу MOSI электрически соединены: вывод 5 панели 18, вывод 7 панели 19, вывод 1 панели 20, вывод 17 панели 21, вывод 17 панели 22, вывод 6 панели 23 и вывод 6 панели 24 и т.п.; AVR-микроконтроллер ATtiny15L 25; ключ 26 для выбора программирования микроконтроллеров ATtiny или ATmega-микроконтроллеров; высокоточный измерительный резистор 27; третье сигнальное устройство на светодиоде 28 и ограничительном резисторе 29; блок питания универсального контроллера защиты на кремниевом стабилитроне 30, балластном резисторе 31 и конденсаторе фильтра 32 (введенные элементы 25-32 и являются универсальным контроллером защиты программатора).
Полезная модель - «Программатор AVR-микроконтроллеров с универсальным контроллером защиты» (см. фиг.) может работать в двух режимах: стандартном - режиме программирования и аварийном -(нестандартном) режиме.
В режиме программирования (см. фиг.) микроконтроллер, подлежащий программированию, вставляется в соответствующую панель программатора 18-24; LPT-порт 1 программатора подключается к LPT-порту персонального компьютера. Для современных компьютеров -многоядерных или с тактовой частотой процессора более 2,0 ГГц переключатель 9 программатора устанавливается в правое по схеме, положение, а в противном случаев - не более (4МГц). На компьютере установлена одна из известных управляющих программатором программ (например, управляющая программа «IC-Prog» с сайта http://www.ic-prog.com или управляющая программа «PonyProg» с сайта http://www.lancos.com). Далее в управляющую программу заносится полученный любым из известных способов НЕХ-файл алгоритма работы AVR-микроконтроллера. Далее управляющая программа подает сигналы на LPT-порт 1 программатора и последний, в процессе программирования, включает и выключает верхний и нижний буферы микросхемы 2, чем организует обмен информацией управляющей программы с программируемым AVR-микроконтроллером:
- под воздействием тактового сигнала SCK входные данные MOSI, а в них входят НЕХ-файлы памяти программ FLASH и памяти данных EEPROM для программируемого микроконтроллера, записываются в микроконтроллер;
- под воздействием тактового сигнала SCK выходные данные микроконтроллера MISO, а в них входят НЕХ-файлы памяти программ FLASH и памяти данных EEPROM запрограммированного микроконтроллера, выводятся для контроля и записываются в управляющую программу компьютера;
- команда RESET переводит микроконтроллер в режим программирования, далее в режим контроля результатов программирования, и при благоприятном исходе осуществляет сброс схемы - микроконтроллер запрограммирован.
В аварийном (нестандартном) режиме работы программатора (см. фиг.) включается в работу универсальный контроллер защиты, выполненный на элементах 25-32. В первую очередь остановимся на основных параметрах и настройках микроконтроллера ATtiny15L 25: напряжение питания 2,7-5,5 В; FLASH-память программ - 1 Кбайт; EEPROM-память данных - 64 байта; регистры общего назначения и регистры ввода-вывода - 32 и 64 байта, соответственно; три внутренних таймера; четырехканальный 10-битный АЦП последовательного приближения с 20-кратным (26 дБ) внутренним предварительным усилением сигнала по входу AIN0 (см. фиг.); АЦП установлен в режим непрерывного преобразования; внутренний RC-генератор с собственной частотой 1,6 МГц, которая делится таймером до 200 кГц - выбранная частота преобразования АЦП; в АЦП выбран источник встроенного опорного напряжения 2,56 В; в соответствии с алгоритмом работы микроконтроллера ATtiny15L 25 в его EEPROM-память данных записаны два числа 440 и 880, пропорциональные допустимым значениям токов 100 мА и 200 мА для программируемых микроконтроллеров семейств ATtiny и ATmega, соответственно.
1. Суть обобщенного алгоритма аварийного режима работы программатора AVR-микроконтроллеров семейства ATtiny с универсальным контроллером защиты сводится к выполнению следующих операций (см. фиг.):
- ключ 26 включен - микроконтроллер 25 готов контролировать работу программатора AVR-микроконтроллеров семейства ATtiny;
- ток через выводы VCC и GND, вставленного неверно в программатор микроконтроллера семейства ATtiny, достигает аварийного значения - более 10 мА;
- падение напряжения на высокоточном измерительном резисторе 27 становится более 0,22 Ом×100 мА=22 мВ, которое положительным потенциалом приложено к входу AIN0 АЦП микроконтроллера ATtiny15L 25;
- с учетом 20-кратного внутреннего усиления сигнала измеренное напряжение па выходе АЦП становится более 440 мВ, а в EEPROM-памяти микроконтроллера 25 записано число равное 440 мВ, следовательно, измеренное АЦП число больше записанного в EEPROM-памяти микроконтроллера 25 - произошла перегрузка программируемого микроконтроллера семейства ATtiny;
- на линии порта РВ4 микроконтроллера 25 появляется нулевой потенциал, который шунтирует кремниевый стабилитрон 13 и напряжение между выводами VCC и GND DIP-панелей 18-24 становится близким к нулю, то есть осуществлена защита от выхода из строя программируемого AVR-микроконтроллера семейства ATtiny;
- потенциал линии порта РВ3 микроконтроллера 25 становится высоким и светодиод 28 сигнализирует перегрузку.
2. Суть обобщенного алгоритма аварийного режима работы программатора AVR-микроконтроллеров семейства ATmega с универсальным контроллером защиты подобна п.1 и сводится к выполнению следующих операций (см. фиг.):
- ключ 26 отключен - микроконтроллер 25 готов контролировать работу программатора AVR-микроконтроллеров семейства ATmega;
- ток через выводы VCC и GND, вставленного неверно в программатор микроконтроллера семейства ATmega, достигает аварийного значения - более 200 мА;
- падение напряжения на высокоточном измерительном резисторе 27 становится более 0,22 Ом×200 мА=44 мВ, которое положительным потенциалом приложено к входу AIN0 АЦП микроконтроллера ATtiny 15L 25;
- с учетом 20-кратного внутреннего усиления сигнала измеренное напряжение па выходе АЦП становится более 880 мВ, а в EEPROM-памяти микроконтроллера 25 записано число равное 880, следовательно, измеренное АЦП число больше записанного в EEPROM-памяти микроконтроллера 25 - произошла перегрузка программируемого микроконтроллера семейства ATmega;
- на линии порта РВ4 микроконтроллера 25 появляется нулевой потенциал, который шунтирует кремниевый стабилитрон 13 и напряжение между выводами VCC и GND DIP-панелей 18-24 становится близким к нулю, то есть осуществлена защита от выхода из строя программируемого AVR-микроконтроллера семейства ATmega;
- потенциал линии порта РВ3 микроконтроллера 25 становится высоким и светодиод 28 сигнализирует перегрузку.
Далее необходимо установленный микроконтроллер вынуть из DIP-панели программатора 18-24, правильно и надежно установить его в DIP-панель и запрограммировать.
Таким образом, введение в полезную модель универсального контроллера защиты (см. фиг.), состоящего из: AVR-микроконтроллера ATtiny15L 25; ключа 26 для выбора программирования микроконтроллеров ATtiny или ATmega; высокоточного измерительного резистора 27; сигнального устройства на светодиоде 28 и ограничительном резисторе 29; блока питания универсального контроллера защиты на кремниевом стабилитроне 30, балластном резисторе 31 и конденсаторе фильтра 32 обеспечило:
1. Повышение функциональной полноты (универсальности) «Программатора AVR-микроконтроллеров с универсальным контроллером защиты», заключающееся в исключении возможности выхода из строя программируемых AVR-микроконтроллеров как семейства ATmega, так и семейства ATtiny при неправильной их установке в DIP-панели программатора.
2. Повышение технологичности серийного производства «Программаторов AVR-микроконтроллеров с универсальным контроллером защиты», за счет исключения необходимости индивидуальной настройка каждого образца универсального контроллера защиты программатора.