NE2000 Compatibilità

NE2000 Compatibilità

Un termine è probabile a sentire in riferimento al codice del programma per i controller di rete NE2000-compatibile. Il NE2000 fu uno dei primi e popolare scheda di rete PC di interfaccia da Novell. La scheda contenuta controller di National Semiconductor DP8390. Software per i sistemi che utilizzano il '8390 o un chip compatibile è venuto per essere conosciuta come NE2000-compatibile di codice. Una caratteristica importante del '8390 è la sua serie di registri interni. Con la lettura e la scrittura nei registri, una CPU è possibile configurare il controller, avviare la trasmissione di dati sulla rete, e leggere i dati di rete ricevuto. I registri nel '8390 sono disposte su due pagine a 16 byte. Il registro CR è in 00h offset su entrambe le pagine. Iscritto al bit 6 e 7 nel registro CR seleziona la pagina corrente. Offset 01h attraverso 0Fh su ciascun archivio di pagina valori registro supplementare. Il power-up o di reset, il codice del programma inizializza tipicamente registri a valori desiderati prima di iniziare il trasferimento di dati Ethernet. An NE2000-chip compatibile dovrebbe supportare tutte le '8390 's registri. Chip più recenti hanno generalmente pagine registro supplementare per supportare nuove funzionalità.

  

NE2000-chip sono compatibili anche probabile che il supporto di memoria buffer di accedere a indirizzi 4000h attraverso 7FFFh. Una porzione della memoria di forma un ring buffer per la memorizzazione di dati ricevuti dalla rete, e il resto del memorizza i dati di memoria da trasmettere sulla rete. Fornitori di documentazione Molti dei chip controller hanno il codice di esempio per l'istituzione dei registri e il trasferimento di fotogrammi. Potrebbe essere necessario tradurre il codice per l'utilizzo con una specifica CPU. Sorgente e il codice eseguibile è disponibile anche da molti fornitori di moduli che utilizzano il chip. La documentazione per il DP8390 originale può essere un utile complemento alla documentazione a volte sottili di nuovi chip NE2000-compatibile. National Semiconductor ha anche un paio di note applicative. Note AN-475: DP8390 Network Interface Controller: una guida introduttiva, descrive i processi di inviare e ricevere dati. Note AN-874: Driver Scrivere per il DP8390 NIC famiglia di controller Ethernet, si concentra sulla programmazione, con il codice di esempio per l'assemblaggio di un PC. Non voglio tentare di riprodurre i fogli dei controllori 'dati qui. Invece, mi concentrerò sulle caratteristiche e le funzionalità che si desidera conoscere nella selezione di un chip per un progetto. Si può quindi passare alla scheda di dati per i dettagli.

Il AX88796 ASIX

Un controller Ethernet progettati per l'impiego in sistemi embedded è il AX88796 3-in-1 Local Bus Controller Fast Ethernet da ASIX Electonics Corporation. Rabbit Semiconductor utilizza questo controller nel suo modulo RCM3200. Il controller supporta comunicazioni Ethernet a 10 e 100 Mb / s. Il '88796 è NE2000-compatibile. Una delle principali differenze tra la '88796 e il DP8390 è che il '88796 ha un on-chip a 16 megabyte di RAM statica (SRAM) buffer per i dati di rete. Il '88796 dati ha anche separati (non multiplexing) e gli autobus indirizzo e un'interfaccia di EEPROM seriale.

Connessioni

Ethernet. Per twisted-pair Networks, il chip in grado di connettersi attraverso un filtro a un jack RJ-45. Il RCM3200 utilizza un modulo PulseJack da Pulse Engineering, Inc. Il modulo integra il connettore RJ-45 e circuiti di filtraggio in un unico pacchetto. An on-chip permette di utilizzare uno MII PHY esterno per collegare ad altri tipi di cavi a 10 o 100 Mb / s. Compatibilità Bus. Il CPU0 e CPU1 pins configurare il chip per l'utilizzo con uno dei quattro tipi di bus che sono popolari in sistemi embedded: ISA, Intel 80186, Intel MCS-51 (8051), e Motorola 68000. Il bus selezionata determina le funzioni dei pin che il controllo di lettura e scrittura per il bus dati esterno e la polarità del interrupt output. Per esempio, su un bus 68000, pin 18 è un R / W che controlla l'ingresso bus legge e scrive e il pin 19 non ha alcun legame, mentre l'interfaccia ISA si è separata leggere e scrivere i segnali: pin 18 è IOWR e il pin 19 è Lord. SRAM. Del controllore buffer di 16 kilobyte SRAM detiene i pacchetti in attesa di trasmettere sulla rete e pacchetti ricevuti dalla rete.

Con un bus dati a 8-bit, solo l'8 kilobyte di SRAM sono disponibili. Addressing. Il chip dispone di 10 ingressi indirizzo, ma non tutti i sistemi bisogno di tutti loro. I primi cinque bit (SA0 attraverso SA4) indirizzo registri interni del controllore. Ogni controller deve essere collegato a queste linee di bus della CPU indirizzo. Due dei registri (10h, 11h) sono la porta dati, che permette alla CPU di accedere 16 del controllore kilobyte di SRAM senza l'utilizzo di linee di indirizzo aggiuntivi. Nella maggior parte dei sistemi, le quote di controller Ethernet il bus dati con altri componenti, così la CPU ha bisogno di un modo per selezionare il controller sul bus. Due modi per ottenere questo risultato sono utilizzando le linee di indirizzo aggiuntivi per selezionare un indirizzo di base o utilizzando chip del controller Select (/ CS) input. Il 10-BASE0, 10-BASE1, e 10-pin BASE2 sul '88796 possibile selezionare uno degli otto indirizzi di base. Ponticelli o le uscite della CPU in grado di controllare i pin, oppure possono essere cablati. I valori di indirizzo sono compatibili con l'hardware per PC, ma non c'è motivo non è possibile utilizzare in altri sistemi. Ad esempio, se il controller ha un indirizzo di base di 200h, la CPU accede registri del chip di lettura e scrittura per il 200h indirizzi attraverso 21Fh.

Se il vostro sistema è già di memoria Flash o altri volatili, lettura / scrittura della memoria, è possibile salvare il componente di costo utilizzando la memoria esistenti per memorizzare i dati di configurazione invece di una EEPROM seriale. Questo è l'approccio Rabbit Semiconductor utilizza nel suo modulo RCM3200.

Trasferimento dati

Come il DP8390, la '88796 utilizza l'accesso diretto alla memoria (DMA) per automatizzare i trasferimenti di dati in rete e fuori della SRAM. La CPU legge e scrive al registro Data Port, e il controller di negozi o recupera i dati di indirizzi sequenziali nel SRAM. Ricezione di dati. Il '88796 memorizza i dati ricevuti dalla rete in una porzione di SRAM del chip riservato come un buffer circolare. In un buffer circolare, due puntatori determinare dove leggere e scrivere accanto. La scrittura incrementi puntatore dopo ogni scrittura al buffer. Dopo aver scritto l'indirizzo più alto, il puntatore torna alla avvolge l'indirizzo più basso, formando un anello. Nel frattempo, come la CPU legge i dati dal buffer, i passi leggere puntatore tramite il buffer in modo analogo. Per evitare la perdita dei dati, la CPU deve recuperare i dati abbastanza veloce per mantenere il buffer da straripante. Nel '88796, la pagina iniziale Address Register (PStart) e Page Stop Address Register (PSTOP) determinare la dimensione del buffer. In genere, la metà o più delle SRAM è riservata per il ring buffer, con il resto di sinistra per il buffer di trasmissione. The ring buffer è strutturato come una serie di 256 byte di buffer, o le pagine. Il registro Boundary Pointer (BNRY) è il puntatore di lettura, che contiene l'indirizzo della pagina del pacchetto di dati successivo per la CPU da leggere.

Quando la CPU imposta il bit TXP nel registro di comando, il controller invia il byte specificato in una cornice sulla rete. Il controllore aggiunge il preambolo, start-of-delimitatore di frame, e valori CRC nelle posizioni appropriate nel frame Ethernet essere trasmessi. Il controllore decide anche quando tenta di inviare il frame sulla rete, invia i bit per l'interfaccia di rete in sequenza, e gestisce le collisioni e tentativi. Quando una trasmissione è stata completata, un interrupt informa la CPU in modo che possa preparare un altro frame da inviare o intraprendere altre azioni.

un articolo presentato da Daniel R.


Disclaimer:Il nostro sito non è responsabile per il contenuto di questo articolo. Webarticles è una risorsa gratuita di informazioni.
Importante: Questo articolo è "Compatibilità NE2000" è stato tradotto da un software automatico. Ci dispiace per eventuali errori di ortografia che possono essersi verificati. Grazie per la vostra comprensione.


Online: 420 users browsing the articles directory