Forum: Mikrocontroller und Digitale Elektronik Lernbeispiele für TriCore1796


von plottermeier (Gast)


Lesenswert?

Hallo,

ich stehe am Ende meines Studiums und habe nun als Diplomarbeitsthema
den Bau eines Frequenzumrichters angeboten bekommen. Prinzipiell finde 
ich
das Thema interessant. Die Hardware ist kein Problem
(hab ich schon mal mit nem Pic als Steuerung gemacht). In die notwendige
Regelungstechnik lese ich mich gerade ein.
Mein Problem ist nun, dass ich für diese Arbeit (Zeit 6 Monate) einen
TriCore1796 einsetzen soll. Diese Arbeit wäre also auch die Einführung 
des TriCore am Lehrstuhl. C-Kenntnisse sind bei mir ansatzweise 
vorhanden. Nur
hab ich bisher fast ausschließlich mit PICs gearbeitet die ich in 
Assembler
gefüttert habe. Da gibt es ja viele Beispiele auf der sprut Seite.
Gibt es für den TriCore auch eine Seite mit Beispielprogrammen?
(Lerne am besten mit Beispielen)? Oder habt Ihr andere Links, die für 
mich
interessant wären? Was ist in dem Starterkit drin? Kann man damit 
lernen?
Wäre für ein paar Ratschläge wirklich dankbar. Bin am überlegen, ob ich
annehmen soll. Wäre ein schönes Thema, fürchte mich aber davor, dass
ich irgendwo nicht weiterkomme, weil es halt keine so tolle Seite gibt,
wo steht, dass man genau da einen Haken machen muß (auch wenn keiner 
weiß
warum)...

wäre dankbar für etwas Futter

viele Grüße
Jens

warum) und

von Hans J. (hjm)


Lesenswert?

Hallo Jens,

der Tricore ist ja kein normaler µC. Sondern da ist auch noch ein DSP 
drin.

Deren programmierung unterscheidet sich grundlegend zum normaler µC.

Zu TriCore selbst kann ich Dir leider nichts sagen wir setzen Texas ein.

Aber so einen FU mit ein bißchen einlesen zu entwickeln, ist schon 
ergeizig.

Ich weiß wovon ich rede, da ich nichts vernünftiges gelernt habe :-)) 
beschäftiges ich mich beruflich mit so was.

Wo schreibst Du die Arbeit, wäre interessant auch das Ergebnis einmal zu 
sehen, also wenns soweit ist.

Grüße
hans-Josef

von holger (Gast)


Lesenswert?

>C-Kenntnisse sind bei mir ansatzweise vorhanden. Nur
>hab ich bisher fast ausschließlich mit PICs gearbeitet die ich in
>Assembler gefüttert habe.
>Da gibt es ja viele Beispiele auf der sprut Seite.

Mit den Vorraussetzungen würde ich sagen:

Lass es einfach sein. In 6 Monaten schaffst du es nicht
'C' zu lernen UND einen neuen Prozessor zu verstehen.
Ganz zu schweigen von den Problemchen die man dann auch noch
so mit der IDE, dem Compiler/Assembler und den Soft/Hardware-Debuggern
bekommen kann.

Aber ich will dich nicht davon abhalten es zu versuchen !
Wenn der Proff dir auch bei gescheitertem Projekt ne gute
Note gibt ist das ok. Falls nicht musst du dein schlechtes
Zeugnis ein Leben lang vorzeigen. Also überleg dir gut was
du tust !

Man kann sich für seine Diplomarbeit auch einfachere
Projekte vornehmen.

von Yupp (Gast)


Lesenswert?

Hi,

im Tricore ist kein DSP drinnen, sondern der Controller hat u.a. 
Eigenschaften eines DSPs, z.B. einen MAC-Befehl. Der Kern kann zwei 
Befehle parallel ausführen, wenn sie geeignet angeordnet sind (macht der 
Compiler). Über getrennte Busse können gleichzeitig Befehl und Daten 
geholt werden - aber auch nur, wenns richtig gemacht ist. Dennoch denke 
ich persönlich, dass er noch ne ganze Ecke von DSPs entfernt ist. Die 
stärken des Tricore sind komplexe Steuerungsaufgaben.

Was speziell den TC1796 kompliziert macht sind die vielen internen 
Busse. Die Ports z.B. kann man nur über einen 16-Bit-Bus ansprechen 
(sinnvollerweise über die LFI-Bridge). Das dauert dann sehr lange. 
Deshalb verwendet man dafür Komponenten, die an diesen Bus angeschlossen 
sind, z.B. Timer, DMA oder PCP. Der PCP ist ein eigener 
16-Bit-Controller, der im meines Wissens im Moment nur in Assembler 
programmiert werden kann und von der Leistung schon fast einen 80C166 
rankommt. Für zeitkritische Aufgaben sollte er aber benutzt werden. 
Schau Dir einfach mal die Übersicht bei Infineon an 
(TC1796_ds_V0.7.pdf).

Auch wenn der Tricore nicht einfach ist kann man schöne Sachen damit 
machen. Mit einem der beiden (oder auch beiden) Timer-Arrays (GPTAx) 
kann man z.B. zusammen mit dem PCP recht einfach eine Phasensynchrone 
PLL aufbauen. Daran hängen dann 32 GTCs und 64 LTCs die z.B. Ports hoch 
aufgelöst Phasengekoppelt ein und ausschalten können usw. Das passiert 
dann alles ohne Eingriff des Haupt-Kerns. Auf dem läuft dann z.B. die 
eigentliche Steuerung etc. Zudem unterstützt der Tricore so Sachen wie 
einen Not-Aus per HW. Mit einem PIC kann man den Tricore fast nicht mehr 
vergleichen. Da der Kern 32-Bittig ist fallen so Sachen wie Paging usw. 
weg. Befehle können gemischt 16-/32-Bittig sein und werden linear 
abgearbeitet - das ist nicht selbstverständlich und wird bei Problemen 
richtig knifflig. Der Controller lässt sich leicht im System debuggen.

Wenn Du irgendeine höhere Programmiersprache kannst sollte C kein 
Problem sein. Wie Holger aber schon sagte denke ich auch, dass die 
Einführung des Controllers sehr nervig werden könnte. Bis Du Compiler, 
Debugger und Entwicklungsumgebung am Laufen hast können die 6 Monate 
locker rum sein. Erkundige dich vorher was es alles gibt. Wenn es keinen 
am Institut gibt der sich mit Tricore auskennt wird es schwer an 
praxisnahe Infos zu kommen. Im Netz habe ich z.B. noch keine 
Selbstbauprojekte gefunden. Da dass bei uns alles fix und fertig 
eingerichtet war kann ich nicht sagen wie schwierig es wird, stelle mir 
es aber ultra stressig vor. Bei uns beschäftigen sich darauf 
spezialisierte Leute damit. Ich muss z.B. nur in C programmieren und hab 
nur bei Problemen mit so Sachen wie Timer zu tun. Zudem verwenden wir 
einen einfacheren Tricore ohne die vielen Busse und PCP. Software lässt 
sich meines Erachtens aber nicht einfach zwischen den verschiedenen 
Tricores portieren. Wenn du eine Programm für einen andere Tricore auf 
deinem System verwendest nutzt Du bei weitem nicht die Performance 
deines Controllers. Gehen Zugriffe über die falschen Bridges bricht sie 
sogar ein.

Eine Diplomarbeit über das Einrichten der Entwicklungsumgebung zu 
schreiben ist sehr undankbar! Es könnte sich lohnen wenn du an der Uni 
bleiben willst und dann selbst Diplomarbeiten mit dem System betreuen 
könntest. Als Pluspunkt fällt mir noch ein, dass Du nach der DA bestimmt 
gefragt bist, es dürfte noch nicht so viele Tricore-Experten auf dem 
freien Arbeitsmarkt geben.

Wenn Du's wirklich annehmen solltest schau dass Du einen Kurs spendiert 
bekommst. Da hast Du nach einer Woche einen guten Überblick und kannst 
erste Programme in C schreiben und sparst Dir Wochen/Monate damit. 
Grundsätzliches Wissen sollte aber vorhanden sein. Ich kannte vorher 
schon einige uCs und DSPs verschiedener Hersteller und konnte so sehr 
viel vom Kurs mitnehmen.

Gruß, Yupp

von Mario (Gast)


Lesenswert?

Hallo plottermeier,

vielleicht eine kleine Info für dich. Die Firma HighTec 
www.hightec-rt.com bieten einen GNU basierenden Compiler und das 
Echtzeitbetriebssystem PXROS für den TriCore an. Die Tools sind für Unis 
kostenlos und sind für Windows und Linux verfügbar. Schicke einfach eine 
Email an demo@hightec-rt.com und dann bekommst du einen ftp-Download 
Link für die aktuelle Version.
Auf unserer Webseite sind im Downloadbereich auch Application Notes und 
Dave Beispiele für TriCore verfügbar. Ab nächster Woche wird auch ein 
PWM-Beispiel auf Internetseite verfügbar sein.
Seit kurzem bietet die Firma HighTec auch ein TC1796 Board, das 
zusätzlich Ethernet, USB 2.0 und Anschluss für eine SD-Karte hat und ein 
entsprechendes Power-Board zur Ansteuerung von Motoren. 
(http://www.hanser-automotive.de/aktuell/article/hightec-und-pls-praesentieren-tool-chain-fuer-tricore-derivate/)
Schick einfach eine Email an demo@hightec-rt.com und dann schauen wir, 
wie wir dich bei deiner Diplomarbeit unterstützen können.

von plottermeier (Gast)


Lesenswert?

Hallo,

Danke für die Antworten.

@ Hans Josef
Danke für Deine Antwort.
In Kiel soll die Sache steigen. Das mit den DSP-Funktionen ist für mich
nicht weiter von Bedeutung. Im Hinblick auf die Arbeit des Lehrstuhls
vermute ich, dass in weiteren Arbeiten mein Umrichter mit Funktionen 
erweitert werden würde, wo diese zum Einsatz kämen.
Bei meiner (möglichen) Arbeit ginge es zunächst einmal darum, per PWM
ein Drehstromsystem nachzubilden und einige Analogwerte einzulesen.
(Also das, was ich mit meinem Pic schon kann).
Dann soll das ganze mit einigen Regelungen erweitert werden, die in
einer Spezialvorlesung schon behandelt wurden. Das kann mein Pic
dann nicht mehr, aber bei einem vernünftigen C-Compiler sollte es
doch kein Hexenwerk sein, wenn ich die Formeln kenne, diese zu 
realisieren.

@ holger

Hallo, danke für Deinen Kommentar (aúch wenn es natürlich nicht das ist, 
was ich hören wollte). Das ist halt eine Befürchtung. Aber die Anregung,
sich mal mit dem Prof über Ziele und Erwartungen und die Möglichkeit,
dass aus oben genannten Gründen nach 6 Monaten kein fertiges Gerät auf 
dem Tisch steht, zu unterhalten, ist gut.

@ Yupp

Hallo,
das sind ja schon ein paar handfeste Infos. Wie gesagt, ich muß das Teil
nicht gleich optimal nutzen, aber wenn es solche Funktionen für z.B. 
eine
gute Arbeitsaufteilung hat, dann wär es natürlich auch sinnvoll, diese 
zu
verwenden. Die Idee, dass man mit einer solchen DA wertvoll für den
Lehrstuhl sein könnte, ist natürlich dabei. Werd morgen mal auf die 
Suche nach dem pdf gehen. Wo gibt´s denn solche Kurse?

@ Mario

Hallo,
danke für die Infos. Nach so etwas habe ich gesucht. Erstmal eine
Lampe blinken lassen, oder vielleicht sogar eine fertige PWM. Das sind
Beispiele, mit denen man weitermachen kann.
Ich überlege, mir ein Testboard zuzulegen und vor Annahme des Themas
schon einmal herumzuspielen. Wenn ich mit der Soft klarkomme und
vielleicht schonmal ein Drehstromsystem ohne Regelungen usw. hinbekommen
habe, wäre es leichter für mich dass Thema anzunehmen.
Dann sollte ich mir aber schon ziemlich sicher sein, da würde Kohle
für alle anderen Bastelprojekte draufgehen (na ja, ist dann ja eh keine
Zeit mehr für...).
Würde Euch dann mal anmailen.
Mal schauen. Einfache DA-Themen gibt´s hier eh nicht, aber dieses finde
ich zumindest interessant.

viele Grüße an Euch alle von der Ostseeküste

Jens

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.