mikrocontroller.net

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


Autor: plottermeier (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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;-))

Autor: plottermeier (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: winne (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hm kenne weder dave noch tricore

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

Autor: M. H. (kroggy)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.