Hallo
Folgendes Problem: In meiner Schaltung erzeugt ein uC (AT32UC3B164)
einen 10Mbps Datenstream. Synchron dazu (um 50ns verzögert) muss er
einen Puls ausgeben. Die Form des Pulses ist nicht so wichtig, da er
anschliessend gepuffert wird. Wichtig ist die Breite! Sie muss zwischen
3ns-6ns einstellbar sein. Wie lässt sich das am besten realisieren?
Der uC hat ein Spannungslevel von 0-3.3V und der Puls muss 0-1.8V sein.
Die Flankensteilheit des GPIO pins ist mir nicht bekannt, aber sehr
wahrscheinlich zu langsam.
Mein Vorgehen: Flankensteilheit mittels Transistorschaltung
(Basisschaltung oder Kaskade???) verbessern, dann Hochpass mit variablem
C und dann Komperator oder nochmals Transistorschaltung?
Habe aber noch keine geeigneten OpAmps und Transistoren gefunden.
Geht das ganze auch mit CMOS? Wäre sicher geeigneter bezüglich
Eingangs-/Ausgangsimpedanz?
Die Schaltung sollte möglichst einfach sein und wenig Leistung
verbrauchen!
Danke für eure Hilfe
>Wichtig ist die Breite! Sie muss zwischen 3ns-6ns einstellbar sein.
Hatten wir kuerzlich hier auch schon. So kurze Pulse sind nicht mehr mit
CMOS machbar. Und mit wenig Power ist da auch nichts. Mit einem ECL
dopplekomarator macht man sowas. Den ersten komparator zum Erzeugen
einer flanke, dann ein Hochpass, und ein UND zwischen den beiden.
3-6ns könnten mit schnellen CMOS-Gattern (74AHC) gerade noch machbar
sein. Zur Pulserzeugung wird das Signal einmal direkt, einmal invertiert
(Z.B. 74AHC04) auf ein XOR gegeben (z.B. 74AHC86). Normalerweise ist der
Ausgang 1, bei einer Flanke am Eingang wird ein kurzer 0-Puls erzeugt,
da bedingt durch die Verzögerung des Inverters beide Eingänge des
XOR-Gatters gleichen Pegel haben.
Inverter XOR
---|>.--||\
----| || >--
--------||/
Gruss
Mike
Danke für eure Antworten
@Mike: Das Problem daran ist, dass die Pulslänge zwischen 3-6ns
einstellbar sein muss! Und mit deiner Lösung wäre die Breite fix
eingestellt.
@oha: Der Puls muss einen 0-1.8v Pegel haben. D.h. ich muss die
steilflankigen ECL Pegel am Ausgang umwandeln. Leider konnte ich keine
ECL->LVCMOS Pegelwandler für diese Frequenzen finden... Kann man das mit
einem HF npn bjt machen? Und wenn ja, welche Verstärkerschaltung,
Emitterschaltungen gehen ja nur bis ca 0.5V runter...
Was haltet ihr von den HF npn bjt (z.b. BFR106 hat ein f_T von 5GHz).
Die sollten doch genug schnell sein um einen diskreten Komperator
aufzubauen, nicht? Andererseits falls das möglich ist, warum gibt es
keine IC's mit einem 0-1.8V Pegel?
Gruss
Philipp
datenblatt: http://www.nxp.com/acrobat/datasheets/BFR106_CNV_2.pdf
Mit LVCMOS ist bei etwas ueber 100MHz Schluss. Dh es gibt keine LVCMOS
Bausteine die einen 3ns Puls vernuenftig koennen. Vernuenftig, heisst
kontrolliert & reproduzierbar. Und nicht, dass er verschwindet wenn die
Temperatur 10 Grad steigt.
Was soll denn angeschlossen werden ?
Ein BFR106 wird nicht genuegen. Ein komparator ist im wesentlichen ein
differenzverstaerker, der noch genuegend Verstaerkung bei der zu
detektierenden Frequenz hat. Um einen 3ns Puls zu generieren sollte die
Flanke 500ps, oder kuerzer sein. Das bedeutet, die Grenzfrequenz ist
2GHz oder hoeher. Da genuegt ein Transistor, der 5GHz macht leider
nicht. Der Komparator sollte ja mit einer Schaltschwelle von 100mV
auskommen, also eine Verstaerkung von mind 20 haben. Dh die
Transitfrequenz duerfte bei 40 GHz sein. Das Layout ist auch nicht
trivial. 1mm Leiterbahn hat 1nH Induktivitaet, und bei 1GHz ergibt das
schon eine Impedanz von 6 Ohm.
Als Grundschaltung siehe einen der vorangegangenen Beitraege:
Signal vom uC in zwei Teile aufspalten (oder besser: einen
1:2-Fanout-Baustein verwenden). Ein Pfad geht direkt zum XOR-Gatter. Der
zweite Pfad geht durch eine variable Delay-Line und dann zum XOR-Gatter.
Am Ausgang des XOR hast Du dann einen Puls fuer jede Flanke (steigend
oder fallend) vom uC.
Fuer solche schmalen Pulse empfehle ich absolut ECL/PECL-Logik. Alles
andere (CMOS) hat zuviel Jitter, selbst wenn Du die Geschwindigkeit
irgendwie hinkriegst. Du kriegst solche Teile als Gratis-Samples von
Onsemi (www.onsemi.com), in fuer Hobby-Bastler noch einigermassen
loetbaren Gehaeusen:
Fanout: MC100EP11 (SOIC-8-Gehaeuse)
Delayline: MC100EP195 ode MC100EP196 (LQFP-32-Gehauese), ist
programmierbar zwischen ca. 2ns und 12ns mit 10ps Aufloesung
XOR: MC100EP08 (SOIC-8-Gehaeuse)
Wegen der Pegelwandlung am Ende, muss es wirklich 1.8V Amplitude sein?
Oder genuegt es, ca. 0.8V zu haben - in dem Fall koennte man einen
PECL-Ausgang levelshiften um ihn um den Triggerpunkt des Empfaengers zu
zentrieren. Mit kleinen Tricks kann man die Amplitude eventuell noch
fast verdoppeln.
Wie sind die Eingansdaten (High/Low Levels etc.) Deines Empfaengers? Was
waere der kleinste akzeptable Eingangsswing?
Fuer einen sauberen Signalpfad solltest Du ausserdem unbedingt
Leiterbahnen mit kontrollierter Impedanz (50 Ohm) verwenden, sowie alle
Leitungen sauber terminieren (ebenfalls mit 50 Ohm bzw. differentiell
100 Ohm). Richtig gemacht ist dann die Leiterbahninduktivitaet voellig
irrelevant fuer die Signalanstiegszeit usw.
Leistungsverbrauch: XOR und Fanout je ca. 60 mA, Delayline ca. 170 mA
(alles bei 3.3V Betriebsspannung).
Wenn Du Dir's nicht selber zutraust, ich habe viel Erfahrung mit diesen
und anderen High-Speed-Bausteinen sowie Signalintegritaet und mache
nebenbei etwas Consulting, kann also bei Bedarf su einem sehr
vernuenftigen Preis und in recht kurzer Zeit so etwas entwickeln und
zusammenbauen.
Wolfgang
Hallo oha
ja, du hast schon recht mit LVCMOS. Aber was ist denn mit open-emitter
schaltungen? Der BJT vom letzten Post hat eine sehr hohe Transition
frequency (5GHz). (und ja, ich weiss dass die f_T noch gar nichts
aussagt aber man darf doch noch hoffen...;-)
Der IC, der angeschlossen wird ist das Resultat einer Doktorarbeit. Der
Puls gibt die Envelope des UWB Pulses (die Pulsbreite ist entscheidend,
damit die Maske von UWB eingehalten wird) . Ich denke intern wird dann
mit differentiellen signalen weitergearbeitet. Muss mir aber nochmals
das genaue Layout des IC's anschauen...
Ich weiss die Anforderungen an den Puls sind unglücklich gewählt. Das
kommt daher, dass der IC ursprünglich bloss zum testen im Labor designt
wurde und nicht für den tatsächlichen gebrauch, sonst wäre der Puls
natürlich intern aus dem 300MHz clock erzeugt worden.
Leider kann man nichts mehr daran ändern (so schnell mal einen neuen
Chip herstellen lassen liegt leider nicht drin;-)
Also, was schlagt ihr vor? Am besten ohne ECL wegen den unmöglichen
Pegeln. (btw: der Ausgang kann nicht AC-gekoppelt werden, da der Puls
nicht symmetrisch ist!)
Kann man einen genügend schnellen Komperator/Schmitt Trigger mit
diskreten BJT's aufbauen? Falls ja, wäre das Problem gelöst, nicht?
gruss & schöne Woche
Philipp
Naja, ECL/PECL muss nicht ganz so schlimm sein, wie es zuerst aussieht.
Ein beliebter Trick ist, die Spannungsversorgung so zu verschieben, dass
die Ausgangspegel im gewuenschtenm Bereich liegen. Damit hat man das
Problem von den (hochfrequenten) Signalen zu der (niederfrequenten /
Gleichstrom-)Spannungsversorgung verschoben.
Der vorherige Post kam ein bisschen zu spät. Bin richtig überwältigt von
den vielen Hilfen...
@Wolfgang: Da keine guten Messresultate zur Verfügung stehen, dachte ich
an ein Low (=0-0.3V) und High (=1.5-1.8V) um auf der sicheren Seite zu
sein. Sehr wahrscheinlich sind auch viel weniger restriktive
Ausgangspegel noch i.O.
Wie würdest du denn die Pegelwandlung und Verdoppelung des LVPECL
Ausgangs machen? AC-Koppelung geht nicht (nicht symmetrisches Signal).
2. Problem: Leistungsverbrauch!! Auf ähnliche Werte bin ich auch
gekommen. Aber ich kann es einfach nicht glauben dass der eine Pfad mehr
Leistung verbraucht als die gesammte restliche Schaltung!!!
3. Meinst du wirklich, dass die Leitungen auf 50ohm angepasst sein
müssen? Hoffe, dass der Pfad deutlich kürzer als 1cm wird... Zudem wird
der IC 'gebonded', da ist dann nichts mehr mit 50ohm, oder? Und zudem
werden die Leiterbahnen dann zimlich breit...
Zum Puls: Der muss nicht so steil sein. "Gaussglocken-förmig" wäre
eigentlich sogar besser.
==> Signal vom Atmel ist 0-3.3V (in max 8ns nehme ich an, weiss ich aber
nicht da ich keinen zur Hand habe um ihn zu vermessen)
Rise-/Falltime des Pulses dachte ich so an 1ns.
Heisst idealerweise:
Atmelausgang steigt in 1ns um mindestens 400mV (hoffe ich mal)
==> Transistor braucht einen Gain von 4.5 bei 1GHz
Tönt doch nicht so unmöglich mit diesem Transistor
(http://www.nxp.com/acrobat/datasheets/BFU725F_1.pdf) Eckdaten:
f_T=70GHz;G_p,max=18dB bei 5.8GHz!!!! UNGLAUBLICH, nicht???
Was haltet ihr davon? Wenn es möglich ist einen Schmitt Trigger (für die
Flanke) Hochpass und Komperator (Ausgangsflanke) aus diskreten npn's zu
machen brauch ich mich um die Pegel nicht zu kümmern.
Und Leistungsmässig könnte es doch auch noch von Vorteil sein?
Wo ist der Haken???
Danke
Philipp
Und schon wieder zu spät...*LOL*
@Wolfgang: Interessanter Ansatz, die Versorgung zu verschieben!!
Generierst du einfach ein neues GND und VCC, das um ca 1.5V tiefer
liegt? oder wie wandelst du die Versorgung, ohne nochmals viel Leistung
zu verbrauchen? Hochohmiger Spannungsteiler + opamp?
Villeicht kann ich mich doch noch mit PECL anfreunden...
Danke viel mals für deine Hilfe
Philipp
Ja, einfach um -x Volt verschobene VCC und GND erzeugen.
Positive Versorgung (VCC) - einfach Deine 3.3V-Versorgung (oder hoeher)
mit einem Low-Dropout-Regulator runterregeln.
Drei Moeglichkeiten fuer die negative Versorgung:
(1) Verwende einen Trafo mit Mittenanzapfung, um sowohl eine positive
als auch eine negative Spannung zu erzeugen (Mittenanzapfung = 0V). Dann
wie ueblich mit Kondensatoren und linearen Spannungsreglern
Gleichspannung zu erzeugen. Klassische Regulatorkombination is 7805 fuer
+5V und 7905 fuer -5V, aber heutzutage gibt's viel mehr (und bessere)
Auswahl.
(2) Verwende eine "switching power supply" - kann aus Deiner positiven
Spannung eine negative erzeugen. Vorteil gegenueber Variante 1 - erstens
brauchst Du nur eine Versorgungsspannung, zweitens ist der Wirkungsgrad
eines solchen Wandlers je nach Design bis zu ca. 95% (d.h. man kann z.B.
aus 5V/100mA Eingang -2.5V/fast 200mA Ausgang erzeugen).
(3) fuer geringe Stroeme (bis ca. 200 mA) kann man auch eine
Ladungspumpe (charge pump) verwenden, um z.B. aus +5V Eingang -5V
Ausgang zu erzeugen.
Wenn ich wieder ins Buero komme (Kalifornien-Zeitzone), kann ich Dir
geeignete Chips fuer (2) und (3) heraussuchen.
Hallo Wolfgang
Ok, dachte es gibt villeicht noch einen einfacheren Weg. Aber in dem
Fall einfach mittels Buck-Boost converter für das neue 'GND' oder wie du
sagst noch einfacher mit charge pump. (da hatte ich doch vor 2Jahren mal
so eine Vorlesung namens "Leistungselektronik"... Zeit wieder mal das
Skript hervorzuholen)
@Wolfgang: Darf man fragen wo und als was genau (Consulting??) du in
Kalifornien arbeitest? Bin nämlich zur Zeit ein Praktikum in CA am
suchen. Vielleicht hast du mir sonst noch Tips... Würde mich freuen!
gruss
nibali
aka. "Philipp (Gast)"
Hallo Philipp,
ich wohne & arbeite in der Naehe von Los Angeles. Hauptberuflich bin ich
bei einer groesseren Elektronikfirma beschaeftigt, aber wenn ein
bisschen Zeit bleibt, mache ich schon mal gerne ein privates
Elektronikprojekt. Jobmarkt hier ist derzeit besch*** - viele Firmen
entlassen Leute (auch die meinige). Wegen Praktikum - wenn Du (legal)
was verdienen willst damit, wird es kompliziert, denn dann brauchst Du
ein Arbeitsvisum (kaum kurzfristig zu kriegen), ausser es ist Arbeit
fuer eine Uni (z.B. teaching assistantship) im Rahmen eines Studiums
oder Postdocs. In dem Fall brauchst Du ein Studentenvisum (einfach zu
bekommen). Ansonsten gibt's noch die Option "unbezahltes Praktikum"
(ziemlich ueblich hier).
Wenn Du Dich privat weiterunterhalten willst (auch ueber Dein obiges
Elektronikproblem), meine Kontaktadresse ist hier:
http://www.pdamusician.com/lcscope/contact.html
Apropos Deine Schaltung: Ich glaube gar nicht, dass Du die
Versorgungsspannung verschieben musst:
Erstens, die von mir genannten Bausteine (z.B. MC100EP11) akzeptieren
3.3V LVCMOS als Eingangssignal. Du kannst den Baustein also direkt von
Deinem Mikrokontroller aus ansteuern. (habe ich schon gemacht und
funktioniert prima).
Fuer den Ausgang zu Deinem Empfaenger: Solange der Puls kurz ist
gegenueber der Wiederholrate (d.h. duty cycle nahe 0%, auf Deutsch
heisst das glaube ich Tastverhaeltnis? - bin schon zu lange in den USA),
ist AC-coupling kein wirkliches Problem. In dem Fall ist der Low-Pegel
praktisch stabil und unabhaengig von der genauen Pulsbreite. Die
PECL-Gatter laufen auf VCC=3.3V, also von derselben Versorgung wie Dein
uC.
Dann wuerde ich das differentielle Ausgangssignal vom PECL-Gatter in
einen HF-Trafo fuehren (Minicircuits hat preiswerte geeignete Modelle),
der es in ein Single-Ended-Signal umwandelt. Mit einem MC100EP16VS
kriegt man ca. 1.5V differentiell (jede Seite ca. 750 mV single ended
Swing), der Trafo macht dan daraus 1.5V single ended (unter
Vernachlaessigung von Verlusten). Eine Seite vom Trafoausgang haengst Du
an einen Spannungsteiler (Mittelanzapfung mit 100 nF gegen GND
entkoppelt!), die andere Seite an Deinen Empfaengereingang. Den
Spannungsteiler stellst Du auf ca. 0.15V ein, dann sind die
Ausgangspegel 0.15V low und 1.65V high (wieder unter der Annahme eines
kurzen/seltenen Impulses); das sollte perfekt mit Deinem 1.8V
LVCMOS-Eingang zusammenpassen, der bei ca. 0.9V schalten sollte (niemand
nimmt an, dass Du wirklich 0V und 1.8V liefern kannst).
Wolfgang
Ich denk das Signal, das gebraucht wird ist LVDS, das hat etwa diese
Pegel. Es gibt Levelshifter, genannt LVDS Receiver, die sollten
hinkommen. Ein LVDS Receiver macht ueber 1GHz.
Naja, der originale Beitrag sagt aber "der Puls muss 0-1.8V sein" - das
sieht nicht nach LVDS aus, sondewrn 1.8V LVCMOS oder aehnliches. Wenn's
doch LVDS ist (typischerweise differentiell, jede Seite ca. 400 mV
Amplitude zentriert um ca. 1V) - Levelshifter ist eine Moeglichkeit,
aber mit einem 750mV-LVPECL-Ausgang kann man das auch mit einem
einfachen ohmschen Spannungsteiler loesen.
Warten wir mal ab, was Philipp zu sagen hat.
Hallo zusammen
Habe mir das Schema des IC's nochmals angeschaut. Also alle Eingänge
sind definitiv 1.8V LVCMOS. Sie werden jeweils gepuffert und dann mit
differential CML weiterverarbeitet. Ich denke der Grund für die LVCMOS
Eingänge ist die einfache Anbindung an das Laborequipment. Aber
eigentlich hätte man ja auch LVPECL wählen können... (nun ja, das ist
leider nicht der einzige Schönheitsfehler an den IC's...)
@Wolfang: Ich schaue mir jetzt mal deine Methode im Detail an. Alles aus
diskreten BJT's aufzubauen scheint mir doch ein wenig heikel. Vor allem,
da ich keine Zeit habe Testschaltungen aufzubauen. Sprich: Nach dem
Simulieren muss sie zu 100% funktionieren. Melde mich heute noch obs
funktioniert. Nur der Leistungsverbrauch bereitet mir noch
Kopfzerbrechen...
gruss
Philipp