
- •Ethernet Controller Features
- •Buffer
- •Physical Layer (PHY) Features
- •Operational
- •Package Types
- •Table of Contents
- •Most Current Data Sheet
- •Errata
- •Customer Notification System
- •1.0 Overview
- •FIGURE 1-1: ENC28J60 Block Diagram
- •FIGURE 1-2: Typical ENC28J60 Based Interface
- •2.0 External Connections
- •2.1 Oscillator
- •FIGURE 2-1: Crystal Oscillator Operation
- •2.3 CLKOUT Pin
- •FIGURE 2-3: CLKOUT Transition
- •2.4 Magnetics, Termination and Other External Components
- •FIGURE 2-4: ENC28J60 Ethernet Termination and External Connections
- •2.5 I/O Levels
- •2.6 LED Configuration
- •3.0 Memory Organization
- •3.1 Control Registers
- •3.1.1 ECON1 Register
- •3.1.2 ECON2 Register
- •Register 3-2: ECON2: Ethernet Control Register 2
- •3.2 Ethernet Buffer
- •3.2.1 Receive Buffer
- •3.2.2 Transmit Buffer
- •3.2.3 Reading and Writing to the Buffer
- •3.2.4 DMA Access to the Buffer
- •FIGURE 3-2: Ethernet Buffer Organization
- •3.3 PHY Registers
- •3.3.1 Reading PHY Registers
- •3.3.2 Writing PHY Registers
- •3.3.3 Scanning a PHY Register
- •Register 3-3: MICMD: MII Command Register
- •3.3.4 PHSTAT Registers
- •3.3.5 PHID1 and PHID2 Registers
- •4.0 Serial Peripheral Interface (SPI)
- •4.1 Overview
- •FIGURE 4-2: SPI Output Timing
- •4.2 SPI Instruction Set
- •4.2.1 Read Control Register Command
- •FIGURE 4-3: Read Control Register Command Sequence (ETH Registers)
- •FIGURE 4-4: Read Control Register Command Sequence (MAC and MII Registers)
- •4.2.2 Read Buffer Memory Command
- •4.2.3 Write Control Register Command
- •FIGURE 4-5: Write Control Register Command Sequence
- •4.2.4 Write Buffer Memory Command
- •4.2.5 Bit Field Set Command
- •4.2.6 Bit Field Clear Command
- •FIGURE 4-6: Write Buffer Memory Command Sequence
- •4.2.7 System Reset Command
- •FIGURE 4-7: System Reset Command Sequence
- •5.0 Ethernet Overview
- •5.1 Packet Format
- •5.1.2 Destination Address
- •5.1.3 Source Address
- •5.1.4 Type/Length
- •5.1.5 Data
- •5.1.6 Padding
- •6.0 Initialization
- •6.1 Receive Buffer
- •6.2 Transmit Buffer
- •6.3 Receive Filters
- •6.4 Waiting for OST
- •6.5 MAC Initialization Settings
- •Register 6-3: MACON4: MAC Control Register 4
- •Register 6-4: MABBIPG: MAC Back-to-back Inter-packet GAP Register
- •6.6 PHY Initialization Settings
- •7.0 Transmitting and Receiving Packets
- •7.1 Transmitting Packets
- •7.2 Receiving Packets
- •7.2.1 Enabling Reception
- •7.2.2 Receive Packet Layout
- •FIGURE 7-3: Sample Receive Packet Layout
- •7.2.3 Reading Received Packets
- •EXAMPLE 7-1: Random Access Address Calculation
- •7.2.4 Freeing Receive Buffer Space
- •7.2.5 Receive Buffer Free Space
- •EXAMPLE 7-2: Receive Buffer Free Space Calculation
- •8.0 Receive Filters
- •Register 8-1: ERXFCON: Ethernet RECEIVE FILTER CONTROL REGISTER
- •FIGURE 8-1: Receive Filtering Using OR Logic
- •FIGURE 8-2: Receive Filtering Using AND Logic
- •8.1 Unicast Filter
- •8.2 Pattern Match Filter
- •FIGURE 8-3: Sample Pattern Match Format
- •8.3 Magic Packet™ Filter
- •FIGURE 8-4: SAMPLE MAGIC PACKET™ Format
- •8.4 Hash Table Filter
- •8.5 Multicast Filter
- •8.6 Broadcast Filter
- •9.0 Duplex Mode Configuration and Negotiation
- •10.0 Flow Control
- •FIGURE 10-1: Sample Full-Duplex Network
- •Register 10-1: EFLOCON: Ethernet Flow Control Register
- •TABLE 10-1: Summary of Registers Used with Flow Control
- •11.0 Reset
- •FIGURE 11-1: On-Chip Reset Circuit
- •11.2 System Reset
- •11.3 Transmit Only Reset
- •11.4 Receive Only Reset
- •11.5 PHY Subsystem Reset
- •Register 11-1: PHCON1: PHY Control Register 1
- •12.0 Interrupts
- •FIGURE 12-1: ENC28J60 Interrupt Logic
- •12.1 INT Interrupt Enable (INTIE)
- •12.1.1 INT Interrupt Registers
- •Register 12-1: ESTAT: Ethernet Status Register
- •Register 12-2: EIE: Ethernet Interrupt Enable Register
- •Register 12-3: EIR: Ethernet Interrupt Request (Flag) Register
- •Register 12-4: PHIE: PHY Interrupt Enable Register
- •Register 12-5: PHIR: PHY Interrupt Request (Flag) Register
- •12.1.2 Receive Error Interrupt Flag (RXERIF)
- •12.1.3 Transmit Error Interrupt Flag (TXERIF)
- •12.1.4 Transmit Interrupt Flag (TXIF)
- •12.1.5 Link Change Interrupt Flag (LINKIF)
- •12.1.6 DMA Interrupt Flag (DMAIF)
- •12.1.7 Receive Packet Pending Interrupt Flag (PKTIF)
- •12.2.1 Setup Steps for Waking Up on a Magic Packet
- •13.0 Direct Memory Access Controller
- •13.1 Copying Memory
- •13.2 Checksum Calculations
- •TABLE 13-1: Summary of Registers Associated with the DMA Controller
- •14.0 Power-Down
- •TABLE 14-1: Summary of Registers Used with Power-Down
- •Register 15-1: EBSTCON: Ethernet SELF-TEST CONTROL REGISTER
- •15.1 Using the BIST
- •15.2 Random Data Fill Mode
- •15.3 Address Fill Mode
- •15.4 Pattern Shift Fill Mode
- •16.0 Electrical Characteristics
- •Absolute Maximum Ratings
- •16.1 DC Characteristics: ENC28J60 (Industrial and Commercial)
- •TABLE 16-1: AC Characteristics: ENC28J60 (Industrial and Commercial)
- •TABLE 16-2: Oscillator Timing Characteristics
- •TABLE 16-3: Reset AC Characteristics
- •TABLE 16-4: CLKOUT Pin AC Characteristics
- •TABLE 16-5: Requirements for External Magnetics
- •FIGURE 16-2: SPI Output Timing
- •TABLE 16-6: SPI Interface AC Characteristics
- •17.0 Packaging Information
- •17.1 Package Marking Information
- •17.2 Package Details
- •Appendix A: Revision History
- •Revision A (January 2006)
- •Revision B (July 2006)
- •Revision C (January 2008)
- •Revision D (July 2012)
- •Revision E (November 2012)
- •The Microchip Web Site
- •Customer Change Notification Service
- •Customer Support
- •Reader Response
- •INDEX
- •Product Identification System
- •Worldwide Sales and Service

ENC28J60
7.2Receiving Packets
7.2.1ENABLING RECEPTION
Assuming that the receive buffer has been initialized, the MAC has been properly configured and the receive filters have been configured to receive Ethernet packets, the host controller should:
1.If an interrupt is desired whenever a packet is received, set EIE.PKTIE and EIE.INTIE.
2.If an interrupt is desired whenever a packet is dropped due to insufficient buffer space, clear EIR.RXERIF and set both EIE.RXERIE and EIE.INTIE
3.Enable reception by setting ECON1.RXEN.
After setting RXEN, the Duplex mode and the Receive Buffer Start and End Pointers should not be modified. Additionally, to prevent unexpected packets from arriving, it is recommended that RXEN be cleared before altering the receive filter configuration (ERXFCON) and MAC address.
After reception is enabled, packets which are not filtered out will be written into the circular receive buffer. Any packet which does not meet the necessary filter criteria will be discarded and the host controller will not have any means of identifying that a packet was thrown away. When a packet is accepted and completely written into the buffer, the EPKTCNT register will increment, the EIR.PKTIF bit will be set, an interrupt will be generated (if enabled) and the Hardware Write Pointer, ERXWRPT, will automatically advance.
7.2.2RECEIVE PACKET LAYOUT
Figure 7-3 shows the layout of a received packet. The packets are preceded by a six-byte header which contains a Next Packet Pointer, in addition to a receive status vector which contains receive statistics, including the packet’s size. This receive status vector is shown in Table 7-3.
If the last byte in the packet ends on an odd value address, the hardware will automatically add a padding byte when advancing the Hardware Write Pointer. As such, all packets will start on an even boundary.
FIGURE 7-3: SAMPLE RECEIVE PACKET LAYOUT
|
|
|
Address |
Memory |
|||
Packet N – 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
||||
|
|
|
101Fh |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
1020h |
|
|
|
|
|
|
|
6Eh |
||||
|
|
|
1021h |
10h |
|||
|
|
|
|||||
|
|
|
1022h |
rsv[7:0] |
|||
|
|
|
1023h |
rsv[15:8] |
|||
|
|
|
1024h |
rsv[23:16] |
|||
|
|
|
1025h |
rsv[30:24] |
|||
|
|
|
1026h |
data[1] |
|||
|
|
|
1027h |
data[2] |
|||
Packet N |
|
|
|
||||
|
|
|
1059h |
|
|
||
|
|
|
|
|
|
||
|
|
|
|
|
|||
|
|
|
|
|
|
||
|
|
|
|
|
|||
|
|
|
|
|
|
||
|
|
|
|
||||
|
|
|
data[m-3] |
||||
|
|
|
105Ah |
data[m-2] |
|||
|
|
|
105Bh |
data[m-1] |
|||
|
|
|
105Ch |
data[m] |
|||
|
|
|
105Dh |
|
|
|
|
Packet N + 1 |
|
|
105Eh |
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
Description
Low Byte
High Byte status[7:0] status[15:8] status[23:16] status[31:24]
crc[31:24]
crc[23:16]
crc[15:8]
crc[7:0]
End of the Previous Packet
Next Packet Pointer
Receive Status Vector
Packet Data: Destination Address,
Source Address, Type/Length, Data,
Padding, CRC
Byte Skipped to Ensure
Even Buffer Address
Start of the Next Packet
2006-2012 Microchip Technology Inc. |
. |
DS39662E-page 43 |