С первого взгляда, кажется, что кнопочная клавиатура – это настолько простое и банальное устройство, что в нем нечего улучшать. Однако, как гласит поговорка: нет предела совершенству. Компания Silego подает идею по созданию клавиатур с практически нулевым потреблением, которые могут годами работать даже от самых миниатюрных элементов питания. Для этого предлагается использовать семейство микросхем GreenPAK с программируемым автоматом состояний и гибкую фирменную среду разработки Silego GreenPAK Designer.
![]() |
|
Рис. 1. | Клавиатура на базе микросхем GreenPAK с автоматом состояний от Silego. |
Клавиатуры являются привычным элементом управления для огромного количества устройств: от стиральных машин до пультов операторов в ЧПУ. Выдумать что-то новое при создании клавиатуры очень сложно. Казалось бы: кнопки, контроллер, элементарная программа – вот и все, что требуется разработчику.
Если посмотреть на новый отладочный набор от Silego, то ничего сверхъестественного мы там не увидим – все те же столбцы и строки из кнопок (Рис. 1). Однако есть одно небольшое, но важное отличие: микроконтроллер подключен к клавиатуре не напрямую, а через микросхему GreenPAK от Silego.
GreenPAK – однократно программируемые микросхемы смешанных сигналов, выполненные в миниатюрных корпусах. Они отличаются богатым набором аналоговых блоков, развитой комбинационной логикой и гибкой матрицей соединений. Для создания клавиатур Silego предлагает использовать семейство GreenPAK5 со встроенным автоматом состояний ASM (Asynchronous State Machine). В частности, с помощью SLG46537V/M можно обрабатывать до 54 кнопок.
Применение GreenPAK дает следующие преимущества:
- достижение минимального потребления за счет использования встроенного автомата состояний ASM (Asynchronous State Machine);
- упрощение разводки за счет гибкой настройки функций выводов GreenPAK;
- возможность получения клавиатур с большим числом клавиш, при использовании GreenPAK в миниатюрном 20- или 22-выводном корпусе;
- возможность работы с широким диапазоном питающих напряжений 1.8…5.0 В.
Рассмотрим упрощенную блок-схему и алгоритм работы клавиатуры, предлагаемой компанией Silego (Рис. 2). Связь между контроллером и микросхемой GreenPAK осуществляется с помощью I2C и двух портов ввода-вывода общего назначения. Большую часть времени микроконтроллер находится в состоянии глубокого сна. В это время GreenPAK проводит сканирование клавиатуры. Если обнаружено нажатие какой-либо кнопки, то формируется сигнал прерывания INT, который пробуждает микроконтроллер. После чего по I2C считывается информация о состоянии клавиш.
![]() |
|
Рис. 2. | Структурная схема контроллера клавиатуры от Silego. |
Как говорилось выше, самым необычным элементом клавиатуры является микросхема GreenPAK. Рассмотрим особенности GreenPAK на примере SLG46537V.
SLG46537V – миниатюрная программируемая микросхема смешанных сигналов, которая, несмотря на малые габариты корпуса STQFN-20 2 × 3 × 0.55 мм (Рис. 3), отличается богатым набором внутренних блоков (Рис. 4).
![]() |
|
Рис. 3. | Миниатюрные микросхемы SLG46537V GreenPAK 5 от Silego. |
![]() |
|
Рис. 4. | Блок-схема SLG46537 от Silego. |
В состав SLG46537V входят следующие блоки:
- встроенное ОЗУ и однократно программируемая память конфигурации;
- развитая система комбинаторной логики;
- гибкая матрица соединений;
- программируемый асинхронный автомат состояний ASM;
- коммуникационный I2C-интерфейс;
- аналоговые элементы (компараторы, ИОН);
- гибкая система тактирования с двумя генераторами 25 кГц/ 2 МГц и 25 МГц;
- фильтры и элементы задержки.
Для данного конкретного приложения ключевую роль играет наличие автомата состояний ASM. Аппаратно ASM представляет собой макроячейку комбинационной логики с множеством входов и восемью выходами, которые подключаются к матрице соединений (Рис. 5).
![]() |
|
Рис. 5. | Структура автомата состояний ASM в микросхемах SLG46537. |
Настройка автомата состояний достаточна проста. Первым делом от пользователя требуется определить число состояний автомата и определиться с условиями переходов. Далее с помощью графического редактора бесплатной среды проектирования Silego GreenPAK Designer можно без проблем задать требуемый алгоритм работы микросхемы. На сайте Silego доступны версии этой среды для всех основных ОС (Windows XP/Vista/7/8.1 (x86, x64), MACOSX (v10.5) или Ubuntu 12.04).
На Рис. 6 представлен пример неполного графа переходов (диаграммы состояний) и соответствующая ему схема, созданная в Silego GreenPAK Designer. Как видно, на схеме темно-серые прямоугольники обозначают устойчивые состояния. Внутри них помещены светло-серые прямоугольники – это те состояния, в которые автомат может перейти при появлении сигнала на входе слева от блока. Например, из состояния High Speed можно перейти в состояние Off при появлении сигнала на входе PIN3.
![]() |
|
Рис. 6. | Пример диаграммы переходов автомата состояний и его реализации в Silego Green PAK Designer. |
Рассмотрим более подробно алгоритм работы и диаграмму переходов при использовании GreenPAK в качестве контроллера клавиатуры. При включении питания микросхема начинает циклический опрос строк. Для сканирования каждой строки в автомате ASM выделено свое состояние (Рис. 7). Переход между состояниями производится по фронту и срезу тактового сигнала. При нажатии клавиши происходит формирование сигнала прерывания INT, который пробуждает управляющий микроконтроллер. Далее выполняется считывание данных по I2C. После этого контроллер имеет возможность сброса автомата состояний GreenPAK с помощью ввода RESET.
![]() |
|
Рис. 7. | Диаграмма переходов автомата состояний контроллера клавиатуры. |
Предложенная диаграмма переходов была реализована в среде Silego GreenPAK Designer (Рис. 8). Выходы автомата состояний подключены к выходам микросхемы, которые в свою очередь подключены к строкам клавиатуры (PIN3, PIN4, PIN5, PIN6, PIN7, PIN10, PIN12, PIN13). Сигналы со столбцов клавиатуры (PIN14, PIN15, PIN16, PIN17, PIN18, PIN19) с помощью комбинационной логики формируют сигнал прерывания INT на выходе PIN20. В данной схеме кроме автомата состояний стоит отметить наличие фильтров для защиты от дребезга.
![]() |
|
Рис. 8. | Реализация контроллера клавиатуры в Silego GreenPAK Designer. |
Как видно из схемы, пользователь может чрезвычайно гибко настраивать алгоритм работы микросхемы и распределять назначение выводов. Это позволяет быстро получать результат и упрощать разводку печатной платы. Однако главным достоинством схемы является сверхнизкое потребление.
Как известно, цифровые устройства имеют очень низкое статическое потребление. То есть, основные потери оказываются динамическими и возникают при переключениях. В нашем случае переключения связаны только с переходами автомата состояний (Рис. 9). Для сканирования клавиатуры не требуется быстрой смены состояний, а значит и потребление оказывается минимальным. По заявлениям интернов Silego потребление автомата ASM составляет всего 1 мкА!
![]() |
|
Рис. 9. | Потребление при работе автомата состояний оказывается минимальным. |
Рассмотрим небольшой пример. Пусть вместе с SLG46537 используется микроконтроллер STM8L101 с минимальным потреблением в режиме сна от 0.3 мкА, а питание осуществляется от миниатюрной 3 В батарейки CR927 (9.5 × 2.7 мм). CR927 имеет номинальную емкость 30 мА·ч. Не сложно оценить время автономной работы клавиатуры при отсутствии нажатий: 30 мА·ч/ 1.3 мкА = 23076 часов = 2.6 лет. Конечно, в реальном приложении потребление окажется выше, но и батарейка в примере взята самая маленькая.
Таким образом, с помощью микросхем GreenPAK5 с встроенным автоматом состояний можно создавать клавиатуры, которые будут работать несколько лет даже от самых маленьких батареек.
Чтобы ознакомиться с другими особенностями микросхем GreenPAK, можно воспользоваться готовыми отладочными наборами. Плата GreenPAK5 Development Kit используется в качестве универсальной основы, на которую устанавливаются стартовые наборы SKT (Рис. 10). Например, для ознакомления с SLG46537V предлагается SLG46537V-SKT (Рис. 11).
![]() |
|
Рис. 10. | Внешний вид GreenPAK 5 Development Kit. |
![]() |
|
Рис. 11. | Отладочный набор SLG46537V-SKT для SLG46537V. |
В качестве заключения хотелось бы отметить, что контроллер клавиатуры – это не единственное приложение, в котором востребованы микросхемы GreenPAK. С развитием Интернета вещей (IoT) будет появляться все больше устройств, в которых GreenPAK могут помочь минимизировать уровень потребления.
Характеристики микросхемы SLG46537V:
- Тип: однократно программируемая микросхема смешанных сигналов;
- Память: 8 байт ОЗУ и однократно программируемое ПЗУ конфигурации;
- Аналоговые функции: четыре компаратора, два фильтра, два ИОН, датчик температуры;
- Цифровые функции: до 18 портов ввода/вывода, матрица соединений и комбинаторная логика, программируемая схема задержки, программируемый функциональный генератор, пять 8-битных счетчиков, два 16-битных счетчика;
- Автомат состояний: 8 состояний;
- Коммуникационный интерфейс: I2C;
- Встроенные генераторы: 25 кГц, 2 МГц, 25 МГц;
- Диапазон напряжений питания: 1/8…5 В;
- Диапазон рабочих температур: –40…85 °C;
- Корпусное исполнение: 2×3×0.55 мм 20-выводной STQFN.
Посмотреть более подробно технические характеристики микросхем GreenPAK от Silego Technologies