Развитие человечества сопровождалось совершенствованием механизмов и техники. Устройства становились сложнее, управление ими также стало труднее. Чтобы не повторять одни и те же действия человеку потребовались запоминающие устройства. Они необходимы не только для хранения данных, но и для их воспроизведения.
Одним из первых устройств со встроенной памятью считается Антикитерский механизм (3 век до н.э.). Но его более распространенное название - кулачковый валик. Его используют в шарманках, музыкальных шкатулках, часах с боем и иных механизмах.
С развитием компьютерной техники, микроэлектроники память устройств «перекочевала» в полупроводниковые элементы. Сейчас их название постоянное запоминающее устройство (ПЗУ) либо флэш-память. Транзисторная техника записывает и считывает информацию программатором.
Материал обновлен 24.04.2023
Время чтения: 18 минут
- Что такое программатор?
- Классификация программаторов
- Классификация программаторов по виду поддерживаемых микросхем
- Программирование чипов энергонезависимой памяти
- Программирование ПЛИС
- Программирование микроконтроллеров
- Классификация программаторов по способу подключения к компьютеру
- Подключение программатора к параллельному порту
- Подключение программатора к последовательному порту
- Подключение программатора к USB порту
- Сеть для программаторов
- Интерфейсная плата и программатор
- Классификация программаторов по способу подключения микросхемы
- Виды разъемов для подключения микросхем к программатору
- Дополнительные функции программатора
- Работаем с программаторами безопасно
- ТОП программаторов для прошивки памяти
- ТОП программаторов для ПЛИС
- ТОП программаторов для микроконтроллеров
Программатор
Программатор - устройство, содержащее аппаратную и программную часть для чтения, записи информации в ПЗУ, флэш-память или внутреннюю память микроконтроллеров (МК).
Они популярны в ремонтных работах, в разработке, конструировании схем на базе чипов памяти 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 (field-programmable gate array) – это программируемая логическая интегральная схема. Этот электронный компонент ведет свою «родословную» от интегральных микросхем:
- PAL (programmable array logic) — программируемый массив логики;
- GAL (generic array logic) — универсальный логический массив;
- CPLD (complex programmable logic device) — сложное программируемое логическое устройство.
ПЛИС многофункционален, в первую очередь за счёт конструирования на его базе большинства из логических систем или МК.
FPGA ограничен только числом встроенных транзисторов, фантазией самого разработчика. Технология FPGA достаточно отличается от других, а производители по-разному выстраивают архитектуру, поэтому для программирования также требуется свой профинструмент.
Популярные ПЛИС на рынке - компании Intel (Altera) и Xilinx. Однако сейчас число производителей, выпускающих FPGA значительно растет, что ведет к снижению цены и повышению доступности.
Работа программатора с MCU
Микроконтроллер или MCU (Micro Controller Unit) — это микросхема, способная управлять другими электронными устройствами. Её отличие от других — процессор, а также встроенные: оперативная и постоянная память (ОЗУ, ПЗУ), устройство ввода-вывода, таймер, дополнительные периферийные устройства.
Сейчас много производителей, занимающихся выпуском МК на рынок. Различия MCU проявляются в архитектуре, а также в рабочей частоте, объеме памяти, типе протокола обмена данных, ширине интерфейса ввода-вывода. Наиболее популярные семейства микропроцессоров это: ESP8266, ESP32, ARM, STM32, AVR, PIC, STM8.
Для микроконтроллеров выпускаются как в спец исполнении – для конкретного семейства МК, так в универсальном – для нескольких семейств.
По способу подключения к компьютеру
За время существования компьютерной техники способы подключения к компьютеру менялись с развитием внутренних компонентов, шин ввода-вывода. Некоторые интерфейсы недоступны или практически не в ходу из-за устаревания, однако они все же иногда встречаются даже сейчас.
Для подключения программаторов могут применяться:
- Параллельный порт;
- Последовательный порт;
- Интерфейсная плата, подключаемая через шину PCI;
- USB порт;
- Ethernet.
Параллельный порт
Параллельный порт необходим для подключения к компьютеру периферийных устройств. Другое его название - 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.
По способу подключения микросхем
Способ подключения важен при выборе. Это связано с тем, что не все чипы поддерживают программирование при том или ином способе подключения. По подключению микросхемы принято выделять:
- Параллельное программирование;
- Последовательное или внутрисхемное программирование.
Параллельное программирование
Параллельное программирование было достаточно популярным методом прошивки микросхем. Его особенность заключается в высокой скорости передачи данных, однако для его реализации требуется 8 линий для передачи данных, примерно столько же служебных. Поэтому физически такой способ программирования можно осуществить только через параллельный порт LPT или его эмуляцию. При этом программируемая микросхема должна иметь соответствующее число ножек.
Параллельное программирование практически полностью вытеснено последовательным и связано это с тем, что:
- Конструировать чипы с малым объемом памяти, большим числом «ног» невыгодно;
- Снижение числа контактов позволяет миниатюризировать чипы;
- Необходимость унификации чипов, методов программирования;
- Появление технологии внутрисхемного программирования.
Параллельное программирование сохранилось в промышленности для массового производства, прошивки большого числа чипов памяти, микроконтроллеров и для перепрошивки неверно сконфигурированных MSU.
Последовательное или внутрисхемное программирование
Последовательное или внутрисхемное программирование ISP (in-system programming), получило широкое распространение это обусловлено следующими причинами:
- Появление FLASH-памяти;
- Миниатюризацией чипов;
- Повышение скорости интерфейса.
Появление флэш-памяти позволило быстро стирать данные. Уменьшение технологического процесса потребовало уменьшения размеров чипа, снижения числа рабочих контактов. Все это в сочетании с увеличением скорости передачи сигналов нивелировало недостатки данного способа программирования.
В внутрисхемном программировании используется всего пять рабочих линий. Это связано с включением в чипы памяти блоков логики, управления, дешифрации.
В микропроцессорах, за интерпретацию последовательного интерфейса также отвечают внутренние блоки логики. Они определяют способ загрузки напрямую или через внутренний загрузчик – bootloader (не у всех MCU реализовано).
Отдельным преимуществом ISP является возможность прошивки чипа без извлечения из платы.
Виды разъемов для подключения микросхем к программатору
Тип применяемого разъема напрямую зависит от протокола передачи данных, от типа, модели EEPROM/MCU.
ZIF
Разъем ZIF (Zero Insertion Force) наиболее часто встречается. Он предназначен для прошивки микрочипов в корпусе DIP. В бюджетных версиях чаще встречаются 16 контактные ZIF-разъемы. В более дорогих моделях устанавливают 40 контактные.
JTAG
JTAG(Joint Test Action Group) применяют для внутрисхемного программирования. Разъем можно встретить в различных исполнениях, но чаще это 10 и 20-пиновые разъемы.
SWD
SWD – штыревой разъем. Он часто встречается в бюджетных программаторах, представлен 4 или 5 штырями, однако его можно встретить в 20-пиновом исполнении.
Специализированные разъемы
Такие разъемы применяются для подключения конкретных устройств. Можно выделить такие, как:
VGA, HDMI – для внутрисхемного программирования аудио, видео приборов;
Контактные площадки– для параллельного программирования чипов в корпусах SOP, BGA;
Адаптеры – для параллельного программирования чипов в корпусах SOP, PLCC, TSOP и других;
Прищепки – для подключения к чипам без их выпаивания с платы;
Специализированные кабели - для присоединения специализированных устройств (LED матрицы, экраны).
По дополнительным функциям
Дополнительные функции расширяют возможности:
- Наличие программного обеспечения (ПО) под различные операционные системы;
- Поддержка стороннего ПО;
- Возможность самостоятельного обновления прошивки;
- Проверка исправности;
- Проверка правильности подключения микросхемы;
- Возможность подключения адаптеров;
- Наличие функции быстрого стирания, проверки записи/стирания микрочипа;
- Наличие функции копирования;
- Возможность автономной работы;
- Наличие встроенного HEX-редактора.
Безопасность при работе с программаторами: советы и рекомендации
- Перед началом работы прочтите инструкцию по эксплуатации. Убедитесь, что вы понимаете, как правильно подключить устройство к компьютеру и к микросхеме.
- Не подключайте и не отключайте отладчик от компьютера или от схемы, пока он включен.
- Во время работы не допускайте попадания воды или других жидкостей на устройство.
- Не подключайте программатор к микросхеме, которая находится под напряжением. Перед подключением, убедитесь, что микросхема отключена от источника питания.
- Перед подключением устройства к компьютеру, проверьте, что соединения на кабеле не повреждены.
- Не подключайте прибор отладки к микросхеме, если у вас есть сомнения относительно ее совместимости или если вы не уверены в правильности настроек устройства. Неправильное подключение или настройка программатора может привести к повреждению микросхемы.
- Не применяйте силу для вставки или извлечения микросхемы. Используйте только небольшое усилие и правильный инструмент для выполнения этих операций.
- Перед подключением программатора к компьютеру убедитесь, что вы используете правильный драйвер и программное обеспечение. Неправильный драйвер или программное обеспечение может привести к неправильной работе прибора.
- Не забывайте про основные меры предосторожности, такие как ношение сухой и чистой электростатической защиты, чтобы избежать повреждения микросхемы электростатическим разрядом.
ТОП программаторов для прошивки памяти
- Универсальный программатор микросхем RT809H (EEPROM FLASH, EMMC, NAND, NOR, MCU);
- Программатор для прошивки XGecu T48 (5 адаптеров) (EMMC/EMCP, P-NAND, SPI NAND FLASH, GAL PLD);
- Высокоскоростной программатор XGecu T56 (24 EEPROM, 25 EEPROM, 26 EEPROM, 93 EEPROM, NAND FLASH, SPI NAND, EMMC/EMCP, GAL/CPLD);
- USB программатор высокоскоростной EZP2019 с 9 адаптерами (25 FLASH, 24 EEPROM, 25 EEPROM, 93 EEPROM);
- USB программатор высокоскоростной EZP2010V с адаптерами для микросхем (25 FLASH, 24 EEPROM, 25 EEPROM, 93 EEPROM);
- Программатор CH341A (25 FLASH, 24 EEPROM, 25 EEPROM).
ТОП программаторов для ПЛИС
- ISP программатор XILINX DLC9LP – (Virtex и Spartan);
- Внутрисхемный программатор Lattice HW-USBN-2A – (Lattice);
- Высокоскоростной JTAG программатор USB Blaster V2 – (MAX, Stratix, Cyclone, EPCS);
- JTAG программатор Altera USB Blaster (FT245 + CPLD) – (MAX, Stratix, StratixII, Cyclone, CycloneII, Acex, APEX, FLEX, EPCS, EPC);
- Программатор Altera USB Blaster – (MAX, Stratix, StratixII, Cyclone, CycloneII, Acex, APEX, FLEX, EPCS, EPC).
ТОП программаторов для микроконтроллеров
- Универсальный программатор RT809F – (AVR, ATMEGA, Attiny, PIC, AT90, AT89S);
- Программатор автомобильных микросхем Xhorse VVDI PROG – MC9S08, MC68HC(9)12, MC9S12, V850, H8X, R8C, PCF79XX, контроллеры Atmega, микросхемы памяти EEPROM);
- Программатор Nu-Link для микроконтроллеров NuMicro – (микроконтроллеры NuMicro);
- Внутрисхемный программатор-отладчик PICkit3 – (микроконтроллеры PIC);
- Программатор/отладчик Risym ST-LINK V2 mini – (микроконтроллеры STM8 и STM32);
- USBASP ISP программатор v2.0 для AVR – (микроконтроллеры AVR);
- Преобразователь USB-UART программатор STC – (микроконтроллеры STC).
- Беспроводной программатор Muse Lab nanoDAP-HS-Wireless - (Cortex-M, AVR, PIC, STM32)
Компания Суперайс предлагает программаторы различного функционала и цены. Выбрать вы можете в нашем каталоге или проконсультироваться у менеджера.