Forum: Digitale Signalverarbeitung / DSP / Machine Learning periodische Interrupts mit unterschiedlichen Prioritäten


von Johannes (Gast)


Lesenswert?

Hallo Zusammen,

ich muss eine Steuerung für einen Motor entwickeln. Dazu habe ich das
das TMS320F2812 - Board von TI zur Verfügung.
Ich brauche 3 Interruptebenen:

1. Höchste Priorität, soll alle 200µs ausgeführt werden. (z.B. für
Drehzahlregelung)

2. Mittlere Priorität, soll alle 2ms ausgeführt werden. (z.B. für
feldschwächbereich)

3. niedrigste Priorität, soll ausgeführt werden, wenn grad Zeit ist.
(z.B. um Parameter zur Laufzeit zu ändern)

Nun gibt es mit PRD und CLK die Möglichkeit, Interrupts periodisch
aufzurufen, es kann auch eine Zeit angegeben werden, wann dies
geschehen soll. Leider wird bei diesen Objekttypen (PRD und CLK) keine
Priorität berücksichtigt. Kann mir jemand sagen, wie ich das
bewerkstelligen kann? Weiß jemand, wo ich dazu Hilfe finden kann?
(Außer auf der TI-Homepage, da habe ich schon nachgesehen...)

Vielen Dank und viele Grüße,

Johannes

von Michael (Gast)


Lesenswert?

Du könntest das Bios benutzen, ist ein kleines BS-Kernel für den DSP.
Es gibt dann, keine while(1) Schleife mehr...

In Deinem Code setzt Du dann am Anfang die benötigten Timer und
sonstige Hardware auf. Anschließend muss Deine Software über die main()
rauslaufen. Das BIOS fängt an zu arbeiten.

Die Interrupt Prioritäten kannst Du mit dem Config Tool einstellen.
Genauer Software Interrupts SWI...

Ich weiß jetzt leider auch keine Appnote, aber such einfach mal nach
DSP/BIOS, Scheduling DSP/BIOS threads...

MfG Michael

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.