mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik [Infos] RTL8019 Register


Autor: Andreas Auer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Ich bin gerade am Programmieren einer Software zur Ansteurung eines
RTL8019AS Ethernet Chips.
Ich hab mir mal als Referenz den Code von Ulrich Radig angesehen, da
ich irgendwie nicht viel mit den PSTOP, PSTART, BNRY und ähnlichen
Registern anfangen kann. Ich hab zwar jetzt die (etwas sehr kurzen)
Erklärungen im Datenblatt gelesen, weiß aber nicht, wie Ulrich da auf
die Werte kommt, die in seinem Programm initialisiert werden.
Vielleicht kann sich kurz jemand die Zeit nehmen und mir sagen, wozu
diese Register wirklich gut sind, und worauf sich die Werte beziehen
und was es halt noch so dazu zu sagen gibt.

Besten Dank schonmal,
Andreas

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

über die Page Start, Stop und Boundary register wird der Ring Buffer
initialisiert.
Jeder Platz im Ringbuffer ist 256byte groß, d.h. die Adressen in
Pstart, usw. enthalten das Higbyte der Adresse.
Betreibst Du jetzt den RTL in 8-bit Mode stehen Dir nur 8kb des SRAM
zur Verfügung. Die Start Adresse für das ram liegt bei 0x40. Bei
0x600byte Ethernet Packages legt man für den TX buffer (TXPAGE) eine
Page an also direkt bei 0x40. Dann bleiben für den RX Buffer noch die
restlichen 0x46 bis 0x60.
Also (0x60-0x40)*256bytes= 8KB.
Hoffe ich konnte weiterhelfen...

Autor: Andreas Auer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah... Jetzt wird mir einiges klarer.

Besten Dank für deine Hilfe. Das mit dem Rinbuffer war mir klar, aber
warum die Startadresse auf 0x40 gelegt wird und nicht auf 0x00, kam mir
sehr merkwürdig vor.
Aber wenn das SRAM erst bei Adresse 0x40 beginnt, ist es klar!
Besten Dank nochmal!

Andreas

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die unteren Adressen werden von den 4 Pages 0-3 belegt (jeweils 0x0-0xf)
.

Autor: Andreas Auer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jetzt hab ich nochmal kurz eine Frage.

Und zwar:
Wenn ich ein Paket empfange... wie bekomm ich raus, wie lange das Paket
ist??
Gibts da auch wieder ein Register, oder steht das direkt im SRAM
Buffer??

mfg
Andreas

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.