Содержание
Введение
1. Восстановление картриджей
1.1 Профессиональнаярегенерация (восстановление и заправка) картриджей
1.2 Мировые тенденции
1.3 Появление чипов
1.4 Микросхемы, используемые вчипах
1.5 Характеристика микросхемы24c04, используемой в чипе картриджа
2. Информация о программаторах
2.1 Классификацияпрограмматоров
2.2 Выбор программатора
2.3 Аппаратное устройствопрограмматоров
2.4 Программное обеспечениепрограмматора
2.5 Связь программатора междукомпьютером и чипом через интерфейс RS232
3. Программное обеспечение дляработы с программатором
3.1 Программа PonyProg
3.2 Программа ICProg
4. Прошивка чипа картриджа лазерного принтера
4.1 Информация о чипе
4.2 Сборка программатора
4.3 Программирование чипа
4.4 Расшифровка значений поляпрошивки
5. Техника безопасности при работе с ПК и СВТ
5.1 Требования пожарнойбезопасности к содержанию помещений
5.2 Содержание электроустановки
5.3 Содержание системотопления, водоснабжения и вентиляции
5.4 Требования к содержаниюсредств пожаротушения.
5.5 Обязанности лица,ответственного за пожарную безопасность
Заключение
Список использованной литературы
Введение
На сегодняшний деньпринтер является самым популярным периферийным устройством, подключаемым кперсональному компьютеру. Пользователей компьютеров при покупке принтеров, какправило, волнует уже не только вопрос, какую именно модель приобрести, но и неменее важные технические особенности и проблемы, связанные, например, спостоянным наличием расходных материалов у фирмы-продавца, дальнейшим сервиснымобслуживанием печатающих устройств, надежность, быстродействие.
В последнее время всеизвестные бренды, осознав, насколько это целесообразно, перешли на чипованныерасходные материалы. Это предоставляет пользователям ряд удобств при работе стехникой. Именно благодаря электронному интеллекту принтер или многофункциональноеустройство вовремя сообщает о необходимости заменить картриджи. Чип следит заресурсом принтера и регулярно посылает соответствующие команды на главную платуустройства. А та, обработав понятные ей сигналы, выдаёт соответствующиепредупреждения пользователю: «Замените картридж» – знакомое сообщение для тех,кто использует оригинальные расходные материалы.
В своей работе ярассмотрел картриджи лазерных принтеров, оснащаемые в наше время небольшимимикросхемами – чипами. На них«прошита» информация о расходном материале, «язык» общения с необходимымустройством и ресурс, на который рассчитан картридж. На нём же содержитсятехническая информация типа серийного номера самого электронного компонента иболее специфические данные.
В 1 разделе я рассмотрелвосстановление картриджей и историю появления чипованных картриджей. Во второми третьем разделах своего дипломного проекта дал информацию о программаторах ипрограммном обеспечении к ним. В 4 разделе рассказал, каким образом я прошивалчип картриджа принтера Samsung SCX-4200.
1. Восстановление картриджей1.1 Профессиональнаярегенерация (восстановление и заправка) картриджей
Регенерация отработанныхкартриджей для печатающих устройств, как новый вид бизнеса, начала распространятьсяболее 15 лет тому назад. На протяжении всего этого времени данный вид бизнесапостоянно развивался от небольших фирм, предлагающих потребителям услуги позаправке картриджей, до лабораторий и мини-заводов по переработке отработанныхкартриджей всех типов печатающих устройств.
Данная продукция, а такжеуслуги вызывают большой интерес у потребителей, т.к. позволяют существенноснизить затраты на поддержание работоспособности офисной печатающей техники:
– стоимостьвосстановленного картриджа составляет 40%-50% стоимости нового картриджа;
– гарантия качествапечати соответствует требованиям к печатающему устройству;
– картриджи можновосстанавливать многократно;
– приобретение ииспользование восстановленных картриджей – это вклад в защиту окружающей среды,так как в процессе восстановления используются детали, не поддающиеся износу.
В наше времяпотребителями восстановленных картриджей является 70-80% всех без исключенияорганизаций, частных лиц, фирм, пользующихся печатающей оргтехникой. Некоторыеорганизации даже не подозревают, что работают с восстановленными картриджами,т.к. отличие качественно сделанного восстановленного картриджа от оригинальногозаметит только профессионал.
Всевозможные принтеры,копиры и многофункциональные устройства достаточно плотно и естественно вошли внашу повседневную жизнь. Однако, как и всё в этом мире, это IT-направление тожеразвивается и совершенствуется. В последнее время всё больше производителейоснащают расходные материалы чипами. Вот о них и пойдёт речь в нашей статье.1.2 Мировыетенденции
IT-технологии развиваютсястремительно и динамично. Это проявляется не только на уровне оснащениянаселения по последнему слову техники, но и в усовершенствовании каждойотдельной составляющей IT-индустрии. Ноутбуки становятся легче и меньше вразмерах, настольный компьютер – быстрее, карманный компьютер –многофункциональнее, телефон превращается в смартфон, принтер и копировальныйаппарат объединяются в многофункциональное устройство. Быстрые и серьёзныеизменения. Но есть ещё и другие новинки, незаметные на первый взгляд. Вы можетеработать с принтером или многофункциональным устройством каждый день и толькопри замене картриджа заметите небольшую плату на дейвайсах. А ведь эта маленькаяштучка многое «знает» и многим способствует обеспечению удобства работы спринтерными решениями многих известных брендов. Вот о таких, если можно сказатьмикроизменениях, и пойдёт речь. Наибольшее внимание будет уделено известномубренду Hewlett-Packard.
Любой производитель,помимо активной продажи своей оргтехники, старается продвигать и расходныематериалы собственного изготовления. В основном это картриджи и бумага. Дляконечного потребителя это может выражаться в виде несовместимости расходныхматериалов от других производителей или в виде промо-акций с целью увеличенияспроса. Если с последним всё понятно, то вот с первым решением возникает многонюансов, причём не всегда удобных и выгодных простым потребителям.
Почему же производительстарается искусственно ограничить выбор покупателя своей расходной продукцией?Вопрос риторический. Безусловно, это, прежде всего, прибыль. Кому же захочетсяпродать принтер, получив разовый доход. Куда выгоднее «поддерживать» проданноеоборудование расходными материалами, в частности, картриджами. Регулярный истабильный доход компании-производителя.
Именно поэтому ассортиментрынка расходных материалов такой пёстрый. Существует несколько направленийдеятельности компаний, производящих расходные материалы.
Оригинальная продукция.Сам производитель выпускает соответствующие картриджи для своих устройствпечати.
Восстановление и заправкаоригинальной продукции. В России данное направление достигло своих пиковыхпоказателей. Количество фирм, которые восстанавливают как в заводских, так и в«кустарных» условиях картриджи, достигло катастрофического показателя.
Производство совместимойпродукции. Перспективное направление на рынке IT-технологий. Нет, это не новое, но ещё и не достигшее своегопика направление. Существует несколько крупных фирм, организовавших своёпроизводство. В Подмосковье есть крупный завод по производству совместимыхрасходных материалов, причём это очень интересный проект известной фирмы нарынке.
На рынке расходныхматериалов идёт достаточно жёсткая борьба. Фирмы-производители борются запотребителя с компаниями, производящими совместимые или восстановленныекартриджи. Но на этом конкуренция не заканчивается. Те самые фирмы,производящие совместимую продукцию или занимающиеся воспроизводством расходныхматериалов, «бьются» друг с другом. Порой конкуренция последних сопоставима сбрендовыми компаниями. Никого не удивить очень низкой ценой, полноценнойгарантией и большим количеством маркетинговых акций. Да, такого жёсткогоэкономического соревнования, пожалуй, ни на одном рынке больше не встретишь. Икак человек, работающий в данном сегменте не первый год, могу сказать, что дажетакая борьба себя окупает. Каким бы экономным и рациональным ни былпользователь, рано или поздно он всё равно столкнётся с проблемой пустогокартриджа.
Производители пытаютсяудержать финансовый интерес потребителей на своей продукции. Но чем дальше, темтяжелее это сделать. Вот тут-то и начинается самое интересное со стороныпроизводителя.1.3 Появлениечипов
Производители патентуютразработки, которые реализуют в своих расходных материалах. Соответственно,чтобы не нарушать патенты и не судиться с «мастодонтами» мира оргтехники,приходится прибегать к разным обходным путям. Хотя известный бренд попроизводству совместимой продукции PRINT-RITE всё-таки не избежал такой участи.Иск от компании Epson был удовлетворён в пользу известного производителя. Надосказать, что таких побед законных производителей достаточно много. Тот же самыйпроизводитель выиграл, например, ещё одно судебное дело, на этот раз у компанииEnvironmental Business Products Limited. Как вы понимаете, компания, непродающая расходные материалы к своим принтерам, терпит большие убытки. Поэтомутакие судебные разбирательства были и будут до тех пор, пока существует рыноквосстановленной и совместимой продукции.
Однако производителиоргтехники ограничивают использование сторонних картриджей не только искамипротив конкурентов-производителей, но и более «красивыми» способами. Речь идёто чипах. Картридж, оснащённый маленькой микросхемой, как правило, называют«умным». Smart-картриджи удобны для конечного пользователя и выгодныкомпании-производителю оргтехники. Время, которое будет потрачено конкурентамина освоение новых технологий расходных материалов, а также для поиска решенийво избежание повторений запатентованных «моментов» в картридже, позволитполучить прибыль, и весьма немаленькую.
Как мы видим, чип – этовсего лишь небольшая микросхема. На ней «прошита» информация о расходном материале,«язык» общения с необходимым устройством и ресурс, на который рассчитанкартридж. На нём же содержится техническая информация типа серийного номерасамого электронного компонента и более специфические данные. Но заострять наних внимание мы не будем. В последнее время все известные бренды, осознав,насколько это целесообразно, перешли на чипованные расходные материалы. Этоотсекает многих небольших конкурентов и предоставляет пользователям ряд удобствпри работе с техникой. Именно благодаря электронному интеллекту принтер илимногофункциональное устройство вовремя сообщает о необходимости заменитькартриджи. Чип следит за ресурсом принтера и регулярно посылает соответствующиекоманды на главную плату устройства. А та, обработав понятные ей сигналы,выдаёт соответствующие предупреждения пользователю: «Замените картридж» –знакомое сообщение для тех, кто использует оригинальные расходные материалы.
Чипы бывают двух видов:
– Контактные. Для связи ипостроения «общения» с устройством печати используют контакты. Smart-плата, какправило, видна невооружённым взглядом (См. рисунок 1).
/>
Рисунок 1 – Контактные чипы
На рисунке хорошо видно,что контактные платы, в отличие от плат второго вида, открыты.
– Бесконтактныеэлектронные компоненты не требуют непосредственного способа передачи и приёмасигналов. На Hewlett-Packard LaserJet 4200 чип упакован в герметичный пластиковыйконтейнер. Чтобы в этом убедиться, посмотрим на рисунок 2.
/>
Рисунок 2 – Бесконтактныечипы
Небольшая плата может«общаться» с принтером по беспроводным технологиям. Для этого в принтере НРLJ4200 установлена специальная антенна и обрабатывающая микросхема.
Оба вида чипов крепятсяна картриджах НР при помощи клея – простой и надёжный способ разместитьмикросхему, не прибегая к особым креплениям и изощрённым технологиям. Однаконекоторые производители «прячут» электронику от прямого доступа.
В любом случае Smart Chip представляет из себя флэш-памятьнебольшого объёма. В ней прописаны ресурс и опознавательные сигналы, на неё жезаписываются данные, посылаемые с принтера. Это простая, но всё-такидвусторонняя связь принтера и картриджа. При загрузке картриджа в устройствопринтер запрашивает сведения у установленного расходного материала, а чиппредоставляет то, что на нём прошито. Если схема «скажи пароль – проходи»сработала, то устройство для печати выходит в готовность. В случае еслиустановлен картридж без чипа или чип стороннего производителя, будет выданасоответствующая ошибка на дисплей принтера или через программное обеспечение надисплее компьютера. У Hewlett-Packard LaserJet 4100, например, это сообщение«Установлены материалы не производства НР». Если брать модель НР LJ1300, тодрайверы будут «ругаться» на то, что картридж пуст. Однако печатать в обоихслучаях, естественно, можно. Обменявшись начальными данными, принтерная платапосылает текущий пробег печатного устройства. Этот показатель записывается на«флэшке», начинается отсчёт количества напечатанных страниц, по мере печатиидет процентное отражение текущего ресурса картриджа. Как вы понимаете, этоочень приблизительное состояние картриджа, и точно быть уверенным в его ресурсене приходится.
Чип позволяет принять несколькокоманд по записи на себя. После определённой команды он отправляет «ответ»принтеру, и тот снижает процентное отображение текущего заполнения картриджатонером. И в самый крайний момент посылает на принтер команду, что тонераосталось мало. На сетевых аппаратах марки НР это выражается уведомлением«Замените расходные материалы». Но тут возникает небольшая проблема: какопределить, когда тонер вообще закончился? Ведь принтерные решения, даже у НР,ещё не достигли такого интеллектуального развития, чтобы позволятьсамостоятельно решать, что печать невозможна из-за отсутствия тонера вкартридже. Вот для этой цели на «машинках» Hewlett-Packard по обработкепечатных заданий была внедрена удобная и простая схема контроля.
В тонерном бункере НР Color LJ 2600 картриджа расположены двасветочувствительных проводника или светодиода. Они «пронизывают» тонерную частьрасходного материала.
Внутри между ними естьнебольшое расстояние. Учитывая, что эти светодиоды способны передавать свет,здесь используется именно этот принцип. На ввод подаётся световой лучик и,проходя через тонерную массу картриджа, «выходит» наружу или наоборот«остаётся» внутри.
Вот эта системауведомляет принтерное решение НР и пользователя о необходимости поменятькартридж. Она, как вы понимаете, работает не по примерному ресурсу, а именно пофактическому наличию тонера в картридже. Если свет прошел через тонернуюсоставляющую картриджа, то, скорее всего, порошка там уже нет.
Сравнивая решения поумным системам контроля за ресурсом картриджа, хочется отметить надёжную идвухуровневую (чип и светодиоды) систему Hewlett-Packard. Как всегда, новая инадёжная выдумка принадлежит основному лидеру рынка печати.
Открытое расположение илёгкость отсоединения чипа привели к очередному бизнесу в сервис-центрах поремонту оргтехники и заправки картриджей. Правда, всё это большей частьюотносится к линейке Hewlett-Packard. Остальные производители стараются скрытьсвои интеллектуальные нюансы, исключив возможность их несложной замены, хотявсё это лишь слегка усложнило процесс замены чипов и заправки картриджей. Что,кстати сказать, отразилось и на стоимости таких восстановительных работ.Smart-платы доступны, конечно, не всем пользователям. В основном их импортируютиз США и Китая крупные поставщики расходных материалов. Это достаточнокачественные компоненты. Многие сервис-центры, осознав выгоду от новогонаправления, занялись развитием этого бизнеса. Никого уже не удивить, чтокартриджи даже для лазерных принтеров заправляются в домашних условиях. А вот«обман» чипованных разработок простыми пользователями ещё не освоен – это подсилу только сервис-центрам, у которых есть электронные составляющие, опыт итехническая документация.
Просматривая переченьосновных поставщиков электронных начинок для принтеров и МФУ, вижу, чтопроизводители идут по очень интересному пути – выпускают универсальные схемы.Приведу пример совместимости чёрного универсального smart-чипа для линейкипринтеров НР: HP2500/1500, HP2550, HP2300, HP4200, HP1300. Достаточно широкийдиапазон возможностей, что очень выгодно сервис-центрам. Не надо возить чипыпод каждый картридж, достаточно закупить универсальные решения и реализовыватьих на многочисленном оборудовании одного бренда. Работа такого чипа весьмапроста – он сам определяет, на каком оборудовании он установлен, и при запросеинформации с принтера посылает «правильный» ответ устройству. Проблем прииспользовании чипов, как правило, не возникает. Это и позволило развитьсябизнесу по заправке чипованных картриджей в России. Причём если раньше заправкиограничивались на монохромной линейке производителей, то теперь динамичныесервис-центры освоили и «цветную лазерную» заправку. По собственномунаблюдению, проблем с цветопередачей и Smart-чипами не возникает. Системаопознаёт картриджи корректно, а принтер печатает на уровне, сопоставимом соригинальными картриджами.
Российский менталитеттаков, что мы всегда стараемся сэкономить. И рынок расходных материалов не сталисключением. А это равнозначно возникновению спроса. Ну а раз есть спрос, то,по закону экономики, возникнет и предложение. Поэтому развитие заправокчипованных картриджей продолжает активно осваиваться, причём восстановительнымработам «поддались» почти все бренды. Получается, что нововведениепроизводителей, нацеленное на ограничение восстановления и перезаправоккартриджей, потерпело фиаско.
В итоге пользователиполучили удобства лишь при работе с оригинальной продукцией. В остальныхслучаях заправки или восстановления картриджей – результатом становитсянекорректное отображение текущего состояния расходных материалов или регулярноенапоминание о том, что установлен расходный компонент стороннего производителя.Речь идёт о случае, если чип просто отрывают или не меняют при заправке.Принтер проинформирует потребителя, но всё-таки продолжит печатать.1.4 Микросхемы,используемые в чипах
Термин «программированиемикросхем» обозначает процесс записи (занесения) информации в постоянноезапоминающее устройство (ПЗУ) микросхемы. Как правило, запись информации(программирование), производится при помощи специальных устройств –программаторов. Хороший программатор позволяет не только записывать, но исчитывать информацию, а в ряде случаев, производить и другие действия смикросхемой и информацией находящейся в ней. В зависимости от типа микросхемысо встроенным ПЗУ, это может быть: стирание, защита от чтения, защита отпрограммирования и т.п.
Используя различныепризнаки, все многообразие микросхем со встроенным ПЗУ можно систематизироватьследующим образом:
1. По функциональномуназначению:
– Микросхемы памяти;
– Микроконтроллеры свнутренним ПЗУ;
– Микросхемыпрограммируемой логики (программируемые матрицы).
2. По возможностипрограммирования:
– Однократнопрограммируемые — микросхемы, допускающие единственный цикл программирования;
– Многократнопрограммируемые (перепрограммируемые) – микросхемы, допускающие множествоциклов программирования (перепрограммирования).
3. По допустимым способампрограммирования:
– Микросхемы,программируемые в специальном устройстве – программаторе. Для осуществлениянеобходимой операции (запись, стирание, чтение, верификация и т.п.), подобныемикросхемы вставляются в специальную колодку программатора, обеспечивающуюэлектрический контакт со всеми выводами микросхемы. Для реализации выбранногорежима, программатор формирует в соответствии со спецификацией производителянеобходимые последовательности сигналов, которые через колодку подаются наопределенные выводы микросхемы.
– Микросхемы,поддерживающие режим внутрисхемного программирования (“ISP mode”), и программируемые непосредственнов устройстве пользователя.
Подобные микросхемыдопускают выполнение необходимой операции (запись, стирание, чтение,верификация и т.п.) непосредственно в устройстве пользователя. Все действия попрограммированию (стиранию, чтению, верификации и т.п.) производятся с помощьювнешнего программатора, определенным образом подключенного к устройствупользователя. При этом устройство пользователя должно быть разработано с учетомспецифических требований данного режима.
– Микросхемы,поддерживающие режим внутреннего самопрограммирования. Подобные микросхемыдопускают выполнение необходимой операции (запись, стирание, чтение,верификация и т.п.) непосредственно в устройстве пользователя, безиспользования какого либо программатора. При этом устройство пользователядолжно быть разработано с учетом специфических требований данного режима.
В общем случае, каждаяпрограммируемая микросхема обладает своим индивидуальным набором допустимыхрежимов: программирование (запись), чтение, стирание, защита от чтения, защитаот программирования и т.п.
Так, например, некоторыеперепрограммируемые микросхемы не имеют отдельного режима «стирание». Для нихстирание прежней информации в памяти происходит в теневом режиме, при каждом новомцикле программирования (записи). Во многих микроконтроллерах поддерживаютсяразличные режимы ограничения доступа. Выбор режима ограничения доступапроизводится при программировании. В зависимости от выбранного режима, либо всеПЗУ, либо его определенная часть могут быть:
— защищены от возможностизаписи/дозаписи;
— защищены от возможностисчитывания содержимого извне. При попытке считать информацию, защищеннаямикросхема будет выдавать либо «мусор», либо «все 0», либо «все 1».
Говоря о программируемых микросхемах,можно считать общепринятой следующую систему мнемонических обозначений:
PROM (Programmable Read-Only Memory) –программируемая пользователем энергонезависимая память (ПЗУ).
EPROM(Erasable Programmable Read-Only Memory) – перепрограммируемое ПЗУ. Стирание содержимого производится припомощи ультрафиолетовых лучей, после облучения подобное ПЗУ готово к новомуциклу записи информации (программированию). Устаревший тип памяти.
EEPROM (Electrically Erasable Programmable Read-Only Memory) – электрическистираемое перепрограммируемое ПЗУ. Память такого типа может стираться изаполняться данными многократно, от несколько десятков тысяч раз до миллиона.
FLASH (Flash Memory) – одна из технологических разновидностейэнергонезависимой перезаписываемой памяти.
NVRAM (Non-volatile memory) – «неразрушающаяся» память, представляющая собой ОЗУсо встроенным источником электропитания. По своей функциональности дляпользователя аналогична традиционному ПЗУ.
PLD (Programmable Logic Device) – Программируемая логическая интегральная схема.(ПЛИС).
MCU (MicrocontrollerUnit) – микроконтроллер. Микроконтроллер это микросхема, содержащая: процессор,память (как правило), и периферийные устройства.
1.5Характеристика микросхемы 24c04,используемой в чипе картриджа
Микросхемы 24Cxx илиXerox90/01 представляют собой память EEPROM (electricaly erasable programableread only memory — электрически стираемая программируемая читаемая толькопамять) которая использует I2C-протокол (или IIC bus — Inter IntegratedCircuits bus).
Мы не будемостанавливаться на общих правилах самого протокола, рассмотрим только егонекоторые тонкости и особенности, не отраженные в описаниях производителей.
Вся изложенная нижеинформация была получена тестированием чипов серии 24xx производителейMicrochip, Atmel, Xicor, STMicroelectronics, а также чипов 8-DIP, на корпусекоторых написано Xerox90 (...) или Xerox01(...) /записи во второй и третьейстроках чипов Xerox по мнению автора не имеют отношения к их свойствам/. Максимальноточное описание своей продукции дает Atmel, и больше всего несоответствийdatasheet и чипа обнаружено у Microchip.
Зачастую несоответствиемпараметров чипов с их описанием можно пренебречь (таковы наиболее общие условияиспользования микросхем).
Чипы выполнены в 8-DIP,SOIC, TSSOP корпусах. Расположение и назначение выводов обозначено на рисунке 3.
/>
Рисунок 3 – Расположениеи назначение выводов микросхемы
Вывод 4 — GND (общий,земля). Вывод 8 — Vcc (положительное по отношению к GND напряжение питаниячипа). Минимальное значение Vcc, при котором некоторые микросхемы начиналиработать +1.3V. Все микросхемы заработали от +2.7V. Типичное напряжение питанияпри использовании в аппаратуре (магнитофоны, мониторы, принтеры,копировально-множительная техника и т.д.) +5V (-10%,+5%). Кратковременно (до 10секунд) выдерживают переполюсовку напряжения питания и превышение его до +17V.При этом сильно греются (около 15-20W тепловой энергии). Горят от перегрева.Полевой ключ на выводе SDA слабо-чувствителен к электростатике. Остальныевыводы на бытовые статические разряды не реагируют.
В целом, внешнимиэлектрофизическими факторами привести в негодность такие микросхемы трудно. Чтокасается программных факторов, то чипы 24Cxx устойчивы и надежны в работе, амикросхемы Xerox90 и Xerox01 при неумелом обращении очень легко выходят изстроя.
Выводы 1, 2, 3 – адресныевыводы A0, A1, A2. Для большинства микросхем они определяют адрес чипа на шинеI2C. Для 24C01, 24C02, Xerox90, Xerox01 значащими являются все три вывода (до 8корпусов на шине). Для 24C04 имеют значение только A1, A2 (выводы 2 и 3, до 4корпусов); для 24C08 — только A2 (вывод 3, может быть две микросхемы на шине);в 24C16 эти выводы не используются. Кроме того, в линейке 24Cxx естьмикросхемы, которые не поддерживают такую адресацию, хотя по описаниюпроизводителя должны это делать.
Поведение таких чиповобъясню на примере 24С04 — чип в 512 байт. Независимо от потенциала на выводах1,2,3 отвечает на обращение к I2C-EEPROM и при чтении ведет себя так, будто эточип 24С16, четыре области по 512 байт которого содержат одинаковую информацию.При записи по некоторому адресу в этом псевдо-24С16 число данных помещается вовсе четыре адреса, смежные через 512 байт. То есть, реальной памяти есть 512байт, а добавить еще три чипа на шину с другими адресами нельзя. Хотя, кпримеру, Microchip регламентирует, что выводы 1, 2, 3 чипа 24LC04B неподключены.
Вывод 7 — сигнал WP(защита от записи). Процедура чтения данных из произвольного чипа работаетодинаково и независима от логического уровня на этом выводе. Что касаетсяпроцедуры записи в микросхему, то при низком логическом уровне на выводе WPдоступна для записи вся область чипа. Чип всегда выдает сигнал подтверждения(acknowledge), данные записываются по сигналу STOP протокола I2C.
Запись являетсявнутренне-синхронизованной. Во время цикла записи чип не отвечает на обращениек нему. Наименьшая длительность записи 1.6мс у чипов Atmel, наибольшая — 4.3мсу Xicor. Запись одного байта в побайтном режиме и N байт в режиме PageMode(страничная запись) происходит за одинаковый промежуток времени. Есликоличество байт N превосходит длину страницы, то сохраняются последние K байт,где K — длина страницы. В процессе тестов было получено, что K=1 для 24C01; K=4или K=8 или K=16 для 24C02;K=8 или K=16 для 24C04; K=16 для 24C08 и 24C16.Величины длины страницы для чипов 24C02 и 24C04 невозможно определить повнешним признакам (есть две микросхемы 24C02 одного производителя с длинойстраницы 4 и 8 байт). Информация о страничной записи в чипы Xerox90 и Xerox01есть в их описании.
При высоком логическомуровне WP микросхемы 24C01, 24C02 защищены от записи. Для чипов 24C04 возможныдва варианта: защищен весь чип, или защищена только верхняя половина памяти.Для 24C08 и 24C16 возможным есть защита всей области памяти, либо верхней ееполовины, либо им вообще безразлично, что есть на выводе WP.
Кроме того, всемикросхемы имеют различную реакцию на попытку записи в защищенную выводом 7область. Одни микросхемы не подтверждают обращение на запись (не выдают сигнал acknowledge), тем самым показывая невозможностьзаписи. Другие микросхемы дают подтверждение, но запись не происходит. При этомчасть этих чипов готова к обмену сразу после сигнала STOP в конце «записи», ачасть микросхем будет недоступна на время, равное времени, требуемому длязаписи (хотя при этом данные в чипе не изменятся).
Вывод 6 — SCL (serialclock) — тактовый сигнал, синхронизирующий обмен по шине I2C. Не могу сказать,есть ли какое-то ограничение на минимальную частоту обмена по шине. Во всякомслучае автор проверил работу чипа на частоте 0.1Hz и получил положительныерезультаты, правда чтение одного байта при этом занимает около шести минут.Относительно максимальной частоты, то микросхемы памяти с I2C-протоколом можноподелить на две категории: с частотой обмена 100kHz – Standard Mode (реально работают до 180-200kHz, возможная формаимпульса — меандр) и с частотой обмена 400kHz -Fast Mode (реально работают на частоте не менее 480 kHz, неисключено, что может быть и выше. Есть аппаратные сложности для проверки болеевысоких частот. Начиная от 300 kHz требуют иной скважности импульса. На 400 kHzсоотношение периода импульсов clock к их длительности должно равняться трем).
Вывод 5 — SDA (serialclock)- последовательные данные. Это двунаправленный вывод, по которому чиппринимает команды и данные для записи, и выдает информацию при чтении.
Есть два способавнутренней организации буфера этого вывода. Их можно увидеть на рисунке 4
/>
Рисунок 4 – Способывнутренней организации буфера вывода SDA
В первом случае линиявыходных данных через открытый сток полевого транзистора включена параллельновходной линии. Чип корректно реагирует на сигнал START I2C-протокола, сбрасываявнутренний контроллер в независимости от команд и процедур, выполняемых им втекущий момент.
Во втором случае выводSDA использует двунаправленный буфер, управляемый внутренним контроллером чипа.Микросхема не «видит» сигнала START в процессе выдачи битов данных на линию(когда буфер включен в режим Out).Если неизвестно состояние такого чипа в данный момент, то необходимо послать внего девять тактовых импульсов с высоким (если сам чип позволит) логическимуровнем на линии SDA, потом сигнал START. После этого состояние чипа будетопределено.
В первом случае нетнеобходимости делать это.
В 1989 году по заказукомпании Fuji-Xerox, изготовили микросхему памяти в 256 байт. Чип был названXerox90 и в основе работы использовал классический I2C-протокол. Он обладаетнекоторыми оригинальными свойствами как в способе обращения к нему, так и вструктуре памяти. При неверном обращении его легко можно заблокировать (или какстало популярным говорить «убить»). Заблокированный (или убитый, мертвый) чиппо сути есть чип, все байты памяти которого при классическом I2C чтении имеютнеизменяемое нулевое значение. В связи с высокой трудоемкостью восстановленияили разблокирования такого чипа его дальнейшее использование нецелесообразно. В1994 году чип был доработан, но название Xerox90 сохранилось. Изменения отпервоначального варианта в большей степени коснулись структуры памяти и способаее полного перепрограммирования. Последняя известная его доработка произошла в2000 году. Микросхема незначительно изменила структуру работы по классическомупротоколу и способу перепрограммирования. Она получила новое название Xerox01.Вероятно, существовали или есть и другие производители таких чипов, так какчисленность таких микросхем с несущественными отклонениями от основной идеизащиты памяти достигает трех десятков. Однако все эти микросхемы очень легкопривести в «мертвое» состояние. И все они имеют сходную структуру полногоперепрограммирования.
Демонстрационная версияпрограммы, представленная на сайте, позволяет Вам прочитать чип Xerox иполучить такую же информацию, какую Вы получили бы используя любой другойпрограмматор I2C и убили бы чип. Демо-версия не убивает чип Xerox при установкеопции «Устройства» программы в позицию «Xerox» и предупреждает о возможныхпоследствиях при иных установках.
Что касается чипов от HPBusiness InkJet, они имеют сходный с I2C протокол. Отличия в структуре командчтения. Оно вместе с адресацией данных в чипе проходит в однупоследовательность от Start до Stop. Все чипы одного аппарата (а их там 8 штук)имеют различный адрес устройства, зависящий от установки чипа. В видуотсутствия видимого интереса пользователей к этому чипу, его поддержка невключена ни в демонстрационную версию, ни в полный вариант программы для I2C.Однако если будет такая необходимость, то соответствующие доработки будутпроизведены.
2. Информация опрограмматорах2.1Классификация программаторов
По типу микросхем программаторыразличают:
· Программирующиемикросхемы ПЗУ (ПЗУ с ультрафиолетовым стиранием, ППЗУ, флэш-память).
· Программирующиевнутреннюю память микроконтроллеров.
· ПрограммирующиеПЛИС (Программируемые логические интегральные схемы).
Универсальныепрограмматоры могут поддерживать все вышеперечисленные типы.
По сложности:
· Если нужноединожды запрограммировать микроконтроллерное устройство, радиолюбителиобходятся простейшим программатором, подключаемым к COM- или LPT-порту.Например, самый простой программатор для микросхем AVR – это кабель из шестипроводов и четырёх резисторов (так называемый программатор PonyProg).
· Те любители,которые занимаются разработкой прошивок или производят свои схемы в большихколичествах, используют программаторы посложнее – такие устройства частосодержат свой микроконтроллер. Подобные программаторы удобны тем, что послеработы переводят свои выходы в Z-состояние, и запрограммированное устройствоможно испытывать, не отключая программатора. Такие программаторы, как правило,работают с одним-двумя семействами микросхем.
· Самодеятельнымконструкторам программаторов известна «проблема курицы и яйца» – еслипрограмматор содержит запрограммированный микроконтроллер, то как егозапрограммировать? Обычно или отдают микросхему профессионалам, или строятпростейший программатор и идут к другу, у которого на компьютере естьсоответствующий порт (всё больше современных компьютеров вообще не имеют COM- иLPT-портов).
· В конструкторскихбюро и лабораториях применяются универсальные программаторы. Поскольку в такихустройствах каждый из выводов разъёма (а этих выводов может быть до сотни)может подавать на микросхему напряжения от 0 до 27 В с точностью в 0,1 вольт ичастотами до 40 МГц, универсальные программаторы бывают очень дороги – донескольких тысяч долларов. Зато при появлении новой микросхемы достаточнодобавить её поддержку на программном уровне.
По подключению микросхемы:
· Параллельный.
· Внутрисхемный.
Параллельныепрограмматоры содержат разъём, в который и вставляется программируемаямикросхема. Внутрисхемные пригодны только для тех микросхем, в которыхподдерживается внутрисхемное программирование, но позволяют прошиватьмикросхему, не вынимая её из устройства.
При покупке параллельногопрограмматора стоит обратить внимание на качество разъёма, в которыйустанавливается микросхема. Обычный одноразовый разъём долго не прослужит;программатор должен иметь цанговые разъёмы – а ещё лучше ZIF. В дорогихпрограмматорах есть несколько разъёмов – под разные виды корпусов.
Первые программаторы былиавтономными – для набора прошивки имелась клавиатура или коммутационная панель.С распространением ПК такие программаторы были полностью вытесненыподключаемыми к компьютеру – специальная программа (которая также называетсяпрограмматором) передаёт прошивку с компьютера, а программатору остаётся толькозаписать её в память микросхемы.
Для подключенияпрограмматоров могут применяться:
– Последовательный порт.
– Параллельный порт.
– Специализированнаяинтерфейсная плата (ISA или PCI).
– USB.
Стоит заметить, что всамых простых параллельных и последовательных программаторах управляющему ПОприходится напрямую управлять логическим уровнем на выводах порта. Такое прямоеуправление в Windows NT запрещено, это обходитсяустановкой специализированного драйвера; через адаптеры USB>COMbitbang-программаторы работают крайне медленно (единицы-десятки байт всекунду). Микроконтроллерные программаторы полностью поддерживают протокол 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 и с большим числомвыводов, программаторы снабжаются специальными адаптерами под соответствующийтип корпуса. В связи с тем, что на этих адаптерах также должны устанавливатьсявысоконадежные тестовые сокетки, стоимость таких адаптеров может оказатьсядовольно существенной.
Заглянем внутрьпрограмматоров и в общих чертах попытаемся понять, чем же они отличаются другот друга. Принципиально существует две концепции построения программаторов.Первая, и наиболее очевидная, заключается в построении программаторов на баземассива универсальных аппаратных драйверов. Универсальные драйверы подводятся квыводам тестовой сокетки и должны удовлетворять ряду специфических аппаратныхтребований по программированию микросхем. В перечень таких требований входят:способность подавать и считывать логические уровни, способность подаватьсложные тактовые последовательности, способность подводить напряжение вдиапазоне 0…27 В с точностью 0.1 В. Удовлетворение всем этим требованиямприводит к колоссальным аппаратным затратам и избыточности всего устройства вцелом. Количество драйверов универсального программатора должно соответствоватьколичеству выводов тестовой сокетки, например, 40 драйверов для сокетки DIP-40,или 84 драйвера для сокетки LCC-84. В результате, устройство становится оченьсложным и дорогостоящим, но при этом абсолютно универсальным. Имея 40универсальных драйверов и универсальную тестовую сокетку DIP-40 можно суверенностью сказать, что удастся поддержать все существующие, а также любыеновые, микросхемы в корпусе DIP (с числом выводов до 40) без дополнительныхадаптеров. Именно по такой схеме строятся дорогие универсальные программаторы.
Вторая концепциязаключается в том, что аппаратура программатора оптимизируется под предполагаемыйперечень поддерживаемых микросхем. Программаторы этого класса, как правило,значительно дешевле универсальных программаторов, но такие изделия в известнойстепени теряют универсальные свойства. Добавление новых типов поддерживаемыхпрограмматором микросхем может быть сопряжено со значительными трудностями, ачасто и с невозможностью расширения списка программируемых устройств.
Использую многолетнийопыт разработки и производства программаторов, нами разработана и внедренакомпромиссная концепция построения программаторов – универсальный драйверразбивается на два функциональных блока: универсальный логический драйвер иустройство коммутации «высокого» напряжения. Такая архитектура программаторапозволила в значительной степени сохранить преимущества универсального драйвераи существенно сократить аппаратные затраты и, как следствие, уменьшитьсебестоимость и цену конечных изделий.
Рассмотрим способподключения программаторов к компьютеру. Наиболее распространенными способамиподключения являются:
– подключение к параллельномупорту;
– подключение кпоследовательному порту;
– установка специальнойплаты в компьютер.
Каждый из этих способовимеет свои преимущества и недостатки. Использование специальных плат,устанавливаемых в компьютер, значительно упрощает схемотехнику программатора. Вэтом случае, как правило, удается отказаться от специального, довольно мощногоисточника питания, воспользовавшись источником питания компьютера, а такжеиспользовать центральный процессор компьютера в качестве управляющегопроцессора программатора. При способе подключения программатора к компьютерупосредством встраиваемых в компьютер плат удается достигнуть довольнозначительных скоростей обмена между компьютером и программатором за счетнепосредственного управления последним. Но такая реализация программатора имеети существенные недостатки. Во-первых, значительно снижается мобильностьпрограмматора, то есть возможность использования одного программатора на разныхкомпьютерах (например, в приделах одной лаборатории), во-вторых, использованиетаких устройств с портативными компьютерами notebook сопряжено с необходимостьюиспользования специальных карт сопряжения.
Другой вариант сопряженияпрограмматора с компьютером – последовательный канал компьютера. Это вполне допустимыйвариант сопряжения, допускающий работу программатора с компьютерами всех типов.К существенным недостаткам такого варианта сопряжения можно отнести невысокуюпропускную способность канала. Максимальная скорость последовательного каналаRS-232 ограничена значением 115 кБод, что существенно ограничивает обмен междукомпьютером и программатором, и, следовательно, снижает производительностьпоследнего.
Подключение программаторак параллельному порту компьютера нам видится наиболее предпочтительным вариантом.Этот способ сочетает в себе достаточно высокую пропускную способность канала ине требует серьезных аппаратных затрат. При использование этого способа удаетсявоспользоваться центральным процессором компьютера в качестве управляющегопроцессора программатора.
Теперь обратим вниманиена ряд «второстепенных мелочей», которые при активной работе с программатороммогут либо серьезно попортить вам жизнь, либо, при удачной реализации,значительно облегчат вашу работу. К таким «мелочам» мы бы отнесли способ обновленияверсий программатора, способность программатора определять правильностьустановки микросхемы в колодке и проведение процедуры самотестирования привключении питания.
Способ обновления версии –это довольно существенный вопрос эксплуатации программаторов. Необходимостьобновления версии может возникнуть по ряду причин, во-первых, при выявленииошибки работы программатора, либо при расширении списка поддерживаемыхпрограмматором микросхем. Способ обновления версии программатора зависит от егоаппаратного устройства. В одних изделиях алгоритмы программирования жестко«зашиты» в аппаратуру, в других – они являются загружаемыми. В первом случаедля модификации версии требуется модификация самого устройства программатора(например, перепрограммирование ПЗУ самого программатора), а это сопряжено срядом дополнительных неудобств по доставке изделия производителю или врегиональный сервисный центр. Другое дело, если обновление версииосуществляется только обновлением программного обеспечения программатора. Именнопо такой схеме построены программаторы с загружаемыми алгоритмамипрограммирования. В таких программаторах обновляется только программноеобеспечение и работаете уже с новой версией. Второй способ видится нам наиболееудобным в эксплуатации, и именно по такой схеме строится обновление версий всехвыпускаемых фирмой «Фитон» программаторов.
Теперь обратим вниманиена такую «мелочь», как способность программатора определять правильностьустановки микросхемы в тестовую колодку. При кажущейся незначительности этойопции, мы начинаем понимать всю ее важность только после выхода из строямикросхемы при неверной установки ее в колодку. И винить в этом случае некого –сами виноваты. Именно для предотвращения таких ситуаций и служит эта опция.Здесь необходимо указать, что полноценная реализация такой возможности требуетот разработчика больших усилий и, порой, изобретательности. Дело в том, чтонеобходимо протестировать микросхему в колодке в самом щадящем для нее режиме,при этом ни в коем случае не допуская выхода микросхемы из строя.
И в заключение обсужденияаппаратного устройства программаторов, на наш взгляд, необходимо упомянуть онастоятельной необходимости проведения программаторами процедурысамотестирования. Обычно эта процедура проводится после инициализацииаппаратуры программатора. Цель этой процедуры – встроенными средствами провестипроверку работоспособности всего оборудования устройства и принять решение овозможности полноценной работы программатора. К сожалению, встроеннымисредствами не всегда удается однозначно убедиться в работоспособности всехузлов устройства, но, тем не менее, эта процедура обязательно должна проводитьсяс целью минимизации вероятности эксплуатации неработоспособного оборудования.2.4 Программноеобеспечение программатора
Рассмотрим общеепредставление о возможных способах реализации программного обеспечения (ПО)программатора. Первое, на что нужно обратить внимание, – это под управлениемкакой операционной системы работает программатор. Большинство программногообеспечения программаторов реализовано под управлением DOS и не предъявляет ккомпьютеру специфических требований. Обычно, это программы, разработанныедовольно давно. В последние несколько лет стали появляться программаторы,работающие под управлением операционной системы Windows. Это современные продукты, которые, как правило,выглядят гораздо элегантнее, имеют более дружественный интерфейс и обладаютбольшим числом сервисных возможностей.
Рассмотрим архитектурупрограммного обеспечения программаторов. Наиболее распространенной являетсяархитектура, в которой в качестве ядра программатора выступает промежуточныйбуфер данных. Все операции в программаторе выполняются с этим буфером. Дляпрограммирования микросхемы необходимо загрузить файл в буфер,запрограммировать данные из буфера в микросхему, сравнить содержимое микросхемыи буфера. При чтении данные из микросхемы записываются в буфер. Размерпромежуточного буфера данных, обычно, коррелирован с размером текущего типамикросхемы. Многолетний опыт разработки и производства программаторов позволилвыработать концепцию оригинальной многобуферной архитектуры ПО программаторов снеограниченным количеством буферов. Такая архитектура позволяет работать снеограниченным количеством независимых наборов данных, проводить их анализ иредактирование. Например, вы можете воспользоваться двумя буферами длясчитывания в них двух разных микросхем, проведения анализа этих наборов данныхи, на их базе, создания нового массива данных в третьем буфере для последующегопрограммирования его в микросхемы памяти или сохранения на диске.
Стандартным наборомфункций программаторов обычно являются следующие функции: чтение, запись,сравнение, контроль на чистоту, стирание (только для электрическиперепрограммируемых устройств) микросхем. Некоторые программаторы имеют функциюавтоматического программирования. Эта функция позволяет осуществить частоиспользуемую комбинацию действий для конкретного типа микросхемы. Обычно, такаякомбинация состоит из такого набора: стереть микросхему, проконтролироватьстертость, запрограммировать, сравнить запрограммированные данные с оригиналом,установить защиту. Удобство этой функции заключается в том, что весь«джентльменский» набор активизируется одним нажатием.
Отдельно остановимся наредакторских функциях программаторов. Наиболее распространенным перечнемредакторских функций являются: редактирование данных в шестнадцатеричномформате, возможность заполнения буфера данных константой и подсчет контрольнойсуммы. Этого простого набора редакторских функций вполне достаточно для простыхприложений. Для профессионального использования программаторов необходимырасширенные возможности редактирования. К ним можно отнести:
возможностьредактирования данных не только в шестнадцатеричном формате, но и в двоичном;
– восьмеричном идесятичном представлении;
– заполнение массивастрокой данных;
поиск и замена строкиданных;
– инвертирование данных;
– копирование массиваданных как внутри одного буфера, так и между разными буферами;
– подсчет контрольнойсуммы;
– конвертирование шинадреса и данных.
Еще одна особенность программногообеспечения программаторов, на которой стоит остановиться отдельно, – этопакетный режим работы. Очень в немногих программаторах такой режим реализован.А преимущество такого режима просто очевидно – это автоматизация работы.Использую пакетный режим работы, можно создавать сценарии работы спрограмматором, автоматизируя всю рутинную работу. Наиболее интересныустройства, где пакетный режим работы практически не имеет ограничений, в немдоступны все ресурсы программатора. В пакетном режиме можно загружать файлы,запускать программирование, манипулировать параметрами программирования, окнамина экране, выводить графические данные и т. д. В качестве иллюстрациииспользования пакетного режима работы программатора можно привести задачупрограммирования партии микросхем, в каждой из которых должен бытьзапрограммирован серийный номер. На специальном языке создается сценарий работыпрограмматора, который заключается в следующем: оператор указывает начальноезначение серийного номера партии микросхем и запускает процедурупрограммирования, программатор программирует микросхему с текущим серийнымномером и вычисляет серийный номер следующей микросхемы, помещая его всоответствующий раздел памяти, далее процедура циклически повторяется. Вприведенном примере пакетный режим работы значительно облегчает работуоператора и исключает свойственные оператору ошибки.2.5 Связьпрограмматора между компьютером и чипом через интерфейс RS232
Последовательныйинтерфейс RS232, разработанный более 25 лет назад для компьютеров (в основномдля их связи с модемами до сих пор не утратил своего коммуникационногоназначения. Даже сейчас, в связи с появлением множества других последовательныхинтерфейсов, обладающих несомненными преимуществами перед этим интерфейсом(например, интерфейсов USB, RS485, RS422, применяемых в компьютерах, и PC, CAN,SPI, применяемых в микроконтроллерах), интерфейс RS232, похоже, не скоро уйдетв разряд «отставников». Такое положение, на первый взгляд, может показатьсястранным, особенно из-за недостатков RS232, «глюков» и т.п. Однако следуетучесть, что это едва ли не единственное средство связи между компьютером имикроконтроллером, аппаратно присутствующее и в первом и во втором. Во всякомслучае, косвенным подтверждением исключительности интерфейса RS232 можетслужить тот факт, что в современных персональных компьютерах RS232 интегрированв материнскую плату. Что касается микроконтроллеров, то сейчас трудно найтитакой микроконтроллер, в котором бы аппаратно не присутствовал хотя бы одининтерфейс RS232 (иногда их бывает и два).
Интерфейс RS232 являетсяпоследовательным. Это означает, что данные (информация) передаютсяпоследовательно, бит за битом по одному проводу (в отличие от параллельногоинтерфейса, в котором, например, каждый бит байта передается по отдельномупроводу, т.е. байт передается по восьми проводам). Формат посылки – 1 байтданных и несколько управляющих бит, некоторые из которых могут отсутствовать.
Обмен информацией междукомпьютером и периферийным устройством по интерфейсу RS232 двусторонний, т.е.данные могут передаваться компьютером в периферийное устройство и приниматьсякомпьютером от периферийного устройства.
В компьютере предусмотренспециальный разъем, называемый коммуникационным (СОМ); иногда их бывает два(СОМ1 и COM2) или более. К разъему подключается кабель, соединяющий компьютер спериферийным устройством. В кабеле находятся несколько проводов, которыеназывают линиями интерфейса. Термин «линия» достаточно условен, так каканглийское слово line, которому онсоответствует, имеет более широкое значение.
На практике чаще всего используютсятри скорости обмена: 9600, 115200 и (реже) 57600 бод.
Контакты разъемовинтерфейса RS232 в компьютере.
В компьютере могут присутствоватькак 25-штырьковый (DB25), так и 9-штырьковый (DB9) разъемы RS232. Нижеприведены названия сигналов и соответствующие им номера контактов обоих типовразъемов. Как видно из таблицы 1, разъем содержит контакты как входных линий,так и выходных.
Таблица 1 – Названия ифункциональные назначения выводов порта RS232Номер контакта Название сигнала Расшифровка Тип линий DB25 DB9 2 3 TxD Transmitter Data – передатчик данных Выходная 3 2 RxD Receiver Data – приемник данных Входная 4 7 RTS Request To Send – запрос передачи Выходная 5 8 CTS Clear To Send – сброс передачи Входная 6 6 DSR Data Set Ready – готовность данных Входная 7 5 SG Signal Ground – сигнальная земля - 8 1 DCD Data Carrier Detect – обнаружение несущей Входная 20 4 DTR Data Terminal Ready – готовность терминала Выходная 22 9 RI Ring Indicator – индикатор звонка Входная
Основными линиями, покоторым осуществляется обмен данными, являются две: TxD – линия, по которой изкомпьютера передаются данные во внешнее устройство, и RxD – линия, по которойкомпьютером принимаются данные из внешнего устройства.
Линии DTR и RTS являютсявыходными. Это означает, что уровнями сигналов на этих линиях можно управлять,устанавливая биты соответствующих регистров в нуль или единицу программнымспособом. Линии CTS, DSR, DCD и RI являются входными. Это
означает, что состоянияэтих линий можно проверять (т.е. выяснять, в каком состоянии – нулевом илиединичном они находятся), читая соответствующие регистры состояний и выделяясоответствующие биты.
Необходимо отметитьследующие свойства линий TxD и RxD.
Линия TxD являетсявыходной. Помимо того, что по ней передаются данные, в отсутствие передачисостоянием этой линии можно также управлять программно, т.е. устанавливать вединичное или нулевое состояние. Линия RxD является входной. Однако прочитатьсостояние этой линии (как линий CTS, DSR, DCD и RI) при отсутствии передачинельзя.
Кроме того, заметим, чтолинии DTR, RTS, CTS, DSR, DCD и RI называют еще линиями квитирования (иногдамодемными, так как они используются в модемах). Существует как множествоалгоритмов обмена по RS232, в которых эти линии (или некоторые из них)используются, так и множество алгоритмов обмена, в которых эти линии неиспользуются вообще (задействованы только линии RxD и TxD).
В микроконтроллере обменпо интерфейсу RS232 осуществляется по линиям TxD (передатчик) и RxD (приемник).Уровни напряжения на этих линиях соответствуют стандартным (цифровым) уровнямнапряжения микроконтроллера. Это означает, что уровень напряжения логическойединицы соответствует напряжению питания микроконтроллера C или 5 В), уровеньнапряжения логического нуля – нулевому напряжению (или «земле»). Обычно уровнинапряжений питания и земли называют TTL-уровнями, хотя в настоящее время этопонятие значительно видоизменилось (с электрической точки зрения), ааббревиатура TTL транзисторная логика) давно утратила свой первоначальныйсмысл. Отметим, что для сопряжения со стандартными уровнями напряжения сигналовна линиях интерфейса RS232 (приблизительно равными ±10 В, как было указаноранее) необходимо использовать преобразователи уровней RS232.
В микроконтроллере, также, как и в компьютере, есть возможность программно устанавливать скоростьобмена, формат данных и некоторые другие характеристики интерфейса RS232.Однако эти характеристики напрямую зависят от частоты используемого кварцевогорезонатора, от таймера (а их в микроконтроллере может быть несколько), от ещенекоторых устройств микроконтроллера, а также от самого микроконтроллера. Крометого, микроконтроллер может содержать два интерфейса RS232.
3. Программноеобеспечение для работы с программатором3.1 ПрограммаPonyProg
Программа PonyProg – это открытыйпроект. Для распространения этой программы и еще нескольких проектов винтернете создан специальный сайт www.lancos.com. Программа такжераспространяется с открытой лицензией (GNU), то есть вместе с текстомпрограммы, который разрешается изменять по своему усмотрению. Однако в пакетпрограммы входит специальная библиотека, которая содержит текст всех основныхфункций, обеспечивающих процесс программирования микросхем.
На библиотеку не распространяетсяоткрытая лицензия. Ее разрешается использовать, но не разрешается изменятьвходящие в нее процедуры. Изменения допускаются лишь в интерфейсе программы.Такое решение делает программу более надежной в работе.
На сайте можно загрузить не толькоинсталляционный пакет самой программы, но также исполняемый файл русифицированногоили украинофицированного вариантов программы. Кроме этого, там еще имеетсяцелый набор вариантов, поддерживающий множество других языков. Послеинсталляции программы вы просто меняете исполняемый файл в директории программына новый, и программа полностью русифицируется. Однако стоит учесть, чторусифицированная версия программы – это устаревшая версия. Она может неподдерживать ряд микроконтроллеров. Поэтому, если вы не нашли в спискемикросхем ту, что вам необходима, проинсталлируйте программу PonyProg заново иработайте с английской версией.
При запуске программы PonyProgоткрывается окно заставки и раздается фирменный звук – лошадиное ржание. Есливы не желаете слушать его каждый раз при запуске, поставьте галочку в поле «Disable Sound» (выключить звук). Нажмите «Ok». Рекламная заставка закроется, и откроется основная панельпрограммы (см. рис. 2.9).
Главная панель содержит всего одноосновное окно, где в свою очередь могут быть открыты одно или несколько окон сразными вариантами прошивок. В верхней части главной панели традиционнорасполагается меню и две панели инструментов, как показано на рисунке 5.
/>
Рисунок 5 – Основная панель программыPonyProg
Первое, что нужно сделать сразу послевключения программы, – выбрать тип микросхемы, которую вы собираетесьпрограммировать. Для этого в верхней панели инструментов имеются два выпадающихменю. Одно называется «Выбор семейства микросхем» (Select device family), а второе – «Выбор типа микросхем»(Selectdevice type). Поля неподписаны. Названия появляются в виде всплывающей подсказки при наведениикурсора мыши на соответствующее поле.
В поле выбора семейства выберите «I2C Bus 8bit eeprom», а в полевыбора типа – требуемый тип микросхемы. Для всех наших примеров это будет 2404.Второй способ, при помощи которого также можно выбрать семейство и типмикросхемы, – воспользоваться меню «Устройство», как показано на рисунке 6. Выбранныйтип микросхемы автоматически сохраняется, и при повторном запуске программывызывается снова.
/>
Рисунок 6 – Выбор типа микросхемы
Теперь необходимо произвестинастройку интерфейса и калибровку программы. Эти две операции нужно выполнятьтолько один раз, при первом запуске программы. Повторная настройка и калибровкаможет понадобиться лишь при сбое программы. Сначала выполним настройкуинтерфейса. Для этого нужно выбрать пункт «Настройки оборудования» меню «Установки».Откроется окно настройки (См. рисунок 7).
/>
Рисунок 7 – Окно настройкиввода-вывода
В этом окне вы должны выбрать порт, ккоторому подключен ваш программатор. Кроме того, в этом окне можнопроинвертировать любой из управляющих сигналов программатора, что бываетполезно при работе с нестандартными схемами. Выбираем параллельный порт (Parallel). Если ваш компьютер имеет несколькоLPT-портов, выберите конкретный порт (обычно LPT1). В выпадающем спискевыберите способ программирования. Это будет последовательное программированиепо ISP-интерфейсу.
Вторая процедура, которую нужновыполнить хотя бы один раз при первом включении программы, – это калибровка. Впроцессе калибровки программа настраивает свои процедуры формирования временныхинтервалов под конкретный компьютер. Цель калибровки – повышение точностиформирования интервалов времени. При выполнении этой процедуры компьютер недолжен выполнять никаких других программ. Закройте все открытые окна ивыгрузите все программы, работающие в фоновом режиме. Затем выберите команду«Калибровка» (см. табл. 2.7). Появится окно предупреждения. Для старта процессакалибровки нажмите в этом окне кнопку «Ok». Процесс калибровки выполняется несколько секунд.
После настройки и калибровки всеготово для программирования микросхем. Для начала нам нужно загрузить данные изфайлов, полученных в результате трансляции:
– файл программы для записи воFlash-память;
– файл данных для записи в EEPROM.
Для временного хранения этих данныхпрограмматор использует окно данных. Одно окно данных хранит один вариантзадания (программа плюс данные). Запущенная программа PonyProg обязательно содержитхотя бы одно такое окно. Пустое окно автоматически создается при запускепрограммы. После загрузки информации (программы или данных) в окне появляетсядамп памяти. Дамп – это широко распространенный способ представления цифровыхданных. Он представляет собой таблицу шестнадцатеричных чисел, записанныхрядами по 16 чисел в ряду, как видно из рисунка 8.
/>
Рисунок 8 – Дамп памяти
В начале каждого ряда записываетсяадрес первой его ячейки. Затем, правее, эти же шестнадцать чисел повторяются всимвольном виде. То есть вместо каждого числа записывается соответствующий емусимвол в кодировке ASCII.
Размещение всей информации в единомадресном пространстве удобно, так как позволяет хранить программу и данные водном файле. В процессе программирования микросхемы программатор автоматическиотделяет программу от данных, используя информацию об объеме программной памятиданного конкретного микроконтроллера. Все, что выше этого объема автоматическисчитается данными для EEPROM.
Для загрузки данных из файла,находящегося на жестком диске, в текущее окно программатора, а также для записиинформации из окна программатора в файл программа поддерживает ряд команд,объединенных в меню «Файл».
Загрузим программу и данные впрограмматор. Если вы помните, все вышеперечисленные трансляторы создаютотдельный файл для программы (файл с расширением hex) и отдельный файл дляданных (файл с расширением еер). Поэтому для загрузки программы воспользуемсякомандой «Открыть файл программы (Flash)». При выборе этой команды появляется диалог «Открыть программу».Убедитесь, что в поле «Тип файла» выбрано «*.hex». Если это не так, выберитеэто значение из выпадающего списка.
Затем найдите на диске директориювашего проекта, выберите файл и нажмите кнопку «Открыть». Загруженные данныепоявятся в текущем окне. Таким же образом загружается содержимое EEPROM. Тольков этом случае нужно выбрать тип файла «*.еер».
После того, как программа и данныезагружены, их можно просмотреть, при необходимости – подредактировать прямо вокне программатора. А если нужно, то и записать обратно на диск. Если у васесть принтер, можно распечатать дамп из текущего окна на бумаге.
Но основная функция – это,естественно, запись программы и данных в память микроконтроллера. Все команды,предназначенные для работы с микроконтроллером, сведены в меню «Команды». Припомощи этих команд вы можете отдельно запрограммировать память программ,отдельно – EEPROM. Команда «Записать все» позволяет запрограммировать программуи данные за одну операцию.
Три команды считывания позволяютпрочитать содержимое памяти программ и памяти данных микроконтроллера.Прочитанные данные помещаются в текущее окно программатора. Считанную измикросхемы информацию можно записать на диск при помощи меню «Команды». Группакоманд проверки используется для сравнения информации, записанной в микросхему,и информации в текущем окне программатора.
Команда «Стереть» позволяет стеретьпамять микросхемы. Команда стирает одновременно все виды памяти:
– память программ;
– память данных
– ячейки защиты (если они былизапрограммированы).
Однако здесь есть одно исключение.Некоторые микросхемы имеют бит конфигурации (fuse-переключатель), запрещающийстирание EEPROM. Если запрограммировать этот бит, то при стирании микросхемыEEPROM стираться не будет. Это позволяет не делать лишних цикловзаписи/стирания и сэкономить ресурс EEPROM в том случае, когда его содержимоеменять не обязательно.
На пункте меню «Биты защиты иконфигурации» необходимо остановиться подробнее. Эта команда предназначена длячтения и изменения fuse-переключателей (битов конфигурации) и битов защитымикросхемы. В русскоязычном варианте программы этот пункт почему-то остался непереведенным.
При выборе этого пункта менюоткрывается окно. Набор элементов управления для каждого вида микросхем будетсвой. Причем сразу после открытия окна все поля не будут выбраны (не будутсодержать «галочек»). Это значит, что содержимое этих полей пока несоответствует реальному содержимому битов защиты и конфигурации микросхемы.
Для того чтобы считать эти значения,необходимо нажать в том же окне кнопку «Считать все». На короткий момент появитсяокно, показывающее процесс считывания. Затем снова откроется окно битов защитыи конфигурации. Теперь уже все поля примут значения, считанные из микросхемы.Галочка в любом из полей означает, что данный бит запрограммирован. Напоминаю,что запрограммированный бит содержит ноль, незапрограммированный – единицу.Теперь вы можете изменить значение любого бита. Но эти изменения будут толькона экране. Для того, чтобы записать изменения в микросхему, нажмите кнопку «Записатьвсе». Кнопки «Установить» и «Стереть» позволяют установить или сброситьзначения сразу всех полей в данном окне.
Для удобства работы с программаторомон имеет режим группового выполнения команд. Команды чтения информации изфайла, чтения байта конфигурации, обновления серийного номера, стираниямикросхемы и, наконец, программирования могут выполняться в пакете при нажатиивсего одной кнопки. Для настройки пакета команд выберите пункт «Настройкипрограммирования» меню «Команды». Откроется окно «Настройки программирования»,изображенное на рисунке 9. В этом окне отметьте галочками те операции, которыедолжны выполняться при запуске пакета, и нажмите кнопку «ОК». Для запускапакетной команды достаточно выбрать пункт «Программирование» или нажатьсоответствующую кнопку на панели инструментов.
/>
Рисунок 9 – Настройкипрограммирования
Пакетный режим очень удобен впроцессе отладки программы. Если в пакет включена опция «Reload Files», то достаточно один раз вручную открыть нужный файлнужного проекта, а затем можно просто нажимать кнопку «Программирование» каждыйраз, когда нужно перепрошить микросхему новой версией программы. Все остальное PonyProg сделает за вас. Новая версияпрограммы сама загрузится в программатор, микросхема сотрется, а затем в неезапишется новая информация.
Только не забывайте поставить командустирания, если вы собираетесь программировать. Помните, что при записи внестертую микросхему результат непредсказуем. Каждый «прошитый» в процессепрограммирования бит может быть восстановлен только в результате стирания всейпамяти.
Программатор имеет встроенную системуавтоматического формирования серийного номера программы.
Серийный номер – это простопорядковый номер версии программы. Этот номер может автоматически записыватьсяв выбранную вами ячейку памяти программ или памяти данных. Настройка данногорежима производится при выборе пункта «Установки серийного номера...» (SerialNumberConfig) меню «Утилиты» (Utility).
В открывшемся окне вы можете выбратьадрес ячейки для серийного номера, поставить галочку в поле «Относительнопамяти данных» (Data memory offset), а также выбрать параметры его автоматическогоизменения. После настройки параметров изменение серийного номера и его запись ввыбранную ячейку текущего окна программатора производится путем выбора пункта «Установитьсерийный номер» (Set Serial Number) меню «Утилиты» (Utility) или нажатиемсоответствующей кнопки.3.2 Программа ICProg
При своей простотеинтерфейса и минимальном размере дистрибутива, (примерно 2,7МБ) этотпрограмматор заметно отличается своими возможностями и эргономичностью отдругих программаторов подобного типа. В этой статье я остановлюсь только наосновных функциях и возможностях этой программы в отношении программированияPIC контроллеров PIC16F84 и PIC16F628, 628A, 628A-I/P. ICProg 105c-a имеет всвоем составе очень большую базу поддерживаемых контроллеров, а так же FLASH иEEPROM, что немаловажно: с его помощью можно работать со смарт-картами (имеетсяпомощник программирования смарт-карт). На рисунке 10 показан интерфейс и списокподдерживаемых устройств.
/>
Рисунок 10 – Интерфейспрограммы ICProg
Как видно из картинки,микросхем предостаточно. Предполагается что к компьютеру, через COM-порт,подключена аппаратная часть программатора PonyProg, информацию, по изготовлениюкоторой можно найти на сайте Корабельникова Евгения Александровича ikarab.narod.ru.
При использовании этой аппаратной части совместно с программой ICProg 105c-a,никаких доработок ее принципиальной схемы не требуется. После запускапрограммы, в большинстве случаев, автоматически происходит инициализацияподключенного COM порта, т.е. тест можно не производить, хотя в меню(настройки) функция тестирования имеется. По всей видимости, это сделано длянестандартных случаев. Кстати, программа ICProg 105c-a работает так же и сфизическими программаторами, поддерживающими LPT-порты. Далее, в меню настройки– опции, открываем вкладку программирование, и ставим галочку в окошке проверкапри программировании (См. рисунок 11).
/>
Рисунок 11 – Установкапроверки при программировании
После выбора этой опции,сообщение об ошибке будет выдаваться сразу же после ее возникновения, и ненужно будет дожидаться окончания полного цикла программирования и проверкиданных, зашитых в ПИК, для того, чтобы получить это сообщение (в случае наличияошибки). Здесь же можно выставить и язык интерфейса. Все остальное оставляем поумолчанию. Далее заходим снова в меню настройки – программатор или просто жмемклавишу F3 и попадаем в опции настройки физического программатора (См. рисунок12): в нашем случае это аппаратная часть программатора PonyProg. Здесь вседолжно быть выставлено, как показано на картинке. Программатор PonyProg здесьпредставляется как JDM Programmer: это что-то вроде универсального программатора, работающего с COMпортом. Имеется большой выбор поддерживаемых программаторов, работающих, какбыло сказано выше, и с LPT портами.
/>
Рисунок 12 – Настройкипрограмматора
Все остальное оставляемпо умолчанию. При использовании другого JDM программатора под COM порт, этиопции могут отличаться. Например, в поле параметры сигналов, нужно будетпоставить галочку в поле Инверсия Данных Ввода, а Инверсию Данных Вывода снять.Далее, в окне выбора программируемых устройств, показанном на этом рисунке 13,выбираем PIC контроллер, который будет программироваться.
/>
Рисунок 13 – Выбормикросхемы
Программируемый ПИКдолжен выбираться именно тот, который используется в действительности, т.е. еслиэто PIC16F628A то именно его из перечня и выбираем, но никак не PIC16F628,иначе, при программировании, получим сообщение об ошибке типа «неизвестноеустройство». Через меню файл, открываем подготовленный HEX файл. После загрузкифайла, в окне конфигурация, можно наблюдать состояние битов конфигурации,которые были определены в «шапке» программы. Здесь показаны все установленныебиты конфигурации, а также и тип тактового генератора микроконтроллера: вбольшинстве случаев это будет стандартный кварцевый генератор (XT). В строкесостояния будет указываться тип используемого программатора, как показано нарисунке 14, номер COM-порта к которому он подключен, а также тип выбранногопрограммируемого устройства.
/>
Рисунок 14 – Строкасостояния
После всех этихманипуляций, жмем кнопку />или клавишу F5, и ждем окончанияпроцесса программирования. Если при старте сообщения об ошибке нет, то, напрактике, это, на 99,9%, означает, что процесс программирования пройдетуспешно. Сказанное выше, справедливо для операционных систем Windows 9x иWindows ME. С Windows XP дело обстоит немного иначе, о чем будет сказано ниже.Необходимо особо отметить, что в ICProg 105хх имеется очень полезный для программистоввстроенный дизассемблер, с помощью которого можно преобразовать «прошивку»(файл с расширением .HEX) в исходный ассемблерный код (файл с расширением.ASM), а это предоставляет возможность детального разбирательства свосстановленным таким образом текстом программы. Дизассемблирование происходиттак: сначала стандартным образом открывается HEX файл, после чего щелкаем покнопке /> иполучаем ASM файл. Правда, для того чтобы в полной мере “расшифровать” текстASM файла, полученного таким образом, и понять алгоритм работы программы, нужнобыть программистом и обладать определенными навыками работы, плюс изряднопотрудиться. Что бы вернуться обратно к HEX файлу, достаточно нажать кнопку />. Так что, вэтом отношении, все очень удобно и универсально. Однако, есть у этой программыи некоторые недостатки. К ним можно отнести:
– довольно маленькое окнопросмотра загружаемого кода, что очень не удобно, особенно для тех, кто привыкработать с PonyProg.
– скоростьюпрограммирования данный программатор также уступает PonyProg, вероятно, из-забольшого количества предварительных и последующих проверок в процессепрограммирования.
И последнее, на чемхотелось бы заострить внимание, это то, что до последней версии ICProg 105xxнекорректно работал с операционной системой Windows XP. В ICProg 105c-a все этинедостатки исправлены, хотя, по этому поводу, еще встречается много кривотолковпри обсуждении данной темы на форумах. Остается только отметить необходимыеусловия и настройки программы для работы с Windows XP, которые были описаны нафорумах и проверены лично мной: у меня, все работало без проблем. В первуюочередь, для тех, кто работает с XP, нужно, с сайта разработчика, помимо самойICProg105c-a, скачать специальный драйвер, который нужно распаковать вдиректорию, где находиться сама программа ICProg105c-a. После запускапрограммы, в меню настройки — опции, на вкладке общие, устанавливаем опциюВкл./NT/2000/XP/драйвер. Далее система спросит, установить драйвер или нет,естественно соглашаемся, и она его находит автоматом, т.к. он лежит там же гдеи сама программа. В настройках программатора, т.е. в меню настройки –программатор (F3), оставляем все без изменений. В заключение хотелось быотметить, что, благодаря именно этому программатору, мне удалось прошитьPIC16F628A — I/P. Запрограммировать его в других программаторах, в том числе ив PonyProg, было не возможно: при старте появлялось сообщение о неизвестномустройстве. Если это сообщение игнорировать, то процесс программированияначинался, но в микросхему зашивались все нули. Хотя в PonyProg 206 и включенаподдержка PIC16F628, но это не PIC16F628A, то есть, вероятно, существует явнаяразница между ними.
/>4.Прошивка чипа картриджа лазерного принтера4.1 Информацияо чипе
Чип – это небольшая микросхема. На ней«прошита» информация о расходном материале, «язык» общения с необходимымустройством и ресурс, на который рассчитан картридж. На нём же содержитсятехническая информация типа серийного номера самого электронного компонента иболее специфические данные.
Чип представляет из себяфлэш-память небольшого объёма. В ней прописаны ресурс и опознавательныесигналы, на неё же записываются данные, посылаемые с принтера. Это простая, новсё-таки двусторонняя связь принтера и картриджа. При загрузке картриджа вустройство принтер запрашивает сведения у установленного расходного материала,а чип предоставляет то, что на нём прошито. Если схема «скажи пароль – проходи»сработала, то устройство для печати выходит в готовность. В случае еслиустановлен картридж без чипа или использованный чип, будет выданасоответствующая ошибка на дисплей принтера или через программное обеспечение надисплее компьютера. Обменявшись начальными данными, принтерная плата посылаеттекущий пробег печатного устройства. Этот показатель записывается на «флэшке»,начинается отсчёт количества напечатанных страниц, по мере печати идетпроцентное отражение текущего ресурса картриджа. Это очень приблизительноесостояние картриджа, и точно быть уверенным в его ресурсе не приходится.
Чип позволяет принятьнесколько команд по записи на себя. После определённой команды он отправляет«ответ» принтеру, и тот снижает процентное отображение текущего заполнениякартриджа тонером. И в самый крайний момент посылает на принтер команду, чтотонера осталось мало.
Прежде чем начинатьпрограммировать чип картриджа, собирается информация о работе, которуюпредстоит сделать:
– осуществляется выбортонера для данного производителя;
– заправка картриджа;
– программирование.
Заправка картриджаосуществляется следующим образом: отворачиваются два винта, расположенных наверхней крышке ближе к бокам корпуса, и, переворачивая корпус, снимаетсябункер. Далее очень аккуратно очищаются все детали и бункер от остатковтонера (удобно использовать пылесос с пластмассовой плоской насадкой), этопозволит избежать проблем в дальнейшей работе и продлит жизнь картриджу ипечке принтера. Далее следует засыпать одну (при прошивке чипа на 5000 копий)или две (при прошивке чипа на 10000 копий) тубы тонера — это порядка 160/320грамм. После заправки следует накрыть сверху картридж механической частью,соединить обе части, ввернуть винты на место.
Для перепрограммированиячипа понадобятся: компьютер – любой персональный компьютер, имеющий рабочие СОМи USB порты, программатор и программа PonyProg – свободно распространяемаяпрограмма с сайта производителя; а вообще подойдет любая программа,поддерживающая интерфейс SI Prog.4.2 Сборкапрограмматора
Программатор (hard) или железо изготавливаетсясамостоятельно. Для того чтобы его собрать понадобится разъем для соединения сCOM-портом компьютера (PC9) и два сопротивления номиналом 1-10 кОм. Питаниесхемы осуществляется через USB-разъем материнской платы. Схема программатораприведена на рисунке 15.
/>
Рисунок 15 – Схемапрограмматора
Питание чипа теперьформируется за счет красного провода USB, который выдает на выходе +5V иподсоединяется к выводу VCC на чипе. -5V программатор берет с 5-го выводаCOM-порта (GND).
На рисунке 16 представленвнешний вид программатора.
/>
Рисунок 16 – Внешний видпрограмматора чипов картриджей
На рисунке 17 показанCOM-порт, к которому припаиваются 2 сопротивления. Это придает схеме небольшиегабариты.
/>
Рисунок 17 – Спаяннаясхема COM-порта
Далее осуществляетсяподключение программатора к чипу картриджа так, как показано на рисунке 18.
/>
Рисунок 18 – Схемаподключения программатора к чипу картриджа 4.3Программирование чипа
Перед тем как начатьпрограммирование необходимо установить и закрепить плату чипа на программатор.Далее программатор вставляется в COM-порт выключенного компьютера. После этоговключаем компьютер и запускаем программу PonyProg. Для того чтобы программаобнаружила чип, необходимо её настроить.
В меню «Установки»сначала выбираем «Калибровка» (См. рисунок 19). После чего в меню «настройкаоборудования» выбираем нужный COM-порт (См. рисунок 20) и нажимаем «Проверка»должно высветиться «Тест ОК».
/>
Рисунок 19 – Установка калибровки
/>
Рисунок 20 – Настройкаоборудования
Далее в меню «Устройство»необходимо установить тип микросхемы 2404, как показано на рисунке 21.
/>
Рисунок 21 – Установкатипа микросхемы
После установки типамикросхемы в меню «Команды» выбираем «считать все» (См. рисунок 22),программатор должен считать данные с чипа.
/>
Рисунок 22 – Считываниепрошивки с чипа
Далее в меню «Файл»нажимаем «Открыть файл с данными» выбираем нужную прошивку и открываем ее, какпоказано на рисунке 23.
/>
Рисунок 23 – Выбор файлас прошивкой
В открывшейся прошивке вобязательном порядке необходимо поменять серийный номер, так как принтеры и МФУзапоминают несколько предыдущих серийных номеров чипа. Для того чтобы поменятьсерийный номер чипа необходимо сделать следующее:
а) в меню «Правка»выбрать «Редактирование буфера» (См. рисунок 24);
/>
Рисунок 24 – Включениефункции «редактирование буфера»
б) затем навести курсорна начало надписи «CRUM», нажать левую кнопку мыши и в открывшемсяполе изменить последние две цифры на любые другие (См. рисунок 25).
/>
Рисунок 25 –Редактирование буфера
Далее в меню «Команды»выбираем «Записать все» (См. рисунок 26).
/>
Рисунок 26 – Записьданных на чип
После того как произойдетзапись прошивки на чип необходимо выключить компьютер и отсоединитьпрограмматор.4.4 Расшифровказначений поля прошивки
На рисунке 27представлена прошивка с чипа картриджа Samsung SCX-4200. В ней описано содержание ячеек памяти.
/>
Рисунок 27 – Полепрошивки
Далее представленоописание значений поля прошивки:
1, 7 – Идентификатор;последние три буквы – регион: CHN – Китай, KOR – Корея, EXP – все остальныестраны;
2 – Емкость картриджа;значения 01...09 соответствуют 1...9 тысячам копий, 0A — 10 тысяч; оптимальноезначение, соответствующее ТТХ картриджа – 3-5 тысяч копий;
3 – Метка инсталляции; вновой прошивке эта запись отсутствует, поэтому принтер думает, что у него новыйкартридж, и увеличивает счетчик количества смен тонера. Принтер сам создает этузапись при установке картриджа;
4 – Серийный номеркартриджа; допустимые значения ячеек 30-39. Первые шесть символов – дата вформате ДДММГГ;
5 – Счетчики страниц –если перевести в десятеричный код, то это и будет количество отпечатанныхстраниц;
6 – Счетчик тонера;
8 – Счетчик барабана;
9 – Метка «Нет тонера»; значения:
· 00 – норма,
· 01 – мало тонера,
· 02 – нет тонера.
/>5.Техника безопасности при работе с ПК и СВТ
В соответствии с ГОСТ 12.1.019-79 [1] подэлектробезопасностью понимают систему организационных и технических мероприятийи средств, обеспечивающих защиту людей от вредного и опасного воздействияэлектрического тока, электрической дуги и статического электричества. В отличиеот других источников опасности электрический ток нельзя обнаружить безспециального оборудования и приборов, поэтому воздействие его на человека чащевсего неожиданно.
Проходя через организм человека электрический, ток оказываеттермическое, электролитическое и биологическое действие. В результатетермического воздействия вызывается разогрев организма, и возникают ожогиучастков тела, в результате электролитического воздействия разлагается кровь идругие органические жидкости в организме.
Биологическое воздействие проявляется в возбуждении ираздражении тканей и непроизвольном судорожном сокращении мышц.
Значение силы тока, проходящего через организм человека,зависит от напряжения, под которым находится человек и от сопротивления участкатела, к которому приложено это напряжение. Учитывая, что большинство пораженийпроисходит при напряжении 127, 220 и 380В, а пробой кожи начинается принапряжении 40-50В, в качестве безопасного напряжения переменного тока в нашейстране выбрано 42В, 110В для постоянного тока.
Основными причинами электротравматизма являются:
· случайноеприкосновение к токоведущим частям, в результате ведения работ вблизи или наэтих частях; неисправность защитных средств, которым пострадавший прикасался ктоковедущим частям; ошибочное принятие находящегося под напряжениемоборудования как отключенного;
· неожиданноевозникновение напряжения из-за повреждения изоляции там, где в нормальныхусловиях его быть не должно; контакт токопроводящего оборудования с проводом,находящимся под напряжением; замыкание фаз на землю и тому подобное;
· появлениенапряжения на токоведущих частях оборудования в результате ошибочного включениятогда, когда на нем выполняют работу; замыкание между отключенными инаходящимися под напряжением проводами; наведение напряжения от соседнихработающих установок и так далее.
Эксплуатация комплекса предполагается на ПЭВМ. Источникомпитающего напряжения является сеть переменного тока с напряжением 220В, накоторую распространяется ГОСТ 25861-83 [2].
В соответствии с требованиями для предупреждения пораженийэлектрическим током необходимо:
· чётко и в полномобъёме выполнять правила производства работ и правила технической эксплуатации;
· исключить возможностьдоступа оператора к частям оборудования, работающим под опасным напряжением,неизолированным частям, предназначенным для работы при малом напряжении и неподключенным к защитному заземлению;
· применятьизоляцию, служащую для защиты от поражения электрическим током, выполненную сприменением прочного сплошного или многослойного изоляционного материала,толщина которого обусловлена типом обеспечиваемой защиты;
· подводитьэлектропитание к ПЭВМ от розетки здания при помощи специальной вилки с заземляющимконтактом;
· защитить отперегрузок по току, рассчитывая на мощность, потребляемую от сети; а такжезащитить от короткого замыкания оборудование, встроенное в сеть здания;
· надёжноподключить к заземляющим зажимам металлические части, доступные для оператора,которые в результате повреждения изоляции могут оказаться под опаснымнапряжением;
· проверить, чтозащитный заземляющий проводник не имеет выключателей и предохранителей, а такженадёжно изолирован./>5.1 Требования пожарной безопасности к содержанию помещений
— Территория предприятиядолжна постоянно содержаться в чистоте и систематически очищаться от отходов производства.Подступы к пожарному инвентарю и оборудованию должны быть всегда свободными.
— Курение разрешается тольков специально отведенных местах, оборудованных средствами пожаротушения иобозначенных надписями «Место для курения».
— Проходы, входы,коридоры, тамбуры не разрешается загромождать различными предметами иоборудованием. Все двери эвакуационных выходов должны свободно открываться внаправлении выхода из здания.
— В помещенияхпредприятия запрещается:
— оставлять после работывключенными в электросеть электроприборы;
— оставлять открытымиокна, двери;
— производить отогреваниезамерших труб открытым пламенем;
— устанавливать иэксплуатировать печи-времянки;
— проводить огневые работы(электросварка, газосварка, и т.д.) без разрешения руководителя./>5.2 Содержание электроустановки
Электрические сети и электрооборудование,используемое в организации, должно отвечать требованиям действующих «Правилустройства электроустановок», «Правил технической эксплуатации электроустановокпотребителей», « Правил техники безопасности при эксплуатации электроустановокпотребителей». Устройство и эксплуатация электросетей, времянок допускаетсятолько по согласованию с отделом главного энергетика.
Не допускается прокладка электрическихпроводов, кабелей транзитом через складские помещения./>
Лица, ответственные засостояние электроустановок, обязаны:
— обеспечить организациюи своевременное проведение профилактических осмотров ипланово-предупредительных ремонтов электрооборудования;
— своевременно устранятьвыявленные нарушения.
Запрещается:
— обертывать электролампыи светильники бумагой, тканью, а также пользоваться электроутюгами, электрочайникамии другими нагревательными элементами без подставок из негорючего материала;
— оставлять без присмотравключенные в сеть электронагревательные элементы, радиоприемники, телевизоры ит.д./>5.3 Содержание систем отопления, водоснабжения и вентиляции
— Водонагреватели и отопительныеприборы должны размещаться так, чтобы в них был обеспечен свободный доступ дляосмотра и очистки.
— Вентиляционные камеры, циклоныи фильтры, воздухоотводы должны очищаться от горючей пыли и отходов.
— Работа технологическогооборудования и его нагрузка должны соответствовать требованиям паспортных данныхи технологического регламента.
— Ремонт оборудования безполной его остановки запрещается.
— Категорическизапрещается выливать в раковины и т.д. керосин, бензин и другие,легковоспламеняющиеся и горючие жидкости.
/>5.4 Требования к содержанию средствпожаротушения
Для определенияместонахождения средств пожаротушения должны применяться соответствующие указательныезнаки с расположением их на видном месте (на уровне глаз), как внутри, так ивне помещений.
Окраска противопожарного оборудованияпроизводится согласно ГОСТу № 12.4.026-76. Огнетушители должны размещаться влегкодоступных и заметных местах, где исключено попадание на них прямых солнечныхлучей и непосредственное воздействие отопительных и нагревательных приборов.
Ручные огнетушителидолжны размещаться:
— на вертикальнойконструкции на высоте не более 1,5 метра от уровня пола до нижнего торца огнетушителя и на расстоянии от двери, достаточном для ее полного открывания; вспециальных тумбах на пожарных щитах или стене;
Весь пожарный инвентарь исредства пожаротушения должен периодически проверяться и испытываться сзанесением результатов проверки в специальный журнал./>5.5 Обязанности лица, ответственного за пожарную безопасность
— Точно и в срок, выполнятьвсе требования работников пожарнойохраны. Участвовать в противопожарныхсмотрах и осуществлять пожарно-профилактические мероприятия.
— Не реже одного раза вквартал проводить повторные противопожарные инструктажи.
— Постоянно содержать висправном состоянии и уметь обращаться противопожарным оборудованием притушении пожара.
— Перед закрытием работы предприятиялично осмотреть все помещения, лично убедиться:
— выключены ли приборы;
— выключена липриточно-вытяжная вентиляция;
— закрыты ли окна, двери,которые могут создать приток свежего воздуха;
— не загромождены липроходы, подступы к пожарному инвентарю или оборудованию;
— не имеется ли в помещенияхзагазованности, запаха гари, дыма, горелой резины и т.д.;
— обесточена ли осветительнаяи силовая электропроводка (за исключением дежурного освещения).
На случай возникновенияпожара:
-Каждый работникобязан в случае обнаружения пожара сообщить о нем в пожарную охрану по телефону«01» и принять возможные меры к спасению людей, имущества и ликвидации пожара.Принять меры для отключения электрооборудования, находящегося под напряжением.
— До прибытия пожарнойкоманды организовать тушение пожара имеющимися на местах первичными средствамипожаротушения и организовать встречу пожарных подразделений.
— Не лить воду наэлектропровода и электрооборудование, находящихся под напряжением.
— Горящую одежду начеловеке тушить плотной тканью (пальто, покрывалом).
— По прибытии пожарногоподразделения руководителю тушения пожара кратко сообщить о причинах иобстоятельствах пожара, о принятых мерах, об угрожаемых местах и т.д.
Инструкция являетсяобязательной для всех рабочих, служащих, а также лиц, посещающих объект. Лица,не выполняющие требования данной инструкции, привлекаются к административной иуголовной ответственности.
Заключение
/>/>/>/>/>/>/>/>/>/>/>
Персональный компьютерпредставляет собой вполне самостоятельное устройство, в котором есть всенеобходимое для автономной жизни. Однако «жизнь» компьютера была бынеполноценной и довольно бесполезной без такого простого с виду устройства, какпринтер. Принтер – это периферийное устройство компьютера, используемое длявывода информации на бумажный или пластиковый носитель.
В своей работе ярассмотрел картриджи лазерных принтеров, оснащаемые в наше время небольшимимикросхемами – чипами. На них«прошита» информация о расходном материале, «язык» общения с необходимымустройством и ресурс, на который рассчитан картридж. На нём же содержитсятехническая информация типа серийного номера самого электронного компонента иболее специфические данные.
Списокиспользованной литературы
1. Информационныйсайт www.startcopy.ru/
2. Информационныйсайт chipov.net/
3. Информационныйсайт siriust.ru/
4. Информационныйсайт chiprecharge.h11.ru/
5. Информационныйсайт cadzone.ru/
6. Информационныйсайт www.phyton.ru/
7. Информационныйсайт www.moyservice.ru/
8. Информационныйсайт oprintere.ru/