Forum: FPGA, VHDL & Co. Symmetrisches Analogsignal aus Digitalsignal


von Programmierer (Gast)


Lesenswert?

Ich verwende einen PWM-Timer im UC, um ein Analogsignal zu erzeugen, das 
ausserhalb der Platine gefiltert und dort zur Anzeige gebracht wird.

Jetzt reicht der mir von der Auslösung her nicht mehr und der Timer 
packt das nicht. Ausserdem sollen mehrere Kanäle zusammengefasst werden. 
Daher wird ein PLD programmiert, dass vom UC beschrieben wird und eine 
eigene PWM machen soll. Es sind 6 Kanäle angedacht.

Jetzt kam noch folgende Idee: Um Störungen vorzubeugen, soll das Signal 
schon in der Nähe des PLD analog gefiltert werden. Damit es nun nicht 
störanfällig wird, soll es symmetrisch, also statt mit etwa 0,3 ... 3,0V 
mit -1,5 .. 1,5 Volt übertragen werden. Der Emfänger hat einen 
OP-Eingang, den man differentiell betreiben kann.  Es ist also sowas wie 
LVDS im Analogen. Als Lösung wird vorgeschlagen, alles zeimal aufzubauen 
und die eine Hälfte der Werte negativ auszugeben. Wären dann 6x2 Kanäle 
und 12 Filter. Das scheint mir aber unnötig!

Frage: Kann Ich nicht einfach den Ausgang des Pins duplizieren und im 
PLD mit einem Inverter negieren und dann nur jeweils einen Filter auf 
die beiden Pins ohne GND schalten?

Die Pins schalten doch dann gegensinnig 0/1 oder 1/0 und hätten mit dem 
GND nichts mehr zu tun, was eigentlich Sinn der differentiellen 
Übertragung ist.

Oder?

von A. S. (Gast)


Lesenswert?

Was meinst Du mit "analog gefiltert"?

Willst Du digital oder analog übertragen?

Oder beides, indem der Empfänger die Digitalsignale nicht auffrischt vor 
dem glätten?

von S. R. (svenska)


Lesenswert?

Ein Inverter verzögert das Signal und führt möglicherweise zu Glitches. 
Zu TTL-Zeiten gab es Bausteine, auf denen sowohl Inverter als auch 
Nicht-Inverter drin waren.

Analogsignale kriegst du aus einem Digitalbaustein grundsätzlich nicht 
raus, aber moderne FPGAs können differentielle Signale auch direkt 
ausgeben. Die kannst du auch durch zwei Offsetverstärker schicken, aber 
ob das sinnvoll ist, kann ich nicht einschätzen.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

S. R. schrieb:
> aber moderne FPGAs können differentielle Signale auch direkt ausgeben
Allerdings liegt der Witz dabei im Wort "differentiell", denn bei dieser 
Art Signalübertragung ist bezogen auf GND keine negative Spannung 
beteiligt. Die negative Spannung ergibt sich nur durch ein Impotent der 
Signalleitungen (siehe auch CAN, RS422, RS458, LVDS...),.

Programmierer schrieb:
> Damit es nun nicht störanfällig wird, soll es symmetrisch, also statt
> mit etwa 0,3 ... 3,0V  mit -1,5 .. 1,5 Volt übertragen werden
Warum sollte ein Signal, das einfach nur um 1,5V in negative Richtung 
verschoben wurde, weniger störanfällig sein?
Welche Leitumgslängen hast du vom PWM Ausgang bis zum Empfänger, dass du 
dir da über Störungen Gedanken machst?

: Bearbeitet durch Moderator
von Programmierer (Gast)


Lesenswert?

Ich habe mich möglicherweise falsch ausgedrückt. Also:

Momentan geht eine "normale" PWM zwischen 0 und 3,3V (real wegen der 
Schaltschwellen 0,3 bis 3,0) in Richtung des Analogmoduls. Die Leitung 
hat fast 1m Länge und emitiert Störungen. Vor dem Analogmodul sitzt ein 
filter, das das Signal mittelt. Also kann das Analogmodul eine analoge 
Spannung "sehen".  Ich steuere es zwischen 0,5 und 2,0 Volt an, weil das 
die Messwerte sind. Das Ergebnis ist eine Anzeige von -50% bis + 100%. 
Das Modul zeichnet alles auf und zeigt es auch an.

Die Schaltfrequenz beträgt etwa 100kHz. Der Filter liegt bei 1kHz 
Grenzfrequenz. Das Analogmodul hat eine Bandbreite von 2kHz. Wir 
brauchen maximal 1000 Werte die Sekunde, sodass das passt.

Um die Störungen zu mindern, soll nun der digitale Teil verkürzt werden, 
d.h. der Filter kommt auf die andere Platine. Damit wird nicht mehr 
100kHz digital mit Oberwellen in die Welt gesendet, sondern nur noch 
1kHz und ein bissl was :-)

Da die Spannung aber nun analog ist, unterliegt sie den Einstreuungen 
des Gerätes. Man muss noch sagen, dass vor dem Filter ein Schmitttrigger 
sitzt, der das digitale Signal aufgefrischt hat und es unempfindlicher 
gemacht hat. Das fällt nun weg.

Stattdessen will man den OP nicht mehr als ST fahren, sondern als 
differentiellen Analogverstärker. Dazu braucht es jetzt das symmetrische 
Signal. Also die halbe Spannung mit +/- . Der Offset wird durch den OP 
eingestellt und kalibiert, d.h. Ich kann z.B. von -0,5 bis +1,0 direkt 
ausdrücklich übertragen, womit die Offestkalibierung auch wegfallen 
würde und Ich es im Chip machen kann, weil Ich ja nun erstmals echte 
negative Spannungen übertragen kann, indem die PWM unter 50% läuft. 
Vorher war die 50% ja etwa 0,3 + 3,0/2 = 1,8V.  Jetzt ist 50% gleich 0!.

Was Ich nur wissen muss:

Brache Ich zwei Filter die invertiert verschaltet sind oder reicht 
einer?

von Achim S. (Gast)


Lesenswert?

deine Grundidee hab ich jetzt verstanden, aber bei manchen Details bin 
ich mir immer noch nicht sicher:

Programmierer schrieb:
> Die Leitung
> hat fast 1m Länge und emitiert Störungen.

Das hast du real beobachtet oder das befürchtest du nur? Vielleicht 
würde ja eine passende Terminierung der digital getriebenen Leitung 
schon helfen.

Programmierer schrieb:
> weil Ich ja nun erstmals echte
> negative Spannungen übertragen kann, indem die PWM unter 50% läuft.

Meinst du damit negative Differenzspannungen zwischen den beiden 
differentiellen Signalleitungen? Oder meinst du wirklich negative 
Spannungen (also mit einer negativen Spannungsversorgung)?

Programmierer schrieb:
> Um die Störungen zu mindern, soll nun der digitale Teil verkürzt werden,
> d.h. der Filter kommt auf die andere Platine.

Sprechen wir hier von einem passiven Filter? Oder soll der OPV, der in 
Zukunft am Leitungsende einen Differenzverstärker bildet, als aktiver 
Filter beschaltet werden?

Programmierer schrieb:
> Frage: Kann Ich nicht einfach den Ausgang des Pins duplizieren und im
> PLD mit einem Inverter negieren und dann nur jeweils einen Filter auf
> die beiden Pins ohne GND schalten?

Das klingt nach einem passiven Filter zwischen komplementär schaltenden 
Digitalsignalen am Leitungsanfang? Ja, kannst du machen. Ein steiles 
Filter für 1kHz wäre so zwar vielleicht etwas unhandlich zu bauen. Die 
evtl. störende Abstrahlung stammt aber ja von sehr viel höheren 
Frequenzen, die du auch mit einem simplen Filter niedriger Ordnung stark 
wegdämpfst. Du darfst dann neben dem Kondensator zwischen dem diff. 
Leitungspaar durchaus auch noch jeweils einen gegen GND verwenden.

Wenn du das gemeint hast, dann achte bei einem passiven Filter am 
Leitungsanfang darauf, dass die Treiberimpedanz für die Leitung nicht zu 
hochohmig wird, und dass die Übertragung auch wirklich symmetrisch ist. 
Dass also z.B. der Diffamp am Leitungsende die beiden Leitungen nicht 
unterschiedlich stark belastet. Und dass natürlich die Treiberimpedanz 
für beide Leitungen des diff. Leitungspaares gleich ist.

von J. S. (engineer) Benutzerseite


Lesenswert?

Programmierer schrieb:
> weil Ich ja nun erstmals echte
> negative Spannungen übertragen kann, indem die PWM unter 50% läuft.

Wie eigentlich klar sein sollte kannst Du nur eine virtuelle negative 
Spannung als Information übertragen, nicht aber eine negative Spannung 
selbst. Das würde schon eine echte negative Spannungsquelle erfordern 
und nur dann würde auch ein Filter reichen. Dein symmetrischer 
Verstärker im Empfänger braucht ja ein Bezugspotenzial, da dessen 
Ausgang zwar die Differenz verstärkt - sonst aber in der Luft hängt. Der 
braucht also noch irgendeine Masse. Wenn Du dort den Offset verdrehen 
kannst, kannst Du ja schon jetzt eine negative Spannung erzeugen (?)

Dasselbe gilt für den Ausgang des Senders: Du kannst den Filterausgang 
jederzeit als "symmetrisch" interpretieren, wenn Du ein entsprechendes 
Bezugspotenzial mitlieferst. Dazu brauchst Du aber die halbe Spannung 
oder genauer: Das, was Nullpunkt sein soll. Dann könntest Du auch damit 
kalibrieren. Aber:

Das erfordert, dass dein Empfänger eine andere Masse haben darf! Frage: 
Darf er das? Wahrscheinlich nicht! Wenn beide auf demselben GND hängen, 
dann müssen auch beide Ausgangsspannungen der symmetrischen 
Signalführung auf diesen bezogen sein. Du brauchst also entweder nur 
einen Filter, der das Analogsignal aus der PWM macht aber danach einen 
invertierenden Analog-OP mit negativer Versorgung, wie es beim 
professionellen Audio gemacht wird-

oder Du erzeugst mit zwei Pins und zwei Filtern ein gegenphasiges Signal 
mit jeweils demselben Offset im Positiven, der dann vom Empfänger 
eliminiert wird, soweit er eine gute common mode rejection hat, was noch 
zu prüfen wäre!

Ob Du Deine Pins dann mit einem OP oder direkt im PLD invertierst, ist 
Wurscht. Es bleibt eine negierte Spannungsinformation, die physikalisch 
immer im Positiven ist. Wo Ich ein Problem sehe, ist der Ausgangspegel 
des Pins: Der ist nicht notwendigerweise in der Mitte zwischen den Rails 
von daher muss dessen Offset auch noch wegkalibriert werden. Ich habe 
das hier mal durchexerziert, als es um das indirekte AD-Wandeln mit PDM 
ging:

Analog-IO mit digitalen Bausteinen

Da muss auch die PWM von den 50:50 weggeschoben werden, um den echten 
Nullpunkt zu treffen. Vielleicht kann man das Problem in Deinem Fall 
durch kapazitive Ankopplung lösen.

Schau Dir in jedem Fall mal an, wie solche Verstärker im Audiobereich 
aufgebaut sind.

von Michael W. (Gast)


Lesenswert?

Für eine saubere symmetrische Übertragung muss das Signal aber 
vollkommen Offsetfrei sein, d.h. die Stufen müssten 100% invertiert 
schalten. Mit PWM ist das wohl eher nicht hinzubekommen. Und bei Audio 
wäre Ich auch vorsichtig.

von Joe F. (easylife)


Lesenswert?

Programmierer schrieb:
> Jetzt kam noch folgende Idee: Um Störungen vorzubeugen, soll das Signal
> schon in der Nähe des PLD analog gefiltert werden. Damit es nun nicht
> störanfällig wird, soll es symmetrisch, also statt mit etwa 0,3 ... 3,0V
> mit -1,5 .. 1,5 Volt übertragen werden.

Wie Lothar bereits sagte, das ist kein differenzielles Signal.

Programmierer schrieb:
> Momentan geht eine "normale" PWM zwischen 0 und 3,3V (real wegen der
> Schaltschwellen 0,3 bis 3,0) in Richtung des Analogmoduls.

Dann ist also der Mittelwert 1.65V, und das differenzielle Signal würde 
dann auf der positiven Leitung von +0.3..+3.0V gehen, und das negative 
von +3.0..+0.3V.

Programmierer schrieb:
> Kann Ich nicht einfach den Ausgang des Pins duplizieren und im
> PLD mit einem Inverter negieren

Ja, so würde ich das auch machen.
Dass der Inverter ein paar Nanosekunden Delay erzeugt ist meiner Meinung 
nach bei 1-2 KHz komplett egal. Viele Audio-Symmetrierschaltungen 
arbeiten mit einem nachgeschalteten Op-Amp für das invertierte Signal, 
der erzeugt mit Sicherheit wesentlich mehr Phasenverschiebung.

> und dann nur jeweils einen Filter auf
> die beiden Pins ohne GND schalten?

Vorteil von nur einem Kondensator: bessere Symmetrierung.
Bei 2 Filtern sieht das Ausgangssignal aufgrund der Kondensator-Toleranz 
etwas unterschiedlich aus.

: Bearbeitet durch User
von Michael W. (Gast)


Lesenswert?

Joe F. schrieb:

>> und dann nur jeweils einen Filter auf
>> die beiden Pins ohne GND schalten?
>
> Vorteil von nur einem Kondensator: bessere Symmetrierung.
> Bei 2 Filtern sieht das Ausgangssignal aufgrund der Kondensator-Toleranz
> etwas unterschiedlich aus.

Wie soll denn diese Schaltung aussehen?

von Joe F. (easylife)


Lesenswert?

so:
1
PWM_P --[ R ]---+---- ANALOG_P (+0.3 .. +3.0V)
2
                |
3
               ---
4
               --- C
5
                |
6
PWM_N --[ R ]---+---- ANALOG_N (+3.0V .. +0.3V)

wenn man das Analogsignal auf GND bezogen haben will (und es kein DC 
Signal ist), kann man es auch noch auskoppeln:
1
PWM_P --[ R ]---+-----||--+- ANALOG_P (-1.35V .. +1.35V)
2
                |         |
3
                |        |R| 100K
4
               ---        |
5
               --- C      +-- GND
6
                |         |
7
                |        |R| 100K
8
                |         |
9
PWM_N --[ R ]---+-----||--+- ANALOG_N (+1.35V .. -1.35V)

: Bearbeitet durch User
von Ruler (Gast)


Lesenswert?

Wie wird in der Audiotechnik aus einem symmetrischen ein asymmetrisches 
Signal gemacht?

von Joe F. (easylife)


Lesenswert?

Ruler schrieb:
> Wie wird in der Audiotechnik aus einem symmetrischen ein
> asymmetrisches
> Signal gemacht?

Mit einem Op-Amp.

https://upload.wikimedia.org/wikipedia/en/thumb/2/23/Electronic_balance.svg/1423px-Electronic_balance.svg.png

: Bearbeitet durch User
von J. S. (engineer) Benutzerseite


Angehängte Dateien:

Lesenswert?

Joe F. schrieb:

> Vorteil von nur einem Kondensator: bessere Symmetrierung.
> Bei 2 Filtern sieht das Ausgangssignal aufgrund der Kondensator-Toleranz
> etwas unterschiedlich aus.

Dann greift aber wieder die schon gestellte Frage nach der virtuellen 
Masse beim Empfänger. Die muss dann erst einmal geschaffen werden (oder 
sie erschafft sich selber) und dort passiert Dasselbe an Unsymmetrie, 
wie beim Senden.
Widerstände mit 100k definieren erfahrungsgemäß noch keine gute Masse. 
Das müsste niederohmiger sein, vor allem hochfrequenzmäßig.

Ich werfe mal die angehängte Schaltung in die Diskussion.

Beim Senden hat man zudem die Möglichkeit, den Ausgang abzusampeln und 
zu regeln, um so kanalweise eine präzise Mitte zu erzeugen.

Ein einzelnes Filter wäre natürlich besser, ginge aber wie gesagt nur, 
wenn sie auch vollsymmetrisch, also mit +/- angesteuert wird.

von J. S. (engineer) Benutzerseite


Lesenswert?

Markus W. schrieb:
> Mit PWM ist das wohl eher nicht hinzubekommen. Und bei Audio
> wäre Ich auch vorsichtig.

Warum sollte das nicht gehen?

Wenn die PWM Frequenz hochgenug ist, kriegt man einen recht glatten 
DC-Wert für Anzeigen raus und die Einstellbarkeit ist auch geben, 
spätestens, wenn man dithert. Mit PDM im Megaherzbereich wird ja sogar 
Audio übertragen. Ich benutze das als preiswerte Ausgabe für meine 
Synthies. Bei der Übertragung in symmetrischer Form werden alle 
Störungen auf den Leitungen durch den Verstärker wieder weggenommen. Da 
kann man sogar mit 50Hz-Brumm aus einem Trafo rangehen und hört nichts. 
Auch hochfrequente Störungen sind zu unterdrücken. Es bietet sich ja an, 
vor den Verstärker nochmals einen Audio-Tiefpass hinzusetzen, der die 
gegenphasigen Wellen der PDM kurzschließt.

Ich habe auch schon mal die Lautstärke für die Höhen ab z.B. 2 kHz 
stetig angehoben und komme dann bei 16kHz mit + 18dB raus. Dann kann Ich 
die Grenzfrequenz für das Filter auf eben jene 2 kHz herabsetzen und die 
PDM Wandelfrequenz inklusive HF nochmals besser unterdrücken. Verfolgt 
man die Strategie linear weiter, gelangt man zu einem invertierten 
Spektum und einer preiswerten aber hochgenauen Ausgabe für 
Basslautsprecher.

Wer bei einer Übertragung z.B. Probleme mit Brumm hat, kann auch mal 
eben ein Filter bei 50Hz einsetzen und diesen Bereich dann additiv 
anheben. Der Empfänger bekommt dann ein Notchfilter mit moderater Güte, 
das den Effekt wieder kompensiert. Nennt sich lineare Vorverzerrung.

von T.U.Darmstadt (Gast)


Lesenswert?

Programmierer schrieb:
> Brache Ich zwei Filter die invertiert verschaltet sind oder reicht
> einer?

Beide Lösungen sind nicht übermäßig gut. Du brauchst einen 
Symmetrierverstärker, der einen echten stabilen GND halten kann.

von michael_ (Gast)


Lesenswert?

Programmierer schrieb:
> Frage: Kann Ich nicht einfach den Ausgang des Pins duplizieren und im
> PLD mit einem Inverter negieren und dann nur jeweils einen Filter auf
> die beiden Pins ohne GND schalten?

Mit zwei Pins kommt nur doppelter Pegel aber nicht mehr Entstörung. Du 
kannst das vergleichen mit einer kapazitiven Koppelung. Bei dem 
Empfänger reicht ein Differenzverstärker gegen GND.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.