|
|
  |
Автономный Прибор для перепрошивки картриджей, на AVR по I2C |
|
|
|
Sep 21 2007, 20:31
|

Частый гость
 
Группа: Участник
Сообщений: 80
Регистрация: 16-07-07
Из: Беларусь, г.Гомель
Пользователь №: 29 165

|
Цитата(chyvack @ Sep 21 2007, 22:19)  есть идея авто определения картриджа (по строке из микросхемы памяти картриджа, индивидуальной для каждого картиджа) Я тоже думал сделать автоопределение, но не нашел в прошивках за что зацепиться, чтобы сделать автоопределение, смотри записи ранее на этом посте. На счет кенона не знаю особенности прошивок. Помоему они не чипуют лазерные картриджи, точно не знаю. А свой девайс еще не доделал. если хочешь конкретно укажи тип принтера, картриджа, нарой инфу по прошивке, сравни типы прошивок, сделай выводы, а потом действуй. Удачи!
--------------------
Прибор должен работать не в принципе, а в корпусе!
|
|
|
|
|
Sep 24 2007, 20:26
|

Частый гость
 
Группа: Участник
Сообщений: 80
Регистрация: 16-07-07
Из: Беларусь, г.Гомель
Пользователь №: 29 165

|
Цитата(GDI @ Sep 24 2007, 15:12)  А нельзя просто делать инкремент по кругу (т.е. 998->999->000) этих цифр? Там ведь главное чтобы они не совпадали с теми что были ранее. Я уже сегодня обдумал с парнями на работе. Кстати этот вариант намного проще, только переменные в символьные char, поэтому первую тройку не трогать, а только младшую тетраду. 31 32 35 36 37 31 сер номер 125671 после изиененния надо например 125682, тогда будет 31 32 35 36 38 32Спасибо за идею
--------------------
Прибор должен работать не в принципе, а в корпусе!
|
|
|
|
|
Oct 17 2007, 10:28
|

Участник

Группа: Новичок
Сообщений: 18
Регистрация: 6-08-07
Из: Россия, Ставрополь.
Пользователь №: 29 595

|
Набросал на выходных, продолжение следует...
|
|
|
|
|
Oct 17 2007, 12:20
|

Участник

Группа: Новичок
Сообщений: 18
Регистрация: 6-08-07
Из: Россия, Ставрополь.
Пользователь №: 29 595

|
Схема нарисована в Proteus 6.9
Сообщение отредактировал Otvertkin - Oct 17 2007, 12:39
|
|
|
|
|
Oct 18 2007, 18:46
|

Частый гость
 
Группа: Участник
Сообщений: 80
Регистрация: 16-07-07
Из: Беларусь, г.Гомель
Пользователь №: 29 165

|
Цитата(Otvertkin @ Oct 17 2007, 15:20)  набросал на выходных Привет, дружище, у меня стало дело в процессе отладки проги по и2с при работе еепромом24с04. Делаю JTAG отладчик. В протеусе моделировать и отлаживать не могу пока. А ты можешь кинуть на мыло инфу по работе с протеусом, если есть, или толковую ссылку? А схемки гляну с интересом , потом отпишу. Пока.
--------------------
Прибор должен работать не в принципе, а в корпусе!
|
|
|
|
|
Oct 19 2007, 05:00
|

Участник

Группа: Новичок
Сообщений: 18
Регистрация: 6-08-07
Из: Россия, Ставрополь.
Пользователь №: 29 595

|
Привет! А у меня уже все работает, как и говорил нужные ячейки заменяются новыми значениями а к серийному номеру картриджа прибавляется единица. В Протеусе ничего сложного нет, осваивается за вечер. Прогу написал в Баскоме, на днях выложу хексик. Почему Баском?, удивительно дружелюбный интерфейс, масса примеров, большинство функций уже реализованы программно. Есть мнение что баском при компиляции делает довольно громоздкие hex-файлы, ну не знаю, для любителей экономного использования флеш памяти могу предложить написание программ в ассемблере или сразу в машкоде!
Сообщение отредактировал Otvertkin - Oct 19 2007, 05:26
|
|
|
|
|
Oct 21 2007, 19:15
|

Частый гость
 
Группа: Участник
Сообщений: 80
Регистрация: 16-07-07
Из: Беларусь, г.Гомель
Пользователь №: 29 165

|
Цитата(Otvertkin @ Oct 19 2007, 08:00)  Привет! А у меня уже все работает, как и говорил нужные ячейки заменяются новыми значениями а к серийному номеру картриджа прибавляется единица. Пробовал шить в симуляторе или в реале на чипе? Под какие картриджи написал прогу? Скачал файл печатки, не знаю чем открыть. В игле , что ли проектировал ? Молодец, Отверткин, хоть ты все доделал  , а я застрял с TWI интерфейсом в Win AVRе, просто туплюсь, протокол вроде понятен, сишных исходников куча, а с использованием библиотек и синтаксисом - как дятел. Да еще время не хватает ни начто. За тебя очень рад. Кинь в графити плату, если хочешь.
--------------------
Прибор должен работать не в принципе, а в корпусе!
|
|
|
|
|
Jun 1 2008, 11:00
|
Частый гость
 
Группа: Участник
Сообщений: 82
Регистрация: 10-07-06
Пользователь №: 18 720

|
Начал делать устройство для обнуления картриджей Samsung и Xerox, а тут оказывается такое объемное обсуждение. Не знаю заходят ли сюда еще, поделюсь тем, что у меня получилось. МК Tiny13 CodeVision. Для работы с EEPROM использовал функции компилятора. Я встречал Xerox Pe120, Samsung 4200, 4720. Насколько я понял, у них нужно обнулить байты 0х40-0х43, 0х80-0х83, изменить хотябы байт 0x3F номера картриджа. Значение байта 0х3F считывается, увеличивается на 1, снова записывается. Байты счетчиков обнуляются. Предварительно в них прописывается 0xFF. Меня волновало, как будет работать с различными микросхемами памяти. У некоторых программаторов с этим есть проблемы (известный PonyProg, например). Для эксперементов взял: ATMEL 224 24C16 BR24C08 ATMEL942 24C04 ST CHN 24C08 24LC02B X2402P Из них без проблем сработало только с первыми двумя. Остальные нивкакую не хотят. В основном проблемы с записью в байт 0x3F. Интересно, что у других получилось. В проект прилагаю файл для Протеуса. В коде для него нужно включить задержку. Там есть комментарий. А для прошивки ее нужно убрать. В Протеусе работает прекрасно  ps Залил архив занова указав в файле коментариев фюзы. Менял CKSEL от заводских.
Сообщение отредактировал Tiny - Jun 1 2008, 11:35
Прикрепленные файлы
i2c.rar ( 58.08 килобайт )
Кол-во скачиваний: 150
|
|
|
|
|
Jun 6 2008, 09:30
|
Участник

Группа: Участник
Сообщений: 18
Регистрация: 5-06-08
Пользователь №: 38 076

|
Приветствую, Tiny! Тоже немного интересуюсь этим вопросом, есть некоторые наработки. Вот, что сразу заметил из кода: Переменная в 0х3F должна быть в пределах 0х30 - 0х39, а стирать ячейку не обязательно.
|
|
|
|
|
Jun 6 2008, 10:14
|
Частый гость
 
Группа: Участник
Сообщений: 82
Регистрация: 10-07-06
Пользователь №: 18 720

|
Это существенное замечание. Те прошивки, которые у меня есть действительно попадают под диаппазон 0х30 - 0х39. От куда эта информация, из просмотра прошивок? Если так, то нужно подправить мою программу. У меня при значении 0хFF соледующим после прибавления 1 получалось - 0х00, т.к. переменная имела тип unsigned char. Нужно будет дописать в таком случае, чтобы после 0х39 получалось 0х30 Вчера испытал на реальном картридже Samsung 4720. Индикация показала, что запись осуществленна успешно. Т.ч. устройство с установленной в нее память справилось. Пока не жаловались. Если до завтра не вернутся - значит работает. Я их предупредил, чтобы внимательно проверили. Пока я не стер (не прописал предварительно 0xFF) у меня не получилось. Может это все таже проблема работы с памятью, о которой я писал. Я где-то читал, что эту серию необходимо стирать перед записью. Интересно, как у вас? Есть ли эти проблемы или пишутся из это серии? Я имею в виду не стирание, а вообще запись - чтение. Использовали ли вы готовые функции, или писали сами? Батарейки ит зажигалки. Плата от картриджа прикладывается к контактам, нажимается кнопка, подающая питание на МК. Загорелся светодиод-значит запись осуществленна успешно.
Сообщение отредактировал Tiny - Jun 6 2008, 10:22
Эскизы прикрепленных изображений
|
|
|
|
|
Jun 6 2008, 12:20
|
Участник

Группа: Участник
Сообщений: 18
Регистрация: 5-06-08
Пользователь №: 38 076

|
В прошивках что мне попадались, цифры серийника были обычно в этом диапазоне. Функции для работы писал сам, таких проблем с записью пока не было, но эту серию не проверял. Кстати, лучше делать проверку модели в первых 8 ячейках - вдруг что, и у 4720 сложнее дамп чем у 4200 - серийник записан в нескольких местах, если менять его только в одной строке, принтер может не принять картридж.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|