Forum: Analoge Elektronik und Schaltungstechnik AS-Interrface Transceiver - sin^2(x) Pulsformer


von Asi Assi (Gast)


Lesenswert?

Die Frage nach dem Pulsformer passt wohl eher in dieses Unterforum.
Beitrag "Re: AS-Interface Transceiver"
https://www.mikrocontroller.net/attachment/277590/APM_Pulsfolge.png

Hi,

Ich habe mich in der Zwischenzeit mal mit dem Thema Selbstbau
ASi-Transceiver beschäftigt.

Das einzige Feature das ich nicht trivial gelöst bekomme, ist der
Pulsformer, der aus den quasi-senkrechten ManchesterII-Flanken die
EMV-optimierten sin^2-Flanken macht.

Ziel ist, nach einem Eingangssprung in einem sin^2-Übergang innerhalb
von ca.3us auf einen stabilen Ausgangswert zu kommen.

Hat jemand einen Vorschlag, ggf. auch für eine sinnvolle Näherung?

Mit RC / Sallen-Key Tiefpass habe ich nicht vernünftiges hinbekommen.
Die Verwendung von Analog-Multiplizierern und Mischern macht aus
Kostengründen keinen Sinn, da die Gesamtanordnung deutlich unter 10€ 
kosten soll.


Danke,
 Euer Assi

von derguteweka (Gast)


Lesenswert?

Moin,

Die Impulsformung mittels externem Analogtiefpass stell' ich mir nicht 
ganz simpel vor, weil die ueblichen Analogtiefpaesse eher unsymmetrische 
Impulsantworten/Gruppenlaufzeitverzerrungen haben. Also klappt das 
entweder mittels Analogtiefpass mit zusaetzlicher Laufzeitkorrektur 
(Aufwendig, nicht ganz trivial zu berechnen) oder - wahrscheinlich 
einfacher - noch in der digitalen Welt. Kommt halt drauf an, wo das 
Digitalsignal herkommt und wieviel Luft da noch ist, das ueberabzutasten 
und zu filtern. Und wieviel Pins noch da sind, um z.B. einen 
R-2R-Simpel-DAC anzusteuern.

Gruss
WK

von Asi Assi (Gast)


Lesenswert?

Hi,
ich dachte auch schon an eine digitale Lösung.
Allerdings sind die eingebauten DACs z.B. im STM32 zu langsam für den 
Job (1MSps, fast 10fach längere Einschwingzeit).
Ein R2R-DAC war auch eine Idee. Bei, sagen wir 2..3 Bit, wäre das schon 
deutlich besser als alle Analogvarianten, die ich bisher probiert habe.

Zurück zum Analogfilter:
Als Kompromiss könnte man vielleicht nur versuchen die Ecken im Signal 
abzurunden.

Der Übergang zum Endwert ist ja schon schön rund.
Frage ist, wie bekommt man die Unstetigkeit in der Steigung zu Beginn 
weg?
PT2-Funktionen habe ich mal gerechnet und simuliert. Jedoch führt alles 
was einen schönen flachen Anfangsverlauf macht, zu einem sehr langsamen 
Hinkriechen zum Endwert.

Gruss,
 AA

von derguteweka (Gast)


Lesenswert?

Moin,

Ich kenn' dieses Interface ueberhaupt nicht. Was fuer eine Datenrate 
hat's denn da; also wie lange ist so ein einzelnes Rechteck?

Wenn du einen synchronen, aber N mal so hohen Takt zu deinen Daten 
haettest, koenntest du mit einem Schieberegister und ein paar 
Widerstaenden was "mixed-Signal-artiges" basteln.

Beim einem reinen Analogfilter hast du eben das Problem, dass da die 
Impulsantworten aller gaengigen, realisierbaren Filter ziemlich 
unsymmetrisch sind. Du brauchst aber, wenn' ichs richtig seh', ein 
Filter mit einer einzelnen cos-Halbwelle als Impulsantwort. Also was 
ziemlich symmetrisches.
Sowas geht afaik in Analog nur aus einer Kombination von Tiefpass und 
Allpass. Also nicht mit einem "simplen" Filter 2. Ordnung, wie deinem 
PT2.

Gruss
WK

von AS Interface (Gast)


Lesenswert?

Die Spannungskurve ergibt sich ja aus der durch die Induktivitäten 
gefilterten Stromkurve die der Transmitter erzeugen muss. Die Stromkurve 
ist eine Rampe + eine komplette Sinusschwingung. Der ASI4U macht dass 
mit einem Current DAC. Weil das ganze nicht so trivial setzt man in der 
Industrie so ziemlich überall den ASI4U ein. Preislich viel günstiger 
als das ganze selbst zu entwickeln und außerdem quasi die Refrenz.

von Asi Assi (Gast)


Lesenswert?

Hi Weka,
das waren schonmal ein paar gute Stichworte - Filter mit 
(punkt-)symmetrischer Sprungantwort. Mal schauen, was eine TP-AP-Kombi 
bringt.
Danke!
 AA

von Asi Assi (Gast)


Lesenswert?

AS Interface schrieb:
> Die Spannungskurve ergibt sich ja aus der durch die Induktivitäten
> gefilterten Stromkurve die der Transmitter erzeugen muss. Die Stromkurve
> ist eine Rampe + eine komplette Sinusschwingung. Der ASI4U macht dass
> mit einem Current DAC. Weil das ganze nicht so trivial setzt man in der
> Industrie so ziemlich überall den ASI4U ein. Preislich viel günstiger
> als das ganze selbst zu entwickeln und außerdem quasi die Refrenz.

Ah, Du hast meinen Originalpost nicht gesehen.
Es geht darum den 10€uro ASI4U zu ersetzen, da ich nur den APM-Modulator 
benötige. Wie's in einem mixed-signal-ASIC geht ist klar.
In diesem Post geht's aber darum, wie man das Signal zu Fuß bauen kann.

von derguteweka (Gast)


Lesenswert?

Moin,

OK, Datenblaetter mit bunten Tieren auf der ersten Seite sind schon ein 
Hinweis auf die zu erwartende Seriositaet :-)
Wenn ich's recht bedenke, dann glaub' ich nicht drann, dass man so eine 
symmetrische Impulsformung mit einem einfachen analogen Filter 
hinkriegt.

Was aber mit imho ueberschaubarem Aufwand gehen wuerde, waere ein 
Schieberegister, durch das die Daten mit einem deutlich hoeherem Takt 
als die Datenrate geschoben werden. Synchron zu den Daten waere zwar 
schoen, aber ich denk', es wird auch mit einem asynchronen Takt 
funktionieren (Lehrbuchmaessig sollte man dann zumindest den ersten 
Ausgang des Schieberegisters nicht weiter hernehmen, da ist dann eine 
Clockdomain-crossing...).
Also z.b. ein 8 Bit Schieberegister, das haengt dann an einem Takt, der 
mindestens 8x so hoch sein muss, wie das schmalste Rechteck, was zu 
uebertragen ist. Wenn du jetzt an jeden der 8 Ausgaenge einen 
gleichgrossen Widerstand auf einen Summierpunkt anschliesst, kommt an 
diesem Summierpunkt ein Signal mit Trapezfoermigen Flanken an. Diese 
Flankenform kannst du mit dem Verhaeltnis der Widerstaende untereinander 
noch variieren; fuer die benoetigte Form werden die an den "mittleren" 
Anzapfungen kleiner sein muessen, als die am Anfang und Ende des 
Schieberegisters.

Gruss
WK

von Asi Assi (Gast)


Lesenswert?

derguteweka schrieb:
> Ich kenn' dieses Interface ueberhaupt nicht. Was fuer eine Datenrate
> hat's denn da; also wie lange ist so ein einzelnes Rechteck?

Schaust Du Bild in erstem Post:
https://www.mikrocontroller.net/attachment/277590/APM_Pulsfolge.png

Die Bitzeit ist 6µs. der "halbe Kosinus" bzw. "halbe sin^2" dauert 3µs.

Es wird ein Strom von ca. 60mA auf eine 24V Versorgung mit 100µH 
Impedanz moduliert.

Der Gag an der Signalform ist die extrem schmale Bandbreite.
Die gewählte Bitrate erzeugt damit Frequenzen unterhalb des üblichen 
Frefeld-EMV-Messbereichs.

von Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite


Lesenswert?

derguteweka schrieb:
> Moin,
>
> OK, Datenblaetter mit bunten Tieren auf der ersten Seite sind schon ein
> Hinweis auf die zu erwartende Seriositaet :-)
> Wenn ich's recht bedenke, dann glaub' ich nicht drann, dass man so eine
> symmetrische Impulsformung mit einem einfachen analogen Filter
> hinkriegt.
>
> Was aber mit imho ueberschaubarem Aufwand gehen wuerde, waere ein
> Schieberegister, durch das die Daten mit einem deutlich hoeherem Takt
> als die Datenrate geschoben werden. Synchron zu den Daten waere zwar
> schoen, aber ich denk', es wird auch mit einem asynchronen Takt
> funktionieren (Lehrbuchmaessig sollte man dann zumindest den ersten
> Ausgang des Schieberegisters nicht weiter hernehmen, da ist dann eine
> Clockdomain-crossing...).
> Also z.b. ein 8 Bit Schieberegister, das haengt dann an einem Takt, der
> mindestens 8x so hoch sein muss, wie das schmalste Rechteck, was zu
> uebertragen ist. Wenn du jetzt an jeden der 8 Ausgaenge einen
> gleichgrossen Widerstand auf einen Summierpunkt anschliesst, kommt an
> diesem Summierpunkt ein Signal mit Trapezfoermigen Flanken an. Diese
> Flankenform kannst du mit dem Verhaeltnis der Widerstaende untereinander
> noch variieren; fuer die benoetigte Form werden die an den "mittleren"
> Anzapfungen kleiner sein muessen, als die am Anfang und Ende des
> Schieberegisters.
>
> Gruss
> WK

Herzlichen Dank, lieber WK!
Der mentale Sprung von R2R-DAC nach weighted-R-DAC, den hätte ich ohne 
Deine Hilfe nicht geschafft.
Nun ist es schon fast zu einfach. :)
Das mache ich tatsächlich mit einer 0,50€ MCU und ein paar Widerständen.

Die Originalschaltung waren ASI4U plus kleine MCU.
Nun sind es kleine MCU plus 2€ Bauteile. Klasse.


Schade eigentlich, ich hätte den Pulsformer so gerne in Analog gebaut.
Aber ich gebe die Hoffnung nicht auf, vielleicht zieht noch jemand ein 
Kaninchen aus der Bastelkiste...

von derguteweka (Gast)


Lesenswert?

Moin,

Keine Ursache :-)
Wenns Impedanzmaessig passt und auf low-cost bei grossen Stueckzahlen 
getrimmt werden muss, koennt's sein, dass man's billig mit passiven 
LC-Filtern hinkriegt. Kommt halt drauf an, ob man die Spulen in die 
passenden Groessen quetschen kann. Bei einem root-raised-cosine-Filter 
fuer einen NICAM-Encoder hab' ich mein' ich mal sowas gesehen.

Gruss
WK

von Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite


Angehängte Dateien:

Lesenswert?

Ich möchte mich nochmal herzlich beim derguteweka bedanken!
Vielleicht schaut er hier sogar nochmal rein?

Aus seinem Denkanstoß ist der DAC in dieser Baugruppe entstanden:
http://www.harerod.de/applications_ger.html#ASi-Xceiver

Die Funktionsweise der Datenübertragung sieht man auf dem 
Oszi-Screenshot:
CH2: Sender-Modulationsstrom, gemessen über 39R, d.h. 60mA Peak.
CH4: Modulationsspannung nach 25m H03VVH2-F 2x0,75qmm am 
Empfängereingang.
CH3: rekonstruiertes Manchester Signal

Am STM32F030 Controller besteht der DAC nur aus 4 Portpins, auf denen 
die Kurvenform mit 2,6Msps ausgegeben wird.

von Dergute W. (derguteweka)


Angehängte Dateien:

Lesenswert?

Moin,

Marcus H. schrieb:
> Vielleicht schaut er hier sogar nochmal rein?

Aber logo schaut er rein :-D

Merci fuers Feedback. Um die weihnachtliche Mastphase auf dem 
schwiegerelterlichen Sofa ein bisschen kurzweiliger zu gestalten, hatte 
ich noch vor, zu gucken, ob man da ein Analogfilter irgendwie 
approximieren koennte, so dass es eine Sin/Cos-Halbwelle als 
Impulsantwort hat.

Bin aber nicht wirklich weitergekommen, stelle mich wohl zu doof an.
Hier ein "Kochrezept" aus Fritzsche/Witzschel: Informationsuebertragung.

Aber alleine schon bei der Laplace-Transformation der Halbwelle haben 
sich bei mir Zweifel bezueglich der Einheiten eingeschlichen, die auch 
starker Stollen-und Plaetzchenbeaufschlagung standhielten. Auch vom 
Grenztheorem hab' ich noch nie was gehoert. Und wie in dem Buch das 
Beispiel aus dem Hut gezaubert wird, blieb mir weitgehend unklar.

Wenn mir jemand mal vorrechnen kann, wie die in dem Buch von Ti(p) auf 
T(p) kommen, also eben die Werte fuer a0,a1,a2, b1,b2,b3 
ermitteln,...immer her damit :-D

Aber ich glaub' solange faehrst du mit deinen 4 GPIOs ganz gut.

Gruss
WK

von Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite


Lesenswert?

Dergute W. schrieb:
> Bin aber nicht wirklich weitergekommen, stelle mich wohl zu doof an.
> Hier ein "Kochrezept" aus Fritzsche/Witzschel: Informationsuebertragung.
>
"Grenztheorem", oder "Warum ich Signal- und Systemtheorie so schätze":

"Nach kurzer Umformung erhalten Sie als Lösung eine gebrochenrationale 
Funktion mit Zählergrad größer Nennergrad und versuchen anschließend bei 
Digikey Kondensatoren und Drosseln mit negativem Serienwiderstand zu 
kaufen - leider vergeblich." ;)

Scherz beiseite, SigSys hat kein Problem mit Zählergrad größer 
Nennergrad. Allerdings habe ich noch in der Schule gelernt, dass der 
Zählergrad kleiner, maximal gleich, dem Nennergrad ist. Ansonsten würde 
das Kausalitätsprinzip verletzt.

Deswegen gibt es z.B. physisch keine echten Differenzierer "T(p)=p", 
sondern nur so angenäherte Dinger wie "T(p)=p/(1-t1*p)".


Du schriebst: "Wenn mir jemand mal vorrechnen kann, wie die in dem Buch 
von Ti(p) auf T(p) kommen, also eben die Werte fuer a0,a1,a2, b1,b2,b3
ermitteln,...immer her damit :-D"
wenn ich mich mal sehr langweile. ;)

Wenn ich mich wirklich nochmal dranmachen sollte, würde ich 
Matlab/Simulink/Wolfram Alpha zumindest mal um Hilfe fragen.
Stichwort "Parameter schätzen".


Billiger und stabiler als die jetzige DAC-Lösung wird das wohl nicht 
mehr werden.

von Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite


Lesenswert?

Du schriebst: "Wenn mir jemand mal vorrechnen kann, wie die in dem Buch
von Ti(p) auf T(p) kommen, also eben die Werte fuer a0,a1,a2, b1,b2,b3
ermitteln,...immer her damit :-D"

Oh Mann, "Challenge ein bisserl accepted":

An Weihnachten wird doch immer aus der Genesis vorgelesen, oder?

Am Anfang war: Ti(p) = T(p)

Dann wurden beide Seiten mit dem Nennerpolynom von T(p) multipliziert.
Dann wurde alles auf eine Seite gebracht, nach Potenzen sortiert und 
gleich Null gesetzt - Erste Gleichung.

Dann Ableiten - Zweite Gleichung

Nochmal Ableiten - Dritte Gleichung

Etc...

Am siebten Tage wurde das so entstandene Gleichungssystem flink gelöst. 
Und es sah sehr gut aus.

Soweit so gut. Danach folgt aber der Teil mit der Verbannung aus dem 
Paradies, sprich der Versuch die Bauteile zu kaufen. ;)

Ich hol mir jetzt ein Plätzchen... ;)

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Neinein, nicht Genesis; Lukasevangelium ist doch zu Weihnachten 
angesagt:
"Es begab sich aber zu der Zeit, dass ein Gebot von dem Kaiser Shannon 
ausging, dass alle Welt abgetastet wuerde. Und diese Abtastung war die 
erste und geschah' zu der Zeit, als Nyquist Landpfleger bei AT&T war..."

Das mit den Ableitungen ist ne gute Idee, merci. Mal gucken, wann ich 
mich aufraff'. Vielleicht mal im Sommer am See...

Klar, "wirtschaftlich" ist das Filterdesign fertig ausgepatscht, bei 4 
Widerstaenden ist das Einsparpotential sehr uebersichtlich. Das ist 
reiner Spassfaktor. Und Neugierde, ob sich's wirklich mit "echten" 
Bauteilen, sprich positiven Werten realisieren laesst. So ausm Bauch 
raus halt' ichs fuer nicht ganz ausgeschlossen. Ist dann halt noch die 
Frage, wieviel Glibber nach der ersten Sinushalbwelle noch kommt und wie 
der dann ausschaut.

Gruss
WK

von Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite


Lesenswert?

"als Nyquist Landpfleger bei AT&T war..." - rotfl

von Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite


Lesenswert?

Die Ableiterei führt nicht zum Ziel. Nächster Ansatz wäre hier
https://de.wikipedia.org/wiki/Potenzreihe
-> Darstellung von Funktionen als Potenzreihen -> Koeffizientenvergleich

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.