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

Помогите определить протокол

Ремонтирую устройство мониторинга температуры. Используются датчики DS18В20. Есть главная плата, которая опрашивает шесть мелких плат к которым подключены датчики, к каждой по 48шт.  Связаны они все по трем проводам - общий, 5В и дата. Мне нужно заменить одну из плат, написав свое по. Но не пойму, что это за протокол?

image.thumb.png.e044246034f24d1f40c4f74a957cd91d.png

Обмен полностью

image.thumb.png.c113e78da7aebe858982bff9f104ff12.png

Мелкие платы собраны на PIC16C509A. 

Файл обмена для saleae logic 2 down_up.sal

Поделиться сообщением


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

так если DS18x20 то one wire. Все описано в документации на DS18. Напрягает наличие нескольких DS на шине. Я работал с единственным датчиком на шине. Если есть желание сажать несколько датчиков и при этом точно знать какой из них какой - отдельная задача. На мой взгляд, проще она решается опросом на столе микросхем по одной,  вычитыванием из них адреса и потом в гирлянду впаиваем датчики зная какой из датчиков где находится.

Поделиться сообщением


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

У протокола 1wire описана методика определения адресов датчиков при нескольких датчика на шине, так что это не проблема

Поделиться сообщением


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

5 часов назад, EdgeAligned сказал:

У протокола 1wire описана методика определения адресов датчиков при нескольких датчика на шине, так что это не проблема

Только этот протокол не дает инфы о пространственной установке датчика в гирлянде.

В свое время после запайки гирлянды активировал спец режим в софте "ПРИВЯЗКА".

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

Поделиться сообщением


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

Канал 0 это не 1wire. На первом скрине посмотрите, там нет presense импульса, да и программа анализатора logic2 не определяет его как 1-wire. Датчики я  проверил, в двух гирляндах, а там их 4 по 12 датчиков, есть ошибки чтения crc с некоторых датчиков, причем стабильно с одних и тех же. Родное по зависает на этом и вешает весь обмен.  Я хочу написать свое, где исключу эти датчики. Почти написал, все уперлось в то, что не могу понять что за протокол между главной платой и платами опроса датчиков.

После подачи питания, главная плата отправляет запрос на шину, в программе везде стоит декодирование 1-wire, на канале 0, что то другое, но не 1-wire

Канал 0.

image.thumb.png.29a66b8d698d8fa0db19324d12067be5.png

после запроса, плата датчиков начинает опрос датчиков

image.thumb.png.96a068e0d7c2e09fdb3700e5871234bc.png

Пробовал канал0 декодировать как UART, (один провод по типу rs485 принял - ответил) но на стандартных BAUDRATE везде ошибки кадра.

Какой еще есть распространённый протокол по одному проводу?

Поделиться сообщением


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

6 hours ago, EdgeAligned said:

У протокола 1wire описана методика определения адресов датчиков при нескольких датчика на шине, так что это не проблема

проблема в том:где какой физически расположен, так что, это - бесполезно.

Поделиться сообщением


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

3 часа назад, firstvald сказал:

проблема в том:где какой физически расположен, так что, это - бесполезно.

У каждого устр-ва 1 wire есть свой уникальный ИД, в чем проблема привязать его к физ расположению? Или он должен gps-координаты выдавать?)))))))

Поделиться сообщением


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

3 часа назад, _Diman_ сказал:

image.thumb.png.29a66b8d698d8fa0db19324d12067be5.png

Какой еще есть распространённый протокол по одному проводу?

Судя по внешнему виду - обычный ШИМ-протокол.

Поделиться сообщением


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

16 минут назад, mantech сказал:

в чем проблема привязать его к физ расположению?

К устройству подключена гирлянда из 200 датчиков, общий метраж гирлянды 200 метров (датчики через каждый метр).

Датчики впаиваются неразъемно, с завода идет сразу длинная бухта кабеля с одним разъемом на конце.

Ну так и мы просим рассказать нам, в чем же проблема привязок?

Проблема отнюдь не SEARCH ROM.

Поделиться сообщением


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

1 час назад, Arlleex сказал:

Датчики впаиваются неразъемно, с завода идет сразу длинная бухта кабеля с одним разъемом на конце.

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

Заодним и протестируется))))))))

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

Поделиться сообщением


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

есть протокол sent/ но не знаю,  неужели этот ужос тут всплыл

 

ну и если лог анализатор может поопознавать реализацию, может сможет что- то сказать насчет, не can ли это. вообще- то: где это стояло может пролить свет.

Поделиться сообщением


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

Определение местоположения решается одним студентом с полным чайником кипятка 🙂

Поделиться сообщением


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

В 30.09.2023 в 00:21, _Diman_ сказал:

Ремонтирую устройство мониторинга температуры. Используются датчики DS18В20.

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

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

Или еще лучше сделать эмулятор датчика и прогнать последовательный ряд цифр.

Поделиться сообщением


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

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

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

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

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

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

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

×
×
  • Создать...