ERP1

EnOcean Radio Protocol version 1 (ERP1) is standardized as ISO14543-3-10 and used in EnOcean 868.3 MHz products in EU.

ERP1 uses ASK (Amplitude Shift Keying) as modulation and an 8-12 encoding where 8 data bits are transmitted as 12 bits over the radio channel as described below.

ERP1 Data Encoding

ERP1 uses Amplitude Shift Keying where logic “1” bits are encoded using a low amplitude, while logic “0” bits are encoded using a high amplitude. The ratio between high and low amplitude (expressed in dB) is the modulation depth.

Telegram data might contain longer sequences of 0 or 1 bits which might create synchronization problems in the receiver. The ERP1 radio standard therefore defines an 8bit → 12 bit encoding where each data byte (8 bit) is represented by 12 bit of transmitted data. Two of the additional bits are called Inverse Bits while the other two are called Sync Bits. Inverse Bits and Sync Bits are introduced in the bit stream as shown below.

image-20240701-112014.png
ERP1 Byte Encoding

Each of the two inverse bits has the inverse value of the preceding bit, i.e.

  • INV1 = !BIT5 (The inverse value of BIT5)

  • INV2 = !BIT2 (The inverse value of BIT2)

This approach ensures that there is a bit value transition at the location of INV1 and INV2, but limits the usability of INV1 and INV2 for error detection and correction.

The two sync bits are appended to the 10 bit data formed by the combination of the data bits and the two inverse bits. They have constant, pre-defined values:

  • S1 = 0b0

  • S2 = 0b1

Note that the two Sync Bits are not present at the end of the HASH byte (the last byte before the end of frame) of the ERP1 telegram.