Показывать значение tpms что значит

Исследование протокола системы контроля давления воздуха в шинах автомобиля (TPMS)

Система дистанционного контроля давления воздуха в шинах автомобиля (англ. аббревиатура TPMS — Tyre Pressure Monitoring System) предназначена для оперативного информирования пользователя о снижении давления в шинах и о критической температуре шин.

Датчики имеют внутреннее или внешнее исполнение. Внутренние устанавливаются внутрь покрышки бескамерного колеса, внешние навинчиваются на штуцер колеса. Колесо с внутренним датчиком на внешний вид совершенно идентично колесу без датчика. Такое колесо просто накачивать. Внешний датчик заметен, его можно украсть и при накачивании колеса его надо предварительно открутить. Также он подвергается влиянию атмосферных явлений.

Исследовать протокол работы системы TPMS меня побудила идея установить такую систему на детскую коляску для оперативного слежения за давлением в шинах.

Показывать значение tpms что значит
Рис.1. Внешний вид системы TPMS

Показывать значение 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-виде.

Показывать значение tpms что значит
Рис.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, когда-то использовавшийся для других целей.

Показывать значение tpms что значит
Рис.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]

Показывать значение tpms что значит
Рис.5. Внешний вид интерфейса программы для исследования пакетов TPMS

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

Как-то полез снова в меню штатной панели и увидел что идентификатор датчика это не два байта, а четыре. Панель имеет большой и маленький индикаторы и я сразу не обратил внимание на то что 2-й и 5-й байты тоже входят в идентификатор датчика.

Тем самым нераспознанным остается только 1-й байт, но он всегда 0x15 (0b010101), а это похоже на некую преамбулу пакета или идентификатора его начала.

Также не распознаны точно биты статуса, но тех, что есть хватает.

Любопытство узнать что внутри датчика брало верх и я разобрал один из них (рис.6)

Показывать значение tpms что значит
Рис.6. Датчик системы TPMS

В основе лежит микросхема Infineon SP372 с небольшой обвязкой. Поиск документации именно этой микросхемы ничего не дал. Те, что нашел либо обзорные, либо рекламные. Так что выяснить про протокол не удалось. Но в статьях упоминается про то, что это программируемый контроллер, поэтому программа может быть любой. Поэтому не рискнул купить микросхему отдельно.

Протокол

Теперь о приеме данных от датчика на трансивер SI4432. Изначально планировалось принимать сырые данные от SI4432, чтобы контроллер декодировал Манчестер и собирал байты. Но у данного трансивера есть функция обработки пакета. То есть для передачи можно настроить передатчик на нужную частоту, модуляцию, девиацию, задать длину преамбулу, кодировку, синхрослово, скорость потока, длину данных. Потом записать в буфер передатчика исходный пакет данных (например наш 15B937740C833C18025C) и запустить передачу. Трансивер сам сформирует пакет и выдаст его в эфир, соблюдая все заданные параметры, а контроллер в это время свободен для обработки другой информации.

В идеале хотелось получить от SI4432 пакетную обработку данных при приеме. Чтобы приемник принял пакет и сформировал прерывание о том, что пакет принят. Тогда контроллер просто читает буфер приема, в котором хранятся уже данные в чистом виде, тем самым освобождается процессорное время на другие функции.

Начал изучать настройку регистров для работы трансивера на прием. Это оказалось гораздо труднее, чем передать пакет. Тут надо хорошо знать теорию радиоприема, которой у меня нет. Для этого трансивера имеются таблицы расчета регистров в Excel, но они либо не работают из-за того, что Excel русский, либо урезанные. Также есть приложение от разработчика, но там тоже все не особо прозрачно. Перебрав много примеров и просмотрев расчетные таблицы, вручную считал значения регистров по документации.

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

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

Обязательное присутствие синхрослова из двух байт могло омрачить идею приема пакета, но тут повезло, что посылка от датчика начинается на 0x15B9 (15B937740C833C18025C) и одинакова для всех датчиков. А значит, для синхрослова было задано 0x15B9. Длина пакета данных составляет 8 байт, анализ контрольной суммы отключен. Выставляем генерацию прерывания при приеме пакета и запускаем процедуру приема.

Когда приемник примет преамбулу, синхрослово 0x15B9 и 8 байт данных, то он выдаст прерывание основному контроллеру, который просто считает из буфера приемника 8 байт данных. Далее основной контроллер рассчитает контрольную сумму, сравнит ее и декодирует принятые данные. К счастью, все получилось, как было задумано!

Показывать значение tpms что значит
Рис.7. Фото штатного индикатора TPMS и дисплея «умной» коляски

Далее приведу пример инициализации трансивера SI4432 на прием:

Сам прием данных будет выглядеть так:

Функция SI4432_ReadFIFO() просто читает 8 байт из буфера приемника, которые содержат данные от датчика.

Функция TPMS_Parsing() производит анализ контрольной суммы и декодирует информацию в конечные единицы давления и температуры, а также статусную информацию.

Результаты работы

Исследования, освещенные в данной статье, заняли около месяца свободного времени.

В результате работы по исследованию протокола работы системы контроля давления в шинах затронуты вопросы передачи и приема данных по эфиру, вкратце рассмотрены кодировки сигнала, опробован трансивер SI4432 на передачу и прием. Данная задача позволила интегрировать TPMS в основной проект «умной» детской коляски. Зная протокол обмена, можно подключить большее количество датчиков и интегрировать в свою разработку. Причем контролируемое давление может находиться в широких пределах, а не как в штатной системе 1.1-3.2 Bar, т.к. давление вне этого диапазона сопровождается тревожным писком системы штатного центрального блока. Также теперь TPMS можно применять для контроля давления в шинах мотоцикла, велосипеда или, например, надувного матраса. Останется лишь физически установить датчик и написать программу верхнего уровня.

Источник

Горит датчик давления в шинах

Горит датчик давления в шинах (индикатор TPMS на приборной панели) по одной из трех причин: давление воздуха в одной или нескольких шинах упало ниже допустимого уровня, обнаружено резкое снижение давления в колесе (в частности, при проколе), некорректная работа датчика либо приемника сигналов от него, а также, часто, просто пропадает питание на датчике.

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

Описание работы системы контроля давления шин

Чтобы перейти к решению вопроса, как сбросить лампу давления в шинах, необходимо разобраться в том, как вообще работает система контроля давления в шинах (по-английски — TPMS — Tire Pressure Monitoring System).

Она состоит из датчиков, расположенных непосредственно на колесах автомобиля, а также принимающего устройства, на который подается информация от них, и соответственно выводится информацию на дисплей и/или бортовой компьютер. Обратите внимание, что система TPMS зачастую является опционной, и ее можно приобрести отдельно даже для старых автомобилей, не оборудованных электронным блоком управления двигателем (ЭБУ). Требуется лишь приобрести такой комплект и установить.

Датчик состоит из следующих внутренних элементов:

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

Сигналы с датчика поступают не постоянно, а дискретно, то есть, через определенные равные промежутки времени. У каждого производителя они могут отличаться, но в среднем временной интервал составляет около 30 секунд. Каждый датчик имеет свою уникальную кодировку сигнала, именно поэтому принимающий блок (BCM, Body Control Module) «знает», с какого колеса какой сигнал поступает. Однако для этого предварительно нужно настроить блок на соответствующую информацию. Аналогично при перестановке колес местами необходимо перенастроить приемный блок для корректного восприятия сигналов.

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

Большинство систем TPMS просто показывают давление в каждом колесе в режиме реального времени, а при понижении соответствующего значения ниже минимально допустимого активируют сигнальную лампу на отдельном мониторе системы, либо аналогичную лампу на приборной панели. В некоторых случаях лампочка давления шин дублируется еще и звуковым сигналом. Более «продвинутые» системы кроме давления воздуха в шинах показывают еще и его температуру. В частности, это нужно для корректировки накачиваемого давления при эксплуатации автомобиля в разных режимах (когда давление в колесе корректируется в зависимости от температуры окружающего воздуха).

При установке системы TPMS в блок ее управления всегда заносится информация о нормальном и минимально допустимом давлении в шинах для конкретного автомобиля. Делается это либо с помощью бортового компьютера, либо с помощью дополнительного блока управления системой. Некоторые подобные системы снабжены еще одной составляющей, занимающейся измерением угловой скорости вращения колес. Это делается при помощи датчиков антиблокировочной системы (ABS). Цель системы — выявление разности в значениях угловой скорости колес при движении (при этом специальная программа учитывает повороты). Суть работы программы — выявление колеса, которое вращается с немного меньшей угловой скоростью, поскольку это прямо указывает на сниженное давление воздуха в нем.

Почему датчик давления в шинах показывает ошибку

Когда ошибки в работе системы определения давления в колесах нет, то индикатор давления в шинах активируется в случае, если приспущено одно или несколько колес. При этом система сама укажет какое именно. Соответственно, после восстановления давления в проблемном колесе сигнальная лампа потухнет автоматически. Однако поскольку в большинстве случаев колесо должно быть спущенным значительно и наверняка водитель сам заметит такую проблему, то причина почему горит датчик давления в шинах будет в другой.

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

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

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

Как сбросить ошибку датчика давления шин

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

По статистике, чаще всего, с проблемой сталкиваются владельцы автомобилей Форд, Мерседес, Киа, Лексус (Тойота). И для того, чтобы убрать ошибку необходимо знать принцип сброса на авто разных марок. Так, например, значок давления в шинах у автомобилей Toyota Prado, скидывается специально предназначенной для этого кнопкой Tire Set, расположенной глубоко на нижней части бортовой панели, на уровне нижней части руля. У большинства моделей Mercedes управления системой в целом и индикатором в частности выполняется через экран встроенного компьютера (зависит от установленного программного обеспечения).

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

Некоторые автомобили имеют свои особенности, которые указываются в мануалах. Так часто на автомобилях «Тойота» после смены колеса лампа давления шин горит на протяжении 50…60 километров. В это время компьютер собирает информацию о технических параметрах колеса. После этого лампа автоматически тухнет. У других моделей есть специальная кнопка на панели, под рулевым колесом или под бардачком, нажатие на которую обеспечивает то, чтобы лампа потухла. Еще вариант — лампа просто тухнет после нажатия на педаль тормоза.

Пример выполнения базовой установки системы при установке новых колес на примере автомобиля Lexus NX 2.0 AWD:

Базовую установку нужно выполнять при замене летней резины на новую и наоборот, смене диаметра покрышки, переход на шипованную резину. Система контроля давления в шинах на других автомобилях настраивается аналогичным методом, с помощью различных кнопок и настроек в бортовом компьютере. Обычно это не занимает много усилий и времени. Главное, найти соответствующую информацию в мануале автомобиля.

Советы по обслуживанию системы TPMS

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

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

Заключение

В случае, когда постоянно горит лампа давления в шинах, нужно не спешить принудительно отключать ее, а проверить, все ли в порядке с автомобильными колесами. В частности, проверить давление, целостность и общее состояние покрышек, глубину протектора, его износ, желательно проверить также развал-схождение. Имеет смысл также проверить датчики системы контроля давления в шинах и ABS. Часто причиной является севший элемент питания либо отказ в работе датчика АБС. Если проблемы найдены, то прежде всего устраните их, а затем делайте сброс ошибки TPMS.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *