Швейцарский ножик NFC Степан Ильин aka Step Хакер, номер #083, стр. 083-046-4 Подобно многим другим девайсам, работающим в радиочастотном диапазоне, NFC-соединение является полудуплексным. Вспомни: для того чтобы сказать что-то по рации, приходится зажимать специальную кнопку. Тебя слышно только тогда, когда эта кнопка нажата, и наоборот, отпуская кнопку, ты можешь услышать своего собеседника. Это и называется режимом «полудуплекса». В плоскости NFC это выглядит так: перед передачей данных NFC-устройство должно просканировать эфир, и лишь убедившись в том, что ни одно другое устройство не активно, приступать к передаче сигнала. Протокол NFC дифференцирует устройства на те, которые инициируют подключение (Initiator) и те, что принимают его (Target of the communication). В зависимости от ситуации, любое устройство может выполнять как одни, так и другие функции. Подобное разделение ролей было реализовано не забавы ради, а для того чтобы разграничить обязанности каждой из участвующих в соединении сторон. Initiator всегда выполняет функции координатора: управляет частотной и пакетной синхронизацией, следит за связью, уровнем сигнала и т.п. Задачи принимающей стоны существенно проще: она лишь отвечает на запросы соединения. Стоит сказать, что устройства могут работать в активном (Active mode) или же пассивном (Passive mode) режиме. Разница в том, что в активном режиме оба девайса генерируют свое электромагнитное поле и используют его для передачи данных. В пассивном режиме поле генерирует только одно из устройств, но зато другим устройством используется особый метод модуляции сигнала. В протоколе также прописано, что устройство, инициирующее подключение, всегда должно работать в активном режиме, то есть генерировать свое электромагнитное поле. И это вполне логично. Когда два объекта со встроенными микросхемами поддержки NFC оказываются поблизости (максимальная дистанция 20 см), они распознают друг друга и организуют соединение, в ходе которого возможен обмен данными на скорости 106 Кбит/с, 212 Кбит/с или 424 Кбит/с. Спецификация NFCIP-1 (Near Field Communication) предусматривает различные методы модуляции сигнала и кодирования данных для разных скоростей. NFC постоянно отслеживает состояние канала и подстраивается под конкретные условия среды. Если эфир сильно зашумлен, разумение использовать меньшую скорость и большее количество избыточных данных для возможности коррекции ошибок. Если помехи в эфире незначительны, значит, NFC-устройства вполне могут работать на самой высокой скорости, по крайней мере, до тех пор, пока условия в эфире не изменятся. Выбор скорости и соответственно метод модуляции выбирает устройство, которое инициирует подключение. После этого в эфир передается определенный набор символов, которые легко анализируются и позволяют принимающей стороне настроиться на ту же скорость и модуляцию. |