Ок!Закрыть
Содержимое

Программатор для начинающих

Что такое программатор

Программатор это программно аппаратное устройство, предназначенное для записи информации в постоянное запоминающее устройство (ПЗУ). Помимо записи, программатор должен обеспечивать возможность считывания информации из ПЗУ микросхемы. Наряду с основными режимами записи и чтения, многие микросхемы имеют ряд дополнительных режимов: стирание, защита от чтения, защита от программирования и т.п. Принято считать, что программатор поддерживает микросхему, если он:

  1. обеспечивает работу с микросхемой во всех режимах, предусмотренных разработчиком данной микросхемы;
  2. все алгоритмы реализованы в строгом соответствии с требованиями спецификации на данную микросхему.

Для выполнения своих функций, программатор, как минимум должен содержать:

- колодку, в которую можно вставить выбранную микросхему. Колодка должна обеспечивать электрический контакт с выводами микросхемы;

- интерфейс, позволяющий осуществлять ввод/вывод записываемой и считываемой информации;

 - программно аппаратные драйвера, способные формировать и считывать логические уровни и сложные тактовые сигналы.

Рассмотрим некоторые классификации программаторов по следующим параметрам.

По типу поддерживаемых микросхем

  1. Специализированные программаторы. Программаторы, программирующие микросхемы только одного типа, или микросхемы только одного производителя. В качестве примера можно привести EEPROM программатор или программатор для PIC.
  2. Условно универсальные программаторы. Программаторы, программирующие (поддерживающие) микросхемы различных типов и/или микросхемы различных производителей, например JTAG программатор.
  3. Универсальные программаторы. Программаторы, программирующие (поддерживающие) микросхемы всех типов, и микросхемы всех производителей.

Очевидно, чем более широк спектр поддерживаемых микросхем, тем более сложная программно аппаратная реализация программатора.

Аппаратная часть наиболее простых программаторов, позволяющих запрограммировать микросхемы одной серии, как правило, представляет собой кабель и несколько резисторов, которые подключаются к одному из портов PC. 

Универсальный программатор строится на базе универсальных аппаратных драйверов. Аппаратные драйвера подключаются к выводам колодки, и должны обеспечивать:
- подачу и считывание логических уровней;
- подачу сложных тактовых последовательностей в широком диапазоне частот;
- подачу напряжения в широком диапазоне и с высокой точностью.

В общем случае, чем более универсальны аппаратные драйвера, и чем больше их количество - тем более универсален программатор.

По способу программирования микросхем

  1. Параллельный программатор. Программирование микросхем происходит в колодке программатора;
  2. Внутрисхемный программатор, или ISP программатор. Программирование микросхем происходит непосредственно в устройстве пользователя (режим внутрисхемного программирования).

Параллельный программатор. Для того, что бы произвести необходимые действия с микросхемой, ее надо вставить в колодку программатора. Затем, в программной оболочке программатора выбрать соответствующий тип поддерживаемой микросхемы, после этого, запустить на исполнение необходимый режим (программирование, чтение, стирание, защита и т.п.).

Колодка программатора должна обеспечивать надежный электрический контакт между выводами микросхемы и аппаратными драйверами программатора. Как правило, универсальный программатор оснащается колодкой под DIP корпус микросхемы. Наиболее надежными и удобными для пользователя являются специальные колодки (сокетки) с нулевым усилием - (ZIF socket).

Для программирования микросхем с корпусами, отличными от DIP, необходимо использовать специальные переходные адаптеры для программатора.

Внутрисхемный программатор. Внутрисхемное программирование возможно только тех микросхем, которые рассчитаны на данный режим («ISP mode», In-System Programming). Как правило, подобные микросхемы имеют встроенные схемы, которые:
- из внешнего напряжения питания генерируют напряжения необходимые для программирования;
- обеспечивают коммуникацию с внутрисхемным программатором по последовательному интерфейсу (вариации протокола JTAG, SPI, UART).

Для реализации режима внутрисхемного программирования, устройство пользователя должно обеспечивать:
- необходимую коммутацию выводов микросхемы с выходами внутрисхемного программатора;
- необходимые режимы по нагрузке и питанию на соответствующих выводах микросхемы в режиме программирования.

Главным преимуществом внутрисхемного программирования является возможность объединения процесса программирования и тестирования, исключив отдельную фазу программирования микросхем перед окончательной сборкой устройства.  

Отличительной особенностью программаторов серии ChipProg-xx является то обстоятельство, что помимо поддержания параллельного режима программирования (программирования в колодке программатора), они поддерживают и режим внутрисхемного программирования.

По подключению к компьютеру

Как правило, для подключения современного программатора к PC используется либо параллельный порт  (Line Print Terminal, LPT), либо порт USB.

По количеству одновременно программируемых микросхем

Как правило, универсальный программатор может работать одновременно не более чем с одной микросхемой. Для тиражирования микросхем выпускаются программаторы копировщики. Так например, программатор ChipProg-G4 снабжен четырьмя ZIF сокетками, и позволяет в асинхронном режиме программировать до 4 микросхем одновременно. Другой возможностью существенно увеличить скорость тиражирования партий микросхем – воспользоваться функциональными возможностями некоторых программаторов. В частности, универсальные программаторы серии ChipProg-XX  с USB интерфейсом предоставляют возможность мультипрограммирования. Любое количество usb программаторов может быть подключено к одному управляющему компьютеру через USB порты, либо через usb HUB. USB программаторы, объединенные в мультипрограмматорный режим, работают асинхронно и совершенно независимо друг от друга. 

По дополнительным функциональным и сервисным возможностям

Различные программаторы, подчас существенно отличаются друг от друга по своим функциональным и сервисным возможностям.

Некоторые дополнительные возможности, предоставляемые программаторами ChipProg-XX

  • Самотестирование;
  • Аппаратный контроль каждого вывода программируемой микросхемы на наличие контакта перед программированием;
  • Быстродействующие схемы защиты от перегрузки по току, увеличивающие надежность программатора. Защита неправильно подключенных микросхем;
  • Очень высокая скорость программирования;
  • Защита всех выводов колодки от электростатического разряда;
  • Кнопка, запускающая выполнение любой выбранной операции или последовательности операций;
  • Интерфейс Управления Приложением – программный интерфейс, предназначенный для пользователей, которым нужно использовать программатор ChipProg-XX, управляя им не с помощью программной оболочки программатора, а с помощью собственных средств;
  • Поддержка программирования микросхем в устройстве пользователя. (режим ISP). При этом, пользователю предоставляется:
       - Возможность управления программатором из другого приложения, что позволяет создавать комплексы по  тестированию и программированию устройств пользователя;
       - Возможность подачи питающего напряжения на устройство пользователя от программатора;
       - Дополнительные выходные сигналы, индицирующие состояние программатора;
       - Внешний входной сигнал, запускающий работу программатора.
  • Программируемый синтезатор частоты;
  • Режим записи серийного номера в память микросхем с автоматическим изменением данного номера;
  • Режим подсчета контрольных сумм с возможностью ее записи в любую область памяти микросхем;
  • Режим записи сигнатуры пользователя в любую область памяти микросхем;
  • Поддержка проекта;
  • Многобуферный интерфейс с возможностью создания неограниченного числа буферов. Буфера разбиты на подслои, имеющие структуру адресного пространства микросхем;
  • Режим автоматического распознавания присутствия микросхемы в колодке с автоматическим запуском выбранных процедур: программирование, чтение, сравнение и т.д.;
  • Возможность работы нескольких USB программаторов под управлением одного компьютера (мильтипрограмматорный режим работы);
  • Полноценный двоичный редактор;
  • Загрузка и сохранение файлов в двоичном, Standard Extended Intel HEX, Motorla S-record, POF, JEDEC, PRG, Holtek OTP, ASCII HEC, ASCII OCTAL, Angstrem SAV форматах;
  • Встроенный язык сценариев, обеспечивающий доступ ко всем ресурсам.

Универсальные программаторы нашего производства

ChipProg-481 Универсальный USB программатор, оптимизированный для скоростного программирования NAND Flash, микроконтроллеров, FLASH, E(E)PROM, NVRAM, ПЛИС, PLD. Описание программатораChipProg-481
ChipProg-48 Универсальный USB программатор. Быстрое программирование микроконтроллеров, FLASH, NAND, EEPROM, EPROM, NVRAM, ПЛИС, PLD. Характеристики программатораChipProg-48
ChipProg-40 Бюджетный, универсальный программатор с USB интерфейсом. Программирование микроконтроллеров, FLASH, EPROM, EEPROM, NVRAM. Описание программатора ChipProg-40
ChipProg-ISP Внутрисхемный ISP программатор. Программирование микроконтроллеров и микросхем памяти в устройстве пользователя. Описание программатораChipProg-ISP
ChipProg-G41 Промышленный программатор копировщик. Самое быстрое программирование, тиражирование микроконтроллеров, FLASH, NAND, E(E)PROM, NVRAM, ПЛИС, PLD. Описание программатораChipProg-G41
ChipProg-G4 Промышленный программатор копировщик. Программирование, тиражирование микроконтроллеров, FLASH, NAND, E(E)PROM, NVRAM, ПЛИС, PLD. Описание программатораChipProg-G4