www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik TriCore TC1796 per EBU zum Ethernet-Controller


Autor: Matthias S. (zenonkition)
Datum:
Angehängte Dateien:

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

: Verschoben durch Admin
Autor: Klaus B. (Gast)
Datum:

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

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.