Программатор это программно аппаратное устройство, разработанное для занесения необходимой информации в постоянное запоминающее устройство (ПЗУ). Помимо программирования, программатор может обеспечивать возможность считывания информации из ПЗУ мс. Наряду с основными режимами программирования и чтения, многие мс имеют множество дополнительных режимов: стирание, закрытие от чтения, закрытие от программирования и т.п.
Можно считать, что программатор поддерживает микросхему, если:
Для выполнения своих функций, хороший программатор, как минимум должен содержать:
В некоторых случаях может возникнуть надобность, например, выбрать универсальный программатор – в таком случае надо иметь хотя бы общее представление о реальном спектре подобных устройств.
Существуют некоторые классификации программаторов по следующим параметрам.
По типу программируемых микросхем
Специализированные программаторы. Программирующие устройства, программирующие микросхемы только определенного типа, или микросхемы только заданного производителя.
Условно универсальные программаторы. Псевдоуниверсальные программаторы, поддерживающие мс различных типов и/или мс многих фирм.
Универсальные программаторы. Универсальные программаторы, программирующие микросхемы всех типов, и микросхемы всех производителей.
Не надо доказывать, чем обширней список программируемых микросхем, тем более сложная программно аппаратная реализация программатора.
Конструкция наиболее простых программаторов, позволяющих поддержать микросхемы одной серии, обычно, представляет собой кабель и несколько резисторов, которые подключаются к одному из портов PC.
Программатор универсальный строится на множестве универсальных драйверов. Аппаратные драйвера подводятся к разъемам сокетки, и призваны:
- подачу напряжения в необходимом диапазоне и с заданной точностью.
- подачу и считывание логических уровней;
- подачу сложных временных импульсов в широком диапазоне частот;
Очевидно, чем более универсальны аппаратные драйвера, и чем больше их количество – тем более универсален программатор.
По способу программирования мс.
Программаторы «параллельные». Поддержка мс. производится в колодке (сокетке) программатора.
Программаторы внутрисхемные. Программирование микросхем реализуется непосредственно в устройстве (режим внутрисхемного программирования).
Программатор «параллельный». Для того, что бы произвести заданные действия с микросхемой, ее надо поместить в колодку программатора. После этого, в прогр. интерфейсе программатора выбрать необходимый тип обслуживаемой мс, после этого, запустить соответствующий режим (очистка, проверка на чистоту, снятие защиты от программирования и т.д.).
Колодка программатора призвана обеспечивать надежный электрический контакт между выходами мс и драйверами программатора. Как правило, универсальный программатор снабжается колодкой под DIP корпус микросхемы. Самыми надежными и удобными для пользователя являются колодки с нулевым усилием – (ZIF socket).
Для поддержки микросхем с корпусами, отличными от DIP, надо применять специальные переходные адаптеры.
Внутрисхемный программатор. ISP программирование возможно только тех микросхем, которые рассчитаны на данный режим.
Обычно, подобные мс содержат встроенные схемы, которые:
- из внешнего напряженияпитания генерируют напряжения необходимые для программирования;
- обеспечивают коммуникацию с программатором по последовательному интерфейсу.
Для поддержания режима ISP Mode, прототип пользователя должен поддерживать:
1. необходимую коммутацию ножек микросхемы с выходами внутрисхемного программатора;
2. заданные режимы по нагрузке и питанию на соответствующих ножках микросхемы в режиме программирования.
Неоспоримым преимуществом внутрисхемного программирования является способность объединения процесса записи и тестирования, убрав отдельную операцию программирования микросхем перед финишной сборкой прототипа.
Хорошей особенностью программаторов серии ChipProg-xx является то обстоятельство, что кроме обслуживания основного режима (программирования в колодке программатора), они реализуют и режим ISP программирования.
По интерфейсу с компьютером
Как правило, для подключения современного программатора к PC используется либо параллельный канал, либо USB порт. При прочих равных условиях, USB программатор имеет очевидные преимущества.
По возможному количеству синхронно программируемых микросхем
Как правило, универсальный программатор используется для работы одновременно не более чем с одной микросхемой. Порой может возникнуть необходимость, например, реализовать программирование микроконтроллеров в большом количестве. Для тиражирования микросхем используются программаторы копировщики.
Так например, программатор ChipProg-G4 оборудован четырьмя ZIF колодками, и позволяет в асинхронном режиме записывать до 4 микросхем параллельно. Дополнительной возможностью заметно увеличить скорость копирования – воспользоваться функциональными возможностями некоторых программаторов. Например, профессиональные программаторы ChipProg-XX с USB предоставляют возможность мультипрограммирования. Необходимое множество таких программаторов может быть подключено к одному PC через USB каналы, либо через USB HUB. Данные программаторы, объединенные в данный режим, работают асинхронно и абсолютно независимо друг от друга.
По специальным сервисным и функциональным возможностям
Различные программаторы заметно отличаются друг от друга по своим функциональным и сервисным возможностям.
Для иллюстрации обсудим вспомогательные возможности, предлагаемые программаторами ChipProg-XX
- Самоконтроль готовности;
- контроль каждого вывода программируемой микросхемы на наличие контакта ;
- Функциональные схемы защиты. Защита неправильно вставленных микросхем;
- Экстремально высокая скорость программирования;
- Предохранение от электростатики;
- Кнопка, запускающая выполнение необходимой операции ;
- Поддержка программирования микросхем в устройстве пользователя. ISP;
- Программируемый синтезатор частоты;
- Поддерка записи серийного номера в память микросхем;
- Обеспечение подсчета контрольных сумм;
- Режим записи сигнатуры ;
- Ведение проекта;
- Поддерка автоматического распознавания присутствия микросхемы;
- двоичный редактор;
- Встроенный язык сценариев;
и т.п..