Еще одним несложным, в плане изготовления, является COM программатор. При условии использования альтернативного режима COM порта Bitbang, отпадает необходимость в преобразовании интерфейса RS232 COM порта в SPI, необходимый для программирования. Остается только привести уровни сигналов COM порта (-12В, +12В) к необходимым (0, +5В).
флеш память с архитектурой 8 , 8/16 и 16 бит в корпусах TSOP, PSOP, DIP и PLCC;
паралельную память EPROM, E(E)PROM, E2PROM;
память FWH/LPC и микроконтроллеров серии AT89C51;
память с рабочим питанием 3.3В и 5.0В;
адрессный диапазон до 64Мбит (..А22);
управляемый источник +12В для программирования и временного снятия защиты секторов;
адаптеры со стандартными гнездами для чипов в корпусах DIP и PLCC;
адаптеры с прямой пайкой чипа или использованием прямых гнезд поверхностного монтажа (Meritec, Yamaichi) для чипов в корпусах TSOP , PSOP и SSOP.
команды программного обеспечения- функции идентификатора, чтения, проверки, стирания, контроля и программирования;
Последняя версия EZoFlash4v5 поддерживает сериальную память (I2C, Microwire, SPI), SPI Flash и микропроцессоры Microchip PIC, Atmel AVR-8bit (ATmega, ATtiny, AT90)
Адаптер предназначен для программирования различных микросхем: микроконтроллеров Atmel типа AT89C1051, AT89C2051, AT89C2051x2, AT89C4051, AT89S2051, AT89S4051, AT90S1200, AT90S2313 (четыре последних типа микроконтроллеров могут программироваться в параллельном и последовательном режимах); микросхем Flash-памяти типа AT24C01, AT24C02 и других (с интерфейсом I2C). Эти и другие микросхемы программируются при непосредственной установке их в ZIF-панель адаптера, если они выполнены в корпусах типа DIP с числом выводов до 20. Кроме этих типов, адаптер позволяет осуществлять внутрисхемное программирование микроконтроллеров и микросхем по последовательным интерфейсам SPI и I2C, при этом должен дополнительно применяться шлейф-переходник. В принципиальную схему и конструкцию заложены потенциальные возможности для программирования и других типов устройств.
Универсальный программатор представлен в этой статье. Подходит для программирования AVR, PIC, I2CEPROM. Работает с любым COM-портом, не перегружая по току COM-порт компьютера, так как MAX232 не представляет опасности для COM-порта.
Ну вот и пришло время нам соорудить USB программатор. Я долго не мог определиться какой бы программатор нам собрать. Выбирал по критериям простоты конструкции и удобства работы с ними, но ничего не нравилось. Выбрать программатор помог случай. Вернее я его не выбирал вообще – я его случайно собрал сам того не подозревая!
А дело было так. Некоторое количество постов назад мы собрали преобразователь USB to UART на ATtiny2313 (а в прошлой статье мы даже улучшили печатную плату). Еще при выборе схемы преобразователя я планировал на его базе (при помощи заливки различных прошивок) получать устройства различного назначения. Тогда я не подозревал, что данный преобразователь можно использовать шире, чем я планировал. Увидев схему USB программатора – USBtiny на ATtiny2313 я понял, что я уже имею готовый программатор!
Хочу спросить у читающих мой блог – много ли у Вас скопилось микроконтроллеров с неправильно прошитыми фьзами и непригодными для дальнейшего использования? Я думаю, если Вы довольно продолжительное время работаете с микроконтроллерами, то у Вас были случаи неправильной прошивки фьюзов. Свои «запорченные» микроконтроллеры я складывал в специальную коробочку с надеждой на то, что когда-то, в будущем, соберу высоковольтный параллельный программатор и верну их к жизни. Но высоковольтный программатор как-то особо не хотелось собирать. Схема довольно наворочена, да и применение такого программатора разовое – оживить ошибочно прошитый микроконтроллер. Короче, всегда проще (и дешевле) было купить новый микроконтроллер. Так и хранились бы и дальше «мертвые» микроконтроллеры если бы не случилась странная штука – при изготовлении нового устройства (скоро выложу) перестали подавать признаки жизни, сразу две тини2313 без особых на то причин. Подозрение пало на то, что при прошивке были неправильно выставлены фьюзы. Новых, в SOIC корпусе, быстро достать не получалось, а схемку закончить чесались руки. Так как, я все равно собирался, когда то делать высоковольтный программатор, решил, что пришло время это сделать. Но высоковольтный программатор я так и не сделал, а сделал устройство специально предназначенное для исправления ошибочно установленных фьюзов.
При работе с микроконтроллерами важнейшим девайсом являетя программатор, именно он может залить в МК нашу программу. Он же часто становится камнем преткновения на пути освоения AVR. Дело в том, что для работы простейшего программатора, не требующего в своем составе микроконтроллера, нужен компьютер с COM или LPT портом, причем желательно с частотой процессора не выше гигагерца-двух. Да операционную систему подревней — WinXP или Win2K. А это ныне редкость. С другой стороны, для USB программаторов нужно предварительно прошить контроллер. А чем его прошить? Вот тут и возникает проблема курицы и яйца — как прошить контроллер программатора не имея программатора. Не так давно появилось решение позволяющее сделать надежный и быстрый USB программатор AVR на базе тупой, непрограммируемой, логики. Bitbang, что это такое и с чем его едят.
USBasp — один из наиболее простых для повторения AVR USB программаторов.
Требует минимум внешних компонентов, имеет много готовых вариантов разводки печатной платы и оболочек для программирования, а также может работать под Linux и MacOS.
Как театр начинается с вешалки, так программирование микроконтроллеров начинается с выбора хорошего программатора. Так как начинаю осваивать микроконтроллеры фирмы ATMEL, то досконально пришлось ознакомится с тем что предлагают производители. Предлагают они много всего интересного и вкусного, только совсем по заоблачным ценам. К примеру, платка с одним двадцатиногим микроконтроллером с парой резисторов и диодов в качестве обвязки, стоит как «самолет». Поэтому остро встал вопрос о самостоятельной сборке программатора. После долгого изучения наработок радиолюбителей со стажем, было решено собрать хорошо зарекомендовавший себя программатор USBASP, мозгом которого служит микроконтроллер Atmega8 (так же есть варианты прошивки под atmega88 и atmega48). Минимальная обвязка микроконтроллера позволяет собрать достаточно миниатюрный программатор, который всегда можно взять с собой, как флэшку.