Контроллеры емкостных сенсоров компании Microchip Technology

№ 6’2015
PDF версия
В статье рассмотрены произведенные по технологии RightTouch контроллеры САР11хх, находящие применение в настольных ПК и ноутбуках, ЖК-мониторах и другой потребительской электронике.

Одним из основных направлений деятельности компании Microchip Technology, основанной в 1987 году концерном General Instrument (GI), всегда было производство микросхем для встраиваемых систем и контроллеров семейства PIC. Номенклатура продукции компании была значительно расширена в 2012‑м, когда в ее состав влилась компания SMSC (Smart Mixed Signal Connectivity) — один из лидеров разработки и производства микроэлектронных изделий, ориентированных на рынок телекоммуникаций и быстрого обмена данными для автоэлектроники, бытовой техники, персональных компьютеров и других областей. Выпускаемая компанией продукция поддерживает многие распространенные стандарты: USB, автомобильные сети MOST, беспроводное аудио Kleer и JukeBlox, Ethernet и др. Кроме того, имеются решения для распределенного контроля температуры системы и управления сенсорными кнопками RightTouch.

В семействе контроллеров CAP11xx компании Microchip Technology [1], предназначенных для емкостных сенсорных клавиатур, имеются контроллеры CAP1105/06/14/26/28/33/66/88, отличающиеся в основном количеством емкостных сенсорных кнопок и светодиодных драйверов.

Выполненные по патентованной технологии RightTouch контроллеры соответствуют новым стандартам разработки емкостных сенсоров, обеспечивают улучшенные параметры по восприимчивости к помехам и призваны уменьшить количество и стоимость применяемых компонентов в готовых изделиях бытовой техники и потребительской электроники. Контроллеры имеют встроенный фильтр для подавления помех импульсных источников питания и радиопередающих устройств (Wi-Fi, ZigBee, сотовых телефонов), они просты в использовании и имеют несложную трехстадийную настройку в готовом изделии, что ускоряет разработку устройства и уменьшает его общую стоимость.

Контроллеры поддерживают работу с широким диапазоном емкостей сенсоров, что предоставляет большие возможности дизайнерам в выборе материалов и толщины лицевых панелей. Имеют функцию перекалибровки, что позволяет компенсировать изменения параметров клавиатур из-за меняющихся условий окружающей среды (температуры, влажности и пр.), а также из-за загрязнения поверхности. Контроллеры весьма устойчивы к электростатическому разряду и обеспечивают защиту от бросков напряжения ESD (Electrostatic Discharge) уровнем до ±8 кВ без применения внешних защитных цепей. Все контроллеры семейства поддерживают функцию обнаружения приближения (proximity).

В таблице 1 приведены основные характеристики и возможности контроллеров семейства CAP11xx.

Таблица 1. Основные характеристики и возможности контроллеров семейства CAP11xx

Характеристики

CAP1105/06

CAP1114

CAP1126

CAP1128

CAP1133

CAP1166

CAP1188

Количество сенсорных входов

5/6

14

6

8

3

6

8

Количество драйверов светодиодов

11

2

2

3

6

8

Наличие режима глубокого сна

+

+

+

+

Наличие сброса

+

+

+

+

+

Интерфейсы

I2C/SPI/BC-Link

I2C/SMBus

I2C/SPI/BC-Link

I2C/SPI/BC-Link

I2C/SPI/BC-Link

I2C/SPI/BC-Link

I2C/SMBu/SPI/BC-Link

Корпус/размеры

DFN/3×3 мм

QFN/5×5 мм

QFN/4×4 мм

QFN/4×4 мм

DFN/3×3 мм

QFN/4×4 мм

QFN/4×4 мм

Количество выводов

10

32

16

20

10

20

24

Рассмотрим семейство на примере микросхемы CAP1188 [2], которая, так же как и остальные, представляет собой многоканальный контроллер емкостных сенсоров, совмещенных со светодиодными драйверами. Она имеет 8 отдельных входов емкостных сенсоров с программируемой чувствительностью и независимым заданием порогов для каждой сенсорной кнопки. На каждом входе производится автоматическая калибровка для компенсации постепенного изменения условий окружающей среды.

Кроме того, CAP1188 содержит 8 светодиодных драйверов (на выходах могут использоваться как схема с открытым стоком, так и двухтактная схема — источник тока), поддерживающих ряд программируемых функций. Каждый из драйверов может быть связан с одним из сенсорных входов и срабатывать по касанию. Предусмотрена и возможность независимого управления каждым драйвером с внешнего контроллера.

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

Устройство способно взаимодействовать с внешним контроллером по шинам ввода/вывода SPI, BC-Link и SMBus/I2C. Внешний контроллер может в любое время опрашивать устройство на предмет наличия новой информации или настроить его для формирования сигнала прерывания при касании любой сенсорной кнопки.

Микросхема имеет и другие особенности:

  • калибровку для компенсации паразитной емкости;
  • аналоговую фильтрацию для подавления внутрисистемного шума;
  • регистрацию длительного нажатия;
  • выбор протокола ввода/вывода по сигналу на входе и возможность задавать несколько адресов ведомого устройства (только SMBus/I2C);

наличие отдельных флагов для вывода системы из режима ожидания или сна по касанию;

наличие общего отдельного входа сброса системы (RESET).

CAP1188 предусматривает несколько режимов питания с низким энергопотреблением. В экономичном режиме ожидания работают один или несколько сенсорных входов, а также возможно использование всех светодиодных драйверов. Ток покоя в режиме ожидания (при слежении за одним сенсорным входом) составляет 50 мкА. При обнаружении касания система выводится из режима ожидания по сигналу на выводе WAKE/SPI_MOSI.

Режим глубокого сна — состояние с наименьшим энергопотреблением: типовое значение потребляемого тока покоя в нем равно 5 мкА. Сенсорные входы в этом режиме неактивны. Вывод из режима глубокого сна производится по сигналу на выводе WAKE/SPI_MOSI или по сигналам интерфейсов ввода/вывода.

Внешний вид корпуса QFN 24

Рис. 1. Внешний вид корпуса QFN 24

Внешний вид отвечающего требованиям директивы RoHS квадратного 24‑выводного корпуса QFN, в котором выпускается контроллер САР1188, показан на рис. 1. Обозначение и описание выводов контроллера приведены в таблице 2, а его структурная схема — на рис. 2.

Структурная схема контроллера CAP1188

Рис. 2. Структурная схема контроллера CAP1188

Таблица 2. Обозначение и описание выводов контроллера САР1188

Номер вывода

Обозначение вывода

Описание вывода

1

SPI_CS#

Цифровой вход выбора последовательного периферийного интерфейса — шины SPI

2

WAKE/SPI_MOSI

Вход/выход режима глубокого сна и прерывания дежурного режима. Выход ведущего/вход ведомого устройства порта шины SPI в нормальном режиме

3

SMDATA/BC_DATA/SPI_MSIO/SPI_MISO

Двунаправленная линия данных шины SMBus. Двунаправленная линия данных шины BC-Link. Вход/выход двунаправленного ведущего и ведомого устройств порта шины SPI.
Выход ведущего/вход ведомого устройства порта шины SPI в нормальном режиме

4

SM_CLK/BC_CLK/SPI_CLK

Вход синхронизации шины SMBus. Вход синхронизации шины BC-Link. Вход синхронизации шины SPI

5

LED1

Выход управления светодиодом 1

6

LED2

Выход управления светодиодом 2

7

LED3

Выход управления светодиодом 3

8

LED4

Выход управления светодиодом 4

9

LED5

Выход управления светодиодом 5

10

LED6

Выход управления светодиодом 6

11

LED7

Выход управления светодиодом 7

12

LED8

Выход управления светодиодом 8

13

ALERT#/BC_IRQ#

Выход прерывания для шины SMBus или SPI. Выход прерывания для шины BC-Link

14

ADDR_COMM

Вход выбора адреса связи

15

CS8

Вход емкостного сенсорного датчика (сенсорной кнопки) 8

16

CS7

Вход емкостного сенсорного датчика (сенсорной кнопки) 7

17

CS6

Вход емкостного сенсорного датчика (сенсорной кнопки) 6

18

CS5

Вход емкостного сенсорного датчика (сенсорной кнопки) 5

19

CS4

Вход емкостного сенсорного датчика (сенсорной кнопки) 4

20

CS3

Вход емкостного сенсорного датчика (сенсорной кнопки) 3

21

CS2

Вход емкостного сенсорного датчика (сенсорной кнопки) 2

22

CS1

Вход емкостного сенсорного датчика (сенсорной кнопки) 1

23

VDD

Напряжение питания 3,3 В

24

RESET

Вход сброса всех регистров к значениям по умолчанию

Нижняя площадка

GND

Общий провод

Типовая схема включения контроллера CAP1188 приведена на рис. 3. Здесь светодиоды включены таким образом, что на их аноды подается напряжение питания 3,3–5 В, а катоды подключены к соответствующим выводам контроллера, являющимся в этом случае выходами схем с открытым стоком. Светодиоды могут быть подключены и по-другому, когда их катоды соединены с общим проводом, а аноды подключены к выводам микросхемы (контроллер в данном случае является источником тока). Пример такого подключения одного светодиода приведен на рис. 4.

Типовая схема включения контроллера CAP1188

Рис. 3. Типовая схема включения контроллера CAP1188

Пример подключения светодиода к контроллеру CAP1188 как к источнику тока

Рис. 4. Пример подключения светодиода к контроллеру CAP1188 как к источнику тока

В контроллере, как уже было сказано, предусмотрено три режима питания, которые устанавливаются в зависимости от состояния битов STBY и DSLEEP. Когда устройство переходит из одного режима питания в другой, информация о ранее зарегистрированных касаниях (в неактивных каналах) стирается, а биты состояния сбрасываются.

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

В режиме ожидания устройство находится в состоянии с пониженным энергопотреблением. В этом режиме отслеживается заданное число входных каналов в соответствии с конфигурацией режима ожидания. Сигналы прерывания от активных каналов по-прежнему вырабатываются. Устройство реагирует на сигналы интерфейсов ввода/вывода в обычном порядке и может быть переведено в активный режим путем сброса бита STBY.

В режиме глубокого сна устройство находится в состоянии с наименьшим энергопотреблением. Сенсорные входы не отслеживаются, светодиодные драйверы не работают. Все светодиоды находятся в заданном неактивном состоянии, ШИМ-управление не производится. Устройство может быть выведено из режима глубокого сна по адресованным ему сигналам интерфейсов SMBus или SPI. В таком случае бит DSLEEP не сбрасывается, поэтому по завершении операций ввода/вывода устройство автоматически возвращается в режим глубокого сна.

Если устройство не осуществляет ввод/вывод по четырехпроводной шине SPI, то при установке внешним устройством высокого уровня на выводе WAKE/SPI_MOSI оно сбрасывает бит DSLEEP и возвращается в активный режим.

В режиме глубокого сна на выходе светодиодного драйвера сохраняется либо высокий, либо низкий уровень, а ШИМ-управление с минимальным или максимальным коэффициентом заполнения не реализуется.

Если контроллер настроен для ввода/вывода по протоколу BC-Link, режим глубокого сна не поддерживается.

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

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

WAKE/SPI_MOSI — многофункциональный вывод, логика действия которого зависит от режимов работы устройства. Если устройство настроено для ввода/вывода по шине SPI, этот вывод функционирует как входной.

Если же, например, CAP1188 находится в режиме ожидания и не осуществляет ввод/вывод по шине SPI, указанный вывод работает как выходной с активным высоким уровнем. В этом состоянии устройство устанавливает высокий уровень на выводе WAKE/SPI_MOSI при регистрации касания на одном из сенсорных входов, где производится выборка сигнала. Этот уровень сохраняется до тех пор, пока не будет сброшен бит INT.

Если CAP1188 находится в режиме глубокого сна и не осуществляет ввод/вывод по шине SPI, вывод WAKE/SPI_MOSI работает как входной. Когда внешний источник устанавливает высокий уровень на выводе WAKE/SPI_MOSI, CAP1188 сбрасывает бит DSLEEP, в результате устройство возвращается в активный режим. В режиме глубокого сна этот вывод работает как высокоомный вход и для правильного функционирования должен быть соединен с общим проводом через согласующий выходной резистор.

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

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

В импульсном режиме № 1 светодиод вырабатывает заданное количество световых импульсов в последовательности «Вкл-Выкл-Вкл» с заданными частотой и минимальной (максимальной) яркостью. Срабатывание может происходить при касании или отпускании сенсорной кнопки.

В импульсном режиме № 2 светодиод вырабатывает световые импульсы с заданными частотой и минимальной (максимальной) яркостью все время, пока нажата сенсорная кнопка, а после ее отпускания — заданное количество световых импульсов.

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

Если светодиод не «назначен» сенсору, а управляется внешним контроллером, на выводе 13 (ALERT#) по выбору пользователя может устанавливаться активный уровень по завершении заданного цикла работы светодиода.

CAP1188 имеет 8 независимых входов емкостных сенсоров. Динамический диапазон каждого входа позволяет регистрировать изменение входной емкости из-за прикосновения. Каждый вход имеет ряд элементов управления, срабатывающих на протяжении рабочего цикла. Когда контроллер находится в активном состоянии, рабочий цикл запускается автоматически и повторяется непрерывно. В ходе рабочего цикла опрашивается каждый активный сенсорный вход, начиная с CS1 и заканчивая CS8. Измеренное на данном входе значение сравнивается с полученным ранее опорным значением, которое соответствует отсутствию касания. Если разность между этими значениями достаточно велика, регистрируется касание и вырабатывается сигнал прерывания. Рабочий цикл сенсорных входов можно программировать.

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

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

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

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

Может быть использована отсроченная калибровка. Например, сенсорная кнопка может западать, если на нее поместить какой-либо предмет, из-за которого на протяжении длительного времени будет регистрироваться касание. Можно установить бит MAX_DUR_EN, чтобы при регистрации касания, длительность которого превышает значение MAX_DUR, выполнялась принудительная калибровка. Отсроченная калибровка работает только в том случае, если отклонение текущего значения выше порогового значения для активного сенсорного входа. Если эта функция включена, она срабатывает, когда касание сенсорной кнопки регистрируется на протяжении промежутка времени, превышающего параметр MAX_DUR.

Как было сказано выше, микросхема поддерживает обнаружение приближения. Каждый сенсорный вход может регистрировать приближение объекта еще до касания по изменению емкости. Если включена эта функция, соответствующий аппаратный блок регистрирует изменение емкости, когда объект приближается к соответствующим сенсорам. Если на сенсорном входе включено обнаружение приближения, выборка сигнала на нем производится от 1 до 128 раз за цикл. Чем чаще выборка, тем с большей вероятностью обнаруживается приближение, но тем больше общее время выборки.

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

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

Функцию регистрации множественного касания (Multiple Touch Register) можно использовать для обнаружения закрытия крышки и других подобных событий. Флаг множественного касания устанавливается, если одновременно для заданного минимального количества сенсорных входов или для конкретного подмножества входов превышено пороговое значение входного сигнала (задаваемое специально для этих целей) или установлен флаг в регистре флагов помехи. При этом может вырабатываться сигнал прерывания. В случае регистрации множественного касания все одиночные касания блокируются.

Для обнаружения низкочастотных помех (Low-frequency Interference) каждый сенсорный вход оснащен детектором электромагнитных помех. Этот детектор обнаруживает на входе низкочастотные помехи, мощность которых достаточно велика, чтобы исказить результаты измерений. При обнаружении помех устройство отбрасывает недостоверную выборку сигнала и устанавливает соответствующий бит в регистре флагов помехи.

Для обнаружения радиочастотных помех (Radio-frequency Interference) каждый сенсорный вход оснащен соответствующим детектором, который обнаруживает их на выводах CS. Порог детектора зависит от частоты этих помех. Если на одном из выводов обнаружены радиочастотные помехи, соответствующая выборка отбрасывается и не сравнивается с пороговым значением.

Вывод 13 (ALERT#) — вывод с активным низким (по умолчанию) уровнем, на который выводится сигнал при наступлении события, инициирующего прерывание. Всякий раз, когда вырабатывается сигнал прерывания, устанавливается бит INT. Сигнал на указанном выводе сбрасывается, когда пользователь сбрасывает бит INT. При этом биты состояния сбрасываются только в том случае, если не зарегистрировано касание.

Прерывания от сенсорных входов вырабатываются в следующих случаях:

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

В этом случае устройство использует дополнительный определяющий классификацию касания параметр MPRESS — простое «касание» или же «нажатие с удержанием». Биты параметра MPRESS [3:0] задают минимальное значение таймера нажатия. Отсчет таймера начинается при касании сенсорной кнопки. Если она отпускается прежде, чем истечет время таймера, событие классифицируется как «касание» и при отпускании вырабатывается сигнал прерывания. Если касание длится дольше времени, установленного на таймере, событие классифицируется как «нажатие с удержанием». Сигналы прерывания вырабатываются с заданной периодичностью, пока длится касание, а также однократно после отпускания (при соответствующей настройке).

Для поддержки контроллеров компания Microchip Technology представила показанную на рис. 5 оценочную плату CAP1188 Evaluation Board (номер для заказа DM160222).

Оценочная плата CAP1188 Evaluation Board

Рис. 5. Оценочная плата CAP1188 Evaluation Board

Плата работает совместно с программой для настройки и калибровки сенсорных панелей, которая может генерировать файл инициализации контроллера и доступна с сайта [1]. В отладочный комплект входит в том числе переходник «Компьютер — USB — CAP11xx». На плате комплекта имеется микроконтроллер, который осуществляет связь между программой и контроллером. Плату можно использовать для изучения, но можно подключить ее к CAP11xx собственной платы и произвести настройку под свое изделие.

Разработчик может скачать графический интерфейс пользователя (Graphical user interface — GUI) с указанного сайта и собрать свой переходник. GUI в наглядном виде позволяет обеспечить визуальное программирование, настройку и сконфигурировать параметры микросхемы для конкретной топологии платы, толщины лицевой панели, окружающих элементов на плате, конструкции корпуса и т. п. На рис. 6 в качестве примера показан один из скриншотов для оценочной платы CAP1188, на котором видны элементы управления светодиодами.

Скриншот управления светодиодами для оценочной платы CAP1188

Рис. 6. Скриншот управления светодиодами для оценочной платы CAP1188

Светодиодная панель управления имеет секции для возможности управления всеми светодиодами, индивидуальными светодиодами, конфигурацией их подсоединения и временными графиками (различными откликами). Например, как видно из приведенного рисунка, можно задавать минимальную, максимальную и промежуточные яркости свечения (в %), скорость нарастания и спада яркости, время свечения, количество включений/выключений и т. п.

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

Для фоторамки, например, можно создать несколько конфигураций:

  • в ждущем режиме загружается профиль с одной кнопки приближения (другие кнопки не активны). Рамка «спит». Когда пользователь подносит руку, рамка «просыпается» и контроллер загружает профиль, обеспечивая работу всех кнопок;
  • в активном режиме после нажатия соответствующих кнопок контроллер загружает профиль ждущего режима;
  • в режиме глубокого сна кнопки (светодиоды) могут быть установлены в ждущий режим, но с настройками для темного времени суток.

В этом случае GUI позволит создать все три профиля настроек регистров кнопок и светодиодов и режимов энергосбережения.

Литература
  1. microchip.com
  2. Microchip Technology.Inc. &Chanel Capacitive Touch Sensor with 8 LED Drivers CAP1188. Документ производителя DS00001620С. microchip.com

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

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