Forum: FPGA, VHDL & Co. Xilinx Cpld mit Komparatoreingang


von Stefan R. (Gast)


Lesenswert?

Hallo,

ich bastle gerade an einer einfachen Pll mit einem Xilinx-Cpld
(xc95xx). Dabei habe ich noch das Problem, das Signal des VCOs in den
Clock-Pin zu geben. Die sauberste Lösung ist da ja ein schneller
Komparator, den wollte ich mir aber sparen. Schaut man sich
verschiedene pll-Schaltungen z.B. aus dem Amateurfunkbereich an, wird
dort zur Verstärkung und Wandlung in ein ttl-Signal gerne ein
rückgekoppelter Inverter benutzt, der somit quasi im Analogbetrieb als
schneller Verstärker arbeitet. Nun frage ich mich, ob ich das nicht
auch mit dem cpld hinbekomme (ich weiss, das wäre ein
quick-and-dirty-hack, aber wenn es funktioniert...):
Ich habe direkt neben meinem Clock-Pin einen Output, der einfach das
invertierte Clock-Signal ausgibt (nicht getaktet, also in vhdl
einfach:
output<=not(clk);
)
Diesen verbinde ich mit einem sagen wir mal 10k Widerstand mit dem
Clock-Eingang, und an diesen koppele ich mit einem Kondensator das
vco-Signal ein.
Kann das so funktionieren? Lässt die interne Struktur des cplds einen
solchen Analogbetrieb überhaupt zu?

Gruß,
Stefan

von FPGAküchle (Gast)


Lesenswert?

Du willst PWM Signal glätten und damit einen VCO ansteuern?
Faszienierender Gedanke, ob die VCO mit dem welligen Signal
zurechtkommt.

Eine (nicht zu Ende gedachte Idee) zur DA Wandlung am CPLD Input:
  -die schaltschwelle wird bei FPGA's von Vio bestimmt (?) -> diese
Spannung extern ändern lassen (I2C - Poti als Ref für Spannungswandler)
und vom FPGA steuern.  Dann könnte man die Schaltschwelle ermitteln,
wird aber langsam sein.

In Aktion habe ich weder das eine noch das andere gesehen, wenn du das
ans Laufen kriegst wäre das eine Pionierleistung!

von Stefan R. (Gast)


Lesenswert?

Hallo FPGAküchle,

ich will auf was ganz anderes raus, aber deine Idee hat auch was, dazu
weiter unten mehr...
PWM verwende ich nicht, es ist halt eine ganz normale Pll:
Die Referenzfrequenz (von einem Quarz) wird runtergeteilt, die zu
regelnde Frequenz ebenfalls mit einstellbarem Teilerfaktor.
Beide Signale werden nun verglichen: Sind beide gleich 1 oder gleich 0
passiert nichts (Phasenlage ist gleich, Pll eingerastet). Sind beide
unterschiedlich, wird entweder ein pnp- oder npn-Transistor geschaltet,
die beide im Push-pull-Betrieb arbeiten. Am Ausgang dieser "Endstufe"
sitzt ein Tiefpassfilter (Schleifenfilter in Pll-Sprech), der daraus
die  Regelspannung für den VCO erzeugt. Soweit ist das auch alles
bekannte Sache, ein fertiger Pll-Chip z.B. im Radio macht das genauso.
Mein Problem ist nun, dass der VCO aus diskreten Bauteilen aufgebaut
ist und ein Sinussignal mit vielleicht ein paar -zig mV Amplitude
erzeugt. Dieses muss ich nun zu einem Rechteck wandeln, mit dem ich den
Clk-Eingang des Cplds füttern kann, ich brauche also einfach einen
Verstärker, der das Signal bis zur Begrenzung verstärkt.
Als solchen Verstärker kann man auch einen digitalen Inverter nehmen,
der mit einem Rückkopplungswiderstand wie ein ganz normaler Opamp
funktioniert.
Meine Idee war nun, dafür nicht extra einen eigenen Chip drauflöten zu
müssen sondern einen Inverter innerhalb des Cplds zu verwenden...

Nun noch was zu deiner Idee (vorrausgesetzt das geht so mit dem Ändern
von vio): Man könnte ja auch einfach den Spannungsregler von Vio z.B.
über einen Transistor kurzzeitig auf ein paar hundert mV unter normal
ziehen, danach laden sich die Kondensatoren am Ausgang "langsam"
wieder auf, der Pegel für ne 1 verschiebt sich nach oben und man kann
die  Zeit messen, bis wieder eine 0 gelesen wird (im Prinzip das selbe,
wie man es mit AVRs ohne ADC auch macht).
Allerdings sehe ich spontan noch keinen praktischen Verwendungszweck
;-)

Gruß,
Stefan

von Volker (Gast)


Lesenswert?

zum Thema Analogbetrieb fällt mir folgendes ein.


http://www.mikrocontroller.net/forum/read-9-195796.html#new

und

http://www.mikrocontroller.net/forum/read-9-306733.html#new

es kann also funktionieren, muss aber nicht.

Volker

von Stefan R. (Gast)


Lesenswert?

vielen Dank, das bringt mich weiter. Werde das Ganze einfach mal testen,
wenns nicht geht muss halt doch noch eine Pufferstufe her.
Wobei ich gegenüber dem Quarz am Cpld wohl noch im Vorteil bin, da ja
bei mir nix von selbst schwingen muss.

Gruß,
Stefan

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.