Forum: Mikrocontroller und Digitale Elektronik Tricore 1796 verweigert Interruptausführung.Hat wer nen Tip


von plottermeier (Gast)


Lesenswert?

Hallo,

ich habe einen Frequenzumrichter mit einem Tricore in Arbeit und 
versuche mich gerade an der Ausgangssteuerung.

Bisher habe ich Ein- und Auschaltzeiten für die Leistungshalbleiter über 
eine Sinusfunktion einer Laufzeitvariablen ermittelt, diese mit dem 
Globaltimer0 verglichen und dann entsprechend die Pins geschaltet.
Dieses Unterprogramm wurde einmal pro Mainschleife aufgerufen, auch 
wurde einmal pro Mainschleife die Laufvariable um 0,001 erhöht.
Das hat prima geklappt und einen schönen Sinus gegeben.
Leider ist die Frequenz des Sinus so abhängig von der Länge der 
Mainschleife, deshalb würde ich das Unterprogramm gerne mittels 
Interrupt aufrufen.

Dazu bin ich folgendermaßen vorgegangen:
Ich habe unter Dave
SRN5 auf Überlauf von Globaltimer0
Enable Service Request Node
und den SRN5 auf Interruptlevel 1
eingestellt.

In der von Dave generierten Datei GPTA0.c habe ich dann zwischen

// User Code Begin SRN5,2
und
// Usercode End

das Unterprgramm pwm(Betrag,Phase) eingetragen. Es wird aber scheinbar 
nicht ausgeführt. Betrag und Phase sind Globale Variablen.
So eine Ferndiagnose ist sicher nicht einfach, aber vielleicht hat ja 
wer nen Tip, woran es liegen könnte oder was ich noch testen könnte.

Hab nun 2 Tage selber herumprobiert und komme da einfach nicht weiter.

viele Grüße
Jens

von gast (Gast)


Lesenswert?

Überprüf mal die Einstellungen die Dave in deinen Registern vornimmt. 
Ich arbeite momentan im Rahmen meiner Diplomarbeit mit dem TC6711 und 
hab schon ähnliche Erfahrungen mit Dave gemacht.
Im Endeffekt währe man ohne Dave manchmal schneller;-))

von plottermeier (Gast)


Lesenswert?

Hallo,

Danke für die Nachricht. Soll bei mir auch ne DA werden. Dann muß ich 
wohl tatsächlich mal das 2000 Seiten Manual zur Hand nehemen. Au weia, 
hatte gedacht, mit Dave sei das alles ganz einfach...

Jens

von winne (Gast)


Lesenswert?

hm kenne weder dave noch tricore

aber mein tip: könnte es sein das der Timer_IRQ gesperrt ist?

von M. H. (kroggy)


Lesenswert?

Hätte noch eine Idee.
Kann es sein, das der Interruptlevel 1 für die CPU vergeben ist.
Probier hier einfach mal die 2 oder höher.

PS: Hatte noch nie Probleme mit dem DaVe.

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.