Программатор avr-микроконтроллеров семейств atmega и attiny
Полезная модель относится к области микроконтроллерной схемотехники, а именно к устройствам оперативного невнутрисхемного программирования современных 8-ми разрядных AVR-микроконтроллеров семейств ATmega и ATtiny.
Полезной моделью решается задача оперативного невнутрисхемного программирования и проверки результатов программирования AVR-микроконтроллеров как семейства ATtiny, так и семейства ATmega, обеспечения возможности совместной работы программатора как с устаревшими, так и с современными многоядерными или с тактовой частотой процессора 1,5 ГГц и более персональными компьютерами.
Программатор AVR-микроконтроллеров семейств ATmega и ATtiny, содержащий LPT-порт, микросхему 47НС244 с подтягивающим резистором, сигнальное устройство на двух светодиодах и двух ограничительных резисторах, кварцевый генератор на кварцевом резонаторе и двух конденсаторах, стабилизатор напряжения на биполярном транзисторе, кремниевом стабилитроне, балластном резисторе и двух конденсаторах фильтра, панели DIP-8, DIP-14 и две панели DIP-20 для программирования двадцати типов микроконтроллеров семейства ATtiny, при этом в устройство введены панель 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.
Полезная модель относится к области микроконтроллерной схемотехники, а именно к устройствам оперативного невнутрисхемного программирования современных 8-ми разрядных AVR-микроконтроллеров семейств ATmega и ATtiny, которые обладают наилучшим соотношением функциональные возможности/стоимость/быстродействие/энергопотребление.
Известен аналог - «Программатор для микроконтроллеров AVR», схема которого представлена в приложении 1 к данному описанию заявляемой полезной модели. Этот аналог описан в книге: В.Н.Баранов. Применение микроконтроллеров AVR: схемы, алгоритмы, программы. - М.: «Издательский дом Додека-XXI», 2006.-288 с. на рис.50 стр.251.
В схему аналога (см. приложение 1) входят: параллельный LPT - порт (DB-25M), через который программатор подключается к персональному компьютеру; защитный буфер на микросхеме 74НС244 (КР1533АП5), которая представляет собой два четырехканальных управляемых буфера и позволяет согласовать сигналы LPT - порта с микроконтроллером; штепсельный разъем IDC-10 с контактами (MISO - 1, VDD - 2, SCK - 3, MOSI - 4, RESET - 5 и GND - 6), который всякий раз необходимо подключать к плате, где и будет работать программируемый микроконтроллер. Такое программирование является внутрисхемным программированием.
Недостатками аналога являются:
1. Хотя аналог позволяет программировать все AVR-микроконтроллеры, но платы всех встраиваемых технических приложений обязательно должны иметь штепсельный разъем IDC-10 (см. приложение 1 - аналог) с контактами MISO (контакт - 1), VDD (контакт - 2), SCK (контакт - 3), MOSI (контакт - 4), RESET (контакт - 5) и GND (контакт - 6) для внутрисхемного программирования микроконтроллеров. А для того, чтобы обеспечить возможность внутрисхемного программирования, необходимо при разработке схемы на микроконтроллере соблюдать следующее правило: на четыре входа микроконтроллера, используемые при внутрисхемном программировании (MISO, SCK, MOSI, RESET), не должны поступать никакие мешающие сигналы, то есть к этим входам могут быть подключены только входы внешних микросхем, а не их выходы и т.д., что существенно повышает габаритные и уменьшает функциональные возможности встраиваемых технических приложений. Следовательно, плата микроконтроллера обязательно должна иметь штепсельный разъем для внутрисхемного программирования и часть выводов микроконтроллера нельзя использовать в его алгоритме работы. Поэтому применение аналога для программирования микроконтроллеров серийных партий высокотехнологичных технических приложений приводит к необходимости выбора микроконтроллера с большим числом выводов и установки штепсельного разъема, что увеличивает стоимость и габариты устройства.
2. Кроме того, в серийных и малосерийных партиях высокотехнологичных технических приложений микроконтроллер программируется только один раз. Целесообразно заранее запрограммировать и проверить микроконтроллеры на программаторе без внутрисхемного программирования и затем установить их во встраиваемые технические приложения, что значительно снизит габариты и стоимость, повысит функциональные возможности встраиваемых технических приложений. Таким образом, при серийном производстве применение программатора - аналога с внутрисхемным программированием является неоправданным и вредным.
Известен прототип - Патент на полезную модель 85779 РФ. Бюл.
22 за 2009 год. «Программатор AVR-микроконтроллеров семейства ATtiny» // Акиншин О.Н., Акиншин Н.С., Анкудинов К.А., Анкудинов А.И., Глаголев О.А. и др. Схема прототипа представлена в приложении 2 к данному описанию. В табл.1 представлена цоколевка AVR-микроконтроллеров семейства ATtiny.
Таблица 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 |
Прототип включает в себя: LPT-порт; микросхему 47НС244, включающую два четырехканальных управляемых буфера и подтягивающий резистор; сигнальное устройство на двух светодиодах и двух ограничительных резисторах; кварцевый генератор на кварцевом резонаторе (4 МГц) и двух конденсаторах; компенсационный стабилизатор напряжения на биполярном транзисторе, кремниевом стабилитроне, балластном резисторе и двух конденсаторах фильтра; панель 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, которые представлены в табл.1, причем, что положительно, программирование является оперативным и невнутрисхемным.
В прототипе устранены оба недостатка аналога, но опыт эксплуатации прототипа выявил два существенных его недостатка;
1. AVR-микроконтроллеры семейства ATtiny значительно уступают по критерию функциональной полноты AVR-микроконтроллерам семейства ATmega. Прототип не позволяет программировать AVR-микроконтроллеры семейства ATmega.
2. Кроме того, в прототипе, даже при программировании AVR-микроконтроллеров семейства, ATtiny возникают сбои при программировании микроконтроллеров на современных многоядерных или с тактовой частотой процессора 1,5 ГГц и более персональных компьютерах.
Предлагаемой полезной моделью решаются задачи:
- оперативного невнутрисхемного программирования и проверки результатов программирования AVR-микроконтроллеров как семейства прототипа ATtiny, приведенных в табл.1 (их 20 штук), так и семейства ATmega, представленных в табл.2 (их 24 штуки), с целью дальнейшей их установки в соответствующие серийные партии высокотехнологичных встраиваемых технических приложений;
- обеспечения возможности совместной работы полезной модели как с устаревшими, так и с современными многоядерными или с тактовой частотой процессора 1,5 ГГц и более персональными компьютерами.
Основные результаты анализа возможностей программирования рассматриваемых микроконтроллеров, проведенного по книге:
А.В.Евстифеев «Микроконтроллеры AVR семейства Mega». - М.: Издательский дом «Додэка-XXI», 2007. - 592 с.: ил. (Серия «Программируемые системы»), представлены в табл.2, где в первом столбце указаны порядковые номера двадцати четырех AVR-микроконтроллеров семейства ATmega.
Таблица 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 |
Например, в табл.2 порядковому номеру 10 соответствует AVR-микроконтроллер ATmega 16L (далее по 10-й строке следует): 40-выводной в DIP-корпус; VCC(+) - вывод 10; GND(-) - выводы 11 и 31; MOSI - вывод 6; MISO - вывод 7; SCK - вывод 8; RESET - вывод 9; XTAL1 - вывод 13 и XTAL2 - вывод 12. Таким образом, табл.2 содержит всю информацию о выводах AVR-микроконтроллеров семейства ATmega, необходимую для их программирования и использованную при разработке полезной модели.
Поставленная задача достигается тем, что в программатор AVR-микроконтроллеров семейств ATmega и ATtiny, содержащий LPT-порт, микросхему 47НС244 с подтягивающим резистором, сигнальное устройство на двух светодиодах и двух ограничительных резисторах, кварцевый генератор на кварцевом резонаторе и двух конденсаторах, стабилизатор напряжения на биполярном транзисторе, кремниевом стабилитроне, балластном резисторе и двух конденсаторах фильтра, панели DIP-8, DIP-14 и две панели DIP-20 для программирования двадцати типов микроконтроллеров семейства ATtiny введены, панель 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, второй кварцевый резонатор с удвоенной резонансной частотой и переключатель кварцевых резонаторов.
За счет введения в программатор AVR-микроконтроллеров семейств ATmega и ATtiny одной панели DIP-28, двух панелей DIP-40(1) и DIP-40(2) для установки микроконтроллеров семейства ATmega, второго кварцевого резонатора с удвоенной резонансной частотой и переключателя кварцевых резонаторов при сохранении достоинств прототипа получены следующие новые результаты, обеспечивающие оперативное невнутрисхемное программирование и проверку результатов программирования:
- 28 - выводных AVR-микроконтроллеров семейства ATmega в панели DIP-28: ATmega8, ATmega8L, ATmega48, ATmega48V, ATmega88, ATmega88V, ATmega168, ATmega168V;
- 40 - выводных AVR-микроконтроллеров семейства ATmega в двух панелях DIP-40: ATmega16, ATmega16L, ATmega32, ATmega32L, ATmega164, ATmega164V, ATmega324, ATmega324V, ATmega644, ATmega644V, ATmega8535, ATmega8535L, ATmega162, ATmega162V, ATmega8515 и ATmega8515L;
- совместную работу без сбоев программатора AVR-микроконтроллеров семейств ATmega и ATtiny как с устаревшими, так и с современными многоядерными или с тактовой частотой процессора 1,5 ГГц и более персональными компьютерами.
Таким образом, в результате принятых мер полезной моделью устраняются все недостатки прототипа, то есть обеспечивается возможность серийного оперативного невнутрисхемного программирования AVR-микроконтроллеров семейств ATmega и ATtiny при использовании всех существующих образцов персональных компьютеров, с целью последующей установки микроконтроллеров в серийные образцы высокотехнологичных встраиваемых технических приложений, где они и должны выполнять свои рабочие функции.
На фиг. изображена принципиальная электрическая схема устройства (полезной модели) - «Программатор AVR-микроконтроллеров семейств ATmega и ATtiny».
Программатор avr-микроконтроллеров семейств atmega и 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 и двух кварцевых резонаторов 10 (4 МГц) и 11 (8 МГц); компенсационный стабилизатор напряжения на 5 В, состоящий из балластного резистора 12, кремниевого стабилитрона 13, регулирующего транзистора 14, низкочастотного и высокочастотного конденсаторов фильтра 15 и 16, соответственно; подтягивающий резистор 17, обеспечивающий режим записи информации в микроконтроллер; панель DIP-8 18 для установки и прграммирования 8-выводных AVR-микроконтроллеров ATtiny85V, ATtiny85, ATtiny45V, ATtiny45, ATtiny25V, ATtiny25, ATtiny15L, ATtiny12L, ATtiny12V и 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, ATmegal62V, ATmega8515 и ATmega8515L; панели 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-микроконтроллеров семейств ATmega и ATtiny (см. фиг.) работает следующим образом. Микроконтроллер, подлежащий программированию, вставляется в соответствующую панель программатора 18, 19, 20, 21, 22, 23 или 24. LPT-порт 1 программатора подключается к LPT-порту персонального компьютера. Для современных компьютеров (многоядерных или с тактовой частотой процессора 1,5 ГГц и более) переключатель 9 программатора устанавливается в правое по схеме положение (это соответствует частоте 8 МГц), а в противном случае - в левое по схеме положение (4 МГц). На компьютере устанавливается одна из известных управляющих программатором программ (например, управляющая программа «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-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, второго кварцевого резонатора с удвоенной частотой (8 МГц) и переключателя кварцевых резонаторов обеспечило возможность:
- серийного оперативного невнутрисхемного программирования и проверки результатов программирования AVR-микроконтроллеров семейства ATtiny - 20 типов и семейства ATmega - 24 типа, с целью последующей установки их в серийные образцы высокотехнологичных встраиваемых технических приложений, где они и должны выполнять свои функции по заданному алгоритму работы.
- совместной работы без сбоев программатора AVR-микроконтроллеров семейств ATmega и ATtiny как с устаревшими, так и с современными многоядерными или с тактовой частотой процессора 1,5 ГГц и более персональными компьютерами.
Программатор AVR-микроконтроллеров семейств ATmega и ATtiny, содержащий LPT-порт, микросхему 47НС244 с подтягивающим резистором, сигнальное устройство на двух светодиодах и двух ограничительных резисторах, кварцевый генератор на кварцевом резонаторе и двух конденсаторах, стабилизатор напряжения на биполярном транзисторе, кремниевом стабилитроне, балластном резисторе и двух конденсаторах фильтра, панели DIP-8, DIP-14 и две панели DIP-20 для программирования двадцати типов микроконтроллеров семейства ATtiny, отличающийся тем, что в устройство введены панель 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, второй кварцевый резонатор с удвоенной резонансной частотой и переключатель кварцевых резонаторов.