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


