Hallo zusammen, für eine Motorsteuerung benötige ich drei Interruptebenen, die ich bereits auf dem eZdsp TMS320F2812 von Spectrum Digital implementieren konnte. Nun habe ich in der Dokumentation von TI gesehen, daß es einen so genannte Event Manager (EV) geben soll, der das schon alles kann. Kennt sich jemand damit aus? Kann mir jemand sagen, wie man damit umgeht? In den drei Interruptebene soll folgendes ablaufen. 1. höchste Priorität Drehzahl- und Stromregelung 2. mittlere Priorität Feldschwächberechnung 3. niederste Priorität Parameterberechnung. Wäre nett wenn mir jemand helfen könnte! Danke und Gruß
Tag Johannes, Grundsätzlich besteht EV aus zwei Timern (EVA und EVB) die grundsätzlich zur Erzeugung von PWM's und Captures verwendet werden. Du kannst Dir die Prioritäten der Interrupts raussuchen. So hat EVA einen höhere Priorität als EVB. Also EVA für Deine Drezahl- Stromregelung... EVB für Deine Feldschwächberechnung. Parameterberechnung einfach mit pollen oder irgendwas.... Mit dem DSP/BIOS müßte es aber am besten funktionieren. Das ist eine tolle Sache habe ich aber nur mal ganz kurz ausprobiert. Aber hast Du die Frage nicht schon mal gestellt???? Michael
Die Frage habe ich heute schonmal gestellt, ist aber irgendwie abhanden gekommen. Nochmal kurz zu Deiner Antwort: Du meinst also, wenn ich es bereits mit dem DSP/BIOS, sprich mit SWI, PRD usw. vor mir habe, kann ich den EV links liegen lassen? Gruß, Johannes
Ja. Sollte so sein... Letzten Endes mappst Du mit dem SWI die Hardwareinterrupts um, und zwar auf Prioritäten wie Du sie benötigst.... Michael
Hallo, wo ist denn dann genau der Unterschied zwischen den Interrupts, die man im DSP/BIOS einrichten kann, und den Timern von EVA und EVB. Kann es sein, daß man mit EVA und EVB nur Hardwareinterrupts erstellen kann, während man mit dem Configuration Tool Hardware- und Softwareinterrupts verschiedener Priorität definieren kann? Wozu kann man die Capture Units gebrauchen? Gruß vom Johannes
Hallo Johannes, so wie ich das verstanden habe verhält es sich wie folgt. Du startest alle DSP Module (z.B EVA, SPI...) zu Beginn Deines Codes. Dadurch hast Du automatisch die von der Hardware festgelegten Interruptprioritäten. So weit so gut... Nun fällst Du aus Deiner main Funktion heraus, weil du keine while(1) Schleife einbauen darfst. Nun fängt das DSP/BIOS an Deinen Code zu handlen. Das DSP/BIOS verwaltet auch die Hardware-Interrupts und führt sie je nach Priorität aus, die Du im DSP/Bios (neu) eingestellt hast. Michael
Hallo, ich arbeite zur Zeit nur mit dem DSP/BIOS (Configurations Tool). Nun habe ich aber festegestellt, daß ich ein Problem habe, wenn ich die PWM synchron (d.h. zeitlich gekoppelt) zu einem Interrupt ablaufen lassen will. Also: Die Ausführung eines Interrupts beginnt und eine fixe Zeit später, z.B. 10µs, soll die PWM los laufen (innerhalb dieses Interrupts). Wenn ich mit EVA, EVB arbeiten würde, müßte das gehen. Aber mit dem DSP/BIOS habe ich noch nichts gefunden. Ich habe jetzt Bedenken, daß ich alles bisher über die Haufen werfen und die kompletten Interrupts neu programmieren muß (eben mit den EVA und EVB) Gruß, Johannes
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.