Функция tpms что это
Что такое TPMS в автомобиле и как работает система контроля давления в шинах
Каждый автомобилист знает, насколько важно поддерживать в шинах правильное давление. Причём оно должно соответствовать нормам для передних и задних колёс.
Если давление будет высоким, это негативно отразится на сцеплении с дорожным полотном, снизит уровень безопасности. Если давление будет ниже нормы, это приведёт к повышенному расходу топлива и преждевременному износу шин.
Раньше водителям приходилось иногда по несколько раз в неделю с помощью манометра ходить и проверять показатели давления в каждой покрышке. Некоторые игнорировали эту процедуру, а затем сталкивались с соответствующими неприятными последствиями. Постоянный контроль действительно утомляет.
Чтобы решить эту проблемы, инженеры разработали систему контроля давления в шинах. Изначально система, которая получила название TPMS (Tire Pressure Monitor System), была предназначена только для спецтранспорта, грузовых и военных автомобилей. Но в дальнейшем перешла и на гражданский автотранспорт.
Что это и как работает
Дословно TPMS можно перевести как система мониторинга давления в шинах. Это полностью раскрывает суть и функции этого датчика.
Военные и грузовые системы контроля ставили перед собой задачу максимально продлить работу техники в тяжёлых условиях. К ним можно отнести резкие температурные перепады, повышенные и экстремально низкие температуры, плохие дороги и пр.
Постепенно специалисты начали думать над возможностью использования системы контроля на обычных гражданских автомобилях. Вскоре появились первые автомобили с TPMS. Изначально датчики ставили только на дорогие автомобили в качестве дополнительной комплектации, дополняя системы слежения за слепыми зонами и автоматического торможения. Сейчас же датчики встречаются и на довольно бюджетных машинах.
Многих справедливо интересует, как же работает в машине TPMS и на чём основан её принцип работы. Когда в шинах меняется количество воздуха, также может меняться длина окружности покрышки, то есть ската. От этого потенциально увеличивается скорость, с которой вращается колесо. За этим процессом следит индикатор TPMS. Если параметры превышают установленную норму, поступает сигнал, включается специальная лампа, и водитель предупреждается о возможных неисправностях.
Уже сейчас существуют аналоги этой системы, предназначенные для работы совместно с Андроид-устройствами. Вся информация с датчиков поступает на смартфон или планшет пользователя.
По факту TPMS можно назвать достаточно простой электронной системой, которая работает по беспроводной технологии. Она следит за давлением в шинах и предупреждает автомобилиста, если происходит отклонение от нормы. Это альтернатива старым дедовским методам проверки, которая отличается повышенной точностью.
Если возникают какие-то серьёзные повреждения шин, об этом легко узнать безо всяких датчиков и систем контроля. Но вот уследить за постепенным спуском и небольшим дефектом колеса крайне сложно. Ощутить физически такие изменения тяжело. А если добавить к этому качество дорожного покрытия, то длительное время и вовсе всё будет казаться нормой.
Продолжая поездку на автомобиле со спускающим колесом, есть риск столкнуться с деформацией покрышки, а также с дальнейшим срывом резины с диска. А это уже прямая угроза для дорожно-транспортного происшествия. Если заглянуть в статистику аварий, то можно увидеть, насколько большой процент ДТП случается именно по причине внезапно лопнувшего колеса или слетевшей резины.
Понимая, что такое TPMS в современном автомобиле, возникает вопрос относительно целесообразности установки этого автомобильного шинного контроллера. Кто-то считает устройство бесполезным, и предпочитает ходить вокруг машины с манометром, проверяя давление в каждом колесе своими руками. Другие же называют датчик удобной и эффективной разработкой. Тут каждый сам делает для себя выводы.
Но не просто так система TPMS стала обязательной для каждого автомобиля, который выпускается в США и Европе.
Для чего устанавливается
Всего можно выделить несколько причин, из-за которых установка системы контроля является крайне актуальной, а сами автопроизводители начинают активно использовать эти датчики на своих автомобилях.
Если подводить итоги, можно сказать, что датчики контроля давления в покрышках способствуют предотвращению аварий, снижают износ шин и поддерживают экологию.
Некоторые модели датчиков дополнительно имеют функцию антивандального индикатора. При попытке несанкционированного демонтажа покрышек водитель сможет дистанционно об этом узнать. Но пока устройств с такой функцией немного.
Старый дедовский принцип проверки состояния покрышек постепенно уходит в прошлое. Но многие до сих пор с умным видом ходят вокруг своего автомобиля перед поездкой, поочерёдно пиная ногой колёса.
Вряд ли этот метод можно назвать эффективным. Когда-то он действительно позволял получить ответы на вопросы о состоянии шин. Но сейчас структура у колёс другая, потому визуально или методом пинка по покрышке определить степень её плотности практически невозможно.
Старый дедовский метод может дать понять только то, что колесо слишком перекачено, либо спущено значительно ниже нормы. Но на ситуацию это никак не влияет, поскольку даже при незначительных отклонениях от оптимальных показателей возникают негативные последствия. Машина теряет качество сцепления с дорожным полотном, нарушается управляемость, снижается комфорт и повышается уровень потребления топлива двигателем. Плюс в дальнейшем придётся чаще посещать автозаправочные станции и СТО для замены колёс и ремонта изношенной подвески.
Установленная на автомобиль универсальная система контроля давления в шинах, известная как TPMS, является отличным помощником для каждого водителя. С её помощью можно не только повысить комфорт и экологичность. Всё же главным преимуществом стоит называть повышение уровня безопасности. Ведь тот же медленный прокол таит в себе большую угрозу. А поскольку человеку сложно его вовремя заметить, эти функции берёт на себя система контроля TPMS.
Разновидности
На отечественном рынке представлено пока не так много датчиков для контроля давления в шинах автотранспортных средств. Но постепенно ассортимент увеличивается.
Можно выделить несколько основных видов TPMS, которые доступны в продаже и могут быть установлены на собственный автомобиль.
В зависимости от принципа установки выделяют 2 типа датчиков.
Также TPMS классифицируют по способу определения параметров шин. В итоге различают несколько групп.
Есть ещё более продвинутые системы. Здесь вся информация передаётся на смартфон пользователя. Для этого устанавливается специальное программное обеспечение, связанное с установленными датчиками в колёсах.
Прямой и косвенный контроль
TPMS может функционировать по системе прямого и косвенного контроля параметров шин.
Более простым вариантом считается косвенный контроль. Устроен он не сложно. Смысл в том, что даже при незначительном отклонении от нормы давления диаметр покрышки уменьшается. Тогда за одно вращение колесо преодолевает меньшее расстояние. Система анализирует это, собирает информацию и передаёт сигнал водителю при несоответствии стандартным характеристикам.
Преимущества косвенного контроля в том, что самое устройство более простое, откуда вытекает небольшая стоимость. При этом со своими задачами контроля за давлением система справляется отлично.
У прямого контроля показатели более точные. Эта система делает замеры отдельно для каждой покрышки. При прямом мониторинге индикаторы устанавливаются на вентиль, где и происходят измерения рабочих параметров. Далее они передаются на блок управления. Передача данных происходит за счёт наличия в TPMS специальной антенны.
Настройка
Покупая автомобиль, на котором установлена эта система контроля давления в покрышках, нельзя просто так начать эксплуатацию. Хотя датчики следят за шинами, сам водитель также должен следить за работой самих датчиков.
Это вовсе не означает, что теперь каждый день вместо ходьбы с манометром вокруг автомобиля придётся проводить какие-то манипуляции с контроллером. Речь идёт лишь о периодической калибровке.
Сейчас достаточно большое количество машин завозится из Европы и США. При этом для экономии места в контейнерах колёса демонтируются и складываются отдельно. Параллельно отключается аккумуляторная батарея. Подобные манипуляции порой необходимые, но из-за них происходят некоторые сбои.
Если машина с TPMS приходит в подобном состоянии, нужно обязательно откалибровать контроллеры, чтобы они смогли полноценно выполнять поставленные перед ними задачи.
В калибровке нет ничего сложного. Важно только помнить, что для каждого колеса, устанавливаемого на конкретную марку и модель автомобиля, производитель даёт чёткие рекомендации касательно оптимального давления в летний и зимний период. Именно эти значения нужно задать датчику.
Монтаж и настройка выполняются в зависимости от того, с каким именно контроллером вы имеете дело.
Калибровка, то есть настройка для TPMS нужна после каждого вмешательства. Она проводится после замены покрышек, их ремонта, балансировки и пр.
Иногда возникает необходимость в сбросе настроек.
Чтобы выполнить сброс заданных параметров, проводятся следующие манипуляции:
Ничего сложного в работе с контроллерами TPMS нет. Автомобилисту нужно лишь внимательно изучить инструкции изготовителя, а также строго следовать рекомендациям своего автопроизводителя относительно оптимального давления в покрышках.
Основные преимущества
Можно выделить несколько главных достоинств, которыми характеризуются все системы контроля давления в автомобильных шинах, вне зависимости от их типа или способа установки.
Можно выделить ещё целый ряд достоинств, но достаточно будет остановиться на перечисленных. Это являются ключевыми для систем контроля за давлением в шинах автомобиля, и полностью отображают суть TPMS.
Польза от TPMS действительно огромная. Ещё в 2008 году в США, где провели тщательный анализ количества дорожно-транспортных происшествий и ужаснулись результатами, было принято решение сделать систему контроля обязательной для всех машин. Каждый автомобиль, выпускаемый в США, уже 10 лет даже в базовой комплектации идёт с датчиками контроля.
В Европе также задумались над вопросом внедрения обязательного требования к автопроизводителям относительно установки контроллеров. Но произошло это только в 2014 году. Все автомобили, которые выпускаются после принятого постановления, также обязательно идут с предустановленными датчиками контроля давления в покрышках.
Нужно только не забывать, что никакие электронные системы, датчики и контроллеры не снимают ответственности с самого водителя. Он обязан придерживаться всех правил и требований для обеспечения безопасной езды по дорогам общего пользования.
Даже если на вашей машине установлена самая современная система TPMS, не стоит забывать о периодической проверке давления стандартным способом. Хотя бы раз в месяц обойти все 4 колеса с манометром в руках никому не помешает.
Устройство и принцип работы системы контроля давления в шинах TPMS
Поддержание оптимального давления в шинах отражается на сцеплении с дорожной поверхностью, расходе топлива, управляемости и безопасности движения автомобиля в целом. Большинство водителей для проверки используют обычный манометр, но прогресс не стоит на месте и в современных автомобилях активно внедряется электронная система контроля давления в шинах TPMS. Например, в европейских странах и США она обязательна для всех транспортных средств. В России наличие системы TPMS стало обязательным требованиям при сертификации новых типов ТС с 2016 года.
Что такое система TPMS
Система контроля давления в шинах TPMS (Tire Pressure Monitor System) относится к активной безопасности автомобиля. Как и многие другие инновации она пришла из военной отрасли. Главная её задача – отслеживать давление в шинах и подавать сигнал предупреждения водителю при падении ниже порогового значения. Кажется, что давление в шинах не самый важный параметр в автомобиле, но это не так. В первую очередь – это безопасность вождения. К примеру, если давление в шинах с каждой стороны осей разное, то автомобиль будет уводить в сторону. В базовых комплектациях TPMS начала появляться с 2000 года. Также есть автономные системы мониторинга, которые можно купить и установить отдельно.
Виды систем контроля давления в шинах
Принципиально системы можно разделить на два вида: с прямым (direct) и косвенным (indirect) измерением.
Система косвенного измерения
Это система считается самой простой по принципу действия и реализуется при помощи ABS. Она в движении определяет радиус колеса и расстояние, которое оно проходит за один оборот. Датчики ABS сравнивают показатели от каждого колеса. Если есть изменения, то подается сигнал на приборную панель автомобиля. Идея заключается в том, что радиус и пройденное расстояние спущенного колеса будет отличаться от эталонного.
Плюсом такого типа TPMS является отсутствие дополнительных элементов и приемлемая стоимость. Также в сервисе можно настроить начальные параметры давления, от которого будут измеряться отклонения. Минусом являются ограниченные функции. Нельзя измерить давление до начала движения, температуру. Отклонение от реальных данных может составлять около 30%.
Система прямого измерения
Данный тип TPMS наиболее актуальный и точный. Давление в каждой шине измеряется специальным датчиком.
В стандартный набор системы входят:
Датчики передают сигнал о температуре и состоянии давления в шинах. Приемная антенна передает сигнал в блок управления. Приемники устанавливаются в колесных арках автомобиля, на каждое колесо свой.
Существуют системы, в которых отсутствуют приемники сигнала и колесные датчики связываются непосредственно с блоком управления. В таких системах датчики необходимо “прописывать” в блок, чтобы он понимал в каком колесе появилась проблема.
Информация для водителя может выводиться разными способами. В более дешевых вариантах вместо дисплея загорается индикатор, сигнализирующий о неполадках. Как правило, он не указывает в каком именно колесе проблема. В случае вывода данных на дисплей можно получать информацию о температуре и давлении для каждого колеса отдельно.
Датчики давления и их разновидности
Ключевыми компонентами системы являются датчики. Это сложные устройства. В их состав входят: передающая антенна, аккумулятор, сам датчик давления и температуры. Такое устройство контролеров у более продвинутых систем, но есть и проще.
По своему устройству и способу монтажа различают датчики:
Механические датчики самые простые и стоят недорого. Они вкручиваются вместо колпачка. Давление в шинах смещает колпачок на определенный уровень. Зеленый цвет внешнего клапана показывает нормальное давление, желтый – требуется подкачка, красный – низкий уровень. Такие датчики не показывают точных цифр, также их часто просто скручивают. Давление по ним в движении определить невозможно. Сделать это можно только визуально.
Внешние электронные датчики также накручиваются на вентиль, но передают непрерывный сигнал с определенной частотой о состоянии давления на дисплей, индикатор или смартфон. Их недостатком является подверженность к механическим повреждениям во время движения и доступность для воришек.
Внутренние электронные датчики давления устанавливаются внутри диска и совмещены с колесными вентилями. Вся электронная начинка, антенна и батарея прячутся внутри колеса. С внешней стороны накручивается обычный вентиль. Минусом является сложность монтажа. Для их установки нужно бортировать каждое колесо. Ресурса аккумулятора датчика как внутреннего, так и внешнего, обычно хватает на 7-10 лет. После нужно произвести замену.
Если у вас установлены датчики давления в колесах – обязательно предупредите об этом мастера шиномонтажа. В большинстве случаев их срезают при замене резины.
Преимущества и недостатки системы
Можно выделить следующие преимущества:
В зависимости от вида системы, у неё есть и определенные минусы:
Возможные неисправности TPMS
Основными причинами неисправности датчиков TPMS может быть:
Также при замене одного из встроенных датчиков на другой система может конфликтовать и выдавать сигнал об ошибке. В Европе стандартная радиочастота для датчиков 433 МГц, а в США – 315 МГц.
Если один из датчиков вышел из строя, то может помочь перепрограммирование системы. Уровень срабатывания неработающего датчика ставится на нулевой. Не во всех системах это доступно.
Система TPMS может выдавать два индикатора ошибки на приборной панели: надпись “TPMS” и “шина с восклицательным знаком”. Принципиально важно понимать, что в первом случае неисправность связана с работой самой системы (блок управления, датчики), а во втором с давлением в шинах (недостаточный уровень).
В продвинутых системах каждый контроллер имеет свой уникальный идентификационный код. Как правило, они идут в заводской комплектации. При их калибровке нужно соблюдать определенную последовательность, например, передние левый и правый, затем задние правый и левый. Настроить такие датчики самому бывает трудно и лучше обратиться к специалистам.
Исследование протокола системы контроля давления воздуха в шинах автомобиля (TPMS)
Система дистанционного контроля давления воздуха в шинах автомобиля (англ. аббревиатура TPMS — Tyre Pressure Monitoring System) предназначена для оперативного информирования пользователя о снижении давления в шинах и о критической температуре шин.
Датчики имеют внутреннее или внешнее исполнение. Внутренние устанавливаются внутрь покрышки бескамерного колеса, внешние навинчиваются на штуцер колеса. Колесо с внутренним датчиком на внешний вид совершенно идентично колесу без датчика. Такое колесо просто накачивать. Внешний датчик заметен, его можно украсть и при накачивании колеса его надо предварительно открутить. Также он подвергается влиянию атмосферных явлений.
Исследовать протокол работы системы TPMS меня побудила идея установить такую систему на детскую коляску для оперативного слежения за давлением в шинах.
Рис.1. Внешний вид системы TPMS
Рис.2. Плата контроллера системы TPMS
Просто так установить штатный приемный блок не было возможности, так как минимальное допустимое значение давления у него 1.1 Bar, а в детской коляске меньше. Поэтому модуль постоянно пищит, информируя о низком давлении в шинах. Почитать про разработку контроллера для «Умной» детской коляски «Максимка», в которой как раз и применены результаты исследования, можно в моей статье [1].
Сбор информации о работе TPMS начал с поиска статей в Интернет. Но, к сожалению, информации мало. Да и она касается обычно штатных систем автомобилей, которые немного сложнее и много дороже. А мне надо было информацию о простой китайской дешевой системе. Какое-то минимальное понимание у меня сложилось, теперь надо было приступить к экспериментам.
Итак, вооружаемся USB-свистком DVB-тюнера, запускаем RTL-SDR и смотрим эфир. Датчики работают на частоте 433.92 МГц в модуляции FSK. Изначально я записывал эфир и потом вручную разбирал протокол. Тут начались сложности. Ранее сталкивался только с OOK-модуляцией. Там все просто. Здесь немного сложнее. Информация кодируется двумя частотами. Поэтому изучал примеры, теорию по модуляциям. Потом увидел как применяют программу URH-Universal Radio Hacker [2, 3]. Пробовал поставить, но на мою WinXP 32bit она не идет. Пришлось искать компьютер с win8 64bit и тогда программа установилась. Подробнее о ее работе можно почитать на сайте разработчика. URH-мне в чем-то облегчила процесс, т.к. она производит захват сигнала с эфира, отображает его осциллограммой и сразу декодирует в сырой цифровой вид как в двоичном, так и в hex-виде.
Рис.3. Screenshot программы с захваченным кадром посылки TPMS
Датчик шлет несколько посылок друг за другом за один сеанс. Период между сеансами может достигать минуты или даже более. Если случается тревожная ситуация, то датчик немедленно начинает слать пакеты данных. Звуковой файл посылки от датчика [8]. Пример одной посылки от датчика взятый из программы URH:
В шестнадцатиричном виде эта посылка примет вид:
Видно было что все 4 посылки за одну сессию имели одни и те же данные, а значит пакет принялся верно и можно приступать к его анализу.
На примере выше видно преамбулу (последовательность 01010101….), потом идут данные. Почитав Интернет, понимаем, что перед нами посылка, закодированная кодировкой Манчестер (G. E. Thomas). Каждый бит кодируется двумя битами 01 или 10. Я изначально кодировал вручную, тем самым, закрепляя теорию кодирования/декодирования. Но потом решил обратиться к онлайн декодировщику [4,5,6] что очень ускорило процесс.
Итак, декодировав исходную посылку от датчика кодом Манчестер, получим
Первые 136 нулей это преамбула, ее можно отбросить. Нас интересуют только данные.
Переведя их в шестнадцатиричный вид, получим: 0x15B937740C03971304AE
Это уже есть красивые исходные данные, в которых где-то кроется идентификатор, давление в шинах и температура.
Для дальнейшего исследования необходимо набрать статистику данных. Для этого я накрутил один датчик к колесу и захватывал эфир, параллельно записывая что показывает оригинальное табло системы. Спускал давление, накачивал, клал колесо в морозилку для отрицательной температуры, нагревал. Потом добивался тех же условий для другого датчика, чтобы выяснить байты температуры и давления.
Вся посылка занимает 10 байт. Если выстроить полученные декодированные данные в столбец, то видно постоянные данные и изменяющиеся.
На датчиках на корпусе имеется наклейки. На каждом датчике разные: 0A, 1B, 2C, 3D.
Стереотипность мышления тут сыграло не на пользу. Я подумал что это и есть ID-датчика.
Засомневался, почему ID занимает всего 1 байт, но потом забыл про это и пытался в потоке искать эти идентификаторы. Потом в меню оригинального приемника системы увидел что к этому приемнику можно привязывать другие датчики, а сам приемник показывает идентификатор датчика на каждом колесе. И, о чудо, обнаружил что датчик четвертого колеса имеет
Значит 3-й и 4-й байты посылки это идентификатор колеса. Сравнил с другими датчиками и также идентификаторы совпали с теми что отображает штатная панель.
1-й байт я посчитал за префикс начала данных, а 2-й байт как идентификатор подсистемы TPMS.
Ниже привел для сравнения посылки от разных датчиков.
15B9F3FA2300BE1B007B Датчик 0A > 15B91AA43201B71B002A Датчик 1B > 15B9ABFF32027B1B029B Датчик 2C > 15B937740C03971304AE Датчик 3D >
И понял что надписи на датчиках (0A, 1B, 2C, 3D) это всего лишь нумерация колес в цифровом виде и в буквенном, а не шестнадцатиричный идентификатор колеса. Но, тем не менее, 6-й байт в посылке очень сходится с порядковым номером датчика. Для себя сделал вывод что это идентификатор колеса. А значит, еще один байт декодирован.
Последний байт, скорее всего, контрольная сумма, которую пока не знаю как считать. Это для меня оставалось загадкой до последнего.
В нашей посылке температура это 8-й байт
Осталось три нераспознанных байта 5-й, 7-й, 9-й. Судя по динамике изменения давление в шинах скрывается в 7 байта, а в 9-ом байте, скорее всего, статусные биты датчика. По разным источникам информации в Интернет, а также по функционалу моей системы TPMS там должен быть бит разряженной батареи, бит быстрой потери давления и еще пару бит, которые не ясно для чего.
Итак, будем анализировать 7-й байт, т.к. подразумеваем, что давление прячется в нем.
Набрав статистику по разным датчикам с разным давлением, я не смог четко определить формулу, пересчитывающую давление. Да и не ясно в каких единицах по умолчанию датчик передает давление (Bar, PSI). В итоге таблица, построенная в Excel, не давала точное соответствие со штатным табло TPMS. Можно было бы пренебречь этой разницей в 0.1 Bar, но хотелось понятия протокола до последнего бита. Азарт брал верх.
Если не получается понять как формируется байт давления, то надо сделать эмулятор датчика давления и, меняя значение давления, смотреть что отображает штатная панель.
Оставалось выяснить назначение 5-го и 9-го байтов пакета, но они редко меняются, поэтому можно принять их значения как в оригинальном пакете, меняя только байт давления. Теперь вопрос только в расчете контрольной суммы. Без нее штатная панель проигнорирует мой пакет и ничего не покажет.
Для эмуляции датчика надо было передать пакет. Для этого у меня имелся трансивер SI4432 подключенный к PIC16F88, когда-то использовавшийся для других целей.
Рис.4. Фото тестовой платы
Воспользовавшись старыми наработками по передаче данных, я набросал программу для PIC, которая передает один из пакетов, принятых мною программой URH. Спустя некоторое время после включения передатчика панель отобразила данные что передал в нее! Но это готовый пакет с готовой CRC, а чтобы мне менять байт давления, надо и CRC пересчитывать.
Начал читать, искать информацию о том какие CRC используются, пробовал разные Xor, And и прочее, но ничего не получалось. Уже думал, что ничего не получится и придется довольствоваться давлением, которое получил по своей таблице, но немного не сходящееся с оригинальным табло. Но вот на просторах Интернет увидел статью про подбор CRC. Там была программа, которой даешь несколько пакетов, а она пытается подобрать контрольную сумму и, в случае успеха, выдает величину полинома и значение инициализации CRC. [7]
Задаем программе несколько пакетов:
Написал программу расчета CRC с учетом этих данных и прогнал по пакетам, что получил ранее – все сошлось!
Руки чесались передать в эфир данные по давлению. Дополнив тестовую программу расчетом CRC, я передал первый пакет. Штатная панель приняла сигнал и отобразила давление и температуру. Небольшая проблема была в том, что штатная панель имела один разряд после запятой и, передавая значение в эфир, на экране отображалась всегда одно и тоже давление, т.к. остальные разряды были не видимы. Передавал значение байта 0..255. Но снова как-то не ясно. Оказалось, что давление 0.00 Bar начинается когда 7-й байт содержит значение 97. Не ясно почему так. Но зато далее с дискретностью 0,01 Bar все четко.
Байт P Давление, Bar
255 1,58
254 1,57
… …
107 0,10
106 0,09
105 0,08
104 0,07
103 0,06
102 0,05
101 0,04
100 0,03
99 0,02
98 0,01
97 0,00
Судя по таблице, максимальное давление, которое умещается в одном байте всего 1,58 Bar, но система позволяет замерять давление до 4 Атм. Значит где-то еще прячется 1 бит старшего разряда. Перебирать все байты и менять в них биты не было желания. Было найдено колесо от автомобиля, на него накручен датчик, произведен захват сигнала. Любопытство брало верх, я в уме делал ставки на то, в каком месте появится этот бит. И что это будет именно один бит, а не какая-то другая схема кодировки.
Декодировав пакет, я увидел этот бит. Он является 7-м битом 6-го байта. А значит, 6-й байт содержит не только номер колеса, но и старший бит давления в шинах.
15B937740C833C18025C
Старший бит от 0x83 и 0x3C дают 0x13C = 219 что соответствует давлению 2,19 Bar
Формула для пересчета давления в Bar: P=(ADC-97)/100,
Где ADC = (B7>>7)*0x100+B6, где B6 и B7 это значение байта 6 и байта 7.
При значении 511 имеем максимальное давление 4,14 Bar. Также не ясно было почему планка в 4,14 Bar, но догадываюсь что это равно 4 Атм – максимального допустимого давления для датчика.
Осталось понять, за что отвечают статусные биты. Путем стравливания давления, подключения датчика к регулируемому блоку питания и, снижая напряжение, были получены биты. Остались не выясненными 2 бита. Может, есть и еще, но они не разу не принимали значение единицы за все время экспериментов.
Для упрощения анализа была написана программа [8]
Рис.5. Внешний вид интерфейса программы для исследования пакетов TPMS
В программу можно задать сырой пакет из программы URH в шестнадцатиричном виде и программа декодирует пакет, считает контрольную сумму и отображает данные в нормальных единицах температуры и давления.
Как-то полез снова в меню штатной панели и увидел что идентификатор датчика это не два байта, а четыре. Панель имеет большой и маленький индикаторы и я сразу не обратил внимание на то что 2-й и 5-й байты тоже входят в идентификатор датчика.
Тем самым нераспознанным остается только 1-й байт, но он всегда 0x15 (0b010101), а это похоже на некую преамбулу пакета или идентификатора его начала.
Также не распознаны точно биты статуса, но тех, что есть хватает.
Любопытство узнать что внутри датчика брало верх и я разобрал один из них (рис.6)
Рис.6. Датчик системы TPMS
В основе лежит микросхема Infineon SP372 с небольшой обвязкой. Поиск документации именно этой микросхемы ничего не дал. Те, что нашел либо обзорные, либо рекламные. Так что выяснить про протокол не удалось. Но в статьях упоминается про то, что это программируемый контроллер, поэтому программа может быть любой. Поэтому не рискнул купить микросхему отдельно.
Протокол
Теперь о приеме данных от датчика на трансивер SI4432. Изначально планировалось принимать сырые данные от SI4432, чтобы контроллер декодировал Манчестер и собирал байты. Но у данного трансивера есть функция обработки пакета. То есть для передачи можно настроить передатчик на нужную частоту, модуляцию, девиацию, задать длину преамбулу, кодировку, синхрослово, скорость потока, длину данных. Потом записать в буфер передатчика исходный пакет данных (например наш 15B937740C833C18025C) и запустить передачу. Трансивер сам сформирует пакет и выдаст его в эфир, соблюдая все заданные параметры, а контроллер в это время свободен для обработки другой информации.
В идеале хотелось получить от SI4432 пакетную обработку данных при приеме. Чтобы приемник принял пакет и сформировал прерывание о том, что пакет принят. Тогда контроллер просто читает буфер приема, в котором хранятся уже данные в чистом виде, тем самым освобождается процессорное время на другие функции.
Начал изучать настройку регистров для работы трансивера на прием. Это оказалось гораздо труднее, чем передать пакет. Тут надо хорошо знать теорию радиоприема, которой у меня нет. Для этого трансивера имеются таблицы расчета регистров в Excel, но они либо не работают из-за того, что Excel русский, либо урезанные. Также есть приложение от разработчика, но там тоже все не особо прозрачно. Перебрав много примеров и просмотрев расчетные таблицы, вручную считал значения регистров по документации.
Подключил на выход приемника логгер и захватывал эфир, смотря на то, что выдает приемник. В итоге удалось настроить фильтры приемника чтобы он пропустил мой пакет. Манипулировал со скоростью потока, бил в бубен. Теория, к сожалению, мне все же не ясна.
Для того чтобы приемник смог принять пакет данных, ему надо указать длину преамбулы, синхрослово, которое обязательно должно присутствовать, а также длину данных. Также можно чтобы приемник сам считал контрольную сумму, но в SI4432 алгоритм расчета не соответствует алгоритму CRC датчиков давления.
Обязательное присутствие синхрослова из двух байт могло омрачить идею приема пакета, но тут повезло, что посылка от датчика начинается на 0x15B9 (15B937740C833C18025C) и одинакова для всех датчиков. А значит, для синхрослова было задано 0x15B9. Длина пакета данных составляет 8 байт, анализ контрольной суммы отключен. Выставляем генерацию прерывания при приеме пакета и запускаем процедуру приема.
Когда приемник примет преамбулу, синхрослово 0x15B9 и 8 байт данных, то он выдаст прерывание основному контроллеру, который просто считает из буфера приемника 8 байт данных. Далее основной контроллер рассчитает контрольную сумму, сравнит ее и декодирует принятые данные. К счастью, все получилось, как было задумано!
Рис.7. Фото штатного индикатора TPMS и дисплея «умной» коляски
Далее приведу пример инициализации трансивера SI4432 на прием:
Сам прием данных будет выглядеть так:
Функция SI4432_ReadFIFO() просто читает 8 байт из буфера приемника, которые содержат данные от датчика.
Функция TPMS_Parsing() производит анализ контрольной суммы и декодирует информацию в конечные единицы давления и температуры, а также статусную информацию.
Результаты работы
Исследования, освещенные в данной статье, заняли около месяца свободного времени.
В результате работы по исследованию протокола работы системы контроля давления в шинах затронуты вопросы передачи и приема данных по эфиру, вкратце рассмотрены кодировки сигнала, опробован трансивер SI4432 на передачу и прием. Данная задача позволила интегрировать TPMS в основной проект «умной» детской коляски. Зная протокол обмена, можно подключить большее количество датчиков и интегрировать в свою разработку. Причем контролируемое давление может находиться в широких пределах, а не как в штатной системе 1.1-3.2 Bar, т.к. давление вне этого диапазона сопровождается тревожным писком системы штатного центрального блока. Также теперь TPMS можно применять для контроля давления в шинах мотоцикла, велосипеда или, например, надувного матраса. Останется лишь физически установить датчик и написать программу верхнего уровня.