Forum: FPGA, VHDL & Co. ALTERA Onboard-Clocks manuell ein/ausschalten?


von haz (Gast)


Lesenswert?

Hallo zusammen,

bin FPGA und VHDL Neuling. Kann ich die Onboard-Clocks auf einem ALTERA 
CYCLONE II (27 MHz,50MHz,24MHz über USB) manuell ein/ausschalten?

Ich nehme mal an sie laufen sobald ich das Board an mache. Mein Ziel 
wäre es aber eine dieser Clocks erst einzuschalten wenn ich von der 
externen Clock die erste Flanke als Trigger benutze. Damit sollte der 
erste Puls der 50MHz Clock an die erste Flanke des Triggers "gelockt" 
sein (die PLL Megafunction kann ich nicht nutzen, da die externe Clock 
mit 5,1XX MHz zu langsam ist)

Vielen Dank schon mal!

von Natan (Gast)


Lesenswert?

Was ist das denn für ein Board?
Und warum die Clocks spät zuschalten?
Womit soll konfiguriert werden?

von haz (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Natan,

das Board ist ein Cyclone II Starter Kit Board EP2C20F484C7. Es soll mit 
dem Conf.device EPCS4 konfiguriert werden (wenn Du das meinst).

Wie schon beschrieben, die Idee ist es die externe CLK (5.1XX MHz) mit 
der internen 50 MHz-CLK zu synchronisieren - zumindeste den ersten Takt 
der beiden Frequenzen.

Hätte ich es soweit, könnte ich nach z.B. 9 Takten (50 MHz) die interne 
CLK wieder ausmachen. Mit dem zweiten Takt der externen CLK würde ich 
die interne CLK wiederum einschalten, und das Spiel beginnt von vorn. 
Damit kann ich sicherstellen, dass z.B. Takt Nr 4 (50MHz) immer wieder 
den selben zeitlichen Abstand zu meinem 5,1XX MHz-Takt hat (wenn das so 
überhaupt realisierbar ist).

Ich brauche dieses definierte Verhältnis um ein Signal/Ausgang X mit 
einem Takt der 50 MHz CLK auf 1 setzen zu können. Mit anderen Worten, 
ich muß das Signal X an einer definierten Stelle zwischen den 5.1XX MHz 
Takten auf 1 setzen.

Das habe ich vorher ohne 50MHz CLK und mit einem VHDL-Prozess und der 
wait-Anweisung versucht umzusetzen, bis ich hier gelesen habe, dass 
"wait for X ns" nicht synthetisierbar ist (was meine Simulation mir auch 
gezeigt hat). Daher denke ich, dass ich das Problem mit einer internen 
CLK lösen kann. Wenn Du nen anderen Lösungsansatz hast, bin ich dem 
offen gebenüben.

Angehängt ist ein Bild das zeigt wie ich mir die Ausgangssituation 
vorstelle: zwei CLKs verlaufen Asynchron zueinander.

Viele Grüße

von Gerald (Gast)


Lesenswert?

Du musst das Signal mit den 50 MHz erzeugen und mit der steigenden 
Flanke ds 5MHz raussynchronisieren. Das geht am einfachsten, wenn du die 
5,1 eintaktest und entsprechend 8-9 Takte vergehen lässt. Dann bist Du 
genau etwas früher fertig und kannst das Signal ausgeben. die 5,1 kommen 
einfach ohne PLL,

von haz (Gast)


Lesenswert?

Hallo zusammen,

danke für die Antworten. Da ich die interne Clock wohl nicht manuell 
starten/stoppen kann wird dieser Lösungsansatz nicht funktionieren. 
Meine externe Clock kann ich ebenfalls nicht beliebig an/ausschalten.

Das die Cyclone, Cyclone II Boards unterstützen in der ALTPLL 
Megafunction nur Input-Clocks ab 10 MHz. Will man eine Eingangsfrequenz 
darunter nutzen muß man mindestens auf Cyclone III Boards zurückgreifen.

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.