SMSC AN 12.12 APPLICATION NOTE Revision 1.0 (12-14-09)
1 Introduction
This application note describes how to successfully develop a network device driver for LAN9118
Family products. It covers device features, software design techniques, network operating system
interfaces, and critical design points. It provides basic design guidelines for incorporating LAN9118
Family products into networked applications. It overviews topics as microprocessor-LAN hardware
interactions; initialization, interrupts, operating system, and communication protocol stack
considerations.It also reviews good design practice for engineers getting acquainted with network
device design.
1.1 References
This manual references the following documents:
SMSC LAN9118 Datasheet
SMSC LAN9117 Datasheet
SMSC LAN9116 Datasheet
SMSC LAN9115 Datasheet
SMSC LAN9118 Reference Design Schematic
SMSC LAN9117 Reference Design Schematic
SMSC LAN9116 Reference Design Schematic
SMSC LAN9115 Reference Design Schematic
Always refer to these documents for complete and current device information. Circuit examples shown
in this document are for illustration only. Follow the corresponding Reference Design Schematic when
implementing an actual circuit design of a LAN9118 Family device.
Please visit SMSC’s website at http://www.smsc.com for the latest updated documentation.
1.2 Document Conventions
In this document, the terms device, network device, controller, and network controller all refer to a
controller in the LAN9118 Family, which includes the LAN9118, LAN9117, LAN9116 and LAN9115.
Host refers to the system into which the device is designed, including the processor, and
application software, etc.
MAC stands for Media Access Controller; the portion of the device responsible for sending or
receiving blocks of data from the network.
A packet is a complete Ethernet frame not yet sent through the MAC, or a frame after it has been
received by the MAC.
A frame is a complete Ethernet data frame with the 802.3 Layer 2 (MAC) header included.
A bit is a single binary digit that has a value of 1 (high) or 0 (low). A field is a continuous string of
bits of whatever length specified.