NE2000 Kompatibilität

NE2000 Kompatibilität

Ein Begriff, Sie wahrscheinlich in Bezug auf Programm-Code zu hören für Netzwerk-Controllern ist NE2000-kompatibel. Die NE2000 war ein früher und beliebten PC-Netzwerk-Interface-Karte von Novell. Auf der Karte enthaltenen DP8390-Controller von National Semiconductor. Software für Systeme, die die '8390 oder einem kompatiblen Chip ist gekommen, um als NE2000-kompatibler Code bekannt sein. Ein wesentliches Merkmal der '8390 ist die Menge der internen Register. Mit dem Lesen und Schreiben zu den Registern, leitet ein neues CPU konfigurieren können, die Steuerung, die Übermittlung von Daten über das Netzwerk empfangen und lesen Sie Netzwerkdaten. Die Register in der '8390 sind in zwei 16-Byte-Seiten angeordnet. Die CR-Register ist bei Offset 00h auf beiden Seiten. Schreiben in Bit 6 und 7 in der Tschechischen Republik Registrierung wählt der aktuellen Seite. 01h Offsets durch 0Fh auf jeder Seite speichern zusätzlichen Register Werte. Beim Einschalten oder Zurücksetzen, Programm-Code in der Regel initialisiert die Register die gewünschten Werte vor Ethernet Datentransfer beginnen. Ein NE2000-kompatible Chip sollte in alle '8390 's unterstützen Register. Neuere Chips haben in der Regel zusätzliche Register Seiten zu unterstützen, um neue Features.

  

NE2000-kompatible Chips werden wahrscheinlich auch den Zugriff auf Pufferspeicher an den Adressen 4000h durch 7FFFh unterstützen. Ein Teil des Speichers bildet einen Ring-Puffer für die Speicherung von Daten aus dem Netzwerk empfangen, und den Rest der speichert Daten über das Netzwerk übertragen werden. Dokumentation Viele Anbieter von Controller-Chips haben Beispiel-Code für die Einrichtung der Register und Übertragung von Frames. Möglicherweise müssen Sie den Code für die Verwendung mit einer bestimmten CPU zu übersetzen. Quellcode und ausführbaren Code gibt es auch von vielen Herstellern von Modulen, die Chips zu verwenden. Die Dokumentation für den ursprünglichen DP8390 kann eine sinnvolle Ergänzung zu den manchmal dünne Dokumentation für neuere NE2000-kompatiblen Chips zur Verfügung gestellt. National Semiconductor hat auch eine Reihe von Application Notes. Note AN-475: DP8390 Network Interface Controller: An Introductory Guide, beschreibt die Prozesse, Senden und Empfangen von Daten. Note AN-874: Schreiben Treiber für die Netzwerkkarte DP8390 Familie von Ethernet-Controller, konzentriert sich auf die Programmierung, beispielsweise mit Assembler-Code für einen PC. Ich werde nicht versuchen, die Daten der Controller "Blatt hier zu duplizieren. Stattdessen werde ich auf die Funktionen und Fähigkeiten, die Sie dann zu wissen, konzentrieren sich bei der Auswahl der über einen Chip für ein Projekt. Sie können dann gehen Sie zu dem Datenblatt für die Details.

Die ASIX AX88796

Ein Ethernet-Controller für den Einsatz in Embedded Systems ist die AX88796 3-in-1-Local-Bus-Ethernet-Controller von ASIX Electonics Corporation. Rabbit Semiconductor nutzt diese Controller in seiner RCM3200 Modul. Der Controller unterstützt die Ethernet-Kommunikation bei 10 und 100 Mbit / s. Die '88796 ist NE2000-kompatibel. Ein wesentlicher Unterschied zwischen den '88796 und die DP8390 ist, dass die '88796 hat ein auf-Chip-16-Kilobyte statisches RAM (SRAM) Puffer für Netzwerk-Daten. Die '88796 auch separat (nicht Multiplex-) Daten-und Adressbus Busse und eine Schnittstelle zur seriellen EEPROM.

Verbindungen

Ethernet. Für die Twisted-Pair-Netze kann der Chip-Verbindung über einen Filter, um einen RJ-45-Buchse. Die RCM3200 PULSEJACK Modul verwendet eine von Pulse Engineering, Inc. Das Modul integriert die RJ-45 Anschluss-und Filterfunktionen Schaltungen in einem einzigen Paket. Eine On-Chip-MII ermöglicht die Verwendung einer externen PHY zu anderen Kabeltypen in Verbindung zu treten bei 10 oder 100 Mbit / s Bus-Kompatibilität. Die CPU0 und CPU1 Pins konfigurieren Sie den Chip für die Verwendung mit einem von vier Bus-Typen, die in Embedded-Systeme beliebt sind: ISA, Intel 80186, Intel MCS-51 (8051) und Motorola 68000. Die ausgewählten Bus bestimmt die Funktionen der Pole, dass die Kontrolle Lesen und Schreiben in der externen Daten-Bus und die Polarität der Interrupt-Ausgang. Zum Beispiel, auf einem 68000-Bus, Pin 18 a R / W-Eingang, dass die Kontrollen Bus liest und schreibt und Pin 19 hat keine Verbindung, während die ISA-Schnittstelle getrennte Lese-und Schreibzugriff Signale: IOWR ist Pin 18 und Pin 19 ist Iord. SRAM. Die Steuerung 16-Kilobyte-SRAM-Puffer hält Pakete warten auf das Netz und Pakete aus dem Netzwerk empfangen zu übertragen.

Mit einem 8-Bit-Datenbus, nur 8 Kilobyte der SRAM zur Verfügung. Adressierung. Der Chip verfügt über 10 Ein-Adresse, aber nicht alle Systeme brauchen sie alle. Die ersten fünf Bits (SA0 durch SA4)-Adresse des Controllers internen Register. Jeder Verantwortliche muss diese Zeilen an die Adresse des CPU-Bus verbunden. Zwei der Register (10h, 11h) sind die Daten-Port, der die CPU ermöglicht, die Steuerung 16 Kilobyte SRAM-Adresse ohne zusätzliche Zeilen zuzugreifen. In den meisten Systemen, die Ethernet-Controller Aktien den Datenbus mit anderen Komponenten, so dass die CPU muss eine Möglichkeit, den Controller auf den Bus zu wählen. Es gibt zwei Möglichkeiten, dieses zu erreichen sind durch den Einsatz zusätzlicher Linien-Adresse, eine Basis-Adresse auswählen oder über den Controller Chip Select (/ CS)-Eingang. Die 10-base0, 10-BASE1 und 10-BASE2 Pins auf der '88796 können Sie eine von acht Basis-Adressen. Jumpers-oder CPU-Ausgänge können die Stifte, die Kontrolle oder sie können fest verdrahtet. Die Adress-Werte sind mit PC-Hardware kompatibel, aber es gibt keinen Grund, warum Sie nicht verwenden können sie in anderen Systemen. Zum Beispiel, wenn der Controller hat eine Basis-Adresse 200h, die CPU greift auf die Chips das Register durch das Lesen und Schreiben, um die Adressen 200h durch 21Fh.

Wenn Ihr System bereits Flash-Speicher oder anderen nicht-flüchtigen Schreib-Lese-Speicher, können Sie auf die Komponente sparen Kosten durch die vorhandenen Speicher, um die Konfigurationsdaten anstelle eines seriellen EEPROM speichern. Dies ist der Ansatz Rabbit Semiconductor setzt in seiner RCM3200 Modul.

Übertragen von Daten

Wie die DP8390, um die '88796 verwendet Direct Memory Access (DMA) automatisiert die Übertragung von Netzwerk-Daten in und aus dem SRAM. Die CPU liest und schreibt an die Data Port Register, und der Controller speichert, oder ruft die Daten in sequenzieller Adressen im SRAM. Empfangen von Daten. Die '88796 speichert Daten, die das Netz in einem Teil des Chip-SRAM als Ringpuffer vorbehalten. In einem Ringspeicher, bestimmen zwei Hinweise, wo man lesen und schreiben weiter. Die Abschreibung Schritten nach jedem Zeiger auf den Puffer zu schreiben. Nach dem Schreiben der höchsten Adresse, wickelt sich die Zeiger wieder auf die niedrigste Adresse und bilden einen Ring. Inzwischen, da die CPU liest die Daten aus dem Puffer, der Lesepointer Schritte durch den Puffer in einer ähnlichen Weise. Um verlorene Daten zu verhindern, muss die CPU die Daten abzurufen, schnell genug, um die Puffer-Überlauf zu halten. Im '88796 die Seite Start Address Register (pstart) und Page Stop Address Register (PSTOP) sind die Puffer-Größe. In der Regel die Hälfte oder mehr des SRAM ist für den Ring-Puffer reserviert, der Rest für den Sendepuffer links. Der Ring-Puffer wird als eine Reihe von strukturierten 256-Byte-Puffer, oder Seiten. Die Boundary-Pointer-Register (bnry) ist die Lese-Zeiger, die die Adresse des nächsten Datenpaket für die CPU hält zu lesen.

Wenn die CPU die TXP Bit im Command Register enthält, sendet der Controller der angegebenen Bytes in einem Frame auf dem Netz. Der Controller fügt der Präambel, Start-of-Frame-Trennzeichen und CRC-Werte in den entsprechenden Stellen im Ethernet-Frame zu übertragen werden. Der Regler entscheidet auch, wenn sie versuchen, den Rahmen auf das Netzwerk zu senden, sendet der Bits, um die Netzwerk-Schnittstelle in der Reihenfolge, und Griffe Kollisionen und Wiederholungen. Wenn eine Übertragung abgeschlossen ist, einen Interrupt informiert die CPU so dass es einen anderen Rahmen vorbereiten können zu senden oder andere Maßnahmen ergreifen.

Ein Artikel eingereicht von Daniel R.


Disclaimer:Unsere Website ist nicht verantwortlich für den Inhalt dieses Artikels. Webarticles ist eine kostenlose Informationsquelle.
Wichtig: Dieser Artikel "NE2000 Kompatibilität" wurde durch ein automatisches Software übersetzt. Wir fühlen uns leid für alle Rechtschreibfehler, die möglicherweise aufgetreten sind. Vielen Dank für Ihr Verständnis.


Online: 401 users browsing the articles directory