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
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
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
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
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.
Hi Weka,
das waren schonmal ein paar gute Stichworte - Filter mit
(punkt-)symmetrischer Sprungantwort. Mal schauen, was eine TP-AP-Kombi
bringt.
Danke!
AA
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.
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
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.
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...
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
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.
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
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.
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... ;)
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
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