Приемопередатчики PAN 2355 для частотного диапазона 868 МГц
В большинстве стран мира открытым для свободного использования является радиочастотный диапазон 868 МГц. Россия также не является исключением. На основании решения ГКРЧ от 07.05.2007 (протокол № 07-20) в районе указанной частоты выделена следующая полоса: 868–868,2 МГц. Согласно этому решению устройства дистанционного управления, охранной сигнализации и оповещения с мощностью радиоизлучения не более 10 мВт могут использоваться без регистрации в соответствующих органах по надзору за радиочастотами.
Работа в частотном диапазоне 868 МГц обладает преимуществом по сравнению с работой в СВЧ диапазоне 2,4 ГГц в связи с известной в физике зависимостью интенсивности затухания радиоволн от частоты радиоизлучения. Так, в диапазоне 868 МГц дальность уверенной связи в несколько раз больше, чем в диапазоне 2,4 ГГц, при одинаковой мощности излучения. Кроме того, устройства, работающие в диапазоне 868 МГц, обладают достаточно хорошей устойчивостью к действию преград на пути распространения радиоволн, таких как погодные осадки, перепады рельефа местности, деревья и др. Радиоволны диапазона 868 МГц значительно лучше распространяются в замкнутых пространствах, таких как тоннели метро, колодцы, городские улицы и т. д., чем радиоволны диапазона 2,4 ГГц.
Существуют у ISM диапазона 868 МГц и недостатки. Главный недостаток — это слишком узкая полоса частот, открытая для свободного использования, и как следствие — низкая потенциальная скорость передачи данных по сравнению с диапазоном 2,4 ГГц. Но это является скорее следствием принятой в России стандартизации, чем физическими свойствами самого частотного диапазона.
В связи с практическим отсутствием отечественной элементной базы, позволяющей создавать гибкие конкурентоспособные решения для беспроводной передачи данных в диапазоне 868 МГц, российские разработчики больше внимания уделяют зарубежным производителям радиоэлектронных модулей. На выбор того или иного модуля, способного удовлетворить запросы российских потребителей, влияет целый ряд факторов: доступность модуля в ограниченных (для опытного производства) и массовых (для серийного производства) количествах, его цена, габариты, простота монтажа, легкость настройки, набор необходимых функциональных возможностей, а также технические характеристики, позволяющие решить поставленную задачу, не вступая при этом в противоречия с требованиями ГКРЧ.
С учетом перечисленных требований, выбор большинства российских разработчиков останавливается на радиомодулях PAN 2355 (рис. 1) фирмы Panasonic EDEU, предназначенных для работы в диапазоне 868 МГц. Радиомодуль PAN 2355 прост в использовании и не требует усилий по разработке высокочастотных цепей, характеризуется чрезвычайно малыми размерами (8×8,2×2 мм) и относительно невысокой стоимостью.
Основное назначение модуля — узкополосные системы малого радиуса действия с двунаправленной передачей данных в диапазоне частот 800–928 МГц.
Основой модуля PAN 2355 является интегральный многоканальный полудуплексный приемопередатчик СС1100 компании Chipcon, рассчитанный на работу в диапазоне частот от 300 МГц до 1 ГГц. Поэтому фактический рабочий диапазон всего радиомодуля PAN 2355 задается согласующими высокочастотными цепями и внешним микроконтроллером, для связи с которым предусмотрен интерфейс SPI (рис. 2).
В рабочем диапазоне частот может быть программным способом задано несколько частотных каналов шириной от 58 до 812 кГц. Максимальная полная скорость передачи данных составляет 500 кбит/с, что тоже является весьма привлекательной для разработчика характеристикой.
Для ознакомления с возможностями радиомодуля PAN 2355 существует специальный отладочный набор, состоящий из двух отладочных плат Evaluation-Board for PAN 2355 (рис. 3) и компакт-диска с документацией и демонстрационным проектом с открытыми исходными кодами на языке Си.
На отладочной плате размещены: непосредственно сам радиомодуль PAN 2355, микроконтроллер Freescale MC9S08GT32, два разъема RS-232, 6-контактный разъем для подключения BDM-программатора, 8-контактный разъем для прямого подключения к выводам радиомодуля PAN 2355, USB-разъем (используется только для подводки питания), выводы питания для прямого подключения к PAN 2355, аналоговые выводы (подключены к соответствующим выводам микроконтроллера), разъем под внешнюю SMA-антенну, а также ряд периферийных элементов, таких как кнопки и светодиодные индикаторы.
Демонстрационный проект с исходными кодами, входящий в состав отладочного набора, реализует основные функции радиомодуля PAN 2355 и может служить хорошей основой для более сложных разработок. Для редактирования и компиляции исходников рекомендуется среда разработки ICC08, входящая в состав пакета ImageCraft Development Tools. Исходники демонстрационного проекта, приведенные на компакт-диске, уже скомпилированы в выходной файл формата .s19 (этот файл также имеется на диске), который, в свою очередь, прошит в микроконтроллер каждой отладочной платы. Данный проект предназначен для управления радиомодулем PAN 2355 с помощью AT-команд. В качестве управляющего устройства может выступать персональный компьютер, подключенный к отладочной плате посредством стандартного кабеля RS-232. Для общения с отладочной платой с помощью AT-команд рекомендуется использовать программу Hyper Terminal из стандартного арсенала Windows. При этом необходимо задать параметры COM-порта как в настройках системы Windows, так и в самой программе Hyper Terminal.
После подключения платы к компьютеру и включения питания (либо нажатия на кнопку Reset на плате при включенном питании), если плата исправна, а включение ее произведено правильно, в рабочем окне Hyper Terminal появятся строки, первая из которых сообщит о том, что приемопередатчик CC1100 инициализирован, а вторая будет содержать информацию о номере версии программы. В третьей строке будет мигать курсор, готовый к вводу AT-команд (таблица).
Примечания:
- Типы параметров: y = число с плавающей точкой, x = десятичное целое, hh = шестнадцатеричное целое.
- Параметры, указанные в квадратных скобках […], не являются обязательными.
Для получения списка всех доступных команд следует ввести символ «?». Полный перечень AT-команд с подробными комментариями, а также описание режимов работы и устанавливаемых параметров можно найти в документации [1] к отладочной плате.
Основой радиомодуля PAN 2355, как было отмечено ранее, является приемопередатчик CC1100. Программирование радиомодуля сводится к записи определенных значений в соответствующие регистры приемопередатчика CC1100 через порт SPI. Полное описание регистров CC1100 с соответствующими комментариями можно найти в документации производителя [2]. Там же можно загрузить утилиту для персонального компьютера SmartRF Studio (рис. 4), которая позволяет произвести пересчет задаваемых пользователем физических параметров (тип модуляции, способ кодирования, выходную мощность и др.) в значения конфигурационных регистров и сохранить полученные таким образом настройки в файл для их последующей загрузки в приемопередатчик CC1100.
Список регистров, используемых для конфигурирования приемопередатчика, можно найти также в заголовочном файле cc1100.h, входящем в состав демонстрационного проекта, речь о котором шла выше. Все адреса регистров здесь оформлены в виде констант, имена которых совпадают с именами в документации на приемопередатчик CC1100. Для выполнения некоторых конфигурационных настроек в демонстрационном проекте созданы специальные функции, описания которых нет в документации, но использование которых позволяет избежать утомительных расчетов и упрощает процесс программирования.
Более детальный обзор возможностей радиомодуля PAN 2355 начнем с рассмотрения особенностей его аналогового тракта. Модуль аппаратно поддерживает несколько видов модуляции. Для установки параметров модуляции и кодирования данных в демонстрационном проекте задана функция:
Первый параметр Modformat отвечает за выбор типа модуляции. В приемопередатчике CC1100, а следовательно, и в радиомодуле PAN 2355 доступны следующие типы модуляции:
- Частотная манипуляция FSK2 (Frequency Shift Keying). При частотной манипуляции значениям «0» и «1» двоичной информационной последовательности соответствуют две определенные частоты синусоидального сигнала при неизменной амплитуде (рис. 5а). Цифра 2 означает, что соседние битовые символы перекрываются друг с другом во времени на 50%. Частотная манипуляция весьма помехоустойчива, поскольку помехи радиоэфира искажают в основном амплитуду, а не частоту сигнала.
Однако при частотной манипуляции неэкономно расходуется частотный ресурс канала (рис. 5б). Как известно, информационная емкость канала связи или максимально достижимая скорость передачи данных согласно теореме Шеннона определяется как:
где Es — энергия сигнала, а E0 — энергия шумов, попадающих в полосу сигнала (полосу канала) за время его приема, ΔF — эффективная ширина спектра сигнала (ширина заштрихованного прямоугольника на рис. 5б). Как видно из рисунка, эффективная ширина спектра синусоидального импульса значительно меньше полосы частот, отведенной под канал связи. При этом, очевидно, скорость передачи данных будет далека от потенциально возможной (когда эффективная ширина спектра сигнала совпадает с частотной полосой канала). Поэтому модуляцию FSK целесообразно использовать в низкоскоростных протоколах, позволяющих осуществлять связь по каналам с низким отношением сигнал/шум.
В радиомодуле PAN 2355 частотная полоса канала связи, длительность информационного символа, а также частотная девиация устанавливаются программно путем инициализации соответствующих регистров приемопередатчика CC1100. В демонстрационном проекте, входящем в состав отладочного набора, для этих целей созданы специальные функции:
Функция (2) устанавливает полосу канала связи в кГц (параметр ChannelSpacing), функция (3) позволяет задать частотную девиацию (параметр dev). Функция (4) фактически задает длительность битового символа путем установки скорости передачи данных в кбит/с (параметр Data). Параметр RX_BW позволяет задать полосу пропускания (кГц) полосового фильтра для подавления внеполосных излучений.
Включение частотной манипуляции FSK2 производится с помощью функции (1) путем передачи в качестве параметра Modformat значения FSK2, либо с помощью прямого доступа к регистрам приемопередатчика согласно документации [2].
- частотная манипуляция GFSK (Gaussian filtered frequency shift keying). Модулирующий сигнал формируется путем преобразования информационного потока из вида 0/1 в вид –V/+V. Затем сигнал фильтруется, в результате чего получается последовательность биполярных гауссовских импульсов. Далее полученная последовательность подается на ЧМ-модулятор, и таким образом формируется полный сигнал GMSK. Это эквивалентно пропусканию сигнала каждого бита с FSK модуляцией через соответствующий фильтр с импульсной характеристикой h (t) в виде симметричного гауссовского импульса с длительностью, равной длительности T битового символа (рис. 6а).
При этом спектр каждого битового символа (рис. 5б) умножается на частотную характеристику соответствующего гауссовского фильтра (рис. 6б), что приводит к подавлению излучений на боковых частотах и улучшает электромагнитную совместимость сигнала с радиоэлектронными средствами, работающими в соседних частотных каналах. От крутизны фронтов импульсной характеристики h (t) гауссовского фильтра зависит ширина полосы пропускания этого фильтра. В приемопередатчике PAN 2355 ширина полосы пропускания фильтра обратно пропорциональна установленной длительности битового символа T.
Включение модуляции GFSK может производиться с помощью упомянутой ранее функции (1) путем пересылки вместо параметра Modformat значения GFSK2, либо согласно документации [2]. Остальные параметры (длительность битового символа, частотная девиация, полоса канала) устанавливаются так же, как и для 2-FSK модуляции, с помощью функций (2–4).
- Частотная манипуляция с минимальным сдвигом MSK (Minimal Shift Keying). Представляет собой способ модуляции, при котором удается избежать скачков фазы, свойственных модуляциям FSK и GFSK (рис. 5а), путем изменения частоты в моменты пересечения несущей нулевого уровня (рис. 7).
Значения частот, соответствующих логическим «0» и «1», отличаются на величину, равную половине скорости передачи данных. Другими словами, индекс модуляции равен 0,5:
где Δƒ = |ƒ«1» – ƒ«0»|, а T — длительность бита. Это делается с целью максимально экономного использования выделенной под канал частотной полосы. Согласно критерию Найквиста [3], минимальный частотный разнос между символами двоичного кода должен составлять не менее половины частоты следования этих символов, то есть скорости передачи данных. При выполнении этого критерия межсимвольной интерференцией практически можно пренебрегать и получать минимальный уровень ошибок при передаче данных через канал с белым шумом. Поскольку модель белого шума является несколько идеализированной, а на практике часто встречаются помехи, сосредоточенные по спектру, то модуляцию MSK следует применять в тех случаях, когда требуется получить максимально высокую скорость передачи данных при ограниченной полосе частот и низком уровне помех. Следует также отметить, что уровень внеполосных излучений в этом способе модуляции значительно выше, чем, например, в GFSK или даже в 2-FSK.
Включение данного вида модуляции производится передачей в качестве параметра Modformat функции (1) значения MSK. Настройка таких параметров, как длительность битового символа, частотная девиация и полоса канала, выполняется так же, как и для 2-FSK модуляции, с помощью функций (2), (3), (4).
- Модуляция OOK (On-Off Keying). Производится путем включения/выключения несущей частоты, что соответствует передаче двоичного символа «1» или «0». Такой способ модуляции требует для передачи данных еще более узкого диапазона частот, чем MSK, обладает более высокой помехоустойчивостью, но проигрывает в скорости.
- Амплитудная манипуляция ASK (Amplitude Shift Keying). Это более широкополосный способ модуляции, по сравнению с рассмотренными ранее. Все двоичные символы передаются на одной несущей с помощью скачкообразных перепадов амплитуды. В приемопередатчике модуля PAN 2355 введено ограничение на максимальную мощность передаваемого сигнала с модуляцией ASK (не более –1дБ). Перепад амплитуды между символами сообщения задается программно. К достоин ствам такого способа модуляции можно отнести то, что с его помощью можно передавать не только двоичные, но M-ичные символы. Хотя при увеличении числа M кодовых символов снижается помехоустойчивость и растет вероятность ошибок. Недостаток заключается в том, что при прохождении через нелинейный тракт приемника или передатчика ASK модулированный сигнал подвергается существенным искажениям (этим и обусловлено ограничение на максимальную мощность). В связи с перечисленными недостатками в настоящее время модуляция ASK применяется довольно редко.
Включение последних двух видов модуляции производится с помощью функции (1) присвоением параметру Modformat значения ASKOOK и установкой требуемых уровней сигнала, соответствующих передаче различных кодовых символов. В документации к приемопередатчику CC1100 достаточно подробно описан гибкий способ управления уровнем мощности излучаемого сигнала с помощью таблицы PATABLE. Таблица может оперативно хранить восемь предварительно задаваемых пользователем 8-битных значений, каждое из которых соответствует определенному значению излучаемой мощности [2]. Для доступа к соответствующему полю таблицы используется 3-битный регистр FREND0. Поле таблицы с индексом (от 0 до 7), заданным в этом регистре, будет автоматически использовано для управления выходным усилителем мощности при излучении очередного символа сообщения. После каждого цикла излучения значение регистра FREND0 автоматически увеличивается на 1. После достижения им максимального значения 7 регистр обнуляется, и отсчет начинается сначала.
В демонстрационном проекте, входящем в состав отладочного набора, для удобства управления мощностью передатчика создана функция:
где параметр PowIndex символизирует собой индекс поля таблицы, которое необходимо использовать для управления усилителем мощности. Если параметр PowIndex, передаваемый в функцию CC1100_Power, равен 0xFF, то после вызова функции в данный параметр будет передано текущее значение установленной мощности. Параметр PowRamp зарезервирован для служебных целей и в процессе установки мощности не участвует.
Вернемся к рассмотрению функции (1). Следующим параметром после Modformat является Manchester. Он позволяет включить (значение «1») или отключить (значение «0») манчестерское кодирование.
Манчестерское кодирование иначе называют PE (Phase Encode), или фазовым кодированием. При этом используется следующее представление битов (рис.8): биты «0» представляются сигналом +V в первой половине бита и сигналом –V — во второй половине. Биты «1» представляются сигналом –V в первой половине бита и сигналом +V — во второй половине.
Это делается для того, чтобы избежать появления длинных последовательностей постоянного уровня, что приводило бы к проблемам при синхронизации между устройствами, участвующими в обмене данными. Однако следует помнить, что при использовании такого способа кодирования скорость передачи снижается в два раза.
Если манчестерское кодирование выключено (Manchester=0), то по умолчанию. используется кодирование NRZ (Non Return to Zero), или кодирование без возврата к нулю.
В этом варианте кодирования используется следующее представление битов (рис. 9): биты «0» представляются уровнем сигнала –V. Биты «1» представляются уровнем +V. Этот метод кодирования является наиболее простым и служит базой для построения более совершенных алгоритмов кодирования. При кодировании по методу NRZ возможно возникновение продолжительных периодов передачи постоянного уровня (длинная последовательность 1 или 0) в результате чего затрудняется синхронизация устройств.
Приемопередатчик CC1100 использует специальный код циклического избыточного контроля ошибок (cyclic redundancy check, CRC), возникающих за счет действия помех. Код CRC относится к так называемым «обнаруживающим» кодам. Задача таких кодов — выявлять сам факт наличия ошибки в пакете, поэтому избыточность CRC-кода, вносимая в передаваемое сообщение, не превышает 1%. Довольно часто кодирование CRC-кодами путают с помехоустойчивым канальным кодированием из-за схожести формулировки, однако важно понимать принципиальную разницу между способом контроля достоверности переданного сообщения (пакета) с помощью контрольной суммы и кодированием, служащим для исправления битовых ошибок.
При CRC-кодировании передаваемое сообщение представляется в виде одного двоичного многоразрядного числа, например, пакет из 1024 байт будет представлен в виде 8192-разрядного двоичного числа. Это число делится на заранее известное контрольное двоичное число R — основной и, в принципе, единственный параметр кодера. Это число обычно имеет 9, 17 или 33 разряда, дабы остаток от деления на это число не превышал одну степень двойки. Этот остаток от деления и выступает в качестве контрольной информации, которая прикрепляется к передаваемому сообщению и проверяется при его приеме. Результат проверки записывается в регистр приемопередатчика CRC_OK. Значение «1» означает, что в передаваемом сообщении присутствует ошибка, «0» — все в порядке.
Для борьбы с замираниями и возникновением связанных с ними пакетов ошибок служит процедура перемежения. Она состоит в перестановке символов кодированной последовательности до ее модуляции и восстановлении исходной последовательности после демодуляции. Перестановка позволяет так разнести рядом стоящие символы, чтобы они оказались разделены группой других символов, передаваемых в том же блоке данных. Данная операция не вносит избыточности, а только изменяет порядок следования символов или битов. Однако чем больше глубина перемежения (то есть максимальное расстояние, на которое разносятся соседние символы входной последовательности), тем больше задержка.
Поясним идею перемежения на примере многошагового перемежителя. Принцип его работы достаточно прост. Исходная кодовая последовательность из L символов разбивается на M блоков по N символов в каждом и преобразуется в матрицу размером [N×M], где N — число символов в строке, а M — число столбцов (рис. 10). В радиомодуле PAN 2355 матрица перемежения имеет размерность 4×4 (M=N=4).
Операция блочного перемежения заключается в последовательной построчной записи входных данных и считывании этой информации по столбцам. В результате порядок следования символов в выходной последовательности будет изменен, например k–я строка матрицы будет выглядеть как {k, M+k, 2M+k,…(N–1)(M+k)}. Из приведенной записи видно, что два любых соседних символа входной последовательности будут разнесены в радиоканале на M–1 символ.
Максимальное расстояние, на которое разносятся соседние символы (то есть глубина перемежения), определяется как d=TM (где T — длительность символа). Если время, в течение которого происходил сбой сигнала, меньше глубины перемежения, любой пакет ошибок будет преобразован в группу из M одиночных ошибок, которые легко устраняются сверточным кодом.
В общем случае выбор глубины перемежения зависит от двух факторов. С одной стороны, чем больше расстояние между соседними символами, тем большей длины пакет ошибок может быть исправлен. С другой стороны, чем больше глубина перемежения, тем сложнее аппаратно-программная реализация оборудования и больше задержка сигнала.
Для коррекции обнаруженных ошибок в радиомодуле PAN 2355 существует функция прямой коррекции ошибок (Forward Error Correction, или FEC), которая может быть задействована по желанию пользователя путем установки флага в старшем бите регистра с адресом 0x13 (MDMCFG1). Использование данной функции возможно только при фиксированной длине информационного пакета (два младших бита регистра с адресом 0x08 должны быть сброшены в ноль). Следует помнить, что для исправления ошибок в передаваемое сообщение намеренно вводится избыточность. Это снижает скорость передачи в соответствующее число раз. В частности, в радиомодуле PAN 2355 при включении функции FEC скорость снижается в два раза.
Снова вернемся к рассмотрению функции (1). Последний, третий параметр syncmode отвечает за выбор режима синхронизации и может принимать одно из следующих значений:
- 0 — синхронизации нет;
- 1 — совпадение 15 из 16 бит синхронизационной посылки с эталоном коррелятора;
- 2 — совпадение 16 из 16 бит синхронизационной посылки с эталоном коррелятора;
- 3 — совпадение 30 из 32 бит синхронизационной посылки с эталоном коррелятора;
- 4 — режим 0 с детектором несущей;
- 5 — режим 1 с детектором несущей;
- 6 — режим 2 с детектором несущей;
- 7 — режим 3 с детектором несущей.
Детектор несущей (Carrier Sense, или просто CS) использует уровень сигнала RSSI для сравнения с запрограммированным пользователем порогом. Поскольку несущая частота имеет свойство смещаться при определенных внешних условиях (при прохождении радиосигнала сквозь препятствия, при движении источника или получателя радиосигнала и т. д.), то режимы с детектором несущей могут оказаться полезными для предотвращения конфликтных ситуаций между радиоустройствами, работающими в близких частотных диапазонах.
Измерение уровня радиосигнала RSSI также используется при оценке занятости канала (Clear Channel Assessment. или CCA) [2]. Эта функция может быть сконфигурирована одним из трех способов:
- контроль канала на наличие передаваемых пакетов;
- контроль канала по уровню RSSI;
- контроль канала с использованием одновременно первых двух способов.
Радиомодуль PAN 2355 обладает отдельной возможностью измерения уровня входного сигнала RSSI. Измерение следует проводить согласно описанной в документации [2] методике. В демонстрационном проекте, входящем в состав отладочного набора, эта методика уже реализована в программном виде с возможностью отображения полученного RSSI в окне программы Hyper Terminal (см. врезку)
На этом закончим рассмотрение возможностей радиомодуля PAN 2355. Изложенной информации достаточно, чтобы сделать вывод о перспективности данного радиомодуля и отметить его следующие преимущества: богатый набор функциональных возможностей, малый вес и габариты, наличие отладочных средств с достаточно развитым программным обеспечением.
В заключение хотелось бы отметить, что в данной статье были рассмотрены только самые основные параметры и функции радиомодуля PAN 2355. Тем не менее, автор статьи надеется, что это поможет разработчикам правильно оценить возможности данного устройства и грамотно сориентироваться в существующем многообразии аналогичной радиотехнической продукции, выпускаемой зарубежными производителями.
- Документация па отладочную плату EvalBoard for PAN 2355.
- Документация на приемопередатчик CC1100.
- Скляр Б. Цифровая связь. Теоретические основы и практическое применение. Изд. 2-е, испр.: Пер. с англ. М.: Издательский дом «Вильямс», 2003.