Разработка программатора для прошивки чипов картриджей Xerox 3450 и Samsung ML - 2150 на базе программного обеспечения «PonyProg 2000».

БР-00-ХХХ.ХХХ/Х.ХХ.000.ПЗ



Аннотация

Объектом проектирования является программатор микросхемы чипов картриджей в копи-ровальных аппаратах фирмы «Xerox» и «Samsung», на базе программного обеспечения «PonyProg 2000». Целью дипломного проектирования является, осуществление заправки чипованных картриджей с помощью перепрограммирования микросхемы Xerox 90/01. Разработка программатора заключается в образовании буфера, согласующего логические уровни сигналов одного из портов компьютера и программируемого чипа, с помощью инвертирующей микросхемы и ряда радиоэлементов.

Введение

Практически любое инженерное устройство имеет целью своего функционирования то или иное преобразование энергии или преобразование информации. Задачей любой системы управления в самом общем смысле является обработка информации о текущем режиме работы управляемого объекта и выработка на основе этого управляющих сигналов с целью приближения текущего режима работы объекта к заданному. Под обработкой информации в данном случае подразумевается решение тем или иным способом уравнений состояния системы. В последние годы, для осуществления этих задач применяют программаторы. Целью данного диплома является разработка программатора для прошивки чипов картри-джей Xerox 3450 и Samsung ML – 2150 на базе программного обеспечения «PonyProg 2000». Эта разработка необходима для осуществления заправки чипованных картриджей фирмы Xerox и Samsung на предприятии ООО «Сервисный центр Xerox».

1 Анализ аналогов исследуемой области

В обширной номенклатуре изделий электронной техники особое место занимает семейство программируемых микросхем. Их ускоренное развитие в настоящее время символизирует про-гресс в микроэлектронике, которая является катализатором научно - технического прогресса в со-временном мире. Так же наряду с ними возникает стремительное совершенствование устройств их программирования. Эта тесная связь будет неразрывной и прочной еще очень долгое время. На сегодняшний момент существует огромное количество программаторов. Их разнообра-зие и возможности зависят от того, какие задачи необходимо выполнить при программировании микросхем. Например, при необходимости программирования обширного числа ПЗУ, с совершенно разными характеристиками, необходим универсальный программатор. А для программирования одной серии микросхем может быть использован программатор с нужным интерфейсом связи с чипом. Любой разработчик отталкивается именно от этих исходных данных при разработке такого устройства. Рассмотрим классификацию программаторов по функциональным возможностям. Условно их можно подразделить на такие группы:

- программаторы, программирующие микросхемы памяти (EPROM, EEPROM, FLASH);

- программаторы, программирующие микросхемы памяти (EPROM, EEPROM, FLASH)

и внутреннюю память микроконтроллеров;

- программаторы, программирующие микросхемы памяти (EPROM, EEPROM, FLASH),

внутреннюю память микроконтроллеров, микросхемы программируемой логики (PLD);

- универсальные программаторы-тестеры.

Данную классификацию можно считать достаточно условной, жестких границ между про-грамматорами разных групп не существует. Программаторы первой и второй групп наиболее простые и дешевые устройства. Программаторы третьей группы, обычно, аппаратно значительно более сложны и стоимость их, соответственно, более высокая. Это объясняется, в частности, особенностью работы с устройствами программируемой логики. Микросхемы программируемой логики вообще стоят несколько обособленно в ряду программируемых устройств. Если информацию по программированию микросхем памяти и внутренней памяти микроконтроллеров фирмы-производители микросхем, как правило, не скрывают и публикуют в своих каталогах, то информацию по программированию микросхем PLD можно получить только после заключения соответствующего соглашения с фирмой-производителем микросхем. Причем, некоторые производители PLD не стремятся увеличить число фирм-производителей программаторов, поддерживающих их устройства, главное для них - качество программирования и строгое следование предписанным процедурам программирования. Последняя функциональная группа программаторов - универсальные программаторы - наиболее сложные и дорогие устройства, но способные работать с очень большим перечнем мик-росхем. Стоимость таких устройств может достигать тысяч и десятков тысяч долларов.

1.1 Аппаратное устройство программаторов

В первую очередь коснемся той детали программатора [1], с которой придется взаимодей-ствовать больше всего - это колодка, куда помещается программируемая микросхема. Эта одна из самых важных деталей программатора, от качества и надежности, которой зависит способность программатора выполнять свои функции. Любой программатор вне зависимости от его сложности, стоимости и функциональных возможностей обязательно должен быть снабжен специальной тестовой колодкой, обеспечивающей многократный надежный контакт с программируемой микросхемой. Фирмы, выпускающие такие сокетки, гарантируют надежный контакт при десятках тысячей операций установки в нее микросхем. Наиболее удобными для пользователя являются специальные сокетки с нулевым усилием (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 кБод, что существенно ограничивает обмен между ком-пьютером и программатором, и, следовательно, снижает производительность последнего. Подключение программатора к принтерному порту компьютера видится наиболее предпо-чтительным вариантом. Этот способ сочетает в себе достаточно высокую пропускную способ-ность канала и не требует серьезных аппаратных затрат. При использование этого способа удается воспользоваться центральным процессором компьютера в качестве управляющего процессора программатора. Теперь обратим внимание на ряд «второстепенных мелочей», которые при активной рабо-те с программатором могут либо серьезно попортить вам жизнь, либо, при удачной реализации, значительно облегчат вашу работу. К таким «мелочам» можно отнести способ обновления версий программатора, способность программатора определять правильность установки микросхемы в колодке и проведение процедуры самотестирования при включении питания. Способ обновления версии - это довольно существенный вопрос эксплуатации программа-торов. Необходимость обновления версии может возникнуть по ряду причин, во-первых, при вы-явление ошибки работы программатора, либо при расширение списка поддерживаемых програм-матором микросхем. Способ обновления версии программатора зависит от его аппаратного устройства. В одних изделиях алгоритмы программирования жестко «зашиты» в аппаратуру, в других - они являются загружаемыми. В первом случае для модификации версии требуется моди-фикация самого устройства программатора (например, перепрограммирование ПЗУ самого про-грамматора), а это сопряжено с рядом дополнительных неудобств по доставке изделия производи-телю или в региональный сервисный центр. Другое дело, если обновление версии осуществляется только обновлением программного обеспечения программатора. Именно по такой схеме построены программаторы с загружаемыми алгоритмами программирования. В таких программаторах вы обновляете только программное обеспечение и работаете уже с новой версией. Второй способ видится наиболее удобным в эксплуатации, и именно по такой схеме строится обновление версий всех наиболее популярных программаторов. Теперь обратим внимание на такую «мелочь», как способность программатора определять правильность установки микросхемы в тестовую колодку. При кажущейся незначительности этой опции, мы начинаем понимать всю ее важность только после выхода из строя микросхемы при неверной установки ее в колодку (а такое рано или поздно случается). И винить в этом случае некого - сами виноваты. Именно для предотвращения таких ситуаций и служит эта опция. Здесь необходимо указать, что полноценная реализация такой возможности требует от разработчика больших усилий и, порой, изобретательности. Дело в том, что необходимо протестировать микросхему в колодке в самом щадящем для нее режиме, при этом ни в коем случае не допуская выхода микросхемы из строя. И в заключение обсуждения аппаратного устройства программаторов, необходимо упомя-нуть о настоятельной необходимости проведения программаторами процедуры самотестирова-ния. Обычно эта процедура проводится после инициализации аппаратуры программатора. Цель этой процедуры - встроенными средствами провести проверку работоспособности всего оборудо-вания устройства и принять решение о возможности полноценной работы программатора. К сожалению, встроенными средствами не всегда удается однозначно убедится в работоспособно-сти всех узлов устройства, но тем не менее эта процедура обязательно должна проводится с целью минимизации вероятности эксплуатации неработоспособного оборудования.

1.2 Примеры некоторых программаторов

1.2.1 Промышленный программатор «PICPROG»

Программатор «PICPROG», рисунок 1.1, предназначен для программирования широкой номенклатуры микросхем, как в условиях серийного производства, так и в процессе разработки и отладки изделий. «PICPROG» соответствует промышленной спецификации фирмы «Microchip Technology», что позволяет программировать ее микросхемы. Возможности «PICPROG» позволяют отнести его к категории промышленных программа-торов в отличие от подавляющего числа предлагаемых на российском рынке [2]. Это означает, в частности, что «PICPROG» позволяет программировать и верифицировать микросхемы при раз-личных напряжениях питания, повышая, таким образом, надёжность процесса программирования. Дело в том, что верификация микросхем при напряжении питания 5В (как это делается в большинстве программаторов) не обеспечивает гарантии их работоспособности при других напряжениях. Представим ситуацию: вы запрограммировали контроллер, проверили его при 5В, прошили биты защиты, установили в устройство с напряжением питания 3В — а устройство либо совсем не работает, либо работает с ошибками. В такой ситуации очень сложно найти причины неработоспособности устройства, не говоря уже о том, что записанный контроллер придётся просто выкинуть. Подобный же случай может произойти во время отладки, если JW-контроллер будет недостаточно стёрт. Для исключения подобных ситуаций и нужен промышленный программатор. «PICPROG» может работать как совместно с IBM PC, так и автономно, когда после загруз-ки данных в энергонезависимую память программатора его можно отключить от компьютера и запрограммировать серию микросхем автономно. Это не только делает процесс серийного про-граммирования более удобным, но и позволяет повысить конфиденциальность прошиваемого ко-да. В «PICPROG» имеется ряд возможностей, предназначенных для удобства работающих в основном с отладочными (JW) кристаллами разработчиков устройств на PIC-контроллерах. Это, в частности, поддержка облегчённых режимов программирования микросхем, позволяющих суще-ственно повысить их ресурс. Кроме того, поддерживается возможность записи защиты кода с воз-можностью её последующего стирания для всех типов PIC-контроллеров (включая последние мо-дели с улучшенной защитой), что позволяет использовать их многократно, не опасаясь несанкционированного копирования. Программатор снабжён системой снятия защиты кода программы для микросхем PIC16C8x/16F8x. «PICPROG» выполнен в виде полностью законченного устройства в элегантном корпусе, подключаемого к параллельному порту компьютера типа IBM PC в режиме, прозрачном для под-ключенного принтера. К достоинствам «PICPROG» можно отнести также его универсальность, наличие одной ZIF–панели для любых DIP-корпусов (от 8 до 40 выводов), разъёма для внутрис-хемного программирования. Программное обеспечение «PICPROG» состоит из программы функционального контроля и двух версий управляющей программы, одна из которых предназначена в основном для пакетного режима программирования и работает в среде DOS или в DOS-окне Windows95/98. Вторая версия управляющей программы представляет собой графическую оболочку, работающую под управлением Windows 95/98 или Windows NT, тесно интегрированную как с самой ОС, так и с системой разработки MPLAB фирмы Microchip. Управляющие программы работают с файлами форматов BINARY, Intel HEX, Motorola S, Tektronix Hex, поддерживая информацию о конфигурации, генерируемую ассемблерами фирм Microchip, Parallax и TechTools. С помощью «SiProg 2000», можно программировать такие серии микроконтроллеров (МК), как – «PIC16F8x», «PIC12C50x», «PIC16F87x».
E1

Рисунок 1.1 - Программатор «PICPROG»

1.2.2 Универсальный программатор «Sterh ST-011»

«ST-011» имеет всего одну универсальную DIP-42 панель для программирования около 700 оригинальных типов микросхем в корпусах от DIP-8 до DIP-42, таких как PROM, EPROM, EEPROM, serial EEPROM, FLASH, микроконтроллеры, PAL/GAL, EPLD, FPGA. Программатор предназначен для работы под управлением IBM PC - совместимых компьютеров, работающими под одной из следующих операционных систем: MS-DOS, Win-dows 95, Windows NT, OS/2. Управление через стандартный порт RS-232 не требует дополнитель-ного слота в компьютере, поэтому можно легко переносить и подключать программатор к лю-бому IBM PC или Notebook. В отличие от порта принтера один из двух или четырех портов RS-232 почти всегда свободен, кабель более компактный и гибкий, а время передачи при скорости обмена 115 кбод практически не влияет на общее время программирования. Программное обеспечение поддерживает различные форматы входных данных: бинарный код, HEX-файлы, JEDEС, а также содержит несколько полноэкранных редакторов: для обычных файлов - редактирование данных в «octal» и ASCII строках, а при работе с PLD - специальный редактор JEDEC-файлов, либо структурные матричные редакторы для каждого конкретного типа PLD. Широкий набор команд редакторов, позволяет производить множество операций с данны-ми и их адресами, в том числе блочные операции, редактировать шифровальные таблицы, ключи секретности микроконтроллеров и др.

Другие особенности:

- двойной синхронный клокер для текстовых векторов PLD;

- алгоритмы программирования от фирм-производителей;

- уровень напряжений от 3 В до 25 В с шагом 0.1 В;

- нулевые потенциалы на всех контактах панели в исходном состоянии;

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

- встроенный источник питания от сети 90 в - 240 в, 45 гц - 65 гц;

- габаритные размеры: 265 х 215 х 40, масса не более 0.8 кг;

- дополнительные адаптеры для микросхем в PLCC, TSOP корпусах;

1.2.3 Универсальный программатор «ChipProg +»

Программатор «ChipProg+», рисунок 1.2, предназначен для программирования:

- микросхем памяти (EPROM, EEPROM, FLASH);

- внутреннего ППЗУ микроконтроллеров;

- микросхем программируемой логики (PAL, GAL, EPLD, CPLD).

Пополнение списка производится постоянно по мере появления новых типов микросхем. Обновление ПО предоставляется бесплатно. Конструктивно программатор выполнен в виде авто-номного устройства размером 163х95х35 мм. В «ChipProg+» реализован специализированный (последовательный) режим программирования для ряда микроконтроллеров фирмы «Microchip», «Atmel» и некоторых других, который поддерживает работу с запаянными ИС. Это позволяет осуществлять сборку плат с незапрограммированными контроллерами, а затем проводить про-граммирование, подсоединив плату к программатору всего пятью (семью для «Atmel») проводами. Подсоединение осуществляется при помощи адаптера AE-ISP-U1, устанавливаемого непосредственно в колодку программатора [3].
E1

Рисунок 1.2 - Универсальный программатор «Ship Prog +»

2 Актуальность, решаемая проблема и цель разработки программатора

Развитие микроэлектроники и широкое применение ее изделий в промышленном производстве, в устройствах и системах управления самыми разнообразными объектами и процессами является в настоящее время одним из основных направлений научно - технического прогресса. В обширной номенклатуре изделий электронной техники особое место занимает семейство программируемых микросхем. Их ускоренное развитие в настоящее время символизирует про-гресс в микроэлектронике, которая является катализатором научно - технического прогресса в со-временном мире. Возрастающий круг научно - технических работников сталкивается в своей практической деятельности с вопросами применения запоминающих и логических программируемых микро-схем. Их использование в радиоэлектронной аппаратуре позволяет резко сократить сроки ее раз-работки и промышленного освоения; поднять на новый уровень технические характеристики. Существует принципиальная необходимость использования программируемых микросхем в микро - процессорных устройствах и системах практически для всех областей народного хозяй-ства, таких, как гибкие производственные системы, системы управления различными технологи-ческими процессами, персональные ЭВМ, бытовая аппаратура. Одним из примеров этому служит развитие устройств работы с документом. В основе всего, что мы изучаем и открываем, создаем и сообщаем, лежит документ. С мо-мента нашего рождения документы регистрируют каждый наш шаг, формируют наши убеждения, наши идеалы, наши устремления. Документы помогают нам учиться, оценивают наши успехи и вознаграждают наши усилия. Они настолько вошли в повседневную жизнь, что мы их почти не замечаем. Огромное достижение в сборе информации, ее распределении изменило саму природу до-кумента. Широкое проникновение компьютерных технологий и во все сферы человеческой дея-тельности диктует необходимость приобретения устройств вывода, удовлетворяющим всем запросам современной жизни – скорости, качеству, надежности и простоте в эксплуатации. В настоящее время на рынке представлены различные типы таких устройств – от простей-ших струйных принтеров, до многофункциональных лазерных устройств. Для нужд малого офиса в настоящее время идеальным является струйные и лазерные принтеры, позволяющие быстро и высококачественно производить печатную продукцию. Основное преимущество лазерных принтеров перед струйными – более высокая скорость, превосходное качество печати, приближающееся к типографическому, а так же более низкая сто-имость расходных материалов. Именно поэтому, не смотря на наступление струйных принтеров, в настоящее время на рабочих местах в офисах господствуют лазерные принтеры. По данным аме-риканской фирмы «Computer Intelligence» почти две трети применяемых в сфере бизнеса принте-ров – лазерные. Фирма ООО «Сервисный центр Xerox» занимается техническим обслуживанием, ремонтом копировальной техники фирмы «Xerox», так же наряду с этим производит заправку картриджей. Последние модели аппаратов фирмы «Xerox» оснащены картриджами со встроенными в них чипами памяти. В микросхему чипа «зашита» информация о возможном количестве копий, которое копировальный аппарат может сделать с данным картриджем. В результате при достижении данного числа копий на панели управления выдается сообщение, о необходимой замене данного узла аппарата. Заправка такого картриджа вновь не представляется возможным. Стоимость нового картриджа достаточно высока, а его заправкой в городе Владивостоке не занимается ни одна из сервисных фирм. Таким образом, возникла необходимость заправки данных картриджей. Это выгодно как ООО «Сервисному центру Xerox», так и клиенту, который получает возможность пользоваться старым картриджем с тем же качеством отпечатка. Для заправки картриджа, нужно перепрограммировать микросхему чипа. Для этого необходим программатор. На сегодняшний день существует огромное количество универсальных программаторов, их стоимость достаточно велика, так как они предназначены для программирования большого количества микросхем. Поэтому целесообразно разработать программатор для микросхемы Xerox 90, которая используется в чипе картриджей «Xerox».

Новости ...

2012.09.11 ...
Начало работы сайта ...
2012.10.01 ...
Изучение php, реализация движка сайта ...
Планирование контента ...
2012.11.01 ...
Изучение "сss", верстка ...
2013.03.25 ...
Времени НЕТ :( ...
2013.03.26 ...
Добавлена статья "Поток Е1" ...
2013.05.06 ...
Выделение активного пункта меню ...
2013.05.10 ...
Создание базы данных MySQL ...
2013.05.27 ...
Прикрутил статистику (пока примитив но с MySQL) ...
2013.05.27 ...
Аутентификация по "sms" тоже с MySQL ...
2013.10.01 ...
Добавлен модуль добавления фотографиий
с функцией сжатия фото и создания привью
Данная возможность предоставлена
нескольким пользователям ...
2013.12.16 ...
Добавлен модуль меню с выводом из базы MySQL ...
2014.09.06 ...
Для активации email-to-sms от Мегафона ...
нужно отправить латинскую С на номер 508 ...
2015.06.29 ...
Добавлена формула для выведения title ...
по названию страници ...
2015.06.30 ...
Добавлена возможность получить логин ...
по номеру сотового телефона, если ...
пользователь забыл свой логин ...
2015.07.05 ...
Изменен способ аунтификации ...
теперь вместо "Логина" нужно указать ...
номер сотового телефона (проще запомнить) ...
2015.07.15 ...
Обновлено меню ...
добалена поддержка для устройств с ...
активным дисплеем ...

--------------------------------------------

Планируется ...

2013.06 ...
Внутреннее меню ...
Перевод всего сайта в базу MySQL ...
Автоматизация добавления контента ...
Регистрации пользователей ...
Расширение статистики ...
2014.06 ...
Перевод контента сайта в базу MySQL ...
Автоматизация добавления контента ...
Регистрации пользователей ...
Расширение статистики ...