Страница 1 из 1

Декодирование сигнала

Добавлено: Вт авг 11, 2026 00:16:22
ben_ln
Котам привет!

Возник интересный вопрос. Имеется контроллер, опрашивающий датчики по двухпроводной линии. Физическая реализация интерфейса нестандартная, длинна более км. Датчики, в данном случае, температуры и влажности, адресные, имеют 2-х байтный ID. Есть необходимость понять протокол обмена. Контроллер через PIC18F14K50 посылает запрос датчику, ждёт ответа. На компе (через преобразователь RS-485) на специальной программе видим ответ датчика, т.е. система работает. На пике вывод 12 формирует запрос (формирователь интерфейса пока не рассматриваем), на вывод 10 приходит эхо запроса и ответ датчика(ов). Это логично, эти выводы как раз EUSART. Скрин с лог. анализатора, вывод 10:
adr_0.jpeg
(45.96 КБ) 20 скачиваний
Здесь опрос датчика с адресом "0" и его ответ. Вроде чётко вначале виден адрес.
Здесь другой датчик, адрес "2":
adr_2.jpeg
(42 КБ) 9 скачиваний
Адрес "4":
adr_4.jpeg
(41.62 КБ) 6 скачиваний
Видно, что "нулевой" датчик отвечает контроллеру тот же код, а вот "второй" и "четвёртый" уже по другому.
Реакция датчика на нажатие кнопки присутствия:
adr_0_knopka.jpeg
(41.1 КБ) 10 скачиваний
И сам ответ со значением температуры и влажности:
adr_0_opros.jpeg
(41.41 КБ) 8 скачиваний
А теперь вопросы... Код похож на Мачестер? Или что-то другое? Как расшифровать?
Буду благодарен за советы, если что надо замерить, выложу.

Re: Декодирование сигнала

Добавлено: Вт авг 11, 2026 08:13:31
HardWareMan
1 wire?
Изображение

Re: Декодирование сигнала

Добавлено: Вт авг 11, 2026 17:31:45
ben_ln
1 Wire тоже предполагал, благо 18b20 знаком хорошо! Но начиная с импульса Reset - 480-1000 мкс он отпадает.

Re: Декодирование сигнала

Добавлено: Вт авг 11, 2026 18:11:41
Родэрик
если есть "необходимость понять протокол", то почему бы просто не почитать документы по этим датчикам ...

Re: Декодирование сигнала

Добавлено: Вт авг 11, 2026 19:52:43
HardWareMan
ben_ln писал(а): Вт авг 11, 2026 17:31:45 1 Wire тоже предполагал, благо 18b20 знаком хорошо! Но начиная с импульса Reset - 480-1000 мкс он отпадает.
1 wire физически работает на 1 линии да ещё и с фантомным питанием. Поэтому, ему требуются такие времянки. А у вас дифпара на RS485. Поэтому, времянки можно сократить.
ben_ln писал(а): Вт авг 11, 2026 00:16:22 Код похож на Мачестер?
Абсолютно не похож. У манчестера не могут формироваться импульсы скважностью 1/3, а у вас начальная посылка от старта практически вся такая. Похоже, вам придётся прислушаться к предыдущему оратору и покурить буквари на датчики.

Re: Декодирование сигнала

Добавлено: Вт авг 11, 2026 20:09:41
ben_ln
Родэрик писал(а): Вт авг 11, 2026 18:11:41 если есть "необходимость понять протокол", то почему бы просто не почитать документы по этим датчикам ...
Кто же будет расписывать свой протокол обмена?

Re: Декодирование сигнала

Добавлено: Вт авг 11, 2026 20:41:06
BOB51
У всех официальных производителей протоколы для своих компонентов обязательно описаны. Или в даташитах непосредственно или в специальных апнотах/юзерс гвидах... (иначе их изделия никто покупать / использовать не будет :wink: )
Есть и отдельно созданные протоколы - их описание надо в общепринятых стандартах искать.
Кроме прочего может быть и "самодеятельность" производителя техники - то уже к производителю обращаться надо будет.
8)
Найдите наименование датчика и по его документации определите протокол (физический и логический уровни).
Как вариант "шаманского гадания" - DHT11 или DHT22/AM2302 (но у них "в чистом виде" нет понятия про "адрес").
:wink:

Re: Декодирование сигнала

Добавлено: Вт авг 11, 2026 20:45:53
ben_ln
HardWareMan писал(а): Вт авг 11, 2026 19:52:43
1 wire физически работает на 1 линии да ещё и с фантомным питанием. Поэтому, ему требуются такие времянки. А у вас дифпара на RS485. Поэтому, времянки можно сократить.
Физически интерфейс реализован на рассыпухе и на 485-й не похож:
1.pdf
(22.78 КБ) 3 скачивания
Тут тоже фантомное питание.
HardWareMan писал(а): Вт авг 11, 2026 19:52:43 Абсолютно не похож. У манчестера не могут формироваться импульсы скважностью 1/3, а у вас начальная посылка от старта практически вся такая. Похоже, вам придётся прислушаться к предыдущему оратору и покурить буквари на датчики.
Про Манчестер я подумал на код после адреса. Очень странная кодировка, слишком много повторяющихся "нулей" и "единиц". Я в них не силён, может быть есть какой-нибудь стандартный способ зашифровать посылку? Или это всё же защита от помех?
Документации нет... Это весьма нестандартная заказная система.

Re: Декодирование сигнала

Добавлено: Вт авг 11, 2026 20:55:42
ben_ln
BOB51 писал(а): Вт авг 11, 2026 20:41:06 У всех официальных производителей протоколы для своих компонентов обязательно описаны. Или в даташитах непосредственно или в специальных апнотах/юзерс гвидах... (иначе их изделия никто покупать / использовать не будет :wink: )
Есть и отдельно созданные протоколы - их описание надо в общепринятых стандартах искать.
Кроме прочего может быть и "самодеятельность" производителя техники - то уже к производителю обращаться надо будет.
8)
Найдите наименование датчика и по его документации определите протокол (физический и логический уровни).
Как вариант "шаманского гадания" - DHT11 или DHT22/AM2302 (но у них "в чистом виде" нет понятия про "адрес").
:wink:
Это не датчики в чистом виде, это отдельные устройства со своими сенсорами и МК. Их несколько видов, но интерфейс и протокол один. Производитель соорудил некоторую единичную, хотя и немаленькую партию. Документации нет и не будет. У меня оказалось некоторое количество этих датчиков и я хочу найти им применение.
Цель - считать температуру и влажность. Считать получилось, расшифровать пока нет...

Re: Декодирование сигнала

Добавлено: Вт авг 11, 2026 21:08:48
BOB51
Тогда только считывание и анализ программы в МК (или написать свою прожку под установленные датчики да транспортный протокол взамен имеющейся в устройстве).
8)

Re: Декодирование сигнала

Добавлено: Вт авг 11, 2026 22:07:42
ben_ln
BOB51 писал(а): Вт авг 11, 2026 21:08:48 Тогда только считывание и анализ программы в МК (или написать свою прожку под установленные датчики да транспортный протокол взамен имеющейся в устройстве).
8)
Если бы биты защиты не стояли, я бы сюда не писал...
Под каждый вид датчика придётся писать свою прогу.