Forum: Mikrocontroller und Digitale Elektronik Steile Flanke erzeugen


von Philipp (Gast)


Lesenswert?

Hallo zusammen

Ich muss mit meinem uC (AVR32UC3B) alle 100ns einen extrem kurzen puls 
von 3ns erzeugen. Ich wollte das wie folgt erreichen:
Vom Ausgangspin aus einen Pfad über ein 3ns Verzögerungselement mit dem 
EXOR Gatter verbinden, und einen zweiten Pfad direkt mit dem EXOR.

Somit erhalte ich nach dem EXOR Gatter bei jedem Umschalten des Pins 
einen 3ns kurzen Puls.

Nun habe ich aber in mehreren Beiträgen gelesen, dass die 
Anstiegs-/Abfallszeit der Ausgangports eines uC (je nach externer 
Beschaltung) circa 10-20ns beträgt. Leider steht dazu nichts im 
Datenblatt des uC's.

Soll ich nun das Ausgangssignal des uC einfach mit einem Schmitt Trigger 
IC "steiler machen"? Oder gibt es eine andere Lösung um mit einem uC 
solch einen kurzen Impuls zu generieren?

Danke bereits im Voraus für eure Anregungen

Philipp

von Andrew T. (marsufant)


Lesenswert?

Philipp wrote:
> Hallo zusammen
>
> Ich muss mit meinem uC (AVR32UC3B) alle 100ns einen extrem kurzen puls
> von 3ns erzeugen. Ich wollte das wie folgt erreichen:
> Vom Ausgangspin aus einen Pfad über ein 3ns Verzögerungselement mit dem
> EXOR Gatter verbinden, und einen zweiten Pfad direkt mit dem EXOR.
>
> Somit erhalte ich nach dem EXOR Gatter bei jedem Umschalten des Pins
> einen 3ns kurzen Puls.


Ja, das ist eine gute Lösung. Du mußt halt sehr schnelle CMOS oder 
schnelle TTL wählen.

>
> Nun habe ich aber in mehreren Beiträgen gelesen, dass die
> Anstiegs-/Abfallszeit der Ausgangports eines uC (je nach externer
> Beschaltung) circa 10-20ns beträgt. Leider steht dazu nichts im
> Datenblatt des uC's.

Aber die Fall/Anstiegszeiten der artiger ICs liegen in dieser 
Größenordnung. Das paßt schon

>
> Soll ich nun das Ausgangssignal des uC einfach mit einem Schmitt Trigger
> IC "steiler machen"?

Würde ich sowieso machen um den Rest Deiner schnellen Logik vom uC zu 
entkoppeln. Was spricht bei Dir dagegen? Kein Platz auf der Testplatine? 
Oder keine Gatter mehr übrig?

Machs einfach.

> Oder gibt es eine andere Lösung um mit einem uC
> solch einen kurzen Impuls zu generieren?
>
> Danke bereits im Voraus für eure Anregungen
>
> Philipp


hth,
Andrew

von Philipp (Gast)


Angehängte Dateien:

Lesenswert?

Danke für die schnelle Antwort.

Ich habe bei Distrelec einen schnellen Schmitt Trigger gefunden. Leider 
ist das Datenblatt nicht genz verständlich. Es ist dort im Figure 3 nur 
die raise/fall time für den EINGANG angegeben! Dabei ist doch der 
Ausgang von Bedeutung, nicht? Der Eingang kann meines Erachtens so 
langsam oder schnell wechseln wie er will, oder mache ich einen 
Überlegungsfehler? Seht euch doch bitte schnell das Datenblatt im Anhang 
an.

Danke

von HildeK (Gast)


Lesenswert?

>Der Eingang kann meines Erachtens so
>langsam oder schnell wechseln wie er will, oder mache ich einen
>Überlegungsfehler?
Kein Überlegungsfehler, aber falsche Baustelle.
In dem Diagramm sind die Meßbedingungen für die Propagation Delay 
angegeben. Dann muss die Eingang eben in der genannten Geschwindigkeit 
wechseln, um die rund 3ns Verzögerung zu schaffen. Eine Aussage über die 
Ausgangs-Flankensteilheit ist in dem Datenblatt nicht enthalten. 
Vielleicht gibt es ein Family-Datasheet für die UHS-Familie. Dort 
sollten solche Dinge zu finden sein.

von Muraer (Gast)


Lesenswert?

Am Anfang des DB steht:
Ultra High Speed; tPD 3.7 ns Typ into 50 pF at 5V VCC

Das könnte es doch sein, oder? Aber schon komisch, dass da nicht mehr 
dazu steht.
Distrelec - auch ein Schweizer? :)

Gruss
Mario

von Muraer (Gast)


Lesenswert?


von Ron (Gast)


Lesenswert?

Bei diesen Schaltzeiten wird das schon ein recht großes Problem das noch 
mit derartiger diskreter Logik sauber hinzubekommen. Insbesondere wird 
der Impuls bei weitem kein schöner digitaler Rechteckimpuls werden.
3ns entsprechen etwa eine Frequenz von 300 MHz. Da lässt sich vielleicht 
mit HF Transistoren mehr ausrichten.

von Wolf (Gast)


Lesenswert?

Dieses Einzelelement Fairchild ist dann doch nicht geeignet. Auf Seite 
10 steht, daß die typische An/Abfallzeit <2,2ns ist bei 5V.

von Philipp (Gast)


Angehängte Dateien:

Lesenswert?

Danke für die vielen Antworten, anscheinend habe ich das richtige Forum 
gefunden!

Hab im Datenblatt von Muraer eine "typische" raise/fall-time für die UHS 
Familie von <2.9ns gefunden. Das ist mir aber noch zu ungenau...

Zur Verdeutlichung habe ich im Anhang ein Teil des Schemas der Schaltung 
angegeben. Das Ganze funktioniert wie folgt:
Der uC gibt alle 100ns (=10Mbps) parallel ein 6bit Steuerwort an die 
PLL. Die stellt entsprechend dem Wort eine Frequenz zwischen 3-6GHz ein. 
Wenn die Frequenz eingeschwungen ist (ca.50ns), sollte der 3.3-6.6ns 
Puls kommen. Die Form des Pulses ist nicht wichtig, da der TX Eingang 
gepuffert ist. (Im Prinzip ist es sogar besser, wenn der Puls eher einem 
Gauss als einem Rechteck gleicht.)
Das Problem ist nur, dass der Puls UNBEDINGT zwischen 3.3ns und 6.6ns 
lang sein muss, um die UWB Maske einzuhalten!

t_r und t_f des uC's sind nicht genau bekannt aber sehr wahrscheinlich 
zwischen 10-20ns.

Mein Ansatz war nun: Der uC gibt 7bit aus, wovon 6Bit die Daten sind und 
das 7te als Takt genutzt wird. Die Flanken des Taktbits müssen natürlich 
kürzer als 3.3ns sein um den Puls erzeugen zu können... Also zuerst 
Schmitt-Triggern dann 50ns verzögern und dann mit dem um 3.3ns 
verzögerten Signal "EXOR-en".
Das eine Problem ist, dass die Gatter bei dieser Geschwindigkeit 
meistens eine Toleranz von plus-minus 2ns haben.
Das andere, dass sich die output raise time einer Kette von Logikgattern 
wie folgt erhöht (glaube ich mal gehört zu haben...):
t_tot = sqrt(t_r1^2 + t_r2^2 + ...) (t_r1 = raise time des ersten 
gatters)

Hat jemand eine Idee wie sich das besser (=genauer) lösen lässt?
Evtl. auch Lösungen mit einem genauen 300MHz Oszillator? Der ist ohnehin 
schon auf dem Board. Allerdings muss der Takt dann irgendwie mit den 
Daten synchronisiert werden... Oder wie Ron meinte mit HF-Transistoren?

Hoffe Ihr habt einige Vorschläge. Bin für alles offen...

Gruss aus der Schweiz

Philipp

PS: Ihr werdet dann auch in den Danksagungen meiner Semesterarbeit 
erwähnt;)

von Helmut L. (helmi1)


Lesenswert?

Hallo Philipp

was du brauchst fuerdieen Bereich sind ECL Schaltkreise.
Wenn du auf der Webseite von On Semicondutor schaust die haben Gatter 
und Flipflops die in den GHz Bereich gehen


http://www.onsemi.com/PowerSolutions/parametrics.do?id=246

Gruss Helmi

von neeeee (Gast)


Lesenswert?

Ich wuerde ein dual Komparator nehmen. zB den ADCMP565 von Analog 
Devices, Den ersten fuettert man mit einem Rechteck ausm Controller, 
dann ein RC Hochpass zum Zweiten und gut ist. Die Zeitkonstante des RC 
Hochpasses setzt man auf 3ns, zB mit 100 Ohm und 30pF oder so.

von Philipp (Gast)


Lesenswert?

@Helmi1: Danke für deinen Link. Muss mir die Bauteile noch genauer 
anschauen. Könnte funktionieren, wenn ich alles (Schmitt-Trigger, 
Verzögerungselement, EXOR, Levelshifter) von dieser Reihe nehme.

@neeeee: Interessanter Ansatz! Dachte auch schon mal an einen Hochpass 
um den Puls zu generieren, allerdings ohne Komparator. Bloss uC->HP->TX. 
Müsste so aus dem Bauch raus doch schon ein HP höherer Ordnung sein... 
Brauchst du den Komparator um das "analoge" Signal das der RC erzeugt 
steiler zu machen ohne einen Hochpass höherer Ordnung verwenden zu 
müssen? Sozusagen um den RC Ausgang zu "digitalisieren"?
Um den Schmitt-Trigger nach dem uC komme ich aber auch nicht herum???

Was meinst du mit "den ersten" und "den zweiten"? Die Eingänge? Im Sinn 
von: der positive Eingang ist mit dem Controller verbunden und der 
Ausgang des Komparators wird über einen Hochpass mit dem negativen 
Eingang verbunden. (Rückkoppelung?) Das gibt aber nicht den gewünschten 
Ausgang. Hab dich glaub falsch verstanden...

Ich dachte an so was:
uC->SchmittTrigger--->ADCMP565--->TX
                   ^-----HP----'

gruss
Philipp

von Philipp (Gast)


Lesenswert?

@neeeee: Aha, jetzt verstehe ich was du meintest! Dauerte bloss ein 
bisschen länger;)

In den ersten Komperator ein Schwellwert und das uC signal einspeisen, 
um steilere Flanken zu erzeugen.
Danach in den HP und mit einem Komperator mit Schwellwert abschliessen 
um die Flanken des HP auch steiler zu machen.

uC--->50ns Verzögerung--->Komperator--->HP--->Komperator-->TX
                       ^                   ^
                       |                   |
                  Schwellwert         Schwellwert

Richtig?

von neeeee (Gast)


Lesenswert?

Der erste Komparator bringt eine vernuenftig steile Flanke. Der 
Controller bringt eine zu flache Flanke, um auch nur an 3ns Pulse zu 
denken. Und mit dem HP macht man die fallende Flanke 3ns spaeter.

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.