Forum: FPGA, VHDL & Co. Takt zwingend notwendig für einen CPLD


von Spice (Gast)


Lesenswert?

Hallo zusammen,

wollt mal fragen, ob für ein CPLD zB XC9572XL zwingend ein Quarz 
notwendig ist um beispielsweise Gatter zu benutzen? Wenn man eine Clock 
benötigt, was nimmt man da gängigerweise?

Danke und Gruß
Spice

von Falk B. (falk)


Lesenswert?

@  Spice (Gast)

>wollt mal fragen, ob für ein CPLD zB XC9572XL zwingend ein Quarz
>notwendig ist um beispielsweise Gatter zu benutzen?

Nein, einen Takt braucht man nur für Speicherelemente, auch 
FlipFlops genannt.

> Wenn man eine Clock benötigt, was nimmt man da gängigerweise?

Was man halt braucht. Wen es genau sein muss, einen Quarzoszillator, 
wenns nur wackeln soll, einen RC-Oszillator.

MFG
Falk

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> Wenn man eine Clock benötigt, was nimmt man da gängigerweise?
Man kann als Takt aber auch ein Steuersignal eines uC (RD#, WR#...) oder 
jedes andere Signal nehmen, das zur geeigneten Zeit seinen Pegel 
wechselt.

von Spice (Gast)


Lesenswert?

Besten Dank Falk,

und wie schauts aus mit der Taktfrequenz? Ich hab gerade mal ein paar 
Artikel durchstöbert und gesehen, dass man eine variable Clock haben 
sollte, wenn man rumprobieren will. Mein Problem ist, dass auf einer 
Platine bereits ein Atmega128 drauf ist und mittlerweile 3 verschiedene 
Quarze für externe Komponenten. Nun möchte ich da einfach ein CPLD mit 
draufdesignen und einige Portpins von dem Atmega zum CPLD führen um 
erste Schritte mit dem CPLD zu gehen. Zb wäre eine Art Multiplexer mein 
Ziel und kleinere Spielereien mit Tastern und LEDs. Was würdest du mir 
für ein Takt empfehlen? Ist es möglich, vielleicht durch den Atmega128 
den Takt für den CPLD zu erzeugen? Nur schade, dass der Atmega128 kein 
CLKOUT-Fuse hat um an einem Pin, zb den Takt und Takt/8 auszugeben.

Danke nochmal und Gruß
Spice

von Falk B. (falk)


Lesenswert?

@  Spice (Gast)

>und wie schauts aus mit der Taktfrequenz? Ich hab gerade mal ein paar
>Artikel durchstöbert und gesehen, dass man eine variable Clock haben
>sollte, wenn man rumprobieren will.

Ist ganz nett, aber nicht wirklich zwingend. Man kann den Takt auch im 
CPLD teilen.

>Ziel und kleinere Spielereien mit Tastern und LEDs. Was würdest du mir
>für ein Takt empfehlen?

Ohne spezielle Ziele kann man wenig empfehlen. Pack einen 10 MHz 
Quarzoszillator dran und gut.

> Ist es möglich, vielleicht durch den Atmega128
>den Takt für den CPLD zu erzeugen?

Ja.

> Nur schade, dass der Atmega128 kein
>CLKOUT-Fuse hat um an einem Pin, zb den Takt und Takt/8 auszugeben.

Man kann den CPLD direkt vom AVR-Oszillator takten lassen, das geht bei 
den meisten AVRs, ggf. die CKOPT Fuse aktivieren, damit der Oszillator 
im AVR mit Volldampf arbeitet.

MFG
Falk

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Spice schrieb:
> Nur schade, dass der Atmega128 kein
> CLKOUT-Fuse hat um an einem Pin, zb den Takt und Takt/8 auszugeben.

Nun, da hättest du statt dieses Opas gleich einen ATmega1281 nehmen
sollen.

Wenn dir aber CLK/8 genügt, dann kannst du das allemal mit einem
Timer generieren, damit kann man bis zu CLK/2 per Hardware erzeugen
lassen (CTC-Modus, OCRx = 0, OCx auf "toggle on compare match"
gesetzt).

von Spice (Gast)


Lesenswert?

Besten Dank nochmal...

>Nun, da hättest du statt dieses Opas gleich einen ATmega1281 nehmen
>sollen.

Nun, du hast mich überzeugt, ich nehme den Atmega2560. Da brauche ich 
auch nicht mehr multiplexen, da 4 UARTS... Ich war eh am hin und her 
schwanken, welchen µC ich verwende, ich hab mich nicht so recht an die 
Xmega´s getraut. Muss ich bei dem atmega2560 irgendwas gravierendes 
beachten, was grundsätzlich anders ist, als zb einem atmega128? ISP über 
Miso/Mosi? Oder gibts da auch was exotisches, was ich auf anhieb nicht 
sehe?
Zwar bräuchte ich somit auch kein CPLD mehr, aber mal sehen, wieviel 
platz auf der Platine sein wird. Spielen würde ich schon mal gern mit 
einem CPLD, doch ich hab nicht mal ein Parallelport am Laptop :-( Gibts 
da alternativen?

>Wenn dir aber CLK/8 genügt, dann kannst du das allemal mit einem
>Timer generieren, damit kann man bis zu CLK/2 per Hardware erzeugen
>lassen (CTC-Modus, OCRx = 0, OCx auf "toggle on compare match"
>gesetzt).
Genau so mach ich das

Gruß Spice

von DanVet (Gast)


Lesenswert?

Naja, der 2560 hat ein ClockOut-Pin....brauchst also nicht unbedingt 
einen Timer nehmen.
Ansonsten ist der meineswissens ähnlich wie der 128.
Bei einem Neudesign würde ich tatsächlich den XMega nehmen.
Hinweis: den 2560 gibt's auch als 2560V, der läuft dann auch ab 1,8V 
(falls das CPLD z.B. mit 3,3V läuft?), mal in den Specs gucken.
Viel Spaß.

von Falk B. (falk)


Lesenswert?

Die 9500XL laufen mit 3,3V.

von Thomas K. (tomk)


Lesenswert?

Hi,

weil ich gerade Clock und CPLD XC95xx lese: achte darauf, das das 
Taktsignal ausreichend Flankensteilheit hat, sonst wirst Du vom Resultat 
resp. der Funktion enttäuscht sein! Da geht dann erst einmal gar nix ... 
Quarzoszillator oder ähnliches (Logikausgang) sollte ok sein.

Schönen Tag noch, Thomas

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.