STM550Jの解析
EnOceanのマルチセンサー STM550Jの電文の解析をしています。
ESP3 PacketからERP2 Telegramを抜き出した後、照度や温度などのパラメーターを抜き出す方法がわからないので、「STM_550x_EMSIx_User_Manual_03092020.pdf」を和訳しながら確認していきます。
P.30より
Radio communication
STM550デバイスは、EnOcean Alliance Radio Protocol (ERP)に準拠した無線リンク上で、EnOcean Equipment Profile (EEP)仕様およびEnOcean Alliance Signal Telegram仕様に従ってエンコードされた無線テレグラムを使用して通信します。
STM 550はERP1規格(ISO 14543-3-10)を採用し、STM 550UとSTM 550JはERP2規格(ISO 14543-3-11)を採用しています。
* 日本ではERP2規格を使用します。
Radio Frame format
上述の通り、STM 550 は無線リンクとして ERP1 を使用し、STM 550U および STM 550J は ERP2 を使用します。
なお、TCM 310やTCM 515などのEnOcean無線トランシーバーは、ERP1とERP2の両方を同じEnOceanシリアルプロトコル(ESP3)フォーマットに変換するため、通常はこの違いは気になりません。
ERP2 frame format
ERP2の無線フレームフォーマットを以下に示します。
ERP2フレームの最も関連性の高いフィールドは以下の通りです。
- HEADER (EEP または SIGNAL RORG を含む)
- SENDER EURID (送信者のデバイスアドレス)
- DATA(EEP を含むテレグラムのペイロード
EnOcean Equipment Profiles (EEP) and SIGNAL telegrams
EnOcean無線テレグラム内のデータセクションは、センサー情報を符号化するためにEnOcean機器プロファイル(EEP)またはEnOceanアライアンスによって定義されたSIGNALテレグラムタイプの一つを使用します。使用されるEEPは送信者によって選択され、受信者によってサポートされなければなりません。
STM 550 supported EEP
STM 550 は、さまざまなユースケースに適した幅広い EEP をサポートしています。以下の表に、サポートされる EEP の一覧を示します。
STM 550 で使用されるデフォルトの EEP は D2-14-41(9 バイトのペイロードを持つ VLD)です。9.5.8 章で説明した NFC 構成インターフェースの EEP レジスタを使用して、サポートされている EEP のうち別の 1 つを選択することができます。
EEP structure
各EEPは3つのフィールドを使って識別されます。
- RORG
RORGは、ロッカー・スイッチ・テレグラム(RPS)、1バイト・センサー・テレグラム(1BS)、4バイト・センサー・テレグラム(4BS)、可変長テレグラム(VLD)、EEP付きユニバーサル・ティーチ・イン(UTE)などの高レベルのテレグラム・タイプを識別します。 - FUNC
FUNCは、このテレグラムが属する機能グループを識別します。例えば、4バイトのセンサー・テレグラム・タイプの中の温度センサーの機能グループです。 - VARIANT (or TYPE)
VARIANT(TYPEとも呼ばれる)は、機能グループ内の正確なセンサのバリエーションを特定するもので、例えば、温度センサの機能グループ内で定義されている0℃-40℃の温度センサです。
EEP識別子は、通常、デバイス間の最初のティーチ・イン(パーリング)の際にのみ送信されます。特殊なケース(複数のEEPを使用しているデバイスなど)では、データ・テレグラムで使用しているEEPを指定する場合があります。
1BS telegram
1バイトセンサー(1BS)テレグラムは、RORGフィールドが0xD5に設定され、その後に1バイトのペイロード(Bit0 … Bit7…)が続くことで識別されます。ビット7。1BSテレグラムは、バイナリ・コンタクト(通常はマグネット・コンタクト)のステータス(オープン/クローズ)をエンコードするためにのみ使用されます。
1BSテレグラムのペイロードは、通常動作時の接点状態(1BSデータ・テレグラム)、またはティーチ・イン・テレグラム(1BSティーチ・イン・テレグラム)を識別するためのものです。
データ・テレグラムとティーチ・イン・テレグラムの区別は、ビット4のステータスに基づいて行われます。このビットが0に設定されている場合、そのテレグラムは1BSティーチ・イン・テレグラムであり、このビットが1に設定されている場合、そのテレグラムは1BSデータ・テレグラムです。
4BS telegram
4バイト・センサー(4BS)テレグラムは、RORGフィールドが0xA5に設定され、その後に4バイトのペイロード(Bit0 … Bit31)が続くことで識別されます。
4BSテレグラムのペイロードは、通常動作時のセンサーの状態(4BSデータ・テレグラム)、またはティーチイン時のデバイスのEEPとメーカーの識別(4BSティーチイン・テレグラム)のいずれかをエンコードします。
データ・テレグラムとティーチ・イン・テレグラムの区別は、ビット28のステータスに基づいて行われます。このビットが0に設定されている場合、そのテレグラムは4BSティーチ・イン・テレグラムであり、このビットが1に設定されている場合、そのテレグラムは4BSデータ・テレグラムです。
VLD telegram
可変長データ(VLD)テレグラムは、RORGフィールドが0xD2に設定されることで識別されます。このテレグラムは、1~14バイトの長さの可変長ペイロードを伝送します。
UTE (Universal Teach-in) telegram
可変長データ(VLD)テレグラムは、可変長のペイロードを運ぶため、データとティーチ・イン・テレグラムを区別するために、あらかじめ定義された位置にある1ビットを使用することはできません。
したがって、VLDデータ・テレグラムを使用して通信するデバイスは、ティーチ・イン・テレグラムを送信する際に、汎用の「Universal Teach-in with EEP(UTE)」フォーマットを使用します。このようなUTEテレグラムのフォーマットは、以下の図に示されています。
Signal telegram
シグナル・テレグラムは、デバイスの特定のセンサー機能に依存しない一般的なシステム条件をエンコードするために使用されます。このようなシステム条件の例としては、内部エネルギーレベル、利用可能な周囲エネルギー、バックアップバッテリーの状態などがあります。
シグナル・テレグラムは、データ・テレグラムのRORGフィールドが0xD0に設定されることで識別されます。その後、信号タイプ(報告される内容)は、この信号タイプに対応するデータが続く1バイト長のMIDフィールドによって識別されます。以下の図は、SIGNALテレグラムの構造を示しています。