Прошивка чипа картриджа Samsung SCX-4200
Первые программаторы были автономными – для набора прошивки имелась клавиатура или коммутационная панель. С распространением ПК такие программаторы были полностью вытеснены подключаемыми к компьютеру – специальная программа (которая также называется программатором) передаёт прошивку с компьютера, а программатору остаётся только записать её в память микросхемы.
Для подключения программаторов
могут применяться:
– Последовательный порт.
– Параллельный порт.
– Специализированная интерфейсная плата (ISA или PCI).
– USB.
Стоит заметить, что в самых простых параллельных и последовательных программаторах управляющему ПО приходится напрямую управлять логическим уровнем на выводах порта. Такое прямое управление в Windows NT запрещено, это обходится установкой специализированного драйвера; через адаптеры USB>COM bitbang-программаторы работают крайне медленно (единицы-десятки байт в секунду). Микроконтроллерные программаторы полностью поддерживают протокол COM- или LPT-порта и поэтому свободны от этих недостатков.
Специализированные платы изредка применялись до появления USB, так как позволяли достичь максимальных скоростей обмена данными. Впрочем, одновременно они делали программатор стационарным.
Современные программаторы подключаются через USB (лишь простые дешёвые конструкции используют COM- или LPT-порты).
По дополнительным функциям:
– Наличие программного обеспечения под распространённые платформы (обычно под Windows и Linux; остальные ОС среди разработчиков непопулярны).
– Проверка правильности подключения ещё до попытки стереть микросхему.
– Проверка исправности программатора.
– JTAG-адаптеры, пригодные одновременно как для программирования, так и для отлаживания прошивок.
– Полевые программаторы имеют компактные размеры и содержат внутреннюю память для хранения прошивки.[1] Такие программаторы предназначены для обслуживания техники прямо в местах её установки (подчас труднодоступных).
– Встроенный HEX-редактор, позволяющий откорректировать записанную в микросхеме информацию.
– Возможность самостоятельного обновления прошивки самого программатора.
– Возможность одним нажатием кнопки выполнить некоторую последовательность действий – например, стереть, проконтролировать стёртость, записать, проверить правильность записи и установить конфигурационные биты (так называемое автоматическое программирование).
В программаторах для массового программирования может применяться скриптовый язык, на котором можно реализовать, например, автоинкремент серийных номеров – таким образом, каждая микросхема будет иметь уникальный номер.
2.2 Выбор программатора
Прочитав название статьи каких-нибудь 10-15 лет назад, мы бы очень удивились: нам бы ваши проблемы. Работая на «ящиках», мы и понятия не имели, что в этом вопросе бывает какая-то неопределенность. Перечень разрешенных к применению микросхем был настолько «широк», что приходилось выбирать практически из одной позиции, да и вопрос с программаторами обстоял элементарно просто: тебе нужен программатор – сделай его сам. Каждая лаборатория с гордостью делала свой, самый лучший и надежный программатор. Каких устройств там только не было: начиная от простых, но очень надежных изделий на тумблерах, до очень сложных, занимавших половину рабочего стола и иногда работавших мощных программаторов. Их разработчики с любовью программировали каждый бит тех сложных устройств (благо устройства эти не были обременены большим количеством информации). Обычно пользоваться таким программатором мог только человек, давший ему жизнь, а весь процесс программирования со стороны воспринимался, как шаманский танец с бубном. Теперь мы, к великому сожалению, лишены всей прелести тех лет.
С падением железного занавеса выяснилось, что перечень программируемых интегральных схем в мире просто гигантский – это микросхемы памяти как с параллельным, так и с последовательным доступом информации (EPROM, EEPROM, FLASH); микроконтроллеры с внутренней памятью команд и данных; микросхемы программируемой логики (PLD). Причем, перечень таких изделий с каждым годом стремительно растет, имея тенденцию к усложнению изделий и к увеличению их гибкости. С другой стороны, как ответ на потребность использования этих микросхем, рынок наполняется большим количеством программаторов. Как не ошибиться и сделать правильный выбор при приобретении программатора? В этой статье мы попытаемся дать представление об устройстве программаторов и ответить на этот вопрос.
Рассмотрим классификацию программаторов по функциональным возможностям. Условно их можно подразделить на такие группы:
– программаторы, программирующие микросхемы памяти (EPROM, EEPROM, FLASH);
– программаторы, программирующие микросхемы памяти (EPROM, EEPROM, FLASH) и внутреннюю память микроконтроллеров;
– программаторы, программирующие микросхемы памяти (EPROM, EEPROM, FLASH), внутреннюю память микроконтроллеров, микросхемы программируемой логики (PLD);
– универсальные программаторы-тестеры.
Данную классификацию можно считать достаточно условной, жестких границ между программаторами разных групп не существует. Программаторы первой и второй групп наиболее простые и дешевые устройства. Программаторы третьей группы, обычно, аппаратно значительно более сложны и стоимость их, соответственно, более высокая. Это объясняется, в частности, особенностью работы с устройствами программируемой логики. Микросхемы программируемой логики вообще стоят несколько обособленно в ряду программируемых устройств. Если информацию по программированию микросхем памяти и внутренней памяти микроконтроллеров фирмы-производители микросхем, как правило, не скрывают и публикуют в своих каталогах, то информацию по программированию микросхем PLD можно получить только после заключения соответствующего соглашения с фирмой-производителем микросхем. Причем, некоторые производители PLD не стремятся увеличить число фирм-производителей программаторов, поддерживающих их устройства, главное для них – качество программирования и строгое следование предписанным процедурам программирования. Так, например, чтобы заключить соответствующие соглашения с фирмами AMD и Lattice московской фирме «Фитон» пришлось сдавать квалификационный экзамен.
Последняя функциональная группа программаторов – универсальные программаторы – наиболее сложные и дорогие устройства, но способные работать с очень большим перечнем микросхем. Стоимость таких устройств может достигать тысяч и десятков тысяч долларов.
2.3 Аппаратное устройство программаторов
В первую очередь коснемся той детали программатора, с которой приходится взаимодействовать больше всего – это колодка, куда помещается программируемая микросхема. Эта одна из самых важных деталей программатора, от качества и надежности которой зависит способность программатора выполнять свои функции. Любой программатор вне зависимости от его сложности, стоимости и функциональных возможностей обязательно должен быть снабжен специальной тестовой колодкой, обеспечивающей многократный надежный контакт с программируемой микросхемой. Фирмы, выпускающие такие сокеты, гарантируют надежный контакт при десятках тысячей операций установки в нее микросхем. Наиболее удобными для пользователя являются специальные сокеты с нулевым усилием (ZIF socket). Если программатор не снабжен специальными тестовыми сокетами, предназначенными для многократных установок микросхем, а вместо них стоят дешевые одноразовые колодки, то считайте, что Вы просто зря потратили свои деньги. Вы быстро сможете в этом убедиться, когда безвозвратно испортите микросхемы с однократным программированием из-за отсутствия контакта в колодке. В недорогих программаторах обычно устанавливаются универсальные (рассчитанные как на узкий, так и на широкий тип корпуса) ZIF DIP сокетки. В более дорогих образцах программаторов могут устанавливаться одновременно несколько видов ZIF сокеток, рассчитанных на разные типы корпусов микросхем (LCC, QFP и т. д.). Иногда программаторы снабжаются универсальными сменными головками под различные типы корпусов. Для программирования микросхем с корпусами, отличными от DIP и с большим числом выводов, программаторы снабжаются специальными адаптерами под соответствующий тип корпуса. В связи с тем, что на этих адаптерах также должны устанавливаться высоконадежные тестовые сокетки, стоимость таких адаптеров может оказаться довольно существенной.
Другие рефераты на тему «Программирование, компьютеры и кибернетика»:
Поиск рефератов
Последние рефераты раздела
- Основные этапы объектно-ориентированного проектирования
- Основные структуры языка Java
- Основные принципы разработки графического пользовательского интерфейса
- Основы дискретной математики
- Программное обеспечение системы принятия решений адаптивного робота
- Программное обеспечение
- Проблемы сохранности информации в процессе предпринимательской деятельности