RCD-программатор для EEPROM ( 93Cxx , 24Cxx)

Чем и как залить прошивку в контроллер, EPROM, чайник, утюг, самовар ...
Gomz
Читатель
Читатель
Сообщения: 17
Зарегистрирован: 28 окт 2010, 15:31

Re: RCD-программатор для EEPROM ( 93Cxx , 24Cxx)

Сообщение Gomz »

Работает отлично.
С1-2,2мкф(по мойму, написано 2м2) поставил что нашёл, и то пришлось со старой платы 3D ускорителя, может кто помнит были такие в середине 90-х, DIAMOND 3DFX.
А Вы как, почитали про чипы в картриджах, что скажите?
Вообще тема коммерчески выгодна, автономные ресеттеры стоят очень дорого, иметь каждый заправщик хотел бы. Я вот схемку набросал, а вот с кодом пока не брался, сижу всё свободное время читаю "Программирование на языке C для AVR и PIC микроконтроллеров" Шпака. Для компьютера программы проще писать, я в 3D на Darck Basic игры писал и то проще.
Аватара пользователя
rhf-admin
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
Сообщения: 3060
Зарегистрирован: 25 авг 2009, 23:19
Откуда: Уфа
Контактная информация:

Re: RCD-программатор для EEPROM ( 93Cxx , 24Cxx)

Сообщение rhf-admin »

Ага, почитал про чипы. Тут мне кажется главная проблема в том, что чипов тьма и с каждым по своему работать надо, где один байт поменять чтобы вечная прошивка получилась, где целые области памяти стереть, где номер поменять. Это сколько программной памяти понадобиться, чтобы все модели распознавать и с каждой свой алгоритм работы реализовать.

З.Ы. Не могу не высказаться, хотя конечно кому что нравится, но всё равно постоянно спорю на эту тему. :lol: :oops: Бросай ты этот Си. Это в компе удобно, а тут-то всего 30 команд. Читай ассемблер, для контроллеров это проще, код получится меньше и гемора никакого по привинчиванию периферии. Всё, что нужно - это даташит, там примеры работы с каждым модулем есть. :rightly:
З.Ы.Ы. На сайте в разделе "Теория" есть пару статей про ассемблер для пиков, а в разделе "Программы" дофига примеров с комментами.
С уважением, администрация сайта.
Gomz
Читатель
Читатель
Сообщения: 17
Зарегистрирован: 28 окт 2010, 15:31

Re: RCD-программатор для EEPROM ( 93Cxx , 24Cxx)

Сообщение Gomz »

Ну не так то и сложно с чипами. Вечная прошивка не кому в принципе не нужна(это не выгодно для заправщика, за прошивку деньги берут).
Номер CRUM как я писал ранее находится у большинства моделей по одному и тому же адресу.
Что у Samsung,
Samsung ML2250
Samsung ML2250
Samsung SCX4520
Samsung SCX4520
что и у Xerox.
XeroxPE120
XeroxPE120
XeroxWC3119
XeroxWC3119
И менять надо только его, а остальные данные просто копируются из второй EEPROM которая делается съёмной.
И тогда имея пару десятков EEPROM-ок можно спокойна работать с любыми картриджами, а цена на 24С04 копеечная и такой аппаратик будет достаточно практичен и довольно недорогой по сравнению с теми что есть в таком роде. Вот самый не дорогой http://ra-dix.ru/prog.php есть и по дороже и похуже, есть который также как я хочу, расширяется за счёт добавочных модулей. Так у него каждый модуль по 5000-6000руб. Так что стоит такую вещичку собрать, у меня уже знакомые штук 6-7 заказали, а когда другие узнают что такой аппарат есть, как минимум штук 50 понадобится.
Ассемблер я тоже читаю, спору нет на нём писать проще хотя где то и дольше, я лет 10 назад под ПК ассемблер изучал. Написал на нём программку по тестированию жёсткого диска, писал три недели(кое что было уже написано) обложившись книгами и журналами, получилась неплохо, восстановил диск другу, но спасти диск где она находилась она не смогла, а копии не было. На этом мой путь в ассемблер был окончен, писать под виндовс на асме это гемор, да и в большинстве своём не требуется ни чего такого что нельзя реализовать на языках высокого уровня. На мой взгляд смешанный стиль программирования очень не плохо используется многими программистами.
Многие задачи быстрей описать на языках высокого уровня и вставлять части кода на асме где нужны быстрые результаты или побитовый доступ к регистрам к которым у языков высокого уровня нет. Конечно Вы правы что ассемблер учить надо, хотя бы для того чтобы понимать как и что происходит во время выполнения программы. На пример просмотрев ассемблерный код нескольких маленьких программок, было обнаружено что, на С++ код i++ выполняется дольше и занимает больше памяти чем код i=i+1 в первом случае компилятор создаёт вторую копию переменной i а во втором он работает с одной. Но не всем людям одинаково легко читать и понимать код на асме. Кому то проще С или Бейсик, к тому же иногда встречается и в программирование МК объектно-ориентированный подход. Вообщем кому что нравиться, а эксперименты хоть и не всегда, но приводят к открытиям.
Аватара пользователя
rhf-admin
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
Сообщения: 3060
Зарегистрирован: 25 авг 2009, 23:19
Откуда: Уфа
Контактная информация:

Re: RCD-программатор для EEPROM ( 93Cxx , 24Cxx)

Сообщение rhf-admin »

Обнаружил вот какой прикол, то ли дело в китайцах, то ли... Есть у меня 3 микрухи: одна 24С02 с фирменной маркировкой ST и две 24С08 (это единственная надпись на микрухах, так что подозреваю, что это китайцы). Так вот. 24С02 после сброса по питанию всегда встаёт на нулевой адрес, а 24С08 встают на любой, какой им вздумается. А я думал включаешь и читаешь с самого начала - хрен, сначала надо им адрес на ноль поставить. :?
С уважением, администрация сайта.
Аватара пользователя
rhf-admin
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
Сообщения: 3060
Зарегистрирован: 25 авг 2009, 23:19
Откуда: Уфа
Контактная информация:

Re: RCD-программатор для EEPROM ( 93Cxx , 24Cxx)

Сообщение rhf-admin »

Вот, выложил свою библиотеку процедур для I2C (чтобы добавить работу с ещё одной линией данных - клонируем все процедуры, в которых участвует эта линия, у одного из клонов всем меткам добавляем чего-нибудь, чтоб меток не было одинаковых, и номер ноги свой указываем и всё): http://radiohlam.ru/program/i2c_proc.htm
С уважением, администрация сайта.
Аватара пользователя
rhf-admin
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
Сообщения: 3060
Зарегистрирован: 25 авг 2009, 23:19
Откуда: Уфа
Контактная информация:

Re: RCD-программатор для EEPROM ( 93Cxx , 24Cxx)

Сообщение rhf-admin »

Вот и прошивка для чип-ресеттера готова. :D В архиве прошивка, исходник на асме и печатка. Программа считывает последнюю цифру CRUM (адрес 3Fh), потом переписывает в эту микруху данные с другой микрухи, потом увеличивает последнюю цифру CRUM и возвращает на место. Если последняя цифра была 9, то на её место запишется 0, т.е. по кругу цифры меняются от 0 до 9.

Вопрос. Можешь нарисовать схему или сфоткать плату на картридже. Там есть подтягивающие резисторы для I2C? Что там вообще есть? Просто интересно, можно ли к этому девайсу крокодилы, например, на проводах приделать и прошивать не вынимая микруху.
И ещё одно. Можно составить список картриджей, у которых CRUM в этом месте?

P.S. Объем микрухи для этой прошивки значения не имеет, только микруха должна быть с однобайтной адресацией , то есть подходят 24С04, 24С08, 24С16 (не все). Здесь имеется ввиду не адресация на шине I2C, а адресация внутри микрухи.
P.P.S. Чтобы работала с 24С02 надо подправить исходник: писать не 16 блоков по 16 байт, а 32 блока по 8 байт (у 24С02 размер буфера поменьше).
Вложения
i2c_test.rar
(7.31 КБ) 750 скачиваний
С уважением, администрация сайта.
Gomz
Читатель
Читатель
Сообщения: 17
Зарегистрирован: 28 окт 2010, 15:31

Re: RCD-программатор для EEPROM ( 93Cxx , 24Cxx)

Сообщение Gomz »

Отлично!
Сейчас скидаю схемку на мантажке и буду пробовать.
Как я понял у Вас питание предусмотрено свыше 7в, а если использовать от 3в, то 7805 и С8,С9 можно не использовать?
По чипам:
Тип-форма у чипов разная, но разводка одинаковая почти у всех, кроме цветных.
В цветных 4 чипа на 34С02(меняются на 24С02) и для каждого цвета свой адрес на шине.
Резисторы на чипах распаяны и крокодильчики самый оптимальный вариант.
Выводы на монохромных чипах идут:
VCC SDA SCL GND
У цветных в два ряда:
VCC GND
SDA SCL
Вот фотка чипа от Xerox PE 220 он самый маленький из монохромных. Большие сфотать не могу, захват объектива максимум 11х15мм.
На SDA и SCL подаётся через 100Ом и подтягивающие 10К
На SDA и SCL подаётся через 100Ом и подтягивающие 10К
Выводы VCC SDA SCL GND
Выводы VCC SDA SCL GND
И SamsungCLP300 и на Xerox Phaser 6110 они одинаковые.
R1-R4 Выбор цвета(адреса на шине i2C)
R1-R4 Выбор цвета(адреса на шине i2C)
ChipCollor.GIF
ChipCollor.GIF (3.69 КБ) 11313 просмотров
Ну и вот архив с прошивками для чипов Samsung и Xerox в основном .e2p для PonyProg но и есть .bin
Можете посмотреть что в них зашито
Вложения
Prochivki for Cartrig.rar
Прошивки чипам картриджей Samsung, Xerox
(7.14 КБ) 762 скачивания
Аватара пользователя
rhf-admin
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
Сообщения: 3060
Зарегистрирован: 25 авг 2009, 23:19
Откуда: Уфа
Контактная информация:

Re: RCD-программатор для EEPROM ( 93Cxx , 24Cxx)

Сообщение rhf-admin »

Как я понял у Вас питание предусмотрено свыше 7в, а если использовать от 3в, то 7805 и С8,С9 можно не использовать?
С9 лучше оставить. А ведь чипы не все от 3-х вольт работают. И ещё я не уверен, что пик нормально будет работать, хотя по доке должен (просто я никогда не пробовал питать его 3 вольтами, поэтому и не знаю, насколько он будет адекватен). Короче надо попробовать.
В цветных 4 чипа на 34С02(меняются на 24С02) и для каждого цвета свой адрес на шине.
Хм, а вот это уже гемор. Прошивка на такое не рассчитана. В принципе можно в одну микруху 24С08 залить все 4 прошивки и из неё копировать (или если они все одинаковые, то можно и в 24С02), тогда пик сам разольёт этот общий склад по микросхемам, но CRUM поменяет только в первой микрухе. Да, и не забудь подправить исходник для нормальной работы с 24С02.
С уважением, администрация сайта.
Аватара пользователя
rhf-admin
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
Сообщения: 3060
Зарегистрирован: 25 авг 2009, 23:19
Откуда: Уфа
Контактная информация:

Re: RCD-программатор для EEPROM ( 93Cxx , 24Cxx)

Сообщение rhf-admin »

Смотрю прошивки, очень интересно. Понял, что менять последнюю цифру CRUM было неудачной идеей, надо было где-нибудь в середине (а то samsung clp600, например, выпадает) :( Ну да ладно, это легко поправимо. Ещё заметил, что в некоторых прошивках CRUM дублируется (например в SCX6320), надо оба менять или первый достаточно? Предполагаю, что всё же оба, да?
Короче, будем доделывать с учётом новой информации. :lol:
С уважением, администрация сайта.
Gomz
Читатель
Читатель
Сообщения: 17
Зарегистрирован: 28 окт 2010, 15:31

Re: RCD-программатор для EEPROM ( 93Cxx , 24Cxx)

Сообщение Gomz »

По выше приведённой схеме, работает от CR-2032 на 3v, прошил пока 18 чипов от Xerox WC3119, нет проблем, все работают. Но тоже думал питать от 4,5v или встроить аккумулятор на 3,6v, что бы можно было заряжать.
Есть прошивки и у Xerox где одна часть прошивки повторяются, реально с такими аппаратами я не сталкивался и как работает прошивка не знаю, может хватит менять и один а но скорей всего оба надо.
Samsung CLP600 это цветной и прошивка для 24С02. Похожие прошивки у CLP300 и Xerox Phaser 6110. Для цветных я думал на старой схеме прошивку поправить на 4 цвета, памяти МК должно хватить. У друга Xerox Phaser 6110 он художник, печатает много, будет на чём опробовать.
Вообще освою программирование контроллеров, хочу собрать что-то вроде этого http://www.startcopy.ru/repair/progr_i2c.htm с возможностями этого http://monitor.net.ru/forum/topic987-0.html Первый вариант не плохой и можно в прошивку для 24С64 заливать и другие прошивки но МК 16F877 крутовато по цене. Можно было бы на 16F876 собрать, но вот в прошивке 16F877 кнопки подключены к порту D а 16F876 порта D нет. Пробовал в прошивке изменить порт D на порт A не получается, а так всё остальное работает.
Ответить