на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Прошивка чипа картриджа Samsung SCX-4200
p align="left">Три команды считывания позволяют прочитать содержимое памяти программ и памяти данных микроконтроллера. Прочитанные данные помещаются в текущее окно программатора. Считанную из микросхемы информацию можно записать на диск при помощи меню «Команды». Группа команд проверки используется для сравнения информации, записанной в микросхему, и информации в текущем окне программатора.

Команда «Стереть» позволяет стереть память микросхемы. Команда стирает одновременно все виды памяти:

- память программ;

- память данных

- ячейки защиты (если они были запрограммированы).

Однако здесь есть одно исключение. Некоторые микросхемы имеют бит конфигурации (fuse-переключатель), запрещающий стирание EEPROM. Если запрограммировать этот бит, то при стирании микросхемы EEPROM стираться не будет. Это позволяет не делать лишних циклов записи/стирания и сэкономить ресурс EEPROM в том случае, когда его содержимое менять не обязательно.

На пункте меню «Биты защиты и конфигурации» необходимо остановиться подробнее. Эта команда предназначена для чтения и изменения fuse-переключателей (битов конфигурации) и битов защиты микросхемы. В русскоязычном варианте программы этот пункт почему-то остался не переведенным.

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

Для того чтобы считать эти значения, необходимо нажать в том же окне кнопку «Считать все». На короткий момент появится окно, показывающее процесс считывания. Затем снова откроется окно битов защиты и конфигурации. Теперь уже все поля примут значения, считанные из микросхемы. Галочка в любом из полей означает, что данный бит запрограммирован. Напоминаю, что запрограммированный бит содержит ноль, незапрограммированный - единицу. Теперь вы можете изменить значение любого бита. Но эти изменения будут только на экране. Для того, чтобы записать изменения в микросхему, нажмите кнопку «Записать все». Кнопки «Установить» и «Стереть» позволяют установить или сбросить значения сразу всех полей в данном окне.

Для удобства работы с программатором он имеет режим группового выполнения команд. Команды чтения информации из файла, чтения байта конфигурации, обновления серийного номера, стирания микросхемы и, наконец, программирования могут выполняться в пакете при нажатии всего одной кнопки. Для настройки пакета команд выберите пункт «Настройки программирования» меню «Команды». Откроется окно «Настройки программирования», изображенное на рисунке 9. В этом окне отметьте галочками те операции, которые должны выполняться при запуске пакета, и нажмите кнопку «ОК». Для запуска пакетной команды достаточно выбрать пункт «Программирование» или нажать соответствующую кнопку на панели инструментов.

Рисунок 9 - Настройки программирования

Пакетный режим очень удобен в процессе отладки программы. Если в пакет включена опция «Reload Files», то достаточно один раз вручную открыть нужный файл нужного проекта, а затем можно просто нажимать кнопку «Программирование» каждый раз, когда нужно перепрошить микросхему новой версией программы. Все остальное PonyProg сделает за вас. Новая версия программы сама загрузится в программатор, микросхема сотрется, а затем в нее запишется новая информация.

Только не забывайте поставить команду стирания, если вы собираетесь программировать. Помните, что при записи в нестертую микросхему результат непредсказуем. Каждый «прошитый» в процессе программирования бит может быть восстановлен только в результате стирания всей памяти.

Программатор имеет встроенную систему автоматического формирования серийного номера программы.

Серийный номер - это просто порядковый номер версии программы. Этот номер может автоматически записываться в выбранную вами ячейку памяти программ или памяти данных. Настройка данного режима производится при выборе пункта «Установки серийного номера...» (SerialNumber Config) меню «Утилиты» (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, информацию, по изготовлению которой можно найти на сайте Корабельникова Евгения Александровича http://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 грамм. После заправки следует накрыть сверху картридж механической частью, соединить обе части, ввернуть винты на место.

Страницы: 1, 2, 3, 4, 5, 6, 7



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.