Eeprom arduino чтение / запись.

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

Здравствуйте, нужна ваша помощь.

Имееться Arduino nano и eeprom микросхема / чип.

Надо подключить eeprom к Arduino и считать / записать данные с помощью программы в роде PonyProg и т.д.

Возможно ли это ? Если да, то посоветуйте пожалуйста как подключить к Arduino.

И при помощи каких программ еще можно считывать и записывать в eeprom с правкой содержимого.

Спасибо.

toc
Offline
Зарегистрирован: 09.02.2013

Тут ( http://arduino.ru/Hardware/ArduinoBoardNano ) написано, что устройства с таким интерфейсом можно подключить к "аналоговым" выводам платы arduino nano: " 4 (SDA) и 5 (SCL) ".

Как называется микросхема?
A, нашёл: чип картриджа для принтера НР http://www.startcopy.ru/repair/hpbij.htm

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

toc пишет:
Тут ( http://arduino.ru/Hardware/ArduinoBoardNano ) написано, что устройства с таким интерфейсом можно подключить к "аналоговым" выводам платы arduino nano: " 4 (SDA) и 5 (SCL) ". Как называется микросхема? A, нашёл: чип картриджа для принтера НР http://www.startcopy.ru/repair/hpbij.htm

Дело в том, что надо Arduino nano использовать что ли как программатор, и с помощью ее передать и принимать данные с чипа в Ponyprog.

Клапауций 999
Offline
Зарегистрирован: 06.06.2015

Zhigalo_Alexey пишет:

Дело в том, что надо Arduino nano использовать что ли как программатор, и с помощью ее передать и принимать данные с чипа в Ponyprog.

почему сразу в понипрог не читать/писать?

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

Клапауций 999 пишет:

Zhigalo_Alexey пишет:

Дело в том, что надо Arduino nano использовать что ли как программатор, и с помощью ее передать и принимать данные с чипа в Ponyprog.

почему сразу в понипрог не читать/писать?

Может не правильно поняли, но этого и хочу добиться. 

 

 

Клапауций 999
Offline
Зарегистрирован: 06.06.2015

Zhigalo_Alexey пишет:

Может не правильно поняли, но этого и хочу добиться. 

ну, и кто тебе запрещает купить или собрать понипрог с адаптером для eeprom&

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

Клапауций 999 пишет:

Zhigalo_Alexey пишет:

Может не правильно поняли, но этого и хочу добиться. 

ну, и кто тебе запрещает купить или собрать понипрог с адаптером для eeprom&

В начале темы написано, имееться Arduino nano, чип и ноутбук, в котором нету com прота. 

Возможно ли с данным арсеналом с помощью ponyprog считывать / записывать данные ? 

Если да, то как.

Клапауций 999
Offline
Зарегистрирован: 06.06.2015

Zhigalo_Alexey пишет:

В начале темы написано, имееться Arduino nano, чип и ноутбук, в котором нету com прота. 

Возможно ли с данным арсеналом с помощью ponyprog считывать / записывать данные ? 

Если да, то как.

ок. а, понипрог вам нахрена?

https://www.google.com/search?q=Arduino+eeprom

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

Клапауций 999 пишет:

Zhigalo_Alexey пишет:

В начале темы написано, имееться Arduino nano, чип и ноутбук, в котором нету com прота. 

Возможно ли с данным арсеналом с помощью ponyprog считывать / записывать данные ? 

Если да, то как.

ок. а, понипрог вам нахрена?

https://www.google.com/search?q=Arduino+eeprom

Имееться чип от картриджа, на нем находится данные, как то их посмотреть, а как ? Через ponyprog или ему подобное. И потом их править. Думаю что без программы это сделать не реально, ну по крайней мере не удобно так точно. 

P.S GOOGlom пользоваться умею, но то что мне надо,  не получаеться найти.

 

Клапауций 999
Offline
Зарегистрирован: 06.06.2015

Zhigalo_Alexey пишет:

Имееться чип от картриджа, на нем находится данные, как то их посмотреть, а как ? Через ponyprog или ему подобное. И потом их править. Думаю что без программы это сделать не реально, ну по крайней мере не удобно так точно. 

P.S GOOGlom пользоваться умею, но то что мне надо,  не получаеться найти.

считать в монитор компорта содержимое еепром в формате: адрес ячейки памяти - содержимое.

если нужно и возможно перезаписать, то будете знать, где и на что менять.

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

Клапауций 999 пишет:

Zhigalo_Alexey пишет:

Имееться чип от картриджа, на нем находится данные, как то их посмотреть, а как ? Через ponyprog или ему подобное. И потом их править. Думаю что без программы это сделать не реально, ну по крайней мере не удобно так точно. 

P.S GOOGlom пользоваться умею, но то что мне надо,  не получаеться найти.

считать в монитор компорта содержимое еепром в формате: адрес ячейки памяти - содержимое.

если нужно и возможно перезаписать, то будете знать, где и на что менять.

Об этом думал уже, но это будет жутко неудобно с большим количеством информации.

Хотелось бы не через монитор com, а через Ponyprog.

Просто подумал, раз можно использовать Arduino как программатор, то можно ли таким же способом считывать eeprom.

 

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Болезный какой то. Не может обьяснить что и зачем он делает. Но при этом догадки гадалок отвергает. Продолжаем гадать... что бы читать епром по любой шине, нужно знать какие команды оно понимает...

nevkon
Offline
Зарегистрирован: 20.01.2015

Можно, написать только эмулятор придется.

Если честно через сериал будет много проще программа. Если вы конечно не в потоке картриджи восстанавливаете.

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

Puhlyaviy пишет:
Болезный какой то. Не может обьяснить что и зачем он делает. Но при этом догадки гадалок отвергает. Продолжаем гадать... что бы читать епром по любой шине, нужно знать какие команды оно понимает...

Не могу понять, что не понятно.. Может и плохо объяснил.. 

Имееться:

Arduino nano.

Чип от картриджа принтера, подробнее о нем (http://www.startcopy.ru/repair/hpbij.htm)

Ноутбук (без com порта).

Задача:

Подключить чип к Arduino.

На ноутбуке открыть ponyprog.

Считать данные с чипа.

Править данные.

Записать измененные данные на чип.

 

 

 

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

nevkon пишет:

Можно, написать только эмулятор придется.

Если честно через сериал будет много проще программа. Если вы конечно не в потоке картриджи восстанавливаете.

Спасибо. Буду что то подобное искать. 

art100
Offline
Зарегистрирован: 09.03.2014

nevkon пишет:
... сериал будет ...

Кто бы сомневался. Все белые и пушистые, а под столом черные и колючие. Ну конечно вор обыкновенный один чип картриджа поломать хочет. Ан нет это будет новый чудо технологичный сервис по ремонту картриджей. Зря зашел скучно. Я уже думал библиотека 

EEPROM.write1

новомодная ан нет все старо. Поиск по форуму лень запускать лучше сразу писать буквы. бУкАв слишком много столько нЕ Асилю.

 

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Если нужно с программой типа понипрог- готовые варианты:

http://www.ebay.com/itm/24-25-series-EEPROM-Flash-BIOS-USB-Programmer-CH341A-with-Software-driver-/251369833299?hash=item3a86cf4353

http://www.ebay.com/itm/USB-Programmer-CH341A-Series-Burner-Chip-24-EEPROM-BIOS-LCD-Writer-25-SPI-Flash-/381311945396?hash=item58c7f68ab4

Или кто-то делал автономный с карточкой и ЛЦД 5110.... но без  софта. Хексы грузить

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

art100 пишет:

nevkon пишет:
... сериал будет ...

Кто бы сомневался. Все белые и пушистые, а под столом черные и колючие. Ну конечно вор обыкновенный один чип картриджа поломать хочет. Ан нет это будет новый чудо технологичный сервис по ремонту картриджей. Зря зашел скучно. Я уже думал библиотека 

EEPROM.write1

новомодная ан нет все старо. Поиск по форуму лень запускать лучше сразу писать буквы. бУкАв слишком много столько нЕ Асилю.

Искал на форуме, но связь с ponyprog не нашел.

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

trembo пишет:

Если нужно с программой типа понипрог- готовые варианты:

http://www.ebay.com/itm/24-25-series-EEPROM-Flash-BIOS-USB-Programmer-CH341A-with-Software-driver-/251369833299?hash=item3a86cf4353

http://www.ebay.com/itm/USB-Programmer-CH341A-Series-Burner-Chip-24-EEPROM-BIOS-LCD-Writer-25-SPI-Flash-/381311945396?hash=item58c7f68ab4

Или кто-то делал автономный с карточкой и ЛЦД 5110.... но без  софта. Хексы грузить

Спасибо, тоже как вариант.

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011
Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

Это конечно хорошо, с готовыми программаторами будет точно работать.

Но хотелось бы как то без них обойтись, а с помощью Arduino. Но все равно, спасибо. 

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

........ Надо подключить eeprom к Arduino и считать / записать данные с помощью программы в роде PonyProg и т.д.......
 

Программу "вроде понипрог"  я вам  подсказал.....

Прочитать и загнать в сериал, допустим, вы сможете......
А дальше что?
ПишИте свой софт по приёму всего этого, обработке и закидыванию обратно.....
При чём тут понипрог?
Его поддержка окончилась туеву хучу лет назад....
 

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

Думал есть возможность без вывода в сериал.

Недавно прошивал HEX фафл на ATmega 163 через Ponyprog. Использовал Arduino Nano как программатор.

Как я понял напрямую подключить не получиться. 

Надо или паять переходник и искать COM порт или выводить в сериал и как то обрабатывать.

Клапауций 999
Offline
Зарегистрирован: 06.06.2015

Zhigalo_Alexey пишет:

Недавно прошивал HEX фафл на ATmega 163 через Ponyprog. Использовал Arduino Nano как программатор.

ну, используй нано как программатор неведомой хрени, которую ты из картриджа принтера вытащил.

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

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

Клапауций 999 пишет:

Zhigalo_Alexey пишет:

Недавно прошивал HEX фафл на ATmega 163 через Ponyprog. Использовал Arduino Nano как программатор.

ну, используй нано как программатор неведомой хрени, которую ты из картриджа принтера вытащил.

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

Все бы хорошо, но так и не удалось считать данные с чипа картриджа.

 

Клапауций 999
Offline
Зарегистрирован: 06.06.2015

Zhigalo_Alexey пишет:

Все бы хорошо, но так и не удалось считать данные с чипа картриджа.

ты хоть одним из предложенных выше способов пробовал подключать и считывать?

или тебе не удалось по причине бездействия?

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

Клапауций 999 пишет:

Zhigalo_Alexey пишет:

Все бы хорошо, но так и не удалось считать данные с чипа картриджа.

ты хоть одним из предложенных выше способов пробовал подключать и считывать?

или тебе не удалось по причине бездействия?

Подключил чип к 1-4 (SDA) и 3-5 (SCL)  2- 5v  4 - gnd.

Выводил в сериал. Но получил в ответ одно 255.

 

 

Клапауций 999
Offline
Зарегистрирован: 06.06.2015

Zhigalo_Alexey пишет:

Подключил чип к 1-4 (SDA) и 3-5 (SCL)  2- 5v  4 - gnd.

Выводил в сериал. Но получил в ответ одно 255.

чип точно рассчитан на напряжение питания 5V?

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

Клапауций 999 пишет:

Zhigalo_Alexey пишет:

Подключил чип к 1-4 (SDA) и 3-5 (SCL)  2- 5v  4 - gnd.

Выводил в сериал. Но получил в ответ одно 255.

чип точно рассчитан на напряжение питания 5V?

Если верить сайту (http://www.startcopy.ru/repair/hpbij.htm)

"Для работы с чипом используется любой программатор для I2C. Питание чипа Vcc = +5В."

 

Клапауций 999
Offline
Зарегистрирован: 06.06.2015

Zhigalo_Alexey пишет:

"Для работы с чипом используется любой программатор для I2C. Питание чипа Vcc = +5В."

ок. и почему оно любым программатором читается, а дуиной не читается - заколдовано против ползания дуиной?

Клапауций 999
Offline
Зарегистрирован: 06.06.2015

так пробовал?

/*
 * EEPROM Read
 *
 * Reads the value of each byte of the EEPROM and prints it 
 * to the computer.
 * This example code is in the public domain.
 */

#include <EEPROM.h>

// start reading from the first byte (address 0) of the EEPROM
int address = 0;
byte value;

void setup()
{
  // initialize serial and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }
}

void loop()
{
  // read a byte from the current address of the EEPROM
  value = EEPROM.read(address);
  
  Serial.print(address);
  Serial.print("\t");
  Serial.print(value, DEC);
  Serial.println();
  
  // advance to the next address of the EEPROM
  address = address + 1;
  
  // there are only 512 bytes of EEPROM, from 0 to 511, so if we're
  // on address 512, wrap around to address 0
  if (address == 512)
    address = 0;
    
  delay(500);
}

 

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

Клапауций 999 пишет:

Zhigalo_Alexey пишет:

"Для работы с чипом используется любой программатор для I2C. Питание чипа Vcc = +5В."

ок. и почему оно любым программатором читается, а дуиной не читается - заколдовано против ползания дуиной?

Знаешь, если бы я считал или записал хоть каким то образом, то я на этом форуме не создавал эту тему.

На то оно и форумы.

Клапауций 999
Offline
Зарегистрирован: 06.06.2015

Zhigalo_Alexey пишет:

На то оно и форумы.

ок.

bwn
Offline
Зарегистрирован: 25.08.2014

Нигде не нашел, резисторы к SDA SCL подвесили? И поюзать чем-нибудь типа I2C сканера, на предмет считывания адреса.

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

bwn пишет:

Нигде не нашел, резисторы к SDA SCL подвесили? И поюзать чем-нибудь типа I2C сканера, на предмет считывания адреса.

С начала про резисторы забыл, сейчас подключил к SDA SCL резисторы 2k.

Залил код:

#include <Wire.h>
 
void setup()
 {
   Wire.begin();
 
  Serial.begin(115200);
   Serial.println("\nI2C Scanner");
 }
 
void loop()
 {
   byte error, address;
   int nDevices;
 
  Serial.println("Scanning...");
 
  nDevices = 0;
   for(address = 0; address <= 127; address++ )
  {
     // The i2c_scanner uses the return value of
     // the Write.endTransmisstion to see if
     // a device did acknowledge to the address.
     Wire.beginTransmission(address);
     error = Wire.endTransmission();
 
    if (error == 0)
     {
       Serial.print("I2C device found at address 0x");
       if (address<16)
        Serial.print("0");
       Serial.print(address,HEX);
       Serial.println(" !");
 
      nDevices++;
     }
     else if (error==4)
    {
       Serial.print("Unknow error at address 0x");
       if (address<16)
        Serial.print("0");
       Serial.println(address,HEX);
     }
   }
   if (nDevices == 0)
     Serial.println("No I2C devices found\n");
   else
     Serial.println("done\n");
 
  delay(500);           // wait 8 seconds for next scan
 }

Но выводило только "No I2C devices found\n".

bwn
Offline
Зарегистрирован: 25.08.2014

Ройте подключение, может местами перепутали. Резисторы, классика 4к7, но при 2к должно работать.

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

bwn пишет:

Ройте подключение, может местами перепутали. Резисторы, классика 4к7, но при 2к должно работать.

SDA и SCL менял местами, но толку никакого...

bwn
Offline
Зарегистрирован: 25.08.2014

А попробуйте SDA на А4, SCL на А5. Могу ошибаться, но выводы у нее должны быть аналогичны UNO.

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

bwn пишет:

А попробуйте SDA на А4, SCL на А5. Могу ошибаться, но выводы у нее должны быть аналогичны UNO.

Подключал к D4 и D5  не работало, потом подключил к A4 и A5, заработало.

На картинке не верно указано SDA SCL.

После правильного подключения выводит 

Scanning...
I2C device found at address 0x31 !
done

Спасибо.