Сьюзен ПРАТТ (Susan Pratt)
[email protected] Перевод: Алексей ВЛАСЕНКО
Вопросы к инженеру по применению: емкостные датчики для интерфейсов ввода
Что представляет собой этот емкостный датчик?
Емкостный датчик обнаруживает изменение емкости, когда какой-либо объект приближается к датчику. Данный принцип уже много лет широко применяется в промышленности, например, для измерения уровня жидкости, влажности, состава материалов. Новая область применения, которая становится все более популярной, — это пользовательские интерфейсы для электронных систем. Здесь много лет применялись механические кнопки, переключатели и ручки настройки. Однако разработчики интерфейсов настойчиво пытаются найти более надежные решения. Емкостные датчики могут использоваться в качестве кнопок, но эти датчики могут обеспечивать гораздо более сложные функции, например, колеса прокрутки. Сейчас фирмой Analog Devices разработаны специализированные интегральные микросхемы, предназначенные для реализации интерфейса пользователя. Например, на микросхемах AD7142 и AD7143 можно реализовать соответственно 14 и 8 емкостных датчиков системы ручного ввода информации. Эти ИС обеспечивают возбуждение датчиков переменным током, обнаруживают изменение емкости и генерируют выходной сигнал.
Как работает датчик емкости?
В общем случае датчик состоит из излучателя и приемника, которые представляют собой металлические дорожки на печатной плате. Как показано на рис. 1, в ЛБ714х имеется источник сигнала возбуждения, выход которого подключен к дорожкам излучателя. Между дорожками излучателя и приемника формируется электрическое поле. В основном поле сосредоточено между двумя слоями, на которых расположены дорожки излучателя и приемника. Однако некоторая часть поля выходит за пределы печатной платы. Сигнал, соответствующий напряженности поля, оцифровывается с помощью имеющегося на плате сигма-дельта преобразователя емкости в цифровой код. Конфигурация поля меняется, когда палец оператора оказывается вблизи датчика, и часть электрического поля замыкается на пальце. В результате емкость датчика уменьшается на величину порядка фемтофарад и это изменение детектируется преобразователем.
В общем виде система ввода (рис. 2) состоит из трех частей:
• Специализированная микросхема, обеспечивающая возбуждение датчика, преобразование емкости в цифровой код. Также эта микросхема имеет специальные средства компенсации медленных изменений окружающей среды.
• Датчик представляет собой особой формы дорожки на печатной плате, с помощью которых создаются кнопки, полосы и колеса прокрутки, а также сочетания этих конфигураций. Дорожки могут быть медными, углеродными или серебряными, материал платы может быть различным (стеклотекстолит БИ4, полиэтилентерефталат и др.), в том числе гибким.
• Программное обеспечение хост-микроконтроллера обеспечивает связь с микросхемой преобразователя по последовательному интерфейсу, установку параметров и обработку прерываний. Для датчиков ввода с высоким разрешением, таких как полосы и колеса прокрутки, программное обеспечение осуществляет обработку с целью получить высокое разрешение. Для кнопок программное обеспечение не нужно.
Какие преимущества дает емкостная система ввода?
Емкостные датчики более надежны, чем механические, в силу ряда причин. Здесь отсутствуют подвижные части, а датчик защищен покрытием, например, пластиковой крышкой. Собственно к датчику пользователь не прикасается, так что устройство можно сделать герметичным. Это свойство делает емкостные датчики особенно удобными там, где
Рис. 1. Принцип работы емкостного датчика с сигма-дельта преобразователем
Рис. 2. Структурная схема системы емкостного ввода
Рис. 3. Структурная схема преобразователя
требуется регулярная очистка и датчики не должны быть повреждены моющим раствором. Для портативных устройств, которые часто подвергаются случайному загрязнению, это также важно.
Как работают микросхемы преобразователей емкости ДР714х?
Эти микросхемы разработаны специально для реализации пользовательского интерфейса ввода. Сердце микросхемы — это сигма-дельта преобразователь емкости в код (СЭС), который обрабатывает ряд входных сигналов, коммутируемых с помощью матрицы ключей (рис. 3). Код, полученный в результате преобразования, сохраняется во внутренних регистрах микросхемы. Также в микросхеме есть источник сигнала возбужде-
ния — он вырабатывает прямоугольные импульсы с частотой 250 кГц.
Хост-микроконтроллер считывает код через последовательный интерфейс. ЛЭ7142 поставляется с интерфейсами ЭРГ или 12С и имеет 14 входов датчиков. ЛЭ7143 имеет интерфейс 12С и только 8 входов датчиков. Последовательный интерфейс вместе с выходом прерывания обеспечивает простое и удобное соединение с хост-микроконтроллером в любой системе.
К одной микросхеме может быть подключено до 14 емкостных датчиков в виде кнопок, полос, колес, а также комбинации датчиков. Внешние датчики представляют собой электроды на 2- или 4-слойной печатной плате, подключенные непосредственно к микросхеме СЭС. Конфигурация датчиков прописывается во внутренние регистры микросхемы. Также в регистрах задаются такие свойства, как
усреднение и уровень смещения для каждого входа. Встроенный секвенсор управляет процессом сканирования датчиков. В ЛЭ714х также имеется логика и ОЗУ, предназначенные для реализации алгоритма компенсации изменений окружающих условий. Температура, влажность и другие факторы влияют на емкость датчиков. Без участия пользователя преобразователь постоянно осуществляет калибровку с целью компенсировать влияние этих факторов и таким образом устраняет возможные погрешности и предотвращает сбои.
Одно из достоинств ЛЭ714х — это возможность установить чувствительность для каждого датчика отдельно. Независимая установка порогов срабатывания важна для устройств с разными размерами датчиков. Например, в устройстве есть большие и маленькие «кнопки», диаметром 10 и 5 мм. Пользователь вправе ожидать, что срабатывать они должны при одинаковом усилии, но емкость зависит от размера датчика, и, таким образом, маленькая «кнопка» потребует большего усилия нажатия. Независимая установка чувствительности для каждого датчика снимает эту проблему.
Каким образом учитывается изменение условий окружения?
ЛЭ714х постоянно измеряет емкость датчика. Когда датчик не активен, величина емкости запоминается в качестве фонового значения. Когда пользователь приближает палец или прикасается к датчику, величина емкости меняется. Код, соответствующий уровню порога срабатывания, хранится в регистрах микросхемы. Когда емкость превысит верхний или нижний порог срабатывания, микросхема вырабатывает сигнал «датчик активирован» и подает сигнал прерывания (рис. 4).
На рис. 4 показана идеальная ситуация, когда емкость, определяемая условиями окружения, не меняется. В реальных условиях емкость датчика меняется постоянно и непредсказуемо из-за изменений влажности, температуры и т. д. Если емкость изменяется быстро, это приводит к активации сигнала срабатывания. На рис. 5 емкость увеличивается. Датчик 1
¿•или ]
1|К^иХ1-11Ь -цпригп НІІІ НЛ-ННЖ-ШН-и Н рілчс-н
Рис. 5. Сбой работы датчика из-за ухода фоновой емкости
Qir-'H.j
Рис. 6. Компенсация ухода фоновой емкости
срабатывает корректно, но когда пользователь пытается активировать датчик 2, возникает сбой. Емкость увеличилась, и в этом случае пользователь не может активировать вход так, чтобы емкость уменьшилась ниже порога срабатывания. Также плохо, если емкость увеличилась настолько, что превысила верхний порог срабатывания. В этом случае произойдет случайное срабатывание, причем датчик останется активным и «залипнет» до тех пор, пока емкость датчика не уменьшится.
Встроенные средства автоподстройки решают проблему изменения внешних условий. На рис. 6 видно, что порог срабатывания не остается постоянным. Прибор отслеживает изменения и поддерживает некоторый запас между величиной емкости датчика и порогом срабатывания. Это обеспечивает надежное срабатывание, когда пользователь манипулирует устройством ввода. Уровень автоматически подстраивается, и величина соответствующего кода сохраняется в ОЗУ. В этом процессе не требуется участие хост-контроллера.
Как выглядит сам емкостный датчик?
Датчики могут иметь различную форму и размеры. Кнопки, колеса и полосы прокрутки создаются с помощью дорожек на печатной плате. На рис. 7 показаны возможные конфигурации датчиков из библиотеки паттернов.
Преобразователи предоставляют обширные возможности для создания устройств ввода — с помощью этих микросхем можно создавать самые различные конфигурации: от простых кнопок до полос прокрутки на 128 положений.
Для разных типов устройств ввода требуется задействовать разное количество входов. В ИС ЛЭ7142 имеется 14 входов и 12 каналов преобразования, в ЛЭ7143 — 8 входов и 8 каналов. В таблице показано, сколько входов требуется для каждого типа датчика. Датчики можно сочетать любым образом, ограни-
Таблица. Требуемое количество входов для каждого типа датчика
Тип датчика Требуется входов Gin Требуется каналов
Кнопка 1 0,5 (для «дифференциальной» кнопки)
Ключ на 8 положений 4 3
Полоса прокрутки (слайдер) 8 (1 на сегмент) 8 (1 на сегмент)
Колесо прокрутки 8 (1 на сегмент) 8 (1 на сегмент)
Клавиатура или тачпад 1 на каждый ряд, 1 на каждую колонку 1 на каждый ряд, 1 на каждую колонку
чения накладывает только число входов и каналов.
Оцифровка осуществляется последовательно по каждому каналу. На каждый датчик затрачивается 36 мс.
Что вы можете предложить для начального ознакомления с этими микросхемами?
Analog Devices предоставляет ряд возможностей для разработчика, пожелавшего использовать описанные датчики. Сначала нужно решить, какой тип датчика требуется. Нужны ли средства, например, чтобы выбирать файлы из списка в тр3-плеере? Если да, то потребуется полоса или колесо прокрутки. Можно реализовать также двухкоординатный манипулятор наподобие джойстика. После того как решено, какие будут устройства ввода, можно приступать к разработке платы, пользуясь библиотекой Mentor Graphics PADs layout library. В этой библиотеке есть много подходящих датчиков разных размеров и форм. Она доступна на сайте Analog Devices. Также рекомендуем руководство по применению AN-854, в котором содержатся рекомендации по конструированию датчиков.
Преобразователи должны находиться на той же плате, что и датчики. Плата с датчиками должна быть приклеена к лицевой панели без воздушных зазоров. Если в системе присутствует радиочастотный тракт, нужно предусмотреть средства развязки помех. Желательно использовать вокруг датчиков заземленный периметр.
Рис. 7. Образцы (паттерны) емкостных датчиков
Если важна экономия места, нужно использовать 4-слойную плату, иначе можно обойтись и 2-слойной.
Расстояние от преобразователя СЭС до датчиков не должно превышать 10 см. Но датчики могут располагаться по разные стороны преобразователя, так что между датчиками может быть до 20 см.
Итак, конструкция готова. Что дальше?
Емкостные датчики трудно моделировать на симуляторе, так что анализировать качество работы датчиков и подбирать параметры лучше на макете.
Для каждого датчика необходимо:
• Сконфигурировать внутреннее соединение от входа до преобразователя.
• Установить величину смещения емкости СВиЬК. Это неизменяемая часть емкости датчика, определяемая конструкцией.
• Установить начальные величины порогов срабатывания.
Рис. 8. Типичные формы сигналов преобразователя
Наиболее простой путь подбора параметров — подключение платы с датчиками к оценочной плате AD7142/AD7143, которая поставляется фирмой Analog Devices. На плате имеется также микроконтроллер с соответствующим программным обеспечением.
Как реагирует преобразователь на манипуляции?
Преобразователь выдает сигнал, когда емкость датчика выходит за пределы порогов срабатывания. Величина изменения емкости зависит от формы и размера датчика, а также от толщины материала покрытия. При толщине 4 мм и больше изменения емкости будут очень малы. На рис. 8 показаны типичные сигналы преобразователя. На этом рисунке видно, что в данном случае величина кода меняется примерно на 250 LSB.
Вы говорили о программном обеспечении?
Взаимодействие между CDC преобразователем и микропроцессором происходит за счет прерывания. Хост-микроконтроллер подключен через последовательный интерфейс SPI или I2C. ИС AD7142/AD7143 вырабатывают сигнал прерывания, когда к датчику прикасаются. Хост-микроконтроллер считывает данные из регистров преобразователя. Если датчики — это просто кнопки, то микроконтроллер просто считывает сигнал срабатывания. Если датчик — полоса или колесо прокрутки с высоким разрешением, требуется обработка данных.
Код поставляется заказчику бесплатно при подписании лицензионного соглашения с Analog Devices. Для полосы прокрутки программа занимает около 500 байт памяти данных и 8 кбайт кода. Для колеса прокрутки соответственно 600 байт и 10 кбайт.
Analog Devices поставляет примеры драйверов, написанные на языке C, для основных конфигураций, кнопок и ключей на 8 направлений.
Что еще по поводу конструкции вы можете добавить?
Между платой с датчиками и передней панелью не должно быть воздушного зазора, иначе чувствительность датчика уменьшится.
Вокруг датчика (в пределах 5 см) не должно быть неподключенных металлических деталей. Все, что ближе 5 см, должно быть заземлено, то есть подключено к общему проводу.
Толщина пластиковой панели должна быть порядка 2 мм. Если датчики большие, то панель может быть толще, но не более 4 мм.
Заключение
Преобразователи CDC — это очень удобная технология для интерфейсов ручного ввода. Она стремительно становится все более популярной в разных областях, устройствах и системах. Такие устройства ввода просты в разработке, создаются на основе обычных печатных плат и более надежны, чем механические переключатели. Емкостные преобразователи обеспечивают большую свободу разработчику. Фирма Analog Devices предоставляет специализированные микросхемы для таких систем, а также средства разработки и программное обеспечение, что в совокупности обеспечивает простую и быструю разработку системы ручного ввода. ■
Литература
1. Преобразователи емкость/код на основе сигма-дельта модулятора Михаль Брихта // Компоненты и технологии. 2006. № 1.
2. ht tp://w ww.analog.c om AN829-Environmental Compensation
3. ht tp://w ww.analog.c om AN830-Factors affecting Sensor Response
4. ht tp://w ww.analog.c om AN833-Digital Camera Push Button Design
5. ht tp://w ww.analog.c om Sensor Configuration Guidelines
6. ht tp://ww w.analog.c om.ru/distr.h tm