Для чего нужен программатор
USB-программатор (AVR): описание, назначение
Содержание статьи
Что такое программатор?
Программатор – это аппаратно-программное устройство, которое служит для считывания или записи информации в запоминающее устройство (внутреннюю память микроконтроллеров). В случае если радиолюбителю нужно один раз запрограммировать микроконтроллерное устройство, можно воспользоваться обычным программатором, который подключается к COM- или LPT- порту. Например, самым простым программатором для микросхем AVR является кабель из 6 проводов и 4 резисторов (программатор PonyProg).
С помощью обычного программатора можно загружать программы в формате hex во многие микроконтроллеры AVR, не тратя лишнего времени и средств. Кроме того, программатор можно использовать как внутрисхемный, благодаря чему можно программировать микроконтроллер AVR не извлекая его из устройства.
Подключаются такие программаторы к компьютеру с помощью специальной программы (которая тоже называется программатором). Она передает прошивку с компьютера, а устройство только записывает ее в память микросхемы. Программаторы могут подключаться через последовательный или параллельный порт, через USB-разъем и т.д. Современные программаторы подключаются, как правило, через USB.
USB-программатор предназначен для программирования микропроцессорных устройств определенной компании (зависит от марки программатора) в собранном виде. С помощью него заметно упрощается процесс настройки ПО.
Как подключить USB-программатор?
Для использования устройства необходимо подключить его к одному из USB-портов компьютера. После этого на компьютере появится сообщение о подключении нового USB-устройства USBasp, а на самом программаторе загорится светодиод, который означает, что устройство успешно подключено.
Затем нужно установить драйвера, чтобы ОС могла корректно работать с данным устройством. После этого можно будет подключать микропроцессорное устройство к ISP интерфейсу. При программировании будет светиться второй светодиод.
Как правило, программатор имеет два интерфейса – один для подключения микроконтроллера, второй для подключения к компьютеру. Для того чтобы подключить микроконтроллер, можно воспользоваться режимом последовательного программирования ISP. А к компьютеру данное устройство подключается через стандартный USB-разъем.
Для управления программатором нужно устанавливать специальные программы. Лучше всего пользоваться оконными приложениями. Например, для работы с устройством можно использовать программы ExtremeBurner, Khazama, avrguge и другие.
Электроника для всех
Блог о электронике
AVR. Учебный курс. Трактат о программаторах
Программа для микроконтроллера пишется на любом удобном языке программирования, компилируется в бинарный файл (или файл формата intel HEX) и заливается в микроконтроллер посредством программатора.
Итак, первым шагом в освоении микроконтроллера обычно становится программатор. Ведь без программатора невозможно загнать программу в микроконтроллер и он так и останется безжизненным куском кремния.
Что же представляет из себя это устройство?
В простейшем случае программатор это девайс который связывает микроконтроллер и компьютер, позволяя с компа залить файл прошивки в память контроллера. Также нужна прошивающая программа, которая по специальному протоколу загонит данные в микроконтроллер.
Программаторы бывают разные под разные семейства контроллеров существуют свои программаторы. Впрочем, бывают и универсальные. Более того, даже ту же простейшую AVR’ку можно прошить несколькими способами:
Внутрисхемное программирование (ISP)
Самый популярный способ прошивать современные контроллеры. Внутрисхемным данный метод называется потому, что микроконтроллер в этот момент находится в схеме целевого устройства — он может быть даже наглухо туда впаян. Для нужд программатора в этом случае выделяется несколько выводов контроллера (обычно 3..5 в зависимости от контроллера).
К этим выводам подключается прошивающий шнур программатора и происходит заливка прошивки. После чего шнур отключается и контроллер начинает работу.
У AVR прошивка заливается по интерфейсу SPI и для работы программатора нужно четыре линии и питание (достаточно только земли, чтобы уравнять потенциалы земель программатора и устройства):
Сам же разъем внутрисхемного программирования представляет собой всего лишь несколько штырьков. Лишь бы на него было удобно надеть разъем. Конфигурация его может быть любой, как тебе удобней.
Однако все же есть один популярный стандарт:
Для внутрисхемной прошивки контроллеров AVR существует не один десяток разнообразных программаторов. Отличаются они в первую очередь по скорости работы и типу подключения к компьютеру (COM/LPT/USB). А также бывают безмозглыми или со своим управляющим контроллером.
Безмозглые программаторы, как правило, дешевые, очень простые в изготовлении и наладке. Но при этом обычно работают исключительно через архаичные COM или LPT порты. Которые найти в современном компьютере целая проблема. А еще требуют прямого доступа к портам, что уже в Windows XP может быть проблемой. Плюс бывает зависимость от тактовой частоты процессора компьютера.
Так что твой 3ГГЦ-овый десятиядерный монстр может пролететь, как фанера над Парижем.
Идеальный компьютер для работы с такими программаторами это какой-нибудь PIII-800Mhz с Windows98…XP.
Вот очень краткая подборка проверенных лично безмозглых программаторов:
Программаторы с управляющим контроллером лишены многих проблем безмозглых. Они без особых проблем работают через USB. А если собраны на COM порт, то без извращенских методик работы с данными — как честный COM порт. Так что адаптеры COM-USB работают на ура. И детали подобрать можно покрупней, чтобы легче было паять. Но у этих программаторов есть другая проблема — для того чтобы сделать такой программатор нужен другой программатор, чтобы прошить ему управляющий контроллер. Проблема курицы и яйца. Широко получили распространение такие программаторы как:
Внутрисхемное программирование, несмотря на все его удобства, имеет ряд ограничений.
Микроконтроллер должен быть запущен, иначе он не сможет ответить на сигнал программатора. Поэтому если неправильно выставить биты конфигурации (FUSE), например, переключить на внешний кварцевый резонатор, а сам кварц не поставить. То контроллер не сможет запуститься и прошить его внутрисхемно будет уже нельзя. По крайней мере до тех пор пока МК не будет запущен.
Также в битах конфигурации можно отключить режим внутрисхемной прошивки или преваратить вывод RESET в обычный порт ввода-вывода (это справедливо для малых МК, у которых RESET совмещен с портом). Такое действо тоже обрубает программирование по ISP.
Параллельное высоковольтное программирование
Обычно применяется на поточном производстве при массовой (сотни штук) прошивке чипов в программаторе перед запайкой их в устройство.
Параллельное программирование во много раз быстрей последовательного (ISP), но требует подачи на RESET напряжения в 12 вольт. А также для параллельной зашивки требуется уже не 3 линии данных, а восемь + линии управления. Для программирования в этом режиме микроконтроллер вставляется в панельку программатора, а после прошивки переставляется в целевое устройство.
Для радиолюбительской практики он особо не нужен, т.к. ISP программатор решает 99% насущных задач, но тем не менее параллельный программатор может пригодиться. Например, если в результате ошибочных действий были неправильно выставлены FUSE биты и был отрублен режим ISP. Параллельному программатору на настройку FUSE плевать с высокой колокольни. Плюс некоторые старые модели микроконтроллеров могут прошиваться только высоковольтным программатором.
Из параллельных программаторов для AVR на ум приходит только:
А также есть универсальные вроде TurboProg 6, BeeProg, ChipProg++, Fiton которые могут прошивать огромное количество разных микроконтроллеров, но и стоят неслабо. Тысяч по 10-15. Нужны в основном только ремонтникам, т.к. когда не знаешь что тебе завтра притащат на ремонт надо быть готовым ко всему.
Прошивка через JTAG
Вообще JTAG это отладочный интерфейс. Он позволяет пошагово выполнять твою программу прям в кристалле. Но с его помощью можно и программу прошить, или FUSE биты вставить. К сожалению JTAG доступен далеко не во всех микроконтроллерах, только в старших моделях в 40ногих микроконтроллерах. Начиная с Atmega16.
Компания AVR продает фирменный комплект JTAG ICEII для работы с микроконтроллерами по JTAG, но стоит он (как и любой профессиональный инструмент) недешево. Около 10-15тыр. Также есть первая модель JTAG ICE. Ее можно легко изготовить самому, а еще она встроена в мою демоплату Pinboard.
Прошивка через Bootloader
Многие микроконтроллеры AVR имеют режим самопрошивки. Т.е. в микроконтроллер изначально, любым указанным выше способом, зашивается спец программка — bootloader. Дальше для перешивки программатор не нужен. Достаточно выполнить сброс микроконтроллера и подать ему специальный сигнал. После чего он входит в режим программирования и через обычный последовательный интерфейс в него заливается прошивка. Подробней описано в статье посвященной бутлоадеру.
Достоинство этого метода еще и в том, что работая через бутлоадер очень сложно закосячить микроконтроллер настолько, что он не будет отвечать вообще. Т.к. настройки FUSE для бутлоадера недоступны.
Бутлоадер также прошит по умолчанию в главный контроллер демоплаты Pinboard чтобы облегчить и обезопасить первые шаги на пути освоения микроконтроллеров.
Pinboard II
Прошивка AVR с помощью демоплаты Pinboard II (для Pinboard 1.1 все похоже)
Спасибо. Вы потрясающие! Всего за месяц мы собрали нужную сумму в 500000 на хоккейную коробку для детского дома Аистенок. Из которых 125000+ было от вас, читателей EasyElectronics. Были даже переводы на 25000+ и просто поток платежей на 251 рубль. Это невероятно круто. Сейчас идет заключение договора и подготовка к строительству!
А я встрял на три года, как минимум, ежемесячной пахоты над статьями :)))))))))))) Спасибо вам за такой мощный пинок.
89 thoughts on “AVR. Учебный курс. Трактат о программаторах”
А что это делает в учебном курсе? чего не на главной странице?
Здарова, Артем, вот я и зашел, чего то не мог зайти долго…
Я постепенно правлю и переписываю старые статьи, чтобы привести их в более стройный и завершенный вид.
Программаторы. Краткий обзор.
Функциональные возможности; области применения; краткие описания популярных моделей: МП-5H, AutoProg, T51Prog, JetProg, ChipProg+.
По функциональным возможностям программаторы условно можно разделить на следующие группы:
Основные функциональные возможности современных программаторов:
Области применения программаторов:
Что программируют ремонтники? Микросхемы памяти кассовых аппаратов, телевизоров, видеомагнитофонов, спутниковых ресиверов и другой бытовой техники, мобильных телефонов, кассовых аппаратов…
«Терраэлектроника» предлагает широкий выбор программаторов от ведущих отечественных и зарубежных производителей, от самых простых и недорогих моделей до мощных многофункциональных универсальных устройств.
В настоящем обзоре мы остановимся на наиболее интересных из них.
Типы программируемых микросхем:
Типы программируемых микросхем:
Программатор для начинающих
Программатор это программно аппаратное устройство, предназначенное для записи информации в постоянное запоминающее устройство (ПЗУ). Помимо записи, подобное устройство должно обеспечивать возможность считывания информации из ПЗУ микросхемы. Наряду с основными режимами записи и чтения, многие микросхемы имеют ряд дополнительных режимов: стирание, защита от чтения, защита от программирования и т.п. Для начинающих пользователей программатора, в материале «программирование микроконтроллеров для начинающих», представлена классификация устройств со встроенным ПЗУ. Принято считать, что устройство поддерживает микросхему, если оно:
Для выполнения своих функций, нормальный программатор, как минимум должен содержать:
— колодку, в которую можно вставить выбранную микросхему. Колодка должна обеспечивать электрический контакт с выводами микросхемы;
— интерфейс, позволяющий осуществлять ввод/вывод записываемой и считываемой информации;
— программно аппаратные драйвера, способные формировать и считывать логические уровни и сложные тактовые сигналы.
Классификация программаторов.
По типу поддерживаемых микросхем
Очевидно, чем более широк спектр поддерживаемых микросхем, тем более сложная программно аппаратная реализация такого устройства.
Аппаратная часть наиболее простых программаторов, позволяющих запрограммировать микросхемы одной серии, как правило, представляет собой кабель и несколько резисторов, которые подключаются к одному из портов PC.
Универсальный программатор строится на базе универсальных аппаратных драйверов. Аппаратные драйвера подключаются к выводам колодки, и должны обеспечивать:
— подачу и считывание логических уровней;
— подачу сложных тактовых последовательностей в широком диапазоне частот;
— подачу напряжения в широком диапазоне и с высокой точностью.
По способу программирования микросхем
Параллельный программатор. Для того, что бы произвести необходимые действия с микросхемой, ее надо вставить в колодку программатора. Затем, в программном интерфейсе выбрать соответствующий тип поддерживаемой микросхемы, после этого, запустить на исполнение необходимый режим (программирование, чтение, стирание, защита и т.п.).
Для программирования микросхем с корпусами, отличными от DIP, необходимо использовать специальные переходные адаптеры для программирования.
Внутрисхемный программатор. Внутрисхемное программирование возможно только тех микросхем, которые рассчитаны на данный режим. Как правило, подобные микросхемы имеют встроенные схемы, которые:
— из внешнего напряжения питания генерируют напряжения необходимые для программирования;
— обеспечивают коммуникацию с внутрисхемным прoгрaммaтором по последовательному интерфейсу (вариации протокола JTAG, SPI, UART).
Для реализации режима внутрисхемного программирования, устройство пользователя должно обеспечивать:
— необходимую коммутацию с выводами микросхемы;
— необходимые режимы по нагрузке и питанию на соответствующих выводах микросхемы в режиме программирования.
Главным преимуществом внутрисхемного программирования является возможность объединения процесса программирования и тестирования, исключив отдельную фазу программирования микросхем перед окончательной сборкой устройства.
Отличительной особенностью моделей серии ChipProg-xx является то обстоятельство, что помимо поддержания параллельного режима программирования (программирования в колодке), они поддерживают и режим внутрисхемного программирования.
По подключению к компьютеру
Как правило, для подключения современного программатора к PC используется порт USB. Раньше для этих целей использовались LPT и/или COM порты. Некоторые модели могут работать и в автономном режиме, без подключения к PC. Например, ChipProg-ISP2 помимо обычного управления от PC допускает управление:
— кнопкой на корпусе;
— через Ethernet (с гальванической развязкой);
— от внешних программно аппаратных комплексов.
При этом, программируемая информация, все режимы и опции программирования хранятся на встроенной SD карте (до 256 проектов).
По количеству одновременно программируемых микросхем
Как правило, универсальный программатор может работать одновременно не более чем с одной микросхемой. Обычно, для целей разработки, ремонта или обслуживания различных электронных устройств и блоков, этого вполне достаточно. Для тиражирования микросхем выпускаются специализированные промышленные копировщики. Так например, наш ChipProg-G41 снабжен четырьмя ZIF сокетками, что позволяет в асинхронном режиме программировать до 4 микросхем одновременно, а нутрисхемный промышленный ISP CPI2-Gxxxx позволяет в асинхронном режиме программировать до 14 микросхем одновременно. Другая возможность существенно увеличить скорость тиражирования партий микросхем – воспользоваться функциональными возможностями некоторых устройств. В частности, модели ChipProg-XX с USB интерфейсом предоставляют возможность мультипрограммирования. Что позволяет обеспечить программирование практически любого количества микросхем одновременно.
По дополнительным функциональным и сервисным возможностям
Различные устройства, подчас существенно отличаются друг от друга по своим функциональным и сервисным возможностям.
Программатор для начинающих.
Профессиональный, хорошо сделанный программатор обладает следующими опциями, полезными в том числе и начинающему пользователю:
— развернутая документация, включая контекстные подсказки;
— демо режим;
— поддержка разработчика;
— встроенные механизмы защиты от неправильных действий пользователя;
— режим самодиагностики.
Как выбрать программатор
Развитие человечества сопровождалось совершенствованием механизмов и техники. Устройства становились сложнее, управление ими также стало труднее. Для того чтобы не повторять одни и те же действия человеку потребовались запоминающие устройства. От них требовалась не только возможность хранения данных, но и возможность воспроизведения их.
Одним из первых устройств со встроенной памятью считается Антикитерский механизм (3 век до н.э.). Но большинству нам оно известно, как кулачковый валик. Он применяется в шарманках, музыкальных шкатулках, часах с боем и иных механизмах.
Развитие компьютерной техники, микроэлектроники память устройств «перекочевала» в полупроводниковые элементы. Они получили название постоянное запоминающее устройство (ПЗУ), флэш-память. Транзисторная техника позволяет записывать, читать информацию при помощи программатора.
Программатор
Представляет собой устройство, содержащее аппаратную и программную часть, предназначенное для чтения, записи информации в ПЗУ, флэш-память или внутреннюю память микроконтроллеров (МК).
Они получили широкое распространение в ремонтных работах, в разработке, конструировании схем и устройств на базе таких чипов памяти как: PROM, EPROM, EEPROM, Flash-память, eMMC, MRAM, FeRAM, NVRAM.
Появление устройств программируемой логики, таких как: PLD, PLA, PAL, GAL, CPLD, FPGA также потребовало разработки специализированных программаторов.
Рост производительности, уменьшение техпроцесса и цены сделали МК более доступными для рядовых потребителей. Поэтому потребовалось появление недорогих, конструктивно простых программаторов.
Однако благодаря разнообразию видов памяти, различию в архитектуре, интерфейсах обмена данными микропроцессоров, достаточно сложно сконструировать универсальный прибор.
Программаторы делят по следующим признакам:
По типу программируемых микросхем
В первую очередь это напрямую влияет как на возможности устройства, так на его цену.
Существуют универсальные программаторы, позволяющие работать практически со всеми устройствами, они обладают продвинутой начинкой, обновляемым программным обеспечением (ПО) и поддержкой производителя. Однако в них нуждаются единицы пользователей.
Давайте подробнее рассмотрим их классификацию.
Работа программатора с чипами памяти
Чипы энергонезависимой памяти получили широкое распространение в различной технике, от бытовых, беспроводных устройств до компьютеров, смартфонов и бортовых систем автомобилей.
Наиболее популярными объектами, для прошивки которых приобретается прибор, являются микросхемы EPROM/EEPROM серий 24, 25 и 93, а также FLASH 25 серии. Это с вязано с тем, что чипы этих серий широко применяются в компьютерной технике, электронике для хранения BIOS (basic input/output system).
EEPROM
EEPROM (Electrically Erasable Programmable Read-Only Memory) — электрически стираемое перепрограммируемое постоянное запоминающее устройство (ПЗУ). Этот вид энергонезависимой памяти способен выдержать миллион циклов записи/стирания.
FLASH
FLASH – разновидность полупроводниковой технологии электрически перепрограммируемой памяти (EEPROM). Свое наименование (FLASH) получила из-за высокой скорости стирания записанной информации. Выделяют двумерную память – NOR с трехмерным массивом ячеек NAND, 3D NAND. Максимальное число циклов перезаписи памяти NAND не превышает 100 тысяч.
Чаще всего недорогие программаторы используются в любительских целях для перепрошивки энергонезависимой памяти собственных устройств, малой техники или BIOS компьютеров. Однако при выборе стоит четко осознавать, что работа с более современными типами памяти, а также иными устройствами может быть не доступна.
Это связано с тем, что на функционал любого прибора значительно влияет тип применяемого контроллера, версия его прошивки и программное обеспечение. Поэтому не стоит ожидать от дешевого «no name» функционала профессионального устройства.
Так как у большинства любителей требования не велики, то чаще они приобретают несколько приборов направленных на работу с конкретными устройствами. Универсальные, специализированные программаторы востребованы в мастерских и сервисных центрах по ремонту техники, электроники.
Работа программатора с ПЛИС
ПЛИС обладает большим потенциалом, в первую очередь это возможность конструирования на его базе практически любой логической схемы или МК.
Возможности FPGA ограничиваются только числом встроенных транзисторов, фантазией самого разработчика. Так как технология FPGA достаточно уникальна, различные производители используют различные архитектуры, то для программирования требуется индивидуальный, профессиональный инструмент.
Популярными ПЛИС являются компании Intel (Altera) и Xilinx. Однако, в настоящее время число производителей, выпускающих FPGA значительно растет, что ведет к снижению цены, доступности этих устройств.
Работа программатора с MCU
Микроконтроллер или MCU (Micro Controller Unit) — это микросхема, способная управлять другими электронными устройствами. Её особенность — это не только процессор, но встроенная: оперативная и постоянная память (ОЗУ, ПЗУ), устройство ввода-вывода, таймер, иные периферийные устройства.
В настоящее время МК выпускаются многими производителями. Различные MCU различаются не только архитектурой, но рабочей частотой, объемом памяти, типом протокола обмена данных, шириной интерфейса ввода-вывода.
Можно выделить следующие, наиболее популярные, семейства микропроцессоров: ESP8266, ESP32, ARM, STM32, AVR, PIC, STM8.
Для микроконтроллеров выпускаются как в специализированном исполнении – для конкретного семейства МК, так в универсальном – для нескольких семейств.
По способу подключения к компьютеру
За время существования компьютерной техники способы подключения к компьютеру менялись с развитием устройств, шин ввода-вывода. Некоторые интерфейсы недоступны или практически не используются из-за устаревания, однако они все же могут быть использованы в настоящее время.
Параллельный порт
Параллельный порт предназначен для подключения к компьютеру различных периферийных устройств. Больше он известен как LPT. Интерфейс появился в 70-х годах в разных формах и числах контактов. К 80-м годам стандартизировался в двух вариантах: 36-контактный Centronics (IEEE 1284-B), 25-контактный DB-25 (IEEE 1284-A). Centronics чаще использовался на стороне оборудования, но постепенно от него отказались и оставили разъем DB-25 male/female.
Порт использует 8 сигнальных проводов для передачи данных, что позволяет передавать 8 сигналов параллельно друг другу, за это он получил свое название. Максимальная скорость передачи данных LPT достигает 16-20 Мбит/с.
Постепенно параллельный порт был вытеснен с большинства устройств более скоростным интерфейсом USB, в настоящее время не используется для подключения.
На базе параллельного порта существует много схем самодельных программаторов различной сложности, которые можно использовать по сей день для прошивки некоторых E/EPROM, ряда MCU.
Последовательный порт
Последовательный порт, COM-порт (communications port) или RS-232, в отличие от параллельного передает информацию побитно всего по двум проводам. Изначально интерфейс создавался для присоединения телефонных модемов и обмена данными с некоторыми устройствами. В свое время порт широко использовался для подключения некоторых моделей, в том числе конструировались самодельные устройства. Максимальная скорость передачи данных интерфейса RS-232 достигает 115200 бод. Однако в настоящее время СОМ-порт активно вытесняется его «сородичем» – USB интерфейсом. В связи с этим программаторы, подключаемые через последовательный порт, практически не выпускаются. Однако существуют схемы для самостоятельной сборки, подключаемых через данный интерфейс.
В настоящее время COM-порт чаще используется для обмена данными с устаревшими устройствами, а также в сочетании с преобразователями RS-232/RS-485 для создания промышленных сетей, используемых в промышленной автоматизации.
Программаторы с а) параллельным б) и последовательным портом
USB порт
Хорошо известный всем интерфейс обмена данными USB (Universal Serial Bus) появился в 1995 году. Как и СОМ-порт относится к последовательному интерфейсу передачи данных. Интерфейс использует всего четыре провода: два для питания устройства, два для передачи данных. За счёт высокой скорости передачи данных (от 1,5 Мбит/с для USB 1.0 до 20 Гбит/с для USB 3.2), простоты конструкции, малых размеров, он быстро вытеснил другие интерфейсы.
Интерфейс USB 3.2 имеет четыре пары дифференциальной сигнализации, используемых для высоких скоростей передачи данных: две пары для данных TX, две пары для данных RX. Они обеспечивают полнодуплексную связь на полной скорости. Также есть два новых сигнала SBU с одной боковой полосой для вспомогательной связи, а также линии конфигурации CC, которые могут использоваться для определения режимов работы, уровня мощности и скорости подключенного оборудования.
На данный момент USB-интерфейс активно развивается, большинство устройств используют именно его для обмена данными. А все современные программаторы используют именно его для обмена данными с компьютером. Однако некоторые могу сочетать USB-интерфейс с LPT или COM-портом.
LAN и WLAN соединение
Некоторые современные приборы производятся с поддержкой LAN или WLAN соединения. Технологии проводного (LAN), беспроводного (WLAN) позволяют объединять их в сеть для обеспечения их массового контроля и управления, создания автоматизированных комплексов программирования, копирования. Наличие беспроводного соединения позволяет осуществлять отладку, программирование микросхем как в труднодоступных местах, так при помощи мобильных устройств.
Также преимуществом таких сетей являются: высокая скорость передачи данных до 10 Гбит/с (LAN соединение).
Интерфейсная плата
Интерфейсные платы или платы расширения применяются при отсутствии необходимых портов или нехватке существующих. Они подключаются к материнской плате компьютера через шину PCI или PCI-E. Плата расширения позволяет добавить не только устаревшие разъемы LPT или COM, но создать LAN или WLAN соединение..
Пропускная способность таких плат значительно зависит как от числа создаваемых интерфейсов, так от пропускной способности самой шины PCI.
Интерфейсные платы портов а) LPT, б) СОМ, в) LAN, г) Wi-Fi.
По способу подключения микросхем
Способ подключения важен при выборе. Это связано с тем, что не все чипы поддерживают программирование при том или ином способе подключения.
Параллельное программирование
Параллельное программирование было достаточно популярным методом прошивки микросхем. Его особенность заключается в высокой скорости передачи данных, однако для его реализации требуется 8 линий для передачи данных, примерно столько же служебных. Поэтому физически такой способ программирования можно осуществить только через параллельный порт LPT или его эмуляцию. При этом программируемая микросхема должна иметь соответствующее число ножек.
Параллельное программирование сохранилось в промышленности для массового производства, прошивки большого числа чипов памяти, микроконтроллеров и для перепрошивки неверно сконфигурированных MSU.
Последовательное или внутрисхемное программирование
Появление флэш-памяти позволило быстро стирать данные. Уменьшение технологического процесса потребовало уменьшения размеров чипа, снижения числа рабочих контактов. Все это в сочетании с увеличением скорости передачи сигналов нивелировало недостатки данного способа программирования.
В внутрисхемном программировании используется всего пять рабочих линий. Это связано с включением в чипы памяти блоков логики, управления, дешифрации.
В микропроцессорах, за интерпретацию последовательного интерфейса также отвечают внутренние блоки логики. Они определяют способ загрузки напрямую или через внутренний загрузчик – bootloader (не у всех MCU реализовано).
Отдельным преимуществом ISP является возможность прошивки чипа без извлечения из платы.
Виды разъемов для подключения микросхем к программатору
Тип применяемого разъема напрямую зависит от протокола передачи данных, от типа, модели EEPROM/MCU.
Разъем ZIF (Zero Insertion Force) наиболее часто встречается. Он предназначен для прошивки микрочипов в корпусе DIP. В бюджетных версиях чаще встречаются 16 контактные ZIF-разъемы. В более дорогих моделях устанавливают 40 контактные.
ZIF разъем в программаторах
JTAG (Joint Test Action Group) применяют для внутрисхемного программирования. Разъем можно встретить в различных исполнениях, но чаще это 10 и 20-пиновые разъемы.
JTAG разъем в программаторах
SWD – штыревой разъем. Он часто встречается в бюджетных программаторах, представлен 4 или 5 штырями, однако его можно встретить в 20-пиновом исполнении.
Специализированные разъемы
Такие разъемы применяются для подключения конкретных устройств. Можно выделить такие, как:
VGA, HDMI – для внутрисхемного программирования аудио, видео приборов;
Контактные площадки – для параллельного программирования чипов в корпусах SOP, BGA;
Адаптеры – для параллельного программирования чипов в корпусах SOP, PLCC, TSOP и других;
Прищепки – для подключения к чипам без их выпаивания с платы;