Email: Password: Remember Me | Create Account (Free)
8390 Ethernet Tutorial

With applications wanting to transfer large amounts of data, serial RS232 communications are not always the most viable or fastest modes of communication. This is especially true when using the microprocessor to collect data real time for transfer to another device for analysis. One way to improve the transfer speed is to use an Ethernet solution. This also allows the data to be sent to multiple computers or devices both on a Local Area Network (LAN) or across the world.

This tutorial explains how to get a National Semiconductor 8390 compatible ethernet chip Network Interface Card (NIC), connected to an Intel 8031/32 compatible device for communications around a Local Area Network (LAN). Many NICs emulate or use an 8390 chip. Some examples are RTL8019, NEx000 cards. If you can use the network card in a PC using a NEx000 driver, then it should work. NICs based on other chipsets are not supported yet, but may be implemented at a later date.

Ethernet software is divided up into various layers, where each layer removes or adds a block of information called a header before handing it up or down the ethernet stack. There are two types of models that are documented. These are the OSI and TCP/IP model. The various layers are shown below. This tutorial only covers the Physical layer of the OSI model, and the Network Interface Layer of the TCP/IP model. The description of what each layer performs can be explained by a book dedicated to TCP/IP.

OSI Model TCP/IP Model

Application Layer

Presentation Layer

Session Layer

Transport Layer

Network Layer

Data Link Layer

Physical Layer

Application Layer

Transport Layer

Internet Layer

Network Interface Layer


Connecting the hardware to the microprocessor
Compiling and testing ETHTEST, the example code
Using the 8390 code
Now what?

As with most programs, this could not have been acomplished with the speed that it did without the help of various people, organisations and references. They are listed here as they need to be recognised as this code has 'signatures' of there work. These links are not being kept up to date.

Hardware Design
Wener Cornelius for connections for 8032
The ISA and PC/104 Bus specifications

Linux code, by Donald Becker
Pascal 8390 driver supplied by Michael Kern

National Semiconductor NS8390 Datasheet