TriCore TC1796 per EBU zum Ethernet-Controller

OP #2079144
Lesenswert?
• ▲
▼
Hallo,

ich habe mir mittlerweile mehrfach die rund 100 Seiten zu EBU im Manual 
durchgelesen und auch einiges verstanden...aber ich fürchte mir fehlt da 
insgesamt ein wenig der Durchblick...

Zum Problem: Ich will mittels Ethernet Sollwerteänderungen auf den TC 
schieben. Habe hierfür ein PhyCore 1796 Board wo schon ein 
Ethernet-Controller (siehe Anhang) verbaut ist und an /CS3 des EBU in 
16-Bit-Mode hängt. Der Ethernet-Controller soll als TCP-Server verwendet 
werden, aber das kommt dann später...

zunächst hänge ich an der EBU wie muss ich die in Dave konfigurieren, 
worauf muss ich achten? Hat jemand ein praktisches Beispiel für die 
Arbeit mit der EBU? Ich bin für jeden Hinweis und Tipp dankbar, da ich 
gar nicht erkennen kann wie genau ich starten muss...kann ich einfach 
den TriCore als SoleMaster einstellen oder muss ich arbitrieren...

VIELEN DANK FÜR EURE HILFE
Gast #2079706
Lesenswert?
• ▲
▼
Hi,

da hast ganz schön was vor.
Also erstmal, die EBU ist ein intelligentes Teil, das den externen Bus 
vollständig autonom betreiben kann. Die am Bus angehängten Teilnehmer 
werden dann gemäß der Adresseinstellungen in den TriCore-Adressraum ab 
0x80800000/0xA0800000 eingeblendet (entsprechend der Konfiguration).

Soweit ich dein angehängtes PDF überflogen habe, läuft der 
Ethernet-Controller im 16bit asynchronen Modus. Das macht es ein wenig 
einfacher ....

Damit das ganze dann 100%ig einwandfrei funktioniert, muß du die 
Timingparameter korrekt in der EBU einstellen. Es gibt nichts 
schlimmeres, als wenn du Datenfehler bei Lese- bzw. Schreibzugriffen 
bekommst.

Beginnen kannst du mal so (nur die angegebenen Bitfelder vom Reset Wert 
ändern, alle anderen vorerst so lassen):
EBU_CON: Bitfield ARBMODE = b11 -> Master
EBU_BFCON : nur relevant für Burstkonfigurationen, nichts ändern

EBU_ADDRSEL3 (wegen CS3): zB 0xA10000F1 -> der Ethernet-Controller 
beginnt ab Adresse 0xA1000000 aus TriCore-Sicht. Der Adressbereich ist 
auf 2^22 begrenzt. 0xA.... damit Zugriff über non-cached Adressbereich 
des TriCore

EBU_BUSCON3: WRITE = 0, AGEN = 0, PORTW = 1, AALIGN = 0 (wenn A0 des 
TriCore nicht am Ethernetcontroller angeschlossen ist)

EBU_BUSAP3: würde ich vorerst auf Resetwert lassen, dh. maximum 
Waitstates. Hier wird dann viel Gehirnschmalz reinfließen, damit die 
optimalen Einstellungen gefunden werden (wegen Performance bzw. 
Stabilität)

Wenns stimmt, solltest du mittels Debugger ab der Adresse 0xA1000000 
etwas sehen....
Ich hoffe, daß hilft dir weiter !

Gruß !

Antwort schreiben

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.

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.