DiseqC (22kHz) messen

Gast #6054719
Lesenswert?

Hi,

ich möchte DiseqC-Telegramme mit einem Mikrocontroller aufzeichnen. Es 
handelt sich um 22 kHz-Pakete, die der Versorgungsspannung 14V bzw. 18V 
aufmoduliert sind.
Ich habe eine entsprechende Schaltung gefunden (siehe Anhang), dem 
Signal habe ich mit Widerständen einen Offset von ca. 1,5V gegeben. Im 
Prinzip muß ich "nur" die Breite der Pulspakete messen um 1 und 0 zu 
detektieren. Aber mit der Schaltung habe ich leider kein Digitalsignal 
und muß es dann wohl oder übel mit ADC-Eingang schnell abtasten. Ich 
habe Bedenken, daß dies so ohne weiteres geht...

Gäbe es eine Möglichkeit, aus dem Analogsignal ein 22 kHz-Digitalsignal 
zu erzeugen? Oder noch besser, eine Schaltung die mir die Paketlänge 
(0,5 ms / 1 ms) als Digitalsignal zur Auswertung zur Verfügung stellt.

Es scheint kein IC auf dem Markt zu geben, das das Ganze schon selbst 
macht. Von ST gibt es zwar den STM8SPLNB1 (DiSEqC slave microcontroller 
for SaTCR based LNBs and switchers), aber hier scheint es nicht möglich 
zu sein, die Telegramme an einen übergeordneten Mikrocontroller zu 
übergeben.

LG
Thomas
Angehängte Dateien:
#6054727
Lesenswert?

Thomas schrieb:
> mit einem Mikrocontroller
Welchem?

> Aber mit der Schaltung habe ich leider kein Digitalsignal
> und muß es dann wohl oder übel mit ADC-Eingang schnell abtasten.
Du hast sehr viele Möglichkeiten, und dies ist eine der schlechtesten 
(vllt. grad noch besser als eine Röhrenschaltung). Am Einfachsten wäre 
ein schneller Komparator, entweder im µC integriert oder ein externer.

> 22 kHz-Digitalsignal
Was soll das bitte sein? ein Digitalsignal mit 22kBaud? oder ein sehr 
viel langsameres das auf einen 22kHz Träger aufmoduliert ist? Und ist 
das das einzige Signal auf der Leitung?

> aber hier scheint es nicht möglich
> zu sein, die Telegramme an einen übergeordneten Mikrocontroller zu
> übergeben.
nur ganz kurz draufgeschaut, das kann wohl IIC als slave. musst du 
selber das Datenblatt lesen und rausfinden ob du alles auslesen kannst 
was dich interessiert.
Gast #6054873
Lesenswert?

vielen Dank für Eure Antworten!

Ich habe Fragen zu den Schaltungen im Anhang:

1. Diodentyp: ist wohl mit der zweiten Schaltung beantwortet

2. PCB-Track. Wie lege ich diese aus? Es wird angegeben, daß diese 1/4 
der Wellenlänge von 1...2 GHz sein soll.
1 GHz: 1/4 Wellenlänge = 75 mm
2 GHz: 1/4 Wellenlänge = 37,5 mm
Was nehme ich da, einen Mittelwert? Muß ich etwas beachten beim Routen 
(Leitungsabstand, ...)?
Angehängte Dateien:
Gast #6054889
Lesenswert?

LM567 sieht auch sehr interessant aus. Werde mal etwas Bastelmaterial 
bestellen und ausprobieren, welche Schaltung für mich am besten geeignet 
ist.

Kann man anstelle der Leiterbahninduktivität keine Mini-Drossel 
verwenden?
Gast #6054890
Lesenswert?

Thomas schrieb:
> 1. Diodentyp: ist wohl mit der zweiten Schaltung beantwortet

Ist unkritisch.


> 2. PCB-Track. Wie lege ich diese aus? Es wird angegeben, daß diese 1/4
> der Wellenlänge von 1...2 GHz sein soll.
> 1 GHz: 1/4 Wellenlänge = 75 mm
> 2 GHz: 1/4 Wellenlänge = 37,5 mm
> Was nehme ich da, einen Mittelwert? Muß ich etwas beachten beim Routen
> (Leitungsabstand, ...)?

Du hast doch eine Vorlage, kupfer ab.
#6054897
Lesenswert?

Der Vorschlag oben "...Generator" ist auch für den umgekehrten Fall (für 
den ich noch eine Lösung suche, um meinen Mini-Tiouner an der 
Sat-Antenne betreiben zu können.)

Wie schnell kann der 567 schalten, reicht das für die Baudrate? Ich 
hatte den vor vielen Jahren für 50 Baud Funkfernschreiben benutzt, das 
hat gut funktioniert.

EIn "schwimmender" Komparator, der seinen Vergleichspegel aus dem 
mittleren DC-Pegel des Signals gewinnt wäre vielleicht zweckmäßig. Ich 
dachte erst, Maxim macht das, aber da liegt er fest auf dem Ref-Pegel 
1,18V.
Ein Schmitt-Trigger nach der Hochpass-Auskopplung ist sicher nicht 
falsch.

Zur Demodulation würde vielleicht ein Monoflop mit ca. 0,75ms reichen. 
Wenn der Pegel nach der Zeit noch gleich bleibt ist es ein 1ms-Puls, 
sonst einer mit 0,5ms.
Gast #6054905
Lesenswert?

Gibt es irgendwo eine Doku wie das Protokoll von USALS ist? Mich würde 
interessieren, wie Längen- und Breitengrad des Standorts da rein 
berechnet wird. Oder ist das Betriebsgeheimnis der Fa. Stab in Italien?
#6054908
Lesenswert?

So verstehe ich auch die Modulation:
aus: https://www.spaun.com/files/8df79_de_DiSEqC_fur_Techniker_.pdf
gefunden über
https://de.wikipedia.org/wiki/Digital_Satellite_Equipment_Control

Ein Bit dauert 1,5ms:
22 Schwingungen mit 22kHz und 11 Schwingungen Pause sind ein low-Bit,
11 Schwingungen mit 22kHz und 22 Schwingungen Pause sind ein high-Bit,

und das ergibt 667 Bit pro Sekunde
Angehängte Dateien:
Gast #6054924
Lesenswert?

Matthias S. schrieb:
> "Bei entsprechenden Receivern genügt die Eingabe der geografischen
> Position"...

Und genau diese Berechnung die der Receiver macht, möchte ich gerne 
wissen.

Hintergrund: Ich habe 4 Satschüsseln, 2 davon mit USALS-Motor, deren 
Signale alle auf verschiedene Sat-Receiver gehen. Ich möchte die 
Bewegung der Antennenschüsseln mit einem zentralen Gerät steuern. Das 
Senden von Signalen an den Motor geht schon problemlos, aber ich 
benötige eine Möglichkeit, die Signale aufzuzeichnen, die normalerweise 
der Sat-Receiver sendet. Ich muß ja genau wissen was ich an den Motor 
senden muß, wenn ich verschiedene Satelliten abfahren möchte. Ich habe 
folgende Eingangsparameter:
* Längengrad
* Breitengrad
* Position des Satelliten (z.B. 19° Ost)
Und aus diesen 3 Parametern möchte ich das USALS-Protokoll berechnen. 
Falls es nicht offengelegt ist, muß ich halt für meinen aktuellen 
Standort die Daten aller gewünschten Satellitenpositionen auslesen und 
fest im Programm hinterlegen. Bei einem Umzug dann entsprechend 
anpassen, falls es gravierende Abweichungen der Koordinaten vom Standort 
gibt.
Gast #6054927
Lesenswert?

Das DiseqC-Aufzeichnungsgerät benötige ich später auch bei der 
Fehlersuche, wenn mal was nicht geht. Mit dem Oszilloskop die Werte 
abzulesen ist ein ziemliches Gefummel. Eine Aufzeichnung mit 
Mikrocontroller ist die Ideallösung. Dann kan nich die Protokolle auf 
einem großen Display anzeigen oder auf der Schnittstelle an den PC 
senden.
#6054933
Lesenswert?

Thomas schrieb:
> Was nehme ich da

Im Prinzip: Die Realisation, die auf deinem Basismaterial (Epoxy, also 
je nach Feuchtigkeitseinlagerung) die beste Dämpfung bei 1-2GHz bringt 
und die geringste bei 22kHz (sowieso fast 0).

Weil man solche selbstgebauten Spulen also (mit einem NWA) messen 
müsste, nimmt men fertige (SMD Chip Spule mit Datenblatt das die 
Dämpfung bei 1-2GHz zeigt).
#6054939
Lesenswert?

Moin,

Thomas schrieb:
> Das DiseqC-Aufzeichnungsgerät benötige ich später auch bei der
> Fehlersuche, wenn mal was nicht geht

Fuer sowas taet' ich dann aber tatsaechlich per ADC eines µControllers 
die LNB-Leitung samplen lassen. Ggf. Umschaltbar, um DC zu messen und 
auch den Pegel/Frequenz der diseqc Bursts. iirc ist grad' so Zeugs, wie 
zu kleiner Pegel, Sauereien beim Ein- oder Ausschalten oder grob daneben 
liegende Frequenz der Bursts eine Ursache fuer komisches Verhalten.

Gruss
WK
#6054950
Lesenswert?

Leider sind im Original keine Maßangaben, nur ein Printfile als PDF, ich 
nehme an auf DIN A4:
http://juras-projects.net/files/diseqcconv_board.pdf
Ich bin nicht sicher, ob der Drucker das 1:1 gedruckt hat, es sind hier 
jedenfalls 48*68 mm. Daraus folgt eine Länge eines Mäanderstücks von 
etwa 10 mm.
Angehängte Dateien:
Gast #6054954
Lesenswert?

diseq schrieb:
> Es gab da mal einen guten Artikel inkl. Firmware für einen 16F628 hier:
>
> https://www.elektormagazine.com/magazine/elektor-200609/18370

Das Problem ist, daß es nur auf einem kleinen Display ausgegeben wird 
und man kann es nicht lesen, wenn mehrere Signale kurz nacheinander 
kommen. Habe das vor einigen Monaten auch gesehen und extra ein Abo bei 
Elektor abgeschlossen. Der Link für das Projekt geht aber nicht, weil 
die ihre Internetseite total umgestellt haben und dadurch einige tote 
Links erzeugt haben. Es kam die Email-Rückmeldung, daß es in 4 Wochen 
gehen sollte, aber es geht bisher immer noch nicht. Auf die letzte Email 
vor 20 Tagen habe ich nicht einmal eine Antwort von Elektor erhalten. 
Mir wäre es lieber, wenn die Protokollinfo per UART raus geht und nicht 
aufs kleine Display.
Gast #6056456
Lesenswert?

Ich habe die Schaltung von Eutelsat verwendet und sie geht auch soweit. 
Da ich kein Monoflop (NE555) da habe, habe ich das 
Monoflop-Ausgangssignal per Software realisiert:
* High wenn erste Flanke kommt
* Low, wenn 60 µs keine positive Flanke mehr kam.
Der High-Impuls ist dadurch etwas länger, macht aber nichts.

Geht auch soweit. Man hat nun Impulse von ca. 0,5 ms bzw. 1 ms Breite.

Wie macht man am besten die Auswertung der Impuls-Zeiten um 
herauszufinden ob es ein High- oder Low-Signal ist? Nur anhand der 
Breite der High-Signale? Oder zusätzlich Auswertung der Low-Zeit?

Ich würde es so machen:
Bei steigender Flanke einen Zähler löschen und bei fallender Flanke den 
Zähler auslesen? Auflösung des Zählers wäre in meinem Fall 10µs. Dann 
die Werte in ein Array schreiben und anschließend mit einer Funktion das 
Array auswerten, dabei prüfen, ob das Paritybit stimmt.
#6056661
Lesenswert?

Christoph db1uq K. schrieb:
> Leider sind im Original keine Maßangaben, nur ein Printfile als PDF, ich
> nehme an auf DIN A4:
> http://juras-projects.net/files/diseqcconv_board.pdf
> Ich bin nicht sicher, ob der Drucker das 1:1 gedruckt hat, es sind hier
> jedenfalls 48*68 mm. Daraus folgt eine Länge eines Mäanderstücks von
> etwa 10 mm.

Du hast doch den Chip und irgendwelche Stiftleisten, damit kannst du die 
Größe ja abgleichen.

Sascha

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren