Forum: FPGA, VHDL & Co. NIOS Timer 1 mal pro sekunde auslösen


von Sebastian (Gast)


Lesenswert?

Hallo,

Ich würde gerne einen Timer im Nios einbauen, der nach jeder Sekunde 
eine Funktion aufruft. Der NIOS läuft mit 50MHz. Hat jemand ein Beispiel 
für soetwas?

Danke!

von Roger S. (edge)


Lesenswert?

Instanziere einen Timer in deinem SOPC Projekt. Konfiguriere ihn als 
simple periodic timer mit einer rate von einer Sekunde.

In deinem Code brauchst du dann nur noch deine Funktion mittels 
alt_irq_register() mit dem Timer-Interrupt zu verknuepfen.
1
alt_irq_register(timer_irq, NULL, my_isr);

Timer-Interrupt einschalten:
1
IOWR_ALTERA_AVALON_TIMER_CONTROL(timer_base, ALTERA_AVALON_TIMER_CONTROL_START_MSK | ALTERA_AVALON_TIMER_CONTROL_ITO_MSK);

In der Isr den Timer-Interrupt loeschen:
1
IOWR_ALTERA_AVALON_TIMER_STATUS(timer_base, 0);

Cheers, Roger

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.