[Home] [Donate!] [Контакты]

Идеальная служба поддержки

Существует ли она?

Оглавление
Идеальная служба поддержки
   Предисловие
   STMicroelectronics
   Maxim Integrated



Предисловие

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

Понятно, что нужно иметь совесть и не отвлекать важных и занятых людей всякими пустяками; обращаться только при крайней необходимости - когда зачитана до дыр вся доступная документация (Datasheet, Errata List, Appnotes, ...), но ничего не помогает.

Однако и у службы поддержки имеются свои способы ограничения количества запросов. Только заполнение формы обращения чего стоит... Конечно, поддержка у разных компаний организована по-разному. Но можно ожидать, что потребуется указание примерно следующего набора сведений: тема; вопрос; описание проекта; тип компонента; планируемое количество устройств (выбрать из списка, в котором первый элемент вполне может быть "<1000", последний "1000000+", что как бы намекает на масштабы, интересующие компанию-производителя); имя, фамилия; должность и название своей организации; адрес; телефон... Просто жуть!

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

STMicroelectronics

Фотография STM32F100RBT6B Рис. %img:stm32f100rb

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

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

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

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

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

Maxim Integrated

Фотография цифрового датчика температуры DS18B20+ Рис. %img:ph_ds18

Удивила поддержка в Maxim Integrated. Давно пользуюсь некоторыми компонентами их производства. Возможно, они не самые дешёвые на рынке среди аналогов. Но качество и надёжность всегда оставляли самые положительные впечатления. Также было интересно поработать с различными 1-Wire устройствами.

Импульс присутствия от DS18B20 при включении питания. Рис. %img:pulse

Хотя уже не в первый раз использую DS18B20, вдруг обнаружил особенность, которую раньше никогда не замечал. А именно, при включении питания, DS18B20 формирует на шине сигнал присутствия, как будто после сигнала сброса (рис. %img:pulse). И при паразитном питании, и при внешнем питании (с подключённым подтягивающим резистором между питанием и сигнальной линией); рис. %img:cp и рис. %img:cp.

Подключение DS18B20 для наблюдения импульса присутствия при паразитном питании. Рис. %img:cp

Подключение DS18B20 для наблюдения импульса присутствия при внешнем питании. Рис. %img:cvdd

А в руководстве же такое поведение не описано. Там говорится о том, что сигнал присутствия даётся в ответ на сигнал сброса от мастера. Формально, конечно, можно считать, что продолжительное отсутствие напряжения в лини до включения питания - это тоже сигнал сброса (сигнал сброса в 1-Wire - установка мастером в сигнальной линии низкого уровня на время 480 мкс или более). Однако в том и дело, что в руководстве сигнал сброса описывается только как сигнал в нормальном рабочем режиме, когда шина перед сбросом находится в состоянии ожидания (с высоким уровнем на ней). Вот импульс низкого уровня длительностью от 480 мкс в таких условиях - это сигнал сброса (рис. %img:rst). А включение питания - вроде бы и нет.

Импульс сброса/присутствия в интерфейсе 1-Wire. Рис. %img:rst

В подтверждение того, что сигнал сброса и включение питания - разные вещи, можно привести пример такого устройства, как DS1990R. В руководстве на него указано, что DS1990R - полностью совместимый с DS1990A вариант, но отличается наличием импульса присутствия при подключении к 1-Wire шине (т.е. Maxim Integrated считает такую особенность вполне достойной упоминания в руководстве; кроме того, добавление этой функциональности потребовало дополнительных усилий). Другим подтверждением неэквивалентности сброса по сигналу и сброса по включению является предупреждение в руководстве к DS18B20, согласно которому при паразитном питании датчика недопустимо, чтобы длительность импульса сигнала сброса превышала 960 мкс. Иначе вместо сброса по сигналу сброса произойдёт сброс по включению питания. Также отличается реакция DS18B20 на два вида сброса: при включении происходит инициализация RAM начальными значениями, а при сбросе по сигналу содержимое RAM остаётся неизменным.

В общем, решил уточнить, обратившись в службу поддержки. Имея негативный опыт с STM, был уверен, что буду послан куда подальше - вежливо, но уверенно.

Первый ответ пришёл моментально, в течение десяти минут! Мне однозначно сказали, что сигнал присутствия должен появляться только в ответ на сигнал сброса. Попросили прислать осциллограммы на сигнальной линии в моём устройстве при включении питания. Как я, по бедности не имея осциллографа цифрового, снимал однократный процесс фотоаппаратом с простенького аналогового осциллографа... Это отдельная история... Но отступать было поздно, и я это сделал (рис. %img:ph_wdq).

Осциллограмма сигнала на линии DQ датчика DS18B20 при включении питания. Рис. %img:ph_wdq

* На рис. %img:ph_wdq изображена осциллограмма импульса присутствия при включении питания DS18B20, заданы следующие масштабы по вертикали и горизонтали для осциллографа:
Y: 1 В/деление;
X: 100 мкс/деление.

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

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

На всё про всё потребовалось несколько часов, причём большая часть времени ушла на мою возню с осциллографом...

И уже окончательно, в ответ на свою безграничную благодарность за помощь, получил письмо с просьбой обращаться, если возникнут ещё какие-то вопросы или сомнения.

Так что поддержка, о которой можно только мечтать, всё же существует.

author: hamper; date: 2019-12-12
  @Mail.ru