TriCore 1796: RZM läft nur unter Crossview Pro

Gast #1308645
Guten Abend alle zusammen!
An der Uni prokel ich grade mit dem Tricore 1796 rum und habe das 
Application Note "3-phase complementary PWM with hardware triggered ADC 
conversion" (AP32135) als Grundlage genommen, um eine schicke 
Raumzeigermodulation draufzusetzen.
Das funktioniert auch alles ganz prima (habe die Signale schon am 
eigenen 3ph. Umrichter anliegen und kann einen schönen Sinusstrom am 
Ausgang sehen), ABER leider nur, wenn ich das Programm unter CrossView 
laufen lasse. Wenn ich dasselbe Programm als hex in den internen Flash 
speicher und allein vom TriCore aus ausführen lasse, passiert ein 
seltsames Phänomen: Regelmäßig werden einzelne Pulse "vergessen", 
ausgeschaltet zu werden, was zu einem Zweig-Kurzschluss führt (mit 
geregeltem Netzteil zum Glück erst mal kein Drama..). Wenn ich bspw. 
einen sin-Strom mit 1 Hz als Ausgangsstrom generiere, passieren solche 
Patzer ca. 3 mal pro Periode.

Taktfrequenz der PWM ist 16kHz; bei 13kHz oder weniger läuft es dann 
auch als geflashte Variante.

Ich habe schon sämtliche (so meine ich..) Variationen im Tasking 
Compiler durchgespielt, immer mit dem gleichen Ergebnis.

Es wäre einfach riesig, wenn jm. evtl. eine nette Idee hätte, hänge da 
schon ein paar Tage dran...

Gerne schreibe ich noch weitere Details, wenn gewünscht.

Vielen Dank schon mal fürs Durchlesen :)

Viele Grüße,
Stefan!
Gast #1308660
Also, da du ja ein Profi zu sein scheinst, ist das vielleicht eine blöde 
Frage. Und ich kenne auch den Tricore nicht, man möge mir meine 
Blauäugigkeit somit wohl verzeihen. ABER: bist du sicher, dass du z.B. 
den Watchdog ausgeschaltet hast?
ich hatte mal mit nem anderen MC ein ähnliches Problem. Im Debugger lief 
das Programm; kaum entfernte man das Debug-Kabel, stürzte das Programm 
in regelmässigen Intervallen ab. Das lag dann daran, dass der Watchdog 
des MC's im Debug-Modus deaktiviert war; beim normalen Programmablauf 
jedoch nicht. Der Watchdog resettete den MC somit regelmässig und das 
Programm stürzte vermeintlich ab.
Also, Watchdog prüfen.
Gast #1308890
Hallo Walz!
Uni nicht gleich Profi ;) Daher ist das gar keine blöde Frage...
Leider ist's dennoch nicht der WD, hätte aber durchaus sein können. 
Danke für die Idee!

Vielleicht noch als Zusatzinfo: Ich nutze zur Berechnung der Raumzeiger 
im Moment den Aufruf der PWM-Update Interruptroutine. D.h. die 
Berechnungen (sind ja im Wesentlichen ja nur 2 Gleichungen mit je einem 
sin() + ein switch-Konstrukt zur Sektorauswahl) werden mit der PWM 
Frequenz (16kHz) aufgerufen.

Da das Ganze im Crossview korrekt läuft, gehe ich davon aus, dass dies 
nicht zuviel für den Interrupt ist, oder mache ich da einen Denkfehler?

Viele Grüße
Stefan
Gast #1332324
Moin mal wieder!
Sorry für die rel. lange Zeit des nicht-Antwortens...
Das Problem ist jetzt gelöst. Und zwar gabs da wohl nen kleinen Dreher 
im AppNote. Nachdem der "entdreht" war, klappt's wi es soll!

Besten Dank für die Antworten und Anregungen hier!

Viele Grüße,
Stefan!

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.