Виганд (интерфейс)

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Wiegand — простой проводной интерфейс связи между устройством чтения идентификатора (карточки) и контроллером, широко применяемый в системах контроля доступа (СКУД).

Предназначен для передачи результата идентификации со считывателя СКУД на контроллер. В частном случае по интерфейсу может передаваться номер считанной бесконтактной карты, номер радио-брелка, набранный PIN код, номер шаблона отпечатка пальца.

Интерфейс не имел официального стандарта, однако постфактум многие компании приняли внутренние нормативы на интерфейс. Один из наиболее известных документов предложен американской организацией Security Industry Association (англ.) «SIA AC-01-1996.10 — Access Control — Wiegand».[1]

Интерфейс не поддерживает шифрование передаваемых данных, аутентификацию сторон, контроль целостности линии между считывателем и контроллером. Также интерфейс не позволяет решать других задач взаимодействия считывателя с контроллером кроме передачи результата идентификации, в т.ч. управление индикацией считывателей. В качестве альтернативы Wiegand, избавленной от указанных недостатков, SIA рекомендует использовать интерфейс OSDP.

История[править | править вики-текст]

Изначально интерфейс применялся в считывателях магнитных карт и был максимально оптимизирован под простейшие считыватели. В сущности это был простой выход усилителя чтения. Из-за распространенности магнитных карт этот интерфейс стал стандартным де-факто. Позже магнитные карты были вытеснены бесконтактными картами (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.

Электрическое подключение[править | править вики-текст]

Wiegand interface electrical.png

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

Максимальная длина линии связи сильно зависит от грамотного выбора кабеля (основные критерии — низкая погонная емкость, низкое омическое сопротивление) и грамотного построения схемы развязки питания считывателя и контроллера. Обычные значения, приводимые поставщиками оборудования — до 150…250 метров.

Формат данных[править | править вики-текст]

Передача данных[править | править вики-текст]

Wiegand interface oscillogram.PNG

Передача ведется короткими импульсами. Наличие импульса в линии «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-Motorolla (Wiegand-8).

В обоих подходах кроме цифр как таковых зачастую считыватели могут передавать по Wiegand служебные символы, такие как # и *, в случае если они присутствуют на клавиатуре.

Примечания[править | править вики-текст]

  1. Product Detail Page. Проверено 6 апреля 2013.