Содержание статьи
Косметологический аппарат Liposonix предназначен для коррекции фигуры методом ультразвукового воздействия. Эта процедура, изначально разработанная американской компанией Solta Medical, широко распространилась в нашей стране после появления на рынке относительно дешевых китайских клонов оборудования. При этом само название Liposonix стало именем нарицательным и для процедуры, и для аппаратов такого типа.
С одним из китайских клонов Liposonix мы сегодня и будем работать. Он оснащается сенсорным экраном, нужным для задания параметров процедуры, и манипулятором с кнопкой активации, к которому подсоединяется сменный картридж.
Картридж, в свою очередь, содержит ультразвуковой излучатель, герметичный, заполненный жидкостью резервуар из упругого материала, играющий роль линзы, и плату с чипом. С ней‑то мы и будем работать в этой статье.
Картриджи различаются некой «глубиной», которая может варьироваться от 0,6 до 1,8 см. Поскольку я не косметолог, не могу объяснить, что именно под этим подразумевается, могу лишь предположить, что картриджи с разной глубиной имеют разную конфигурацию линзы.
Как можно понять из конструкции, никаких расходуемых материалов в картридже нет. В теории картридж работоспособен до тех пор, пока не выйдет из строя излучатель, однако производитель не упустил возможность реализовать модель ценообразования бритва — лезвие, всем нам известную по собственно бритвам и картриджам для принтеров. Помимо значения глубины, чип картриджа содержит также счетчик импульсов. По мере работы импульсы расходуются, и, когда они кончатся, аппарат заблокируется.
При подсоединении нового картриджа аппарат считывает параметры и отображает их на своем дисплее: глубина, общее число импульсов (емкость картриджа) и их доступный остаток. Итак, наша задача — найти способ повторного использования картриджей, исчерпавших свой счетчик.
Осмотр
Любое исследование начинается с осмотра. Извлекаем плату с чипом из картриджа и внимательно изучаем на предмет маркировок, логотипов и всего прочего, что можно вбить в Google. К сожалению, в нашем случае никаких полезных надписей обнаружить не удалось.
Сам чип — микросхема в корпусе SO-8, поверхность затерта абразивом для удаления заводских маркировок. Тем не менее контактные площадки платы подписаны: 5V, GND, SCL, SDA. Вооружившись карандашом и мультиметром, восстановим схему, благо она — проще некуда.
Схема включения (подтяжка линий данных к питанию резисторами R1 и R2) указывает на то, что по умолчанию линии находятся в высоком состоянии (idle high). Это наблюдение наряду с сокращениями SCL и SDA с ходу намекает нам на интерфейс I2C.
Широко распространенные микросхемы памяти EEPROM серии 24 как раз работают по I2C! Неслучайное совпадение? Впрочем, посмотрев на первый попавшийся даташит этой серии (PDF), видим отличие в расположении выводов: у нашей микросхемы питание подается на второй вывод, а у 24-й серии — на восьмой.
Попытаем счастья, подключив программатор, но микросхема, увы, не читается. Поиск в каталогах других микросхем памяти, работающих по I2C, с подходящим расположением выводов также ни к чему не привел. Что ж, ожидаемо: учитывая, сколько существует электронных компонентов, такая идея слепого перебора вручную изначально не особенно жизнеспособна.
Отбросив оказавшееся тупиковым предположение, воспользуемся другим методом анализа: перехватим обмен данными между картриджем и аппаратом.
Перехват данных
С этой операцией нам поможет логический анализатор — устройство, записывающее и отображающее цифровые сигналы. Анализаторов существует великое множество, но за пределами профессиональных лабораторий, в среде энтузиастов весьма популярны USB-анализаторы американской фирмы Saleae. Цены на фирменные устройства начинаются с 500 долларов, однако, вбив название производителя в поиск на любом маркетплейсе, увидим множество недорогих копий.
При этом программу анализа сигналов (Logic) можно скачивать с сайта Saleae без каких‑либо ограничений. Сейчас доступна Logic 2, однако, на мой взгляд, первая версия работает быстрее и стабильнее. Программа портативная, не требует установки; драйверы устройства находятся в том же архиве вместе с программой.
Подключим входы анализатора к контактам SCL и SDA. Не забудем соединить землю исследуемой платы с землей анализатора через соответствующий вывод, иначе ничего не заработает. Подсоединяем анализатор к компьютеру, а плату картриджа — к разъему в манипуляторе аппарата. После этого, запустив Logic, нажимаем большую зеленую кнопку Start и включаем питание аппарата.
Не забудь про электробезопасность!
Разность потенциалов на шинах данных, накопленный статический заряд и кривая электропроводка в помещении могут приводить к нежелательным эффектам при подключении устройств: от появления фантомных сигналов, шумов и наводок вплоть до выгорания компонентов. Старайся придерживаться как минимум этих базовых правил:
- Убедись, что контакты заземления во всех розетках имеют одинаковый потенциал, а еще лучше — подключай компьютер, исследуемое устройство и измерительные приборы в одну розетку через удлинитель.
- Сначала соедини все схемные земли устройств и только потом подключайся к линиям данных. Обеспечь надежное соединение между землями, контакт не должен отваливаться при работе.
- До того как все земли надежно соединены, все устройства должны быть выключены (либо включено только одно из них — обычно это компьютер), схемная земля USB соединена с его корпусом, а корпус — с заземлением в розетке питания. Включай устройства только после того, как объединил их земли.
- Определись, что откуда питается, и не соединяй лишние линии питания. В таком случае исследуемая схема будет запитана от аппарата, и подключать к ней +5В от порта USB, выведенные на разъем анализатора, не следует.
В Logic видим включение питания: обе линии данных переключаются в высокий уровень. Через четыре секунды после подачи питания замечаем некоторую активность на одном из каналов.
Приблизив изображение, отчетливо видим, что обнаруженная нами активность — не что иное, как передача данных.
После первой посылки данных ничего не происходит. Но, если мы нажмем на кнопку манипулятора, ультразвуковой излучатель активируется и счетчик импульсов уменьшится. Одновременно мы увидим обмен на линиях данных. Можем повторить нажатия, чтобы убедиться в повторяемости результатов.
Декодирование данных
Подытожим собранную информацию. Учитывая логику работы устройства, мы понимаем, что обмен данными должен быть двунаправленный. В самом деле, не только картридж должен каким‑то образом передавать информацию в устройство, но и устройство должно сообщать картриджу о необходимости декремента счетчика при нажатии кнопки на манипуляторе. Это подтверждается и нашими наблюдениями.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»