реклама на сайте
подробности

 
 
8 страниц V  « < 2 3 4 5 6 > »   
Reply to this topicStart new topic
> Автономный Прибор для перепрошивки картриджей, на AVR по I2C
Кастусь Рыжов
сообщение Sep 21 2007, 20:31
Сообщение #46


Частый гость
**

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



Цитата(chyvack @ Sep 21 2007, 22:19) *
есть идея авто определения картриджа (по строке из микросхемы памяти картриджа, индивидуальной для каждого картиджа)

Я тоже думал сделать автоопределение, но не нашел в прошивках за что зацепиться, чтобы сделать автоопределение, смотри записи ранее на этом посте. На счет кенона не знаю особенности прошивок. Помоему они не чипуют лазерные картриджи, точно не знаю. А свой девайс еще не доделал. если хочешь конкретно укажи тип принтера, картриджа, нарой инфу по прошивке, сравни типы прошивок, сделай выводы, а потом действуй. Удачи! smile.gif


--------------------
Прибор должен работать не в принципе, а в корпусе!
Go to the top of the page
 
+Quote Post
GDI
сообщение Sep 24 2007, 12:12
Сообщение #47


Профессионал
*****

Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008



Цитата
Нужно изменить 3 цифры номера
в диапазоне о-9 (каждую отдельно), чтобы прошивать картридж. Принтер запоминает номера, надо его обставить.

А нельзя просто делать инкремент по кругу (т.е. 998->999->000) этих цифр? Там ведь главное чтобы они не совпадали с теми что были ранее.


--------------------
http://www.embedders.org Блоги разработчиков электроники.
Go to the top of the page
 
+Quote Post
Кастусь Рыжов
сообщение Sep 24 2007, 20:26
Сообщение #48


Частый гость
**

Группа: Участник
Сообщений: 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

Спасибо за идею a14.gif


--------------------
Прибор должен работать не в принципе, а в корпусе!
Go to the top of the page
 
+Quote Post
Otvertkin
сообщение Oct 17 2007, 10:28
Сообщение #49


Участник
*

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



Набросал на выходных, продолжение следует...
Прикрепленные файлы
Прикрепленный файл  ressetter_v.2.rar ( 5.72 килобайт ) Кол-во скачиваний: 231
 
Go to the top of the page
 
+Quote Post
Otvertkin
сообщение Oct 17 2007, 12:20
Сообщение #50


Участник
*

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



Схема нарисована в Proteus 6.9

Сообщение отредактировал Otvertkin - Oct 17 2007, 12:39
Прикрепленные файлы
Прикрепленный файл  resetter_II.rar ( 11.93 килобайт ) Кол-во скачиваний: 208
 
Go to the top of the page
 
+Quote Post
Кастусь Рыжов
сообщение Oct 18 2007, 18:46
Сообщение #51


Частый гость
**

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



Цитата(Otvertkin @ Oct 17 2007, 15:20) *
набросал на выходных

Привет, дружище, у меня стало дело в процессе отладки проги по и2с при работе еепромом24с04. Делаю JTAG отладчик. В протеусе моделировать и отлаживать не могу пока. А ты можешь кинуть на мыло инфу по работе с протеусом, если есть, или толковую ссылку? А схемки гляну с интересом , потом отпишу. Пока.


--------------------
Прибор должен работать не в принципе, а в корпусе!
Go to the top of the page
 
+Quote Post
Otvertkin
сообщение Oct 19 2007, 05:00
Сообщение #52


Участник
*

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



Привет! А у меня уже все работает, как и говорил нужные ячейки заменяются новыми значениями а к серийному номеру картриджа прибавляется единица. В Протеусе ничего сложного нет, осваивается за вечер. Прогу написал в Баскоме, на днях выложу хексик. Почему Баском?, удивительно дружелюбный интерфейс, масса примеров, большинство функций уже реализованы программно. Есть мнение что баском при компиляции делает довольно громоздкие hex-файлы, ну не знаю, для любителей экономного использования флеш памяти могу предложить написание программ в ассемблере или сразу в машкоде! lol.gif

Сообщение отредактировал Otvertkin - Oct 19 2007, 05:26
Go to the top of the page
 
+Quote Post
Кастусь Рыжов
сообщение Oct 21 2007, 19:15
Сообщение #53


Частый гость
**

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



Цитата(Otvertkin @ Oct 19 2007, 08:00) *
Привет! А у меня уже все работает, как и говорил нужные ячейки заменяются новыми значениями а к серийному номеру картриджа прибавляется единица.

Пробовал шить в симуляторе или в реале на чипе? Под какие картриджи написал прогу? Скачал файл печатки, не знаю чем открыть. В игле , что ли проектировал ? Молодец, Отверткин, хоть ты все доделал a14.gif , а я застрял с TWI интерфейсом в Win AVRе, просто туплюсь, протокол вроде понятен, сишных исходников куча, а с использованием библиотек и синтаксисом - как дятел. Да еще время не хватает ни начто. За тебя очень рад. Кинь в графити плату, если хочешь.


--------------------
Прибор должен работать не в принципе, а в корпусе!
Go to the top of the page
 
+Quote Post
Otvertkin
сообщение Oct 22 2007, 11:50
Сообщение #54


Участник
*

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



S4200, X220 пока это все чипы на которых пробовал. Остальное в скором времени.
Go to the top of the page
 
+Quote Post
Tiny
сообщение Jun 1 2008, 11:00
Сообщение #55


Частый гость
**

Группа: Участник
Сообщений: 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.
Интересно, что у других получилось.
В проект прилагаю файл для Протеуса. В коде для него нужно включить задержку. Там есть комментарий. А для прошивки ее нужно убрать. В Протеусе работает прекрасно smile.gif

ps Залил архив занова указав в файле коментариев фюзы. Менял CKSEL от заводских.

Сообщение отредактировал Tiny - Jun 1 2008, 11:35
Прикрепленные файлы
Прикрепленный файл  i2c.rar ( 58.08 килобайт ) Кол-во скачиваний: 150
 
Go to the top of the page
 
+Quote Post
ARB
сообщение Jun 6 2008, 09:30
Сообщение #56


Участник
*

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



Приветствую, Tiny!
Тоже немного интересуюсь этим вопросом, есть некоторые наработки.
Вот, что сразу заметил из кода:
Переменная в 0х3F должна быть в пределах 0х30 - 0х39, а стирать ячейку не обязательно.
Go to the top of the page
 
+Quote Post
Tiny
сообщение Jun 6 2008, 10:14
Сообщение #57


Частый гость
**

Группа: Участник
Сообщений: 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
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
ARB
сообщение Jun 6 2008, 12:20
Сообщение #58


Участник
*

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



В прошивках что мне попадались, цифры серийника были обычно в этом диапазоне.
Функции для работы писал сам, таких проблем с записью пока не было, но эту серию не проверял.
Кстати, лучше делать проверку модели в первых 8 ячейках - вдруг что, и у 4720 сложнее дамп чем у 4200 - серийник записан в нескольких местах, если менять его только в одной строке, принтер может не принять картридж.
Go to the top of the page
 
+Quote Post
Tiny
сообщение Jun 6 2008, 17:00
Сообщение #59


Частый гость
**

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



Внес в программу корректировку ограничивающую диаппазон номера картриджа. Спасибо за и нформацию!
Меняю я только указанные мною ячейки. Остальные не трогаю, поэтому и не проверяю. Во время моих проверок памяти в программаторе другие ячейки не изменялись.
Вначале я тоже хотел сам функции написать. Для этого начал изучать методику чтения-стирания- записи памяти 24СХХ. Но так и не закончил. Написал программу используя готовые функции CodeVision. Если будет время - снова возьмусь. Хотя и нет гарантии, что я сделаю лучше. Не известно почему возникают проблемы. Ланконели так и не усовершенствовал свой PonyProg, чтобы он мог читать все микросхемы памяти 24-й серии, а не определенных производителей.
Go to the top of the page
 
+Quote Post
GDI
сообщение Jun 7 2008, 08:23
Сообщение #60


Профессионал
*****

Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008



Диапазон 0x30-0x39 происходит из кодов ASCII 0х30 - это код цифры "0", 0х39 - это код цифры "9"

Когда то очень давно я работал в сервисе и пользовался ПониПрогом для работы с 24СХХ и у меня были проблемы с чтением атмеловских микросхем, иногда проблема решалась подключением небольшого конденсатора, только не помню на какую линию SDA или SCL, конденсатор порядка 10-20пикофарад, такое решение было найдено в результате поиска проблемы с чтением, было выяснено что иногда при подключении осциллографа чтение проходило успешно, а входная емкость его была 10pF.


--------------------
http://www.embedders.org Блоги разработчиков электроники.
Go to the top of the page
 
+Quote Post

8 страниц V  « < 2 3 4 5 6 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 12:54
Рейтинг@Mail.ru


Страница сгенерированна за 0.01488 секунд с 7
ELECTRONIX ©2004-2016