Перейти к содержанию

Как считать и запрограмировать ds18b20?


Рекомендуемые сообщения

20 hours ago, miste-sm said:

в каком направлении копать.

Может это поможет.

Избегайте тех, кто старается подорвать вашу веру в себя. Эта черта свойственна мелким людям. Великий человек, наоборот, внушает чувство, что вы можете стать великим. (Марк Твен)

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Спасибо, не помогло. Этот чип не с картриджа  принтера,  а с датчика уровня на базе TLE5011.  Пользуюсь программатором  Pr1WireVJ, без проблем  читает и записывает чип.  Мне  бы с дампом прошивки как-то разобраться. Каждый раз при включении устройства в чип записывается информация. В устройстве используется микроконтроллер AT91SAM7X256, считать прошивку МК невозможно, он защищён от копирования. Доступная только информация с самого чипа DS2431, возможно ли её расшифровать, чтобы понять какие данные записываются. 

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

58 минут назад, miste-sm сказал:

возможно ли её расшифровать, чтобы понять какие данные записываются

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

Хотя нет, ошибся малость....

В даташите:

Скрытый текст

As a special feature, the four memory pages can individually be write protected or put in EPROM-emulation mode, where bits can only be changed from a 1 to a 0 state. The DS2431 communicates over the single-conductor 1-Wire bus. The communication follows the standard 1-Wire protocol. Each device has its own unalterable and unique 64-bit ROM registration number that is factory lasered into the chip. The registration number is used to address the device in a multidrop, 1-Wire net environment.

Гугло-перевод:

Скрытый текст

Как особая особенность, четыре
страницы памяти могут индивидуально защищаться от записи или
поместить в режим эмуляции EPROM, где биты могут быть только
изменено с 1 на 0. DS2431 сообщает
по однопроводной шине 1-Wire. Связи
следует стандартному протоколу 1-Wire. каждый
устройство имеет свой собственный неизменный и уникальный 64-разрядный ПЗУ
регистрационный номер, который заправлен в заводскую установку.
Регистрационный номер используется для адресации устройства в
многопроходная, 1-проводная сетевая среда.

Навряд ли в микроконтроллер прописаны все номера "подходящих" чипов...

Изменено пользователем DedLogoped

Улыбнись! Завтра будет ещё хуже...

@Borodach - мудератор.

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Да, я пробовал сравнивать в HEX-редакторе содержимое  прошивок сделанных в разное время, но отсутствие определённых знаний не позволяет понять закономерность. Просмотр процесса обмена по шине 1-Wire анализатором логики подтверждает то, что МК считывает серийник чипа и сравнивает с контрольной сумой, при ошибке контрольной суммы датчик не распознаётся. Вот бы выяснить по какому алгоритму она вычисляется. К примеру чип с с/н  2D4C0A4D010000B4 определяется устройством как 14D0A4C.  Я тоже сомневаюсь что в память МК записаны  все номера "подходящих" чипов.

Изменено пользователем miste-sm
Ссылка на комментарий
Поделиться на другие сайты

4 часа назад, miste-sm сказал:

Вот бы выяснить по какому алгоритму она вычисляется

Вполне возможно, что производитель сделал некую защиту от "чужих" мастеров, типа при первом включении микроконтроллер записывает "в себя" номер подключённого чипа и в дальнейшем работает только с ним... Боюсь что без прошивки микроконтроллера не обойтись...

Улыбнись! Завтра будет ещё хуже...

@Borodach - мудератор.

Ссылка на комментарий
Поделиться на другие сайты

13 hours ago, miste-sm said:

МК считывает серийник чипа и сравнивает с контрольной сумой, при ошибке контрольной суммы датчик не распознаётся

Серийный номер записан вместе с контрольной суммой. В вашем примере 2D4C0A4D010000B4 - 2D тип устройства, B4 контрольная сумма.

13 hours ago, miste-sm said:

2D4C0A4D010000B4 определяется устройством как 14D0A4C

Если посмотреть внимательно 2D4C0A4D010000B4 и 014D0A4C это одно и тоже только перестановлены байты.

Ссылка на комментарий
Поделиться на другие сайты

11 час назад, DedLogoped сказал:

микроконтроллер записывает "в себя" номер подключённого чипа и в дальнейшем работает только с ним..

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

Тогда я считываю прошивку с рабочего датчика и записываю в новый, только купленный чип - возникает ошибка в идентификации чипа. Ставлю датчик с "родным" чипом, всё работает. Думаю, что весь "секрет" в прошивке,  данные в ней связаны с серийником чипа, поэтому прошивка на чипе с другим серийником не будет рабочей. Как бы найти те значения в чипе где есть привязка к серийному номеру?

2 часа назад, snn_krs сказал:

2D4C0A4D010000B4 и 014D0A4C это одно и тоже

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

Вот если посмотреть на два дампа с чипа с одним серийником считанных в разное время, то видно отличие в прошивке. Запись в чип происходит каждый раз при идентификации датчика при включении устройства. Понять бы эту закономерность и вопрос может быть решён, но моих знаний недостаточно, поэтому и обращаюсь к профессионалам, чтобы услышать их мнение.

sensor_А2.bin

sensor_А3.bin

Изменено пользователем miste-sm
уточнение
Ссылка на комментарий
Поделиться на другие сайты

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

Ссылка на комментарий
Поделиться на другие сайты

Прошивки ещё с одного чипа, сделанные с разницей в пол-года. Общие только первые 8 байт, дальше совсем разные данные. В предыдущей прошивке были ещё совпадения по адресу:  0016h...001Bh  и  0056h...005Bh. Я не увидел что последние 32 байта, это одна страница EEPROM, одинаковые в обеих прошивках, как сказал  

В 20.05.2018 в 13:56, snn_krs сказал:

последние 32 байта в обеих файлах одинаковы

Поправьте меня, если я ошибаюсь.

анализ_sensor_B.jpg

Ссылка на комментарий
Поделиться на другие сайты

Память 128 байт, 4 страницы по 32 байта. Первые 8 байт в первой и второй страницах одинаковае для датчика. Третья страница полностью совпадает. Последняя строка ( 090 ) везде начинается на 2D, а это как раз тип памяти.

Возможно в последней строке и есть закодированный серийный код памяти. Нужно считывать и сравнивать серийные коды чипов и прошивки. Может быть что и вылезет.

Скачал описание на программатор, может будет интересно, там упоминается этот чип ProgDSQ8.pdf

Ссылка на комментарий
Поделиться на другие сайты

Спасибо за ссылку. Я пытался пользоваться софтом 1-Wire Devices, но у меня не получилось им записать чип, только мог считать прошивку. Потом я нашёл другой софт  http://lapatushka.com/ , который пишет в чип, но он платный. Есть бесплатный софт для 1-Wire от производителя (Dallas Sem), тоже пишет чип, но им немного неудобно. Но вот  возможность записи в чип оказалась бессмысленной   из-за привязки к серийному номеру. 

Хочу ещё уточнить по третьей странице, возможно я не туда смотрю, объясните пожалуйста, ещё раз по адресам.

карта памяти.jpg

Изменено пользователем miste-sm
Ссылка на комментарий
Поделиться на другие сайты

Я ошибся в страницах. Строка 80 совпадает. Что такое байты 8E и 8F непонятно, но они записаны.

Clipboard078.jpg.918d917069671d51cfd3e3eb28347de1.jpg

Байты 8E и 8F для разных датчиков разные, возможно сюда они пишут что-то, возможно СRС-16 для серийного номера. Считайте серийные номера к этим прошивкам.

Ссылка на комментарий
Поделиться на другие сайты

Теперь всё стало на свои места. Я тоже обратил внимание на адреса 8Eh-8Fh, но как выяснилось позже, эти байты к данным в прошивке не имеют никакого отношения. К этой области нет обращения - проверено анализатором логики. Вообще эта область 88h -8Fh зарезервирована. Буду копать дальше.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...