WMBUS + SPIRIT1 – идеальное решение для расходомеров/АСКУЭ
9 июня 2014
Автоматическое считывание показателей счетчиков расходуемых ресурсов идеально организовать на базе беспроводного протокола WM-Bus, реализованного на базе приемопередатчиков SPIRIT1 производства компании STMicroelectronics.
Автоматизация систем учета потребления ресурсов, особенно в сфере ЖКХ, является одной из актуальных и сложных задач. В ее решении заинтересованы потребители и поставщики ресурсов, а также компании, занимающиеся их распределением. Многие управляющие компании требуют установки индивидуальных счетчиков расхода холодной и горячей воды, электричества, газа, тепла. При строительстве новых многоквартирных домов часто подобные счетчики устанавливаются на отдельные подъезды или дома в целом. В дальнейшем это позволяет управляющим компаниям формировать счета именно по потребленным ресурсам, получая возможность детально отчитываться перед поставщиками (и, соответственно, не платить за расходы, проистекшие не по вине потребителя – утечки воды или тепла, потери электроэнергии). Возможна установка так называемых интеллектуальных счетчиков, которые обеспечивают меньшие эксплуатационные расходы, поддерживают новые услуги и улучшают оперативное управление. В задачи таких счетчиков входит автоматическое считывание и хранение показаний, передача накопленных или оперативных данных, защита от несанкционированных действий. На основе анализа накопленных данных впоследствии возможно формирование тарифных планов, например, с учетом распределения интенсивности потребления электроэнергии или воды в течение дня, недели, месяца, сезона. Одной из основных проблем при внедрении интеллектуальных счетчиков энергоресурсов является интеграция отдельных счетчиков в сеть для централизованного сбора данных. Единого решения этой задачи, видимо, не существует – в данном случае, помимо технических проблем, возникает множество иных. В частотности – организационные, административные проблемы, человеческий фактор.
К примеру, многие из частных потребителей должны к определенной дате сообщить показания своих счетчиков (особенно счетчиков расхода воды, потребления тепла) управляющей компании. В качестве канала передачи данных удобнее выбрать радиоканал, что позволяет не зависеть от расположения датчиков и центрального узла. При этом для нелицензируемых приложений возможна работа в так называемом ISM-диапазоне частот. На данный момент для организации систем учета или отдельных их частей возможно применение таких технологий как ZigBee, 6LoWPAN, Wi-Fi, Bluetooth Low Energy, WM-Bus, проприетарные протоколы фирм-производителей беспроводных компонентов.
Беспроводной M-Bus
M-Bus (Meter-Bus) – коммуникационный проводной протокол (европейский стандарт EN 1434/IEC870-5, EN 13757-2 – физический и канальный уровни, уровень приложений EN 13757-3). Основан на стандартной архитектуре «клиент-сервер». Является одним из распространенных протоколов передачи данных для ряда специфических электронных устройств, таких как приборы учета электрической энергии (электросчетчики), тепловой энергии (теплосчетчики), расходомеры воды и газа, некоторые исполнительные устройства и т.п. Данные передаются на сервер напрямую или через концентраторы шины M-Bus и усилители-повторители сигнала.
Стандарт отвечает следующим базовым требованиям:
- гарантированной передаче данных относительно небольшого объема от большого числа неинициативных источников на расстояние до нескольких километров в условиях высокого уровня помех;
- низкой стоимости оборудования и минимальным затратам на установку и эксплуатацию;
- простоте расширения системы в течение срока службы.
Стандарт M-Bus не включает процедур преобразования форматов данных, организации «сессий» передач, транспортировки пакетов и маршрутизации.
Протокол M-Bus не является промышленным и применяется только в тех устройствах, где некритична низкая скорость (и даже потеря части данных). К достоинствам данного протокола можно отнести минимальные требования к оборудованию и линиям связи, быстроту внедрения и простоту монтажа. Это делает его малозатратным и экономически привлекательным. Указанные свойства M-Bus сделали его достаточно популярным, и довольно часто данный протокол используется в системах автоматизации различных объектов. Также этому способствует и достаточно простое интегрирование с промышленными протоколами автоматизации, включая RS-485.
Расширением M-Bus на область беспроводных систем можно считать протокол Wireless M-Bus (WM-Bus), т.е. беспроводной M-Bus.
Структура WM-Bus
Аналогично проводной версии, основная топология сети для WM-Bus – «точка-точка» или «звезда». Типичным применением WM-Bus является организация сбора показаний счетчиков потребления ресурсов на стационарный или мобильный концентратор, который впоследствии передает их для последующей обработки.
Основным регламентирующим документом WMbus является стандарт EN13757-4, определяющий обмен данными в диапазоне SRD (868…870 МГц). Если это допустимо местными нормативными актами – может использоваться диапазон 433 МГц или 169 МГц. На текущий момент в стандарте EN13757-4 определены три рабочих режима: «S», «T» и «R» (таблица 1).
Таблица 1. Режимы WMBus (из EN 13757-4:2005)
Режим | Направление | Скорость передачи данных и используемый код |
«S» (стационарный): S1; S1-m; S2 | «S1» — однонаправленный; «S2» – двунаправленный |
Передача (TX): 32 кбод/с, манчестерский; прием (RX): 32 кбод/с, манчестерский |
«T» (частая передача): «T1»; «T2» | «T1» — однонаправленный; «T2» — двунаправленный |
Передача (TX): 100 кбод/с, «3 из 6»; прием (RX): 32 кбод/с, манчестерский |
«R» (частый прием): «R2» | «R2» — двунаправленный | Передача (TX): 4.8 кбод/с, манчестерский; прием (RX): 4.8 кбод/с, манчестерский |
Для кодирования данных в WMBus применяется либо манчестерский код (1/2 скорости передачи данных при использовании радиоканала в режиме «S»), либо специальный код «3 из 6» (2/3 скорости передачи при использовании радиоканала в режиме «T»). В режиме «S» полезная скорость передачи данных равна 16384 бит/с, а в режиме «T» — 66667 бит/с.
Пакет физического уровня WM-Bus состоит из четырех частей – преамбулы, слова синхронизации, поля данных и поля окончания пакета.
В рамках протокола WM-Bus возможны следующие режимы формирования и трансляции пакетов:
- режим 0 – кодирование манчестерским кодом, длина преамбулы 279 бит, синхронизирующее поле – 18 бит (значение 0x7696) поддерживается режимами работы S1 и S2;
- режим 1 – кодирование манчестерским кодом, длина преамбулы 15 бит, синхронизирующее поле – 18 бит (значение 0x7696) поддерживается режимами работы S1-m, S2, T2;
- режим 3 – код 3 из 6, длина преамбулы 19 бит, синхронизирующее поле – 10 бит (значение 0x3D) поддерживается режимами работы T1, T2;
- режим 5 – кодирование манчестерским кодом, длина преамбулы 39 бит, синхронизирующее поле – 18 бит (значение 0x7696) поддерживается режимом R2.
Размер поля данных пакета – 0…64 кбайт, в данном поле инкапсулируется пакет канального уровня WM-Bus (или просто пакет WM-Bus). В сети WM-Bus возможны пакеты двух типов – А и B. Каждый тип пакетов включает в себя три информационных блока – первый, второй и опциональный.
Первый блок содержит поля длины пакета, контрольную информацию и адрес отправителя. Он одинаков для пакетов обоих типов.
Второй блок пакета содержит информационные поля, характеризующие тип информации в пакете. В него входят заголовок блока, 15 (тип А) или 115 (тип B) байт описания информации пакета и двухбайтовое поле контрольной суммы. Поле данных второго блока пакета включает в себя данные прикладного уровня WM-Bus.
Опциональный блок содержит поле данных и двухбайтовое поле контрольной суммы.
Протокол WM-Bus является достаточно простым для реализации и не требует от реализующего его контроллера большого объема оперативной и постоянной памяти. Это позволяет применять для реализации WM-Bus беспроводные приемопередатчики в связке с небольшим малопотребляющим контроллером. Интенсивность обмена данными в системах АСКУЭ на данный момент относительно невелика. В связи с этим при выборе аппаратной платформы на первый план выходит энергопотребление приемопередатчика и микроконтроллера в режимах сна, ожидания или подобных им. Например, данные со счетчика воды могут быть востребованы всего лишь несколько раз в сутки, а в ряде случаев – только несколько раз в месяц. Следовательно, большую часть времени и управляющий микроконтроллер, и беспроводной приемопередатчик будут находиться в режиме ожидания.
Для обмена данными целесообразнее использовать диапазон 868.7…869.2 МГц, поскольку радиоволны данного диапазона слабее подвержены влиянию препятствий и затуханию при прохождении сквозь стены и перекрытия по сравнению с волнами диапазона 2.4 ГГц. Кроме этого, в данном диапазоне практически нет помех, связанных с работой пользовательской электроники – пультов управления, сигнализации, беспроводных сетей или интерфейсов. На данный момент такие устройства используют в основном диапазоны 433 МГц или 2.4 ГГц.
Одним из приемопередатчиков, подходящих для реализации физического канала передачи WM-Bus, является SPIRIT1 производства компании STMicroelectronics.
SPIRIT1
Изделие представляет собой высокоинтегрированный приемопередатчик субгигагерцевого диапазона (рисунок 1) [1, 2]. Приемопередатчик работает в частотных диапазонах 150…174, 300…348, 387…470 и 779…956 МГц, поддерживает типы модуляций сигнала 2-FSK, GFSK, MSK, GMSK, OOK и ASK, имеет буферы по 96 байт на прием и передачу. Отвечает требованиям стандартов Wireless M-BUS, EN 300 220, FCC CFR4715 (15.205, 15.209, 15.231, 15.247, 15.249) и ARIB STD T-67. Максимальная скорость передачи данных – до 500 кбит/с, для ASK/OOK модуляций – до 250 кбит/с. Для российского рынка интересны варианты включения приемопередатчика на частотные диапазоны 433.075…434.750 МГц и 868.7…869.2 МГц.
Для тактирования трансивера можно применять кварцевые резонаторы с частотой 24, 25, 26, 48, 50 и 52 МГц. Синтезатор частот построен по схеме дробной сигма-дельта- архитектуры в сочетании с широкополосным управляемым напряжением генератором, что вместе позволяет реализовать узкие частотные каналы на всем доступном частотном диапазоне. Встроенная функция автокалибровки позволяет обеспечить стабильную работу синтезатора частот вне зависимости от напряжения питания и температуры. В том случае, если калибровка не запрещена, она проводится каждый раз при переходе приемопередатчика между состояниями «готов» и «ожидание/прием/передача» или между состояниями «прием» и «передача». Время калибровки – всего 54 мкс.
SPIRIT1 имеет встроенное устройство формирования и обработки пакетов (packet handler), поддерживающее форматы пакетов Basic, STack, Wireless M-Bus (рисунок 2). В режиме STack поддерживается автоматическое формирование и отправка ACK-пакетов, повторная передача пакетов, отслеживание таймаутов.
В режимах с форматами пакетов BASIC и STack доступна опция автоматической фильтрации пакетов путем отбрасывания пакетов с неверной контрольной суммой, сортировка по адресам отправителя или получателя, полю управления.
Диапазон выходных мощностей составляет -30…16 dBm, максимальная чувствительность до -120 dBm (бюджет канала порядка 130 dBm). Вывод управления внешним переключателем антенн позволяет осуществлять автоматический выбор антенны с наилучшими показателями приема для каждого пакета еще на этапе приема преамбулы (без какого-либо вмешательства хост-контроллера). Переключение между антеннами идет до тех пор, пока не будет достигнуто пороговое значение обнаружения несущей частоты. Трансивер способен отслеживать уровень принимаемого сигнала (RSSI) и наличие несущей частоты (CS), оценивать качество канала (LQI). Приемная часть SPIRIT1 может оценивать уровень сигнала преамбулы и слова синхронизации. В случае низких уровней сигнала данных частей пакета дальнейший прием и демодуляция будет прекращена. Под управлением хост-контроллера SPIRIT1 можно применять для организации каналов связи с перескоком частот (FHS).
Диапазон напряжений питания SPIRIT1 1.8…3.6 В, ток потребления в режиме приема порядка 9 мА (при работе в диапазоне 433 МГц и скорости передачи данных 38.4 кбит/с). Подсистема питания SPIRIT1 включает в себя высокоэффективный встроенный импульсный преобразователь питания и линейный стабилизатор.
Энергопотребление в режимах, в которых не задействована радиочастотная часть прибора – менее 1 мкА, а в режимах приема или передачи – 9…23 мА (таблица 2).
Таблица 2. Режимы работы приемопередатчика SPIRIT1
Режим потребления | Потребляемый ток | Описание |
Выключено (Shutdown) | 2.5 нА | Все узлы SPIRIT1 отключены |
Ожидание (StandBy) | 650 нА | SPI активен; регистры сохраняют свои значения |
Сон (Sleep) | 950 нА | SPI активен; регистры сохраняют свои значения; устройство автоматически прослушивает эфир |
Готовность (Ready) | 400 нА | SPI активен; XTAL-генератор включен |
Прием (RX) | 9 мА | SPI активен; XTAL-генератор включен; активен синтезатор частот |
Передача (TX) | 21 мА | SPI активен; XTAL-генератор включен; активен синтезатор частот |
Для снижения общего энергопотребления в режиме приема реализовано несколько режимов работы:
- «бесконечный» таймаут (Infinite timeout) – SPIRIT1 выходит из режима приема (RX) по окончании приема пакета или по команде SPI-интерфейса от хост-контроллера;
- таймаут по уровню несущей – устройство выходит из режима приема, если уровень несущей в течение заданного времени не превышает порогового уровня;
- SQI-таймаут – устройство выходит из режима приема, если уровень сигнала при приеме синхронизирующей последовательности меньше порогового;
- PQI-таймаут – устройство выходит из режима приема, если уровень сигнала при приеме преамбулы меньше порогового.
- Режим активности малой длительности (low duty cycle) – в данном режиме устройство на короткий промежуток времени переходит в режим передачи или приема. В данном режиме возможна синхронизация приемника и передатчика. Благодаря автоматической поддержке режима доступа CSMA/CA возможна одновременная работа нескольких приемопередатчиков SPIRIT1 на одном канале.
Безопасность передаваемых по каналу данных обеспечивается встроенным блоком AES-шифрования с ключами 128 бит. Блок AES может быть использован также и просто для шифрования/дешифрования данных независимо от операций приема или передачи.
Типовое включение SPIRIT1 представлено на рисунке 3. В схему включения SPIRIT1 входит лишь несколько развязывающих конденсаторов по питанию, фильтры на приемную и передающую части, а в случае активирования функции импульсного преобразователя – дополнительно требуется внешняя индуктивность и пара фильтрующих конденсаторов (рисунок 3).
Для диапазона частот 868 МГц компания STMicroelectronics предлагает согласующий трансформатор (balun) и фильтр в одном корпусе – BALF-SPI-01D3.BALF-SPI-01D3 предназначен для фильтрации гармоник и точного согласования комплексного импеданса выходных каскадов трансивера SPIRIT1 c антенной 50 Ом в диапазоне 868 Мгц. Миниатюрный SMD-компонент с четырьмя точками подключения заменяет сложную цепочку из 15 дискретных LC-элементов (рисунок 3), снижая тем самым стоимость пайки. Помимо того, что BALF-SPI-01D3 [3] решает проблемы со сложностями трассировки СВЧ-части, он также позволяет существенно сэкономить место на плате (размер микросхемы всего 2.0х1.4 мм).
Интерфейс с хост-контроллером обеспечивается SPI-интерфейсом, набором линий ввода-вывода и входом включения/выключения.
SPIRIT1 управляется по SPI-интерфейсу посредством 17 команд – изменения состояния устройства, AES-шифрования/дешифрования, операций с FIFO. Более чем 200 регистров обеспечивают гибкое управление всеми параметрами работы SPIRIT1.
Помимо SPI-интерфейса, SPIRIT1 имеет четыре линии ввода-вывода, обеспечивающие при различных настройках следующие функции:
- отображение прерываний;
- сигналы мониторинга состояния;
- команды управления (переход между режимами, активация устройства по событию);
- ввод/вывод данных в режиме прямого приема или передачи;
- выход датчика температуры;
- входы/выходы опорных тактовых сигналов.
Вывод SDN позволяет переводить SPIRIT1 в режим «Выключено» (shutdown).
Программное обеспечение для работы со SPIRIT1
Платформенно-независимая библиотека SPIRIT1 SW Library делает работу с приемопередатчиком прозрачной для программиста – библиотека разбита на модули, отвечающие за работу с определенными функциональными блоками устройства, каждая API-команда соответствует набору низкоуровневых операций по настройке SPIRIT [4] (рисунок 4).
Для разработки приложений, использующих беспроводной интерфейс на базе SPIRIT1, компания STMicroelectronics предлагает пакеты разработки SPIRIT1 SDK Suite и SPIRIT1 WM-BUS Suite.
SPIRIT1 SDK Suite включает в себя документацию, низкоуровневые драйвера для отладочных плат, библиотеки низкоуровневого управления SPIRIT1, примеры приложений, предварительно скомпилированные образы демонстрационных программ. Структура SPIRIT1 SDK Suite представлена на рисунке 5.
Аналогичным образом, в SPIRIT1 WM-BUS Suite входит документация, примеры WM-BUS приложений для диапазонов 868 и 169 МГц, двоичный загружаемый образ стека протоколов WM-BUS. ST WM-BUS library, входящая в состав SPIRIT1 WM-BUS Suite, поддерживает стек протоколов WM-Bus в редакции prEN 13757-4:2011:
- поддерживаются режимы S, T, R, N (за исключением N2g);
- представлены двоичные образы библиотек физического и канального уровней WM-Bus для ARM Cortex-M3 (STM32L).
Структура STM32L WM-BUS Firmware library представлена на рисунке 6.
Стек протоколов требует порядка 2 кбайт оперативной памяти и 9 кбайт FLASH-памяти (в зависимости от опций оптимизации при компиляции).
Хост-контроллер (STM32L) отвечает за выполнение приложений WM-Bus прикладного уровня, выполняет функции канального уровня, шифрование/дешифрование данных, формирование пакетов MAC-уровня, реализацию функций PHY API WM-Bus, выполнение API команд управления и передачи данных WM-Bus, управление режимами работы SPIRIT.
SPIRIT1 формирует пакеты WM-Bus, реализует физический уровень передачи данных (включая кодирование манчестерским кодом или кодом «3 из 6»), отвечает за прием и передачу пакетов.
Заключение
SPIRIT1 практически идеально подходит для реализации WM-Bus благодаря низкому энергопотреблению во всех режимах работы, настраиваемой полосе частот канала в пределах диапазона, встроенному устройству формирования пакетов. В пакет программной поддержки SPIRIT1 входит платформенно-независимая библиотека, а для контроллеров производства компании STMicroelectronics можно воспользоваться готовой библиотекой WM-BUS Firmware library.
Бюджет канала в более чем 120 dBm позволяет применять приемопередатчик в условиях достаточного большого уровня помех или при значительном расстоянии между счетчиком и концентратором WM-Bus. Узкие частотные каналы (всего порядка 6 кГц), а также поддержка схемы работы с перескоком частот позволяют применять SPIRIT1 для работы в условиях большого количества параллельно работающих в одном диапазоне устройств.
Схемотехника подключения приемопередатчика достаточно проста, и при соблюдении рекомендаций к топологии печатной платы ее реализация и запуск не вызывает проблем.
Литература
- Михаил Чигарев. Spirit1 – дух, объединяющий микроконтроллеры ST в беспроводную сеть. Новости Электроники № 8/2013, стр. 14…22
- SPIRIT1 Low data rate, low power Sub 1GHz transceiver
- BALF-SPI-01D3 – согласующий SMD-трансформатор на 868 МГц от STMicroelectronics
- STSW-CONNECT 009 Setup for SPIRIT1 design kit
Получение технической информации, заказ образцов, заказ и доставка.
Наши информационные каналы