Forum: Mikrocontroller und Digitale Elektronik TriCore 1796: RZM läft nur unter Crossview Pro


von Stefan (Gast)


Lesenswert?

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!

von Walz (Gast)


Lesenswert?

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.

von Stefan (Gast)


Lesenswert?

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

von jack (Gast)


Lesenswert?

Hallo Stefan,
ich vermute dein Interruptbearbeitung dauert zu lange!

von Heinrich (Gast)


Lesenswert?

Frag mal beim Infineon Service Center nach. Mail unter 
www.infineon.com/tricore > 'Contact us' oder Phone 
www.infineon.com/service.

von Stefan (Gast)


Lesenswert?

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!

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.