Menu [hide]
  Wiki

FS20 Protocol

(cached)
backlinks refresh print PDF
similar

Protokoll für FS20 Komponenten


Datenrahmen:

Hauscode16 bit
Adresse8 bit
Befehl8 bit (16bit, wenn im ersten Befehlsbyte das Erweiterungsbit gesetzt ist.)
Quersumme8 bit


Daten-Bit:
Senden Empfang
0: 400µs High, 400µs Low 600-1000µs Periodendauer
1: 600µs High, 600µs Low 1000-1450µs Periodendauer

Synchronisation:
0000000000001 (12* „0“, 1* „1“)
Jede Übertragung zu Empfängern wird mit dieser Synchronisationssequenz eingeleitet.

Parität:
Gerade

EOT:
0
Damit das letzte Datenpaket richtig ausgewertet werden kann, muß ein zusätzliches Daten-Bit?
übertragen werden. Diese 0 selber kann allerdings nicht ausgewertet werden!

Hauscode:

0-65535
Hauscode1: 8bit (High-Byte)
Hauscode2: 8bit (Low-Byte)

Adresse:

High-Nibble? (4bit): Adreß-Gruppe? (Bank / Raum)
15 = Master- / Funktionsgruppen-Bereich?
0-14 = Adreßraum für Einzeladressen
Low-Nibble? (4bit): Unter-Adresse?
15 = alle der Adreß-Gruppe? (lokal Master)
0-14 = Einzel-Adresse? / Adresse der Funktionsgruppe

Das High-Nibble? wählt die Adreß-Gruppe? aus. Es stehen 15 Adreß-Gruppen? zur Verfügung.
Die Adreß-Gruppe? „15“ wählt den Master- bzw. Funktionsgruppen-Adreßbereich? aus.
Das Low-Nibble? bestimmt innerhalb der gewählten Adreß-Gruppe? die anzusprechende Unter-Adresse?.
Zum Ausführen einer globalen Master-Funktion? müssen High- und Low-Nibble? der Adresse „15“ sein!

Reihenfolge der Eingabe und Speicherung von Hauscode und Adresse beim Setup von Sendern:
1. HC1: A0 2. HC2: E0
3. Adr: I0

Befehl:

Unteren 5 bit:
00 00haus
01 01han, 6,25% Einschalten auf Helligkeitsstufe 1 (min.)
02 02han, 12,5%
......
15 0fhan, 93,75%
16 10han, 100% Einschalten auf Helligkeitsstufe 16 (max.)
17 11han, alter Wert Auf letztem Helligkeitswert einschalten
18 12htoggle Wechsel zwischen “aus�? und “an, alter Wert“
19 13hdim up Eine Helligkeitsstufe heller
20 14hdim down Eine Helligkeitsstufe dunkler
21 15hdim up and down ..., + bis max, kurz warten, - bis min, kurz warten, …
22 16htimeset Timerprogrammierung (Start, Ende)
23 17hsend status Nur bei bidirektionalen Komponenten!
24 18haus, für Timerzeit
25 19han, 100%, für Timerzeit
26 1ahan, alter Wert, für Timerzeit
27 1bhreset (auf Auslieferzustand)
28 1chfrei
29 1dhfrei
30 1ehfrei
31 1fhfrei


Bit 5: Erweiterungsbit (0 = ohne, 1 = Erweiterungsbyte zwischen Befehl und Quersumme)
Bit 6: bidirektionaler Befehl (normal = 0)
Bit 7: Antwort eines Empfängers (normal = 0)

Erweiterungsbyte bei gesetztem Erweiterungsbit: Ist im ersten Befehlsbyte das Erweiterungsbit gesetzt, wird ein Erweiterungsbyte eingeschoben. Für die Befehle 0 bis 18 und 24 bis 26 gilt folgende Codierung des Erweiterungsbytes: Das Byte gibt die einmalige Zeitdauer für den Timer in Schritten von 0,25s an. Bei Befehl 22 wird der Timer des Empfängers fest auf den übertragenen Timerwert gestellt. Das Low-Nibble gibt den Zahlenwert an. Ist es Null (= 0), wird die Timerfunktion ignoriert und der Verbraucher dauerhaft/sofort geschaltet. Das High-Nibble dient als Multiplikator mit dem Faktor 2^x. Es sind nur Werte kleiner oder gleich 12 sinnvoll. Größere Werte werden auf 12 begrenzt! Zeit = 2^(High-Nibble) * Low-Nibble * 0,25s Die maximale Zeitdauer beträgt damit ca. 4,25Std, die minimale 0,25s, sofern dies jeweils von den Empfängern bis zu den angegebenen Grenzen unterstützt wird.

Quersumme

8bit-Summe aus 0x06, Hauscode-High-? und -Low-Byte, Adresse und Befehl (und evtl. Erweiterungsbyte) bilden
Werden Repeater verwendet, so treten auch um 1 oder 2 erhöhte Quersummen auf, die von den
Empfängern im Normalfall akzeptiert werden sollten. Wurde von einem Empfänger bis 1,6s vor einem
Repeater-Befehl? ein normaler Befehl empfangen, so wird der Repeater-Befehl? ignoriert.

Adressierung


Die Übersetzung von an Sendern eingegebenen Adresscodes und Hauscodes erfolgt durch Herabsetzen der Tastennummer um 1 und Hintereinandersetzen der Halbnibbles vom ersten als höchstwertigen bis zum letzten als niedrigstwertigen.

Ein Beispiel:

Der Hauscode wurde in einem Schalter als 12344433 eingegeben. Dies entspricht 01233322 zur Basis 4, das ist 1BFA zur Basis 16. HC1 ist damit 0x1B, HC2 ist 0xFA,

Komplette Übertragung:

SynchrHC1ParityHC2ParityAdresseParityBefehlParityQuersummeParityEOT
13 bit8 bit1 bit8 bit1 bit8 bit1 bit8 bit1 bit8 bit1 bit1 bit

oder:
SynchrHC1ParityHC2ParityAdresseParityBefehlParityErweiterungParityQuersummeParityEOT
13 bit8 bit1 bit8 bit1 bit8 bit1 bit8 bit1 bit8 bit1 bit8 bit1 bit1 bit


Übertragung beginnt mit MSB.
Die Übertragung für ein komplettes Datenpaket mit 1 Befehl dauert 47,6ms bis 65,6ms.

Wird an der Hand-FB eine Taste < 400ms gedrückt, so wird beim Loslassen folgendes gesendet:
DAT, 10msPAUSE, DAT, 10msPAUSE, DAT, >110msPAUSE

Wird eine Taste an der Hand-FB länger als 400ms gedrückt, so wird alle 250ms folgendes gesendet:
DAT, 10msPAUSE, DAT


Im AUS-Zustand schaltet ein Dimmer bei EIN mit alter Helligkeit ein.
Im AUS-Zustand schaltet ein Dimmer bei DIMUP mit voller Helligkeit ein.
Im EIN-Zustand wird bei DIMUP eine Stufe aufgedimmt.

Alle Befehle dürfen von Empfängern immer nur 1x ausgewertet werden. Gesendet wird der Befehl 3x mit einer Pause von 10ms. Dim-Befehle? werden nur 2x mit einer Pause von ca. 10ms gesendet. Nach einem erkannten Befehl ignorieren die Empfänger für 120ms weitere Befehle. Befehle von Repeatern werden für 1,6s ignoriert.


Created by: admin last modification: Saturday 27 of November, 2010 [16:19:48 UTC] by smurf


Online users
We have 4 online users
Google ads
RSS Wiki RSS File Galleries
[ Execution time: 0.33 secs ]   [ Memory usage: 12.01MB ]   [ 43 database queries used ]   [ GZIP Enabled ]   [ Server load: 1.16 ]