Besonderheiten des Impulsdecoders mit Tiny15

Diese Programmversion hat eine Plausibilitätsprüfung des empfangenen Telegramms. Dabei wird sowohl der Telegrammabstand (die üblichen 20ms) als auch die Kanalinformation (die üblichen 1ms...2ms) auf Gültigkeit überprüft. Die Grenzwerte der Fehlertoleranz, sowie die Anzahl der erlaubten Fehler und der erforderlichen fehlerfreien Telegramme können im Kopf des Quellcodes als Konstanten festgelegt werden, wodurch sich der Decoder an einen bestimmten Sender anpassen lässt.

Beim Einschalten befindet sich der Decoder im Error-Mode. Er generiert selbstständig Kanalimpulse von 1,48ms Breite. Währenddessen werden die empfangenen Telegramme auf Fehler geprüft. Entspricht die Anzahl der direkt hintereinander empfangenen fehlerfreien Telegramme dem Vorgabewert (10), dann schaltet der Decoder in den Normal-Mode. Jetzt werden Kanalimpulse mit der Impulsbreite generiert, die den empfangenen Impulstelegrammen entsprechen. Auch jetzt werden die Telegramme auf Fehler überprüft. Treten direkt hintereinander mehr Fehler auf als erlaubt (10), so schaltet der Decoder wieder in den Error-Mode und generiert Not-Impulse von 1,48ms Dauer.

Der Decoder decodiert max 4 Kanäle aus dem Impulstelegramm, denn es stehen nur 4 Ausgangspins zur Verfügung. Dies sind normalerweise die Kanäle 1...4. Auf Wunsch können aber auch auch andere Kanäle (max 4 im Bereich von 1 bis 7) decodiert werden. Dies bietet die Möglichkeit, mehrere Modelle mit einem (mehrkanaligen) Sender zu steuern. So kann z.B. an einem 7-Kanal-Sender ein Modell Kanal 1 und 2 nutzen, ein zweites Kanal 3 und 4 und ein drittes Kanal 5 und 6. Kanal 7 kann dann für alle drei Modelle zum Schalten von Licht genutzt werden.

Beim Tiny15 ist die korrekte Kalibration des internen RC-Generators erforderlich. Dazu ist mittels ISP-Programm das Calibrationsbyte auszulesen und in die letzte Speicherzelle (High- und Low-Byte) des Flash-Brennfiles einzutragen. Wird das versäumt, dann arbeitet die Impulsbreitenfehlererkennung nicht korrekt.


hannes@hanneslux.de