mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Funktionsweise eines RTL8019AS


Autor: Sepp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich hab mir gerade den rtl8019as ein bißchen angescahut. Leider verstehe 
ich dessen Funktionsweise, bzw dessen Ansteuerung nicht. In manchen 
Shcaltungen findet man, dass Adressleitungen nur von SA0 bis SA4 gezogen 
werden. Der Rest ist auf GND. Wieso das? Warhscheinlich brauche ich eben 
nciht mehr Speicherplatz?!
Aber wei sende Ich Daten? Lege ich einfach auf den Datenbus etwas an und 
schreibe das auf welche Adresse im rtl8019as?
Bin ratlos. Das Datenblatt hat mir da auch nciht viel geholfen.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau dir doch den Sourcecode bestehender Treiber für sowas an.
Gibt's für alle möglichen Betriebssysteme (naja, wahrscheinlich
nicht gerade für Windows).

Ist schon eine Weile her, dass ich meinen letzten Ethernettreiber
geschrieben habe (und der ging noch über den Parallelport :).  Das
Prinzip ist, dass diese Chips intern eine Reihe von Registern
haben, die über den Bus multiplexiert werden.

Autor: Sepp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab gesehen, dass einfach an A0-A19 die Adresse 0x00000 angelegt wird. 
Danach werden die Daten angelegt und das ReadToggle gesetzt. Schreib ich 
also immer auf 0x00000 und das passt?

Autor: Sepp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok. Das war gerade Mist was ich erzählt habe. Glaub ich.

Mit SA0-SA4 kann man also 0x00 bis 0x1F adressieren. Was genau den 
Speicherbereich jeder Page entspricht. Pages gibt es 4 die jeweils mit 
dem Bit6 und Bit7 der Datenleitung angesprochen werden können. Soweit 
bin ich mir schon sicher. Nur warum haben die Leute von Ethernut hier 
http://www.ethernut.de/pdf/enut130g-s3.pdf 16 Adressleitungen gezogen? 
Komisch. Und warum ist BD5 und 7 angebunden. Doch nur weil dort ein 
Speicher simuliert werden soll, oder? Brauch ich das zwingend?

Autor: Harald Kipp (Firma: egnite GmbH) (haraldkipp) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der RTL8019 enthält einen Adressdekoder. Wenn man diesem alle 16 
Leitungen zuführt, tauchen die Register nur einmal im Adressraum auf.

Wenn Du nur SA0-SA4 verkabelst, dann würden sich die Register im Abstand 
von 32 wiederholen. Fügst Du SA5 hinzu, nur noch alle 64 Bytes usw. Beim 
Ethernut 1 tauchen die Register nur einaml von 0x8000 bis 0x801F auf, 
alle anderen Adressen dürfen von anderen Devices belegt werden.

A15 wurde übrigens negiert, um 0x8300 (statt 0x0300) als Basisadresse zu 
bekommen.

Natürlich brauchst Du trotzdem nicht alle Adressleitungen zum Realtek 
führen. Wenn Du z.B. nur SA0-SA4, SA14 und SA15(neg) belegst, SA8 und 
SA9 fest auf high und den Rest auf low legst, bleiben die Adressen 
0xC000 bis 0xFFFF zur freien Verfügung.

Eine reichlich komplizierte Geschichte ist übrigens die zusätzlich 
Verwendung von A13 und A14 zur EEPROM Simulation. Neben der Möglichkeit 
ein echtes EEPROM zu bestücken, kann man auch Portbits dafür nehmen, was 
die Software erheblich vereinfacht. Du kannst den Pin EDO auch einfach 
auf high legen, nur kannst Du den Chip dann nicht in den Half Duplex 
Modus schalten. Der RTL8019AS ist sehr alt und macht den Link Aufbau im 
Full Duplex Mode nicht nach gültigem Standard, was dann zu Ethernet 
Kollisionen führt.

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.