Konzept von DB0QI (01.02.2016)

Wie funktioniert DB0QI

Die Grundidee der Steuerung bei DB0QI liegt in der Verwendung von vielen verschiedenen Teilen die sowohl Steuern und Schalten, als auch gesteuert und geschaltet werden können. Als ideale Busstruktur kristallisierte sich der I²C-Bus heraus. Es gibt viele verschiedene fertige Bausteine, die eben über diesen Bus bedient werden können. Der I²C-Bus ist Multi-Master-fähig, was bedeutet, es können beliebig viele Steuergeräte andere Geräte über den Bus bedienen, nicht gleichzeitig aber nacheinander, durcheinander, wie es nun gerade notwendig ist. Der der als erstes auf den Bus zugreift hat dann in dem Moment die Hoheit über den Bus.
Problem: Die Adressierung der fertigen Bausteine/Geräte, z.B. ein PLL-Baustein, ist begrenzt. Konkret sind es maximal 4-7 Adressen die ein Baustein annehmen kann. Das gibt bei z.B. 8 gleichen Tunern ein Problem.
Abhilfe schafft ein "Unterbus-System" Es gibt Bausteine die einen Hauptbus auf 8 Unterbusse verteilen können, somit ist dieses Problem kein solches mehr, im Gegenteil, es verschafft zusätzliche Möglichkeiten Aufgaben zu verteilen und Adressresourcen zu sparen. Eine beliebige Kaskadierung ist somit möglich, und eine schier unbegrenzter Ausbau ist realisierbar. Wie zum Beispiel 32 Tuner aufgeteilt in 4 19"Einschübe die jeweils 8 Tuner, also Empfänger tragen, wobei jeder Tuner die gleiche I2C-Bus Adresse hat. Angesprochen wird der einzelne Tuner über die Adresse des Multischalters der vor ihm sitzt und der Busnummer des Multischalters. Hierbei existieren also 4 Multischalter. 8 Adressen kann ein Multischalter annehmen, somit bleiben noch 4 Adressen übrig für z.B.: 32 Sender ..... spinnen wir weiter, sollte das nicht reichen wird einfach ein Multischalter vorgesetzt ... schon hat man 8x8Busse zur Verfügung und nur 2 Adressen der Multischalter benutzt. Eine Adresse des Multischalters am Hauptbus, und eine Adresse für 8 Multischalter am jeweiligen "Unterbus" ... nur mal so als Hausnummer der Dimensionen die erreicht werden können ohne unüberschaubar zu bleiben:

Bei DB0QI gibt es verschiedene Einzelgeräte die nur einmal vorhanden sind. Diese sind direkt am Hauptbus angeschlossen:

Hier eine Übersicht:

Geräte die mehrfach vorhanden sind wie Sender, Empfänger und Temperaturfühler verschwinden quasi hinter einem oder mehreren Multischaltern, die diesen Bus nur bei Bedarf nach außen verbinden. Somit ist es möglich je Multischalter bis zu 8 Geräte mit gleicher Adresse bereit zu stellen.

Die Realisierung (17.01.2016)

Die Möglichkeit eben mit diesen I2C-Multischaltern sind doch sehr vielfältig. Die tatsächliche Realisierung ist dann nur die erste Ausbaustufe, diese genügt den Ansprüchen bei DB0QI. Vorgesehen sind grundsätzlich 8 Empfänger und 8 Sender, die jeweils in einem Einschub beheimatet sind. Und nur hier ist jeweils ein PCA8584, eine 1x8 2C. Matrix verbaut. Der Baustein befindet sich Jeweils in der Einschubsteuerung des Sender bzw. Empfänger-19"-Trägers. Damit lassen sich nun für alle Empfänger mit Steuerung bzw. Sender mit Steuerung, immer die gleichen I2C-Bus-Adressen verwenden.

Hier noch eine Übersicht im PDF-Format

Einschubsteuerung

Die Einschubsteuerung ist inzwischen für RX-Träger und TX-Träger gleich.
Im Bild ist ganz rechts zu sehen: die Einschubsteuerung

Anfangs wurden die Steueraufgaben für RX TX und Einschubsteuerung von Pic-Prozessoren erledigt. Im Laufe der Zeit entstanden immer Aufgaben die mit Atmel Prozessoren erledigt worden sind, genauer ATMega8. Der Bascom Compiler ist erschwinglicher als ein Basic-Compiler für Pic-Prozessoren, und Basic ist für viele Einsteiger die Programmiersprache. Somit entstand der Wunsch alle Prozessoren im Laufe der Zeit auf ATMegas umzusetzen. ATMega8, 48, 88,169, 328 sind bis auf zwei Ausnahmen die Prozessoren der Wahl geworden. Auch eine I2C-Bus Multimaster Bibliothek fand sich im Internet. Damit war der Weg frei den Pic16F88 mit den ATMegas zu ersetzen.

Inzwischen sind die Möglichkeiten der Einschubsteuerung ziemlich massiv angewachsen, daß nicht nur die Sender und Empfänger bedient werden können sondern auch die Rufzeichen für die OSDs und verschiedene Schaltvorgänge über Busexpander ausgeführt werden können. Der Kniff der Einschubsteuerung ist, daß diese das Gehirn des 19"-Trägers ist. Es befinden sich an der 1x8 I2C-Kreuzschiene 8 FRAMs in denen die Daten gespeichert sind, wie sich der entsprechende RX oder TX einzustellen hat. Die Einschubsteuerung selbst hat nur die Aufgabe die einzelnen Bedienfelder der 8 Sender/Empfänger zu ersetzen und der I"C-Kreuzschiene eine Adresse zu geben. Die an den 8 I2C-Bussen hängenden RXe/TXe holen sich ihre aktuellen Daten aus dem jeweiligen FRAM, und überprüfen zyklisch ob sich Änderung der Daten vorliegt.
Sollte einer der 8Unterbusse mit einer oder beiden Leitungen (SCL SDA) aufgrund eines Fehlers dauerhaft auf "0" liegen, und den Hauptbus ebenfalls auf "0" legen prüft der Prozessor in der Einschubsteuerung ob dies der Fall ist und schaltet den Unterbus vom Hauptbus weg. Die passiert über eine Resetleitung vom Prozessor zum I2CMatrix-IC.

Hier sind die Frams und der PCF9648 schön zu sehen:

Sollte der 19" Träger mal ohne Spannungsversorgung sein wird der I2C-Hauptbus mittels einem Relais freigeschaltet, damit der I2C-Bus der ja mit anderen 19"-Trägern verbunden ist nicht "tot" gelegt wird. Durch die Anzeige ist die Frontplatte etwas breiter, und damit ist nun noch Platz hinter der Anzeige noch zusätzliche Funktionen zu verstauen. Konkret steckt dort ein Bus-Expander, der entweder zum Schalten von 8 Leitungen verwendet werden kann oder beim RX-Baugruppen-Träger als Zustandsmelder der Empfänger Video-Rauschsperren. Etwas Platz ist dort noch ... vorgesehen vielleicht noch für ein extra 5V Schaltnetzteil oder oder ... :-)

Die Daten in den Frams können von verschiedenen Komponenten verändert werden. Hierzu zählen, die Einschubsteuerung selbst, die Sync-Erkennung (Ablauf-Prozessor) sowie verschiedene Steuerungen über DTMF, oder über einen Wandler von RS232-I2C (dahinter, kann ein PC/Laptop über direktes Kabel, RS232-DSTAR

Sender-Baugruppe

In einen Träger passen mit Einschubsteuerung 8 Senderplatinen hinein. Auf der Platine sind Steuersender, Basisbandaufbereitung, verschiedene Relais und der Prozessor der für deren Einstellung zuständig ist. Egal wie die Baugruppe bestückt ist, jeder Steckplatz wird mit den Daten aus dem FRAM versorgt, und dementsprechend stellt nach Abfrage der Daten der Prozessor die Komponenten ein. Diese Komponenten sollten dann zum verwendeten Steckplatz passen.

 

Empfängerplatine mit Empfänger-Steuerung = Empfängerbaugruppe

Die Empfänger hat sie zwischenzeitlich ein paar Mal geändert, ist jetzt PLL-stabilisiert, sowohl die HF als auch der NF-Träger, ebenso ist die Videopolarität ist fernsteuerbar. Auf der Steuerplatine befindet sich der Prozessor der diese Aufgaben erledigt. Weiter sind Verstärker für Video und Audio vorhanden, um an der Frontplatte auch das Video messen zu können. Die Feldstärke sowie Audio-Pegel wird gemessen und von einem weiteren Prozessor an das OSD-Modul weitergereicht. Der Steuerprozessor findet seine Daten im Fram, der Prozessor der das OSD-Modul anspricht wird direkt über I2C angesprochen.

DTMF-Steuer-Karte

Diese Karte ist eine sehr universelle Karte.

Hierauf befinden sich vielerlei Prozessoren die unterschiedliche Aufgaben erfüllen:

  • DTMF-I2C-Wandler
    wertet DTMF-Töne aus und gibt Befehle auf dem I2C-Bus aus

  • zwei RS232-I2C-Wandler
    wertet RS232 aus und gibt Befehle auf dem I2C-Bus aus. Verwendung über Kabel, Dstar, Bluetooth, Internet

  • DStar -"-1"-Prozessor
    ist für DSTAR notwendigm weil DSTAR keine "0" weitergeben kann

  • Sync-Auswertung
    Ändert sich der Sync-Status, schaltet die Sync-Auswertung (Ablauf-Prozessor), Audio-Mischer, Video-Kreuzschiene, PTT und OSD-Module. Ebenso können verschiedene Temperatursensoren (LM75) ausgelesen werden und mittels OSD angezeigt werden.

  • Telegramm
    Gibt auf Anfrage oder Zeitgesteuert ein FSK-Signal auf dem rechten Audio des DVB-T-Senders aus, welches den aktuellen Zustand der einzelnen Komponenten überträgt. Dies kann wiederum mit einem XR2211 Modem dekodiert werden und über USB an die Steuerungs-Software QIST übergeben werden.

Noch Fragen ???

73 de Tomtom

Home