SMSC LAN91C111

LAN91C111
10/100 Non-PCI Ethernet Single
Chip MAC + PHY
Datasheet
Product Features
Single Chip Ethernet Controller
Dual Speed - 10/100 Mbps
Fully Supports Full Duplex Switched Ethernet
Supports Burst Data Transfer
8 Kbytes Internal Memory for Receive and
Transmit FIFO Buffers
Enhanced Power Management Features
Optional Configuration via Serial EEPROM
Interface
Supports 8, 16 and 32 Bit CPU Accesses
Internal 32 Bit Wide Data Path (Into Packet Buffer
Memory)
Early TX, Early RX Functions
Built-in Transparent Arbitration for Slave
Sequential Access Architecture
Flat MMU Architecture with Symmetric Transmit
and Receive Structures and Queues
3.3V Operation with 5V Tolerant IO Buffers (See
Pin List Description for Additional Details)
Single 25 MHz Reference Clock for Both PHY
and MAC
External 25Mhz-output pin for an external PHY
supporting PHYs physical media.
Low Power CMOS Design
Supports Multiple Embedded Processor Host
Interfaces
−
−
−
−
−
−
3.3V MII (Media Independent Interface) MACPHY Interface Running at Nibble Rate
MII Management Serial Interface
128 Pin QFP Package
128 Pin TQFP Package, 1.0 mm height
Industrial Temperature Range from -40°C to
85°C (LAN91C111i only)
Network Interface
Fully Integrated IEEE 802.3/802.3u-100Base-TX
/ 10Base-T Physical Layer
Auto Negotiation: 10/100, Full / Half Duplex
On Chip Wave Shaping - No External Filters
Required
Adaptive Equalizer
Baseline Wander Correction
LED Outputs (User selectable – Up to 2 LED
functions at one time)
−
−
−
−
−
−
Link
Activity
Full Duplex
10/100
Transmit
Receive
ARM
SH
Power PC
Coldfire
680X0, 683XX
MIPS R3000
SMSC LAN91C111 Rev. B
Page 1
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
ORDERING INFORMATION
Order Number(s):
LAN91C111-NC
LAN91C111I-NC (Industrial Temperature)
for 128 Pin QFP Packages
LAN91C111-NE (1.0mm height)
LAN91C111I-NE (Industrial Temperature)
for 128 Pin TQFP Packages
© STANDARD MICROSYSTEMS CORPORATION (SMSC) 2003
80 Arkay Drive
Hauppauge, NY 11788
(631) 435-6000
FAX (631) 273-3123
Standard Microsystems and SMSC are registered trademarks of Standard Microsystems Corporation. Product names and company names are the
trademarks of their respective holders. Circuit diagrams utilizing SMSC products are included as a means of illustrating typical applications;
consequently complete information sufficient for construction purposes is not necessarily given. Although the information has been checked and is
believed to be accurate, no responsibility is assumed for inaccuracies. SMSC reserves the right to make changes to specifications and product
descriptions at any time without notice. Contact your local SMSC sales office to obtain the latest specifications before placing your product order. The
provision of this information does not convey to the purchaser of the semiconductor devices described any licenses under the patent rights of SMSC
or others. All sales are expressly conditional on your agreement to the terms and conditions of the most recently dated version of SMSC's standard
Terms of Sale Agreement dated before the date of your order (the "Terms of Sale Agreement"). The product may contain design defects or errors
known as anomalies which may cause the product's functions to deviate from published specifications. Anomaly sheets are available upon request.
SMSC products are not designed, intended, authorized or warranted for use in any life support or other application where product failure could cause
or contribute to personal injury or severe property damage. Any and all such uses without prior written approval of an Officer of SMSC and further
testing and/or modification will be fully at the risk of the customer. Copies of this document or other SMSC literature, as well as the Terms of Sale
Agreement, may be obtained by visiting SMSC’s website at http://www.smsc.com.
SMSC DISCLAIMS AND EXCLUDES ANY AND ALL WARRANTIES, INCLUDING WITHOUT LIMITATION ANY AND ALL IMPLIED WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND AGAINST INFRINGEMENT AND THE LIKE, AND ANY AND
ALL WARRANTIES ARISING FROM ANY COURSE OF DEALING OR USAGE OF TRADE.
IN NO EVENT SHALL SMSC BE LIABLE FOR ANY DIRECT, INCIDENTAL, INDIRECT, SPECIAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES,
OR FOR LOST DATA, PROFITS, SAVINGS OR REVENUES OF ANY KIND; REGARDLESS OF THE FORM OF ACTION, WHETHER BASED ON
CONTRACT, TORT, NEGLIGENCE OF SMSC OR OTHERS, STRICT LIABILITY, BREACH OF WARRANTY, OR OTHERWISE; WHETHER OR
NOT ANY REMEDY IS HELD TO HAVE FAILED OF ITS ESSENTIAL PURPOSE; AND WHETHER OR NOT SMSC HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
SMSC LAN91C111 Rev. B
Page 2
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
LAN91C111 Revisions
REVISION LEVEL
AND DATE
Rev. 1.4
12-12-03
Rev. 1.3
07-29-03
Rev. 1.3
07-18-03
Rev. 1.3
07-18-03
Rev. 1.3
07-18-03
Rev. 1.2
09-17-02
Rev. 1.0
07-01-02
Rev.1.0
07-01-02
Rev. 1.0
07-01-02
Rev. 1.0
07-01-02
Rev. 1.0
07-01-02
Rev. 1.0
07-01-02
Rev. 1.0
07-01-02
Rev. 1.0
07-01-02
Rev. 1.0
07-01-02
Rev. 1.0
07-01-02
Rev. 1.0
07-01-02
SMSC LAN91C111 Rev. B
SECTION/FIGURE/ENTRY
CORRECTION
Features
Removed “user programmable” under LED
Output features
Section 13.1 - Maximum Guaranteed
Ratings*, page 102
Modified LAN91C111 Temp 0°C to +85°C
Section 8.2 - Receive Frame Status, page 44
Modified description of the BROADCAST
bit in Receive Frame Status
Section 8.5 - Bank 0 - Transmit Control
Register, page 47
Modified description of the STP_SQET bit
in TCR Register
Section 8.6 - Bank 0 - EPH Status Register,
page 48
Modified description of SQET bit in EPH
Status Register
Section 8.12 - Bank 1 - Base Address
Register, page 54
Added chart showing decoding of I/O Base
Address 300h
Chapter 5 – Description of Pin Functions,
page 14
Add Buffer Type for nLEDA and nLEDB,
Add description of LCLK
Section 7.7.12 - Link Integrity &
Autonegotiation, page 37
Modified Auto-Negotiation Enable
Description
Section 7.8 - Reset, page 42
Add Reset Description
Section 8.5 - Bank 0 - Transmit Control
Register, page 47
Add Description for FDUPLX bit
Section 8.10 - Bank 0 - Receive/Phy Control
Register, page 51
Add Description for SPEED, DPLX, ANEG
bits.
Section 8.21 - Bank 2 - Interrupt Status
Registers, page 61
Add Description for Interrupt Status and
Mask bits
Figure 8.2 - Interrupt Structure, page 64
Modified Interrupt Structure Figure
Chapter 9 - PHY MII Registers, page 68
Changed bit name 0 to Reserved
Section 9.10 - Register 20. Reserved Structure and Bit Definition, page 79
Reserved bits default at 00A0
Section 10.2 - Typical Flow of Events for
Transmit (Auto Release = 0), page 81
Modified Typical Flow of Event for TX
Section 10.3 - Typical Flow of Events for
Transmit (Auto Release = 1), page 83
Modified Typical Flow of Event for TX
Page 3
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
TABLE OF CONTENTS
LAN91C111 Revisions .............................................................................................................................. 3
Chapter 1
General Description ........................................................................................................... 7
Chapter 2
Pin Configurations ............................................................................................................. 8
Chapter 3
Block Diagrams ................................................................................................................ 10
Chapter 4
Signal Descriptions........................................................................................................... 13
Chapter 5
Description of Pin Functions ........................................................................................... 14
Chapter 6
Signal Description Parameters........................................................................................ 19
6.1
Buffer Types .................................................................................................................................... 19
Chapter 7
7.1
7.2
7.2.1
7.2.2
7.3
7.4
7.5
Management Data Software Implementation........................................................................................22
Management Data Timing ....................................................................................................................22
MI Serial Port Frame Structure .............................................................................................................22
MII Packet Data Communication with External PHY.............................................................................24
Serial EEPROM Interface................................................................................................................ 25
Internal Physical Layer .................................................................................................................... 25
7.7.1
7.7.2
7.7.3
7.7.4
7.7.5
7.7.6
7.7.7
7.7.8
7.7.9
7.7.10
7.7.11
7.7.12
7.7.13
7.7.14
7.7.15
7.7.16
7.7.17
7.7.18
7.8
DMA Block ............................................................................................................................................20
Arbiter Block .........................................................................................................................................20
MMU Block ...................................................................................................................................... 21
BIU Block......................................................................................................................................... 21
MAC-PHY Interface......................................................................................................................... 21
7.5.1
7.5.2
7.5.3
7.5.4
7.6
7.7
Functional Description..................................................................................................... 20
Clock Generator Block .................................................................................................................... 20
CSMA/CD Block .............................................................................................................................. 20
MII Disable............................................................................................................................................27
Encoder ................................................................................................................................................27
Decoder ................................................................................................................................................27
Clock and Data Recovery .....................................................................................................................28
Scrambler .............................................................................................................................................29
Descrambler .........................................................................................................................................29
Twisted Pair Transmitter .......................................................................................................................30
Twisted Pair Receiver ...........................................................................................................................33
Collision ................................................................................................................................................35
Start of Packet...................................................................................................................................35
End of Packet....................................................................................................................................36
Link Integrity & Autonegotiation.........................................................................................................37
Jabber ...............................................................................................................................................40
Receive Polarity Correction...............................................................................................................40
Full Duplex Mode ..............................................................................................................................41
Loopback...........................................................................................................................................41
PHY Powerdown ...............................................................................................................................42
PHY Interrupt ....................................................................................................................................42
Reset ............................................................................................................................................... 42
Chapter 8
8.1
8.2
8.3
8.4
8.5
8.6
MAC Data Structures and Registers.............................................................................. 43
Frame Format In Buffer Memory..................................................................................................... 43
Receive Frame Status..................................................................................................................... 44
I/O Space......................................................................................................................................... 45
Bank Select Register....................................................................................................................... 46
Bank 0 - Transmit Control Register................................................................................................. 47
Bank 0 - EPH Status Register......................................................................................................... 48
Rev. 1.4 (12-12-03)
Page 4
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
8.7 Bank 0 - Receive Control Register.................................................................................................. 49
8.8 Bank 0 - Counter Register............................................................................................................... 50
8.9 Bank 0 - Memory Information Register ........................................................................................... 50
8.10
Bank 0 - Receive/Phy Control Register ....................................................................................... 51
8.11
Bank 1 - Configuration Register................................................................................................... 53
8.12
Bank 1 - Base Address Register.................................................................................................. 54
8.13
Bank 1 - Individual Address Registers......................................................................................... 54
8.14
Bank 1 - General Purpose Register............................................................................................. 55
8.15
Bank 1 - Control Register............................................................................................................. 55
8.16
Bank 2 - MMU Command Register .............................................................................................. 56
8.17
Bank 2 - Packet Number Register ............................................................................................... 58
8.18
Bank 2 - FIFO Ports Register....................................................................................................... 59
8.19
Bank 2 - Pointer Register............................................................................................................. 59
8.20
Bank 2 - Data Register................................................................................................................. 60
8.21
Bank 2 - Interrupt Status Registers.............................................................................................. 61
8.22
Bank 3 - Multicast Table Registers .............................................................................................. 65
8.23
Bank 3 - Management Interface................................................................................................... 66
8.24
Bank 3 - Revision Register .......................................................................................................... 66
8.25
Bank 3 - Early RCV Register ....................................................................................................... 67
8.26
Bank 7 - External Registers ......................................................................................................... 67
Chapter 9
9.1
9.2
9.3
9.4
9.5
9.6
9.7
9.8
9.9
9.10
Chapter 10
10.1
10.2
10.3
10.4
PHY MII Registers........................................................................................................... 68
Register 0. Control Register............................................................................................................ 72
Register 1. Status Register ............................................................................................................. 73
Register 2&3. PHY Identifier Register............................................................................................. 74
Register 4. Auto-Negotiation Advertisement Register .................................................................... 74
Register 5. Auto-Negotiation Remote End Capability Register ...................................................... 76
Register 16. Configuration 1- Structure and Bit Definition .............................................................. 76
Register 17. Configuration 2 - Structure and Bit Definition ............................................................. 77
Register 18. Status Output - Structure and Bit Definition................................................................ 77
Register 19. Mask - Structure and Bit Definition ............................................................................ 78
Register 20. Reserved - Structure and Bit Definition.................................................................. 79
Software Driver and Hardware Sequence Flow......................................................... 80
Software Driver and Hardware Sequence Flow for Power Management.................................... 80
Typical Flow of Events for Transmit (Auto Release = 0) ............................................................. 81
Typical Flow of Events for Transmit (Auto Release = 1) ............................................................. 83
Typical Flow of Event For Receive .............................................................................................. 84
Chapter 11
Board Setup Information ............................................................................................. 92
Chapter 12
Application Considerations.......................................................................................... 95
Chapter 13
Operational Description ............................................................................................. 102
13.1
13.2
13.3
13.4
Maximum Guaranteed Ratings*................................................................................................. 102
DC Electrical Characteristics ..................................................................................................... 102
Twisted Pair Characteristics, Transmit ...................................................................................... 105
Twisted Pair Characteristics, Receive ....................................................................................... 106
Chapter 14
Timing Diagrams ........................................................................................................ 108
LIST OF FIGURES
Figure 2.1 - Pin Configuration - LAN91C111-FEAST 128 PIN TQFP...........................................................................8
Figure 2.2 - Pin Configuration - LAN91C111-FEAST 128 PIN QFP.............................................................................9
Figure 3.1 - Basic Functional Block Diagram .............................................................................................................10
Figure 3.2 - Block Diagram.........................................................................................................................................11
SMSC LAN91C111 Rev. B
Page 5
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
Figure 3.3 - LAN91C111 Physical Layer to Internal MAC Block Diagram ..................................................................12
Figure 7.1 - MI Serial Port Frame Timing Diagram.....................................................................................................23
Figure 7.2 - MII Frame Format & MII Nibble Order.....................................................................................................24
Figure 7.3 - TX/10BT Frame Format ..........................................................................................................................26
Figure 7.4 - TP Output Voltage Template - 10 MBPS ................................................................................................31
Figure 7.5 - TP Input Voltage Template -10MBPS .....................................................................................................34
Figure 7.6 - SOI Output Voltage Template - 10MBPS................................................................................................37
Figure 7.7 - Link Pulse Output Voltage Template - NLP, FLP ....................................................................................38
Figure 7.8 - NLP VS. FLP Link Pulse .........................................................................................................................39
Figure 8.1 - Data Frame Format.................................................................................................................................43
Figure 8.2 - Interrupt Structure ...................................................................................................................................64
Figure 10.1 - Interrupt Service Routine ......................................................................................................................85
Figure 10.2 - RX INTR ...............................................................................................................................................86
Figure 10.3 - TX INTR................................................................................................................................................87
Figure 10.4 - TXEMPTY INTR (Assumes Auto Release Option Selected).................................................................88
Figure 10.5 - Drive Send and Allocate Routines ........................................................................................................89
Figure 10.6 - Interrupt Generation for Transmit, Receive, MMU ................................................................................91
Figure 11.1 - 64 X 16 Serial EEPROM Map ...............................................................................................................94
Figure 12.1 - LAN91C111 on VL BUS........................................................................................................................97
Figure 12.2 - LAN91C111 on ISA BUS ......................................................................................................................99
Figure 12.3 - LAN91C111 on EISA BUS ..................................................................................................................101
Figure 14.1 - Asynchronous Cycle - nADS=0...........................................................................................................108
Figure 14.2 - Asynchronous Cycle - Using nADS.....................................................................................................109
Figure 14.3 - Asynchronous Cycle - nADS=0...........................................................................................................110
Figure 14.4 - Asynchronous Ready ..........................................................................................................................111
Figure 14.5 - Burst Write Cycles - nVLBUS=1 .........................................................................................................112
Figure 14.6 - Burst Read Cycles - nVLBUS=1 .........................................................................................................113
Figure 14.7 - Address Latching for All Modes ..........................................................................................................114
Figure 14.8 - Synchronous Write Cycle - nVLBUS=0...............................................................................................115
Figure 14.9 - Synchronous Read Cycle - nVLBUS=0...............................................................................................116
Figure 14.10 - MII Timing .........................................................................................................................................117
Figure 14.11 - Transmit Timing ................................................................................................................................118
Figure 14.12 - Receive Timing, End of Packet - 10 MBPS.......................................................................................119
Figure 14.13 - Collision Timing, Receive..................................................................................................................120
Figure 14.14 - Collision Timing, Transmit.................................................................................................................121
Figure 14.15 - Jam Timing .......................................................................................................................................122
Figure 14.16 - Link Pulse Timing..............................................................................................................................124
Figure 14.17 - FLP Link Pulse Timing ......................................................................................................................125
Figure 14.18 - 128 Pin TQFP Package Outline, 14X14X1.0 Body .............................................................................126
Figure 14.19 -128 Pin QFP Package Outline, 3.9 MM Footprint ..............................................................................127
LIST OF TABLES
Table 4.1 - LAN91C111 Pin Requirements (128 Pin QFP and 1.0mm TQFP package).............................................13
Table 7.1 - 4B/5B Symbol Mapping............................................................................................................................28
Table 7.2 - Transmit Level Adjust...............................................................................................................................32
Table 8.1 - Internal I/O Space Mapping .....................................................................................................................46
Table 9.1 - MII Serial Frame Structure .......................................................................................................................69
Table 9.2 - MII Serial Port Register MAP ...................................................................................................................71
Table 10.1 - Typical Flow Of Events For Placing Device In Low Power Mode ...........................................................80
Table 10.2 - Flow Of Events For Restoring Device In Normal Power Mode ...............................................................81
Table 12.1 - VL Local Bus Signal Connections ..........................................................................................................95
Table 12.2 - High-End ISA or Non-Burst EISA Machines Signal Connectors.............................................................98
Table 12.3 - EISA 32 Bit Slave Signal Connections ...................................................................................................99
Table 14.1 - Transmit Timing Characteristics...........................................................................................................117
Table 14.2 - Receive Timing Characteristics............................................................................................................118
Table 14.3 - Collision and Jam Timing Characteristics.............................................................................................119
Table 14.4 - Link Pulse Timing Characteristics ........................................................................................................123
Table 14.5 - 128 Pin TQFP Package Parameters ....................................................................................................126
Table 14.6 - 128 Pin QFP Package Parameters ......................................................................................................127
Rev. 1.4 (12-12-03)
Page 6
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
Chapter 1
General Description
The SMSC LAN91C111 is designed to facilitate the implementation of a third generation of Fast Ethernet
connectivity solutions for embedded applications. For this third generation of products, flexibility and
integration dominate the design requirements. The LAN91C111 is a mixed signal Analog/Digital device that
implements the MAC and PHY portion of the CSMA/CD protocol at 10 and 100 Mbps. The design will also
minimize data throughput constraints utilizing a 32-bit, 16-bit or 8-bit bus Host interface in embedded
applications.
The total internal memory FIFO buffer size is 8 Kbytes, which is the total chip storage for transmit and receive
operations.
The SMSC LAN91C111 is software compatible with the LAN9000 family of products.
Memory management is handled using a patented optimized MMU (Memory Management Unit)
architecture and a 32-bit wide internal data path. This I/O mapped architecture can sustain back-to-back
frame transmission and reception for superior data throughput and optimal performance. It also
dynamically allocates buffer memory in an efficient buffer utilization scheme, reducing software tasks and
relieving the host CPU from performing these housekeeping functions.
The SMSC 91C111 provides a flexible slave interface for easy connectivity with industry-standard buses.
The Bus Interface Unit (BIU) can handle synchronous as well as asynchronous transfers, with different
signals being used for each one. Asynchronous bus support for ISA is supported even though ISA cannot
sustain 100 Mbps traffic. Fast Ethernet data rates are attainable for ISA-based nodes on the basis of the
aggregate traffic benefits.
Two different interfaces are supported on the network side. The first Interface is a standard Magnetics
transmit/receive pair interfacing to 10/100Base-T utilizing the internal physical layer block. The second interface
follows the MII (Media Independent Interface) specification standard, consisting of 4 bit wide data transfers at
the nibble rate. This interface is applicable to 10 Mbps standard Ethernet or 100 Mbps Ethernet networks. Three
of the LAN91C111’s pins are used to interface to the two-line MII serial management protocol.
The SMSC LAN91C111 integrates IEEE 802.3 Physical Layer for twisted pair Ethernet applications. The
PHY can be configured for either 100 Mbps (100Base-TX) or 10 Mbps (10Base-T) Ethernet operation.
The Analog PHY block consists of a 4B5B/Manchester encoder/decoder, scrambler/de-scrambler,
transmitter with wave shaping and output driver, twisted pair receiver with on chip equalizer and baseline
wander correction, clock and data recovery, Auto-Negotiation, controller interface (MII), and serial port
(MI). Internal output wave shaping circuitry and on-chip filters eliminate the need for external filters
normally required in 100Base-TX and 10Base-T applications.
The LAN91C111 can automatically configure itself for 100 or 10 Mbps and Full or Half Duplex operation
with the on-chip Auto-Negotiation algorithm. The LAN91C111 is ideal for media interfaces for embedded
application desiring Ethernet connectivity as well as 100Base-TX/10Base-T adapter cards, motherboards,
repeaters, switching hubs. The LAN91C111 operates from a single 3.3V supply. The inputs and outputs of
the host Interface are 5V tolerant and will directly interface to other 5V devices.
SMSC LAN91C111 Rev. B
Page 7
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
Chapter 2
Pin Configurations
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
107
106
105
104
103
102
101
100
99
98
97
XTAL2
XTAL1
RX_ER
RX_DV
RXD0
RXD1
RXD2
RXD3
VDD
CRS100
RX25
GND
TXD0
TXD1
TXD2
TXD3
COL100
TXEN100
VDD
TX25
GND
D0
D1
D2
D3
GND
D4
D5
D6
D7
VDD
nBE3
Pin Configuration
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
LAN91C111FEASTTM
128 PIN TQFP
96
95
94
93
92
91
90
89
88
87
86
85
84
83
82
81
80
79
78
77
76
75
74
73
72
71
70
69
68
67
66
65
nBE2
nBE1
nBE0
GND
A15
A14
A13
A12
A11
A10
A9
A8
A7
A6
A5
A4
A3
A2
A1
VDD
D8
D9
D10
D11
GND
D12
D13
D14
D15
GND
D16
D17
VDD
nDATACS
nCYCLE
W/nR
nADS
ARDY
GND
nVLBUS
AEN
LCLK
nSRDY
VDD
nLDEV
nRDYRTN
X25OUT
D31
D30
D29
D28
GND
D27
D26
D25
D24
GND
D23
D22
D21
D20
VDD
D19
D18
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
VDD
nCSOUT
IOS0
IOS1
IOS2
ENEEP
EEDO
EEDI
EESK
EECS
AVDD
RBIAS
AGND
TPO+
TPOAVDD
TPI+
TPIAGND
nLNK
LBK
nLEDA
nLEDB
GND
MDI
MDO
MCLK
nCNTRL
INTR0
RESET
nRD
nWR
Figure 2.1 - Pin Configuration - LAN91C111-FEAST 128 PIN TQFP
Rev. 1.4 (12-12-03)
Page 8
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
107
106
105
104
103
RX_ER
RX_DV
RXD0
RXD1
RXD2
RXD3
VDD
CRS100
RX25
GND
TXD0
TXD1
TXD2
TXD3
COL100
TXEN100
VDD
TX25
GND
D0
D1
D2
D3
GND
D4
D5
Pin Configuration
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
LAN91C111FEASTTM
128 PIN QFP
102
101
100
99
98
97
96
95
94
93
92
91
90
89
88
87
86
85
84
83
82
81
80
79
78
77
76
75
74
73
72
71
70
69
68
67
66
65
D6
D7
VDD
nBE3
nBE2
nBE1
nBE0
GND
A15
A14
A13
A12
A11
A10
A9
A8
A7
A6
A5
A4
A3
A2
A1
VDD
D8
D9
D10
D11
GND
D12
D13
D14
D15
GND
D16
D17
D18
D19
nADS
ARDY
GND
nVLBUS
AEN
LCLK
nSRDY
VDD
nLDEV
nRDYRTN
X25OUT
D31
D30
D29
D28
GND
D27
D26
D25
D24
GND
D23
D22
D21
D20
VDD
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
XTAL1
XTAL2
VDD
nCSOUT
IOS0
IOS1
IOS2
ENEEP
EEDO
EEDI
EESK
EECS
AVDD
RBIAS
AGND
TPO+
TPOAVDD
TPI+
TPIAGND
nLNK
LBK
nLEDA
nLEDB
GND
MDI
MDO
MCLK
nCNTRL
INTR0
RESET
nRD
nWR
VDD
nDATACS
nCYCLE
W/nR
Figure 2.2 - Pin Configuration - LAN91C111-FEAST 128 PIN QFP
SMSC LAN91C111 Rev. B
Page 9
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
Chapter 3
Block Diagrams
The diagram shown in Figure 3.1 - Basic Functional Block Diagram, describes the device basic functional
blocks. The SMSC LAN91C111 is a single chip solution for embedded designs with minimal Host and
external supporting devices required to implement 10/100 Ethernet connectivity solutions.
The optional Serial EEPROM is used to store information relating to default IO offset parameters as well as
which of the Interrupt line are used by the host.
Host System
LAN91C111
ISA,Embedded
Processor
Ethernet
MAC
Internal IEEE 802.3 MII (Media
Independent Interface)
PHY
Core
Transformer
RJ45
TX/RX Buffer (8K)
Serial
EEProm
(Optional)
Minimal LAN91C111
Configuration
Figure 3.1 - Basic Functional Block Diagram
Rev. 1.4 (12-12-03)
Page 10
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
EEPROM
INTERFACE
MII
Control
Control
Control
Control
Address
8-32 bit
Bus
Interface
Unit
Control
Arbiter
Control
TPO
Control
WR
FIFO
Data
RD
FIFO
MMU
TX/RX
FIFO
Pointer
Ethernet
Protocol
Handler
(EPH)
DMA
TX Data
8K Byte
Dynamically
Allocated
SRAM
10/100
PHY
TXD[0-3]
32-bit Data
32-bit Data
TPI
RX Data
RXD[0-3]
Figure 3.2 - Block Diagram
The diagram shown in Figure 3.2 describes the supported Host interfaces, which include ISA or Generic
Embedded. The Host interface is an 8, 16 or 32 bit wide address / data bus with extensions for 32, 16 and
8 bit embedded RISC and ARM processors.
The figure shown next page describes the SMSC LAN91C111 functional blocks required to integrate a
10/100 Ethernet Physical layer framer to the internal MAC.
SMSC LAN91C111 Rev. B
Page 11
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
EECS
EESK
EEDO
EEDI
MII External
Signals
RBIAS
EEPROM
CONTROL
To MII External Signals
4B5B
ENCODER
SCRAMBLER
MLT3
ENCODER
SWITCHED
CURRENT
SOURCE
+
TPO+
-
TPO-
CLOCK
GEN
(PLL)
10BASE-T
TRANSMITTER
MANCHESTER
CRS100
COL100
ROM
DAC
+
LP
FILTER
-
CLOCK
GEN
(PLL)
COLLISION
RXD[3:0]
RX_ER
RX_DV
RX25
SQUELCH
4B5B
DECODER
MII
SERIAL
Manage
-ment
LP
FILTER
DESCRAMBL
ER
CLOCK &
DATA
RECOVERY
100BASE-TX
RECEIVER
+/- Vth
MLT
ENCODER
+
+
CSMA/CD
TXD[3:0]
TX_ER
TXEN100
TX25
100BASE-TX
TRANSMITTER
TPI+
ADAPTIVE
EQUALIZER
TPI-
AUTO
NEGOTIATION
& LINK
MDI
MCLK
MDO
SQUELCH
10BASE-T
RECEIVER
+/- Vth
MII
CLOCK &
DATA
Recovery
(Manchester
Decoder)
LP
FILTER
+
+
Multiplexer
S1
Power
On
Reset
PHY
CONTROLS
nPLED[0-5]
AUTONEG
LOGIC
C1
LED
Control
LS[2-0]A
D
LEDA
S8
C2
C3
EN
B
Multiplexer
S1
D
LEDB
S8
C1
C2
C3
EN
B
LS[2-0]B
Figure 3.3 - LAN91C111 Physical Layer to Internal MAC Block Diagram
Rev. 1.4 (12-12-03)
Page 12
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
Chapter 4
Signal Descriptions
Table 4.1 - LAN91C111 Pin Requirements (128 Pin QFP and 1.0mm TQFP package)
FUNCTION
System Address Bus
System Data Bus
System Control Bus
Serial EEPROM
LEDs
PHY
Crystal Oscillator
Power
Ground
Physical Interface (MII)
MISC
TOTAL
SMSC LAN91C111 Rev. B
PIN SYMBOLS
A1-A15, AEN, nBE0-nBE3
D0-D31
RESET, nADS, LCLK, ARDY,
nRDYRTN, nSRDY, INTR0,
nLDEV, nRD, nWR, nDATACS,
nCYCLE, W/nR, nVLBUS
EEDI, EEDO, EECS, EESK,
ENEEP, IOS0-IOS2
nLEDA, nLEDB
TPO+, TPO-, TPI+, TPI-, nLNK,
LBK, nCNTRL, RBIAS
XTAL1, XTAL2
VDD, AVDD
GND, AGND
TXEN100, CRS100, COL100,
RX_DV, RX_ER, TXD0-TXD3,
RXD0-RXD3, MDI, MDO,
MCLK, RX25, TX25
nCSOUT, X25OUT
Page 13
DATASHEET
NUMBER OF PINS
20
32
14
8
2
8
2
10
12
18
2
128
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
Chapter 5
Description of Pin Functions
PIN NO.
TQFP
QFP
NAME
SYMBOL
BUFFER
TYPE
81-92
83-94
Address
A4-A15
I**
78-80
80-82
Address
A1-A3
I**
41
43
Address
Enable
AEN
I**
94-97
96-99
nByte Enable
nBE0nBE3
I**
107-104,
102-99,
76-73, 7168, 66-63,
61-58, 5653, 51-48
Data Bus
D0-D31
I/O24**
30
109-106,
104-101,
78-75,
73-70,
68-65,
63-60,
58-55,
53-50
32
Reset
RESET
IS**
37
39
nAddress
Strobe
nADS
IS**
35
37
nCycle
nCYCLE
I**
36
38
Write/
nRead
W/nR
IS**
Rev. 1.4 (12-12-03)
Page 14
DATASHEET
DESCRIPTION
Input. Decoded by LAN91C111 to
determine access to its registers.
Input. Used by LAN91C111 for
internal register selection.
Input. Used as an address qualifier.
Address decoding is only enabled
when AEN is low.
Input. Used during LAN91C111
register accesses to determine the
width of the access and the
register(s) being accessed. nBE0nBE3 are ignored when nDATACS is
low (burst accesses) because 32 bit
transfers are assumed.
Bidirectional. 32 bit data bus used to
access the LAN91C111’s internal
registers. Data bus has weak
internal pullups. Supports direct
connection to the system bus without
external buffering. For 16 bit
systems, only D0-D15 are used.
Input. When this pin is asserted
high, the controller performs an
internal system (MAC & PHY) reset.
It programs all the registers to their
default value, the controller will read
the EEPROM device through the
EEPROM interface (Note 5.1). This
input is not considered active unless
it is active for at least 100ns to filter
narrow glitches.
Input. For systems that require
address latching, the rising edge of
nADS indicates the latching moment
for A1-A15 and AEN. All
LAN91C111 internal functions of A1A15, AEN are latched except for
nLDEV decoding.
Input. This active low signal is used
to control LAN91C111 EISA burst
mode synchronous bus cycles.
Input. Defines the direction of
synchronous cycles. Write cycles
when high, read cycles when low.
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
PIN NO.
TQFP
QFP
NAME
SYMBOL
BUFFER
TYPE
40
42
nVL Bus
Access
nVLBUS
I with
pullup**
42
44
Local Bus
Clock
LCLK
I**
38
40
Asynchronous
Ready
ARDY
OD16
43
45
nSynchronous
Ready
nSRDY
O16
46
48
nReady
Return
nRDYRT
N
I**
29
31
Interrupt
INTR0
O24
45
47
nLocal Device
nLDEV
O16
SMSC LAN91C111 Rev. B
Page 15
DATASHEET
DESCRIPTION
Input. When low, the LAN91C111
synchronous bus interface is
configured for VL Bus accesses.
Otherwise, the LAN91C111 is
configured for EISA DMA burst
accesses. Does not affect the
asynchronous bus interface.
Input. Used to interface synchronous
buses. Maximum frequency is 50
MHz. Limited to 8.33 MHz for EISA
DMA burst mode. This pin should be
tied high if it is in asynchronous mode.
Open drain output. ARDY may be
used when interfacing asynchronous
buses to extend accesses. Its rising
(access completion) edge is controlled
by the XTAL1 clock and, therefore,
asynchronous to the host CPU or bus
clock. ARDY is negated during
Asynchronous cycle when one of the
following conditions occurs:
1) No_Wait Bit in the Configuration
Register is cleared.
2) Read FIFO contains less than 4
bytes when read.
3) Write FIFO is full when write.
Output. This output is used when
interfacing synchronous buses and
nVLBUS=0 to extend accesses. This
signal remains normally inactive, and
its falling edge indicates completion.
This signal is synchronous to the bus
clock LCLK.
Input. This input is used to complete
synchronous read cycles. In EISA
burst mode it is sampled on falling
LCLK edges, and synchronous cycles
are delayed until it is sampled high.
Interrupt Output – Used to interrupt the
Host on a status event. Note: The
selection bits used to determined by
the value of INT SEL 1-0 bits in the
Configuration Register are no longer
required and have been set to
reserved in this revision of the FEAST
family of devices.
Output. This active low output is
asserted when AEN is low and A4-A15
decode to the LAN91C111 address
programmed into the high byte of the
Base Address Register. nLDEV is a
combinatorial decode of unlatched
address and AEN signals.
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
PIN NO.
TQFP
QFP
NAME
SYMBOL
BUFFER
TYPE
DESCRIPTION
31
33
nRead Strobe
nRD
IS**
32
34
nWrite Strobe
nWR
IS**
34
36
nData Path
Chip Select
nDATAC
S
I with
pullup**
9
11
EEPROM
Clock
EESK
O4
10
12
EEPROM
Select
EECS
O4
7
9
EEDO
O4
8
10
EEPROM
Data Out
EEPROM
Data In
EEDI
3-5
5-7
I/O Base
IOS0IOS2
I with
pulldown
**
I with
pullup**
6
8
Enable
EEPROM
ENEEP
I with
pullup**
127, 128
1, 2
Crystal 1
Crystal 2
XTAL1
XTAL2
Iclk**
1, 33, 44,
62, 77, 98,
110, 120
Power
VDD
Analog Power
Ground
AVDD
GND
+3.3V Analog power supply pins.
Ground pins.
13, 19
3, 35, 46,
64, 79,
100, 112,
122
13, 18
26, 41,
54, 59,
69, 74,
95, 105,
110, 119
15, 21
Input. External switches can be
connected to these lines to select
between predefined EEPROM
configurations.
Input. Enables (when high or open)
LAN91C111 accesses to the serial
EEPROM. Must be grounded if no
EEPROM is connected to the
LAN91C111.
An external 25 MHz crystal is
connected across these pins. If a TTL
clock is supplied instead, it should be
connected to XTAL1 and XTAL2
should be left open. XTAL1 is the 5V
tolerant input of the internal amplifier
and XTAL2 is the output of the internal
amplifier.
+3.3V Power supply pins.
AGND
Analog Ground pins
21
23
Analog
Ground
Loopback
11, 16
24, 39, 52,
57, 67, 72,
93, 103,
108, 117
Rev. 1.4 (12-12-03)
LBK
O4
Page 16
DATASHEET
Input. Used in asynchronous bus
interfaces.
Input. Used in asynchronous bus
interfaces.
Input. When nDATACS is low, the
Data Path can be accessed regardless
of the values of AEN, A1-A15 and the
content of the BANK SELECT
Register. nDATACS provides an
interface for bursting to and from the
LAN91C111 32 bits at a time.
Output. 4 µsec clock used to shift data
in and out of the serial EEPROM.
Output. Serial EEPROM chip select.
Used for selection and command
framing of the serial EEPROM.
Output. Connected to the DI input of
the serial EEPROM.
Input. Connected to the DO output of
the serial EEPROM.
Output. Active when LOOP bit is set
(TCR bit 1).
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
PIN NO.
TQFP
QFP
NAME
SYMBOL
BUFFER
TYPE
DESCRIPTION
20
22
nLink Status
nLNK
I with
pullup
28
47
111
30
49
113
nCNTRL
X25out
TXEN100
O12
O12
O12
119
121
nCNTRL
X25out
Transmit
Enable 100
Mbps
Carrier Sense
100 Mbps
CRS100
I with
pulldown
125
127
Receive Data
Valid
RX_DV
I with
pulldown
112
114
COL100
I with
pulldown
113-116
115-118
Collision
Detect 100
Mbps
Transmit Data
O12
109
111
Transmit
Clock
TXD3TXD0
TX25
118
120
Receive Clock
RX25
I with
pullup
121-124
123-126
Receive Data
25
27
Management
Data Input
RXD3RXD0
MDI
I with
pullup
I with
pulldown
26
28
Management
Data Output
MDO
O4
MII management data output.
27
29
Management
Clock
MCLK
O4
MII management clock.
126
128
Receive Error
RX_ER
I with
pulldown
2
4
nChip Select
Output
nCSOUT
O4
12
14
External
Resistor
RBIAS
NA
Input. Indicates a code error detected
by PHY. Used by the LAN91C111 to
discard the packet being received.
The error indication reported for this
event is the same as a bad CRC
(Receive Status Word bit 13).
Output. Chip Select provided for
mapping of PHY functions into
LAN91C111 decoded space. Active on
accesses to LAN91C111’s eight lower
addresses when the BANK
SELECTED is 7.
Transmit Current Set. An external
resistor connected between this pin
and GND will set the output current for
the TP transmit outputs
SMSC LAN91C111 Rev. B
I with
pullup
Page 17
DATASHEET
Input. General-purpose input port
used to convey LINK status (EPHSR
bit 14).
General Purpose Control Pin
25Mhz Output to external PHY
Output to MII PHY. Envelope to 100
Mbps transmission.
Input from MII PHY. Envelope of
packet reception used for deferral and
backoff purposes.
Input from MII PHY. Envelope of data
valid reception. Used for receive data
framing.
Input from MII PHY. Collision
detection input.
Outputs. Transmit Data nibble to MII
PHY.
Input. Transmit clock input from MII.
Nibble rate clock (25MHz for 100Mbps
& 2.5MHz for 10Mbps).
Input. Receive clock input from MII
PHY. Nibble rate clock. (25MHz for
100Mbps & 2.5MHz for 10Mbps).
Inputs. Received Data nibble from MII
PHY.
MII management data input.
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
PIN NO.
TQFP
QFP
NAME
SYMBOL
BUFFER
TYPE
14
15
16
17
TPO+
TPO-
O/I
O/I
17
18
22
23
19
20
24
25
TPI+
TPInLEDA
nLEDB
I/O
I/O
OD24
OD24
Note 5.1
DESCRIPTION
Twisted Pair Transmit Output, Positive.
Twisted Pair Transmit Output,
Negative
Twisted Pair Receive Input, Positive
Twisted Pair Receive Input, Negative.
PHY LED Output
PHY LED Output
If the EEPROM is enabled.
Rev. 1.4 (12-12-03)
Page 18
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
Chapter 6
Signal Description Parameters
This section provides a detailed description of each SMSC LAN91C111 signal. The signals are arranged in
functional groups according to their associated function.
The ‘n’ symbol at the beginning of a signal name indicates that it is an active low signal. When ‘n’ is not
present before the signal name, it indicates an active high signal.
The term “assert” or “assertion” indicates that a signal is active; independent of whether that level is
represented by a high or low voltage. The term negates or negation indicates that a signal is inactive.
The term High-Z means tri-stated.
The term Undefined means the signal could be high, low, tri-stated, or in some in-between level.
6.1
Buffer Types
O4
O12
O16
O24
OD16
OD24
Output buffer with 2mA source and 4mA sink
Output buffer with 6mA source and 12mA sink
Output buffer with 8mA source and 16mA sink
Output buffer with 12mA source and 24mA sink
Open drain buffer with 16mA sink
Open drain buffer with 24mA sink
I/O4
I/O24
I/OD
Bidirectional buffer with 2mA source and 4mA sink
Bidirectional buffer with 12mA source and 24mA sink
Bidirectional Open drain buffer with 4mA sink
I
IS
Iclk
Input buffer
Input buffer with Schmitt Trigger Hysteresis
Clock input buffer
I/O
O/I
Differential Input
Differential Output
**
5V tolerant. Input pins are able to accept 5V signals
DC levels and conditions defined in the DC Electrical Characteristics section
SMSC LAN91C111 Rev. B
Page 19
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
Chapter 7
7.1
7.2
Functional Description
Clock Generator Block
1)
The XTAL1 and XTAL2 pins are to be connected to a 25 MHz crystal.
2)
TX25 is an input clock. It will be the nibble rate of the particular PHY connected to the MII (2.5 MHz for a
10 Mbps PHY, and 25 MHz for a 100 Mbps PHY).
3)
RX25 - This is the MII nibble rate receive clock used for sampling received data nibbles and running the
receive state machine. (2.5 MHz for a 10 Mbps PHY, and 25 MHz for a 100 Mbps PHY).
4)
LCLK - Bus clock - Used by the BIU for synchronous accesses. Maximum frequency is 50 MHz for VL
BUS mode, and 8.33 MHz for EISA slave DMA.
CSMA/CD Block
This is a 16 bit oriented block, with fully- independent Transmit and Receive logic. The data path in and out
of the block consists of two 16-bit wide uni-directional FIFOs interfacing the DMA block. The DMA port of
the FIFO stores 32 bits to exploit the 32 bit data path into memory, but the FIFOs themselves are 16 bit
wide. The Control Path consists of a set of registers interfaced to the CPU via the BIU.
7.2.1
DMA Block
This block accesses packet memory on the CSMA/CD’s behalf, fetching transmit data and storing received
data. It interfaces the CSMA/CD Transmit and Receive FIFOs on one side and the Arbiter block on the
other. To increase the bandwidth into memory, a 50 MHz clock is used by the DMA block, and the data
path is 32 bits wide.
For example, during active reception at 100 Mbps, the CSMA/CD block will write a word into the Receive FIFO
every 160ns. The DMA will read the FIFO and accumulate two words on the output port to request a memory
cycle from the Arbiter every 320ns.
The DMA machine is able to support full duplex operation. Independent receive and transmit counters are used.
Transmit and receive cycles are alternated when simultaneous receive and transmit accesses are needed.
7.2.2
Arbiter Block
The Arbiter block sequences accesses to packet RAM requested by the BIU and by the DMA blocks. BIU
requests represent pipelined CPU accesses to the Data Register, while DMA requests represent
CSMA/CD data movement.
Internal SRAM read accesses are always 32 bit wide, and the Arbiter steers the appropriate byte(s) to the
appropriate lanes as a function of the address.
The CPU Data Path consists of two uni-directional FIFOs mapped at the Data Register location. These
FIFOs can be accessed in any combination of bytes, word, or doublewords. The Arbiter will indicate 'Not
Ready' whenever a cycle is initiated that cannot be satisfied by the present state of the FIFO.
Rev. 1.4 (12-12-03)
Page 20
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
7.3
MMU Block
The Hardware Memory Management Unit allocates memory and transmit and receive packet queues. It
also determines the value of the transmit and receive interrupts as a function of the queues. The page size
is 2048 bytes, with a maximum memory size of 8kbytes. MIR values are interpreted in 2048 byte units.
7.4
BIU Block
The Bus Interface Unit can handle synchronous as well as asynchronous buses; different signals are used
for each one. Transparent latches are added on the address path using rising nADS for latching.
When working with an asynchronous bus like ISA, the read and write operations are controlled by the
edges of nRD and nWR. ARDY is used for notifying the system that it should extend the access cycle. The
leading edge of ARDY is generated by the leading edge of nRD or nWR while the trailing edge of ARDY is
controlled by the internal LAN91C111 clock and, therefore, asynchronous to the bus.
In the synchronous VL Bus type mode, nCYCLE and LCLK are used to for read and write operations.
Completion of the cycle may be determined by using nSRDY. nSRDY is controlled by LCLK and
synchronous to the bus.
Direct 32 bit access to the Data Path is supported by using the nDATACS input. By asserting nDATACS,
external DMA type of devices will bypass the BIU address decoders and can sequentially access memory
with no CPU intervention. nDATACS accesses can be used in the EISA DMA burst mode (nVLBUS=1) or
in asynchronous cycles. These cycles MUST be 32 bit cycles. Please refer to the corresponding timing
diagrams for details on these cycles.
The BIU is implemented using the following principles:
7.5
a)
Address decoding is based on the values of A15-A4 and AEN.
b)
Address latching is performed by using transparent latches that are transparent when nADS=0 and
nRD=1, nWR=1 and latch on nADS rising edge.
c)
Byte, word and doubleword accesses to all registers and Data Path are supported except a
doubleword write to offset Ch will only write the BANK SELECT REGISTER (offset 0x0Fh).
d)
No bus byte swapping is implemented (no eight bit mode).
e)
Word swapping as a function of A1 is implemented for 16 bit bus support.
f)
The asynchronous interface uses nRD and nWR strobes. If necessary, ARDY is negated on the
leading edge of the strobe. The ARDY trailing edge is controlled by CLK.
g)
The VLBUS synchronous interface uses LCLK, nADS, and W/nR as defined in the VESA specification
as well as nCYCLE to control read and write operations and generate nSRDY.
h)
EISA burst DMA cycles to and from the DATA REGISTER are supported as defined in the EISA Slave
Mode "C" specification when nDATACS is driven by nDAK.
i)
Synchronous and asynchronous cycles can be mixed as long as they are not active simultaneously.
j)
Address and bank selection can be bypassed to generate 32 bit Data Path accesses by activating the
nDATACS pin.
MAC-PHY Interface
The LAN91C111 integrates the IEEE 802.3 Physical Layer (PHY) and Media Access Control (MAC) into
the same silicon. The data path connection between the MAC and the internal PHY is provided by the
internal MII. The LAN91C111 also supports the EXT_PHY mode for the use of an external PHY, such as
HPNA. This mode isolates the internal PHY to allow interface with an external PHY through the MII pins.
To enter this mode, set EXT PHY bit to 1 in the Configuration Register.
SMSC LAN91C111 Rev. B
Page 21
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
7.5.1
Management Data Software Implementation
The MII interface contains of a pair of signals that physically transport the management information across
the MII, a frame format and a protocol specification for exchanging management frames, and a register set
that can be read and written using these frames. MII management refers to the ability of a management
entity to communicate with PHY via the MII serial management interface (MI) for the purpose of displaying,
selecting and/or controlling different PHY options. The host manipulates the MAC to drive the MII
management serial interface. By manipulating the MAC's registers, MII management frames are
generated on the management interface for reading or writing information from the PHY registers. Timing
and framing for each management command is to be generated by the CPU (host).
The MAC and external PHY communicate via MDIO and MDC of the MII Management serial interface.
7.5.2
MDIO:
Management Data input/output. Bi-directional between MAC and PHY that carries management
data. All control and status information sent over this pin is driven and sampled synchronously
to the rising edge of MDC signal.
MDC:
Management Data Clock. Sourced by the MAC as a timing reference for transfer of information
on the MDIO signal. MDC is a periodic signal with no maximum high or low times. The
minimum high and low times should be 160ns each and the minimum period of the signal
should be 400ns. These values are regardless of the nominal period of the TX and RX clocks.
Management Data Timing
A timing diagram for a Ml serial port frame is shown in Figure 7.1. The Ml serial port is idle when at least
32 continuous 1's are detected on MDIO and remains idle as long as continuous 1's are detected. During
idle, MDIO is in the high impedance state. When the Ml serial port is in the idle state, a 01 pattern on the
MDIO initiates a serial shift cycle. Data on MDIO is then shifted in on the next 14 rising edges of MDC
(MDIO is high impedance). If the register access mode is not enabled, on the next 16 rising edges of
MDC, data is either shifted in or out on MDIO, depending on whether a write or read cycle was selected
with the bits READ and WRITE. After the 32 MDC cycles have been completed, one complete register
has been read/written, the serial shift process is halted, data is latched into the device, and MDIO goes
into high impedance state. Another serial shift cycle cannot be initiated until the idle condition (at least 32
continuous 1's) is detected.
7.5.3
MI Serial Port Frame Structure
The structure of the PHY serial port frame is shown in Table 9.1 and timing diagram of a frame is shown in
Figure 7.1. Each serial port access cycle consists of 32 bits (or 192 bits if multiple register access is
enabled and REGAD[4:0]=11111), exclusive of idle. The first 16 bits of the serial port cycle are always
write bits and are used for addressing. The last 16/176 bits are from one/all of the 11 data registers.
The first 2 bit in Table 9.1 and Figure 7.1 are start bits and need to be written as a 01 for the serial port
cycle to continue. The next 2 bits are a read and write bit which determine if the accessed data register
bits will be read or write. The next 5 bits are device addresses. The next 5 bits are register address select
bits, which select one of the five data registers for access. The next 1 bit is a turnaround bit which is not
an actual register bit but extra time to switch MDIO from write to read if necessary, as shown in Figure 7.1.
The final 16 bits of the PHY Ml serial port cycle (or 176 bits if multiple register access is enabled and
REGAD[4:0]=11111) come from the specific data register designated by the register address bits
REGAD[4:0].
Rev. 1.4 (12-12-03)
Page 22
DATASHEET
SMSC LAN91C111 Rev. B
SMSC LAN91C111 Rev. B
MDIO
MDC
MDIO
MDC
Page 23
DATASHEET
ST[1:0]
0
0
READ CYCLE
ST[1:0]
0
0
WRITE CYCLE
1
1
1
1
OP[1:0]
1
2
OP[1:0]
0
2
0
1
3
3
P4
P3
P2
6
PHYAD[4:0]
P2
6
PHYAD[4:0]
5
P3
5
P1
7
P1
7
P0
8
P0
8
R4
9
R4
9
R3
R2
11
12
R1
REGAD[4:0]
R2
11
R1
12
R0
13
1
15
0
TA[1:0]
14
D15
16
D14
17
D13
18
R0
13
TA[1:0]
Z
14
0
15
D15
16
D14
17
D13
18
WRITE
BITS
PHY CLOCKS IN DATA ON RISING EDGES OF MDC
REGAD[4:0]
10
R3
10
WRITE
BITS
PHY CLOCKS IN DATA ON RISING EDGES OF MDC
4
P4
4
D12
19
D12
19
D10
21
D10
21
D9
22
D9
22
DATA[15:0]
D8
23
24
D7
24
D7
DATA[15:0]
D8
23
D6
25
D6
25
D5
26
D5
26
READ BITS
PHY CLOCKS OUT DATA ON RISING EDGES OF MDC
D11
20
D11
20
D4
27
D4
27
D3
28
D3
28
D2
29
D2
29
D1
30
D1
30
D0
31
D0
31
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
Figure 7.1 - MI Serial Port Frame Timing Diagram
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
7.5.4
MII Packet Data Communication with External PHY
The MIl is a nibble wide packet data interface defined in IEEE 802.3. The LAN91C111 meets all the MIl
requirements outlined in IEEE 802.3 and shown in Figure 7.2.
TX_EN = 1
TX_EN = 0
IDLE
TX_EN = 0
START
PREAMBLE
OF
FRAME
DELIM.
PRMBLE
SFD
62 BT
2 BT
IDLE
DATA NIBBLES
DATA 1
DATA 2
DATA N-1
DATA N
PREAMBLE = [ 1 0 1 0 ... ] 62 BITS LONG
SFD = [ 1 1 ]
DATAn = [ BETWEEN 64-1518 DATA BYTES ]
IDLE = TX_EN = 0
FIRST BIT
MAC's SERIAL BIT STREAM
LSB
FIRST
NIBBLE
D0
D1
D2
D3
D4
D5
D6
D7
MSB
SECOND
NIBBLE
TXD0 / RXD0
MII
NIBBLE
STREAM
TXD1 / RXD1
TXD2 / RXD2
TXD3 / RXD3
Figure 7.2 - MII Frame Format & MII Nibble Order
The Mll consists of the following signals: four transmit data bits (TXD[3:0]), transmit clock (TX25),transmit
enable (TXEN100), four receive data bits(RXD[3:0]), receive clock(RX25), carrier sense (CRS100), receive
data valid (RX_DV), receive data error (RX_ER), and collision (COL100). Transmit data is clocked out using
the TX25 clock input, while receive data is clocked in using RX25. The transmit and receive clocks operate at
25 MHz in 100Mbps mode and 2.5 MHz in 10Mbps.
In 100 Mbps mode, the LAN91C111 provides the following interface signals to the PHY:
For transmission: TXEN100, TXD0-3, TX25
For reception: RX_DV, RX_ER, RXD0-3, RX25
For CSMA/CD state machines: CRS100, COL100
A transmission begins by TXEN100 going active (high), and TXD0-TXD3 having the first valid preamble
nibble. TXD0 carries the least significant bit of the nibble (that is the one that would go first out of the EPH
at 100 Mbps), while TXD3 carries the most significant bit of the nibble. TXEN100 and TXD0-TXD3 are
clocked by the LAN91C111 using TX25 rising edges. TXEN100 goes inactive at the end of the packet on
the last nibble of the CRC.
During a transmission, COL100 might become active to indicate a collision. COL100 is asynchronous to
the LAN91C111’s clocks and will be synchronized internally to TX25.
Reception begins when RX_DV (receive data valid) is asserted. A preamble pattern or flag octet will be present
at RXD0-RXD3 when RX_DV is activated. The LAN91C111 requires no training sequence beyond a full flag
octet for reception. RX_DV as well as RXD0-RXD3 are sampled on RX25 rising edges. RXD0 carries the least
Rev. 1.4 (12-12-03)
Page 24
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
significant bit and RXD3 the most significant bit of the nibble. RX_DV goes inactive when the last valid nibble of
the packet (CRC) is presented at RXD0-RXD3.
RX_ER might be asserted during packet reception to signal the LAN91C111 that the present receive packet is
invalid. The LAN91C111 will discard the packet by treating it as a CRC error.
RXD0-RXD3 should always be aligned to packet nibbles, therefore, opening flag detection does not consider
misaligned cases. Opening flag detection expects the 5Dh pattern and will not reject the packet on nonpreamble patterns.
CRS100 is used as a frame envelope signal for the CSMA/CD MAC state machines (deferral and backoff
functions), but it is not used for receive framing functions. CRS100 is an asynchronous signal and it will be
active whenever there is activity on the cable, including LAN91C111 transmissions and collisions.
7.6
Serial EEPROM Interface
This block is responsible for reading the serial EEPROM upon hardware reset (or equivalent command)
and defining defaults for some key registers. A write operation is also implemented by this block, that
under CPU command will program specific locations in the EEPROM. This block is an autonomous state
machine and controls the internal Data Bus of the LAN91C111 during active operation.
7.7
Internal Physical Layer
The LAN91C111 integrates the IEEE 802.3 physical layer (PHY) internally. The EXT PHY bit in the
Configuration Register is 0 as the default configuration to set the internal PHY enabled. The internal PHY
address is 00000, the driver must use this address to talk to the internal PHY. The internal PHY is placed
in isolation mode at power up and reset. It can be removed from isolation mode by clearing the MII_DIS
bit in the PHY Control Register. If necessary, the internal PHY can be enabled by clearing the EXT_PHY
bit in the Configuration Register.
The internal PHY of LAN91C111 has nine main sections: controller interface, encoder, decoder, scrambler,
descrambler, clock and data recovery, twisted pair transmitter, twisted pair receiver, and MI serial port.
The LAN91C111 can operate as a 100BASE-TX device (hereafter referred to as 100Mbps mode) or as a
10BASE-T device (hereafter referred to as 10Mbps mode). The difference between the 100Mbps mode
and the 10Mbps mode is data rate, signaling protocol, and allowed wiring. The 100Mbps TX mode uses
two pairs of category 5 or better UTP or STP twisted pair cable with 4B5B encoded, scrambled, and MLT-3
coded 62.5 MHz ternary data to achieve a throughput of 100Mbps. The 10Mbps mode uses two pairs of
category 3 or better UTP or STP twisted pair cable with Manchester encoded, 10MHz binary data to
achieve a 10Mbps throughput. The data symbol format on the twisted pair cable for the 100 and 10Mbps
modes are defined in IEEE 802.3 specifications and shown in Figure 7.3.
SMSC LAN91C111 Rev. B
Page 25
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
ETHERNET MAC
FRAME
INTERFRAME
GAP
SFD
PREAMBLE
DA
SA
LN
LLC DATA
INTERFRAME
GAP
FCS
100 BASE-TX DATA SYMBOLS
SSD
IDLE
SFD
PREAMBLE
IDLE
SSD
DA
SA
LN
= [ 1 1 1 1...]
= [ 1 1 0 0 0 1 0 0 0 1]
LLC DATA
FCS
ESD
IDLE
SOI
IDLE
BEFORE / AFTER
4B5B ENCODING,
SCRAMBLING,
AND MLT3
CODING
PREAMBLE = [ 1 0 1 0 ...] 62 BITS LONG
SFD = [ 1 1]
DA, SA, LN, LLC DATA, FCS = [ DATA]
ESD = [ 0 1 1 0 1 0 0 1 1 1]
10 BASE-T DATA SYMBOLS
SFD
PREAMBLE
IDLE
DA
SA
LN
IDLE
= [ NO TRANSITIONS]
PREAMBLE = [ 1 0 1 0 ... ] 62 BITS LONG
SFD = [ 1 1]
DA, SA, LN, LLC DATA, FCS
= [ DATA]
SOI = [ 1 1 ] WITH NO MID BIT TRANSITION
LLC DATA
FCS
BEFORE / AFTER
MANCHESTER
ENCODING
Figure 7.3 - TX/10BT Frame Format
On the transmit side for 100Mbps TX operation, data is received on the controller and then sent to the
4B5B encoder for formatting. The encoded data is then sent to the scrambler. The scrambled and
encoded data is then sent to the TP transmitter. The TP transmitter converts the encoded and scrambled
data into MLT-3 ternary format, reshapes the output, and drives the twisted pair cable.
On the receive side for 100Mbps TX operation, the twisted pair receiver receives incoming encoded and
scrambled MLT-3 data from the twisted pair cable, remove any high frequency noise, equalizes the input
signal to compensate for the effects of the cable, qualifies the data with a squelch algorithm, and converts
the data from MLT-3 coded twisted pair levels to internal digital levels. The output of the twisted pair
receiver then goes to a clock and data recovery block which recovers a clock from the incoming data, uses
the clock to latch in valid data into the device, and converts the data back to NRZ format. The NRZ data is
Rev. 1.4 (12-12-03)
Page 26
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
then unscrambled and decoded by the 4B5B decoder and descrambler, respectively, and outputted to the
Ethernet controller.
10Mbps operation is similar to the 100Mbps TX operation except, (1) there is no scrambler/descrambler,
(2) the encoder/decoder is Manchester instead of 4B5B, (3) the data rate is 10Mbps instead of 100Mbps,
and (4) the twisted pair symbol data is two level Manchester instead of ternary MLT-3.
The Management Interface, (hereafter referred to as the MI serial port), is a two pin bi-directional link
through which configuration inputs can be set and status outputs can be read. Each block plus the
operating modes are described in more detail in the following sections.
7.7.1
MII Disable
The internal PHY MII interface can be disabled by setting the MII disable bit in the MI serial port Control
register. When the MII is disabled, the MII inputs are ignored, the MII outputs are placed in high
impedance state, and the TP output is high impedance.
7.7.2
Encoder
4B5B Encoder - 100 Mbps
100BASE-TX requires that the data be 4B5B encoded. 4B5B coding converts the 4-Bit data nibbles into 5Bit date code words. The mapping of the 4B nibbles to the 5B code words is specified in IEEE 802.3. The
4B5B encoder on the LAN91C111 takes 4B nibbles from the controller interface, converts them into 5B
words and sends the 5B words to the scrambler. The 4B5B encoder also substitutes the first 8 bits of the
preamble with the SSD delimiters (a.k.a. /J/K/ symbols) and adds an ESD delimiter (a.k.a. MR/ symbols) to
the end of every packet, as defined in IEEE 802.3. The 4B5B encoder also fills the period between
packets, called the idle period, with the continuous stream of idle symbols.
Manchester Encoder - 10 Mbps
The Manchester encoding process combines clock and NRZ data such that the first half of the data bit
contains the complement of the data, and the second half of the data bit contains the true data, as
specified in IEEE 802.3. This guarantees that a transition always occurs in the middle of the bit call. The
Manchester encoder on the LAN91C111 converts the 10Mbps NRZ data from the controller interface into a
Manchester Encoded data stream for the TP transmitter and adds a start of idle pulse (SOI) at the end of
the packet as specified in IEEE 802.3. The Manchester encoding process is only done on actual packet
data, and the idle period between packets is not Manchester encoded and filled with link pulses.
7.7.3
Decoder
4B5B Decoder - 100 Mbps
Since the TP input data is 4B5B encoded on the transmit side, it must also be decoded by the 4B5B
decoder on the receive side. The mapping of the 5B nibbles to the 4B code words is specified in IEEE
802.3. The 4B5B decoder on the LAN91C111 takes the 5B code words from the descrambler, converts
them into 4B nibbles per Table 2, and sends the 4B nibbles to the controller interface. The 4B5B decoder
also strips off the SSD delimiter (a.k.a. /J/K/ symbols) and replaces them with two 4B Data 5 nibbles (a.k.a.
/5/ symbol), and strips off the ESD delimiter (a.k.a. /T/R/ symbols) and replaces it with two 4B Data 0
nibbles (a.k.a. /I/symbol), per IEEE 802.3 specifications and shown in Figure 7.3.
SMSC LAN91C111 Rev. B
Page 27
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
Table 7.1 - 4B/5B Symbol Mapping
SYMBOL NAME
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
I
J
K
T
R
H
---
DESCRIPTION
Data 0
Data 1
Data 2
Data 3
Data 4
Data 5
Data 6
Data 7
Data 8
Data 9
Data A
Data B
Data C
Data D
Data E
Data F
Idle
SSD #1
SSD #2
ESD #1
ESD #2
Halt
Invalid codes
5B CODE
11110
01001
10100
10101
01010
01011
01110
01111
10010
10011
10110
10111
11010
11011
11100
11101
11111
11000
10001
01101
00111
00100
All others*
4B CODE
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
0000
0101
0101
0000
0000
Undefined
0000*
* These 5B codes are not used. For decoder, these 5B codes are decoded to 4B 0000. For encoder, 4B
0000 is encoded to 5B 11110, as shown in symbol Data 0.
The 4B5B decoder detects SSD, ESD and codeword errors in the incoming data stream as specified in
IEEE 802.3. These errors are indicated by asserting RX_ER output while the errors are being transmitted
across RXD[3:0], and they are also indicated in the serial port by setting SSD, ESD, and codeword error
bits in the PHY MI serial port Status Output register.
Manchester Decoder - 10 Mbps
In Manchester coded data, the first half of the data bit contains the complement of the data, and the
second half of the data bit contains the true data. The Manchester decoder in the LAN91C111 converts
the Manchester encoded data stream from the TP receiver into NRZ data for the controller interface by
decoding the data and stripping off the SOI pulse. Since the clock and data recovery block has already
separated the clock and data from the TP receiver, the Manchester decoding process to NRZ data is
inherently performed by that block.
7.7.4
Clock and Data Recovery
Clock Recovery - 100 Mbps
Clock recovery is done with a PLL. If there is no valid data present on the TP inputs, the PLL is locked to
the 25 MHz TX25. When valid data is detected on the TP inputs with the squelch circuit and when the
adaptive equalizer has settled, the PLL input is switched to the incoming data on the TP input. The PLL
then recovers a clock by locking onto the transitions of the incoming signal from the twisted pair wire. The
Rev. 1.4 (12-12-03)
Page 28
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
recovered dock frequency is a 25 MHz nibble dock, and that clock is outputted on the controller interface
signal RX25.
Data Recovery - 100 Mbps
Data recovery is performed by latching in data from the TP receiver with the recovered clock extracted by
the PLL. The data is then converted from a single bit stream into nibble wide data word according to the
format shown in Figure 7.2.
Clock Recovery - 10 Mbps
The clock recovery process for 10Mbps mode is identical to the 100Mbps mode except, (1) the recovered
clock frequency is 2.5 MHz nibble clock, (2) the PLL is switched from TX25 to the TP input when the
squelch indicates valid data, (3) The PLL takes up to 12 transitions (bit times) to lock onto the preamble, so
some of the preamble data symbols are lost, but the dock recovery block recovers enough preamble
symbols to pass at least 6 nibbles of preamble to the receive controller interface as shown in Figure 7.2.
Data Recovery - 10 Mbps
The data recovery process for 10Mbps mode is identical to the 100Mbps mode. As mentioned in the
Manchester Decoder section, the data recovery process inherently performs decoding of Manchester
encoded data from the TP inputs.
7.7.5
Scrambler
100 Mbps
100BASE-TX requires scrambling to reduce the radiated emissions on the twisted pair. The LAN91C111
scrambler takes the encoded data from the 4B5B encoder, scrambles it per the IEEE 802.3 specifications,
and sends it to the TP transmitter.
10 Mbps
A scrambler is not used in 10Mbps mode.
Scrambler Bypass
The scrambler can be bypassed by setting the bypass scrambler/descrambler bit in the PHY Ml serial port
Configuration 1 register. When this bit is set, the 5B data bypasses the scrambler and goes directly from
the 4B5B encoder to the twisted pair transmitter.
7.7.6
Descrambler
100 Mbps
The LAN91C111 descrambler takes the scrambled data from the data recovery block, descrambles it per
the IEEE 802.3 specifications, aligns the data on the correct 5B word boundaries, and sends it to the 4B5B
decoder.
The algorithm for synchronization of the descrambler is the same as the algorithm outlined in the IEEE
802.3 specification. Once the descrambler is synchronized, it will maintain synchronization as long as
enough descrambled idle pattern 1's are detected within a given interval. To stay in synchronization, the
descrambler needs to detect at least 25 consecutive descrambled idle pattern 1's in a 1ms interval. If 25
SMSC LAN91C111 Rev. B
Page 29
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
consecutive descrambled idle pattern 1's are not detected within the 1ms interval, the descrambler goes
out of synchronization and restarts the synchronization process.
If the descrambler is in the unsynchronized state, the descrambler loss of synchronization detect bit is set
in the Ml serial port Status Output register to indicate this condition. Once this bit is set, it will stay set until
the descrambler achieves synchronization.
10 Mbps
A descrambler is not used in 10 Mbps mode.
Descrambler Bypass
The descrambler can be bypassed by setting the bypass scrambler/descrambler bit in the PHY MI serial
port Configuration 1 register. When this bit is set, the data bypasses the descrambler and goes directly
from the TP receiver to the 4B5B decoder.
7.7.7
Twisted Pair Transmitter
Transmitter - 100 Mbps
The TX transmitter consists of MLT-3 encoder, waveform generator and line driver.
The MLT-3 encoder converts the NRZ data from the scrambler into a three level MLT-3 code required by
IEEE 802.3. MLT-3 coding uses three levels and converts 1's to transitions between the three levels, and
converts 0's to no transitions or changes in level.
The purpose of the waveform generator is to shape the transmit output pulse. The waveform generator
takes the MLT-3 three level encoded waveform and uses an array of switched current sources to control
the rise/fall time and level of the signal at the Output. The output of the switched current sources then
goes through a low pass filter in order to "smooth" the current output and remove any high frequency
components. In this way, the waveform generator preshapes the output waveform transmitted onto the
twisted pair cable to meet the pulse template requirements outlined in IEEE 802.3. The waveform
generator eliminates the need for any external filters on the TP transmit output.
The line driver converts the shaped and smoothed waveform to a current output that can drive 100 meters
of category 5 unshielded twisted pair cable or 150 Ohm shielded twisted pair cable.
Transmitter - 10 Mbps
The transmitter operation in 10 Mbps mode is much different than the 100 Mbps transmitter. Even so, the
transmitter still consists of a waveform generator and line driver.
The purpose of the waveform generator is to shape the output transmit pulse. The waveform generator
consists of a ROM, DAC, dock generator, and filter. The DAC generates a stair-stepped representation of
the desired output waveform. The stairstepped DAC output then goes through a low pass filter in order to
"smooth' the DAC output and remove any high frequency components. The DAC values are determined
from the ROM outputs; the ROM contents are chosen to shape the pulse to the desired template and are
clocked into the DAC at high speed by the clock generator. In this way, the waveform generator
preshapes the output waveform to be transmitted onto the twisted pair cable to meet the pulse template
requirements outlined in IEEE 802.3 Clause 14 and also shown in Figure 7.4. The waveshaper replaces
and eliminates external filters on the TP transmit output.
The line driver converts the shaped and smoothed waveform to a current output that can drive 100 meters
of category 3/4/5 100 Ohm unshielded twisted pair cable or 150 Ohm shielded twisted pair cable tied
Rev. 1.4 (12-12-03)
Page 30
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
directly to the TP output pins without any external filters. During the idle period, no output signal is
transmitted on the TP outputs (except link pulse).
N
B
1.0
0.8
P
H
0.6
D
0.4
C
I
O
E
Voltage (V)
0.2
0.0
Q
A
M
F
R
J
-0.2
S
-0.4
U
LK
-0.6
W
V
-0.8
G
-1.0
0
10
20
30
40
50
60
70
80
90
100
T
10
TIME (ns)
Figure 7.4 - TP Output Voltage Template - 10 MBPS
REFERENCE
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
SMSC LAN91C111 Rev. B
TIME (NS)
INTERNAL
MAU
0
15
15
25
32
39
57
48
67
89
74
73
61
85
100
110
111
111
111
110
100
110
90
VOLTAGE
(V)
Page 31
DATASHEET
0
1.0
0.4
0.55
0.45
0
-1.0
0.7
0.6
0
-0.55
-0.55
0
1.0
0.4
0.75
0.15
0
-0.15
-1.0
-0.3
-0.7
-0.7
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
Transmit Level Adjust
The transmit output current level is derived from an internal reference voltage and the external resistor on
RBIAS pin. The transmit level can be adjusted with either (1) the external resistor on the RBIAS pin, or (2)
the four transmit level adjust bits in the PHY Ml serial port Configuration 1 register as shown in Table 7.2.
The adjustment range is approximately -14% to +16% in 2% steps.
Table 7.2 - Transmit Level Adjust
TLVL[3:0]
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
GAIN
1.16
1.14
1.12
1.10
1.08
1.06
1.04
1.02
1.00
0.98
0.96
0.94
0.92
0.90
0.88
0.86
Transmit Rise and Fall Time Adjust
The transmit output rise and fall time can be adjusted with the two transmit rise/fall time adjust bits in the
PHY Ml serial port Configuration 1. The adjustment range is -0.25ns to +0.5ns in 0.25ns steps.
STP (150 Ohm) Cable Mode
The transmitter can be configured to drive 150 Ohm shielded twisted pair cable. The STP mode can be
selected by appropriately setting the cable type select bit in the PHY MI serial port Configuration 1 register.
When STP mode is enabled, the output current is automatically adjusted to comply with IEEE 802.3 levels.
Transmit Disable
The TP transmitter can be disabled by setting the transmit disable bit in the PHY Ml serial port
Configuration 1 register. When the transmit disable bit is set, the TP transmitter is forced into the idle
state, no data is transmitted, no link pulses are transmitted, and internal loopback is disabled.
Transmit Powerdown
The TP transmitter can be powered down by setting the transmit powerdown bit in the PHY Ml serial port
Configuration 1 register. When the transmit powerdown bit is set, the TP transmitter is powered down, the
TP transmit outputs are high impedance, and the rest of the LAN91C111 operates normally.
Rev. 1.4 (12-12-03)
Page 32
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
7.7.8
Twisted Pair Receiver
Receiver - 100 Mbps
The TX receiver detects input signals from the twisted pair input and converts it to a digital data bit stream
ready for dock and data recovery. The receiver can reliably detect data from a 100BASE-TX transmitter
that has been passed through 0-100 meters of 100-Ohm category 5 UTP or 150 Ohm STP.
The TX receiver consists of an adaptive equalizer, baseline wander correction circuit, comparators, and
MLT-3 decoder. The TP inputs first go to an adaptive equalizer. The adaptive equalizer cornpensates for
the low pass characteristic of the cable, and it has the ability to adapt and compensate for 0-100 meters of
category 5, 100 Ohm UTP or 150 Ohm STP twisted pair cable. The baseline wander correction circuit
restores the DC component of the input waveform that was removed by external transformers. The
comparators convert the equalized signal back to digital levels and are used to qualify the data with the
squelch circuit. The MLT-3 decoder takes the three level MLT-3 digital data from the comparators and
converts it to back to normal digital data to be used for dock and data recovery.
Receiver - 10 Mbps
The 10 Mbps receiver is able to detect input signals from the twisted pair cable that are within the template
shown in Figure 7.5. The inputs are biased by internal resistors. The TP inputs pass through a low pass
filter designed to eliminate any high frequency noise on the input. The output of the receive filter goes to
two different types of comparators, squelch and zero crossing. The squelch comparator determines
whether the signal is valid, and the zero crossing comparator is used to sense the actual data transitions
once the signal is determined to be valid. The output of the squelch comparator goes to the squelch circuit
and is also used for link pulse detection, SOI detection, and reverse polarity detection; the output of the
zero crossing comparator is used for clock and data recovery in the Manchester decoder.
SMSC LAN91C111 Rev. B
Page 33
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
a. Short Bit
3.1V
Slope 0.5 V/ ns
585mV
585 mV sin (
*t/PW)
PW
0
b. Long Bit
3.1V
Slope 0.5 V/ ns
585mV
585 mV sin (2 * t/PW)
585 mV sin [2
3PW/4
PW/4
0
(t - PW/2)/PW]
PW
Figure 7.5 - TP Input Voltage Template -10MBPS
TP Squelch - 100 Mbps
The squelch block determines if the TP input contains valid data. The 100 Mbps TP squelch is one of the
criteria used to determine link integrity. The squelch comparators compare the TP inputs against fixed
positive and negative thresholds, called squelch levels. The output from the squelch comparator goes to a
digital squelch circuit which determines if the receive input data on that channel is valid. If the data is
invalid, the receiver is in the squelched state. If the input voltage exceeds the squelch levels at least 4
times with alternating polarity within a 10 µS interval, the data is considered to be valid by the squelch
circuit and the receiver now enters into the unquelch state. In the unsquelch state, the receive threshold
level is reduced by approximately 30% for noise immunity reasons and is called the unsquelch level.
When the receiver is in the unsquelch state, then the input signal is deemed to be valid. The device stays
in the unsquelch state until loss of data is detected. Loss of data is detected if no alternating polarity
unsquelch transitions are detected during any 10 µS interval. When the loss of data is detected, the
receive squelch is turned on again.
TP Squelch, 10 Mbps
The TP squelch algorithm for 10 Mbps mode is identical to the 100 Mbps mode except, (1) the 10 Mbps TP
squelch algorithm is not used for link integrity but to sense the beginning of a packet, (2) the receiver goes
into the unsquelch state if the input voltage exceeds the squelch levels for three bit times with alternating
polarity within a 50-250 nS interval, (3) the receiver goes into the squelch state when idle is detected, (4)
unsquelch detection has no affect on link integrity, link pulses are used for that in 10 Mbps mode, (5) start
of packet is determined when the receiver goes into the unsquelch state an a CRS100 is asserted, and (6)
the receiver meets the squelch requirements defined in IEEE 802.3 Clause 14.
Rev. 1.4 (12-12-03)
Page 34
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
Equalizer Disable
The adaptive equalizer can be disabled by setting the equalizer disable bit in the PHY Ml serial port
Configuration 1 register. When disabled, the equalizer is forced into the response it would normally have if
zero cable length was detected.
Receive Level Adjust
The receiver squelch and unsquelch levels can be lowered by 4.5 dB by setting the receive level adjust bit
in the PHY Ml serial port Configuration 1 register. By setting this bit, the device may be able to support
longer cable lengths.
7.7.9
Collision
100 Mbps
Collision occurs whenever transmit and receive occur simultaneously while the device is in Half Duplex.
Collision is sensed whenever there is simultaneous transmission (packet transmission on TPO±) and
reception (non-idle symbols detected on TP input). When collision is detected, the MAC is notified. Once
collision starts, the receive and transmit packets that caused the collision are terminated by their
respective MACs until the responsible MACs terminate the transmission, the PHY continues to pass the
data on.
The collision function is disabled if the device is in the Full Duplex mode, is in the Link Fail State, or if the
device is in the diagnostic loopback mode.
10 Mbps
Collision in 10Mbps mode is identical to the 100Mbps mode except, (1) reception is determined by the
10Mbps squelch criteria, (2) data being passed to the MAC are forced to all 0's, (3) MAC is notified of the
collision when the SQE test is performed, (4) MAC is notified of the collision when the jabber condition has
been detected.
Collision Test
The MAC and PHY collision indication can be tested by setting the collision test register bit in the PHY MI
serial port Control register. When this bit is set, internal TXEN from the MAC is looped back onto COL and
the TP outputs are disabled.
7.7.10 Start of Packet
100 Mbps
Start of packet for 100 Mbps mode is indicated by a unique Start of Stream Delimiter (referred to as SSD).
The SSD pattern consists of the two /J/K/ 5B symbols inserted at the beginning of the packet in place of
the first two preamble symbols, as defined in IEEE 802.3 Clause 24.
The transmit SSD is generated by the 4B5B encoder and the /J/K/ symbols are inserted by the 4B5B
encoder at the beginning of the transmit data packet in place of the first two 5B symbols of the preamble.
The receive pattern is detected by the 4B5B decoder by examining groups of 10 consecutive code bits
(two 5B words) from the descrambler. Between packets, the receiver will be detecting the idle pattern,
which is 5B /I/ symbols. While in the idle state, the MAC is notified that no data/invalid data is received.
SMSC LAN91C111 Rev. B
Page 35
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
If the receiver is in the idle state and 10 consecutive code bits from the receiver consist of the /J/K/
symbols, the start of packet is detected, data reception is begun, the MAC is notified that valid data is
received, and 5/5/ symbols are substituted in place of the /J/K/ symbols.
If the receiver is in the idle state and 10 consecutive code bits from the receiver consist of a pattern that is
neither /I/I/ nor /J/K/ symbols but contains at least 2 non contiguous 0's, then activity is detected but the
start of packet is considered to be faulty and a False Carrier Indication (also referred to as bad SSD) is
signaled to the controller interface. When False Carrier is detected, the MAC is notified of false carrier and
invalid received, and the bad SSD bit is set in the PHY Ml serial port Status Output register. Once a False
Carrier Event is detected, the idle pattern (two /I/I/ symbols) must be detected before any new SSD's can
be sensed.
If the receiver is in the idle state and 10 consecutive code bits from the receiver consist of a pattern that is
neither /l/l/ nor /J/K/ symbols but does not contain at least 2 non-contiguous 0's, the data is ignored and the
receiver stays in the idle state.
10 Mbps
Since the idle period in 10 Mbps mode is defined to be the period when no data is present on the TP
inputs, then the start of packet for 10 Mbps mode is detected when valid data is detected by the TP
squelch circuit. When start of packet is detected, carrier sense signal at internal MII is asserted as
described in the Controller Interface section. Refer to the TP squelch section for 10 Mbps mode for the
algorithm for valid data detection.
7.7.11 End of Packet
100 Mbps
End of packet for 100 Mbps mode is indicated by the End of Stream Delimiter (referred to as ESD). The
ESD pattern consists of the two /T/R/ 4B5B symbols inserted after the end of the packet, as defined in
IEEE 802.3 Clause 24.
The transmit ESD is generated by the 4B5B encoder and the /T/R/ symbols are inserted by the 4B5B
encoder after the end of the transmit data packet.
The receive ESD pattern is detected by the 4B5B decoder by examining groups of 10 consecutive code
bits (two 5B words) from the descrambler during valid packet reception to determine if there is an ESD.
If the 10 consecutive code bits from the receiver during valid packet reception consist of the /T/R/ symbols,
the end of packet is detected, data reception is terminated, the MAC is notified of valid data received, and
/I/I/ symbols are substituted in place of the /T/R/ symbols.
If 10 consecutive code bits from the receiver during valid packet reception do not consist of /T/R/ symbols
but consist of /I/I/ symbols instead, then the packet is considered to have been terminated prematurely and
abnormally. When this premature end of packet condition is detected, the MAC is notified of invalid data
received for the nibble associated with the first /I/ symbol. Premature end of packet condition is also
indicated by setting the bad ESD bit in the PHY Ml serial port Status Output register.
10 Mbps
The end of packet for 10 Mbps mode is indicated with the SOI (Start of Idle) pulse. The SOI pulse is a
positive pulse containing a Manchester code violation inserted at the end of every packet.
The transmit SOI pulse is generated by the TP transmitter and inserted at the end of the data packet after
TXEN is deasserted. The transmitted SOI output pulse at the TP output is shaped by the transmit
Rev. 1.4 (12-12-03)
Page 36
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
waveshaper to meet the pulse template requirements specified in IEEE 802.3 Clause 14 and shown in
Figure 7.6.
The receive SOI pulse is detected by the TP receiver by sensing missing data transitions. Once the SOI
pulse is detected, data reception is ended and the MAC is notified of no data/invalid data received.
0 BT
4.5 BT
3.1 V
0.5 V/ns
0.25 BT
2.25 BT
585 mV
6.0 BT
+50 mV
-50 mV
45.0 BT
585 mV sin(2 * * (t/1BT))
0 t 0.25 BT and
2.25 t 2.5 BT
-3.1 V
2.5 BT
4.5 BT
Figure 7.6 - SOI Output Voltage Template - 10MBPS
7.7.12 Link Integrity & Autonegotiation
General
The LAN91C111 can be configured to implement either the standard link integrity algorithms or the
AutoNegotiation algorithm.
The standard link integrity algorithms are used solely to establish an active link to and from a remote
device. There are different standard link integrity algorithms for 10 and 100 Mbps modes. The
AutoNegotiation algorithm is used for two purposes: (1) To automatically configure the device for either
10/100 Mbps and Half/Full Duplex modes, and (2) to establish an active link to and from a remote device.
The standard link integrity and AutoNegotiation algorithms are described below.
AutoNegotiation is only specified for 100BASE-TX and 10BASE-T operation.
10BASE-T Link Integrity Algorithm - 10Mbps
The LAN91C111 uses the same 10BASE-T link integrity algorithm that is defined in IEEE 802.3 Clause 14.
This algorithm uses normal link pulses, referred to as NLP's and transmitted during idle periods, to
determine if a device has successfully established a link with a remote device (called Link Pass State).
SMSC LAN91C111 Rev. B
Page 37
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
The transmit link pulse meets the template defined in IEEE 802.3 Clause 14 and shown in Figure 7.7.
Refer to IEEE 802.3 Clause 14 for more details if needed.
1.3
BT
0
BT
3.1 V
0.5 V/ns
585 mV
0.5
BT 0.6
BT
2.0
BT
300 mV
4.0
BT
+50 mV
+50 mV
-50 mV
0.25
BT
200 mV
-50 mV
4.0
BT
42.0
BT
-3.1 V
0.85
BT
2.0
BT
Figure 7.7 - Link Pulse Output Voltage Template - NLP, FLP
100BASE-TX Link Integrity Algorithm -100Mbps
Since 100BASE-TX is defined to have an active idle signal, then there is no need to have separate link
pulses like those defined for 10BASE-T. The LAN91C111 uses the squelch criteria and descrambler
synchronization algorithm on the input data to determine if the device has successfully established a link
with a remote device (called Link Pass State). Refer to IEEE 802.3 for both of these algorithms for more
details.
AutoNegotiation Algorithm
As stated previously, the AutoNegotiation algorithm is used for two purposes: (1) To automatically configure the device for either 10/100 Mbps and Half/ Full Duplex modes, and (2) to establish an active link to
and from a remote device. The AutoNegotiation algorithm is the same algorithm that is defined in IEEE
802.3 Clause 28. AutoNegotiation uses a burst of link pulses, called fast link pulses and referred to as
FLP'S, to pass up to 16 bits of signaling data back and forth between the LAN91C111 and a remote
device. The transmit FLP pulses meet the templated specified in IEEE 802.3 and shown in Figure 7.7. A
timing diagram contrasting NLP's and FLP's is shown in Figure 7.8.
Rev. 1.4 (12-12-03)
Page 38
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
a.) Normal Link Pulse (NLP)
TPO±
b.) Fast Link Pulse (FLP)
TPO±
D0
Clock
D1
Clock
Data
D2
Clock
Data
D3
Clock
Data
D14
Clock
Data
D15
Clock
Data
Clock
Data
Figure 7.8 - NLP VS. FLP Link Pulse
The AutoNegotiation algorithm is initiated by any of these events: (1) AutoNegotiation enabled, (2) a device
enters the Link Fail State, (3) AutoNegotiation Reset. Once a negotiation has been initiated, the
LAN91C111 first determines if the remote device has AutoNegotiation capability. If the remote device is
not AutoNegotiation capable and is just transmitting either a 10BASE-T or 100BASE-TX signal, the
LAN91C111 will sense that and place itself in the correct mode. If the LAN91C111 detects FLP's from the
remote device, then the remote device is determined to have AutoNegotiation capability and the device
then uses the contents of the Ml serial port AutoNegotiation Advertisement register and FLP's to advertise
its capabilities to a remote device. The remote device does the same, and the capabilities read back from
the remote device are stored in the PHY Ml serial port AutoNegotiation Remote End Capability register.
The LAN91C111 negotiation algorithm then matches it's capabilities to the remote device's capabilities and
determines what mode the device should be configured to according to the priority resolution algorithm
defined in IEEE 802.3 Clause 28. Once the negotiation process is completed, the LAN91C111 then
configures itself for either 10 or 100 Mbps mode and either Full or Half Duplex modes (depending on the
outcome of the negotiation process), and it switches to either the 100BASETX or 10BASE-T link integrity
algorithms (depending on which mode was enabled by AutoNegotiation). Refer to IEEE 802.3 Clause 28
for more details.
AutoNegotiation Outcome Indication
The outcome or result of the AutoNegotiation process is stored in the speed detect and duplex detect bits
in the PHY MI serial port Status Output register.
AutoNegotiation Status
The status of the AutoNegotiation process can be monitored by reading the AutoNegotiation
acknowledgement bit in the Ml serial port Status register. The Ml serial port Status register contains a
single AutoNegotiation acknowledgement bit which indicates when an AutoNegotiation has been initiated
and successfully completed.
AutoNegotiation Enable
The AutoNegotiation algorithm can be enabled by setting both the ANEG bit in the MAC Receive/PHY
Control Register and the ANEG_EN bit in the MI PHY Register 0 (Control register). Clearing either of
these two bits will turn off AutoNegotiation mode. When the AutoNegotiation algorithm is enabled, the
SMSC LAN91C111 Rev. B
Page 39
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
device halts all transmissions including link pulses for 1200-1500 ms, enters the Link Fail State, and
restarts the negotiation process. When AutoNegotiation mode is turned on or reset, software driver should
wait for at least 1500ms to read the ANEG_ACK bit in the MI PHY Status Register to determine whether
the AutoNegotiation process has been completed. When the ANEG bit in the Receive/PHY Control
Register is cleared, AutoNegotiation algorithm is disabled, the selection of 10/100 Mbps mode and duplex
mode is determined by the SPEED bit and the DPLX bit in the MAC Receive/PHY Control register. When
the ANEG bit in the Receive/PHY Control Register is set and the ANEG_EN bit in the MI PHY Register 0
(Control Register) is cleared, AutoNegotiation algorithm is disabled, the selection of 10/100 Mbps mode
and duplex mode is determined by the SPEED bit and the DPLX bit in the MI PHY Register 0 (Control
Register).
AutoNegotiation Reset
The AutoNegotiation algorithm can be initiated at any time by setting the AutoNegotiation reset bit in the
PHY MI serial port Control register.
Link Disable
The link integrity function can be disabled by setting the link disable bit in the PHY Ml serial port
Configuration 1 register. When the link integrity function is disabled, the device is forced into the Link Pass
state, configures itself for Half/Full Duplex based on the value of the duplex bit in the PHY MI serial port
Control register, configures itself for 100/10 Mbps operation based on the values of the speed bit in the Ml
serial port Control register, and continues to transmit NLP'S or TX idle patterns, depending on whether the
device is in 10 or 100 Mbps mode.
7.7.13 Jabber
100 Mbps
Jabber function is disabled in the 100 Mbps mode.
10 Mbps
Jabber condition occurs when the transmit packet exceeds a predetermined length. When jabber is
detected, the TP transmit outputs are forced to the idle state, collision is asserted, and register bits in the
PHY Ml serial port Status and Status Output registers are set.
Jabber Disable
The jabber function can be disabled by setting the jabber disable bit in the PHY MI serial port Configuration
2 register.
7.7.14 Receive Polarity Correction
100 Mbps
No polarity detection or correction is needed in 100Mbps mode.
10 Mbps
The polarity of the signal on the TP receive input is continuously monitored. If either 3 consecutive link
pulses or one SOI pulse indicates incorrect polarity on the TP receive input, the polarity is internally
determined to be incorrect, and a reverse polarity bit is set in the PHY Ml serial port Status Output register.
Rev. 1.4 (12-12-03)
Page 40
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
The LAN91C111 will automatically correct for the reverse polarity condition provided that the autopolarity
feature is not disabled.
Autopolarity Disable
The autopolarity feature can be disabled by setting the autopolarity disable bit in the PHY MI serial port
Configuration 2 register.
7.7.15 Full Duplex Mode
100 Mbps
Full Duplex mode allows transmission and reception to occur simultaneously. When Full Duplex mode is
enabled, collision is disabled.
The device can be either forced into Half or Full Duplex mode, or the device can detect either Half or Full
Duplex capability from a remote device and automatically place itself in the correct mode.
The device can be forced into the Full or Half Duplex modes by either setting the duplex bit in the MI serial
port Control register.
The device can automatically configure itself for Full or Half Duplex modes by using the AutoNegotiation
algorithm to advertise and detect Full and Half Duplex capabilities to and from a remote terminal. All of
this is described in detail in the Link Integrity and AutoNegotiation section.
10 Mbps
Full Duplex in 10 Mbps mode is identical to the 100 Mbps mode.
100/10 Mbps SELECTION
General
The device can be forced into either the 100 or 10 Mbps mode, or the device also can detect 100 or 10
Mbps capability from a remote device and automatically place itself in the correct mode.
The device can be forced into either the 100 or 10 Mbps mode by setting the speed select bit in the PHY
MI serial port Control register assuming AutoNegotiation is not enabled.
The device can automatically configure itself for 100 or 10 Mbps mode by using the AutoNegotiation
algorithm to advertise and detect 100 and 10 Mbps capabilities to and from a remote terminal. All of this is
described in detail in the Link Integrity & AutoNegotiation section.
7.7.16 Loopback
Diagnostic Loopback
A diagnostic loopback mode can also be selected by setting the loopback bit in the MI serial port Control
register. When diagnostic loopback is enabled, transmit data at internal MII is looped back onto receive
data output at internal MII, transmit enable signal is looped back onto carrier sense output at internal MII,
the TP receive and transmit paths are disabled, the transmit link pulses are halted, and the Half/Full
Duplex modes do not change.
SMSC LAN91C111 Rev. B
Page 41
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
7.7.17 PHY Powerdown
The internal PHY of LAN91C111 can be powered down by setting the powerdown bit in the PHY Ml serial
port Control register. In powerdown mode, the TP outputs are in high impedance state, all functions are
disabled except the PHY Ml serial port, and the power consumption is reduced to a minimum. The device
is guaranteed to be ready for normal operation 500mS after powerdown is deasserted.
7.7.18 PHY Interrupt
The LAN91C111 PHY has interrupt capability. The interrupt is triggered by certain output status bits (also
referred to as interrupt bits) in the serial port. R/LT bits are read bits that latch on transition. R/LT bits are
also interrupt bits if they are not masked out with the Mask register bits. Interrupt bits automatically latch
themselves into their register locations and assert the interrupt indication when they change state.
Interrupt bits stay latched until they are read. When interrupt bits are read, the interrupt indication is
deasserted and the interrupt bits that caused the interrupt to happen are updated to their current value.
Each interrupt bit can be individually masked and subsequently be removed as an interrupt bit by setting
the appropriate mask register bits in the Mask register.
lnterrupt indication is done in two ways: (1) MDINT bit in Interrupt Status Register, (2) INT bit in the PHY Ml
Serial Port Status Output register. The INT bit is an active high interrupt register bit that resides in the
PHY MI Serial Port Status Output register.
7.8
Reset
The chip (MAC & PHY) performs an internal system reset when either (1) the RESET pin is asserted high
for at least 100ns, (2) writing “1” to the SOFT_RST bit in the Receive Control Register, this reset bit is not
a self-clearing bit, reset can be terminated by writing the bit low. It programs all registers to their default
value. When reset is initiated by (1) and the EEPROM is presented and enabled, the controller will load the
EEPROM to obtain the following configurations: 1) Configuration Register, 2) BASE Register, or/and 3)
MAC Address. The internal MAC is not a power on reset device, thus reset is required after power up to
ensure all register bits are in default state.
The internal PHY is reset when either (1) VDD is applied to the device, (2) the RST bit is set in the PHY Ml
serial port Control register, this reset bit is a self-clearing bit, and the PHY will return a “1” on reads to this
bit until the reset is completed, 3) the RESET pin is asserted high, (4) the SOFT_RST bit is set high and
then cleared. When reset is initiated by (1) or (2), an internal power-on reset pulse is generated which
resets all internal circuits, forces the PHY Ml serial port bits to their default values, and latches in new
values for the MI address. After the power-on reset pulse has finished, the reset bit in the PHY Ml serial
port Control registers cleared and the device is ready for normal operation. When reset is initiated by (3),
the same procedure occurs except the device stays in the reset state as long as the RESET pin is held
high. The internal PHY is guaranteed to be ready for normal operation 50 mS after the reset pin was deasserted or the reset bit is set. Software driver requires to wait for 50mS after setting the RST bit to high to
access the internal PHY again.
Rev. 1.4 (12-12-03)
Page 42
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
Chapter 8
8.1
MAC Data Structures and Registers
Frame Format In Buffer Memory
The frame format in memory is similar for the Transmit and Receive areas. The first word is reserved for
the status word. The next word is used to specify the total number of bytes, and it is followed by the data
area. The data area holds the frame itself.
RAM
OFFSET
(DECIMAL)
bit0
bit15
2nd Byte
1st Byte
0
2
STATUS WORD
BYTE COUNT (always even)
RESERVED
4
DATA AREA
2046 Max
CONTROL BYTE
LAST DATA BYTE (if odd)
Last Byte
Figure 8.1 - Data Frame Format
TRANSMIT PACKET
STATUS WORD
Written by CPU
Written by CSMA upon receive
completion (see RX Frame
Status Word)
Written by CSMA
DATA AREA
Written/modified by CPU
Written by CSMA
CONTROL BYTE
Written by CPU to control
odd/even data bytes
Written by CSMA; also has
odd/even bit
BYTE COUNT
SMSC LAN91C111 Rev. B
Written by CSMA upon transmit
completion (see Status Register)
RECEIVE PACKET
Page 43
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
BYTE COUNT - Divided by two, it defines the total number of words including the STATUS WORD, the
BYTE COUNT WORD, the DATA AREA and the CONTROL BYTE. The maximum number of bytes in a
RAM page is 2048 bytes.
The receive byte count always appears as even; the ODDFRM bit of the receive status word indicates if the low
byte of the last word is relevant.
The transmit byte count least significant bit will be assumed 0 by the controller regardless of the value written in
memory.
DATA AREA - The data area starts at offset 4 of the packet structure and can extend up to 2043 bytes.
The data area contains six bytes of DESTINATION ADDRESS followed by six bytes of SOURCE ADDRESS,
followed by a variable-length number of bytes. On transmit, all bytes are provided by the CPU, including the
source address. The LAN91C111 does not insert its own source address. On receive, all bytes are provided by
the CSMA side.
The 802.3 Frame Length word (Frame Type in Ethernet) is not interpreted by the LAN91C111. It is treated
transparently as data both for transmit and receive operations.
CONTROL BYTE - For transmit packets the CONTROL BYTE is written by the CPU as:
X
X
ODD
CRC
0
0
0
0
ODD - If set, indicates an odd number of bytes, with the last byte being right before the CONTROL BYTE.
If clear, the number of data bytes is even and the byte before the CONTROL BYTE is not transmitted.
CRC - When set, CRC will be appended to the frame. This bit has only meaning if the NOCRC bit in the
TCR is set.
For receive packets the CONTROL BYTE is written by the controller as:
0
1
ODD
0
0
0
0
0
ODD - If set, indicates an odd number of bytes, with the last byte being right before the CONTROL BYTE.
If clear, the number of data bytes is even and the byte before the CONTROL BYTE should be ignored.
8.2
Receive Frame Status
This word is written at the beginning of each receive frame in memory. It is not available as a register.
HIGH
BYTE
ALGN
ERR
BROD
CAST
BAD
CRC
LOW
BYTE
ODD
FRM
TOOLNG
TOO
SHORT
MULT
CAST
HASH VALUE
Reserved
5
4
3
2
1
0
ALGNERR - Frame had alignment error.
Rev. 1.4 (12-12-03)
Page 44
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
BROADCAST - Receive frame was broadcast. When a broadcast packet is received, the MULTCAST bit
may be also set on the status word in addition to the BRODCAST bit. The software implement may just
ignore the MULTCAST bit if for BRODCAST packet.
BADCRC - Frame had CRC error, or RX_ER was asserted during reception.
ODDFRM - This bit when set indicates that the received frame had an odd number of bytes.
TOOLNG - Frame length was longer than 802.3 maximum size (1518 bytes on the cable).
TOOSHORT - Frame length was shorter than 802.3 minimum size (64 bytes on the cable).
HASH VALUE - Provides the hash value used to index the Multicast Registers. Can be used by receive
routines to speed up the group address search. The hash value consists of the six most significant bits of
the CRC calculated on the Destination Address, and maps into the 64 bit multicast table. Bits 5,4,3 of the
hash value select a byte of the multicast table, while bits 2,1,0 determine the bit within the byte selected.
Examples of the address mapping:
ADDRESS
ED 00 00 00 00 00
0D 00 00 00 00 00
01 00 00 00 00 00
2F 00 00 00 00 00
HASH VALUE 5-0
000 000
010 000
100 111
111 111
MULTICAST TABLE BIT
MT-0 bit 0
MT-2 bit 0
MT-4 bit 7
MT-7 bit 7
MULTCAST - Receive frame was multicast. If hash value corresponds to a multicast table bit that is set,
and the address was a multicast, the packet will pass address filtering regardless of other filtering criteria.
8.3
I/O Space
The base I/O space is determined by the IOS0-IOS2 inputs and the EEPROM contents. To limit the I/O
space requirements to 16 locations, the registers are assigned to different banks. The last word of the I/O
area is shared by all banks and can be used to change the bank in use. Registers are described using the
following convention:
OFFSET
HIGH
BYTE
LOW
BYTE
NAME
TYPE
SYMBOL
bit 15
bit 14
bit 13
bit 12
bit 11
bit 10
bit 9
bit 8
X
X
X
X
X
X
X
X
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
X
X
X
X
X
X
X
X
OFFSET - Defines the address offset within the IOBASE where the register can be accessed at, provided
the bank select has the appropriate value.
The offset specifies the address of the even byte (bits 0-7) or the address of the complete word.
The odd byte can be accessed using address (offset + 1).
Some registers (like the Interrupt Ack., or like Interrupt Mask) are functionally described as two eight bit
registers, in that case the offset of each one is independently specified.
Regardless of the functional description, all registers can be accessed as doublewords, words or bytes.
The default bit values upon hard reset are highlighted below each register.
SMSC LAN91C111 Rev. B
Page 45
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
Table 8.1 - Internal I/O Space Mapping
0
2
4
6
8
A
C
E
BANK0
TCR
EPH STATUS
RCR
COUNTER
MIR
RPCR
RESERVED
BANK
BANK1
CONFIG
BASE
IA0-1
IA2-3
IA4-5
GENERAL
CONTROL
BANK
BANK2
MMU COMMAND
PNR
FIFO PORTS
POINTER
DATA
DATA
INTERRUPT
BANK
BANK3
MT0-1
MT2-3
MT4-5
MT6-7
MGMT
REVISION
ERCV
BANK
A special BANK (BANK7) exists to support the addition of external registers.
8.4
Bank Select Register
OFFSET
E
HIGH
BYTE
NAME
BANK SELECT
REGISTER
TYPE
READ/WRITE
SYMBOL
BSR
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
0
0
1
1
0
0
1
1
BS2
BS1
BS0
0
0
0
LOW
BYTE
X
X
X
X
X
BS2, BS1, BS0 Determine the bank presently in use. This register is always accessible and is used to
select the register bank in use.
The upper byte always reads as 33h and can be used to help determine the I/O location of the
LAN91C111.
The BANK SELECT REGISTER is always accessible regardless of the value of BS0-2
Note:
The bank select register can be accessed as a doubleword at offset 0x0Ch, as a word at offset 0x0Eh, or
as a byte at offset 0x0Eh, A doubleword write to offset 0x0Ch will write the BANK SELECT REGISTER but
will not write the registers 0x0Ch and 0x0Dh, but will only write to register 0x0Eh
BANK 7 has no internal registers other than the BANK SELECT REGISTER itself. On valid cycles where
BANK7 is selected (BS0=BS1=BS2=1), and A3=0, nCSOUT is activated to facilitate implementation of
external registers.
Note:
BANK7 does not exist in LAN91C9x devices. For backward S/W compatibility BANK7 accesses should be
done if the Revision Control register indicates the device is the LAN91C111.
Bank 7 is a new register Bank to the SMSC LAN91C111 device. This bank has extended registers that
allow the extended feature set of the SMSC LAN91C111.
Rev. 1.4 (12-12-03)
Page 46
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
8.5
Bank 0 - Transmit Control Register
OFFSET
0
NAME
TRANSMIT CONTROL
REGISTER
TYPE
READ/WRITE
SYMBOL
TCR
This register holds bits programmed by the CPU to control some of the protocol transmit options.
HIGH
BYTE
LOW
BYTE
0
EPH
LOOP
0
STP
SQET
0
PAD_EN
Reserved
Reserved
0
0
0
SWFDUP
Reserved
0
0
MON_
CSN
0
Reserved
Reserved
FORCOL
LOOP
TXENA
0
0
0
0
0
FDUPLX
Reserved
NOCRC
0
0
SWFDUP - Enables Switched Full Duplex mode. In this mode, transmit state machine is inhibited from
recognizing carrier sense, so deferrals will not occur. Also inhibits collision count, therefore, the collision
related status bits in the EPHSR are not valid (CTR_ROL, LATCOL, SQET, 16COL, MUL COL, and
SNGL COL). Uses COL100 as flow control, limiting backoff and jam to 1 clock each before inter-frame
gap, then retry will occur after IFG. If COL100 is active during preamble, full preamble will be output
before jam. When SWFDUP is high, the values of FDUPLX and MON_CSN have no effect.
EPH_LOOP - Internal loopback at the EPH block. Serial data is internally looped back when set. Defaults
low. When EPH_LOOP is high the following transmit outputs are forced inactive: TXD0-TXD3 = 0h,
TXEN100 = 0. The following and external inputs are blocked: CRS100=0, COL100=0, RX_DV= RX_ER=0.
STP_SQET - STP_SQET - Stop transmission on SQET error. If this bit is set, LAN91C111 will stop and
disable the transmitter on SQE test error. If the external SQET generator on the network generates the
SQET pulse during the IPG (Inter Frame Gap), this bit will not be set and subsequent transmits will occur
as in the case of implementing “Auto Release” for multiple transmit packets. If this bit is cleared, then the
SQET bit in the EPH Status register will be cleared. Defaults low.
FDUPLX - When set the LAN91C111 will cause frames to be received if they pass the address filter
regardless of the source for the frame. When clear the node will not receive a frame sourced by itself. This
bit does not control the duplex mode operation, the duplex mode operation is controlled by the SWFDUP
bit.
MON_CSN - When set the LAN91C111 monitors carrier while transmitting. It must see its own carrier by
the end of the preamble. If it is not seen, or if carrier is lost during transmission, the transmitter aborts the
frame without CRC and turns itself off and sets the LOST CARR bit in the EPHSR. When this bit is clear
the transmitter ignores its own carrier. Defaults low. Should be 0 for MII operation.
NOCRC - Does not append CRC to transmitted frames when set. Allows software to insert the desired
CRC. Defaults to zero, namely CRC inserted.
PAD_EN - When set, the LAN91C111 will pad transmit frames shorter than 64 bytes with 00. For TX, CPU
should write the actual BYTE COUNT before padded by the LAN91C111 to the buffer RAM, excludes the
padded 00. When this bit is cleared, the LAN91C111 does not pad frames.
FORCOL - When set, the FORCOL bit will force a collision by not deferring deliberately. This bit is set and
cleared only by the CPU. When TXENA is enabled with no packets in the queue and while the FORCOL
bit is set, the LAN91C111 will transmit a preamble pattern the next time a carrier is seen on the line. If a
packet is queued, a preamble and SFD will be transmitted. This bit defaults low to normal operation.
NOTE: The LATCOL bit in the EPHSR, setting up as a result of FORCOL, will reset TXENA to 0. In order
to force another collision, TXENA must be set to 1 again.
LOOP - Loopback. General purpose output port used to control the LBK pin. Typically used to put the PHY
chip in loopback mode.
SMSC LAN91C111 Rev. B
Page 47
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
TXENA - Transmit enabled when set. Transmit is disabled if clear. When the bit is cleared the LAN91C111
will complete the current transmission before stopping. When stopping due to an error, this bit is
automatically cleared.
8.6
Bank 0 - EPH Status Register
OFFSET
2
NAME
EPH STATUS REGISTER
TYPE
READ ONLY
SYMBOL
EPHSR
This register stores the status of the last transmitted frame. This register value, upon individual transmit
packet completion, is stored as the first word in the memory area allocated to the packet. Packet interrupt
processing should use the copy in memory as the register itself will be updated by subsequent packet
transmissions. The register can be used for real time values (like TXENA and LINK OK). If TXENA is
cleared the register holds the last packet completion status.
HIGH
BYTE
TX UNRN
LOW
BYTE
0
TX
DEFR
0
LINK_
OK
-nLNK pin
LTX
BRD
0
0
CTR
_ROL
0
SQET
16COL
0
0
Reserved
EXC
_DEF
0
LTX
MULT
0
LOST
CARR
0
MUL
COL
0
LATCOL
Reserved
0
SNGL
COL
0
0
TX_SUC
0
TXUNRN - Transmit Under Run. Set if under run occurs, it also clears TXENA bit in TCR. Cleared by
setting TXENA high. This bit may only be set if early TX is being used.
LINK_OK - General purpose input port driven by nLNK pin inverted. Typically used for Link Test. A
transition on the value of this bit generates an interrupt.
CTR_ROL - Counter Roll Over. When set one or more 4 bit counters have reached maximum count (15).
Cleared by reading the ECR register.
EXC_DEF - Excessive Deferral. When set last/current transmit was deferred for more than 1518 * 2 byte
times. Cleared at the end of every packet sent.
LOST_CARR - Lost Carrier Sense. When set indicates that Carrier Sense was not present at end of
preamble. Valid only if MON_CSN is enabled. This condition causes TXENA bit in TCR to be reset.
Cleared by setting TXENA bit in TCR.
LATCOL - Late collision detected on last transmit frame. If set a late collision was detected (later than 64
byte times into the frame). When detected the transmitter jams and turns itself off clearing the TXENA bit in
TCR. Cleared by setting TXENA in TCR.
TX_DEFR - Transmit Deferred. When set, carrier was detected during the first 6.4 µs of the inter frame
gap. Cleared at the end of every packet sent.
LTX_BRD - Last transmit frame was a broadcast. Set if frame was broadcast. Cleared at the start of every
transmit frame.
SQET - Signal Quality Error Test. This bit is set under the following conditions:
1.
2.
3.
Rev. 1.4 (12-12-03)
LAN91C111 is set to operate in Half Duplex mode (SWFDUP=0);
When STP_SQET=1 and SWFDUP=0, SQET bit will be set upon completion of a transmit operation and
no SQET Pulse has occurred during the IPG (Inter Frame Gap). If a pulse has occurred during the IPG,
SQET bit will not get set.
Once SQET bit is set, setting the TXENA bit in TCR register, or via hardware /software reset can clear this
bit.
Page 48
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
16COL - 16 collisions reached. Set when 16 collisions are detected for a transmit frame. TXENA bit in TCR
is reset. Cleared when TXENA is set high.
LTX_MULT - Last transmit frame was a multicast. Set if frame was a multicast. Cleared at the start of
every transmit frame.
MULCOL - Multiple collision detected for the last transmit frame. Set when more than one collision was
experienced. Cleared when TX_SUC is high at the end of the packet being sent.
SNGLCOL - Single collision detected for the last transmit frame. Set when a collision is detected. Cleared
when TX_SUC is high at the end of the packet being sent.
TX_SUC - Last transmit was successful. Set if transmit completes without a fatal error. This bit is cleared
by the start of a new frame transmission or when TXENA is set high. Fatal errors are:
16 collisions (1/2 duplex mode only)
SQET fail and STP_SQET = 1 (1/2 duplex mode only)
FIFO Underrun
Carrier lost and MON_CSN = 1 (1/2 duplex mode only)
Late collision (1/2 duplex mode only)
8.7
Bank 0 - Receive Control Register
OFFSET
4
HIGH
BYTE
LOW
BYTE
NAME
RECEIVE CONTROL REGISTER
TYPE
READ/WRITE
SYMBOL
RCR
SOFT
RST
0
FILT
CAR
0
ABORT_E
NB
Reserved
Reserved
Reserved
0
0
0
0
STRIP
CRC
0
Reserved
Reserved
Reserved
Reserved
Reserved
ALMUL
PRMS
0
0
0
0
0
0
0
RXEN
0
RX_
ABORT
0
SOFT_RST - Software-Activated Reset. Active high. Initiated by writing this bit high and terminated by
writing the bit low. The LAN91C111’s configuration is not preserved except for Configuration, Base, and
IA0-IA5 Registers. EEPROM is not reloaded after software reset.
FILT_CAR - Filter Carrier. When set filters leading edge of carrier sense for 12 bit times (3 nibble times).
Otherwise recognizes a receive frame as soon as carrier sense is active. (Does NOT filter RX DV on MII!)
ABORT_ENB - Enables abort of receive when collision occurs. Defaults low. When set, the LAN91C111
will automatically abort a packet being received when the appropriate collision input is activated. This bit
has no effect if the SWFDUP bit in the TCR is set.
STRIP_CRC - When set it strips the CRC on received frames. When clear the CRC is stored in memory
following the packet. Defaults low.
RXEN - Enables the receiver when set. If cleared, completes receiving current frame and then goes idle.
Defaults low on reset.
ALMUL - When set accepts all multicast frames (frames in which the first bit of DA is '1'). When clear
accepts only the multicast frames that match the multicast table setting. Defaults low.
PRMS - Promiscuous mode. When set receives all frames. Does not receive its own transmission unless
it is in Full Duplex!
SMSC LAN91C111 Rev. B
Page 49
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
RX_ABORT - This bit is set if a receive frame was aborted due to length longer than 2K bytes. The frame
will not be received. The bit is cleared by RESET or by the CPU writing it low.
Reserved - Must be 0.
8.8
Bank 0 - Counter Register
OFFSET
6
NAME
COUNTER REGISTER
TYPE
READ ONLY
SYMBOL
ECR
Counts four parameters for MAC statistics. When any counter reaches 15 an interrupt is issued. All
counters are cleared when reading the register and do not wrap around beyond 15.
HIGH
BYTE
NUMBER OF EXC. DEFFERED TX
0
LOW
BYTE
0
0
NUMBER OF DEFFERED TX
0
0
MULTIPLE COLLISION COUNT
0
0
0
0
0
0
SINGLE COLLISION COUNT
0
0
0
0
0
Each four bit counter is incremented every time the corresponding event, as defined in the EPH STATUS
REGISTER bit description, occurs. Note that the counters can only increment once per enqueued transmit
packet, never faster, limiting the rate of interrupts that can be generated by the counters. For example if a
packet is successfully transmitted after one collision the SINGLE COLLISION COUNT field is incremented
by one. If a packet experiences between 2 to 16 collisions, the MULTIPLE COLLISION COUNT field is
incremented by one. If a packet experiences deferral the NUMBER OF DEFERRED TX field is
incremented by one, even if the packet experienced multiple deferrals during its collision retries.
The COUNTER REGISTER facilitates maintaining statistics in the AUTO RELEASE mode where no
transmit interrupts are generated on successful transmissions.
Reading the register in the transmit service routine will be enough to maintain statistics.
8.9
Bank 0 - Memory Information Register
OFFSET
8
NAME
MEMORY INFORMATION REGISTER
HIGH
BYTE
TYPE
READ ONLY
SYMBOL
MIR
FREE MEMORY AVAILABLE (IN BYTES * 2K * M)
0
0
0
LOW
BYTE
0
0
1
0
0
1
0
0
MEMORY SIZE (IN BYTES *2K * M)
0
0
0
0
0
FREE MEMORY AVAILABLE - This register can be read at any time to determine the amount of free
memory. The register defaults to the MEMORY SIZE upon POR (Power On Reset) or upon the RESET
MMU command.
MEMORY SIZE - This register can be read to determine the total memory size.
All memory related information is represented in 2K * M byte units, where the multiplier M is 1 for
LAN91C111.
Rev. 1.4 (12-12-03)
Page 50
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
8.10
Bank 0 - Receive/Phy Control Register
OFFSET
A
HIGH
BYTE
LOW
BYTE
NAME
RECEIVE/PHY CONTROL
REGISTER
TYPE
READ/WRITE
SYMBOL
RPCR
Reserved
Reserved
SPEED
DPLX
ANEG
Reserved
Reserved
Reserved
0
0
0
0
0
0
0
0
LS2A
LS1A
LS0A
LS2B
LS1B
LS0B
Reserved
Reserved
0
0
0
0
0
0
0
0
SPEED – Speed select Input. This bit is valid and selects 10/100 PHY operation only when the ANEG Bit =
0, this bit overrides the SPEED bit in the PHY Register 0 (Control Register) and determine the speed
mode. When this bit is set (1), the Internal PHY will operate at 100Mbps. When this bit is cleared (0), the
Internal PHY will operate at 10Mbps. When the ANEG bit = 1, this bit is ignored and 10/100 operation is
determined by the outcome of the Auto-negotiation or this bit is overridden by the SPEED bit in the PHY
Register 0 (Control Register) when the ANEG_EN bit in the PHY Register 0 (Control Register) is clear.
DPLX – Duplex Select - This bit selects Full/Half Duplex operation. This bit is valid and selects duplex
operation only when the ANEG Bit = 0, this bit overrides the DPLX bit in the PHY Register 0 (Control
Register) and determine the duplex mode. When this bit is set (1), the Internal PHY will operate at full
duplex mode. When this bit is cleared (0), the Internal PHY will operate at half Duplex mode. When the
ANEG bit = 1, this bit is ignored and duplex mode is determined by the outcome of the Auto-negotiation or
this bit is overridden by the DPLX bit in the PHY Register 0 (Control Register) when the ANEG_EN bit in
the PHY Register 0 (Control Register) is clear.
ANEG – Auto-Negotiation mode select - The PHY is placed in Auto-Negotiation mode when the ANEG bit
and the ANEG_EN bit in PHY Register 0 (Control Register) both are set. When either of these bits is
cleared (0), the PHY is placed in manual mode.
WHAT DO YOU WANT
TO DO?
Try to Auto-Negotiate to
……
100 Full Duplex
100 Half Duplex
10 Full Duplex
10 Half Duplex
SMSC LAN91C111 Rev. B
AUTONEGOTIATION
CONTROL BITS
AUTO-NEGOTIATION ADVERTISEMENT
REGISTER
ANEG
Bit
RPCR
(MAC)
ANEG_EN
Bit
Register 0
(PHY)
TX_FDX
Bit
Register 4
(PHY)
TX_HDX
Bit
Register 4
(PHY)
10_FDX
Bit
Register 4
(PHY)
10_HDX
Bit
Register 4
(PHY)
1
1
1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
0
1
1
1
1
Page 51
DATASHEET
DUPLEX
MODE
CONTROL
FOR THE MAC
SWFDUP
Bit
Transmit
Control Register
(MAC)
1
0
1
0
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
WHAT DO YOU WANT
TO DO?
AUTONEGOTIATION
CONTROL BITS
SPEED AND DUPLEX MODE CONTROL FOR
THE PHY
ANEG
Bit
RPCR
(MAC
Bank 0
Offset
A)
ANEG_EN
Bit
Register 0
(PHY)
100 Full Duplex
0
0
1
0
1
0
1
1
X
100 Half Duplex
0
0
1
0
0
1
0
0
1
0
1
0
0
1
0
0
1
0
1
1
X
0
0
X
0
0
X
Try to Manually Set to
……
10 Full Duplex
10 Half Duplex
SPEED
Bit
RPCR
(MAC
Bank 0
Offset A)
DPLX
Bit
RPCR
(MAC
Bank 0
Offset A)
DUPLEX
MODE
CONTROL
FOR THE MAC
SWFDUP
Bit
Transmit
Control Register
(MAC)
SPEED
Bit
Register 0
(PHY)
DPLX
Bit
Register 0
(PHY)
1
1
X
X
X
1
X
X
1
1
1
1
0
0
X
1
1
X
0
0
X
X
X
1
X
X
0
X
X
0
X
X
0
X
X
1
X
X
0
0
0
0
1
1
1
0
0
0
LS2A, LS1A, LS0A – LED select Signal Enable. These bits define what LED control signals are routed to
the LEDA output pin on the LAN91C111 Ethernet Controller. The default is 10/100 Link detected.
LS2A
0
LS1A
0
LS0A
0
0
0
0
1
1
1
1
0
1
1
0
0
1
1
1
0
1
0
1
0
1
LED SELECT SIGNAL – LEDA
nPLED3+ nPLED0 – Logical OR of 100Mbps Link detected 10Mbps Link detected
(default)
Reserved
nPLED0 - 10Mbps Link detected
nPLED1 - Full Duplex Mode enabled
nPLED2 - Transmit or Receive packet occurred
nPLED3 - 100Mbps Link detected
nPLED4 - Receive packet occurred
nPLED5 - Transmit packet occurred
LS2B, LS1B, LS0B – LED select Signal Enable. These bits define what LED control signals are routed to
the LEDB output pin on the LAN91C111 Ethernet Controller. The default is 10/100 Link detected.
LS2B
0
LS1B
0
LS0B
0
0
0
0
1
1
1
1
0
1
1
0
0
1
1
1
0
1
0
1
0
1
LED SELECT SIGNAL – LEDB
nPLED3+ nPLED0 – Logical OR of 100Mbps Link detected 10Mbps Link detected
(default)
Reserved
nPLED0 - 10Mbps Link detected
nPLED1 – Full Duplex Mode enabled
nPLED2 – Transmit or Receive packet occurred
nPLED3 - 100Mbps Link detected
nPLED4 - Receive packet occurred
nPLED5 - Transmit packet occurred
Reserved – Must be 0.
Rev. 1.4 (12-12-03)
Page 52
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
8.11
Bank 1 - Configuration Register
OFFSET
0
NAME
CONFIGURATION REGISTER
TYPE
READ/WRITE
SYMBOL
CR
The Configuration Register holds bits that define the adapter configuration and are not expected to change
during run-time. This register is part of the EEPROM saved setup.
HIGH
BYTE
LOW
BYTE
EPH
Power
EN
1
Reserved
Reserved
NO
WAIT
Reserved
GPCNTRL
EXT PHY
Reserved
0
1
0
0
0
0
0
Reserved
Reserved
Reserved
0
0
1
Reserved
Reserved
1
0
Reserved
1
1
0
EPH Power EN - Used to selectively power transition the EPH to a low power mode. When this bit is
cleared (0), the Host will place the EPH into a low power mode. The Ethernet MAC will gate the 25Mhz TX
and RX clock so that the Ethernet MAC will no longer be able to receive and transmit packets. The Host
interface however, will still be active allowing the Host access to the device through Standard IO access.
All LAN91C111 registers will still be accessible. However, status and control will not be allowed until the
EPH Power EN bit is set AND a RESET MMU command is initiated.
NO WAIT - When set, does not request additional wait states. An exception to this are accesses to the
Data Register if not ready for a transfer. When clear, negates ARDY for two to three clocks on any cycle to
the LAN91C111.
GPCNTRL - This bit is a general purpose output port. Its inverse value drives pin nCNTRL and it is
typically connected to a SELECT pin of the external PHY device such as a power enable. It can be used to
select the signaling mode for the external PHY or as a general purpose non-volatile configuration pin.
Defaults low.
EXT PHY – External PHY Enabled.
This bit, when set (1):
a)
Enables the external MII.
b)
The Internal PHY is disabled and is disconnected (Tri-stated from the internal MII along with any
sideband signals (such as MDINT) going to the MAC Core).
When this bit is cleared (0 - Default):
a)
The internal PHY is enabled.
b)
The external MII pins, including the MII Management interface pins are tri-stated.
Reserved – Reserved bits.
SMSC LAN91C111 Rev. B
Page 53
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
8.12
Bank 1 - Base Address Register
OFFSET
2
NAME
BASE ADDRESS REGISTER
TYPE
READ/WRITE
SYMBOL
BAR
This register holds the I/O address decode option chosen for the LAN91C111. It is part of the EEPROM
saved setup and is not usually modified during run-time.
HIGH
BYTE
A15
A14
A13
A9
A8
A7
A6
A5
0
0
0
1
1
0
0
0
LOW
BYTE
Reserved
0
0
0
0
Reserved
0
0
0
1
A15 - A13 and A9 - A5 - These bits are compared against the I/O address on the bus to determine the
IOBASE for the LAN91C111‘s registers. The 64k I/O space is fully decoded by the LAN91C111 down to a
16 location space, therefore the unspecified address lines A4, A10, A11 and A12 must be all zeros.
All bits in this register are loaded from the serial EEPROM. The I/O base decode defaults to 300h
(namely, the high byte defaults to 18h).
Reserved – Reserved bits.
Below chart shows the decoding of I/O Base Address 300h:
A15
0
8.13
A14
0
A13
0
A12
0
A11
0
A10
0
A9
1
A8
1
A7
0
A6
0
A5
0
A4
0
A3
0
A2
0
A1
0
A0
0
Bank 1 - Individual Address Registers
OFFSET
4 THROUGH 9
NAME
INDIVIDUAL ADDRESS
REGISTERS
TYPE
READ/WRITE
SYMBOL
IAR
These registers are loaded starting at word location 20h of the EEPROM upon hardware reset or EEPROM
reload. The registers can be modified by the software driver, but a STORE operation will not modify the
EEPROM Individual Address contents. Bit 0 of Individual Address 0 register corresponds to the first bit of
the address on the cable.
LOW
BYTE
ADDRESS 0
0
0
0
HIGH
BYTE
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
ADDRESS 1
0
0
0
LOW
BYTE
0
0
ADDRESS 2
0
0
0
HIGH
BYTE
0
0
ADDRESS 3
0
0
0
LOW
BYTE
0
0
ADDRESS 4
0
0
0
HIGH
BYTE
0
0
ADDRESS 5
0
Rev. 1.4 (12-12-03)
0
0
0
0
0
Page 54
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
8.14
Bank 1 - General Purpose Register
OFFSET
A
NAME
GENERAL PURPOSE REGISTER
HIGH
BYTE
TYPE
READ/WRITE
SYMBOL
GPR
HIGH DATA BYTE
0
0
0
LOW
BYTE
0
0
0
0
0
0
0
0
LOW DATA BYTE
0
0
0
0
0
This register can be used as a way of storing and retrieving non-volatile information in the EEPROM to be
used by the software driver. The storage is word oriented, and the EEPROM word address to be read or
written is specified using the six lowest bits of the Pointer Register.
This register can also be used to sequentially program the Individual Address area of the EEPROM, that is
normally protected from accidental Store operations.
This register will be used for EEPROM read and write only when the EEPROM SELECT bit in the Control
Register is set. This allows generic EEPROM read and write routines that do not affect the basic setup of
the LAN91C111.
8.15
Bank 1 - Control Register
OFFSET
C
NAME
CONTROL REGISTER
HIGH
BYTE
Reserved
LOW BYTE
0
LE
ENABLE
0
RCV_
BAD
0
CR
ENABLE
0
TYPE
READ/WRITE
Reserved
Reserved
0
TE
ENABLE
0
1
AUTO
RELEASE
0
Reserved
Reserved
1
0
SYMBOL
CTR
Reserved
Reserved
Reserved
0
EEPROM
SELECT
0
1
0
RELOAD
STORE
0
0
RCV_BAD - When set, bad CRC packets are received. When clear bad CRC packets do not generate
interrupts and their memory is released.
AUTO RELEASE - When set, transmit pages are released by transmit completion if the transmission was
successful (when TX_SUC is set). In that case there is no status word associated with its packet number,
and successful packet numbers are not even written into the TX COMPLETION FIFO. A sequence of
transmit packets will generate an interrupt only when the sequence is completely transmitted (TX EMPTY
INT will be set), or when a packet in the sequence experiences a fatal error (TX INT will be set). Upon a
fatal error TXENA is cleared and the transmission sequence stops. The packet number that failed, is
present in the FIFO PORTS register, and its pages are not released, allowing the CPU to restart the
sequence after corrective action is taken.
LE ENABLE - Link Error Enable. When set it enables the LINK_OK bit transition as one of the interrupts
merged into the EPH INT bit. Clearing the LE ENABLE bit after an EPH INT interrupt, caused by a
LINK_OK transition, will acknowledge the interrupt. LE ENABLE defaults low (disabled).
CR ENABLE - Counter Roll over Enable. When set, it enables the CTR_ROL bit as one of the interrupts
merged into the EPH INT bit. Reading the COUNTER register after an EPH INT interrupt caused by a
counter rollover, will acknowledge the interrupt. CR ENABLE defaults low (disabled).
TE ENABLE - Transmit Error Enable. When set it enables Transmit Error as one of the interrupts merged
into the EPH INT bit. An EPH INT interrupt caused by a transmitter error is acknowledged by setting
SMSC LAN91C111 Rev. B
Page 55
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
TXENA bit in the TCR register to 1 or by clearing the TE ENABLE bit. TE ENABLE defaults low (disabled).
Transmit Error is any condition that clears TXENA with TX_SUC staying low as described in the EPHSR
register.
EEPROM SELECT - This bit allows the CPU to specify which registers the EEPROM RELOAD or STORE
refers to. When high, the General Purpose Register is the only register read or written. When low,
RELOAD reads Configuration, Base and Individual Address, and STORE writes the Configuration and
Base registers.
RELOAD - When set it will read the EEPROM and update relevant registers with its contents. Clears upon
completing the operation.
STORE - When set, stores the contents of all relevant registers in the serial EEPROM. Clears upon
completing the operation.
Note:
When an EEPROM access is in progress the STORE and RELOAD bits will be read back as high. The
remaining 14 bits of this register will be invalid. During this time attempted read/write operations, other than
polling the EEPROM status, will NOT have any effect on the internal registers. The CPU can resume
accesses to the LAN91C111 after both bits are low. A worst case RELOAD operation initiated by RESET
or by software takes less than 750 µs.
8.16
Bank 2 - MMU Command Register
OFFSET
0
NAME
MMU COMMAND REGISTER
TYPE
WRITE ONLY
BUSY Bit Readable
SYMBOL
MMUCR
This register is used by the CPU to control the memory allocation, de-allocation, TX FIFO and RX FIFO
control.
The three command bits determine the command issued as described below:
HIGH
BYTE
LOW
BYTE
COMMAND
Reserved
Reserved
Reserved
Reserved
BUSY
Operation Code
0
COMMAND SET:
OPERATION
CODE
000
001
010
DECIMAL
VALUE
0
1
2
011
3
Rev. 1.4 (12-12-03)
COMMAND
NOOP - NO OPERATION
ALLOCATE MEMORY FOR TX
RESET MMU TO INITIAL STATE - Frees all memory allocations, clears
relevant interrupts, resets packet FIFO pointers.
REMOVE FRAME FROM TOP OF RX FIFO - To be issued after CPU
has completed processing of present receive frame. This command
removes the receive packet number from the RX FIFO and brings the
next receive frame (if any) to the RX area (output of RX FIFO).
Page 56
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
OPERATION
CODE
100
DECIMAL
VALUE
4
101
5
110
6
111
7
COMMAND
REMOVE AND RELEASE TOP OF RX FIFO - Like 3) but also releases
all memory used by the packet presently at the RX FIFO output. The
MMU busy time after issuing REMOVE and RELEASE command
depends on the time when the busy bit is cleared. The time from issuing
REMOVE and RELEASE command on the last receive packet to the time
when receive FIFO is empty depends on RX INT bit turning low. An
alternate approach can be checking the read RX FIFO register.
RELEASE SPECIFIC PACKET - Frees all pages allocated to the packet
specified in the PACKET NUMBER REGISTER. Should not be used for
frames pending transmission. Typically used to remove transmitted frames,
after reading their completion status. Can be used following 3) to release
receive packet memory in a more flexible way than 4).
ENQUEUE PACKET NUMBER INTO TX FIFO - This is the normal method
of transmitting a packet just loaded into RAM. The packet number to be
enqueued is taken from the PACKET NUMBER REGISTER.
RESET TX FIFOs - This command will reset both TX FIFOs: The TX FIFO
holding the packet numbers awaiting transmission and the TX Completion
FIFO.
This command provides a mechanism for canceling packet
transmissions, and reordering or bypassing the transmit queue. The RESET
TX FIFOs command should only be used when the transmitter is disabled.
Unlike the RESET MMU command, the RESET TX FIFOs does not release
any memory.
Notes:
When using the RESET TX FIFOS command, the CPU is responsible for releasing the memory associated with
outstanding packets, or re-enqueuing them. Packet numbers in the completion FIFO can be read via the FIFO
ports register before issuing the command.
MMU commands releasing memory (commands 4 and 5) should only be issued if the corresponding packet
number has memory allocated to it.
COMMAND SEQUENCING
A second allocate command (command 1) should not be issued until the present one has completed.
Completion is determined by reading the FAILED bit of the allocation result register or through the
allocation interrupt.
A second release command (commands 4, 5) should not be issued if the previous one is still being
processed. The BUSY bit indicates that a release command is in progress. After issuing command 5, the
contents of the PNR should not be changed until BUSY goes low. After issuing command 4, command 3
should not be issued until BUSY goes low.
BUSY BIT - Readable at bit 0 of the MMU command register address. When set indicates that MMU is still
processing a release command. When clear, MMU has already completed last release command. BUSY
and FAILED bits are set upon the trailing edge of command.
SMSC LAN91C111 Rev. B
Page 57
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
8.17
Bank 2 - Packet Number Register
OFFSET
2
NAME
PACKET NUMBER REGISTER
Reserved
Reserved
0
0
0
0
TYPE
READ/WRITE
PACKET NUMBER AT TX AREA
0
0
SYMBOL
PNR
0
0
PACKET NUMBER AT TX AREA - The value written into this register determines which packet number is
accessible through the TX area. Some MMU commands use the number stored in this register as the
packet number parameter. This register is cleared by a RESET or a RESET MMU Command.
OFFSET
3
NAME
ALLOCATION RESULT REGISTER
TYPE
READ ONLY
SYMBOL
ARR
This register is updated upon an ALLOCATE MEMORY MMU command.
FAILED
Reserved
1
0
ALLOCATED PACKET NUMBER
0
0
0
0
0
0
FAILED - A zero indicates a successful allocation completion. If the allocation fails the bit is set and only
cleared when the pending allocation is satisfied. Defaults high upon reset and reset MMU command. For
polling purposes, the ALLOC_INT in the Interrupt Status Register should be used because it is
synchronized to the read operation. Sequence:
1)
Allocate Command
2)
Poll ALLOC_INT bit until set
3)
Read Allocation Result Register
ALLOCATED PACKET NUMBER - Packet number associated with the last memory allocation request.
The value is only valid if the FAILED bit is clear.
Note:
For software compatibility with future versions, the value read from the ARR after an allocation request is
intended to be written into the PNR as is, without masking higher bits (provided FAILED = 0).
Rev. 1.4 (12-12-03)
Page 58
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
8.18
Bank 2 - FIFO Ports Register
OFFSET
4
NAME
FIFO PORTS REGISTER
TYPE
READ ONLY
SYMBOL
FIFO
This register provides access to the read ports of the Receive FIFO and the Transmit completion FIFO.
The packet numbers to be processed by the interrupt service routines are read from this register.
HIGH
BYTE
LOW
BYTE
REMPTY
Reserved
1
0
TEMPTY
Reserved
1
0
RX FIFO PACKET NUMBER
0
0
0
0
0
0
0
0
TX FIFO PACKET NUMBER
0
0
0
0
REMPTY - No receive packets queued in the RX FIFO. For polling purposes, uses the RCV_INT bit in the
Interrupt Status Register.
TOP OF RX FIFO PACKET NUMBER - Packet number presently at the output of the RX FIFO. Only valid
if REMPTY is clear. The packet is removed from the RX FIFO using MMU Commands 3) or 4).
TEMPTY - No transmit packets in completion queue. For polling purposes, uses the TX_INT bit in the
Interrupt Status Register.
TX FIFO PACKET NUMBER - Packet number presently at the output of the TX FIFO. Only valid if
TEMPTY is clear. The packet is removed when a TX INT acknowledge is issued.
Note:
For software compatibility with future versions, the value read from each FIFO register is intended to be
written into the PNR as is, without masking higher bits (provided TEMPTY and REMPTY = 0 respectively).
8.19
Bank 2 - Pointer Register
OFFSET
6
HIGH
BYTE
NAME
POINTER REGISTER
RCV
0
AUTO
INCR.
0
TYPE
READ/WRITE
NOT EMPTY is a read
only bit
READ
ETEN
0
0
LOW
BYTE
NOT
EMPTY
0
SYMBOL
PTR
POINTER HIGH
0
0
0
0
0
0
POINTER LOW
0
0
0
0
0
POINTER REGISTER - The value of this register determines the address to be accessed within the
transmit or receive areas. It will auto-increment on accesses to the data register when AUTO INCR. is set.
The increment is by one for every byte access, by two for every word access, and by four for every double
word access. When RCV is set the address refers to the receive area and uses the output of RX FIFO as
the packet number, when RCV is clear the address refers to the transmit area and uses the packet number
at the Packet Number Register.
SMSC LAN91C111 Rev. B
Page 59
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
READ - Determines the type of access to follow. If the READ bit is high the operation intended is a read. If
the READ bit is low the operation is a write. Loading a new pointer value, with the READ bit high,
generates a pre-fetch into the Data Register for read purposes.
Readback of the pointer will indicate the value of the address last accessed by the CPU (rather than the
last pre-fetched). This allows any interrupt routine that uses the pointer, to save it and restore it without
affecting the process being interrupted. The Pointer Register should not be loaded until the Data Register
FIFO is empty. The NOT EMPTY bit of this register can be read to determine if the FIFO is empty. On
reads, if ARDY is not connected to the host, the Data Register should not be read before 370ns after the
pointer was loaded to allow the Data Register FIFO to fill.
If the pointer is loaded using 8 bit writes, the low byte should be loaded first and the high byte last.
ETEN - When set enables EARLY Transmit underrun detection. Normal operation when clear.
NOT EMPTY - When set indicates that the Write Data FIFO is not empty yet. The CPU can verify that the FIFO
is empty before loading a new pointer value. This is a read only bit.
Note:
If AUTO INCR. is not set, the pointer must be loaded with a dword aligned value.
8.20
Bank 2 - Data Register
OFFSET
8 THROUGH Bh
NAME
DATA REGISTER
X
X
X
X
X
X
TYPE
READ/WRITE
DATA HIGH
X
X
DATA LOW
X
X
SYMBOL
DATA
X
X
X
X
X
X
DATA REGISTER - Used to read or write the data buffer byte/word presently addressed by the pointer
register.
This register is mapped into two uni-directional FIFOs that allow moving words to and from the
LAN91C111 regardless of whether the pointer address is even, odd or dword aligned. Data goes through
the write FIFO into memory, and is pre-fetched from memory into the read FIFO. If byte accesses are
used, the appropriate (next) byte can be accessed through the Data Low or Data High registers. The order
to and from the FIFO is preserved. Byte, word and dword accesses can be mixed on the fly in any order.
This register is mapped into two consecutive word locations to facilitate double word move operations
regardless of the actual bus width (16 or 32 bits). The DATA register is accessible at any address in the 8
through Bh range, while the number of bytes being transferred is determined by A1 and nBE0-nBE3. The
FIFOs are 12 bytes each.
Rev. 1.4 (12-12-03)
Page 60
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
8.21
Bank 2 - Interrupt Status Registers
OFFSET
C
NAME
INTERRUPT STATUS REGISTER
TYPE
READ ONLY
SYMBOL
IST
MDINT
ERCV INT
EPH INT
RX_OVRN
INT
ALLOC INT
TX EMPTY
INT
TX INT
RCV INT
0
0
0
0
0
1
0
0
OFFSET
C
MDINT
NAME
INTERRUPT ACKNOWLEDGE
REGISTER
RX_OVRN
INT
ERCV INT
OFFSET
D
TYPE
WRITE ONLY
TX EMPTY
INT
NAME
INTERRUPT MASK REGISTER
SYMBOL
ACK
TX INT
TYPE
READ/WRITE
SYMBOL
MSK
MDINT
MASK
ERCV INT
MASK
EPH INT
MASK
RX_OVRN
INT
MASK
ALLOC INT
MASK
TX EMPTY
INT
MASK
TX INT
MASK
RCV INT
MASK
0
0
0
0
0
0
0
0
This register can be read and written as a word or as two individual bytes.
The Interrupt Mask Register bits enable the appropriate bits when high and disable them when low. A
MASK bit being set will cause a hardware interrupt.
MDINT - Set when the following bits in the PHY MI Register 18 (Serial Port Status Output Register)
change state.
1) LNKFAIL, 2) LOSSSYNC, 3) CWRD, 4) SSD, 5) ESD, 6) PROL, 7) JAB, 8) SPDDET, 9) DPLXDET.
These bits automatically latch upon changing state and stay latched until they are read. When they are
read, the bits that caused the interrupt to happen are updated to their current value. The MDINT bit will be
cleared by writing the acknowledge register with MDINT bit set.
ERCV INT - Early receive interrupt. Set whenever a receive packet is being received, and the number of
bytes received into memory exceeds the value programmed as ERCV THRESHOLD (Bank 3, Offset Ch).
ERCV INT stays set until acknowledged by writing the INTERRUPT ACKNOWLEDGE REGISTER with the
ERCV INT bit set.
EPH INT - Set when the Ethernet Protocol Handler section indicates one out of various possible special
conditions. This bit merges exception type of interrupt sources, whose service time is not critical to the
execution speed of the low level drivers. The exact nature of the interrupt can be obtained from the EPH
Status Register (EPHSR), and enabling of these sources can be done via the Control Register. The
possible sources are:
SMSC LAN91C111 Rev. B
Page 61
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
LINK - Link Test transition
CTR_ROL - Statistics counter roll over
TXENA cleared - A fatal transmit error occurred forcing TXENA to be cleared. TX_SUC will be low and the
specific reason will be reflected by the bits:
TXUNRN - Transmit under-run
SQET - SQE Error
LOST CARR - Lost Carrier
LATCOL - Late Collision
16COL - 16 collisions
Any of the above interrupt sources can be masked by the appropriate ENABLE bits in the Control Register.
1) LE ENABLE (Link Error Enable), 2) CR ENABLE (Counter Roll Over), 3) TE ENABLE (Transmit Error
Enable)
EPH INT will only be cleared by the following methods:
Clearing the LE ENABLE bit in the Control Register if an EPH interrupt is caused by a LINK_OK
transition.
Reading the Counter Register if an EPH interrupt is caused by statistics counter roll over.
Setting TXENA bit high if an EPH interrupt is caused by any of the fatal transmit error listed above
(3.1 to 3.5).
RX_OVRN INT - Set when 1) the receiver aborts due to an overrun due to a failed memory allocation, 2)
the receiver aborts due to a packet length of greater than 2K bytes, or 3) the receiver aborts due to the
RCV DISCRD bit in the ERCV register set. The RX_OVRN INT bit latches the condition for the purpose of
being polled or generating an interrupt, and will only be cleared by writing the acknowledge register with
the RX_OVRN INT bit set.
ALLOC INT - Set when an MMU request for TX ram pages is successful. This bit is the complement of the
FAILED bit in the ALLOCATION RESULT register. The ALLOC INT bit is cleared by the MMU when the
next allocation request is processed or allocation fails.
TX EMPTY INT - Set if the TX FIFO goes empty, can be used to generate a single interrupt at the end of a
sequence of packets enqueued for transmission. This bit latches the empty condition, and the bit will stay
set until it is specifically cleared by writing the acknowledge register with the TX EMPTY INT bit set. If a
real time reading of the FIFO empty is desired, the bit should be first cleared and then read.
The TX_EMPTY MASK bit should only be set after the following steps:
A packet is enqueued for transmission
The previous empty condition is cleared (acknowledged)
TX INT - Set when at least one packet transmission was completed or any of the below transmit fatal
errors occurs:
TXUNRN - Transmit under-run
SQET - SQE Error
LOST CARR - Lost Carrier
LATCOL - Late Collision
16COL - 16 collisions
The first packet number to be serviced can be read from the FIFO PORTS register. The TX INT bit is
always the logic complement of the TEMPTY bit in the FIFO PORTS register. After servicing a packet
Rev. 1.4 (12-12-03)
Page 62
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
number, its TX INT interrupt is removed by writing the Interrupt Acknowledge Register with the TX INT bit
set.
RCV INT - Set when a receive interrupt is generated. The first packet number to be serviced can be read
from the FIFO PORTS register. The RCV INT bit is always the logic complement of the REMPTY bit in the
FIFO PORTS register.
Receive Interrupt is cleared when RX FIFO is empty.
SMSC LAN91C111 Rev. B
Page 63
DATASHEET
Rev. 1.4 (12-12-03)
Page 64
DATASHEET
MERGED INTO EPH INT
EPHSR INTERRUPTS
TX_SVC
TXENA
TEMASK
CRMASK
CTR-ROL
LEMASK
EDGE DETECTOR
ON LINK ERR
nWRACK
Fatal Transmit
Error
IntAck7
IntAck6
IntAck4
IntAck2
IntAck1
nQ
Q
Q
nQ
nQ
Q
Q
nQ
D
nQ
Q
MDINT
D
ERCV
D
RX_OVRN
ALLOCATION
FAILED
D S
TX
FIFO EMPTY
D S
S
TX Complete
S
Rev. 1.4 (12-12-03)
S
TXUNRN
SQET
LOST CARR
LATCOL
16COL
nRDIST
OE
7
5
DATA
BUS
6
4
3
2
16
D0-7
REGISTER
STATUS
INTERRUPT
1
0
7 6
5
3
2
1
D8-15
REGISTER
INTERRUPT
MASK
4
RCV FIFO
NOT EMPTY
0
nOE
MAIN INTERRUPTS
MDINT
ERCV INT
EPH INT
RX_OVRN
INT
ALLOC
INT
TX
EMPTY
INT
TX INT
RCV INT
INT
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
Figure 8.2 - Interrupt Structure
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
8.22
Bank 3 - Multicast Table Registers
OFFSET
0 THROUGH 7
NAME
MULTICAST TABLE
LOW
BYTE
TYPE
READ/WRITE
SYMBOL
MT
MULTICAST TABLE 0
0
0
0
HIGH
BYTE
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
MULTICAST TABLE 1
0
0
0
LOW
BYTE
0
0
MULTICAST TABLE 2
0
0
0
HIGH
BYTE
0
0
MULTICAST TABLE 3
0
0
0
LOW
BYTE
0
0
MULTICAST TABLE 4
0
0
0
HIGH
BYTE
0
0
MULTICAST TABLE 5
0
0
0
LOW
BYTE
0
0
MULTICAST TABLE 6
0
0
0
HIGH
BYTE
0
0
MULTICAST TABLE 7
0
0
0
0
0
The 64 bit multicast table is used for group address filtering. The hash value is defined as the six most
significant bits of the CRC of the destination addresses. The three msb's determine the register to be used
(MT0-MT7), while the other three determine the bit within the register.
If the appropriate bit in the table is set, the packet is received.
If the ALMUL bit in the RCR register is set, all multicast addresses are received regardless of the multicast
table values.
Hashing is only a partial group addressing filtering scheme, but being the hash value available as part of
the receive status word, the receive routine can reduce the search time significantly. With the proper
memory structure, the search is limited to comparing only the multicast addresses that have the actual
hash value in question.
SMSC LAN91C111 Rev. B
Page 65
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
8.23
Bank 3 - Management Interface
OFFSET
8
HIGH
BYTE
NAME
MANAGEMENT INTERFACE
Reserved
0
MSK_
CRS100
0
LOW
BYTE
SYMBOL
MGMT
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
1
1
0
0
1
1
MDOE
MCLK
MDI
MDO
0
0
MDI Pin
0
Reserved
0
TYPE
READ/WRITE
0
1
1
MSK_CRS100 - Disables CRS100 detection during transmit in half duplex mode (SWFDUP=0).
MDO - MII Management output. The value of this bit drives the MDO pin.
MDI - MII Management input. The value of the MDI pin is readable using this bit.
MDCLK - MII Management clock. The value of this bit drives the MDCLK pin.
MDOE - MII Management output enable. When high pin MDO is driven, when low pin MDO is tri-stated.
The purpose of this interface, along with the corresponding pins is to implement MII PHY management in
software.
8.24
Bank 3 - Revision Register
OFFSET
A
NAME
REVISION REGISTER
TYPE
READ ONLY
SYMBOL
REV
HIGH
BYTE
0
0
LOW
BYTE
1
1
0
0
CHIP
1
0
1
1
0
1
REV
0
1
0
0
CHIP - Chip ID. Can be used by software drivers to identify the device used.
REV - Revision ID. Incremented for each revision of a given device.
Rev. 1.4 (12-12-03)
Page 66
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
8.25
Bank 3 - Early RCV Register
OFFSET
C
NAME
EARLY RCV REGISTER
TYPE
READ/WRITE
HIGH
BYTE
LOW
BYTE
SYMBOL
ERCV
Reserved
0
RCV
DISCRD
0
0
0
Reserved
Reserved
0
0
0
0
0
0
0
1
1
ERCV THRESHOLD
1
1
1
RCV DISCRD - Set to discard a packet being received. Will discard packets only in the process of being
received. When set prior to the end of receive packet, bit 4 (RXOVRN) of the interrupt status register will
be set to indicate that the packet was discarded. Otherwise, the packet will be received normally and bit 0
set (RCVINT) in the interrupt status register. RCV DISCRD is self clearing.
ERCV THRESHOLD - Threshold for ERCV interrupt. Specified in 64 byte multiples. Whenever the number
of bytes written in memory for the presently received packet exceeds the ERCV THRESHOLD, ERCV INT
bit of the INTERRUPT STATUS REGISTER is set.
8.26
Bank 7 - External Registers
OFFSET
0 THROUGH 7
NAME
EXTERNAL REGISTERS
TYPE
SYMBOL
nCSOUT is driven low by the LAN91C111 when a valid access to the EXTERNAL REGISTER range
occurs.
HIGH
BYTE
EXTERNAL R/W REGISTER
LOW
BYTE
EXTERNAL R/W REGISTER
CYCLE
AEN=0
A3=0
A4-15 matches I/O BASE
BANK SELECT = 7
BANK SELECT = 4,5,6
Otherwise
SMSC LAN91C111 Rev. B
NCSOUT
Driven low. Transparently latched on
nADS rising edge.
LAN91C111 DATA BUS
Ignored on writes.
Tri-stated on reads.
High
High
Ignore cycle.
Normal LAN91C111 cycle.
Page 67
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
Chapter 9
PHY MII Registers
Multiple Register Access
Multiple registers can be accessed on a single PHY Ml serial port access cycle with the multiple register
access features. The multiple register access features can be enabled by setting the multiple register
access enables bit in the PHY Ml serial port Configuration 2 register. When multiple register access is
enabled, multiple registers can be accessed on a single PHY Ml serial port access cycle by setting the
register address to 11111 during the first 16 MDC clock cycles. There is no actual register residing in
register address location 11111, so when the register address is then set to 11111, all eleven registers are
accessed on the 176 rising edges of MDC that occur after the first 16 MDC clock cycles of the PHY Ml
serial port access cycle. The registers are accessed in numerical order from 0 to 20. After all 192 MDC
clocks have been completed, all the registers have been read/written, and the serial shift process is halted,
data is latched into the device, and MDIO goes into high impedance state. Another serial shift cycle
cannot be initiated until the idle condition (at least 32 continuous 1's) is detected.
Bit Types
Since the serial port is bi-directional, there are many types of bits. Write bits (W) are inputs during a write
cycle and are high impedance during a read cycle. Read bits (R) are outputs during a read cycle and high
impedance during a write cycle. Read/Write bits (RW) are actually write bits, which can be read out during
a read cycle. R/WSC bits are R/W bits that are self-clearing after a set period of time or after a specific
event has completed. R/LL bits are read bits that latch themselves when they go low, and they stay
latched low until read. After they are read, they are reset high. R/LH bits are the same as R/LL bits except
that they latch high. R/LT are read bits that latch themselves whenever they make a transition or change
value, and they stay latched until they are read. After R/LT bits are read, they are updated to their current
value. R/LT bits can also be programmed to assert the interrupt function.
Bit Type Definition
R:
Read Only
R/WSC: Read/Write Self Clearing
W:
Write Only
R/LH:
Read/Latch high
RW:
Read/Write
R/LL:
Read/Latch low
R/LT: Read/Latch on Transition
REGISTER ADDRESS
0
1
2,3
4
5
6....15
16
17
18
19
20
Rev. 1.4 (12-12-03)
REGISTER NAME
Control
Status
PHY ID
Auto-Negotiation Advertisement
Auto-Negotiation Remote End Capability
Reserved
Configuration 1
Configuration 2
Status Output
Mask
Reserved
Page 68
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
PHY Register Description
Table 9.1 - MII Serial Frame Structure
<Idle>
<Start>
<Read>
<Write>
<PHY Addr.>
<REG.Addr.>
<Turnaround>
<Data>
IDLE
ST[1:0]
READ
WRITE
PHYAD[4:0]
REGAD[4:0]
TA[1:0]
D[15:0]
D[15:0]
↓
Register 0
Control
Register 1
Status
Register 2
PHY ID#1
Register 3
PHY ID#2
Register 4
AutoNegotiation Advertisement
Register 5
AutoNegotiation Remote End Capability
Register 16
Configuration 1
Register 17
Configuration 2
Register 18
Status Output
Register 19
Mask
Register 20
Reserved
SYMBOL
IDLE
NAME
Idle Pattern
DEFINITION
These bits are an idle pattern. Device will not initiate an MI cycle
until it detects at least 32 1's
R/W
W
ST1
ST0
READ
Start Bits
When ST[1:0]=01, a MI Serial Port access cycle starts.
W
Read Select
1 = Read Cycle
W
WRITE
Write Select
1 = Write Cycle
W
PHYAD[4:0]
Physical
Device
Address
PHYSICAL ADDRESS
R
REGAD[4:0]
Register
Address
If REGAD[4:0] = 00000-11110, these bits determine the specific
register from which D[15:0] is read/written. If multiple register
access is enabled and REGAD[4:0] = 11111, all registers are
read/written in a single cycle.
W
SMSC LAN91C111 Rev. B
Page 69
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
SYMBOL
TA1
TA0
NAME
Turnaround
Time
DEFINITION
These bits provide some turnaround time for MDIO
R/W
R/W
When READ = 1, TA[1:0] = Z0
When WRITE = 1, TA[1:0] = 10
D[15:0]....
Rev. 1.4 (12-12-03)
Data
The turnaround time is a 2 bit time spacing between the Register
Address field and the Data field of a management frame to avoid
contention during a read transaction. For a read transaction, both
the STA and the PHY shall remain in a high impedance state for the
first bit time of the turnaround. The PHY shall drive a zero bit during
the second bit time of the turnaround of a read transaction. During a
write transaction, the STA shall drive a one bit for the first bit time of
the turnaround and a zero bit for the second bit time of the
turnaround.
These 16 bits contain data to/from one of the eleven registers
selected by register address bits REGAD[4:0].
Page 70
DATASHEET
Any
SMSC LAN91C111 Rev. B
SMSC LAN91C111 Rev. B
Control
AutoNegot.
Remote
Capability
Page 71
DATASHEET
Status
Output
Mask
Reserved
18
19
20
17 Configuration 2
16 Configuration 1
5
4
AutoNegot.
Advertisement
3 PHY ID #2
2 PHY ID #1
1 Status
0
0
0
1
MLNKFAIL
0
MINT
R/W
0
0
Reserved
R/W
Reserved
R/W
1
R/LT
R
R/W
1
LNKFAIL
1
1
INT
R/W
R/W
Reserved
0
0
Reserved
R/W
R/W
XMTDIS
R
R
LNKDIS
ACK
0
0
NP
R
R/W
1
1
ACK
R
R
NP
OUI20
0
0
OUI19
R
R
1
0
OUI4
R
R
OUI3
CAP_TXF
0
R/W
LPBK
x.14
CAP_T4
0
R/WSC
RST
x.15
0
R/W
Reserved
R/W
1
MLOSSSYN
0
R/LT
LOSSSYNC
1
R/W
Reserved
0
R/W
XMTPDN
0
R
RF
0
R/W
RF
1
R
OUI21
0
R
OUI5
1
R
CAP_TXH
1
R/W
SPEED
x.13
0
R/W
Reserved
R/W
1
MCWRD
0
R/LT
CWRD
1
R/W
Reserved
0
R/W
Reserved
0
R
Reserved
0
R/W
Reserved
1
R
OUI22
0
R
OUI6
1
R
CAP_TF
1
R/W
ANEG_EN
x.12
0
R/W
Reserved
R/W
1
MSSD
0
R/LT
SSD
1
R/W
Reserved
0
R/W
Reserved
0
R
Reserved
0
R/W
Reserved
1
R
OUI23
0
R
OUI7
1
R
CAP_TH
0
R/W
PDN
x.11
0
R/W
Reserved
R/W
1
MESD
0
R/LT
ESD
1
R/W
Reserved
0
R/W
BYPSCR
0
R
Reserved
0
R/W
Reserved
0
R
OUI24
0
R
OUI8
0
0
R/W
Reserved
R/W
1
MRPOL
0
R/LT
RPOL
1
R/W
Reserved
0
R/W
UNSCDS
0
R
T4
0
R/W
T4
0
R
PART5
0
R
OUI9
0
R
Reserved
Reserved
R
0
R/WSC
ANEG_RST
x.9
1 or 0
R/W
MII_DIS
x.10
0
R/W
Reserved
R/W
1
MJAB
0
R/LT
JAB
1
R/W
Reserved
0
R/W
EQLZR
0
R
TX_FDX
1
R/W
TX_FDX
0
R
PART4
0
R
OUI10
0
R
Reserved
0
R/W
DPLX
x.8
1
R/W
Reserved
1
R/W
MSPDDT
1
R/LT
SPDDET
0
R/W
Reserved
0
R/W
CABLE
0
R
TX_HDX
1
R/W
TX_HDX
0
R
PART3
0
R
OUI11
0
R
Reserved
0
R/W
COLTST
x.7
0
R/W
Reserved
R/W
1
MDPLDT
0
R/LT
1
R/W
Reserved
0
0
R/W
Reserved
R/W
0
Reserved
Reserved
R/W
0
R/LT
Reserved
0
R/W
JABDIS
0
R/W
0
R/LT
Reserved
0
DPLXDET
R/W
0
APOLDIS
1
R/W
TLVL2
0
TLVL3
R
0
Reserved
0
R/W
Reserved
0
R
PART0
1
R
OUI14
0
R/LH
REM_FLT
0
R/W
Reserved
x.4
R
10_HDX
1
R/W
10_HDX
0
R
PART1
0
R
OUI13
0
R
ANEG_ACK
0
R/W
Reserved
x.5
R/W
Reserved
0
R/W
RLVL0
0
R
10_FDX
1
R/W
10_FDX
1
R
PART2
0
R
OUI12
0
R
CAP_SUPR
0
R/W
Reserved
x.6
0
R/W
Reserved
R/W
0
Reserved
0
R
Reserved
0
R/W
MREG
0
R/W
TLVL1
0
R
Reserved
0
R/W
Reserved
0
R
REV3
0
R
OUI15
1
R
CAP_ANEG
0
R/W
Reserved
x.3
0
R/W
Reserved
R/W
0
Reserved
0
R
Reserved
0
R/W
INTMDIO
0
R/W
TLVL0
0
R
Reserved
0
R/W
Reserved
0
R
REV2
1
R
OUI16
0
R/LL
LINK
0
R/W
Reserved
x.2
0
R/W
Reserved
R/W
0
Reserved
0
R
Reserved
0
R/W
Reserved
1
R/W
TRF1
0
R
Reserved
0
R/W
Reserved
0
R
REV1
1
R
OUI17
0
R/LH
JAB
0
R/W
Reserved
x.1
0
R/W
Reserved
R/W
0
Reserved
0
R
Reserved
0
R/W
Reserved
0
R/W
TRF0
0
R
CSMA
1
R/W
CSMA
0
R
REV0
0
R
OUI18
1
R
EXREG
0
R/W
Reserved
x.0
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
Table 9.2 - MII Serial Port Register MAP
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
9.1
Register 0. Control Register
RST
RW, SC
0
LPBK
RW
0
SPEED
RW
1
ANEG_EN
RW
1
PDN
RW
0
MII_DIS
RW
1
ANEG_RST
RW. SC
0
DPLX
RW
0
COLST
RW
0
Reserved
RW
0
Reserved
RW
0
Reserved
RW
0
Reserved
RW
0
Reserved
RW
0
Reserved
RW
0
Reserved
RW
0
RST - Reset
A ‘1’ written to this bit will initiate a reset of the PHY. The bit is self-clearing, and the PHY will return a ‘1’ on
reads to this bit until the reset is completed. Write transactions to this register may be ignored while the
PHY is processing the reset. All PHY registers will be driven to their default states after a reset. The
internal PHY is guaranteed to be ready for normal operation 50 mS after the RST bit is set. Software
driver requires to wait for 50mS after setting the RST bit to high to access the internal PHY again.
LPBK - Loopback
Writing a ‘1’ will put the PHY into loopback mode.
Speed (Speed Selection)
When Auto Negotiation is disabled this bit can be used to manually select the link speed. Writing a ‘1’ to
this bit selects 100 Mbps, a ‘0’ selects 10 Mbps.
When Auto-Negotiation is enabled reading or writing this bit has no meaning/effect.
ANEN_EN - Auto-Negotiation Enable
Auto-negotiation (ANEG) is on when this bit is ‘1’. In that case the contents of bits Speed and Duplex are
ignored and the ANEG process determines the link configuration.
PDN - Power down
Setting this bit to ‘1’ will put the PHY in PowerDown mode. In this state the PHY will respond to
management transactions.
MII_DIS - MII DISABLE
Setting this bit will set the PHY to an isolated mode in which it will respond to MII management frames over
the MII management interface but will ignore data on the MII data interface. The internal PHY is placed in
isolation mode at power up and reset. It can be removed from isolation mode by clearing the MII_DIS bit
in the PHY Control Register. If necessary, the internal PHY can be enabled by clearing the EXT_PHY bit
in the Configuration Register.
ANEG_RST - Auto-Negotiation Reset
This bit will return 0 if the PHY does not support ANEG or if ANEG is disabled through the ANEG_EN bit. If
neither of the previous is true, setting this bit to ‘1’ resets the ANEG process. This bit is self clearing and
the PHY will return a ‘1’ until ANEG is initiated, writing a ‘0’ does not affect the ANEG process.
Rev. 1.4 (12-12-03)
Page 72
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
DPLX - Duplex mode
When Auto Negotiation is disabled this bit can be used to manually select the link duplex state. Writing a
‘1’ to this bit selects full duplex while a ‘0’ selects half duplex.
When Auto-Negotiation is enabled reading or writing this bit has no effect.
COLTST - Collision test
Setting a ‘1’ allows for testing of the MII COL signal. ‘0’ allows normal operation.
Reserved:
9.2
Reserved, Must be 0 for Proper Operation
Register 1. Status Register
CAP_T4
R
0
CAP_TXF
R
1
Reserved
R
0
CAP_SUPR
R
0
CAP_TXH
R
1
ANEG_ACK
R
0
CAP_TF
R
1
CAP_TH
R
1
REM_FLT
R, LH
0
Reserved
R
0
CAP_ANEG
R
1
LINK
R, LL
0
Reserved.
R
0
Reserved
R
0
JAB
R, LH
0
EXREG
R
1
CAP_T4 - 100BASE-T4 Capable
‘1’ Indicates 100Base-T4 capable PHY, ‘0’ not capable.
CAP_TXF - 100BASE-TX Full Duplex Capable
‘1’ Indicates 100Base-X full duplex capable PHY, ‘0’ not capable.
CAP_TXH - 100BASE-TX Half Duplex Capable
‘1’ Indicates 100Base-X alf duplex capable PHY, ‘0’ not capable.
CAP_TF - 10BASE-T Full Duplex Capable
‘1’ Indicates 10Mbps full duplex capable PHY, ‘0’ not capable.
CAP_TH - 10BASE-T Half Duplex Capable
‘1’ Indicates 10Mbps half duplex capable PHY, ‘0’ not capable.
Reserved:
Reserved, Must be 0 for Proper Operation.
CAP_SUPR - MI Preamble Suppression Capable
‘1’ indicates the PHY is able to receive management frames even if not preceded by a preamble. ‘0’ when
it is not able.
SMSC LAN91C111 Rev. B
Page 73
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
ANEG_ACK - Auto-Negotiation Acknowledgment
When read as ‘1’ indicate ANEG has been completed and that contents in registers 4,5,6 and 7 are valid.
‘0’ means ANEG has not completed and contents in registers 4,5,6 and 7 are meaningless. The PHY
returns zero if ANEG is disabled.
REM_FLT- Remote Fault Detect
‘1’ indicates a Remote Fault. Latches the ‘1’ condition and is cleared by reading this register or reseting the
PHY.
CAP_ANEG - AutoNegotiation Capable
Indicates the ability (‘1’) to perform ANEG or not (‘0’).
LINK - Link Status
A ‘1’ indicates a valid Link and a ‘0’ and invalid Link. The ‘0’ condition is latched until this register is read.
JAB - Jabber Detect
Jabber condition detected when ‘1’ for 10Mbps. ‘1’ latched until this register is read or the PHY is reset.
Always ‘0’ for 100Mbps
EXREG - Extended Capability register
‘1’ Indicates extended registers are implemented
9.3
Register 2&3. PHY Identifier Register
These two registers (offsets 2 and 3) provide a 32-bit value unique to the PHY.
REG
BITS
NAME
DEFAULT VALUE
R/W
SOFT RESET
2
15-0
Company ID
0000000000010110
R
Retains Original Value
3
15-10
Company ID
111110
R
Retains Original Value
3
9-4
Manufacturer's ID
000100
R
Retains Original Value
3
3-0
Manufacturer's Revision #
----
R
Retains Original Value
9.4
Register 4. Auto-Negotiation Advertisement Register
NP
RW
0
ACK
R
0
RF
RW
0
Reserved
RW
0
Reserved
RW
0
Reserved
RW
0
T4
RW
0
TX_FDX
RW
1
TX_HDX
RW
1
10_FDX
RW
1
10_HDX
RW
1
Reserved
RW
0
Reserved
RW
0
Reserved
RW
0
Reserved
RW
0
CSMA
RW
1
This register control the values transmitted by the PHY to the remote partner when advertising its abilities
Rev. 1.4 (12-12-03)
Page 74
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
NP - Next Page
A ‘1’ indicates the PHY wishes to exchange Next Page information.
ACK - Acknowledge
It is used by the Auto-negotiation function to indicate that a device has successfully received its Link
Partner’s Link code Word.
RF - Remote Fault
When set, an advertisement frame will be sent with the corresponding bit set. This in turn will cause the
PHY receiving it to set the Remote Fault bit in its Status register
T4 - 100BASE-T4
A '1' indicates the PHY is capable of 100BASE-T4
TX_FDX - 100BASE-TX Full Duplex Capable
A '1' indicates the PHY is capable of 100BASE-TX Full Duplex
TX_HDX - 100BASE-TX Half Duplex Capable
A '1' indicates the PHY is capable of 100BASE-TX Half Duplex
10_FDX - 10BASE-T Full Duplex Capable
A '1' indicates the PHY is capable of 10BASE-T Full Duplex
10_HDX - 10BASE-T Half Duplex Capable
A '1' indicates the PHY is capable of 10BASE-T Half Duplex
The management entity sets the value of this field prior to AutoNegotiation.
‘1’ in these bit indicates that the mode of operation that corresponds to these will be acceptable to be autonegotiated to. Only modes supported by the PHY can be set.
CSMA
A '1' indicates the PHY is capable of 802.3 CSMA Operation
SMSC LAN91C111 Rev. B
Page 75
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
9.5
Register 5. Auto-Negotiation Remote End Capability Register
NP
R
0
ACK
R
0
RF
R
0
Reserved
R
0
Reserved
R
0
Reserved
R
0
T4
R
0
TX_FDX
R
0
TX_HDX
R
0
10_FDX
R
0
10_HDX
R
0
Reserved
R
0
Reserved
R
0
Reserved
R
0
Reserved
R
0
CSMA
R
0
The bit definitions are analogous to the Auto Negotiation Advertisement Register.
9.6
Register 16. Configuration 1- Structure and Bit Definition
LNKDIS
RW
0
XMTDIS
RW
0
XMTPDN
RW
0
Reserved
RW
0
Reserved
RW
0
BYPSCR
RW
0
UNSCDS
RW
0
EQLZR
RW
0
CABLE
RW
0
RLVL0
RW
0
TLVL3
RW
1
TLVL2
RW
0
TLVL1
RW
0
TLVL0
RW
0
TRF1
RW
1
TRF0
RW
0
LNKDIS:
Link Disable
1 = Receive Link Detect Function Disabled (Force Link Pass)
0 = Normal
XMTDIS:
TP Transmit
1 = TP Transmitter Disabled
0 = Normal
XMTPDN:
TP Transmit
Powerdown
1 = TP Transmitter Powered Down
0 = Normal
RESERVED:
RESERVED
Reserved, Must be 0 for Proper Operation
BYPSCR:
Bypass
Scrambler/Descrambler Select
1 = Bypass Scrambler/Descrambler
0 = No Bypass
UNSCDS:
Unscrambled Idle
Reception Disable
1 = Disable AutoNegotiation with devices that transmit unscrambled
idle on powerup and various instances
0 = Enables AutoNegotiation with devices that transmit unscrambled idle on
powerup and various instances
EQLZR:
Receive Equalizer
Select
1 = Receive Equalizer Disabled, Set To 0 Length
0 = Receive Equalizer On (For 100MB Mode Only)
CABLE
Cable Type Select
1 = STP (150 Ohm)
0 = UTP (100 Ohm)
RLVL0
Receive Input
Level Adjust
1 = Receive Squelch Levels Reduced By 4.5 dB R/W
0 = Normal
TLVL0-3
Transmit OutputSee Table 7.2
Level Adjust
Rev. 1.4 (12-12-03)
Page 76
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
TRF0-1
9.7
Transmitter
Rise/Fall Time
Adjust
11 = -0.25nS
10 = +0.0nS
01 = +0.25nS
00 = +0.50nS
Register 17. Configuration 2 - Structure and Bit Definition
Reserved
R
1
Reserved
R
1
Reserved
R
1
Reserved
R
1
Reserved
R
1
Reserved
R
1
Reserved
R
1
Reserved
R
1
Reserved
R
0
Reserved
R
0
APOLDIS
RW
0
JABDIS
RW
0
MREG
RW
0
INTMDIO
RW
0
Reserved
RW
0
Reserved
RW
0
APOLDIS:
Auto Polarity Disable
JABDIS:
Jabber Disable Select
MREG:
Multiple Register Access Enable
1 = Multiple Register Access Enabled
0 = No Multiple Register Access
INTMDIO:
Interrupt Scheme Select
1 = Interrupt Signaled With MDIO Pulse During Idle
0 = Interrupt Not Signaled On MDIO
Reserved:
Reserved for Factory Use
9.8
1 = Auto Polarity Correction Function Disabled
0 = Normal
1 = Jabber Disabled R/W
0 = Enabled
Register 18. Status Output - Structure and Bit Definition
INT
R
0
SPDDET
R/LT
1
LNKFAIL
R/LT
0
LOSSSYNC
R/LT
0
DPLXDET
R/LT
0
Reserved
R
0
CWRD
R/LT
0
SSD
R/LT
0
ESD
R/LT
0
RPOL
R/LT
0
JAB
R/LT
0
Reserved
R
0
Reserved
Reserved
R
0
Reserved
R
0
Reserved
R
0
R
0
INT:
Interrupt Detect
1 = Interrupt Bit(s) Have Changed Since Last Read Operation.
0 = No Change
LNKFAIL:
Link Fail Detect
1 = Link Not Detected
0 = Normal
LOSSSYNC:
Descrambler Loss of
Synchronization Detect
1 = Descrambler Has Lost Synchronization
0 = Normal
CWRD:
Codeword Error
1 = Invalid 4B5B Code Detected On Receive Data
0 = Normal
SSD:
Start Of Stream Error
1 = No Start Of Stream Delimiter Detected on Receive Data
0 = Normal
ESD:
End Of Stream Error
1 = No End Of Stream Delimiter Detected on Receive Data
0 = Normal
SMSC LAN91C111 Rev. B
Page 77
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
RPOL:
Reverse Polarity Detect
1 = Reverse Polarity Detected
0 = Normal
JAB:
Jabber Detect
1 = Jabber Detected
0 = Normal
SPDDET:
100/10 Speed Detect
1 = Device in 100Mbps Mode (100BASE-TX)
0 = Device in 10Mbps Mode (10BASE-T)
DPLXDET:
Duplex Detect
1 = Device In Full Duplex
0 = Device In Half Duplex
Reserved:
9.9
Reserved
Reserved for Factory Use
Register 19. Mask - Structure and Bit Definition
MINT
RW
1
MLNKFAIL
RW
1
MLOSSSYN
RW
1
MSPDDT
MDPLDT
Reserved
RW
RW
RW
1
1
0
MINT:
Interrupt Mask Interrupt Detect
MCWRD
RW
1
Reserved
RW
0
MSSD
RW
1
MESD
RW
1
MRPOL
RW
1
MJAB
RW
1
Reserved Reserved
Reserved
Reserved
RW
RW
RW
RW
0
0
0
0
1 = Mask Interrupt For INT In Register 18
0 = No Mask
MLNKFAIL:
Interrupt Mask Link Fail Detect
1 = Mask Interrupt For LNKFAIL In Register 18
0 = No Mask
MLOSSSYN:
Interrupt Mask Descrambler Loss
of Synchronization Detect
1 = Mask Interrupt For LOSSSYNC In Register 18
0 = No Mask
MCWRD:
Interrupt Mask Codeword Error
1 = Mask Interrupt For CWRD In Register 18
0 = No Mask
MSSD:
Interrupt Mask Start Of Stream Error
1 = Mask Interrupt For SSD In Register 18
0 = No Mask
MESD:
Interrupt Mask End Of Stream Error
1 = Mask Interrupt For ESD In Register 18
0 = No Mask
MRPOL:
Interrupt Mask Reverse Polarity Detect
1 = Mask Interrupt For RPOL In Register 18
0 = No Mask
MJAB:
Interrupt Mask Jabber Detect
1 = Mask Interrupt For JAB In Register 18
0 = No Mask
MSPDDT:
Interrupt Mask 100/10 Speed Detect
1 = Mask Interrupt For SPDDET In Register 18
0 = No Mask
MDPLDT:
Interrupt Mask Duplex Detect
1 = Mask Interrupt For DPLXDET In Register 18
0 = No Mask
Reserved:
Reserved
Reserved for Factory Use
Rev. 1.4 (12-12-03)
Page 78
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
9.10
Register 20. Reserved - Structure and Bit Definition
Reserved
RW
0
Reserved
RW
0
Reserved
RW
0
Reserved
RW
0
Reserved
RW
0
Reserved
RW
0
Reserved
RW
0
Reserved
RW
0
Reserved
RW
1
Reserved
RW
0
Reserved
RW
1
Reserved
RW
0
Reserved
RW
0
Reserved
RW
0
Reserved
RW
0
Reserved
RW
0
Reserved:
SMSC LAN91C111 Rev. B
Reserved for Factory Use
Page 79
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
Chapter 10 Software Driver and Hardware Sequence
Flow
10.1
Software Driver and Hardware Sequence Flow for Power
Management
This section describes the sequence of events and the interaction between the Host Driver and the
Ethernet controller to perform power management. The Ethernet controller has the ability to reduce its
power consumption when the Device is not required to receive or transmit Ethernet Packets.
Power Management is obtained by disabling the EPH clocks, including the Clocks derived from the Internal
PHY block to reduce internal switching, this reducing current consumption.
The Host interface however, will still be accessible. As discussed in Table 10.1 - Typical Flow Of Events
For Placing Device In Low Power Mode and Table 10.2 - Flow Of Events For Restoring Device In Normal
Power Mode, the tables describe the interaction between the EPH and Host driver allowing the Device to
transition from low power state to normal functionality and vice versa.
Table 10.1 - Typical Flow Of Events For Placing Device In Low Power Mode
1
2
3
4
S/W DRIVER
Disable Transmitter – Clear the TXENA bit of
the Transmit Control Register
Remove and release all TX completion packet
numbers on the TX completion FIFO.
Disable Receiver – Clear the RXEN bit of the
Receive Control Register.
5
Process all Received packets and Issue a
Remove and Release command for each
respective RX packet buffer.
Disable Interrupt sources – Clear the Interrupt
Status Register
Save Device Context – Save all Specific
Register Values set by the driver.
6
Set PDN bit in PHY MI Register 0 to 1
7
8
CONTROLLER FUNCTION
Ethernet MAC finishes packet currently being
transmitted.
The receiver completes receiving the current
frame, if any, and then goes idle. Ethernet MAC
will no longer receive any packets.
RX and TX completion FIFO’s are now Empty
and all MMU packet numbers are now free.
The internal PHY entered in powerdown mode,
the TP outputs are in high impedance state.
Write to the “EPH Power EN” Bit located in the
configuration register, Bank 1 Offset 0.
9
Rev. 1.4 (12-12-03)
Ethernet MAC gates the RX Clock, TX clock
derived from the Internal PHY. The EPH Clock is
also disabled.
Page 80
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
10
S/W DRIVER
The Ethernet MAC is now in low power mode.
The Host may access all Runtime IO mapped
registers. All IO registers are still accessible.
However, the Host should not read or write to
the registers with the exception of:
a) Configuration Register
b)
Control Register
c)
Bank Register
CONTROLLER FUNCTION
Table 10.2 - Flow Of Events For Restoring Device In Normal Power Mode
1
S/W DRIVER
Write and set (1) the “EPH Power EN” Bit, located
in the configuration register, Bank 1 Offset 0.
2
3
Ethernet MAC Enables the RX Clock, TX clock
derived from the Internal PHY. The EPH Clock is
also enabled.
Write the PDN bit in PHY MI Register 0 to 0
4
Internal PHY entered normal operation mode
5
Issue MMU Reset Command
6
7
Restore Device Register Level Context.
Enable Transmitter – Set the TXENA bit of the
Transmit Control Register
Enable Receiver – Set (1) the RXEN bit of the
Receive Control Register.
8
9
10.2
1
2
3
CONTROLLER FUNCTION
Ethernet MAC can now transmit Ethernet
Packets.
Ethernet MAC is now able to receive Packets.
Ethernet MAC is now restored for normal
operation.
Typical Flow of Events for Transmit (Auto Release = 0)
S/W DRIVER
ISSUE ALLOCATE MEMORY FOR TX - N
BYTES - the MMU attempts to allocate N bytes
of RAM.
WAIT FOR SUCCESSFUL COMPLETION
CODE - Poll until the ALLOC INT bit is set or
enable its mask bit and wait for the interrupt.
The TX packet number is now at the Allocation
Result Register.
LOAD TRANSMIT DATA - Copy the TX packet
number into the Packet Number Register. Write
the Pointer Register, then use a block move
operation from the upper layer transmit queue
into the Data Register.
SMSC LAN91C111 Rev. B
Page 81
DATASHEET
MAC SIDE
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
4
S/W DRIVER
ISSUE "ENQUEUE PACKET NUMBER TO TX
FIFO" - This command writes the number
present in the Packet Number Register into the
TX FIFO. The transmission is now enqueued.
No further CPU intervention is needed until a
transmit interrupt is generated.
MAC SIDE
5
The enqueued packet will be transferred to the
MAC block as a function of TXENA (nTCR) bit
and of the deferral process (1/2 duplex mode
only) state.
6
a)
Upon transmit completion the first word in
memory is written with the status word. The
packet number is moved from the TX FIFO
into the TX completion FIFO. Interrupt is
generated by the TX completion FIFO being
not empty.
b)
If a TX failure occurs on any packets, TX
INT is generated and TXENA is cleared,
transmission sequence stops. The packet
number of the failure packet is presented at
the TX FIFO PORTS Register.
7
a)
SERVICE INTERRUPT - Read Interrupt
Status Register. If it is a transmit interrupt,
read the TX FIFO Packet Number from the
FIFO Ports Register. Write the packet
number into the Packet Number Register.
The corresponding status word is now
readable from memory. If status word
shows successful transmission, issue
RELEASE packet number command to free
up the memory used by this packet.
Remove packet number from completion
FIFO by writing TX INT Acknowledge
Register.
b)
Option 1) Release the packet.
Option 2) Check the transmit status in the
EPH STATUS Register, write the packet
number of the current packet to the Packet
Number Register, re-enable TXENA, then
go to step 4 to start the TX sequence again.
Rev. 1.4 (12-12-03)
Page 82
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
10.3
1
2
3
4
Typical Flow of Events for Transmit (Auto Release = 1)
S/W DRIVER
ISSUE ALLOCATE MEMORY FOR TX - N
BYTES - the MMU attempts to allocate N bytes
of RAM.
WAIT FOR SUCCESSFUL COMPLETION
CODE - Poll until the ALLOC INT bit is set or
enable its mask bit and wait for the interrupt.
The TX packet number is now at the Allocation
Result Register.
LOAD TRANSMIT DATA - Copy the TX packet
number into the Packet Number Register. Write
the Pointer Register, then use a block move
operation from the upper layer transmit queue
into the Data Register.
ISSUE "ENQUEUE PACKET NUMBER TO TX
FIFO" - This command writes the number
present in the Packet Number Register into the
TX FIFO. The transmission is now enqueued.
No further CPU intervention is needed until a
transmit interrupt is generated.
5
The enqueued packet will be transferred to the
MAC block as a function of TXENA (nTCR) bit
and of the deferral process (1/2 duplex mode
only) state.
Transmit pages are released by transmit
completion.
6
7
8
MAC SIDE
a)
SERVICE INTERRUPT – Read Interrupt
Status Register, exit the interrupt service
routine.
b)
Option 1) Release the packet.
a)
The MAC generates a TXEMPTY interrupt
upon a completion of a sequence of
enqueued packets.
b)
If a TX failure occurs on any packets, TX
INT is generated and TXENA is cleared,
transmission sequence stops. The packet
number of the failure packet is presented at
the TX FIFO PORTS Register.
Option 2) Check the transmit status in the
EPH STATUS Register, write the packet
number of the current packet to the Packet
Number Register, re-enable TXENA, then
go to step 4 to start the TX sequence again.
SMSC LAN91C111 Rev. B
Page 83
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
10.4
1
Typical Flow of Event For Receive
S/W DRIVER
ENABLE RECEPTION - By setting the RXEN
bit.
2
A packet is received with matching address.
Memory is requested from MMU. A packet
number is assigned to it. Additional memory is
requested if more pages are needed.
The internal DMA logic generates sequential
addresses and writes the receive words into
memory. The MMU does the sequential to
physical address translation. If overrun, packet
is dropped and memory is released.
When the end of packet is detected, the status
word is placed at the beginning of the receive
packet in memory. Byte count is placed at the
second word. If the CRC checks correctly the
packet number is written into the RX FIFO. The
RX FIFO, being not empty, causes RCV INT
(interrupt) to be set. If CRC is incorrect the
packet memory is released and no interrupt will
occur.
3
4
5
MAC SIDE
SERVICE INTERRUPT - Read the Interrupt
Status Register and determine if RCV INT is set.
The next receive packet is at receive area. (Its
packet number can be read from the FIFO Ports
Register). The software driver can process the
packet by accessing the RX area, and can move
it out to system memory if desired. When
processing is complete the CPU issues the
REMOVE AND RELEASE FROM TOP OF RX
command to have the MMU free up the used
memory and packet number.
Rev. 1.4 (12-12-03)
Page 84
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
ISR
Save Bank Select & Address
Ptr Registers
Mask SMC91C111
Interrupts
Read Interrupt Register
No
Yes
RX INTR?
Yes
TX INTR?
Call TX INTR or TXEMPTY
INTR
No
Call RXINTR
Get Next TX
ALLOC INTR?
Packet
Available for
Transmission?
Yes
No
Yes
Write Allocated Pkt # into
Packet Number Reg.
No
Call ALLOCATE
Write Ad Ptr Reg. & Copy Data
& Source Address
Enqueue Packet
EPH INTR?
Yes
No
Set "Ready for Packet" Flag
Call EPH INTR
Return Buffers to Upper Layer
MDINT?
Disable Allocation Interrupt
Mask
Yes
Restore Address Pointer &
Bank Select Registers
Call MDINT
Unmask SMC91C111
Interrupts
Exit ISR
Figure 10.1 - Interrupt Service Routine
SMSC LAN91C111 Rev. B
Page 85
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
RX INTR
Write Ad. Ptr. Reg. & Read
Word 0 from RAM
Yes
Destination
Multicast?
No
Read Words 2, 3, 4 from RAM
for Address Filtering
No
No
Address
Filtering Pass?
Status Word
OK?
Yes
Yes
Do Receive Lookahead
Get Copy Specs from Upper
Layer
No
Okay to
Copy?
Yes
Copy Data Per Upper Layer
Specs
Issue "Remove and Release"
Command
Return to ISR
Figure 10.2 - RX INTR
Rev. 1.4 (12-12-03)
Page 86
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
TX Interrupt With AUTO_RELEASE = FALSE
1. Save the Packet Number Register
Saved_PNR = Read Byte (Bank 2, Offset 2)
2. Read the EPH Status Register
Temp = Read (Bank 0, Offset 2)
3. Acknowledge TX Interrupt
Write Byte (0x02, (Bank 2, Offset C));
4. Check for Status of Transmission
If ( Temp AND 0x0001)
{
//If Successful Transmission
Step 4.1.1: Issue MMU Release (Release Specific Packet)
Write (0x00A0, (Bank2, Offset 0));
Step 4.1.2: Return from the routine
}
else
{
//Transmission has FAILED
// Now we can either release or re-enqueue the packet
Step 4.2.1: Get the packet to release/re-enqueue, stored in FIFO
Temp = Read (Bank 2, Offset 4)
Temp = Temp & 0x003F
Step 4.2.2: Write to the PNR
Write (Temp, (Bank2, Offset 2))
Step 4.2.3
// Option 1: Release the packet
Write (0x00A0, (Bank2, Offset 0));
//Option 2: Re-Enqueue the packet
Write (0x00C0, (Bank2, Offset 0));
Step 4.2.4: Re-Enable Transmission
Temp = Read(Bank0, Offset 0);
Temp = Temp2 OR 0x0001
Write (Temp2, (Bank 0, Offset 0));
Step 4.2.5: Return from the routine
}
5. Restore the Packet Number Register
Write Byte (Saved_PNR, (Bank 2, Offset 2))
Figure 10.3 - TX INTR
SMSC LAN91C111 Rev. B
Page 87
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
TXEMPTY INTR
Write Acknowledge Reg. with
TXEMPTY Bit Set
Read TXEMPTY & TX INTR
TXEMPTY = 0
&
TXINT = 0
(Waiting for Completion)
TXEMPTY = X
&
TXINT = 1
(Transmission Failed)
TXEMPTY = 1
&
TXINT = 0
(Everything went through
successfully)
Read Pkt. # Register & Save
Write Address Pointer
Register
Read Status Word from RAM
Update Statistics
Issue "Release" Command
Update Variables
Acknowledge TXINTR
Re-Enable TXENA
Restore Packet Number
Return to ISR
Figure 10.4 - TXEMPTY INTR (Assumes Auto Release Option Selected)
Rev. 1.4 (12-12-03)
Page 88
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
D R IV E R S E N D
A L L O C ATE
C h o o se B a n k S e le ct
R e g iste r 2
Issu e "A llo ca te M e m o ry"
C o m m a n d to M M U
C a ll A L L O C ATE
R e a d In te rru p t S ta tu s R e g iste r
E xit D rive r S e n d
Ye s
A llo ca tio n
Pa sse d ?
No
R e a d A llo ca tio n R e su lt
R e g iste r
W rite A llo ca te d Pa cke t in to
Pa cke t # R e g iste r
S to re D a ta B u ffe r Po in te r
W rite A d d re ss Po in te r R e g iste r
C le a r "R e a d y fo r Pa cke t" Fla g
C o py Pa rt o f TX D a ta Pa cke t
in to R A M
E n a ble A llo ca tio n In te rru p t
W rite S o u rce A d d re ss in to
P ro p e r L o ca tio n
C o py R e m a in in g T X D a ta
Pa cke t in to R A M
E n q u e u e Pa cke t
S e t "R e a d y fo r Pa cke t" Fla g
R e tu rn B u ffe rs to U p p e r L aye r
Re tu rn
Figure 10.5 - Drive Send and Allocate Routines
MEMORY PARTITIONING
Unlike other controllers, the LAN91C111 does not require a fixed memory partitioning between transmit
and receive resources. The MMU allocates and de-allocates memory upon different events. An additional
mechanism allows the CPU to prevent the receive process from starving the transmit memory allocation.
Memory is always requested by the side that needs to write into it, that is: the CPU for transmit or the MAC
for receive. The CPU can control the number of bytes it requests for transmit but it cannot determine the
number of bytes the receive process is going to demand. Furthermore, the receive process requests will
be dependent on network traffic, in particular on the arrival of broadcast and multicast packets that might
not be for the node, and that are not subject to upper layer software flow control.
SMSC LAN91C111 Rev. B
Page 89
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
INTERRUPT GENERATION
The interrupt strategy for the transmit and receive processes is such that it does not represent the
bottleneck in the transmit and receive queue management between the software driver and the controller.
For that purpose there is no register reading necessary before the next element in the queue (namely
transmit or receive packet) can be handled by the controller. The transmit and receive results are placed
in memory.
The receive interrupt will be generated when the receive queue (FIFO of packets) is not empty and receive
interrupts are enabled. This allows the interrupt service routine to process many receive packets without
exiting, or one at a time if the ISR just returns after processing and removing one.
There are two types of transmit interrupt strategies:
1)
One interrupt per packet.
2)
One interrupt per sequence of packets.
The strategy is determined by how the transmit interrupt bits and the AUTO RELEASE bit are used.
TX INT bit - Set whenever the TX completion FIFO is not empty.
TX EMPTY INT bit - Set whenever the TX FIFO is empty.
AUTO RELEASE - When set, successful transmit packets are not written into completion FIFO, and their
memory is released automatically.
1)
One interrupt per packet: enable TX INT, set AUTO RELEASE=0. The software driver can find the
completion result in memory and process the interrupt one packet at a time. Depending on the
completion code the driver will take different actions. Note that the transmit process is working in
parallel and other transmissions might be taking place. The LAN91C111 is virtually queuing the
packet numbers and their status words.
In this case, the transmit interrupt service routine can find the next packet number to be serviced by
reading the TX FIFO PACKET NUMBER at the FIFO PORTS register. This eliminates the need for
the driver to keep a list of packet numbers being transmitted. The numbers are queued by the
LAN91C111 and provided back to the CPU as their transmission completes.
2)
One interrupt per sequence of packets: Enable TX EMPTY INT and TX INT, set AUTO RELEASE=1.
TX EMPTY INT is generated only after transmitting the last packet in the FIFO.
TX INT will be set on a fatal transmit error allowing the CPU to know that the transmit process has
stopped and therefore the FIFO will not be emptied.
This mode has the advantage of a smaller CPU overhead, and faster memory de-allocation. Note that
when AUTO RELEASE=1 the CPU is not provided with the packet numbers that completed
successfully.
Note:
The pointer register is shared by any process accessing the LAN91C111 memory. In order to allow
processes to be interruptable, the interrupting process is responsible for reading the pointer value before
modifying it, saving it, and restoring it before returning from the interrupt.
Typically there would be three processes using the pointer:
1)
Transmit loading (sometimes interrupt driven)
2)
Receive unloading (interrupt driven)
3)
Transmit Status reading (interrupt driven).
1) and 3) also share the usage of the Packet Number Register. Therefore saving and restoring the PNR is
also required from interrupt service routines.
Rev. 1.4 (12-12-03)
Page 90
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
INTERRUPT
'NOT EMPTY'
STATUS REGISTER
RCV
INT
TWO
PACKET NUMBER
RX FIFO
PACKET NUMBER
REGISTER
TX EMPTY
INT
OPTIONS
TX
INT
ALLOC
INT
RX
FIFO
TX
FIFO
'EMPTY'
RX PACKET
NUMBER
TX COMPLETION
FIFO
'NOT EMPTY'
TX DONE
PACKET NUMBER
CSMA ADDRESS
CPU ADDRESS
CSMA/CD
LOGICAL
ADDRESS
PACKET #
MMU
M.S. BIT ONLY
PACK # OUT
PHYSICAL ADDRESS
RAM
Figure 10.6 - Interrupt Generation for Transmit, Receive, MMU
SMSC LAN91C111 Rev. B
Page 91
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
Chapter 11 Board Setup Information
The following parameters are obtained from the EEPROM as board setup information:
ETHERNET INDIVIDUAL ADDRESS
I/O BASE ADDRESS
MII INTERFACE
All the above mentioned values are read from the EEPROM upon hardware reset. Except for the
INDIVIDUAL ADDRESS, the value of the IOS switches determines the offset within the EEPROM for these
parameters, in such a way that many identical boards can be plugged into the same system by just
changing the IOS jumpers.
In order to support a software utility based installation, even if the EEPROM was never programmed, the
EEPROM can be written using the LAN91C111. One of the IOS combination is associated with a fixed
default value for the key parameters (I/O BASE) that can always be used regardless of the EEPROM
based value being programmed. This value will be used if all IOS pins are left open or pulled high.
The EEPROM is arranged as a 64 x 16 array. The specific target device is the 9346 1024-bit Serial
EEPROM. All EEPROM accesses are done in words. All EEPROM addresses in the spec are specified as
word addresses.
Configuration Register
EEPROM WORD
ADDRESS
IOS Value * 4
Base Register
(IOS Value * 4) + 1
REGISTER
INDIVIDUAL ADDRESS 20-22 hex
If IOS2-IOS0 = 7, only the INDIVIDUAL ADDRESS is read from the EEPROM. Currently assigned values
are assumed for the other registers. These values are default if the EEPROM read operation follows
hardware reset.
The EEPROM SELECT bit is used to determine the type of EEPROM operation: a) normal or b) general
purpose register.
1)
NORMAL EEPROM OPERATION - EEPROM SELECT bit = 0
On EEPROM read operations (after reset or after setting RELOAD high) the CONFIGURATION
REGISTER and BASE REGISTER are updated with the EEPROM values at locations defined by the
IOS2-0 pins. The INDIVIDUAL ADDRESS registers are updated with the values stored in the
INDIVIDUAL ADDRESS area of the EEPROM.
On EEPROM write operations (after setting the STORE bit) the values of the CONFIGURATION
REGISTER and BASE REGISTER are written in the EEPROM locations defined by the IOS2-IOS0
pins.
The three least significant bits of the CONTROL REGISTER (EEPROM SELECT, RELOAD and
STORE) are used to control the EEPROM. Their values are not stored nor loaded from the EEPROM.
2)
GENERAL PURPOSE REGISTER - EEPROM SELECT bit = 1
On EEPROM read operations (after setting RELOAD high) the EEPROM word address defined by the
POINTER REGISTER 6 least significant bits is read into the GENERAL PURPOSE REGISTER.
Rev. 1.4 (12-12-03)
Page 92
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
On EEPROM write operations (after setting the STORE bit) the value of the GENERAL PURPOSE
REGISTER is written at the EEPROM word address defined by the POINTER REGISTER 6 least
significant bits.
RELOAD and STORE are set by the user to initiate read and write operations respectively. Polling the
value until read low is used to determine completion. When an EEPROM access is in progress the
STORE and RELOAD bits of CTR will readback as both bits high. No other bits of the LAN91C111
can be read or written until the EEPROM operation completes and both bits are clear. This
mechanism is also valid for reset initiated reloads.
Note:
If no EEPROM is connected to the LAN91C111, for example for some embedded applications, the ENEEP
pin should be grounded and no accesses to the EEPROM will be attempted. Configuration, Base, and
Individual Address assume their default values upon hardware reset and the CPU is responsible for
programming them for their final value.
SMSC LAN91C111 Rev. B
Page 93
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
16 BITS
IOS2-0
WORD ADDRESS
000
0h
CONFIGURATION REG.
1h
BASE REG.
4h
CONFIGURATION REG.
5h
BASE REG.
8h
CONFIGURATION REG.
9h
BASE REG.
Ch
CONFIGURATION REG.
Dh
BASE REG.
10h
CONFIGURATION REG.
11h
BASE REG.
14h
CONFIGURATION REG.
15h
BASE REG.
18h
CONFIGURATION REG.
19h
BASE REG.
20h
IA0-1
21h
IA2-3
22h
IA4-5
001
010
011
100
101
110
XXX
Figure 11.1
- 64 X
16 Serial EEPROM Map
Rev. 1.4 (12-12-03)
Page 94
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
Chapter 12 Application Considerations
The LAN91C111 is envisioned to fit a few different bus types. This section describes the basic guidelines,
system level implications and sample configurations for the most relevant bus types. All applications are
based on buffered architectures with a private SRAM bus.
FAST ETHERNET SLAVE ADAPTER
Slave non-intelligent board implementing 100 Mbps and 10 Mbps speeds.
Adapter requires:
1)
LAN91C111 chip
2)
Serial EEPROM (93C46)
3)
Some bus specific glue logic
Target systems:
1)
VL Local Bus 32 bit systems
2)
High-end ISA or non-burst EISA machines
3)
EISA 32 bit slave
VL Local Bus 32 Bit Systems
On VL Local Bus and other 32 bit embedded systems the LAN91C111 is accessed as a 32 bit peripheral in
terms of the bus interface. All registers except the DATA REGISTER will be accessed using byte or word
instructions. Accesses to the DATA REGISTER could use byte, word, or dword instructions.
Table 12.1 - VL Local Bus Signal Connections
VL BUS
SIGNAL
A2-A15
LAN91C111
SIGNAL
A2-A15
M/nIO
AEN
W/nR
W/nR
nRDYRTN
nLRDY
nRDYRTN
nSRDY and
some logic
LCLK
LCLK
nRESET
nBE0 nBE1
nBE2 nBE3
nADS
RESET
nBE0 nBE1
nBE2 nBE3
nADS, nCYCLE
IRQn
INTR0
SMSC LAN91C111 Rev. B
NOTES
Address bus used for I/O space and register decoding, latched
by nADS rising edge, and transparent on nADS low time.
Qualifies valid I/O decoding - enabled access when low. This
signal is latched by nADS rising edge and transparent on nADS
low time.
Direction of access. Sampled by the LAN91C111 on first rising
clock that has nCYCLE active. High on writes, low on reads.
Ready return. Direct connection to VL bus.
nSRDY has the appropriate functionality and timing to create the
VL nLRDY except that nLRDY behaves like an open drain output
most of the time.
Local Bus Clock. Rising edges used for synchronous bus
interface transactions.
Connected via inverter to the LAN91C111.
Byte enables. Latched transparently by nADS rising edge.
Address Strobe is connected directly to the VL bus. nCYCLE is
created typically by using nADS delayed by one LCLK.
Typically uses the interrupt lines on the ISA edge connector of VL
bus
Page 95
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
VL BUS
SIGNAL
D0-D31
LAN91C111
SIGNAL
D0-D31
NOTES
32 bit data bus. The bus byte(s) used to access the device are a
function of nBE0-nBE3:
nBE0
0
0
1
0
1
1
1
nLDEV
nLDEV
VCC
GND
OPEN
nRD nWR
A1 nVLBUS
nDATACS
Rev. 1.4 (12-12-03)
nBE1
0
0
1
1
0
1
1
nBE2
0
1
0
1
1
0
1
nBE3
0
1
0
1
1
1
0
Double word access
Low word access
High word access
Byte 0 access
Byte 1 access
Byte 2 access
Byte 3 access
Not used = tri-state on reads, ignored on writes. Note that nBE2
and nBE3 override the value of A1, which is tied low in this
application.
nLDEV is a totem pole output. nLDEV is active on valid decodes
of A15-A4 and AEN=0.
UNUSED PINS
Page 96
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
VLBUS
W/nR
W/nR
A2-A15
A2-A15
LCLK
LCLK
M/nIO
AEN
nRESET
RESET
IRQn
LAN91C111
INTR0
D0-D31
D0-D31
nRDYRTN
nRDYRTN
nBE0-nBE3
nBE0-nBE3
nADS
nADS
Delay 1 LCLK
nCYCLE
nSRDY
nLRDY
nLDEV
O.C.
simulated
O.C.
nLDEV
Figure 12.1 - LAN91C111 on VL BUS
SMSC LAN91C111 Rev. B
Page 97
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
HIGH-END ISA OR NON-BURST EISA MACHINES
On ISA machines, the LAN91C111 is accessed as a 16 bit peripheral. The signal connections are listed in
the following table:
Table 12.2 - High-End ISA or Non-Burst EISA Machines Signal Connectors
ISA BUS
SIGNAL
A1-A15
AEN
nIORD
LAN91C111
SIGNAL
A1-A15
AEN
nRD
nIOWR
nWR
IOCHRDY
ARDY
RESET
A0
nSBHE
IRQn
D0-D15
RESET
nBE0
nBE1
INTR0
D0-D15
NOTES
Address bus used for I/O space and register decoding.
Qualifies valid I/O decoding - enabled access when low.
I/O Read strobe - asynchronous read accesses. Address is valid
before leading edge.
I/O Write strobe - asynchronous write access. Address is valid
before leading edge. Data is latched on trailing edge.
This signal is negated on leading nRD, nWR if necessary. It is
then asserted on CLK rising edge after the access condition is
satisfied.
16 bit data bus. The bus byte(s) used to access the device are a
function of nBE0 and nBE1:
nBE0
0
0
1
nIOCS16
nLDEV buffered
GND
VCC
nADS
nBE2, nBE3,
nCYCLE, W/nR,
nRDYRTN,
LCLK
Rev. 1.4 (12-12-03)
nBE1
0
1
0
D0-D7
Lower
Lower
Not used
D8-D15
Upper
Not used
Upper
Not used = tri-state on reads, ignored on writes
nLDEV is a totem pole output. Must be buffered using an open
collector driver. nLDEV is active on valid decodes of A15-A4 and
AEN=0.
UNUSED PINS
No upper word access.
Page 98
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
ISA BUS
A1-A15, AEN
A1-A15, AEN
RESET
RESET
nBE2, nBE3
VCC
D0-D15
D0-D15
LAN91C111
INTR0
IRQ
nIORD
nRD
nIOWR
nWR
A0
nBE0
nBE1
nSBHE
nLDEV
nIOCS16
O.C.
Figure 12.2 - LAN91C111 on ISA BUS
EISA 32 BIT SLAVE
On EISA the LAN91C111 is accessed as a 32 bit I/O slave, along with a Slave DMA type "C" data path
option. As an I/O slave, the LAN91C111 uses asynchronous accesses. In creating nRD and nWR inputs,
the timing information is externally derived from nCMD edges. Given that the access will be at least 1.5 to
2 clocks (more than 180ns at least) there is no need to negate EXRDY, simplifying the EISA interface
implementation. As a DMA Slave, the LAN91C111 accepts burst transfers and is able to sustain the peak
rate of one doubleword every BCLK. Doubleword alignment is assumed for DMA transfers. The
LAN91C111 will sample EXRDY and postpone DMA cycles if the memory cycle solicits wait states.
Table 12.3 - EISA 32 Bit Slave Signal Connections
EISA BUS
SIGNAL
LA2-LA15
LAN91C111
SIGNAL
A2-A15
M/nIO
AEN
AEN
Latched W-R
combined with
nCMD
nRD
SMSC LAN91C111 Rev. B
NOTES
Address bus used for I/O space and register decoding,
latched by nADS (nSTART) trailing edge.
Qualifies valid I/O decoding - enabled access when low.
These signals are externally ORed. Internally the AEN pin is
latched by nADS rising edge and transparent while nADS is
low.
I/O Read strobe - asynchronous read accesses. Address is
valid before its leading edge. Must not be active during DMA
bursts if DMA is supported.
Page 99
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
EISA BUS
SIGNAL
Latched W-R
combined with
nCMD
nSTART
RESDRV
nBE0 nBE1
nBE2 nBE3
IRQn
D0-D31
LAN91C111
SIGNAL
nWR
nADS
RESET
nBE0 n BE1
nBE2 nBE3
INTR0
D0-D31
NOTES
I/O Write strobe - asynchronous write access. Address is
valid before leading edge . Data latched on trailing edge.
Must not be active during DMA bursts if DMA is supported.
Address strobe is connected to EISA nSTART.
Byte enables. Latched on nADS rising edge.
Interrupts used as active high edge triggered
32 bit data bus. The bus byte(s) used to access the device
are a function of nBE0-nBE3:
nBE0
0
0
1
0
1
1
1
nBE1 nBE2
0
0
0
1
1
0
1
1
0
1
1
0
1
1
nBE3
0
1
0
1
1
1
0
Double word access
Low word access
High word access
Byte 0 access
Byte 1 access
Byte 2 access
Byte 3 access
Not used = tri-state on reads, ignored on writes. Note that
nBE2 and nBE3 override the value of A1, which is tied low in
this application. Other combinations of nBE are not supported
by the LAN91C111. Software drivers are not anticipated to
generate them.
nLDEV
nLDEV is a totem pole output. nLDEV is active on valid
nEX32
decodes of LAN91C111 pins A15-A4, and AEN=0. nNOWS is
nNOWS
similar to nLDEV except that it should go inactive on nSTART
(optional
rising. nNOWS can be used to request compressed cycles
additional logic)
(1.5 BCLK long, nRD/nWR will be 1/2 BCLK wide).
THE FOLLOWING SIGNALS SUPPORT SLAVE DMA TYPE "C" BURST CYCLES
BCLK
LCLK
EISA Bus Clock. Data transfer clock for DMA bursts.
nDAK<n>
nDATACS
DMA Acknowledge. Active during Slave DMA cycles. Used
by the LAN91C111 as nDATACS direct access to data path.
nIORC
W/nR
Indicates the direction and timing of the DMA cycles. High
during LAN91C111 writes, low during LAN91C111 reads.
nIOWC
nCYCLE
Indicates slave DMA writes.
nEXRDY
nRDYRTN
VCC
GND
nVLBUS
A1
Rev. 1.4 (12-12-03)
EISA bus signal indicating whether a slave DMA cycle will
take place on the next BCLK rising edge, or should be
postponed. nRDYRTN is used as an input in the slave DMA
mode to bring in EXRDY.
UNUSED PINS
Page 100
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
EISA BUS
LA2- LA15
A2-A15
RESET
RESET
AEN
AEN
M/nIO
D0-D31
D0-D31
INTR0
IRQn
LAN91C111
nBE[0:3]
nCMD
nWR
nBE[0:3]
nRD
LATCH
+
gates
nWR
LCLK
BCLK
nSTART
nADS
nLDEV
nEX32
O.C.
Figure 12.3 - LAN91C111 on EISA BUS
SMSC LAN91C111 Rev. B
Page 101
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
Chapter 13 Operational Description
13.1
Maximum Guaranteed Ratings*
Operating Temperature Range .................... 0°C to +85°C for LAN91C111 (-40°C to 85°C for LAN91C111I)
Storage Temperature Range ..............................................................................................-55C° to + 150°C
Lead Temperature Range (soldering, 10 seconds) ............................................................................+325°C
Positive Voltage on any pin, with respect to Ground .....................................................................VCC + 0.3V
Negative Voltage on any pin, with respect to Ground ........................................................................... -0.3V
Maximum VCC .......................................................................................................................................... +5V
*Stresses above those listed above could cause permanent damage to the device. This is a stress rating
only and functional operation of the device at any other condition above those indicated in the operation
sections of this specification is not implied.
Note:
When powering this device from laboratory or system power supplies, it is important that the Absolute
Maximum Ratings not be exceeded or device failure can result. Some power supplies exhibit voltage
spikes on their outputs when the AC power is switched on or off. In addition, voltage transients on the AC
power line may appear on the DC output. If this possibility exists, it is suggested that a clamp circuit be
used.
13.2
DC Electrical Characteristics
(VCC = +3.3.0 V ± 10%)
PARAMETER
SYMBOL
MIN
TYP
MAX
UNITS
0.8
V
COMMENTS
I Type Input Buffer
Low Input Level
VILI
High Input Level
VIHI
2.0
TTL Levels
V
IS Type Input Buffer
Low Input Level
VILIS
High Input Level
VIHIS
Schmitt Trigger
Hysteresis
Rev. 1.4 (12-12-03)
VHYS
0.8
2.2
250
Page 102
DATASHEET
V
Schmitt Trigger
V
Schmitt Trigger
mV
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
PARAMETER
SYMBOL
MIN
TYP
MAX
UNITS
0.8
V
COMMENTS
ICLK Input Buffer
Low Input Level
VILCK
High Input Level
VIHCK
2.2
IIL
-10
+10
µA
VIN = 0
IIH
-10
+10
µA
VIN = VCC
IIL
-110
µA
VIN = 0
+110
µA
VIN = VCC
0.4
V
IOL = 6 mA
V
IOH = -4 mA
V
Input Leakage
(All I and IS buffers
except pins with
pullups/pulldowns)
Low Input Leakage
High Input Leakage
IP Type Buffers
Input Current
-45
ID Type Buffers
Input Current
IIH
+45
O4 Type Buffer
Low Output Level
VOL
High Output Level
VOH
Output Leakage
IOL
2.4
-10
+10
µA
0.4
V
IOL = 6 mA
V
IOH = -4 mA
VIN = 0 to VCC
I/O4 Type Buffer
Low Output Level
VOL
High Output Level
VOH
Output Leakage
IOL
2.4
-10
+10
µA
0.4
V
IOL = 20 mA
V
IOH = -10 mA
VIN = 0 to VCC
O12 Type Buffer
Low Output Level
VOL
High Output Level
VOH
Output Leakage
SMSC LAN91C111 Rev. B
IOL
2.4
+10
-10
Page 103
DATASHEET
µA
VIN = 0 to VCC
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
PARAMETER
SYMBOL
MIN
TYP
MAX
UNITS
COMMENTS
0.4
V
IOL = 35 mA
V
IOH = -15 mA
O16 Type Buffer
Low Output Level
VOL
High Output Level
VOH
Output Leakage
IOL
2.4
-10
+10
µA
0.4
V
IOL = 35 mA
V
IOH = -15 mA
VIN = 0 to VCC
O24 Type Buffer
Low Output Level
VOL
High Output Level
VOH
Output Leakage
IOL
2.4
-10
+10
µA
0.4
V
IOL = 35 mA
V
IOH = -15 mA
VIN = 0 to VCC
I/O24 Type Buffer
Low Output Level
VOL
High Output Level
VOH
Output Leakage
IOL
2.4
-10
+10
µA
0.4
V
IOL = 4 mA
V
na
+10
µA
VIN = 0 to VCC
VIN = 0 to VCC
I/OD Type Buffer
Low Output Level
VOL
High Output Level
VOH
Output Leakage
IOL
2.4
-10
Supply Current Active
Powerdown Supply
Current
Rev. 1.4 (12-12-03)
ICC
100
140
mA
IPDN
15
38
mA
14
36
mA
Page 104
DATASHEET
Dynamic Current
(Assuming internal PHY
is used)
Internal PHY in
Powerdown mode
Internal MAC+PHY in
Powerdown mode
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
CAPACITANCE TA = 25°C; fc = 1MHz; VCC = 3.3V
LIMITS
PARAMETER
Clock Input Capacitance
Input Capacitance
Output Capacitance
SYMBOL
CIN
MIN
TYP
MAX
20
UNIT
pF
CIN
10
pF
COUT
20
pF
TEST CONDITION
All pins except pin
under test tied to
AC ground
CAPACITIVE LOAD ON OUTPUTS
13.3
ARDY, D0-D31 (non VLBUS)
45 pF
D0-D31 in VLBUS
45 pF
All other outputs
45 pF
Twisted Pair Characteristics, Transmit
VDD = 3.3v +/- 5%
RBIAS = 11K +/- 1 %, no load
SYM
Tov
Tovs
TORF
TORF
S
ToDC
ToJ
PARAMETER
TP Differential
Output Voltage
TP Differential
Output Voltage
Symmetry
TP Differential
Output Rise And Fall
Time
TP Differential
Output Rise And Fall
Time Symmetry
TP Differential
Output Duty Cycle
Distortion
TP Differential
Output Jitter
SMSC LAN91C111 Rev. B
MIN
0.950
LIMIT
TYP
1.000
MAX
1.050
1.165
1.225
1.285
Vpk
2.2
2.5
2.8
Vpk
2.694
3.062
3.429
Vpk
98
102
%
3.0
5.0
nS
100 Mbps
TRFADJ [1:0] = 10
+/-0.5
nS
100 Mbps, Difference Between Rise
and Fall Times on TPO±
+/0.25
nS
+/-1.4
nS
100 Mbps, Output Data=0101... NRZ
Pattern Unscrambled, Measure At
50% Points
100 Mbps, Output Data=scrambled
/H/
UNIT
Vpk
Page 105
DATASHEET
CONDITIONS
100 Mbps, UTP Mode,
100 Ohm Load
100 Mbps, STP Mode,
150 Ohm Load
10 Mbps, UTP Mode,
100 Ohm Load
10 Mbps, STP Mode,
150 Ohm Load
100 Mbps, Ratio of Positive And
Negative Amplitude Peaks on TPO±
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
SYM
PARAMETER
Too
TP Differential
Output Overshoot
TOVT
TSOI
TLPT
TOIV
TOIA
TOIR
TP Differential
Output Voltage
Template
TP Differential
Output SOI Voltage
Template
TP Differential
Output Link Pulse
Voltage Template
TP Differential
Output Idle Voltage
TP Output Current
TP Output Current
Adjustment Range
LIMIT
TYP
MIN
MAX
5.0
TP Output
Resistance
TOC
TP Output
Capacitance
13.4
100 Mbps
10 Mbps
See Figure 7.6
10 Mbps
See Figure 7.7
10 Mbps, NLP and FLP
38
31.06
88
71.86
0.80
40
32.66
100
81.64
+/-50
mV
42
34.26
112
91.44
1.2
mA pk
mA pk
mA pk
mA pk
1.16
TP Output Current
TLVL Step Accuracy
TOR
%
See Figure 7.4
0.86
TORA
CONDITIONS
UNIT
+/-50
10 Mbps.
100 Mbps, UTP with TLVL[3:0]=1000
100 Mbps, STP with TLVL[3:0]=1000
10 Mbps, UTP with TLVL[3:0]=1000
10 Mbps, STP with TLVL[3:0]=1000
VDD = 3.3V, Adjustable with RBIAS,
relative to TOIA with RBIAS=11K
VDD = 3.3V, Adjustable with LVL[3:0]
Relative to Value at TLVL[3:0]=1000
Relative to Ideal Values in Table 3.
Table 3 Values Relative to Output
with TLVL[3:0]=1000.
%
10K
Ohm
15
pF
Twisted Pair Characteristics, Receive
Unless otherwise noted, all test conditions are as follows:
Vcc = 3.3V +/-5%
RBIAS = 11K +/- 1 %, no load
62.5/10 Mhz Square Wave on TP inputs in 100/10 Mbps
SYM
RST
RUT
PARAMETER
TP Input Squelch
Threshold
TP Input Unsquelch
Threshold
Rev. 1.4 (12-12-03)
LIMIT
MIN
166
310
TYP
UNIT
CONDITIONS
MAX
500
540
mV pk
mV pk
100 Mbps, RLVL=0
10 Mbps, RLVL=0
60
186
100
200
324
300
mV pk
mV pk
mV pk
100 Mbps, RLVL=1
10 Mbps, RLVL=1
100 Mbps, RLVL=0
186
324
mV pk
10 Mbps, RLVL=0
Page 106
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
SYM
PARAMETER
LIMIT
MIN
20
112
TYP
TP Input Open Circuit
Voltage
VDD2.4
RCMR
TP Input Common
Mode Voltage Range
ROCV
± 0.25
RDR
TP Input Differential
Voltage Range
TP Input Resistance
MAX
90
194
UNIT
mV pk
mV pk
CONDITIONS
100 Mbps, RLVL=1
10 Mbps, RLVL=1
Volt
Voltage on Either TPI+ or TPIwith Respect to GND.
Volt
Voltage on TPI± with Respect to
GND.
± 0.2
RIR
RIC
TP Input Capacitance
SMSC LAN91C111 Rev. B
VDD
5K
Volt
Ohm
10
pF
Page 107
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
Chapter 14 Timing Diagrams
t2
Address, AEN, nBE[3:0]
Valid
nADS
t3
t4
Read Data
Valid
t6
t1
t5
nRD, nWR
t5A
Write Data
Valid
Figure 14.1 - Asynchronous Cycle - nADS=0
t1
t2
t3
t4
t5
t5A
t6
Rev. 1.4 (12-12-03)
PARAMETER
A1-A15, AEN, nBE[3:0] Valid to nRD, nWR Active
A1-A15, AEN, nBE[3:0] Hold After nRD, nWR Inactive
(Assuming nADS Tied Low)
nRD Low to Valid Data
nRD High to Data Invalid
Data Setup to nWR Inactive
Data Hold After nWR Inactive
nRD Strobe Width
Page 108
DATASHEET
MIN
10
5
TYP
MAX
UNITS
ns
ns
15
15
10
5
ns
ns
ns
ns
15
ns
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
0ns
50ns
100ns
Asynchronous Cycle -- Using nADS
150ns
200ns
250
t9
Addr,AEN,nBE[1:0]
valid
t8
nADS
t3
t4
Read Data
valid
t6
t1
t5
nRD,nWR
t5A
Write Data
valid
Figure 14.2 - Asynchronous Cycle - Using nADS
t1
t3
t4
t5
t5A
t6
t8
t9
PARAMETER
A1-A15, AEN, nBE[3:0] Valid to nRD, nWR Active
nRD Low to Valid Data
nRD High to Data Invalid
Data Setup to nWR Inactive
Data Hold After nWR Inactive
nRD Strobe Width
A1-A15, AEN, nBE[3:0] Setup to nADS Rising
A1-A15, AEN, nBE[3:0] Hold after nADS Rising
SMSC LAN91C111 Rev. B
Page 109
DATASHEET
MIN
10
TYP
MAX
15
15
10
5
15
8
5
UNITS
ns
ns
ns
ns
ns
ns
ns
ns
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
0ns
50ns
100ns
150ns
200ns
Asynchronous Cycle - nADS=0
250n
t2
nDATACS
t3A
t4
Read Data
valid
t6A
t1A
t5
nRD,nWR
t5A
Write Data
D0~D31 valid
Figure 14.3 - Asynchronous Cycle - nADS=0
t1A
t2
t3A
t4
t5
t5A
t6A
Rev. 1.4 (12-12-03)
PARAMETER
nDATACS Setup to nRD, nWR Active
nDATACS Hold After nRD, nWR Inactive (Assuming nADS
Tied Low)
nRD Low to Valid Data
nRD High to Data Invalid
Data Setup to nWR Inactive
Data Hold After nWR Inactive
nRD Strobe Width
Page 110
DATASHEET
MIN
10
5
10
5
30
TYP
MAX
UNITS
ns
ns
30
15
ns
ns
ns
ns
ns
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
Address, AEN, nBE[3:0]
Valid Address
Valid Address
nRD, nWR
t26
t13
t26A
ARDY
Data
Valid
Valid Data
Figure 14.4 - Asynchronous Ready
t26
t26A
t13
SMSC LAN91C111 Rev. B
PARAMETER
ARDY Low Pulse Width
Control Active to ARDY Low
Valid Data to ARDY High
Page 111
DATASHEET
MIN
100
10
TYP
MAX
150
10
UNITS
ns
ns
ns
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
t17
t12
t22
t18
t14
t18
Clock
t12A
nDATACS
t17A
W/nR
t22A
nCYCLE
t20
Write Data
t20
a
t20
b
c
t15
nRDYRTN
Figure 14.5 - Burst Write Cycles - nVLBUS=1
t12
t12A
t14
t15
t17
PARAMETER
nDATACS Setup to LCLK Rising
nDATACS Hold After LCLK Rising
nRDYRTN Setup to LCLK Falling
nRDYRTN Hold after LCLK Falling
W/nR Setup to LCLK Falling
MIN
20
0
10
10
15
t17A
t18
t20
t22
t22A
W/nR Hold After LCLK Falling
Data Setup to LCLK Rising (Write)
Data Hold from LCLK Rising (Write)
nCYCLE Setup to LCLK Rising
nCYCLE Hold After LCLK Rising
3
15
4
5
10
Rev. 1.4 (12-12-03)
Page 112
DATASHEET
TYP
MAX
UNITS
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
t17
t12
t14
Clock
t12A
nDATACS
t17A
W/nR
nCYCLE
t19
Read Data
t19
a
b
c
t15
nRDYRTN
Figure 14.6 - Burst Read Cycles - nVLBUS=1
t12
t12A
t14
t15
t17
PARAMETER
nDATACS Setup to LCLK Rising
nDATACS Hold after LCLK Rising
nRDYRTN Setup to LCLK Falling
nRDYRTN Hold after LCLK Falling
W/nR Setup to LCLK Falling
t17A
t19
W/nR Hold After LCLK Falling
Data Delay from LCLK Rising (Read)
SMSC LAN91C111 Rev. B
MIN
20
0
10
10
15
3
5
Page 113
DATASHEET
TYP
MAX
15
UNITS
ns
ns
ns
ns
ns
ns
ns
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
t8
nADS
t9
Address, AEN, nBE[3:0]
Valid
t25
nLDEV
Figure 14.7 - Address Latching for All Modes
t8
t9
t25
PARAMETER
A1-A15, AEN, nBE[3:0] Setup to nADS Rising
A1-A15, AEN, nBE[3:0] Hold After nADS Rising
A4-A15, AEN to nLDEV Delay
Rev. 1.4 (12-12-03)
Page 114
DATASHEET
MIN
8
5
TYP
MAX
30
UNITS
ns
ns
ns
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
t18
t10
t20
Clock
t9
Address, AEN, nBE[3:0]
Valid
t8
nADS
t17A
t16
W/nR
t11
nCYCLE
Write Data
Valid
t21
t21
nSRDY
Figure 14.8 - Synchronous Write Cycle - nVLBUS=0
t8
t9
t10
t11
t16
t17A
t18
t20
t21
PARAMETER
A1-A15, AEN, nBE[3:0] Setup to nADS Rising
A1-A15, AEN, nBE[3:0] Hold After nADS Rising
nCYCLE Setup to LCLK Rising
nCYCLE Hold after LCLK Rising (Non-Burst Mode)
W/nR Setup to nCYCLE Active
W/nR Hold after LCLK Rising with nSRDY Active
Data Setup to LCLK Rising (Write)
Data Hold from LCLK Rising (Write)
nSRDY Delay from LCLK Rising
SMSC LAN91C111 Rev. B
Page 115
DATASHEET
MIN
8
5
5
3
0
3
15
4
TYP
MAX
7
UNITS
ns
ns
ns
ns
ns
ns
ns
ns
ns
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
t23
t20
t24
t10
Clock
t9
Address, AEN, nBE[3:0]
Valid
t8
nADS
t16
W/nR
t11
nCYCLE
Read Data
Valid
t21
t21
nSRDY
nRDYRTN
Figure 14.9 - Synchronous Read Cycle - nVLBUS=0
t8
t9
t10
t11
t16
t20
t21
t23
t24
Rev. 1.4 (12-12-03)
PARAMETER
A1-A15, AEN, nBE[3:0] Setup to nADS Rising
A1-A15, AEN, nBE[3:0] Hold After nADS Rising
nCYCLE Setup to LCLK Rising
nCYCLE Hold after LCLK Rising (Non-Burst Mode)
W/nR Setup to nCYCLE Active
Data Hold from LCLK Rising (Read)
nSRDY Delay from LCLK Rising
nRDYRTN Setup to LCLK Rising
nRDYRTN Hold after LCLK Rising
Page 116
DATASHEET
MIN
8
5
5
3
0
4
TYP
MAX
7
3
3
UNITS
ns
ns
ns
ns
ns
ns
ns
ns
ns
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
t27
TXD0-TXD3
t27
TXEN100
t28
RXD0-RXD3
t28
t28
RX25
t29
RX_DV
t29
RX_ER
Figure 14.10 - MII Timing
t27
t28
t29
PARAMETER
TXD0-TXD3, TXEN100 Delay from TX25 Rising
RXD0-RXD3, RX_DV, RX_ER Setup to RX25 Rising
RXD0-RXD3, RX_DV, RX_ER Hold After RX25 Rising
MIN
0
10
10
TYP
MAX
15
UNITS
ns
ns
ns
AC TEST TIMING CONDITIONS
Unless otherwise noted, all test conditions are as follows:
1)
VDD = 3.3V +/-5%
2)
RBIAS = 11K +/- 1%, no load
3)
Measurement Points:
4)
TPO±, TPI±: 0.0 V During Data, ±0.3V at start/end of packet
5)
All other inputs and outputs: 1.4 Volts
Table 14.1 - Transmit Timing Characteristics
SYM
PARAMETER
t30
Transmit Propagation Delay
t31
Transmit Output Jitter
t32
Transmit SOI Pulse Width to
0.3V
Transmit SOI Pulse Width to
40mV
t33
SMSC LAN91C111 Rev. B
MIN
60
LIMIT
TYP
MAX
140
600
±0.7
±5.5
250
4500
Page 117
DATASHEET
UNIT
CONDITIONS
nS
nS
nS pk-pk
nS pk-pk
nS
100Mbps
10Mbps
100Mbps
10Mbps
10Mbps
nS
10Mbps
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
SYM
PARAMETER
t34
t35
LIMIT
TYP
MIN
LEDn Delay Time
LEDn Pulse Width
80
MAX
25
105
UNIT
CONDITIONS
mS
mS
100Mbps
t
t 30
TPO±
FXO±
IDLE
IDLE
31
DATA
/J/K/
/T/R/
IDLE
10Mbps
t 33
t31
t30
TPO±
PREAMBLE
t32
PREAMBLE
DATA
t34
DATA
SOI
t35
LEDn
TXEN Bit is Set
Figure 14.11 - Transmit Timing
Table 14.2 - Receive Timing Characteristics
SYM
t36
t37
PARAMETER
MIN
Receive Input Jitter
SOI Pulse Minimum Width
Required for Idle Detection
Rev. 1.4 (12-12-03)
125
LIMIT
TYP
UNIT
CONDITIONS
MAX
±3.0
nS pk-pk
100Mbps
±13.5
nS pk-pk
10Mbps
200
nS
Page 118
DATASHEET
10Mbps
Measure TPI± from last zero
cross to 0.3V point
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
t 36
TPI±
DATA
DATA DATA DATA DATA
SOI
t 37
Figure 14.12 - Receive Timing, End of Packet - 10 MBPS
Table 14.3 - Collision and Jam Timing Characteristics
SYM
PARAMETER
t38
Rcv Packet Start to COL Assert
Time
t39
Xmt Packet Start to COL
Assert Time
t40
Start of Packet to Transmit
JAM Packet Start During JAM
t41
Xmt Packet Start to COL
Assert Time
SMSC LAN91C111 Rev. B
MIN
LIMIT
TYP
MAX
200
700
300
200
700
500
1500
200
700
Page 119
DATASHEET
UNIT
CONDITIONS
nS
nS
nS
nS
nS
nS
nS
nS
nS
100Mbps
10Mbps
10Mbps
100Mbps
10Mbps
100Mbps
10Mbps
100Mbps
10Mbps
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
MII 100 Mbps
TPO±
I
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
TPI±
I
I
I
I
J
K
DATA
DATA
DATA
DATA
t
DATA
T
DATA
DATA
DATA
R
I
I
38
Collision Observed
by Physical Layer
t 34
t 35
LEDn
MII 10 Mbps
TPO±
TPI±
t
38
Collision Observed
by Physical Layer
t 34
t 35
LEDn
Figure 14.13 - Collision Timing, Receive
Rev. 1.4 (12-12-03)
Page 120
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
MII 100 Mbps
TPI±
I
TPO±
I
DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA
I
I
I
J
K
t
DATA DATA DATA DATA
T
R
I
I
39
Collision Observed
by Physical Layer
t 34
t 35
LEDn
MII 10 Mbps
TPI±
TPO±
t
39
Collision Observed
by Physical Layer
t 34
t 35
LEDn
Figure 14.14 - Collision Timing, Transmit
SMSC LAN91C111 Rev. B
Page 121
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
MII 100 Mbps
TPO±
I
I
J
K
t
TPO±
I
I
I
DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA
40
I
I
J
K
JAM
JAM
JAM
JAM
T
R
I
I
I
t 41
Collision Observed
by Physical Layer
MII 10 Mbps
TPI±
t
TPO±
40
JAM
JAM
JAM
JAM
Figure 14.15 - Jam Timing
Rev. 1.4 (12-12-03)
Page 122
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
Table 14.4 - Link Pulse Timing Characteristics
SYM
t42
t43
t44
t45
t46
t47
t48
t49
t50
t51
t52
t53
t54
t55
t56
t57
t58
t59
PARAMETER
NLP Transmit Link Pulse Width
NLP Transmit Link Pulse Period
NLP Receive Link Pulse Width Required
For Detection
NLP Receive Link Pulse Minimum Period
Required For Detection
NLP Receive Link Pulse Maximum Period
Required For Detection
NLP Receive Link Pulse Required To Exit
Link Fail State
FLP Transmit Link Pulse Width
FLP Transmit Clock Pulse to Data Pulse
Period
FLP Transmit Clock Pulse to Clock Pulse
Period
FLP Transmit Link Pulse Burst Period
FLP Receive Link Pulse Width Required
For Detection
FLP Receive Link Pulse Minimum Period
Required For Clock Pulse Detection
FLP Receive Link Pulse Maximum Period
Required For Clock Pulse Detection
FLP Receive Link Pulse Minimum Period
Required For Data Pulse Detection
FLP Receive Link Pulse Maximum Period
Required For Data Pulse Detection
FLP Receive Link Pulse Burst Minimum
Period Required For Detection
FLP Receive Link Pulse Burst Maximum
Period Required For Detection
FLP Receive Link Pulses Bursts Required
To Detect AutoNegotiation Capability
SMSC LAN91C111 Rev. B
LIMIT
MIN
TYP
MAX
See Figure 7.8
8
24
50
UNIT
CONDITIONS
nS
mS
nS
6
7
mS
link_test_min
50
150
mS
link_test_max
3
3
100
55.5
62.5
150
69.5
Link
Pulses
nS
111
125
139
µS
8
50
22
mS
nS
transmit_link_burst_timer
5
25
µS
flp_test_min_timer
165
185
µS
flp_test_max_timer
15
47
µS
data_detect_min_timer
78
100
µS
data_detect_max_timer
5
7
mS
nlp_test_min_timer
50
150
mS
nlp_test_max_timer
3
Link
Pulses
3
3
3
Page 123
DATASHEET
µS
lc_max
interval_timer
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
TPO±
t 42
t 43
a.) Transmit NLP
TPI±
t 44
t 45
t 46
t 47
LEDn
b.) Receive NLP
Figure 14.16 - Link Pulse Timing
Rev. 1.4 (12-12-03)
Page 124
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
CLK
DATA
CLK
DATA
CLK
CLK
DATA
TPO±
t 48
t 49
t 50
t 51
a.) Transmit FLP and Transmit FLP Burst
CLK
DATA
CLK
DATA
TPI±
31.25
t 52
62.5
93.75
125
156.25
t 53
t 54
t 55
t 56
b.) Receive FLP
TPI±
t 59
t 57
t 58
LEDn
c.) Receive FLP Burst
Figure 14.17 - FLP Link Pulse Timing
SMSC LAN91C111 Rev. B
Page 125
DATASHEET
Rev. 1.4 (12-12-03)
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
Figure 14.18 - 128 Pin TQFP Package Outline, 14X14X1.0 Body
A
A1
A2
D
D/2
D1
E
E/2
E1
H
L
L1
e
θ
W
R1
R2
ccc
ccc
Notes:
1.
2.
3.
4.
5.
6.
7.
MIN
~
Table 14.5 - 128 Pin TQFP Package Parameters
NOMINAL
MAX
REMARK
~
1.20
Overall Package Height
0.05
0.95
15.80
7.90
13.80
15.80
7.90
13.80
0.09
0.45
~
~
1.00
16.00
8.00
14.00
16.00
8.00
14.00
~
0.60
1.00
0.40 Basic
0.15
1.05
16.20
8.10
14.20
16.20
8.10
14.20
0.20
0.75
~
Standoff
Body Thickness
X Span
1
/2 X Span Measure from Centerline
X body Size
Y Span
1
/2 Y Span Measure from Centerline
Y body Size
Lead Frame Thickness
Lead Foot Length from Centerline
Lead Length
Lead Pitch
0o
~
7o
0.13
0.08
0.08
~
~
0.18
~
~
~
~
0.23
~
0.20
0.0762
0.08
Lead Foot Angle
Lead Width
Lead Shoulder Radius
Lead Foot Radius
Coplanarity (Assemblers)
Coplanarity (Test House)
Controlling Unit: millimeter
Tolerance on the position of the leads is ± 0.035 mm maximum
Package body dimensions D1 and E1 do not include the mold protrusion.
Maximum mold protrusion is 0.25 mm
Dimension for foot length L measured at the gauge plane 0.25 mm above the seating plane is 0.78-1.08 mm.
Details of pin 1 identifier are optional but must be located within the zone indicated.
Shoulder widths must conform to JEDEC MS-026 dimension 'S' of a minimum of 0.20mm.
Rev. 1.4 (12-12-03)
Page 126
DATASHEET
SMSC LAN91C111 Rev. B
10/100 Non-PCI Ethernet Single Chip MAC + PHY
Datasheet
Figure 14.19 -128 Pin QFP Package Outline, 3.9 MM Footprint
A
A1
A2
D
D/2
D1
E
E/2
E1
H
L
L1
e
θ
W
R1
R2
ccc
ccc
Notes:
1.
2.
3.
4.
5.
6.
MIN
~
0.05
2.55
23.70
11.85
19.90
17.70
8.85
13.90
~
0.73
~
0o
0.10
0.13
0.13
~
~
Table 14.6 - 128 Pin QFP Package Parameters
NOMINAL
MAX
REMARKS
~
3.4
Overall Package Height
~
0.5
Standoff
~
3.05
Body Thickness
23.90
24.10
X Span
1
11.95
12.05
/2 X Span Measured from Centerline
20.0
20.10
X body Size
17.90
18.10
Y Span
1
8.95
9.05
/2 Y Span Measured from Centerline
14.00
14.10
Y body Size
~
~
Lead Frame Thickness
0.88
1.03
Lead Foot Length
1.95
~
Lead Length
0.5 Basic
Lead Pitch
~
7o
Lead Foot Angle
~
0.30
Lead Width
~
~
Lead Shoulder Radius
~
0.30
Lead Foot Radius
~
0.0762
Coplanarity (Assemblers)
~
0.08
Coplanarity (Test House)
Controlling Unit: millimeter
Tolerance on the position of the leads is + 0.04 mm maximum.
Package body dimensions D1 and E1 do not include the mold protrusion.
Maximum mold protrusion is 0.25 mm.
Dimension for foot length L measured at the gauge plane 0.25 mm above the seating plane.
Details of pin 1 identifier are optional but must be located within the zone indicated.
SMSC LAN91C111 Rev. B
Page 127
DATASHEET
Rev. 1.4 (12-12-03)