УДК 004.35
DOI: 10.21122/2309-4923-2023-3-24-32
ИВАНЮКА.А., МОЖЕЙКО Д.О.
ЦИФРОВАЯ СХЕМА АНАЛИЗА ДРЕБЕЗГА КОНТАКТОВ КОММУТАТОРОВ
Белорусский государственный университет информатики и радиоэлектроники г. Минск, Республика Беларусь
В статье рассматривается вопрос исследования параметров дребезга электрических контактов коммутаторов цифровых систем. Предлагается схемотехническое решение для построения цифрового анализатора дребезга контактов. Приводятся результаты экспериментальных исследований поведения электрических контактов различных кнопок и переключателей. Показано, что различные электрические коммутаторы обладают случайными и уникальными характеристиками, что может быть использовано для решения задач генерирования случайных чисел, идентификации цифровых устройств и аутентификации пользователей. Прототипирование разработанного анализатора проводилось на отладочных платах Dig-ilent ZYBO Z7-10, цифровые схемы проектировались на языке VHDL для кристалла FPGA Xilinx Zynq-7000.
Ключевые слова: анализатор, дребезг контактов, цифровая схема, ПЛИС
Введение
Дребезг контактов электромеханических коммутационных устройств неизбежное явление, наблюдаемое во время замыкания и размыкания контактов. Причиной данного явления является кратковременное соударение и неконтролируемые отскоки контактов друг от друга, что приводит к нежелательным замыканиям и размыканиям электрических цепей. Для цифровых устройств подобные электромеханические коммутаторы являются периферийными компонентами, служащими простейшими устройствами ввода информации, играющими роль так называемых «логических переключателей», для которых определяется два бинарных состояния: 0 - коммутатор разомкнут, 1 - коммутатор замкнут, либо наоборот.
Существует большое разнообразие коммутаторов, применяемых для цифровых устройств [1, 2], среди которых можно выделить кнопки нажатия (PB, push buttons), клавишные переключатели (SW, switches) и движковые переключатели (SS, slide switches). Перечисленные типы коммутаторов широко применяются во встраиваемых, носимых цифровых устройствах и устройствах Интернета-вещей (IoT), для которых они являются иногда единственными устройствами человеко-машинного интерфейса. Переключатели зачастую применяются для задания режима работы устройства, а кнопки - для инициализации, сброса, настройки, навигации и т. п.
Функционально движковые переключатели являются логическими переключателями, в то время как функционал кнопок нажатия более разнообразный: нажатие и удержание в течении заданного промежутка времени (инициализация/сброс), однократное нажатие и отпускание (настройка режима/ навигация), многократное последовательное нажатие определенное число раз и различные другие комбинации.
С учетом того, что цифровые устройства работают на больших частотах (единицы и сотни мегагерц) и являются синхронными устройствами, то изменения состояний периферийных коммутаторов, в виду наличия дребезга их контактов, может быть неправильно декодировано. Для предотвращения подобных нежелательных действий при проектировании цифровых устройств реализуют методы и средства подавления дребезга контактов ^еЬоипсе), которые могут быть аналоговыми, цифровыми либо программными [3].
В свою очередь само явление дребезга носит случайный характер, обусловленный большим числом факторов: свойства материалов, из которых изготовлены коммутационные устройства и их контакты; геометрические размеры контактов и зазоров между ними; значения напряжения и силы тока в коммутируемых линиях; свойства окружающей среды (температура, влажность и т. п.), сила и скорость нажатия/переключения; время удержания и т. д. [4].
В статье рассматривается применение дребезга контактов кнопок нажатия, клавишных и движковых переключателей для криптографических приложений. Проводится анализ дребезга контактов как при помощи внешнего измерительного оборудования (цифрового осциллографа), так и при помощи разработанного устройства анализатора, реализованного на программируемой логической интегральной схеме (ПЛИС). Полученные данные могут быть использованы для разработки аппаратного генератора случайных чисел, малые затраты на реализацию которого позволяют его внедрять в различные цифровые устройства.
Первичный анализ дребезга контактов
На рисунке 1 приведена схема подключения кнопки нажатия РВ ко входному порту цифрового устройства и условные временные диаграммы значения входного напряжения иРВ и логического сигнала SPB при нажатии, удержании и отпускании кнопки.
Рисунок 1. Схема подключения кнопки к порту цифрового устройства
Обычно дребезг контактов наблюдается при нажатии и отпускании кнопки, что выражается в нежелательных импульсах, число и амплитуда которых является случайными. Схемотехника портов ввода-вывода цифровых устройств, включающие в себя буферы-усилители, триггеры Шмитта и другие компоненты, способна сглаживать как высокочастотные, так и малые по амплитуде импульсы, тем самым частично решая задачу подавления дребезга. Для устранения дребезга производители цифровых устройств дополнительно используют различные подходы, среди которых можно выделить схемы на основе асинхронных RS-триггеров и RC-схем [3], которые широко применяются на практике. В некоторых цифровых устройствах, таких как микроконтроллеры и программируемые логические интегральные схемы (ПЛИС), встроенные схемы устранения дребезга могут отсутствовать. В таких случаях дребезг может быть устранен программным способом при помощи специального кода управления портом ввода [3] либо аппаратным - посредством реализации различных цифровых схем [3]. Подобные решения, помимо устранения естественного дребезга контактов, могут решать задачу анализа случайного многократного нажатия кнопок либо замыкания переключателей пользователем.
Для экспериментов по анализу дребезга контактов были выбраны следующие типы коммутаторов, перечисленные сведения о которых представлены в таблице 1. Схемы подключения всех коммутаторов схожи со схемой на рисунке 1, в которой использовался токоограничивающий резистор номиналом 4,7 кОм.
Наличие дребезга первично было оценено при помощи цифрового осциллографа R&S RTB 2002 [5]. На рисунке 2 представлены фотографии, полученные при помощи осциллографа при тестировании двух коммутаторов, а именно SW2 и SW3 (см. табл. 1).
Как видно из представленных фотографий, природа дребезга контактов различна для различных типов коммутаторов. Такие параметры, как число импульсов, их ширина и периодичность появления являются для них случайными.
3.2 V «1 • M П f T tymm*
2,4 V
1.6 V
800 mV
Ш
* ГШ
.1 5 _53_ВБЭ 307.7381 us El.£071 us Б15.47Б2 IS У FÇ9.3452 us 323.2143 UB
б
Рисунок 2. Результаты тестирования коммутаторов SW2 (а) и SW3 (б) при помощи цифрового осциллографа
Проведенные эксперименты наглядно показывают наличие эффекта дребезга контактов, в том числе и у остальных типов коммутаторов. Для автоматизации экспериментов, связанной с их многократным повторением, было решено реализовать цифровое устройство анализа дребезга контактов на ПЛИС типа FPGA ХШпх 2ущ-7000, входящей в состав платы быстрого прототипирова-ния Digilent 2уЬо 27-10 [6].
Для дальнейшего анализа и рассуждений введем следующие обозначения временных
а
параметров, которые будут использованы при реализации цифрового устройства анализа дребезга контактов и для сравнения коммутаторов различных типов.
На рисунке 3 приведена условная временная диаграмма цифрового сигнала дребезга контакта с основными исследуемыми параметрами, описание которых приведено ниже.
Таблица 1
Типы коммутаторов, использованных в экспериментах
№ Условное обозначение Тип Маркировка Внешний вид
1 BTN1 Кнопка тактовая KAN0611-0901B £
2 BTN2 Кнопка тактовая B3F1052
о 3 BTN3 Переключатель кнопочный DS-314
4 SW1 Микротумблер МТ1 >
5 SW2 Переключатель клавишный KCD1-101-C1-B/2P **
6 SW3 Переключатель клавишный KCD1-101-8-C3-R/2P
7 SS1 Движковый переключатель ISR-1336
8 SS2 DIP переключатель DS-02 *
Рисунок 3. Временная диаграмма дребезга контакта
Тмт - временное окно измерения, имеет фиксированное значение, начальной точкой измерения является фронт первого зарегистрированного импульса.
Тн - время удержания коммутатора в нажатом (включенном) состоянии.
Твн - время дребезга с момента включения до устойчивого включенного положения коммутатора.
ТВ1 - время дребезга с момента выключения до устойчивого выключенного положения коммутатора.
Р-'вн - ширина 1-го импульса дребезга при включении коммутатора, / = 0,1,2,...,N -1, где Ывн есть число импульсов дребезга при включении коммутатора.
1°''вн - ширина /-й паузы при включении коммутатора, / = 0,1,2,...,Мвн-1.
Р-'В1 - ширина /-го импульса дребезга при выключении коммутатора, / = 0,1,2,...,ЫВ1-1, где ЫВ1 есть число импульсов дребезга при выключении коммутатора.
Р-'В1 - ширина 1-й паузы при выключении коммутатора, / = 0,1,2,...,ЫВ1-1.
я,„ - «ЕЬ -1
Очевидно, что тш - £ + ь а твь - £ (Е + Е).
¡-о ¡-0
При этом общее время дребезга при одиночном включении и выключении коммутатора выразим как Тв = Твн + Тщ, а общее число импульсов дребезга - как
N N + N
в = вн в1
Наибольший интерес представляют параметры ТВ и Nв, которые не зависят от поведения человека и, предположительно, являются уникальными для конкретного типа и экземпляра коммутатора. К более субъективному параметру можно отнести Т , который может быть использован в большей степени для кнопочных переключателей без фиксации.
Цифровая схема анализатора дребезга контактов
Для автоматизации и более детального исследования дребезга контактов была разработана цифровая схема анализатора, реализованная на ПЛИС, ко входному порту которой подключались все перечисленные коммутаторы. Управление анализатором и передачей данных от него осуществляется встроенным процессором ARM Cortex-A9, для которого была написана соответствующая программа. Весь аппаратно-программный комплекс был спроектирован при помощи САПР Xilinx Vivado/Vitis с применением языков VHDL и C.
Общая структура разработанного анализатора приведена на рисунке 4. Анализируемый сигнал от коммутатора подключается ко входу BTN и далее сэмплируется на триггере DFF на частоте Fclk = 125 МГц. Устройство управления CTRL_FSM определив первый значимый фронт сигнала от коммутатора запускает счетчик временного окна измерения TMW_CNT. Значение самого окна задается 32-разрядным значением на входной шине TMW. Внутри временного окна измерения происходит последовательный подсчет периодов системного синхросигнала CLK на 64 синхронных счетчиках CNT. в зависимости от логического состояния сигнала на линии BTN, при каждом изменении которого происходит выбор следующей счетчика посредством адресного дешифратора ADR_SEL. Помимо этого схема содержит блоки обнаружения передних и задних фронтов сигнала BTN, счет которых осуществляется на счетчиках CTN и CNT соответственно.
RE FE
По окончании измерения блок CTRL_FSM прекращает управление счетом и вырабатывает сигнал готовности READY.
Рисунок 4. Структурная схема анализатора
Таким образом, после завершения процедуры измерения, значения счетчиков будут представлять собой количество временных отсчетов, кратное периоду сигнала СЬК, что позволяет обнаруживать единичный импульс дребезга протяженностью до
8 нс. Значения всех счетчиков передается на рабочую станцию для дальнейшего анализа. На рисунке 5 приведены примеры реконструкции дребезга контактов, ранее зафиксированных на цифровом осциллографе (см. рис. 2).
3 U с
х10
а
«3
0.0
0.2
0.4
0.6
0.8
1.0
t, с
х10
б
Рисунок 5. Реконструированные временные диаграммы дребезга коммутаторов SW2 (а) и SW3 (б)
Анализ экспериментальных данных
Анализ полученных данных для E = 100 нажатий каждого типа переключателей осуществлялся при помощи программного средства JupyterLab и языка Python с применением библиотек Numpy, Math, Statistics и MatPlotLib.
Сперва оценим число импульсов дребезга контактов как при включении NBH, так и при выключении коммутатора N , в том числе и общее число импульсов NB. Кроме этого, вычислим вероятность дребезга при включении PBH, выключении PBL и при однократном управлении PB коммутатором. В таблице 2 приведены средние значения числа импульсов и описанные выше вероятности дребезга, полученных на E экспериментах.
Как видно из представленных данных, рассматриваемые коммутаторы можно условно разделить на три группы: с постоянным дребезгом (SW1, SW2, SW3), с сильным дребезгом (BTN1, SS1, SS2) и со слабым дребезгом (BTN2 и BTN3). Большим средним числом импульсов при дребезге обладает SW1 (13,78), наименьшим - BTN2 (0,11), что характеризует его как наиболее надежный из рассматриваемых коммутаторов. Большее число импульсов дребезга при включении наблюдается у пяти коммутаторов (BTN1, SW1, SW2, SW3 и SS2). У остальных коммутаторов большее число импульсов дребезга наблюдается при их выключении. Наиболее схожими по представленным значениям являются два коммутатора SW2 и SW3.
Таблица 2
Усредненные значения импульсов и вероятности дребезга
Коммутатор NBH nbl NB PBH pbl pb
BTN1 0,89 0,42 1,31 0,69 0,3 0,78
BTN2 0 0,11 0,11 0 0,11 0,11
BTN3 0,49 0,69 1,18 0,17 0,18 0,27
SW1 12,91 0,87 13,78 1 0,49 1
SW2 6,57 0,07 6,64 1 0,04 1
SW3 6,23 0,02 6,25 1 0,02 1
SS1 0,86 1,85 2,71 0,46 0,65 0,76
SS2 0,92 0,01 0,93 0,88 0,01 0,88
Далее рассмотрим временные параметры коммутаторов, а именно продолжительность дребезга при включении Твн и при выключении Твь . Сперва оценим размах величин Твн и Твь для каждого из коммутаторов, выраженный в его минимальном и максимальном значениях, представленных на рисунке 6. Из представленных графиков видно,
что размахи значений TBH и TBL отличаются как для одного, так и для всех коммутаторов. Максимальным размахом общего времени дребезга TB обладает BTN3 (56,852 мс), а минимальным - SS2 (52,384 мкс). Схожие по предыдущим рассмотренным значениям SW2 и SW3 разнятся по размаху величины TBL (190,784 мкс и 5,448 мкс соответственно).
Рисунок 6. Размах параметров дребезга контактов: T (а), T (б) и T (в)
На рисунке 7 приведены столбчатые коэффициентов вариации сч значений Твн, Твь и Тв диаграммы математических ожиданий ц и для всех рассматриваемых коммутаторов.
Коммутатор
а
Рисунок 7. Значения математических ожиданий (а, б, в) и коэффициентов вариации (г, д, е) для параметров Твн, Т и Тв
б
а
в
б
в
д
г
е
Большим отклонением от математического ожидания параметра ТВ обладают кнопки ВТШ и ВТЮ, наименьшим - SS1. Большим коэффициентом вариации при включении обладают коммутаторы ВТЮ и SS1, а при выключении - коммутаторы ВТШ и ВТЮ. По значениям математических ожиданий явно выделяются две группы: группа движковых переключателей SS1 и SS2, и группа всех кнопок, за исключением ВТЮ.
Далее перейдем к анализу времени удержания во включенном положении рассматриваемых коммутаторов. На рисунке 8 приведены графики основных свойств параметра ТН на Е экспериментах, а именно - размах параметра ТН, значения его математического ожидания ц(ТН) и коэффициента вариации с (ТН).
Как видно из представленных графиков время удержания кнопочных переключателей (ВКТ1, ВТЫ2, ВТЮ) существенно меньше в сравнении с остальными коммутаторами. Наибольшее значение амплитуды ТН принадлежат движковому переключателю SS1, что обуславливается большим размером его контактов. Наибольшим разбросом от средней величины ТН обладает переключатель ВТЮ, что может свидетельствовать о менее стационарных процессах, происходящих при его нажатии и отпускании в сравнении с остальными коммутаторами.
Однако, параметр ТН сильно зависит от субъективных факторов и в большей степени характеризует пользователя, который управляет соответствующим коммутатором. Данный параметр часто применяется для аутентификации пользователей по клавиатурному подчерку [7].
П1ППП
ВТМ ВТ№ втаз 3*1 331 в32
Коммутатор
а б в
Рисунок 8. Временные параметры удержания контактов: размах Тн (а), ^(Т ) (б) и с (ТН) (в)
Предлагаемая схема использования коммутаторов
Представленные результаты экспериментальных исследований свидетельствуют о том, что коммутаторы могут быть использованы в качестве комбинированных источников случайности, а именно:
- как физические источники [8], для которых случайными значениями являются параметры Nвн , N N Т Т и Т •
вь' в' бю вь в'
- как источники, основанные на действиях оператора [8], при этом случайным является параметр Тн .
Кроме этого, рассмотренные параметры являются уникальными для различных типом коммутаторов, что может быть использовано для решения задач идентификации и аутентификации цифровых систем и пользователей. В этом контексте поведение коммутаторов схоже с поведением цифровых физически неклонируемых функций (ФНФ) [9], являющихся современной основой для физической криптографии.
На рисунке 9 приведена общая предлагаемая схема использования коммутаторов для цифровых систем.
Рисунок 9. Схема использования коммутаторов
Например, для генерирования случайных чисел может быть применена схема, основанная LFSR-структуре (генератор М-последовательности), старт-стопный режим которой определяется значением сигнала от коммутатора в различные периоды времени (TBH, TL и TB). Либо, как альтернатива, может быть применена схема одно/ (много)-канального сигнатурного анализатора, сжимающего двоичные значения, получаемые от коммутатора во время его использования. Подобные схемы часто применяются как схемы постобработки данных от физических источников случайности, обладают малыми аппаратурными затратами на реализацию и хорошими статистическими свойствами вырабатываемых последовательностей.
Заключение
В статье представлен анализ дребезга контактов коммутаторов, используемых в цифровых
устройствах различного назначения. Показано, что все из рассмотренных коммутаторов в той либо иной степени обладают эффектом дребезга. Для детального исследования дребезга была спроектирована цифровая система анализатора на основе FPGA, позволяющая оценивать такие временные параметра дребезга как, время дребезга во время включения и выключения коммутатора, число импульсов дребезга, и время удержания коммутатора во включенном состоянии. На основании анализа таких характеристик перечисленных временных параметров как, размах, математическое ожидание и коэффициент корреляции, было показано, что исследуемые коммутаторы могут быть различимы и быть применены для генерации случайных чисел. Была предложена общая схема анализа дребезга контактов, которая может выполнять несколько функций, а именно: устранение дребезга, идентификация коммутатора и пользователя, генерация случайных чисел.
ЛИТЕРАТУРА
1. Томас Р.К. Коммутационные устройства / Р.К. Томас. - Москва: Радио и связь, 1989. - 144 с.
2. Maxfield M. Switch Bounce and Debounce (Part 1): Switch Types [Electronic resource] / M. Maxfield. - Mode of access: https://www.eeweb.com/switch-bounce-and-debounce-part-1-switch-types. - Date of access: 03.05.2023.
3. Maxfield, M Ultimate Guide to Switch Debounce (Part 1) [Electronic resource] / M. Maxfield. - Mode of access: https://www.eejournal.com/article/ultimate-guide-to-switch-debounce-part-1. - Date of access: 03.05.2023.
4. Переключатели электромеханические для электрического и электронного оборудования. Общие технические условия: Межгосударственный стандарт ГОСТ IEC 61020-1-2016. Ч. 1. - Москва: Стандартинформ, 2017. - 50 с.
5. Руководство пользователя R&S RTB2000 [Электронный ресурс]. - Режим доступа: https://www.rohde-schwarz. com/cac/manual/-r-s-rtb2000-manuals_78701-402707.html. - Дата доступа: 15.05.2023.
6. Zybo Z7: Zynq-7000 ARM/FPGA SoC Development Board [Electronic resource]. - Mode of access: https://digilent. com/reference/programmable-logic/zybo-z7/start. - Date of access: 15.05.2023.
7. Shekhawat, K A novel approach for user authentication using keystroke dynamics / K. Shekhawat, D.P. Bhatt // Journal of Discrete Mathematical Sciences and Cryptography. - 2022. - № 7(25). - P. 2015-2027.
8. Информационные технологии и безопасность. Криптографические алгоритмы генерации псевдослучайных чисел: СТБ 34.101.47-2017. - Взамен СТБ 34.101.2012; введ. РБ 31.12.2017. - Минск: Госстандарт, 2017. - 22 с.
9. Ярмолик, В.Н. Физически неклонируемые функции / В.Н. Ярмолик, Ю.Г. Вашинко // Информатика. - 2011. -№ 2(30). - С. 92-103.
REFERENCES
1. Tomas, R.K. Switching Devices. Moscow: Radio and Communication, 1989, 144 р.
2. Maxfield, M. Switch Bounce and Debounce (Part 1): Switch Types [Electronic resource]. Mode of access: https://www. eeweb.com/switch-bounce-and-debounce-part-1-switch-types. - Date of access: 03.05.2023.
3. Maxfield, M. Ultimate Guide to Switch Debounce (Part 3) [Electronic resource]. Mode of access: https://www. eejournal.com/article/ultimate-guide-to-switch-debounce-part-3. - Date of access: 03.05.2023.
4. Electromechanical switches for electrical and electronic equipment. General technical conditions: Interstate standard GOST IEC 61020-1-2016. Ch. 1. Moscow: Standartinform, 2017, 50 p. (In Russ.).
5. User guide for R&S RTB2000 [Electronic resource]. Mode of access: https://www.rohde-schwarz.com/cac/manual/-r-s-rtb2000-manuals_78701-402707.html. - Date of access: 15.05.2023.
6. Zybo Z7: Zynq-7000 ARM/FPGA SoC Development Board [Electronic resource]. Mode of access: https://digilent. com/reference/programmable-logic/zybo-z7/start. - Date of access: 15.05.2023.
7. Shekhawat K., Bhatt D.P. A novel approach for user authentication using keystroke dynamics. Journal of Discrete Mathematical Sciences and Cryptography, 2022;7(25):2015-27.
8. Information technology and security. Cryptographic algorithms for generating pseudorandom numbers: STB 34.101.47-2017. - In return of STB 34.101.2012 ; intr. RB 31.12.2017. Minsk : Gosstandart, 2017, 22 р. (In Russ.).
9. Yarmolik, V.N., Vashinko Ju.G. Physically Unclonable Functions. Informatika, 2011;2(30):92-103. (In Russ.)
ALEXANDER A. IVANIUK, DMITRIJ O. MOZHEJKO
DIGITAL CIRCUIT FOR SWITCH CONTACT BOUNCE ANALYSIS
Belarusian state University of Informatics and Radioelectronics Minsk, Republic of Belarus
This article discusses the issue of studying the parameters of the bounce of electrical contacts of switches in digital systems. Digital circuits of bounce analyzer are described. The results of experimental studies of the behavior of electrical contacts of various buttons and switches are presented. It is shown that various electric switches have random and unique characteristics, which can be used to solve the problems of random numbers generating, identifying of digital devices and user's authentication. Prototyping of the proposed circuits was carried out on Digilent ZYBO Z7-10 debug boards, digital circuits were designed in VHDL for the Xilinx Zynq-7000 FPGA chip.
Keywords: analyzer, contacts bounce, digital circuit, FPGA
Иванюк Александр Александрович, доктор технических наук, профессор, профессор кафедры информатики БГУИР. Сфера научных интересов: физическая криптография, контролепригодное проектирование средств вычислительной техники. Автор более 180 научных работ и 9 патентов.
Alexander A. Ivaniuk, doctor of sciences, full professor, professor at Computer Science department at the Belarusian State University of Informatics and Radioelectronics, Research interests: physical cryptography, digital design and design for testability. He has published over 180 scientific articles and 9 patents.
E-mail: ivaniuk@bsuir.by
Можейко Дмитрий Олегович, студент кафедры ЭВМ БГУИР. Сфера научных интересов: физическая криптография.
Dmitrij O. Mozhejko, Student at Electronic Computing Machines department at the Belarusian State University of Informatics and Radioelectronics. Research interests: physical cryptography.
E-mail: dimamozheiko13@gmail.com