Виганд (интерфейс)
Wiegand — простой проводной интерфейс связи между устройством чтения идентификатора (карточки) и контроллером, широко применяемый в системах контроля и управления доступом (СКУД).
Предназначен для передачи результата идентификации со считывателя СКУД на контроллер. В частном случае по интерфейсу может передаваться номер считанной бесконтактной карты, номер радио-брелока, набранный PIN код, номер шаблона отпечатка пальца.
Интерфейс не имел официального стандарта, однако постфактум многие компании приняли внутренние нормативы на интерфейс. Один из наиболее известных документов предложен американской организацией Security Industry Association «SIA AC-01-1996.10 — Access Control — Wiegand»[1].
Интерфейс не поддерживает шифрование передаваемых данных, аутентификацию сторон, контроль целостности линии между считывателем и контроллером. Также интерфейс не позволяет решать других задач взаимодействия считывателя с контроллером кроме передачи результата идентификации, в т. ч. управление индикацией считывателей. В качестве альтернативы Wiegand, избавленной от указанных недостатков, SIA рекомендует использовать интерфейс OSDP.
История
Изначально интерфейс применялся в считывателях особых пластиковых карт с отрезками проволоки из сплава Виганда (John R. Wiegand), в отличие от магнитных карт (в т.ч. банковских), для которых применялся интерфейс Clock+Data. Простейшие считыватели карт Виганд не имели вообще электроники, поскольку сплав виганда при перемагничивании создавал достаточно сильный сигнал в считывающей магнитной головке. Поскольку карты Виганд значительно более стойкие чем банковские и шире применялись в системах управления доступом этот интерфейс стал стандартным де-факто. Позже как ВИганд-карты так и магнитные карты были вытеснены бесконтактными картами (RFID) однако интерфейс был сохранён неизменным в целях совместимости оборудования. На территории РФ первоначальные считыватели карт с технологией Виганд практически не применялись, широкое внедрение систем СКУД началось уже после появления бесконтактных (RFID, проксимити) карт.
Разновидности
Существует несколько разновидностей интерфейса Wiegand, различающихся цифрами в названии интерфейса. Эта цифра в названии обозначает количество бит в посылке.
Наиболее распространённые считыватели и контроллеры СКУД поддерживают следующие варианты Wiegand:
- Wiegand-26. Самый распространённый. Состоит из 24 бит кода и 2 бит контроля на четность.
- Wiegand-33. Состоит из 32 бит кода и 1 бита контроля на четность.
- Wiegand-34. Состоит из 32 бит кода и 2 бит контроля на четность.
- Wiegand-37. Состоит из 35 бит кода и 2 бит контроля на четность.
- Wiegand-40. Состоит из 40 бит кода, контроля на чётность нет.
- Wiegand-42. Состоит из 40 бит кода и 2 бит контроля на четность.
Существуют разновидности считывателей с длиной Wiegand до 128 бит. На самом деле количество бит в формате Wiegand может быть практически любым разумным. Когда встречаешь новую цифру в названии остаётся неясным только наличие контрольных битов чётности и методика их расчёта.
Существуют и некоторые другие названия для аналогичных интерфейсов. Распространён, например, интерфейс KSF который является фактически Wiegand-32.
Электрическое подключение
Для связи между считывателем и контроллером СКУД используется трёхпроводная шина — два сигнальных провода, один общий. На рисунке приведена классическая схема подключения, из неё очевидны и электрические параметры интерфейса.
Максимальная длина линии связи сильно зависит от грамотного выбора кабеля (основные критерии — низкая погонная ёмкость, низкое омическое сопротивление) и грамотного построения схемы развязки питания считывателя и контроллера. Обычные значения, приводимые поставщиками оборудования — до 150…250 метров.
В качестве кабеля можно использовать витую пару 5-ой категории. При этом сигналы «Data0» и «Data1» должны передаваться в разных парах (провод "а"), второй провод пары (провод "б") подключается к клемме "общий".
Формат данных
Передача данных
Передача ведётся короткими импульсами. Наличие импульса в линии «Data0» означает что был передан лог.0, наличие импульса в линии «Data1» означает что был передан лог.1. Ширина импульсов и их период сильно варьируется в зависимости от изготовителя считывателя. Ширина импульсов обычно в диапазоне 20…200 мкс. Период следования импульсов — 300…3000 мкс.
Связь односторонняя, в момент обнаружения карты происходит однократная передача кадра с кодом карты от считывателя к контроллеру СКУД. Передача идёт старшим битом кода вперёд.
Разделение кадров осуществляется по тайм-ауту. Реально минимальное время между кадрами 0,5 сек., рекомендуемый тайм-аут для контроллера СКУД — 50…250мс.
Понятие фасилити
Исторически сложилось так что многие системы контроля доступа и изготовители карточек условно делят код карты на две неравные части которые называют фасилити и номер. Обычно к номеру относят младшие 16 бит кода, всё остальное к фасилити. Причина такого деления — экономия памяти в очень старых контроллерах доступа. При монтаже объекта подбирались карты с одинаковым фасилити и в память контроллера записывались только младшие 16 бит кода метки (номер). С тех пор прошло много времени и подобная экономия давно в прошлом, но многие системы всё ещё оперируют этими понятиями, показывая код карты разделённым на части. В наше время никакой смысловой нагрузки такое разделение не имеет.
Контроль на четность
Если имеется контроль по чётности, то к битам кода карты добавляются два бита — один перед кодом, другой после. Соответственно весь код карты делится ровно посередине на две части. Чётность старшей половины кода контролируется первым битом, младшей — последним. Если количество бит в коде нечётное, то центральный бит кода входит в оба контроля чётности.
Первый бит чётности (старшей половины кода) ставится в 1 если количество единиц в его половине кода нечётное. Последний бит чётности (младшей половины кода) ставится в 1 если количество единиц в его половине кода чётное.
Надо заметить, что встречаются считыватели не подчиняющиеся этому правилу контроля чётности. Поэтому реально большинство универсальных контроллеров СКУД просто игнорируют контроль на чётность. Кроме того, некоторые форматы бесконтактных карт несут информацию о количестве бит кода и чётности прямо на карте, соответственно считыватель не может никоим образом влиять на реальный выходной формат данных. Таков, например, формат HID ProxPass, Indala ASP и др.
Wiegand и клавиатуры для ввода PIN кода
Многие СКУД поддерживают идентификацию по набору PIN-кода на клавиатуре. При этом набранный код может служить как основным идентификационным признаком, так и дополнительным. Обычно набранный код при этом тоже передаётся по интерфейсу Wiegand. Существуют разные подходы к его передаче, наиболее распространены следующие:
- Wiegand-26. При этом вводимые цифры буферизируется на считывателе, а по окончании набора передаются все разом в составе одной Wiegand посылки. Способ кодирования цифр в посылку не стандартизован, но зачастую это BCD кодирование, что позволяет передать код длиной до 6 цифр (6=24/4).
- Wiegand-4, Wiegand-6, Wiegand-8. При этом вводимые цифры отправляются по Wiegand по-отдельности по мере ввода. Общепринятого стандарта на кодирование цифр в посылку нет, но наиболее распространены вариации, которые называются Wiegand-HID (Wiegand-6) и Wiegand-Motorola (Wiegand-8).
В обоих подходах кроме цифр как таковых зачастую считыватели могут передавать по Wiegand служебные символы, такие как # и *, в случае если они присутствуют на клавиатуре.
Примечания
- Product Detail Page . Дата обращения: 6 апреля 2013. (недоступная ссылка)