[Infos] RTL8019 Register

Gast #144669
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
Gast #144670
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...
Gast #144671
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
Gast #144673
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren