ПРОГРАММАТОР AVR-МИКРОКОНТРОЛЛЕРОВ СЕМЕЙСТВА ATtiny

Полезная модель относится к области микроконтроллерной схемотехники, а именно к устройствам оперативного невнутрисхемного программирования современных 8-ми разрядных AVR-микроконтроллеров всего семейства ATtiny, которые обладают наилучшим соотношением стоимость/быстродействие/энергопотребление.
Как и все микроконтроллеры AVR фирмы Atmel, микроконтроллеры семейства ATtiny являются 8-битными микроконтроллерами, предназначенными для использования в высокотехнологичных встраиваемых технических приложениях. Они изготавливаются по малопотребляющей КМОП-технологии, которая в сочетании с усовершенствованной RISC-архитектурой позволяет достичь максимального наилучшего соотношения стоимость/быстродействие/энергопотребление. Удельное быстродействие AVR-микроконтроллеров может достигать значения 1 MIPS/МГц. AVR-микроконтроллеры семейства ATtiny предназначены, в первую очередь, для «бюджетных» приложений, не требующих большого объема аппаратных ресурсов. Важной особенностью AVR-микроконтроллеров является эффективное использование выводов кристалла. Например, в 8-выводном корпусе (кроме выводов питания) все выводы могут выполнять по три-четыре альтернативные функции. Все перечисленное делает AVR-микроконтроллеры семейства ATtiny наиболее экономически и функционально выгодными для изготовления серийных партий высокотехнологичных встраиваемых технических приложений в различных образцах техники, не требующих большого объема аппаратных ресурсов.
Основные результаты анализа возможностей программирования рассматриваемых микроконтроллеров, проведенного по книге: А.В.Евстифеев «Микроконтроллеры AVR семейства ATtiny». - М.: Издательский дом «Додэка-XXI», 2007. - 432 с.: ил. (Серия «Программируемые системы»), представлены в таблице, где в первом столбце указаны порядковые номера двадцати AVR-микроконтроллеров семейства ATtiny. Например, в таблице порядковому номеру 20 соответствует AVR-микроконтроллер ATtiny2313V (далее по 20 строке следует): 20-выводной в DIP-корпусе; VCC(+) - вывод 20; GND(-) - вывод 10; MOSI - вывод 17; MISO - вывод 18; SCK - вывод 19; RESET - вывод 1; XTAL1 - вывод 5 и XTAL2 - вывод 4. Таким образом, таблица содержит всю информацию о выводах AVR-микроконтроллеров семейства ATtiny, необходимую для их программирования.
Таблица
№, пп
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
Известен аналог - «Программатор DT-006», разработанный фирмой Dontronics и описанный в интернете по адресу: http://www.dontronics.com/dt006_assembly.html. Аналог ориентирован на программирование устаревших AVR-микроконтроллеров АТ89С1051, АТ89С2051, АТ89С405, AT90S3213 и др., которые в настоящее время сняты с производства фирмой Atmel.
Принципиальная электрическая схема аналога предлагаемой полезной модели представлена на рисунке в приложении 1 к данному описанию заявляемой полезной модели. Аналог (см. приложение 1 - аналог) включает в себя с одной стороны: штепсельный разъем компьютера ХР1 LPT (DB25M) с контактами: DATA1 (контакт 2), DATA3 (контакт 4), ОАТА4 (контакт 5), ВUSI(контакт 11) и GND(контакты 20-25), а с другой стороны - контакты, подключаемые непосредственно к программируемому микроконтроллеру XTAL1, XTAL2, MOSI, RESET, SCK, MISO и GND. Элементы Q1, С1 и С2 предназначены для запуска кварцевого генератора при программировании микроконтроллера.
При всей простоте и оригинальности технического решения существенными недостатками аналога являются:
1. Аналог ориентирован на старые типы микроконтроллеров, которые сняты с производства.
2. Даже если попробовать запрограммировать хотя бы один микроконтроллер из приведенных в таблице (например, пункт 20 - ATtiny2313V), то положительный результат не гарантирован и на это уйдет достаточно много трудов и времени (см. приложение 1 - аналог):
во-первых, для регулировки сигнала сброса (RESET) придется подобрать величину резистора R2;
во-вторых, отрегулировать амплитуду тактового сигнала программирования (SCK) подбором резистора R3;
в-третьих, отрегулировать амплитуду входных данных программирования (MOSI) резистором R1;
и в-четвертых, должны совпасть уровни выходных данных микроконтроллера (MISO) и компьютера (BUSI).
3. Аналог обеспечивает только внутрисхемное программирование микроконтроллера непосредственно в схеме, где он будет выполнять свои рабочие функции.
Вся совокупность перечисленных недостатков аналога делает его неприменимым даже при малосерийном производстве партий высокотехнологичных встраиваемых технических приложений в различных образцах техники на AVR-микроконтроллерах семейства ATtiny.
Наиболее близким по техническому решению является устройство - прототип «Схема программатора для микроконтроллеров AVR», представленная в приложении 2 - прототип к данному описанию заявляемой полезной модели. Прототип описан в книге: В.Н.Баранов. Применение микроконтроллеров AVR: схемы, алгоритмы, программы. - М.: «Издательский дом Додека-XXI», 2006. - 288 с. на рисунке 50 на странице 251.
Существенным отличием прототипа (приложение 2) от аналога (приложение 1) является наличие в схеме прототипа защитного буфера на микросхеме 74НС244 (КР1533АП5), которая представляет собой два четырехканальных управляемых буфера. Этот факт позволяет исключить первые два недостатка, указанные в аналоге. Кроме того, в прототипе введен штепсельный разъем IDC-10 с контактами (MISO, VDD, SCK, MOSI, RESET и GND), который всякий раз необходимо подключать к плате, в которой и будет работать программируемый микроконтроллер. Такое программирование тоже является внутрисхемным программированием и, следовательно, третий недостаток аналога остается в силе.
Учитывая, что современные AVR-микроконтроллеры семейства ATtiny должны быть удобными и функционально и экономически выгодными для изготовления серийных партий высокотехнологичных технических приложений в различных образцах техники, целесообразно остановиться отдельно на каждом недостатке прототипа, проанализировать их. Недостатками прототипа являются:
1. Хотя прототип позволяет программировать все AVR-микроконтроллеры семейства ATtiny, приведенные в таблице (их 20 штук), платы всех встраиваемых технических приложений обязательно должны иметь штепсельный разъем IDC-10 (см. приложение 2 - прототип) с контактами MISO (контакт - 1), VDD (контакт - 2), SCK (контакт - 3), MOSI (контакт - 4), RESET (контакт - 5) и GND (контакт - 6) для внутрисхемного программирования микроконтроллеров. А для того, чтобы обеспечить возможность внутрисхемного программирования, необходимо при разработке схемы на микроконтроллере соблюдать следующее правило: на четыре входа микроконтроллера, используемые при внутрисхемном программировании (MISO, SCK, MOSI, RESET), не должны поступать никакие мешающие сигналы, то есть к этим входам могут быть подключены только входы внешних микросхем, а не их выходы и т.д., что существенно повышает габаритные и уменьшает функциональные возможности встраиваемых технических приложений. Следовательно, плата микроконтроллера обязательно должна иметь штепсельный разъем для внутрисхемного программирования и часть выводов микроконтроллера нельзя использовать в его алгоритме работы. Поэтому применение прототипа для программирования микроконтроллеров серийных партий высокотехнологичных технических приложений приводит к необходимости выбора микроконтроллера с большим числом выводов и установки штепсельного разъема, что увеличивает стоимость и габариты устройства.
2. Кроме того, в серийных и малосерийных партиях высокотехнологичных технических приложений микроконтроллер программируется только один раз. Целесообразно заранее запрограммировать и проверить микроконтроллеры на программаторе без внутрисхемного программирования и затем установить их во встраиваемые технические приложения, что значительно снизит габариты и стоимость, повысит функциональные возможности встраиваемых технических приложений. Таким образом, при серийном производстве применение прототипа с внутрисхемным программированием является неоправданным и вредным.
Предлагаемой полезной моделью решается задача оперативного невнутрисхемного программирования и проверки результатов программирования AVR-микроконтроллеров семейства ATtiny, приведенных в таблице (их 20 штук), с целью дальнейшей их установки в соответствующие серийные партии высокотехнологичных встраиваемых технических приложений.
Поставленная задача достигается тем, что в программатор AVR-микроконтроллеров семейства ATtiny, содержащий LPT-порт, микросхему 47НС244, включающую два четырехканальных управляемых буфера и подтягивающий резистор введены сигнальное устройство на двух светодиодах и двух ограничительных резисторах, элементы кварцевого генератора на кварцевом резонаторе и двух конденсаторах, компенсационный стабилизатор напряжения на биполярном транзисторе, кремниевом стабилитроне, балластном резисторе и двух конденсаторах фильтра, панель 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, причем программирование является оперативным и невнутрисхемным.
За счет введения в невнутрисхемный программатор AVR-микроконтроллеров семейства ATtiny сигнального устройства на двух светодиодах и двух ограничительных резисторах, элементов кварцевого генератора на кварцевом резонаторе и двух конденсаторах, параметрического стабилизатора напряжения на биполярном транзисторе, кремниевом стабилитроне, балластном резисторе и двух конденсаторах фильтра, одной панели DIP-8, одной панели DIP-14 и двух панелей DIP-20(1) и DIP-20(2) для установки микроконтроллеров получены следующие новые результаты, обеспечивающие оперативное невнутрисхемное программирование и проверку результатов программирования:
- AVR-микроконтроллеров в 8-выводных панелях типа DIP-8 ATtiny85V, ATtiny85, ATtiny45V, ATtiny45, ATtiny25V, ATtiny25, ATtiny15L, ATtiny12L, ATtiny12V и ATtiny12;
- AVR-микроконтроллеров в 14-выводных панелях типа DIP-14 ATtmy84V, ATtiny84, ATtiny44V, ATtiny44, ATtiny24V, ATtiny24;
- AVR-микроконтроллеры в двух 20-выводных панелях типа DIP-20 ATtiny26L, ATtiny26, ATtiny2313V, ATtiny2313.
Таким образом, в результате принятых мер полезной моделью устраняются все недостатки прототипа, то есть обеспечивается возможность серийного оперативного невнутрисхемного программирования AVR-микроконтроллеров семейства ATtiny, с целью последующей установки их в серийные образцы высокотехнологичных встраиваемых технических приложений, где они и должны выполнять свои рабочие функции.
На фиг. изображена принципиальная электрическая схема устройства (полезной модели) - «Программатор AVR-микроконтроллеров семейства ATtiny».
Программатор AVR-микроконтроллеров семейства ATtiny (см. фиг.) включает в себя: 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; компенсационный стабилизатор напряжения на 5 В, состоящий из балластного резистора 10, кремниевого стабилитрона 11, регулирующего транзистора 12, низкочастотного и высокочастотного конденсаторов фильтра 13 и 14, соответственно; подтягивающий резистор 15, обеспечивающий режим записи информации в микроконтроллер; панель DIP-8 16 для установки 8-выводных AVR-микроконтроллеров ATtiny85V, ATtiny85, ATtiny45V, ATtiny45, ATtiny25V, ATtiny25, ATtinyl5L, ATtinyl2L, ATtinyl2V и ATtinyl2; панель DIP-14 17 для установки 14-выводных AVR-микроконтроллеров ATtiny84V, ATtiny84, ATtiny44V, ATtiny44, ATtiny24V, ATtiny24; первая панель DIP-20(1) 18 для установки 20-выводных AVR-микроконтроллеров ATtiny26L, ATtiny26; вторая панель DIP-20(2) 19 для установки 20-выводных AVR-микроконтроллеров ATtiny2313V, ATtiny2313; панели 16, 17, 18 и 19 с одноименными сигналами (MOSI, SCK, XTAL1, XTAL2, RESET, MISO, VCC и GND) электрически соединены, так, например, по сигналу MOSI электрически соединены ножка 5 панели 16 с ножкой 7 панели 17, с ножкой 1 панели 18 и с ножкой 17 панели 19.
Программатор AVR-микроконтроллеров семейства ATtiny (см. фиг.) работает следующим образом. Микроконтроллер, подлежащий программированию, вставляется в соответствующую панель программатора 16, 17, 18 или 19. LPT-порт 1 программатора подключается к LPT-порту персонального компьютера, на котором установлена одна из известных управляющих программатором программ (например, управляющая программа «IC-Prog» с сайта http://www.ic-prog.com или управляющая программа «PonyProg» с сайта http://www.lancos.com). Далее в управляющую программу заносится полученный любым из известных способов НЕХ-файл алгоритма работы микроконтроллера. Затем управляющая программа подает сигналы на LPT-порт 1 программатора и последний, в процессе программирования, включает и выключает верхний и нижний буферы микросхемы 2, чем организует обмен информацией управляющей программы с программируемым микроконтроллером:
1. Под воздействием тактового сигнала SCK входные данные MOSI (а в них входят НЕХ-файлы памяти программ flash и памяти данных eeprom для программируемого микроконтроллера) записываются в микроконтроллер.
2. Под воздействием тактового сигнала SCK выходные данные микроконтроллера MISO (а в них входят НЕХ-файлы памяти программ flash и памяти данных eeprom запрограммированного микроконтроллера) выводятся для контроля и записываются в управляющую программу.
3. Команда RESET переводит микроконтроллер в режим программирования, далее в режим контроля результатов программирования и при благоприятном исходе осуществляет сброс схемы - микроконтроллер запрограммирован.
Таким образом, введение в полезную модель дополнительно: сигнального устройства на двух светодиодах и двух ограничительных резисторах, элементов кварцевого генератора на кварцевом резонаторе и двух конденсаторах, компенсационного стабилизатора напряжения на биполярном транзисторе, кремниевом стабилитроне, балластном резисторе и двух конденсаторах фильтра, панелей DIP-8, DIP-14 и двух DIP-20 обеспечивает возможность серийного оперативного невнутрисхемного программирования AVR-микроконтроллеров семейства ATtiny, с целью последующей установки их в серийные образцы высокотехнологичных встраиваемых технических приложений, где они и должны выполнять свои рабочие функции по заданному алгоритму работы.