1. Overzicht van één RTS-telegram
Een volledig RTS-signaal bestaat uit timing + bits, niet alleen nullen en enen.
Wake-up | HW Sync | SW Sync | 56-bit data frame | Inter-frame gap
2. Timing (zeer belangrijk bij RTS)
RTS gebruikt pulsduur-codering met een basistijd T ≈ 640 µs.
| Element | Duur |
|---|---|
| Korte puls | 1 × T |
| Lange puls | 2 × T |
| Wake-up | ~9415 µs |
| HW sync puls | 4 × T |
3. Wake-up & synchronisatie
Wake-up burst
HIGH gedurende ±9,4 ms
Hardware sync
LOW → HIGH (4 × T) → LOW
Herhaald ±7 keer
Software sync
LOW (4 × T) → HIGH (1 × T)
Hierna weet de ontvanger: “nu komt data”
4. Datapakket: 56 bits (7 bytes)
Structuur:
Byte 0 | Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6
| Byte | Functie |
|---|---|
| 0 | Encryptie-key |
| 1 | Commando |
| 2 | Rolling code (hoog) |
| 3 | Rolling code (laag) |
| 4 | Zender-ID (hoog) |
| 5 | Zender-ID |
| 6 | Zender-ID (laag) |
5. Concreet voorbeeld (STOP / MY)
Gegevens:
- Commando: STOP / MY
- Zender-ID:
0xA1 B2 C3 - Rolling code:
0x01 F4(500 decimaal) - Encryptiesleutel:
0xA7
Byte-voor-byte (hex → binair)
Byte 0 – Encryptie
0xA7 = 1010 0111
Byte 1 – Commando
0x02 = 0000 0010
Byte 2–3 – Rolling code
0x01 = 0000 0001
0xF4 = 1111 0100
Byte 4–6 – Zender-ID
0xA1 = 1010 0001
0xB2 = 1011 0010
0xC3 = 1100 0011
Volledig 56-bit frame:
10100111 00000010 00000001 11110100 10100001 10110010 11000011
(Zonder spaties: exact 56 bits)
6. Bit-codering op de radio (OOK)
RTS gebruikt een Manchester-achtige pulsduurcodering.
| Bit | Radio-signaal |
|---|---|
| 0 | KORT hoog → LANG laag |
| 1 | LANG hoog → KORT laag |
Voorbeeld (eerste 4 bits):
1 → HIGH(2T) LOW(1T)
0 → HIGH(1T) LOW(2T)
1 → HIGH(2T) LOW(1T)
0 → HIGH(1T) LOW(2T)
De ontvanger leest timing, niet alleen logische niveaus.
7. Checksum (XOR-nibble)
- Alle nibbles (4 bits) worden XOR-gewijs gecombineerd
- Resultaat wordt verwerkt in byte 0 & 1
- Daarna wordt het frame geobfusceerd (geen echte encryptie)
Daarom lijkt het signaal “versleuteld”, maar is het technisch obfuscatie.