Am79C961A PCnet™-ISA II Jumperless, Full Duplex Single-Chip Ethernet Controller for ISA DISTINCTIVE CHARACTERISTICS ■ Single-chip Ethernet controller for the Industry Standard Architecture (ISA) and Extended Industry Standard Architecture (EISA) buses ■ Look Ahead Packet Processing (LAPP) allows protocol analysis to begin before end of receive frame ■ Supports IEEE 802.3/ANSI 8802-3 and Ethernet standards ■ Supports 4 DMA channels on chip ■ Supports full duplex operation on the 10BASE-T, AUI, and GPSI ports ■ Supports 16 boot PROM locations ■ Direct interface to the ISA or EISA bus ■ Pin compatible to Am79C961 PCnet-ISA+ Jumperless Single-Chip Ethernet Controller ■ Software compatible with AMD’s Am7990 LANCE register and descriptor architecture ■ Low power, CMOS design with sleep mode allows reduced power consumption for critical battery powered applications ■ Individual 136-byte transmit and 128-byte receive FIFOs provide packet buffering for increased system latency, and support the following features: ■ Supports 16 I/O locations ■ Provides integrated Attachment Unit Interface (AUI) and 10BASE-T transceiver with 2 modes of port selection: — Automatic selection of AUI or 10BASE-T — Software selection of AUI or 10BASE-T ■ Automatic Twisted Pair receive polarity detection and automatic correction of the receive polarity ■ Supports bus-master, programmed I/O, and shared-memory architectures to fit in any PC application ■ Supports edge and level-sensitive interrupts — Automatic retransmission with no FIFO reload ■ DMA Buffer Management Unit for reduced CPU intervention which allows higher throughput by by-passing the platform DMA — Automatic receive stripping and transmit padding (individually programmable) ■ JTAG Boundary Scan (IEEE 1149.1) test access port interface for board level production test — Automatic runt packet rejection ■ Integrated Manchester Encoder/Decoder — Automatic deletion of received collision frames ■ Supports the following types of network interfaces: ■ Dynamic transmit FCS generation programmable on a frame-by-frame basis ■ Single +5 V power supply ■ Internal/external loopback capabilities ■ Supports 8K, 16K, 32K, and 64K Boot PROMs or Flash for diskless node applications ■ Supports Microsoft’s Plug and Play System configuration for jumperless designs ■ Supports staggered AT bus drive for reduced noise and ground bounce ■ Integrated Magic Packet™ support for remote wake up of Green PCs ■ Supports 8 interrupts on chip — AUI to external 10BASE2, 10BASE5, 10BASE-T or 10BASE-F MAU — Internal 10BASE-T transceiver with Smart Squelch to Twisted Pair medium ■ Supports LANCE General Purpose Serial Interface (GPSI) ■ 132-pin PQFP and 144-pin TQFP packages ■ Supports Shared Memory and PIO modes ■ Supports PCMCIA mode (144-TQFP version only) ■ Support for operation in industrial temperature range (–40°C to +85°C) available in both packages Publication# 19364 Rev: D Amendment/0 Issue Date: March 2000 GENERAL DESCRIPTION The PCnet-ISA II controller, a single-chip Ethernet controller, is a highly integrated system solution for the PC-AT Industry Standard Architecture (ISA) architecture. It is designed to provide flexibility and compatibility with any existing PC application. This highly integrated VLSI device is specifically designed to reduce parts count and cost, and addresses applications where higher system throughput is desired. The PCnet-ISA II controller is fabricated with AMD’s advanced low-power CMOS process to provide low standby current for power sensitive applications. The PCnet-ISA II controller can be configured into one of three different architecture modes to suit a particular PC application. In the Bus Master mode, all transfers are performed using the integrated DMA controller. This configuration enhances system performance by allowing the PCnet-ISA II controller to bypass the platform DMA controller and directly address the full 24-bit memory space. The implementation of Bus Master mode allows minimum parts count for the majority of PC applications. The PCnet-ISA II can also be configured as a Bus Slave with either a Shared Memory or Programmed I/O architecture for compatibility with low-end machines, such as PC/XTs that do not support Bus Masters, and high-end machines that require local packet buffering for increased system latency. The PCnet-ISA II controller is designed to directly interface with the ISA or EISA system bus. It contains an ISA Plug and Play bus interface unit, DMA Buffer Management Unit, 802.3 Media Access Control function, individual 136-byte transmit and 128-byte receive FIFOs, IEEE 802.3 defined Attachment Unit Interface (AUI), and a Twisted Pair Transceiver Media Attachment Unit. Full duplex network operation can be enabled on any of the device’s network ports. The PCnet-ISA II controller is also register compatible with the LANCE (Am7990) Ethernet controller and PCnet-ISA (Am79C960). The DMA Buffer Management Unit supports the LANCE descriptor software model. External 2 remote boot and Ethernet physical address PROMs and Electrically Erasable Proms are also supported. This advanced Ethernet controller has the built-in capability of automatically selecting either the AUI port or the Twisted Pair transceiver. Only one interface is active at any one time. The individual 136-byte transmit and 128-byte receive FIFOs optimize system overhead, providing sufficient latency during packet transmission and reception, and minimizing intervention during normal network error recovery. The integrated Manchester encoder/decoder eliminates the need for an external Serial Interface Adapter (SIA) in the node system. If support for an external encoding/decoding scheme is desired, the embedded General Purpose Serial Interface (GPSI) allows direct access to/from the MAC. In addition, the device provides programmable on-chip LED drivers for transmit, receive, collision, receive polarity, link integrity and activity, or jabber status. The PCnet-ISA II controller also provides an External Address Detection InterfaceTM (EADITM) to allow external hardware address filtering in internetworking applications. For power sensitive applications where low stand-by current is desired, the device incorporates a sleep function to reduce over-all system power consumption, excellent for notebooks and Green PCs. In conjunction with this low power mode, the PCnet-ISA II controller also has integrated functions to support Magic Packet, an inexpensive technology that allows remote wake up of Green PCs. With the rise of embedded networking applications operating in harsh environments where temperatures may exceed the normal commercial temperature (0°C to +70°C) window, an industrial temperature (–40°C to +85°C) version is available in all two packages; 132-pin PQFP and 144-pin TQFP. The industrial temperature version of the PCnet-ISA II Ethernet controller is characterized across the industrial temperature range (–40°C to +85°C) within the published power supply specification (4.75 V to 5.25 V; i.e., ±5% VCC). Am79C961A BLOCK DIAGRAM: BUS MASTER MODE AEN DACK[3, 5–7] DRQ[3, 5–7] RCV FIFO IOCHRDY IOCS16 IOR IOW IRQ[3, 4, 5, 9, 10, 11, 12] MASTER MEMR ISA Bus Interface Unit 802.3 MAC Core CI+/– Encoder/ Decoder (PLS) & AUI Port XMT FIFO MEMW DXCVR/EAR DI+/– XTAL1 XTAL2 DO+/– REF RXD+/– RESET 10BASE-T MAU SBHE BALE FIFO Control SD[0-15] LA[17-23] SA[0-19] SLEEP SHFBUSY EEDO EEDI EESK EECS IRQ15/APCS Private Bus Control Buffer Management Unit TXD+/– TXPD+/– BPCS LED[0–3] PRDB[0–7] TDO JTAG Port Control EEPROM Interface Unit TMS TDI TCK DVDD[1-7] DVSS[1-13] AVDD[1-4] AVSS[1-2] 19364B-1 Am79C961A 3 TABLE OF CONTENTS Am79C961A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 DISTINCTIVE CHARACTERISTICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 GENERAL DESCRIPTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 BLOCK DIAGRAM: BUS MASTER MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 TABLE OF CONTENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 ORDERING INFORMATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12 Standard Products . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12 CONNECTION DIAGRAMS: BUS MASTER MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13 PQFP 132 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13 PIN DESIGNATIONS: BUS MASTER MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14 Listed by Pin Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14 PIN DESIGNATIONS: BUS MASTER MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15 Listed by Pin Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15 PIN DESIGNATIONS: BUS MASTER MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16 Listed by Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16 Listed by Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17 PIN DESCRIPTION: BUS MASTER MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18 IEEE P996 Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18 ISA Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18 AEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18 BALE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18 DACK 3, 5-7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18 DRQ 3, 5-7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18 IOCHRDY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18 IOCS16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18 IOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18 IOW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18 IRQ 3, 4, 5, 9, 10, 11, 12, 15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19 LA17-23 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19 MASTER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19 MEMR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19 MEMW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19 REF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19 RESET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19 SA0-19 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19 SBHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19 SD0-15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19 Board Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20 IRQ12/FlashWE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20 IRQ15/APCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20 BPCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20 DXCVR/EAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20 LEDO-3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20 PRDB3-7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20 PRDB2/EEDO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20 PRDB1/EEDI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20 PRDB0/EESK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20 SHFBUSY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21 EECS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21 SLEEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21 XTAL1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21 XTAL2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21 CONNECTION DIAGRAMS: BUS SLAVE MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22 PQFP 132 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22 BLOCK DIAGRAM: BUS SLAVE MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23 PIN DESIGNATIONS: BUS SLAVE MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24 4 Am79C961A LISTED BY PIN NUMBER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24 PIN DESIGNATIONS: BUS SLAVE MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25 Listed by Pin Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25 PIN DESIGNATIONS: BUS SLAVE MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 Listed by Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 PIN DESIGNATIONS: BUS SLAVE MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27 Listed by Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27 PIN DESCRIPTION: BUS SLAVE MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28 ISA Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28 AEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28 IOCHRDY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28 IOCS16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28 IOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28 IOW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28 IRQ3, 4, 5, 9, 10, 11, 12, 15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28 MEMR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28 MEMW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28 REF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28 RESET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28 SA0-15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28 SBHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29 SD0-15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29 Board Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29 APCS/IRQ15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29 BPAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29 BPCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29 DXCVR/EAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29 LED0-3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29 PRAB0-15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29 PRDB3-7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29 PRDB2/EEDO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29 PRDB1/EEDI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30 PRDB0/EESK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30 SHFBUSY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30 EECS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30 SLEEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30 SMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30 SMAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30 SROE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30 SRCS/IRQ12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30 SRWE/WE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30 XTAL1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30 XTAL2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30 PIN DESCRIPTION: NETWORK INTERFACES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 AUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 DI+, DI– . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 Twisted Pair Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 RXD+, RXD– . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 TXD+, TXD– . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 TXP+, TXP– . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 PIN DESCRIPTION: IEEE 1149.1 (JTAG) TEST ACCESS PORT . . . . . . . . . . . . . . . . . . . . . . . . . . .31 TCK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 TDI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 TDO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 TMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 PIN DESCRIPTION: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 POWER SUPPLIES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 AVDD1–4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 Am79C961A 5 AVSS1–2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 DVDD1–7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 DVSS1–13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 CONNECTION DIAGRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32 TQFP 144 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32 PIN DESIGNATIONS: BUS MASTER MODE (TQFP 144) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33 Listed by Pin Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33 PIN DESIGNATIONS: BUS MASTER MODE (TQFP 144) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34 Listed by Pin Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34 PIN DESIGNATIONS: BUS SLAVE (PIO AND SHARED MEMORY) MODES (TQFP 144) . . . . . . .35 Listed by Pin Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35 PIN DESIGNATIONS: BUS SLAVE (PIO AND SHARED MEMORY) MODES (TQFP 144) . . . . . . .36 Listed by Pin Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36 BLOCK DIAGRAM: PCMCIA MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37 PIN DESIGNATIONS: PCMCIA MODE (TQFP 144) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38 Listed by Pin Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38 PIN DESIGNATIONS: PCMCIA MODE (TQFP 144) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39 Listed by Pin Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39 PIN DESCRIPTION: PCMCIA MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40 PCMCIA vs. ISA Pinout Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41 PCMCIA Pin Specification Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41 PCMCIA MODE BLOCK DIAGRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42 FUNCTIONAL DESCRIPTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43 PCMCIA Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43 Serial EEPROM Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43 Flash Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43 Flash Memory Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43 Shared Memory vs. Programmed I/O Implications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43 FLASH MEMORY MAP AND CARD REGISTERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44 FUNCTIONAL DESCRIPTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45 Important Note About The EEPROM Byte Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45 Bus Master Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45 System Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45 Bus Slave Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47 System Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47 PLUG AND PLAY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49 Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49 Auto-Configuration Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49 ADDRESS PORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49 WRITE_DATA PORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49 READ_DATA PORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49 Initiation Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49 Isolation Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50 Hardware Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50 Software Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51 Plug and Play Card Control Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51 Plug and Play Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52 PLUG AND PLAY LOGICAL DEVICE CONFIGURATION REGISTERS . . . . . . . . . . . . . . . . . . . . .54 DETAILED FUNCTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55 EEPROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55 Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55 Important Note About The EEPROM Byte Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55 Basic EEPROM Byte Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56 AMD Device Driver Compatible EEPROM Byte Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57 Plug and Play Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58 PCnet–ISA II’s Legacy Bit Feature Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59 Plug & Play Register Locations Detailed Description (Refer to the Plug & Play Register Map above) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60 6 Am79C961A Vendor Defined Byte (PnP 0xF0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61 Checksum Failure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62 Use Without EEPROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62 External Scan Chain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62 Flash PROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62 Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62 Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63 Optional IEEE Address PROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63 EISA Configuration Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63 Bus Interface Unit (BIU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63 DMA Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63 1. Initialization Block DMA Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63 2. Descriptor DMA Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63 3. FIFO DMA Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64 Buffer Management Unit (BMU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65 Reinitialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65 Suspend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65 Buffer Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65 Descriptor Rings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65 Descriptor Ring Access Mechanism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66 Polling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67 Transmit Descriptor Table Entry (TDTE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68 Receive Descriptor Table Entry (RDTE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69 Media Access Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70 Transmit and Receive Message Data Encapsulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70 Media Access Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72 Manchester Encoder/Decoder (MENDEC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73 External Crystal Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73 External Clock Drive Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75 MENDEC Transmit Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75 Transmitter Timing and Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75 Receive Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75 Input Signal Conditioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75 Clock Acquisition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75 PLL Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76 Carrier Tracking and End of Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76 Data Decoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76 Differential Input Terminations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76 Collision Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76 Jitter Tolerance Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77 Attachment Unit Interface (AUI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77 Twisted Pair Transceiver (T-MAU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77 Twisted Pair Transmit Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77 Twisted Pair Receive Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77 Link Test Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77 Polarity Detection and Reversal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78 Twisted Pair Interface Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78 Collision Detect Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78 Signal Quality Error (SQE) Test (Heartbeat) Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79 Jabber Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79 Power Down . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79 Full Duplex Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79 EADI (External Address Detection Interface) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80 General Purpose Serial Interface (GPSI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80 Boundary Scan Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .82 TAP FSM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .82 Supported Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .82 Am79C961A 7 Instruction Register and Decoding Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .82 Boundary Scan Register (BSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .82 Other Data Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .82 Power Saving Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .82 Access Operations (Software) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83 I/O Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83 I/O Register Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83 IEEE Address Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83 Boot PROM Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83 Static RAM Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83 Bus Cycles (Hardware) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83 Bus Master Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84 Address PROM Cycles External PROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84 Address PROM Cycles Using EEPROM Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .85 Ethernet Controller Register Cycles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .85 Transmit Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90 Transmit Function Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90 Automatic Pad Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90 Transmit FCS Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .91 Transmit Exception Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .91 Receive Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .92 Receive Function Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .92 Automatic Pad Stripping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .92 Receive FCS Checking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93 Receive Exception Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93 Loopback Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93 LEDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .94 MAGIC PACKET OPERATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .95 Magic Packet Mode Activation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .95 Magic Packet Receive Indicators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .95 PCNET-ISA II CONTROLLER REGISTERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96 Register Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96 RAP: Register Address Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96 Control and Status Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96 CSR0: PCnet-ISA II Controller Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96 CSR1: IADR[15:0] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .98 CSR2: IADR[23:16] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .98 CSR3: Interrupt Masks and Deferral Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .98 CSR4: Test and Features Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100 CSR5: Control 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .101 CSR6: RCV/XMT Descriptor Table Length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102 CSR8: Logical Address Filter, LADRF[15:0] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102 CSR9: Logical Address Filter, LADRF[31:16] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102 CSR10: Logical Address Filter, LADRF[47:32] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102 CSR11: Logical Address Filter, LADRF[63:48] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102 CSR12: Physical Address Register, PADR[15:0] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103 CSR13: Physical Address Register, PADR[31:16] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103 CSR14: Physical Address Register, PADR[47:32] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103 CSR15: Mode Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103 CSR16: Initialization Block Address Lower . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105 CSR17: Initialization Block Address Upper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105 CSR18-19: Current Receive Buffer Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105 CSR20-21: Current Transmit Buffer Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105 CSR22-23: Next Receive Buffer Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .106 CSR24-25: Base Address of Receive Ring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .106 CSR26-27: Next Receive Descriptor Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .106 CSR28-29: Current Receive Descriptor Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .106 CSR30-31: Base Address of Transmit Ring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .106 8 Am79C961A CSR32-33: Next Transmit Descriptor Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .106 CSR34-35: Current Transmit Descriptor Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .106 CSR36-37: Next Next Receive Descriptor Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .106 CSR38-39: Next Next Transmit Descriptor Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .106 CSR40-41: Current Receive Status and Byte Count . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .106 CSR42-43: Current Transmit Status and Byte Count . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .107 CSR44-45: Next Receive Status and Byte Count . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .107 CSR46: Poll Time Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .107 CSR47: Polling Interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .107 CSR48-49: Temporary Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .107 CSR50-51: Temporary Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .107 CSR52-53: Temporary Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108 CSR54-55: Temporary Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108 CSR56-57: Temporary Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108 CSR58-59: Temporary Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108 CSR60-61: Previous Transmit Descriptor Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108 CSR62-63: Previous Transmit Status and Byte Count . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108 CSR64-65: Next Transmit Buffer Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108 CSR66-67: Next Transmit Status and Byte Count . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108 CSR70-71: Temporary Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109 CSR72: Receive Ring Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109 CSR74: Transmit Ring Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109 CSR76: Receive Ring Length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109 CSR78: Transmit Ring Length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109 CSR80: Burst and FIFO Threshold Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109 CSR82: Bus Activity Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .110 CSR84-85: DMA Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111 CSR86: Buffer Byte Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111 CSR88-89: Chip ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111 CSR92: Ring Length Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111 CSR94: Transmit Time Domain Reflectometry Count . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111 CSR96-97: Bus Interface Scratch Register 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .112 CSR98-99: Bus Interface Scratch Register 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .112 CSR104-105: SWAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .112 CSR108-109: Buffer Management Scratch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .112 CSR112: Missed Frame Count . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .112 CSR114: Receive Collision Count . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .112 CSR124: Buffer Management Unit Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .112 ISACSR0: Master Mode Read Active/SRAM Data Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . .114 ISACSR1: Master Mode Write Active/SRAM Address Pointer . . . . . . . . . . . . . . . . . . . . . . . .114 ISACSR2: Miscellaneous Configuration 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .115 ISACSR3: EEPROM Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .116 ISACSR4: LED0 Status (Link Integrity) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .117 ISACSR5: LED1 Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .117 ISACSR6: LED2 Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .118 ISACSR7: LED3 Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .119 ISACSR8: Software Configuration Register (Read-Only Register) . . . . . . . . . . . . . . . . . . . . .120 ISACSR9: Miscellaneous Configuration 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .120 Initialization Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .120 RLEN and TLEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .120 RDRA and TDRA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121 LADRF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121 PADR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121 MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121 Receive Descriptors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .122 RMD0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .122 RMD1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .122 RMD2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .122 Am79C961A 9 RMD3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .123 Transmit Descriptors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .123 TMD0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .123 TMD1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .123 TMD2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .124 TMD3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .124 Register Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .126 Ethernet Controller Registers (Accessed via RDP Port) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .126 Register Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .127 REGISTER SUMMARY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128 ISACSR—ISA Bus Configuration Registers (Accessed via IDP Port) . . . . . . . . . . . . . . . . . .128 SYSTEM APPLICATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .129 ISA Bus Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .129 Compatibility Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .129 Bus Master . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .129 Shared Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .129 Optional Address PROM Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .132 Boot PROM Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .132 Static RAM Interface (for Shared Memory Only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .133 AUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .133 EEPROM Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .133 10BASE-T Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .133 ABSOLUTE MAXIMUM RATINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .134 OPERATING RANGES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .134 Commercial (C) Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .134 Industrial (I) Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .134 DC CHARACTERISTICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .134 SWITCHING CHARACTERISTICS: BUS MASTER MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .137 SWITCHING CHARACTERISTICS: BUS MASTER MODE—FLASH READ CYCLE . . . . . . . . . . 140 SWITCHING CHARACTERISTICS: BUS MASTER MODE—FLASH WRITE CYCLE . . . . . . . . . .140 SWITCHING CHARACTERISTICS: SHARED MEMORY MODE . . . . . . . . . . . . . . . . . . . . . . . . . 141 SWITCHING CHARACTERISTICS: SHARED MEMORY MODE—FLASH READ CYCLE . . . . . .144 SWITCHING CHARACTERISTICS: SHARED MEMORY MODE—FLASH WRITE CYCLE . . . . . .144 SWITCHING CHARACTERISTICS: EADI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 SWITCHING CHARACTERISTICS: JTAG (IEEE 1149.1) INTERFACE . . . . . . . . . . . . . . . . . . . . .145 SWITCHING CHARACTERISTICS: GPSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .146 SWITCHING CHARACTERISTICS: AUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .147 SWITCHING CHARACTERISTICS: 10BASE-T INTERFACE . . . . . . . . . . . . . . . . . . . . . . . . . . . .148 SWITCHING CHARACTERISTICS: SERIAL EEPROM INTERFACE . . . . . . . . . . . . . . . . . . . . . .148 SWITCHING TEST CIRCUITS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .149 SWITCHING WAVEFORMS: BUS MASTER MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .152 SWITCHING WAVEFORMS: SHARED MEMORY MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .162 SWITCHING WAVEFORMS: GPSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .172 SWITCHING WAVEFORMS: EADI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .173 SWITCHING WAVEFORMS: JTAG (IEEE 1149.1) INTERFACE . . . . . . . . . . . . . . . . . . . . . . . . . . .173 SWITCHING WAVEFORMS: AUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .174 SWITCHING WAVEFORMS: 10BASE-T INTERFACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .178 PHYSICAL DIMENSIONS* . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .180 PQB132 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .180 PHYSICAL DIMENSIONS* . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .181 PQB132 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .181 PCnet-ISA II Compatible Media Interface Modules . . . . . . . . . . . . . . . . . . . . . . . . . .183 PCNET-ISA II COMPATIBLE 10BASE-T FILTERS AND TRANSFORMERS . . . . . . . . . . . . . . . . .183 PCNET-ISA II COMPATIBLE AUI ISOLATION TRANSFORMERS . . . . . . . . . . . . . . . . . . . . . . . . .183 PCNET-ISA II COMPATIBLE DC/DC CONVERTERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .184 MANUFACTURER CONTACT INFORMATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .184 10 Am79C961A Layout Recommendations for Reducing Noise . . . . . . . . . . . . . . . . . . . . . . . . . . . .185 DECOUPLING LOW-PASS R/C FILTER DESIGN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .185 Digital Decoupling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .185 Analog Decoupling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .185 AVSS1 and AVDD3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .185 AVSS2 and AVDD2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .185 AVSS2 and AVDD2/AVDD4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .186 Sample Plug and Play Configuration Record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .187 SAMPLE CONFIGURATION FILE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .187 Alternative Method for Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .189 Introduction of the Look-Ahead Packet Processing (LAPP) Concept . . . . . . . . . .191 Outline of the LAPP Flow: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .191 SETUP: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .192 FLOW: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .192 LAPP Enable Software Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .194 LAPP Enable Rules for Parsing of Descriptors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .194 Some Examples of LAPP Descriptor Interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .195 Buffer Size Tuning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .196 Some Characteristics of the XXC56 Serial EEPROMs . . . . . . . . . . . . . . . . . . . . . . .201 SWITCHING CHARACTERISTICS OF A TYPICAL XXC56 SERIAL EEPROM INTERFACE . . . .201 INSTRUCTION SET FOR THE XXC56 SERIES OF EEPROMS . . . . . . . . . . . . . . . . . . . . . . . . . . .202 Am79C961A PCnet-ISA II Silicon Errata Report . . . . . . . . . . . . . . . . . . . . . . . . . . . .203 AM79C961A REV FD SILICON STATUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .203 Am79C961A 11 ORDERING INFORMATION Standard Products AMD standard products are available in several packages and operating ranges. The order number (Valid Combination) is formed by a combination of: AM79C961A K C \W ALTERNATE PACKAGING OPTION \W=Trimmed and Formed (PQB132) OPTIONAL PROCESSING Blank=Standard Processing TEMPERATURE RANGE C=Commercial (0°C to +70°C) I =Industrial (–40°C to +85°C) PACKAGE TYPE (per Prod. Nomenclature/16-038) K=132-pin Plastic Quad Flat Pack (PQR132) V=144-pin Thin Quad Flat Package (PQT144) SPEED Not Applicable DEVICE NUMBER/DESCRIPTION Am79C961A PCnet-ISA II Jumperless Single-Chip Ethernet Controller for ISA Valid Combinations Valid Combinations KC, KC\W AM79C961A VC, VC\W Valid Combinations list configurations planned to be supported in volume for this device. Consult the local AMD sales office to confirm availability of specific valid combinations and to check on newly released combinations. KI, KI\W AM79C961A VI, VI\W 12 Am79C961A 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 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 65 66 DVSS3 MASTER DRQ7 DRQ6 DRQ5 DVSS10 DACK7 DACK6 DACK5 LA17 LA18 LA19 LA20 DVSS4 LA21 LA22 LA23 SBHE DVDD3 SA0 SA1 SA2 DVSS5 SA3 SA4 SA5 SA6 SA7 SA8 SA9 DVSS6 SA10 SA11 DVDD4 SA12 SA13 SA14 SA15 DVSS7 SA16 SA17 SA18 SA19 AEN IOCHRDY MEMW MEMR DVSS11 IRQ15/APCS IRQ12/FLASHWE IRQ11 DVDD5 IRQ10 IOCS16 BALE IRQ3 IRQ4 IRQ5 REF DVSS12 DRQ3 DACK3 IOR IOW IRQ9 RESET 132 131 130 129 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 DVDD2 TCK TMS TDO TDI EECS BPCS SHFBUSY PRDB0/EESK PRDB1/EEDI PRDB2/EEDO PRDB3 DVSS2 PRDB4 PRDB5 PRDB6 PRDB7 DVDD1 LED0 LED1 DVSS1 LED2 LED3 DXCVR/EAR AVDD2 CI+ CI– DI+ DI– AVDD1 DO+ DO– AVSS1 CONNECTION DIAGRAMS: BUS MASTER MODE PQFP 132 Am79C961AKC Am79C961A 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 XTAL2 AVSS2 XTAL1 AVDD3 TXD+ TXPD+ TXD– TXPD– AVDD4 RXD+ RXD– DVSS13 SD15 SD7 SD14 SD6 DVSS9 SD13 SD5 SD12 SD4 DVDD7 SD11 SD3 SD10 SD2 DVSS8 SD9 SD1 SD8 SD0 SLEEP DVDD6 19364B-2 13 PIN DESIGNATIONS: BUS MASTER MODE Listed by Pin Number Pin No. Pin Name Pin No. Pin Name Pin No. Pin Name Pin No. Pin Name 1 DVSS3 34 DVDD4 67 DVDD6 100 AVSS1 2 MASTER 35 SA12 68 SLEEP 101 DO– 3 DRQ7 36 SA13 69 SD0 102 DO+ 4 DRQ6 37 SA14 70 SD8 103 AVDD1 5 DRQ5 38 SA15 71 SD1 104 DI– 6 DVSS10 39 DVSS7 72 SD9 105 DI+ 7 DACK7 40 SA16 73 DVSS8 106 CI– 8 DACK6 41 SA17 74 SD2 107 CI+ 9 DACK5 42 SA18 75 SD10 108 AVDD2 10 LA17 43 SA19 76 SD3 109 DXCVR/EAR 11 LA18 44 AEN 77 SD11 110 LED3 12 LA19 45 IOCHRDY 78 DVDD7 111 LED2 13 LA20 46 MEMW 79 SD4 112 DVSS1 14 DVSS4 47 MEMR 80 SD12 113 LED1 15 LA21 48 DVSS11 81 SD5 114 LED0 16 LA22 49 IRQ15/APCS 82 SD13 115 DVDD1 17 LA23 50 IRQ12/FlashWE 83 DVSS9 116 PRDB7 18 SBHE 51 IRQ11 84 SD6 117 PRDB6 19 DVDD3 52 DVDD5 85 SD14 118 PRDB5 20 SA0 53 IRQ10 86 SD7 119 PRDB4 21 SA1 54 IOCS16 87 SD15 120 DVSS2 22 SA2 55 BALE 88 DVSS13 121 PRDB3 23 DVSS5 56 IRQ3 89 RXD– 122 PRDB2/EEDO 24 SA3 57 IRQ4 90 RXD+ 123 PRDB1/EEDI 25 SA4 58 IRQ5 91 AVDD4 124 PRDB0/EESK 26 SA5 59 REF 92 TXPD– 125 SHFBUSY 27 SA6 60 DVSS12 93 TXD– 126 BPCS 28 SA7 61 DRQ3 94 TXPD+ 127 EECS 29 SA8 62 DACK3 95 TXD+ 128 TDI 30 SA9 63 IOR 96 AVDD3 129 TDO 31 DVSS6 64 IOW 97 XTAL1 130 TMS 32 SA10 65 IRQ9 98 AVSS2 131 TCK 33 SA11 66 RESET 99 XTAL2 132 DVDD2 14 Am79C961A PIN DESIGNATIONS: BUS MASTER MODE Listed by Pin Name Pin Name Pin No. Pin Name Pin No. Pin Name Pin No. Pin Name Pin No. AEN 44 DVSS12 60 LED2 111 SA6 27 AVDD1 103 DVSS13 88 LED3 110 SA7 28 AVDD2 108 DVSS2 120 MASTER 2 SA8 29 AVDD3 96 DVSS3 1 MEMR 47 SA9 30 AVDD4 91 DVSS4 14 MEMW 46 SBHE 18 AVSS1 100 DVSS5 23 PRDB0/EESK 124 SD0 69 AVSS2 98 DVSS6 31 PRDB1/EEDI 123 SD1 71 BALE 55 DVSS7 39 PRDB2/EEDO 122 SD10 75 BPCS 126 DVSS8 73 PRDB3 121 SD11 77 CI– 106 DVSS9 83 PRDB4 119 SD12 80 CI+ 107 DXCVR/EAR 109 PRDB5 118 SD13 82 DACK3 62 EECS 127 PRDB6 117 SD14 85 DACK5 9 IOCHRDY 45 PRDB7 116 SD15 87 DACK6 8 IOCS16 54 REF 59 SD2 74 DACK7 7 IOR 63 RESET 66 SD3 76 DI– 104 IOW 64 RXD– 89 SD4 79 DI+ 105 IRQ10 53 RXD+ 90 SD5 81 DO– 101 IRQ11 51 SA0 20 SD6 84 DO+ 102 IRQ12/FlashWE 50 SA1 21 SD7 86 DRQ3 61 IRQ15/APCS 49 SA10 32 SD8 70 DRQ5 5 IRQ3 56 SA11 33 SD9 72 DRQ6 4 IRQ4 57 SA12 35 SHFBUSY 125 DRQ7 3 IRQ5 58 SA13 36 SLEEP 68 DVDD1 115 IRQ9 65 SA14 37 TCK 131 DVDD2 132 LA17 10 SA15 38 TDI 128 DVDD3 19 LA18 11 SA16 40 TDO 129 DVDD4 34 LA19 12 SA17 41 TMS 130 DVDD5 52 LA20 13 SA18 42 TXD– 93 DVDD6 67 LA21 15 SA19 43 TXD+ 95 DVDD7 78 LA22 16 SA2 22 TXPD– 92 DVSS1 112 LA23 17 SA3 24 TXPD+ 94 DVSS10 6 LED0 114 SA4 25 XTAL1 97 DVSS11 48 LED1 113 SA5 26 XTAL2 99 Am79C961A 15 PIN DESIGNATIONS: BUS MASTER MODE Listed by Group Pin Name Pin Function I/O Driver ISA Bus Interface AEN Address Enable I BALE Bus Address Latch Enable I DACK[3, 5–7] DMA Acknowledge I DRQ[3, 5–7] DMA Request I/O TS3 IOCHRDY I/O Channel Ready I/O OD3 IOCS16 I/O Chip Select 16 O OD3 IOR I/O Read Select I IOW I/O Write Select I IRQ[3, 4, 5, 9, 10, 11, 12, 15] Interrupt Request O LA[17-23] Unlatched Address Bus I/O TS3 MASTER Master Transfer in Progress O OD3 MEMR Memory Read Select O TS3 MEMW Memory Write Select O TS3 REF Memory Refresh Active I RESET System Reset I SA[0 –19] System Address Bus I/O TS3 SBHE System Byte High Enable I/O TS3 SD[0 –15] System Data Bus I/O TS3 O TS1 O TS1 I/O TS1 O TS2 O TS2 O TS2 O TS2 I/O TS1 TS3/OD3 Board Interfaces IRQ15/APCS IRQ15 or Address PROM Chip Select BPCS Boot PROM Chip Select DXCVR/EAR Disable Transceiver LED0 LED0/LNKST LED1 LED1/SFBD/RCVACT LED2 LED2/SRD/RXDATPOL LED3 LED3/SRDCLK/XMTACT PRDB[3–7] PROM Data Bus SLEEP Sleep Mode XTAL1 Crystal Input XTAL2 Crystal Output SHFBUSY Read access from EEPROM in process PRDB(0)/EESK Serial Shift Clock PRDB(1)/EEDI Serial Shift Data In PRDB(2)/EEDO Serial Shift Data Out EECS EEPROM Chip Select 16 I I Am79C961A O I/O I/O I/O O PIN DESIGNATIONS: BUS MASTER MODE (continued) Listed by Group Pin Name Pin Function I/O Collision Inputs I Driver Attachment Unit Interface (AUI) CI± DI± Receive Data I DO± Transmit Data O 10BASE-T Receive Data I 10BASE-T Transmit Data O 10BASE-T Predistortion Control O Twisted Pair Transceiver Interface (10BASE-T) RXD± TXD± TXPD± IEEE 1149.1 Test Access Port Interface (JTAG) TCK Test Clock I TDI Test Data Input I TDO Test Data Output O TMS Test Mode Select I TS2 Power Supplies AVDD Analog Power [1-4] AVSS Analog Ground [1-2] DVDD Digital Power [1-7] DVSS Digital Ground [1-13] Output Driver Types Name Type IOL (mA) IOH (mA) pF TS1 Tri-State 4 –1 50 TS2 Tri-State 12 –4 50 TS3 Tri-State 24 –3 120 OD3 Open Drain 24 –3 120 Am79C961A 17 PIN DESCRIPTION: BUS MASTER MODE These pins are part of the bus master mode. In order to understand the pin descriptions, definition of some terms from a draft of IEEE P996 are included. IEEE P996 Terminology Alternate Master: Any device that can take control of the bus through assertion of the MASTER signal. It has the ability to generate addresses and bus control signals in order to perform bus operations. All Alternate Masters must be 16 bit devices and drive SBHE. Bus Ownership: The Current Master possesses bus ownership and can assert any bus control, address and data lines. Current Master: The Permanent Master, Temporary Master or Alternate Master which currently has ownership of the bus. between back-to-back DMA requests. See the Back-to-Back DMA Requests section for details. Because of the operation of the Plug and Play registers, the DMA Channels on the PCnet-ISA II must be attached to the specific DRQ and DACK signals on the PC/AT bus as indicated by the pin names. IOCHRDY I/O Channel Ready Input/Output When the PCnet-ISA II controller is being accessed, IOCHRDY HIGH indicates that valid data exists on the data bus for reads and that data has been latched for writes. When the PCnet-ISA II controller is the Current Master on the ISA bus, it extends the bus cycle as long as IOCHRDY is LOW. IOCS16 I/O Chip Select 16 Output Permanent Master: Each P996 bus will have a device known as the Permanent Master that provides certain signals and bus control functions as described in Section 3.5 (of the IEEE P996 spec.), “Permanent Master”. The Permanent Master function can reside on a Bus Adapter or on the backplane itself. When an I/O read or write operation is performed, the PCnet-ISA II controller will drive the IOCS16 pin LOW to indicate that the chip supports a 16-bit operation at this address. (If the motherboard does not receive this signal, then the motherboard will convert a 16-bit access to two 8-bit accesses). Temporary Master: A device that is capable of generating a DMA request to obtain control of the bus and directly asserting only the memory and I/O strobes during bus transfer. Addresses are generated by the DMA device on the Permanent Master. The PCnet-ISA II controller follows the IEEE P996 specification that recommends this function be implemented as a pure decode of SA0-9 and AEN, with no dependency on IOR, or IOW; however, some PC/AT clone systems are not compatible with this approach. For this reason, the PCnet-ISA II controller is recommended to be configured to run 8-bit I/O on all machines. Since data is moved by memory cycles there is virtually no performance loss incurred by running 8-bit I/O and compatibility problems are virtually eliminated. The PCnet-ISA II controller can be configured to run 8-bit-only I/O by clearing Bit 0 in Plug and Play register F0. ISA Interface AEN Address Enable Input This signal must be driven LOW when the bus performs an I/O access to the device. BALE IOR Used to latch the LA20–23 address lines. I/O Read DACK 3, 5-7 DMA Acknowledge Input Asserted LOW when the Permanent Master acknowledges a DMA request. When DACK is asserted the PCnet-ISA II controller becomes the Current Master by asserting the MASTER signal. I/O Write Input/Output When the PCnet-ISA II controller needs to perform a DMA transfer, it asserts DRQ. The Permanent Master acknowledges DRQ with the assertion of DACK. When the PCnet-ISA II does not need the bus it desserts DRQ. The PCnet-ISA II provides for fair bus bandwidth sharing between two bus mastering devices on the ISA bus through an adaptive delay which is inserted 18 IOR is driven LOW by the host to indicate that an Input/ Output Read operation is taking place. IOR is only valid if the AEN signal is LOW and the external address matches the PCnet-ISA II controller’s predefined I/O address location. If valid, IOR indicates that a slave read operation is to be performed. IOW DRQ 3, 5-7 DMA Request Input Input IOW is driven LOW by the host to indicate that an Input/ Output Write operation is taking place. IOW is only valid if AEN signal is LOW and the external address matches the PCnet-ISA II controller’s predefined I/O address location. If valid, IOW indicates that a slave write operation is to be performed. Am79C961A IRQ 3, 4, 5, 9, 10, 11, 12, 15 Interrupt Request (DRQ), the Ethernet controller asserts the MASTER signal to indicate to the Permanent Master that the PCnet-ISA II controller is becoming the Current Master. Output An attention signal which indicates that one or more of the following status flags is set: BABL, MISS, MERR, RINT, IDON, RCVCCO, JAB, MPCO, or TXDATSTRT. All status flags have a mask bit which allows for suppression of IRQ asser tion. These flags have the following meaning: MEMR Memory Read Input/Output MEMR goes LOW to perform a memory read operation. MEMW Memory Write Input/Output MEMW goes LOW to perfor m a memor y wr ite operation. BABL Babble RCVCCO Receive Collision Count Overflow JAB Jabber REF MISS Missed Frame MERR Memory Error MPCO Missed Packet Count Overflow RINT Receive Interrupt IDON Initialization Done TXDATSTRT Transmit Start Memory Refresh Input When REF is asserted, a memory refresh is active. The PCnet-ISA II controller uses this signal to mask inadvertent DMA Acknowledge assertion during memory refresh periods. If DACK is asserted when REF is active, DACK assertion is ignored. REF is monitored to eliminate a bus arbitration problem observed on some ISA platforms. Because of the operation of the Plug and Play registers, the interrupts on the PCnet-ISA II must be attached to specific IRQ signals on the PC/AT bus. LA17-23 Unlatched Address Bus Input/Output The unlatched address bus is driven by the PCnet-ISA II controller during bus master cycle. The functions of these unlatched address pins will change when GPSI mode is invoked. The following table shows the pin configuration in GPSI mode. Please refer to the section on General Purpose Serial Interface for detailed information on accessing this mode. Pin Number Pin Function in Bus Master Mode Pin Function in GPSI Mode 10 LA17 RXDAT 11 LA18 SRDCLK 12 LA19 RXCRS 13 LA20 CLSN 15 LA21 STDCLK 16 LA22 TXEN 17 LA23 TXDAT RESET Reset Input When RESET is asserted HIGH the PCnet-ISA II controller performs an internal system reset. RESET must be held for a minimum of 10 XTAL1 periods before being deasserted. While in a reset state, the PCnet-ISA II controller will tristate or deassert all outputs to predefined reset levels. The PCnet-ISA II controller resets itself upon power-up. SA0-19 System Address Bus Input/Output This bus contains address information, which is stable during a bus operation, regardless of the source. SA17-19 contain the same values as the unlatched address LA17-19. When the PCnet-ISA II controller is the Current Master, SA0-19 will be driven actively. When the PCnet-ISA II controller is not the Current Master, the SA0-19 lines are continuously monitored to determine if an address match exists for I/O slave transfers or Boot PROM accesses. SBHE System Byte High Enable Input/Output This signal indicates the high byte of the system data bus is to be used. SBHE is driven by the PCnet-ISA II controller when performing bus mastering operations. MASTER Master Mode Input/Output This signal indicates that the PCnet-ISA II controller has become the Current Master of the ISA bus. After the PCnet-ISA II controller has received a DMA Acknowledge (DACK) in response to a DMA Request SD0-15 System Data Bus Input/Output These pins are used to transfer data to and from the PCnet-ISA II controller to system resources via the ISA data bus. SD0-15 is driven by the PCnet-ISA II control- Am79C961A 19 ler when performing bus master writes and slave read operations. Likewise, the data on SD0-15 is latched by the PCnet-ISA II controller when performing bus master reads and slave write operations. Board Interface IRQ12/FlashWE Flash Write Enable Output Optional interface to the Flash memory boot PROM Write Enable. IRQ15/APCS Address PROM Chip Select Output When programmed as APCS in Plug and Play Register F0, this signal is asserted when the external Address PROM is read. When an I/O read operation is performed on the first 16 bytes in the PCnet-ISA II controller’s I/O space, APCS is asserted. The outputs of the external Address PROM drive the PROM Data Bus. The PCnet-ISA II controller buffers the contents of the PROM data bus and drives them on the lower eight bits of the System Data Bus. If EADI mode is selected, this pin becomes the EAR input. The incoming frame will be checked against the internally active address detection mechanisms and the result of this check will be OR’d with the value on the EAR pin. The EAR pin is defined as REJECT. (See the EADI section for details regarding the function and timing of this signal). LEDO-3 LED Drivers Output These pins sink 12 mA each for driving LEDs. Their meaning is software configurable (see section The ISA Bus Configuration Registers) and they are active LOW. When EADI mode is selected, the pins named LED1, LED2, and LED3 change in function while LED0 continues to indicate 10BASE-T Link Status. When programmed to IRQ15 (default), this pin has the same function as IRQ 3, 4, 5, 9, 10, 11, or 12. Boot PROM Chip Select Output This signal is asserted when the Boot PROM is read. If SA0-19 lines match a predefined address block and MEMR is active and REF inactive, the BPCS signal will be asserted. The outputs of the external Boot PROM drive the PROM Data Bus. The PCnet-ISA II controller buffers the contents of the PROM data bus and drives them on the lower eight bits of the System Data Bus. DXCVR/EAR 1 SF/BD 2 SRD 3 SRDCLK Private Data Bus Input/Output This is the data bus for the Boot PROM and the Address PROM. PRDB2/EEDO Private data bus bit 2/Data Out Input/Output A multifunction pin which serves as PRDB2 of the private data bus and, when ISACSR3 bit 4 is set, changes to become DATA OUT from the EEPROM. PRDB1/EEDI Input/Output This pin can be used to disable external transceiver circuitry attached to the AUI interface when the internal 10BASE-T port is active. The polarity of this pin is set by the DXCVRP bit (PnP register 0xF0, bit 5). When DXCVRP is cleared (default), the DXCVR pin is driven HIGH when the Twisted Pair port is active or SLEEP mode has been entered and driven LOW when the AUI port is active. When DXCVRP is set, the DXCVR pin is driven LOW when the Twisted Pair port is active or SLEEP mode has been entered and driven HIGH when the AUI port is active. 20 EADI Function PRDB3-7 BPCS Disable Transceiver/ External Address Reject LED Private data bus bit 1/Data In Input/Output A multifunction pin which serves as PRDB1 of the private data bus and, when ISACSR3 bit 4 is set, changes to become DATA In to the EEPROM. PRDB0/EESK Private data bus bit 0/ Serial Clock Input/Output A multifunction pin which serves as PRDB0 of the private data bus and, when ISACSR3 bit 4 is set, changes to become Serial Clock to the EEPROM. Am79C961A SHFBUSY Shift Busy Input/Output This pin indicates that a read from the external EEPROM is in progress. It is active only when data is being shifted out of the EEPROM due to a hardware RESET or assertion of the EE_LOAD bit (ISACSR3, bit 14). If this pin is left unconnected or pulled low with a pull-down resistor, an EEPROM checksum error is forced. Normally, this pin should be connected to VCC through a 10K Ω pull-up resistor. EECS EEPROM CHIP SELECT Output This signal is asserted when read or write accesses are being performed to the EEPROM. It is controlled by ISACSR3. It is driven at Reset during EEPROM Read. SLEEP Sleep Input When SLEEP pin is asserted (active LOW), the PCnet-ISA II controller performs an internal system reset and proceeds into a power savings mode. All outputs will be placed in their normal reset condition. All PCnet-ISA II controller inputs will be ignored except for the SLEEP pin itself. Deassertion of SLEEP results in the device waking up. The system must delay the starting of the network controller by 0.5 seconds to allow internal analog circuits to stabilize. XTAL1 Crystal Connection Input The internal clock generator uses a 20 MHz crystal that is attached to pins XTAL1 and XTAL2. Alternatively, an external 20 MHz CMOS-compatible clock signal can be used to drive this pin. Refer to the section on External Crystal Characteristics for more details. XTAL2 Crystal Connection Output The internal clock generator uses a 20 MHz crystal that is attached to pins XTAL1 and XTAL2. If an external clock is used, this pin should be left unconnected. Am79C961A 21 DVDD4 PRAB12 PRAB13 PRAB14 PRAB15 DVSS7 SA13 SA14 SA15 SRWE AEN IOCHRDY MEMW MEMR DVSS11 APCS/IRQ15 SRCS/IRQ12 IRQ11 DVDD5 IRQ10 IOCS16 BPAM IRQ3 IRQ4 IRQ5 REF DVSS12 SROE SMAM IOR IOW IRQ9 RESET 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 65 66 132 131 130 129 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 DVDD2 TCK TMS TDO TDI EECS BPCS SHFBUSY PRDB0/EESK PRDB1/EEDI PRDB2/EEDO PRDB3 DVSS2 PRDB4 PRDB5 PRDB6 PRDB7 DVDD1 LED0 LED1 DVSS1 LED2 LED3 DXCVR/EAR AVDD2 CI+ CI– DI+ DI– AVDD1 DO+ DO– AVSS1 CONNECTION DIAGRAMS: BUS SLAVE MODE PQFP 132 DVSS3 SMA SA0 SA1 SA2 DVSS10 SA3 SA4 SA5 SA6 SA7 SA8 SA9 DVSS4 SA10 SA11 SA12 SBHE DVDD3 PRAB0 PRAB1 PRAB2 DVSS5 PRAB3 PRAB4 PRAB5 PRAB6 PRAB7 PRAB8 PRAB9 DVSS6 PRAB10 PRAB11 22 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 Am79C961AKC Am79C961A 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 XTAL2 AVSS2 XTAL1 AVDD3 TXD+ TXPD+ TXD– TXPD– AVDD4 RXD+ RXD– DVSS13 SD15 SD7 SD14 SD6 DVSS9 SD13 SD5 SD12 SD4 DVDD7 SD11 SD3 SD10 SD2 DVSS8 SD9 SD1 SD8 SD0 SLEEP DVDD6 19364B-3 BLOCK DIAGRAM: BUS SLAVE MODE AEN RCV FIFO IOCHRDY 802.3 MAC Core IOR IOW IRQ[3, 4, 5, 9, 10, 11, 12] IOCS16 MEMR DXCVR/EAR CI+/ISA Bus Interface Unit Encoder/ Decoder (PLS) & AUI Port XMT FIFO MEMW DI+/XTAL1 XTAL2 DO+/- REF RXD+/- RESET 10BASE-T MAU SA[0-15] SBHE FIFO Control SD[0-15] Private Bus Control Buffer Management Unit SMA SLEEP BPAM SMAM SHFBUSY EEDO EEDI EESK EECS TXD+/TXPD+/- IRQ15/APCS BPCS LED[0-3] PRAB[0-15] PRDB[0-7] SROE SRWE TDO JTAG Port Control EEPROM Interface Unit TMS TDI TCK DVDD[1-7] 19364B-4 DVSS[1-13] AVDD[1-4] AVSS[1-2] Am79C961A 23 PIN DESIGNATIONS: BUS SLAVE MODE Listed by Pin Number 24 Pin # Name Pin # Name Pin # Name 1 DVSS3 45 IOCHRDY 89 RXD- 2 SMA 46 MEMW 90 RXD+ 3 SA0 47 MEMR 91 AVDD4 4 SA1 48 DVSS11 92 TXPD- 5 SA2 49 IRQ15 93 TXD- 6 DVSS10 50 IRQ12 94 TXPD+ 7 SA3 51 IRQ11 95 TXD+ 8 SA4 52 DVDD5 96 AVDD3 9 SA5 53 IRQ10 97 XTAL1 10 SA6 54 IOCS16 98 AVSS2 11 SA7 55 BPAM 99 XTAL2 12 SA8 56 IRQ3 100 AVSS1 13 SA9 57 IRQ4 101 DO- 14 DVSS4 58 IRQ5 102 DO+ 15 SA10 59 REF 103 AVDD1 16 SA11 60 DVSS12 104 DI- 17 SA12 61 SROE 105 DI+ 18 SBHE 62 SMAM 106 CI- 19 DVDD3 63 IOR 107 CI+ 20 PRAB0 64 IOW 108 AVDD2 21 PRAB1 65 IRQ9 109 DXCVR/EAR 22 PRAB2 66 RESET 110 LED3 23 DVSS5 67 DVDD6 111 LED2 24 PRAB3 68 SLEEP 112 DVSS1 25 PRAB4 69 SD0 113 LED1 26 PRAB5 70 SD8 114 LED0 27 PRAB6 71 SD1 115 DVDD1 28 PRAB7 72 SD9 116 PRDB7 29 PRAB8 73 DVSS8 117 PRDB6 30 PRAB9 74 SD2 118 PRDB5 31 DVSS6 75 SD10 119 PRDB4 32 PRAB10 76 SD3 120 DVSS2 33 PRAB11 77 SD11 121 PRDB3 34 DVDD4 78 DVDD7 122 PRDB2/EEDO 35 PRAB12 79 SD4 123 PRDB1/EEDI 36 PRAB13 80 SD12 124 PRDB0/EESK 37 PRAB14 81 SD5 125 SHFBUSY 38 PRAB15 82 SD13 126 BPCS 39 DVSS7 83 DVSS9 127 EECS 40 SA13 84 SD6 128 TDI 41 SA14 85 SD14 129 TDO 42 SA15 86 SD7 130 TMS 43 SRWE 87 SD15 131 TCK 44 AEN 88 DVSS13 132 DVDD2 Am79C961A PIN DESIGNATIONS: BUS SLAVE MODE Listed by Pin Name Name Pin# Name Pin# Name Pin# AEN 44 IRQ15 49 SA13 40 AVDD1 103 IRQ3 56 SA14 41 AVDD2 108 IRQ4 57 SA15 42 AVDD3 96 IRQ5 58 SA2 5 AVDD4 91 IRQ9 65 SA3 7 AVSS1 100 LED0 114 SA4 8 AVSS2 98 LED1 113 SA5 9 BPAM 55 LED2 111 SA6 10 BPCS 126 LED3 110 SA7 11 CI- 106 MEMR 47 SA8 12 CI+ 107 MEMW 46 SA9 13 DI- 104 PRAB0 20 SBHE 18 DI+ 105 PRAB1 21 SD0 69 DO- 101 PRAB10 32 SD1 71 DO+ 102 PRAB11 33 SD10 75 DVDD1 115 PRAB12 35 SD11 77 DVDD2 132 PRAB13 36 SD12 80 DVDD3 19 PRAB14 37 SD13 82 DVDD4 34 PRAB15 38 SD14 85 DVDD5 52 PRAB2 22 SD15 87 DVDD6 67 PRAB3 24 SD2 74 DVDD7 78 PRAB4 25 SD3 76 DVSS1 112 PRAB5 26 SD4 79 DVSS10 6 PRAB6 27 SD5 81 DVSS11 48 PRAB7 28 SD6 84 DVSS12 60 PRAB8 29 SD7 86 DVSS13 88 PRAB9 30 SD8 70 DVSS2 120 PRDB0/DO 124 SD9 72 DVSS3 1 PRDB0/D1 123 SHFBUSY 125 DVSS4 14 PRDB0/SCLK 122 SLEEP 68 DVSS5 23 PRDB3 121 SMA 2 DVSS6 31 PRDB4 119 SMAM 62 DVSS7 39 PRDB5 118 SROE 61 DVSS8 73 PRDB6 117 SRWE 43 DVSS9 83 PRDB7 116 TCK 131 DXCVR/EAR 109 REF 59 TDI 128 EECS 127 RESET 66 TDO 129 IOCHRDY 45 RXD- 89 TMS 130 IOCS16 54 RXD+ 90 TXD- 93 IOR 63 SA0 3 TXD+ 95 IOW 64 SA1 4 TXPD- 92 IRQ10 53 SA10 15 TXPD+ 94 IRQ11 51 SA11 16 XTAL1 97 IRQ12 50 SA12 17 XTAL2 99 Am79C961A 25 PIN DESIGNATIONS: BUS SLAVE MODE Listed by Group Pin Name Pin Function I/O Driver ISA Bus Interface AEN Address Enable I IOCHRDY I/O Channel Ready O OD3 IOCS16 I/O Chip Select 16 O OD3 IOR I/O Read Select I IOW I/O Write Select I IRQ[3, 4, 5, 9, 10, 11, 12, 15] Interrupt Request O MEMR Memory Read Select I MEMW Memory Write Select I REF Memory Refresh Active I RESET System Reset I SA[0–15] System Address Bus I TS3/OD3 SBHE System Byte High Enable SD[0–15] System Data Bus I/O I TS3 IRQ15/APCS IRQ15 or Address PROM Chip Select O TS1 BPCS Boot PROM Chip Select O TS1 BPAM Boot PROM Address Match I DXCVR/EAR Disable Transceiver I/O TS1 LED0 LED0/LNKST O TS2 LED1 LED1/SFBD/RCVACT O TS2 LED2 LED2/SRD/RXDATD01 O TS2 LED3 LED3/SRDCLK/XMTACT O TS2 PRAB[0–15] PRivate Address Bus I/O TS3 PRDB[3–7] PRivate Data Bus I/O TS1 SLEEP Sleep Mode I SMA Slave Mode Architecture I SMAM Shared Memory Address Match I SROE Static RAM Output Enable O TS3 SRWE Static RAM Write Enable O TS1 XTAL1 Crystal Oscillator Input I XTAL2 Crystal Oscillator OUTPUT O Board Interfaces SHFBUSY Read access from EEPROM in process O PRDB(0)/EESK Serial Shift Clock I/O PRDB(1)/EEDI Serial Shift Data In I/O PRDB(2)/EEDO Serial Shift Data Out I/O EECS EEPROM Chip Select O 26 Am79C961A PIN DESIGNATIONS: BUS SLAVE MODE Listed by Group Pin Name Pin Function I/O Collision Inputs I Driver Attachment Unit Interface (AUI) CI± DI± Receive Data I DO± Transmit Data O 10BASE-T Receive Data I 10BASE-T Transmit Data O 10BASE-T Predistortion Control O Twisted Pair Transceiver Interface (10BASE-T) RXD± TXD± TXPD± IEEE 1149.1 Test Access Port Interface (JTAG) TCK Test Clock I TDI Test Data Input I TDO Test Data Output O TMS Test Mode Select I TS2 Power Supplies AVDD Analog Power [1-4] AVSS Analog Ground [1-2] DVDD Digital Power [1-7] DVSS Digital Ground [1-13] Output Driver Types Name Type IOL (mA) IOH (mA) pF TS1 Tri-State 4 –1 50 TS2 Tri-State 12 –4 50 TS3 Tri-State 24 –3 120 OD3 Open Drain 24 –3 120 Am79C961A 27 PIN DESCRIPTION: BUS SLAVE MODE ISA Interface AEN Address Enable Input This signal must be driven LOW when the bus performs an I/O access to the device. IOCHRDY I/O Channel Ready Output When the PCnet-ISA II controller is being accessed, a HIGH on IOCHRDY indicates that valid data exists on the data bus for reads and that data has been latched for writes. IOCS16 I/O Chip Select 16 Input/Output When an I/O read or write operation is performed, the PCnet-ISA II controller will drive this pin LOW to indicate that the chip supports a 16-bit operation at this address. (If the motherboard does not receive this signal, then the motherboard will convert a 16-bit access to two 8-bit accesses). The PCnet-ISA II controller follows the IEEE P996 specification that recommends this function be implemented as a pure decode of SA0-9 and AEN, with no dependency on IOR, or IOW; however, some PC/AT clone systems are not compatible with this approach. For this reason, the PCnet-ISA II controller is recommended to be configured to run 8-bit I/O on all machines. Since data is moved by memory cycles there is vir tually no performance loss incurred by running 8-bit I/O and compatibility problems are virtually eliminated. The PCnet-ISA II controller can be configured to run 8-bit-only I/ O by clearing Bit 0 in Plug and Play Register F0. IOR I/O Read Input To perform an Input/Output Read operation on the device IOR must be asserted. IOR is only valid if the AEN signal is LOW and the external address matches the PCnet-ISA II controller’s predefined I/O address location. If valid, IOR indicates that a slave read operation is to be performed. IOW I/O Write Input To perform an Input/Output write operation on the device IOW must be asserted. IOW is only valid if AEN signal is LOW and the external address matches the PCnet-ISA II controller’s predefined I/O address location. If valid, IOW indicates that a slave write operation is to be performed. 28 IRQ3, 4, 5, 9, 10, 11, 12, 15 Interrupt Request Output An attention signal which indicates that one or more of the following status flags is set: BABL, MISS, MERR, RINT, IDON or TXSTRT. All status flags have a mask bit which allows for suppression of IRQ assertion. These flags have the following meaning: BABL Babble RCVCCO Receive Collision Count Overflow JAB Jabber MISS Missed Frame MERR Memory Error MPCO Missed Packet Count Overflow RINT Receive Interrupt IDON Initialization Done TXSTRT Transmit Start MEMR Memory Read Input ME M R go es L OW to pe rfo r m a me mo r y r ea d operation. MEMW Memory Write Input MEMW goes LOW to perform a memory write operation. REF Memory Refresh Input When REF is asserted, a memory refresh cycle is in progress. During a refresh cycle, MEMR assertion is ignored. RESET Reset Input When RESET is asserted HIGH, the PCnet-ISA II controller performs an internal system reset. RESET must be held for a minimum of 10 XTAL1 periods before being deasserted. While in a reset state, the PCnet-ISA II controller will tristate or deassert all outputs to predefined reset levels. The PCnet-ISA II controller resets itself upon power-up. SA0-15 System Address Bus Input This bus carries the address inputs from the system address bus. Address data is stable during command active cycle. Am79C961A SBHE DXCVR/EAR System Bus High Enable Input This signal indicates the HIGH byte of the system data bus is to be used. There is a weak pull-up resistor on this pin. If the PCnet-ISA II controller is installed in an 8-bit only system like the PC/XT, SBHE will always be HIGH and the PCnet-ISA II controller will perform only 8-bit operations. There must be at least one LOW going edge on this signal before the PCnet-ISA II controller will perform 16-bit operations. Disable Transceiver/ External Address Reject Input/Output This pin disables the transceiver. The DXCVR output is configured in the initialization sequence. A high level indicates the Twisted Pair Interface is active and the AUI is inactive, or SLEEP mode has been entered. A low level indicates the AUI is active and the Twisted Pair interface is inactive. SD0-15 If EADI mode is selected, this pin becomes the EAR input. System Data Bus Input/Output This bus is used to transfer data to and from the PCnet-ISA II controller to system resources via the ISA data bus. SD0-15 is driven by the PCnet-ISA II controller when performing slave read operations. The incoming frame will be checked against the internally active address detection mechanisms and the result of this check will be OR’d with the value on the EAR pin. The EAR pin is defined as REJECT. (See the EADI section for details regarding the function and timing of this signal). Likewise, the data on SD0-15 is latched by the PCnet-ISA II controller when performing slave write operations. LED0-3 Board Interface APCS/IRQ15 Address PROM Chip Select Output This signal is asserted when the external Address PROM is read. When an I/O read operation is performed on the first 16 bytes in the PCnet-ISA II controller’s I/O space, APCS is asserted. The outputs of the external Address PROM drive the PROM Data Bus. The PCnet-ISA II controller buffers the contents of the PROM data bus and drives them on the lower eight bits of the System Data Bus. IOCS16 is not asserted during this cycle. BPAM Boot PROM Address Match Input This pin indicates a Boot PROM access cycle. If no Boot PROM is installed, this pin has a default value of HIGH and thus may be left connected to VDD. BPCS Boot PROM Chip Select Output This signal is asserted when the Boot PROM is read. If BPAM is active and MEMR is active, the BPCS signal will be asserted. The outputs of the external Boot PROM drive the PROM Data Bus. The PCnet-ISA II controller buffers the contents of the PROM data bus and drives them on the System Data Bus. IOCS16 is not asserted during this cycle. If 16-bit cycles are performed, it is the responsibility of external logic to assert MEMCS16 signal. LED Drivers Output These pins sink 12 mA each for driving LEDs. Their meaning is software configurable (see section The ISA Bus Configuration Registers) and they are active LOW. When EADI mode is selected, the pins named LED1, LED2, and LED3 change in function while LED0 continues to indicate 10BASE-T Link Status. The DXCVR input becomes the EAR input. LED EADI Function 1 SF/BD 2 SRD 3 SRDCLK PRAB0-15 Private Address Bus Input/Output The Private Address Bus is the address bus used to drive the Address PROM, Remote Boot PROM, and SRAM. PRDB3-7 Private Data Bus Input/Output This is the data bus for the static RAM, the Boot PROM, and the Address PROM. PRDB2/EEDO Private Data Bus Bit 2/Data Out Input/Output A multifunction pin which serves as PRDB2 of the private data bus and, when ISACSR3 bit 4 is set, changes to become DATA OUT from the EEPROM. Am79C961A 29 PRDB1/EEDI Private Data Bus Bit 1/Data In Input/Output A multifunction pin which serves as PRDB1 of the private data bus and, when ISACSR3 bit 4 is set, changes to become DATA In to the EEPROM. PRDB0/EESK Private Data Bus Bit 0/ Serial Clock Input/Output A multifunction pin which serves as PRDB0 of the private data bus and, when ISACSR3 bit 4 is set, changes to become Serial Clock to the EEPROM. cess or Programmed I/O access through the PIOSEL bit (ISACSR2, bit 13). SMAM Shared Memory Address Match Input When the Shared Memory architecture is selected (ISACSR2, bit 13), this pin is an input that indicates an access to shared memory when asserted. The type of access is decided by MEMR or MEMW. When the Programmed I/O architecture is selected, this pin should be permanently tied HIGH. SHFBUSY SROE Shift Busy Input/Output This pin indicates that a read from the external EEPROM is in progress. It is active only when data is being shifted out of the EEPROM due to a hardware RESET or assertion of the EE_LOAD bit (ISACSR3, bit 14). If this pin is left unconnected or pulled low with a pull-down resistor, an EEPROM checksum error is forced. Normally, this pin should be connected to VCC through a 10K Ω pull-up resistor. Static RAM Output Enable Output This pin directly controls the external SRAM’s OE pin. EECS EEPROM CHIP SELECT Output This signal is asserted when read or write accesses are being performed to the EEPROM. It is controlled by ISACSR3. It is driven at Reset during EEPROM Read. SLEEP Sleep Input When SLEEP input is asserted (active LOW), the PCnet-ISA II controller performs an internal system reset and proceeds into a power savings mode. All outputs will be placed in their normal reset condition. All PCnet-ISA II controller inputs will be ignored except for the SLEEP pin itself. Deassertion of SLEEP results in the device waking up. The system must delay the starting of the network controller by 0.5 seconds to allow internal analog circuits to stabilize. SMA Slave Mode Architecture Input This pin must be permanently pulled LOW for operation in the Bus Slave mode. It is sampled after the hardware RESET sequence. In the Bus Slave mode, the PCnet-ISA II can be programmed for Shared Memory ac- 30 SRCS/IRQ12 Static RAM Chip Select Output This pin directly controls the external SRAM’s chip select (CS) pin when the Flash boot ROM option is selected. When Flash boot ROM option is not selected, this pin becomes IRQ12. SRWE/WE Static RAM Write Enable/ Write Enable Output This pin (SRWE) directly controls the external SRAM’s W E p i n w h e n a F l a s h m e m o r y d ev i c e i s n o t implemented. When a Flash memory device is implemented, this pin becomes a global write enable (WE) pin. XTAL1 Crystal Connection Input The internal clock generator uses a 20 MHz crystal that is attached to pins XTAL1 and XTAL2. Alternatively, an external 20 MHz CMOS-compatible clock signal can be used to drive this pin. Refer to the section on External Crystal Characteristics for more details. XTAL2 Crystal Connection Output The internal clock generator uses a 20 MHz crystal that is attached to pins XTAL1 and XTAL2. If an external clock is used, this pin should be left unconnected. Am79C961A PIN DESCRIPTION: NETWORK INTERFACES AUI TDO Test Data Output Output This is the test data output path from the PCnet-ISA II controller. TDO is tri-stated when JTAG port is inactive. CI+, CI– Control Input Input This is a differential input pair used to detect Collision (Signal Quality Error Signal). DI+, DI– Data In Input This is a differential receive data input pair to the PCnet-ISA II controller. DO+, DO– Data Out Output This is a differential transmit data output pair from the PCnet-ISA II controller. Twisted Pair Interface RXD+, RXD– Receive Data Input This is the 10BASE-T port differential receive input pair. TXD+, TXD– Transmit Data Output These are the 10BASE-T port differential transmit drivers. TXP+, TXP– Transmit Predistortion Control Output These are 10BASE-T transmit waveform pre-distortion control differential outputs. PIN DESCRIPTION: IEEE 1149.1 (JTAG) TEST ACCESS PORT TCK Test Clock Input This is the clock input for the boundary scan test mode operation. TCK can operate up to 10 MHz. TCK does not have an internal pull-up resistor and must be connected to a valid TTL level of high or low. TCK must not be left unconnected. TDI Test Data Input Input This is the test data input path to the PCnet-ISA II controller. If left unconnected, this pin has a default value of HIGH. TMS Test Mode Select Input This is a serial input bit stream used to define the specific boundary scan test to be executed. If left unconnected, this pin has a default value of HIGH. PIN DESCRIPTION: POWER SUPPLIES All power pins with a “D” prefix are digital pins connected to the digital circuitry and digital I/O buffers. All power pins with an “A” prefix are analog power pins connected to the analog circuitry. Not all analog pins are quiet and special precaution must be taken when doing board layout. Some analog pins are more noisy than others and must be separated from the other analog pins. AVDD1–4 Analog Power (4 Pins) Power Supplies power to analog portions of the PCnet-ISA II controller. Special attention should be paid to the printed circuit board layout to avoid excessive noise on these lines. AVSS1–2 Analog Ground (2 Pins) Power Supplies ground reference to analog portions of PCnet-ISA II controller. Special attention should be paid to the printed circuit board layout to avoid excessive noise on these lines. DVDD1–7 Digital Power (7 Pins) Power Supplies power to digital portions of PCnet-ISA II controller. Four pins are used by Input/Output buffer drivers and two are used by the internal digital circuitry. DVSS1–13 Digital Ground (13 Pins) Power Supplies ground reference to digital portions of PCnet-ISA II controller. Ten pins are used by Input/Output buffer drivers and two are used by the internal digital circuitry. Am79C961A 31 CONNECTION DIAGRAM Am79C961AVC 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 65 66 67 68 69 70 71 72 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 144 143 142 141 140 139 138 137 136 135 134 133 132 131 130 129 128 127 126 125 124 123 122 121 120 119 118 117 116 115 114 113 112 111 110 109 TQFP 144 108 107 106 105 104 103 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 19364B-5 32 Am79C961A PIN DESIGNATIONS: BUS MASTER MODE (TQFP 144) Listed by Pin Number Pin No. Pin Name Pin No. Pin Name Pin No. Pin Name Pin No. Pin Name 1 NC 37 NC 73 NC 109 NC 2 DVSS3 38 DVDD4 74 DVDD6 110 AVSS1 3 MASTER 39 SA12 75 SLEEP 111 DO– 4 DRQ7 40 SA13 76 SD0 112 DO+ 5 DRQ6 41 SA14 77 SD8 113 AVDD1 6 DRQ5 42 SA15 78 SD1 114 DI– 7 DVSS10 43 DVSS7 79 SD9 115 DI+ 8 DACK7 44 SA16 80 DVSS8 116 CI– 9 DACK6 45 SA17 81 SD2 117 CI+ 10 DACK5 46 SA18 82 SD10 118 AVDD2 11 LA17 47 SA19 83 SD3 119 DXCVR/EAR 12 LA18 48 AEN 84 SD11 120 LED3 13 LA19 49 IOCHRDY 85 DVDD7 121 LED2 14 LA20 50 MEMW 86 SD4 122 DVSS1 15 DVSS4 51 MEMR 87 SD12 123 LED1 16 LA21 52 DVSS11 88 SD5 124 LED0 17 LA22 53 IRQ15/APCS 89 SD13 125 DVDD1 18 LA23 54 IRQ12/FlashWE 90 DVSS9 126 PRDB7 19 SBHE 55 IRQ11 91 SD6 127 PRDB6 20 DVDD3 56 DVDD5 92 SD14 128 PRDB5 21 SA0 57 IRQ10 93 SD7 129 PRDB4 22 SA1 58 IOCS16 94 SD15 130 DVSS2 23 SA2 59 BALE 95 DVSS13 131 PRDB3 24 DVSS5 60 IRQ3 96 RXD– 132 PRDB2/EEDO 25 SA3 61 IRQ4 97 RXD+ 133 PRDB1/EEDI 26 SA4 62 IRQ5 98 AVDD4 134 PRDB0/EESK 27 SA5 63 REF 99 TXPD– 135 SHFBUSY 28 SA6 64 DVSS12 100 TXD– 136 BPCS 29 SA7 65 DRQ3 101 TXPD+ 137 EECS 30 SA8 66 DACK3 102 TXD+ 138 TDI 31 SA9 67 IOR 103 AVDD3 139 TDO 32 DVSS6 68 IOW 104 XTAL1 140 TMS 33 SA10 69 IRQ9 105 AVSS2 141 TCK 34 SA11 70 RESET 106 XTAL2 142 DVDD2 35 NC 71 NC 107 NC 143 NC 36 NC 72 NC 108 NC 144 NC Am79C961A 33 PIN DESIGNATIONS: BUS MASTER MODE (TQFP 144) Listed by Pin Name Pin Name Pin No. Pin Name Pin No. Pin Name Pin No. Pin Name Pin No. AEN 48 DVSS3 2 NC 37 SA3 25 AVDD1 113 DVSS4 15 NC 71 SA4 26 AVDD2 118 DVSS5 24 NC 72 SA5 27 AVDD3 103 DVSS6 32 NC 73 SA6 28 34 AVDD4 98 DVSS7 43 NC 107 SA7 29 AVSS1 110 DVSS8 80 NC 108 SA8 30 AVSS2 105 DVSS9 90 NC 109 SA9 31 BALE 59 DXCVR/EAR 119 NC 143 SBHE 19 BPCS 136 EECS 137 NC 144 SD0 76 CI+ 117 IOCHRDY 49 PRDB0/EESK 134 SD1 78 CI– 116 IOCS16 58 PRDB1/EEDI 133 SD10 82 DACK3 66 IOR 67 PRDB2/EEDO 132 SD11 84 DACK5 10 IOW 68 PRDB3 131 SD12 87 DACK6 9 IRQ10 57 PRDB4 129 SD13 89 DACK7 8 IRQ11 55 PRDB5 128 SD14 92 DI+ 115 IRQ12/FlashWE 54 PRDB6 127 SD15 94 DI– 114 IRQ15/APCS 53 PRDB7 126 SD2 81 DO+ 112 IRQ3 60 REF 63 SD3 83 DO– 111 IRQ4 61 RESET 70 SD4 86 DRQ3 65 IRQ5 62 RXD+ 97 SD5 88 DRQ5 6 IRQ9 69 RXD– 96 SD6 91 DRQ6 5 LA17 11 SA0 21 SD7 93 DRQ7 4 LA18 12 SA1 22 SD8 77 DVDD1 125 LA19 13 SA10 33 SD9 79 DVDD2 142 LA20 14 SA11 34 SHFBUSY 135 DVDD3 20 LA21 16 SA12 39 SLEEP 75 DVDD4 38 LED0 124 SA13 40 TCK 141 DVDD5 56 LED1 123 SA14 41 TDI 138 DVDD6 74 LED2 121 SA15 42 TDO 139 DVDD7 85 LED3 120 SA16 44 TMS 140 DVSS1 122 MASTER 3 SA17 45 TXD+ 102 DVSS10 7 MEMR 51 SA18 46 TXD– 100 DVSS11 52 MEMW 50 SA19 47 TXPD+ 101 DVSS12 64 NC 1 SA2 23 TXPD– 99 DVSS13 95 NC 35 SA22 17 XTAL1 104 DVSS2 130 NC 36 SA23 18 XTAL2 106 Am79C961A PIN DESIGNATIONS: BUS SLAVE (PIO AND SHARED MEMORY) MODES (TQFP 144) Listed by Pin Number Pin No. Pin Name Pin No. Pin Name Pin No. Pin Name Pin No. Pin Name 1 NC 37 NC 73 NC 109 NC 2 DVSS3 38 DVDD4 74 DVDD6 110 AVSS1 3 SMA 39 PRAB12 75 SLEEP 111 DO- 4 SA0 40 PRAB13 76 SD0 112 DO+ 5 SA1 41 PRAB14 77 SD8 113 AVDD1 6 SA2 42 PRAB15 78 SD1 114 DI- 7 DVSS10 43 DVSS7 79 SD9 115 DI+ 8 SA3 44 SA13 80 DVSS8 116 CI- 9 SA4 45 SA14 81 SD2 117 CI+ 10 SA5 46 SA15 82 SD10 118 AVDD2 11 SA6 47 SRWE 83 SD3 119 DXCVR/EAR 12 SA7 48 AEN 84 SD11 120 LED3 13 SA8 49 IOCHRDY 85 DVDD7 121 LED2 14 SA9 50 MEMW 86 SD4 122 DVSS1 15 DVSS4 51 MEMR 87 SD12 123 LED1 16 SA10 52 DVSS11 88 SD5 124 LED0 17 SA11 53 IRQ15 89 SD13 125 DVDD1 18 SA12 54 IRQ12 90 DVSS9 126 PRDB7 19 SBHE 55 IRQ11 91 SD6 127 PRDB6 20 DVDD3 56 DVDD5 92 SD14 128 PRDB5 21 PRAB0 57 IRQ10 93 SD7 129 PRDB4 22 PRAB1 58 IOCS16 94 SD15 130 DVSS2 23 PRAB2 59 BPAM 95 DVSS13 131 PRDB3 24 DVSS5 60 IRQ3 96 RXD- 132 PRDB2/ EEDO 25 PRAB3 61 IRQ4 97 RXD+ 133 PRDB1/EEDI 26 PRAB4 62 IRQ5 98 AVDD4 134 PRDB0/EESK 27 PRAB5 63 REF 99 TXPD- 135 SHFBUSY 28 PRAB6 64 DVSS12 100 TXD- 136 BPCS 29 PRAB7 65 SROE 101 TXPD+ 137 EECS 30 PRAB8 66 SMAM 102 TXD+ 138 TDI 31 PRAB9 67 IOR 103 AVDD3 139 TDO 32 DVSS6 68 IOW 104 XTAL1 140 TMS 33 PRAB10 69 IRQ9 105 AVSS2 141 TCK 34 PRAB11 70 RESET 106 XTAL2 142 DVDD2 35 NC 71 PCMCIA_MODE 107 NC 143 NC 36 NC 72 NC 108 NC 144 NC Am79C961A 35 PIN DESIGNATIONS: BUS SLAVE (PIO AND SHARED MEMORY) MODES (TQFP 144) Listed by Pin Name Pin Name Pin No. Pin Name Pin No. Pin Name Pin No. Pin Name Pin No. AEN 48 EECS 137 PRAB13 40 SA7 12 AVDD1 113 IOCHRDY 49 PRAB14 41 SA8 13 AVDD2 118 IOCS16 58 PRAB15 42 SA9 14 AVDD3 103 IOR 67 PRAB2 23 SBHE 19 AVDD4 98 IOW 68 PRAB3 25 SD0 76 AVSS1 110 IRQ10 57 PRAB4 26 SD1 78 AVSS2 105 IRQ11 55 PRAB5 27 SD10 82 BPAM 59 IRQ12 54 PRAB6 28 SD11 84 BPCS 136 IRQ15 53 PRAB7 29 SD12 87 CI+ 117 IRQ3 60 PRAB8 30 SD13 89 CI– 116 IRQ4 61 PRAB9 31 SD14 92 DI+ 115 IRQ5 62 PRDB0/EESK 134 SD15 94 DI– 114 IRQ9 69 PRDB1/EEDI 133 SD2 81 DO+ 112 LED0 124 PRDB2/EEDO 132 SD3 83 DO– 111 LED1 123 PRDB3 131 SD4 86 DVDD1 125 LED2 121 PRDB4 129 SD5 88 DVDD2 142 LED3 120 PRDB5 128 SD6 91 DVDD3 20 MEMR 51 PRDB6 127 SD7 93 DVDD4 38 MEMW 50 PRDB7 126 SD8 77 DVDD5 56 NC 1 REF 63 SD9 79 DVDD6 74 NC 35 RESET 70 SHFBUSY 135 DVDD7 85 NC 36 RXD+ 97 SLEEP 75 DVSS1 122 NC 37 RXD– 96 SMAM 66 DVSS10 7 NC 72 SA0 4 SMA 3 DVSS11 52 NC 73 SA1 5 SROE 65 DVSS12 64 NC 107 SA10 16 SRWE 47 DVSS13 95 NC 108 SA11 17 TCK 141 DVSS2 130 NC 109 SA12 18 TDI 138 DVSS3 2 NC 143 SA13 44 TDO 139 DVSS4 15 NC 144 SA14 45 TMS 140 DVSS5 24 PCMCIA_MODE 71 SA15 46 TXD+ 102 DVSS6 32 PRAB0 21 SA2 6 TXD– 100 DVSS7 43 PRAB1 22 SA3 8 TXPD+ 101 DVSS8 80 PRAB10 33 SA4 9 TXPD– 99 DVSS9 90 PRAB11 34 SA5 10 XTAL1 104 DXCVR/EAR 119 PRAB12 39 SA6 11 XTAL2 106 36 Am79C961A BLOCK DIAGRAM: PCMCIA MODE REG CE2 CE1 RCV FIFO WAIT INPACK STSCHG IORD IOWR PCMCIA Bus Interface Unit IREQ IOIS16 802.3 MAC Core CI± Encoder/ Decoder (PLS) & AUI Port XMT FIFO OE DXCVR/EAR DI± XTAL1 XTAL2 DO± WE RXD± VCC 10BASE-T MAU RESET A[0-15] FIFO Control D[0-15] PCMCIA_MODE SMA SLEEP Optional SMAM SHFBUSY EEDO EEDI EESK EECS Private Bus Control Buffer Management Unit TXD± TXPD± FLCS LED[0-3] PRAB[0-15] PRDB[0–7] SROE SRWE SRCS TDO JTAG Port Control EEPROM Interface Unit TMS TDI TCK DVDD[1-7] DVSS[1-13] AVDD[1-4] AVSS[1-2] 19364B-6 Am79C961A 37 PIN DESIGNATIONS: PCMCIA MODE (TQFP 144) Listed by Pin Number 38 Pin No. Pin Name Pin No. Pin Name Pin No. Pin Name Pin No. Pin Name 1 NC 37 NC 73 NC 109 NC 2 DVSS3 38 DVDD4 74 DVDD6 110 AVSS1 3 SMA 39 PRAB12 75 SLEEP 111 DO– 4 SA0 40 PRAB13 76 SD0 112 DO+ 5 SA1 41 PRAB14 77 SD8 113 AVDD1 6 SA2 42 PRAB15 78 SD1 114 DI– 7 DVSS10 43 DVSS7 79 SD9 115 DI+ 8 SA3 44 SA13 80 DVSS8 116 CI– 9 SA4 45 SA14 81 SD2 117 CI+ 10 SA5 46 SA15 82 SD10 118 AVDD2 11 SA6 47 SRWE 83 SD3 119 DXCVR/EAR 12 SA7 48 REG 84 SD11 120 LED3 13 SA8 49 WAIT 85 DVDD7 121 LED2 14 SA9 50 WE 86 SD4 122 DVSS1 15 DVSS4 51 OE 87 SD12 123 LED1 16 SA10 52 DVSS11 88 SD5 124 LED0 17 SA11 53 NC 89 SD13 125 DVDD1 18 SA12 54 SRCS 90 DVSS9 126 PRDB7 19 CE2 55 INPACK 91 SD6 127 PRDB6 20 DVDD3 56 DVDD5 92 SD14 128 PRDB5 21 PRAB0 57 STSCHG 93 SD7 129 PRDB4 22 PRAB1 58 IOIS16 94 SD15 130 DVSS2 23 PRAB2 59 CE1 95 DVSS13 131 PRDB3 24 DVSS5 60 IREQ 96 RXD– 132 PRDB2/EEDO 25 PRAB3 61 NC 97 RXD+ 133 PRDB1/EEDI 26 PRAB4 62 NC 98 AVDD4 134 PRDB0/EESK 27 PRAB5 63 REF 99 TXPD– 135 SHFBUSY 28 PRAB6 64 DVSS12 100 TXD– 136 FLCS 29 PRAB7 65 SROE 101 TXPD+ 137 EECS 30 PRAB8 66 SMAM 102 TXD+ 138 TDI 31 PRAB9 67 IORD 103 AVDD3 139 TDO 32 DVSS6 68 IOWR 104 XTAL1 140 TMS 33 PRAB10 69 NC 105 AVSS2 141 TCK 34 PRAB11 70 RESET 106 XTAL2 142 DVDD2 35 NC 71 PCMCIA_MODE 107 NC 143 NC 36 NC 72 NC 108 NC 144 NC Am79C961A PIN DESIGNATIONS: PCMCIA MODE (TQFP 144) Listed by Pin Name Pin Name Pin No. Pin Name Pin No. Pin Name Pin No. Pin Name Pin No. AVDD1 113 INPACK 55 PRAB4 26 SD1 78 AVDD2 118 IOIS16 58 PRAB5 27 SD10 82 AVDD3 103 IORD 67 PRAB6 28 SD11 84 AVDD4 98 IOWR 68 PRAB7 29 SD12 87 AVSS1 110 IREQ 60 PRAB8 30 SD13 89 AVSS2 105 LED0 124 PRAB9 31 SD14 92 CE1 59 LED1 123 PRDB0/EESK 134 SD15 94 CE2 19 LED2 121 PRDB1/EEDI 133 SD2 81 CI+ 117 LED3 120 PRDB2/EEDO 132 SD3 83 CI– 116 NC 1 PRDB3 131 SD4 86 DI+ 115 NC 35 PRDB4 129 SD5 88 DI– 114 NC 36 PRDB5 128 SD6 91 DO+ 112 NC 37 PRDB6 127 SD7 93 DO– 111 NC 53 PRDB7 126 SD8 77 DVDD1 125 NC 61 REF 63 SD9 79 DVDD2 142 NC 62 REG 48 SHFBUSY 135 DVDD3 20 NC 69 RESET 70 SLEEP 75 DVDD4 38 NC 72 RXD+ 97 SMAM 64 DVDD5 56 NC 73 RXD– 96 SMAM 66 DVDD6 74 NC 107 SA0 4 SRCS 54 DVDD7 85 NC 108 SA1 5 SROE 65 DVSS1 122 NC 109 SA10 16 SRWE 47 DVSS10 7 NC 143 SA11 17 STSCHG 57 DVSS11 52 NC 144 SA12 18 TCK 141 DVSS13 95 OE 51 SA13 44 TDI 138 DVSS2 130 PCMCIA_MODE 71 SA14 45 TDO 139 DVSS3 2 PRAB0 21 SA15 46 TMS 140 DVSS4 15 PRAB1 22 SA2 6 TXD+ 102 DVSS5 24 PRAB10 33 SA3 8 TXD– 100 DVSS6 32 PRAB11 34 SA4 9 TXPD+ 101 DVSS7 43 PRAB12 39 SA5 10 TXPD– 99 DVSS8 80 PRAB13 40 SA6 11 VSS 3 DVSS9 90 PRAB14 41 SA7 12 WAIT 49 DXCVR/EAR 119 PRAB15 42 SA8 13 WE 50 EECS 137 PRAB2 23 SA9 14 XTAL1 104 FLCS 136 PRAB3 25 SD0 76 XTAL2 106 Am79C961A 39 PIN DESCRIPTION: PCMCIA MODE The PCMCIA pins function as described in the PCMCIA Specification Revision 2.1. Please refer to it for more details. The non-PCMCIA pins used by the 144-pin TQFP package have the same functions as described by “Pin Description: Bus Slave Mode” for ISA operation beginning on page 26 of the Am79C961A PCnet-ISA II data sheet (PID #19364A) with the exception of pin 71, PCMCIA_MODE. PCMCIA_MODE Input Sets the device for PCMCIA operation when tied high. This pin is not available in the 132-pin PQFP package option. 40 Am79C961A PCMCIA vs. ISA Pinout Comparison The pins listed below are pin definition changes specific to PCMCIA mode: In PCMCIA mode, a number of the input pins have internal resistors turned on with a resistance greater than 100 KΩ. These resistors are either connected to V CC or V SS. The diagram below shows the pin connections for the ISA slave mode and PCMCIA mode. Pin Number TQFP144 ISA Slave Mode PCMCIA Mode PCMCIA Input Pin Resistance > 100 KΩ 19 SBHE CE2 to VCC 48 AEN REG to VCC 49 IOCHRDY WAIT 50 MEMW WE to VCC 51 MEMR OE to VCC 53 IRQ15 NC 54 IRQ12 SRCS 55 IRQ11 INPACK 57 IRQ10 STSCHG 58 IOCS16 IOIS16 59 BPAM CE1 60 IRQ3 IREQ 61 IRQ4 NC 62 IRQ5 NC 67 IOR IORD to VCC 68 IOW IOWR to VCC 69 IRQ9 NC 70 RESET to VCC RESET 1 to VCC 2 71 PCMCIA_MODE PCMCIA_MODE 75 SLEEP SLEEP3 SD0–SD15 D0–D15 to GND SA0–SA15 A0–A15 to GND PCMCIA Pin Specification Changes In ISA mode, the IOCHRDY and IOCS16 signals are defined as Open Drain outputs. In PCMCIA mode, the WAIT and IOIS16 signals are full CMOS drivers. In PCMCIA mode, the Max values for t IOR8, t MR8 and tSFR10 change from 10 ns to –40 ns. — PCMCIA-MODE1 should be tied to VSS in ISA slave mode — PCMCIA-MODE2 should be tied to VCC in PCMCIA mode — SLEEP3 pin remains functional in PCMCIA mode, it is recommended to tie it to VCC Am79C961A 41 PCMCIA MODE BLOCK DIAGRAM [0] PRDB[0–7] SA[0–15] System Address Bus FLCS PCMCIA Bus PCnet-ISA II Controller PCMCIA Control A[1–19] D[0–7] A[0] WE Flash/EPROM 120 ns OE CS SROE PRAB[0–15] D[0–7] A[0–15] SRWE 16-Bit System Data SD[0–15] SRCS SMAM WE CS SRAM 70 ns OE (Upper Address pin) 19364B-7 Note: SMAM shown only for Shared Memory architecture designs. SMAM should be tied HIGH on the PCnet-ISA II for Programmed I/O architecture designs in order to access the flash memory at common memory location zero. Plug and Play Compatible with Flash Memory Support 42 Am79C961A FUNCTIONAL DESCRIPTION PCMCIA Operation EEPROM. For cost purposes, it is recommended to place the IEEE address in the CIS (Card Information Structure) Attribute Memory. When a PCMCIA card is first plugged into a PCMCIA host, all PCMCIA cards respond as a memory only device. In the PCMCIA standard there are two memory spaces, common memory and attribute memory. The REG pin determines which memory space is selected. After the host detects that the PCMCIA card is inserted, the host reads a section of the attribute memory called the CIS (Card Information Structure) which provides configuration information about the inserted card. The attribute memory is a byte wide memory which is only addressable on even bytes. Consequently, odd byte accesses are not defined for attribute memory. Mapped in the CIS area are four Card Configuration Registers which are physically located inside the PCnet-ISA II device. In the PCnet-ISA II device there are four registers which are located at decimal byte address 1008, 1010, 1012 and 1014, respectively. Inside the CIS data structure, there is information which provides the base address of the Card Configuration Registers. Inside first Card Configuration Register is a configuration index region which allows programming the device to support I/O accesses. The PCnet-ISA II supports PCMCIA’s Independent I/O address window mechanism. When I/O Enable is set in the CCR 0 register the PCnet-ISA II controller will respond to I/O commands. The lower 5 address bits decode register accesses. The PCMCIA host is expected to decode I/O address bits 6 and above and only assert CE1 and/or CE2 if the upper I/O address lines match. After the host has mapped the PCMCIA’s card resources to the system, the card should be visible by the system and the driver may be loaded. Flash Memory Map The PCnet-ISA II device supports either a single Flash or EPROM device. The external flash device contains the CIS area as well as an area located in common memory used to hold software drivers. The attribute memory origin is located at byte 0. The common memory region is accessed when REG is deasserted and an access to common memory occurs. SMAM is normally connected to an upper address line on the PCMCIA card. When a high order address is asserted the Flash Memory will be selected. Accesses to common memory when SMAM is low will access the Shared RAM when Shared Memory mode is selected. If Programmed I/O mode is used, the SMAM can be tied high which will result in the Flash’s base address being mapped to location zero. Flash Memory Programming The Flash Memory device can be read at anytime. In order to program the flash device, the APWEN bit must be set in ISACSR2 register to allow write operations to the Flash or non-volatile EEPROM device. Shared Memory vs. Programmed I/O Implications The PCnet-ISA II controller in PCMCIA modes allows for the local packet buffer memory to be mapped into common memory or indirectly accessed through I/O accesses. If shared memory is chosen, the local SRAM will be mapped as a memory resource. Consequently, the CIS will have to indicate this requirement to the system. If Programmed I/O is used no additional memory resources will be required to be allocated by the system. Serial EEPROM Support The Serial EEPROM is not required in PCMCIA mode but can be used to hold the contents of the IEEE address Am79C961A 43 FLASH MEMORY MAP AND CARD REGISTERS 131070 Byte (1FFFEh) FLASH Common Memory Common Memory 1024 Byte (400h) 1022 Byte (3FEh) Reserved 1016 Byte (3F8h) Attribute Memory CCR 3 1014 Byte (3F6h) CCR 2 1012 Byte (3F4h) CCR 1 1010 Byte (3F2h) CCR 0 1008 Byte (3F0h) 1006 Byte (3EEh) (Not Available) CIS Data (Unused) 0 Byte (0h) 19364B-8 44 Am79C961A FUNCTIONAL DESCRIPTION The PCnet-ISA II controller is a highly integrated system solution for the PC-AT ISA architecture. It provides a Full Duplex Ethernet controller, AUI port, and 10BASE-T transceiver. The PCnet-ISA II controller can be directly interfaced to an ISA system bus. The PCnet-ISA II controller contains an ISA bus interface unit, DMA Buffer Management Unit, 802.3 Media Access Control function, separate 136-byte transmit and 128-byte receive FIFOs, IEEE defined Attachment Unit Interface (AUI), and Twisted-Pair Transceiver Media Attachment Unit. In addition, a Sleep function has been incorporated which provides low standby current for power sensitive applications. The PCnet-ISA II controller is register compatible with the LANCE (Am7990) Ethernet controller and PCnet-ISA (Am79C960). The DMA Buffer Management Unit supports the LANCE descriptor software model and the PCnet-ISA II controller is software compatible with the Novell NE2100 and NE1500T add-in cards. External remote boot PROMs and Ethernet physical address PROMs are supported. The location of the I/O registers, Ethernet address PROM, and the boot PROM are determined by the programming of the registers internal to PCnet-ISA II. These registers are loaded at RESET from the EEPROM, if an EEPROM is utilized. Normally, the Ethernet physical address will be stored in the EEPROM with the other configuration data. This reduces the parts count, board space requirements, and power consumption. The option to use a standard parallel 8 bit PROM is provided to manufactures who are concer ned about the non-volatile nature of EEPROMs. The PCnet-ISA II controller’s bus master architecture brings to system manufacturers (adapter card and motherboard makers alike) something they have not been able to enjoy with other architectures—a low-cost system solution that provides the lowest parts count and highest performance. As a bus-mastering device, costly and power-hungry external SRAMs are not needed for packet buffering. This results in lower system cost due to fewer components, less real-estate and less power. The PCnet-ISA II controller’s advanced bus mastering architecture also provides high data throughput and low CPU utilization for even better performance. To offer greater flexibility, the PCnet-ISA II controller has a Bus Slave mode to meet varying application needs. The bus slave mode utilizes a local SRAM memory to store the descriptors and buffers that are located in system memory when in Bus Master mode. The SRAM can be slave accessed on the ISA bus through memory cycles in Shared Memory mode or I/O cycles in Programmed I/O mode. The Shared Memory and Programmed I/O architectures offer maximum compatibility with low-end machines, such as PC/XTs that do not support bus mastering, and very high end machines which require local packet buffering for increased system latency. The network interface provides an Attachment Unit Interface and Twisted-Pair Transceiver functions. Only one interface is active at any particular time. The AUI allows for connection via isolation transformer to 10BASE5 and 10BASE2, thick and thin based coaxial cables. The Twisted-Pair Transceiver interface allows for connection of unshielded twisted-pair cables as specified by the Section 14 supplement to IEEE 802.3 Standard (Type 10BASE-T). Important Note About The EEPROM Byte Map The user is cautioned that while the Am79C961A (PCnet-ISA II) and its associated EEPROM are pin compatible to their predecessors the Am79C961 (PCnet-ISA+) and its associated EEPROM, the byte map structure in each of the EEPROMs are different from each other. The EEPROM byte map structure used for the Am79C961A PCnet-ISA II has the addition of “MISC Config 2, ISACSR9" at word location 10Hex. The EEPROM byte map structure used for the Am79C961 PCnet-ISA+ does not have this. Therefore, should the user intend to replace the PCnet-ISA+ with the PCnet-ISA II, care MUST be taken to reprogram the EEPROM to reflect the new byte map structure needed and used by the PCnet-ISA II. For additional information, refer to the section in this data sheet under EEPROM and the Am79C961 PCnet-ISA+ data sheet (PID #18183) under the sections entitled EEPROM and Serial EEPROM Byte Map. Bus Master Mode System Interface The PCnet-ISA II controller has two fundamental operating modes, Bus Master and Bus Slave. Within the Bus Slave mode, the PCnet-ISA II can be programmed for a Shared Memory or Programmed I/O architecture. The selection of either the Bus Master mode or the Bus Slave mode must be done through hard wiring; it is not software configurable. When in the Bus Slave mode, the selection of the Shared Memory or Programmed I/O architecture is done through software with the PIOSEL bit (ISACSR2, bit 13). The optional Boot PROM is in memory address space and is expected to be 8–64K. On-chip address comparators control device selection is based on the value in the EEPROM. The address PROM, board configuration registers, and the Ethernet controller occupy 24 bytes of I/O space and can be located at 16 different starting addresses. Am79C961A 45 CE BPCS 16-Bit System Data PRDB[0-7] D[0-7] SD[0-15] ISA Bus PRDB[2]/EEDO PCnet-ISA II PRDB[1]/EEDI Controller PRDB[0]/EESK DO DI SK CS EECS SHFBUSY Boot PROM (Optional) A[0-15] 24-Bit System Address SA[0-19] LA[17-23] OE EEPROM (Optional, Common) VCC ORG VCC 19364B-9 Bus Master Block Diagram Plug and Play Compatible BPCS PRDB[0-7] SD[0-15] 16-Bit System Data PCnet-ISA II Controller 24-Bit System Address ISA Bus IEEE Address PROM (Optional) G PRDB[0]/EESK PRDB[1]/EEDI PRDB[2]/EEDO SA[0-19] LA[17-23] A[0-4] D[0-7] EECS A[0-15] D[0-7] Flash (Optional) IRQ15/APCS IRQ12/FlashWE SHFBUSY VCC WE OE CS SK DI DO CS EEPROM (Optional, Common) VCC ORG 19364B-10 Bus Master Block Diagram Plug and Play Compatible with Flash and parallel Address PROM Support 46 Am79C961A Bus Slave Mode System Interface The Bus Slave mode is the other fundamental operating mode available on the PCnet-ISA II controller. Within the Bus Slave mode, the PCnet-ISA II can be programmed for a Shared Memory or Programmed I/O architecture. In the Bus Slave mode the PCnet-ISA II controller uses the same descriptor and buffer architecture as in the Bus Master mode, but these data structures are stored in a static RAM controlled by the PCnet-ISA II controller. When operating with the Shared Memory architecture, the local SRAM is visible as a memory resource on the PC which can be accessed through memory cycles on the ISA bus interface. When operating with the Programmed I/O architecture, the local SRAM is accessible through I/O cycles on the ISA bus. Specifically, the SRAM is accessible using the RAP and IDP I/O ports to access the ISACSR0 and ISACSR1 registers, which serve as the SRAM Data port and SRAM Address Pointer port, respectively. In the Bus Slave mode, the PCnet-ISA II registers and optional Ethernet physical address PROM look the same and are accessed in the same way as in the Bus Master mode. The Boot PROM is selected by an external device which drives the Boot PROM Address Match (BPAM) input to the PCnet-ISA II controller. The PCnet-ISA II controller can perform two 8-bit accesses from the 8-bit Boot PROM and present 16-bits of data to accommodate 16 bit read accesses on the ISA bus. When using the Shared Memory architecture mode, access to the local SRAM works the same way as access to the Boot PROM, with an external device generating the Shared Memory Address Match (SMAM) signal and the PCnet-ISA II controller performing the SRAM read or write and the 8/16 bit data conversion. The Programmed I/O architecture mode uses the RAP and IDP ports to allow access to the local SRAM hence, external address decoding is not necessary and the SMAM pin is not used in Programmed I/O architecture mode (SMAM should be tied HIGH in the Programmed I/O architecture mode). Similar to the Shared Memory architecture mode, in the Programmed I/O architecture mode, 8/16 bit conversion occurs when 16 bit reads and writes are performed on the SRAM Data Port (ISACSR1). Converting the local SRAM accesses from 8-bit cycles to 16-bit cycles allows use of the much faster 16-bit cycle timing while cutting the number of bus cycles in half. This raises performance to more than 400% of what could be achieved with 8-bit cycles. When the Shared Memory architecture mode is used, converting boot PROM accesses to 16-bit cycles allows the two memory resources to be in the same 128 Kbyte block of memory without a clash between two devices with different data widths. The PCnet-ISA II prefetches data from the SRAM to allow fast, minimum wait-state read accesses of consecutive SRAM addresses. In both the Shared Memory architecture and the Programmed I/O architecture, prefetch data is read from a speculated address that assumes that successive reads in time will be from adjacent ascending addresses in the SRAM. At the beginning of each SRAM read cycle, the PCnet-ISA II determines whether the prefetched data can be assumed to be valid. If the prefetched data can be assumed to be valid, it is driven onto the ISA bus without inserting any wait states. If the prefetched data cannot be assumed to be valid, the PCnet-ISA II will insert wait states into the ISA bus read cycle until the correct word is read from the SRAM. External logic must also drive MEMCS16 appropriately for the 128Kbyte segment decoded from the LA[23:17] signals. Am79C961A 47 A[0–15] PRAB[0-15] 16-Bit System Data PRDB[0] WE BPCS SROE CS PRDB[2]/EEDO DO PRDB[1]/EEDI DI PRDB[0]/EESK SK EECS SRWE SHFBUSY SMAM BPAM IRQ12/SRCS CS SD[0] PCnet-ISA II Controller 24-Bit System Address SA[0] ISA Bus D[0–7] Flash (Optional) OE EEPROM VCC ORG OE A[0-15] SRAM WE CS SIN D[0-7] MEMCS16 CLK VCC External Glue Logic SMAM BPAM SHFBUSY SA[16] LA[17-23] 19364B-11 Note: SMAM shown only for Shared Memory architecture designs. SMAM should be tied HIGH on the PCnet-ISA II for Programmed I/O architecture designs. Bus Slave Block Diagram Plug and Play Compatible with Flash Memory Support 48 Am79C961A PLUG AND PLAY Plug and Play is a standardized method of configuring jumperless adapter cards in a system. Plug and Play is a Microsoft standard and is based on a central software configuration program, either in the operating system or elsewhere, which is responsible for configuring all Plug and Play cards in a system. Plug and Play is fully supported by the PCnet-ISA II ethernet controller. For a copy of the Microsoft Plug and Play specification contact Microsoft Inc. This specification should be referenced in addition to PCnet-ISA II Technical Reference Manual and this data sheet. Operation If the PCnet-ISA II ethernet controller is used to boot off the network, the device will come up active at RESET, otherwise it will come up inactive. Information stored in the serial EEPROM is used to identify the card and to describe the system resources required by the card, such as I/O space, Memory space, IRQs and DMA channels. This information is stored in a standardized Read Only format. Operation of the Plug and Play system is shown as follows: ■ Isolate the Plug and Play card ■ Read the cards resource data Port Name Location Type ADDRESS 0X279 (Printer Status Port) Write-only WRITE-DATA 0xA79 (Printer status port + 0x0800) Write-only READ-DATA Relocatable in range 0x0203-0x03FF Read-only The address and Write_DATA ports are located at fixed, predefined I/O addresses. The Write_Data port is located at an alias of the Address port. All three auto-configuration ports use a 12-bit ISA address decode. The READ_DATA port is relocatable within the range 0 x 2 0 3 – 0 x 3 F F by a c o m m a n d w r i t t e n t o t h e WRITE_DATA port. ADDRESS PORT The internal Plug and Play registers are accessed by writing the address to the ADDRESS PORT and then either reading the READ_DATA PORT or writing to the WRITE_DATA PORT. Once the ADDRESS PORT has been written, any number of reads or writes can occur without having to rewrite the ADDRESS PORT. ■ Identify the card The ADDRESS PORT is also the address to which the initiation key is written to, which is described later. ■ Configure its resources WRITE_DATA PORT The Plug and Play mode of operation allows the following benefits to the end user. The WRITE_DATA PORT is the address to which all writes to the internal Plug and Play registers occur. The destination of the data written to the WRITE_DATA PORT is determined by the last value written to the ADDRESS PORT. ■ Eliminates all jumpers or dip switches from the adapter card ■ Ease of use is greatly enhanced READ_DATA PORT ■ Allows the ability to uniquely address identical cards in a system, without conflict ■ Allows the software configuration program or OS to read out the system resource requirements required by the card The READ_DATA PORT is used to read information from the internal Plug and Play registers. The register to be read is determined by the last value of the ADDRESS PORT. ■ Maintain backward compatibility with other ISA bus adapters The I/O address of the READ_DATA PORT is set by writing the chosen I/O location to Plug and Play Register 0. The isolation protocol can determine that the address chosen is free from conflict with other devices I/O ports. Auto-Configuration Ports Initiation Key Three 8 bit I/O ports are used by the Plug and Play configuration software on each Plug and Play device to communicate with the Plug and Play registers. The ports are listed in the table below. The software configuration space is defined as a set of 8 bit registers. These registers are used by the Plug and Play software configuration to issue commands, access the resource information, check status, and configure the PCnet-ISA II controller hardware. The PCnet-ISA II controller is disabled at reset when operating in Plug and Play mode. It will not respond to any memory or I/O accesses, nor will the PCnet-ISA II controller drive any interrupts or DMA channels. ■ Defines a mechanism to set or modify the current configuration of each card The initiation key places the PCnet-ISA II device into the configuration mode. This is done by writing a predefined pattern to the ADDRESS PORT. If the proper sequence of I/O writes are detected by the PCnet-ISA II device, the Plug and Play auto-configuration ports Am79C961A 49 are enabled. This pattern must be sequential, i.e., any other I/O access to this I/O port will reset the state machine which is checking the pattern. Interrupts should be disabled during this time to eliminate any extraneous I/O cycles. The exact sequence for the initiation key is listed below in hexadecimal. 6A, B5, DA, ED, F6, FB, 7D, BE DF, 6F, 37, 1B, 0D, 86, C3, 61 The key element of this mechanism is that each card contains a unique number, referred to as the serial identifier for the rest of the discussion. The serial identifier is a 72-bit unique, non-zero, number composed of two, 32-bit fields and an 8-bit checksum. The first 32-bit field is a vendor identifier. The other 32 bits can be any value, for example, a serial number, part of a LAN address, or a static number, as long as there will never be two cards in a single system with the same 64 bit number. The serial identifier is accessed bit-serially by the isolation logic and is used to differentiate the cards. B0, 58, 2C, 16, 8B, 45, A2, D1 E8, 74, 3A, 9D, CE, E7, 73, 39 Isolation Protocol Checksum A simple algorithm is used to isolate each Plug and Play card. This algorithm uses the signals on the ISA bus and requires lock-step operation between the Plug and Play hardware and the isolation software. Serial Vendor Number ID Byte Byte Byte Byte Byte Byte Byte Byte Byte 0 3 2 1 0 3 2 1 0 Shift 19364B-13 Shifting of Serial Identifier State Isolation Read from serial isolation register Yes Get one bit from serial identifier Hardware Protocol ID bit = “1H” Drive “55H” on SD[7:0] The shift order for all Plug and Play serial isolation and resource data is defined as bit[0], bit[1], and so on through bit[7]. No The isolation protocol can be invoked by the Plug and Play software at any time. The initiation key, described earlier, puts all cards into configuration mode. The hardware on each card expects 72 pairs of I/O read accesses to the READ_DATA por t. The card’s response to these reads depends on the value of each bit of the serial identifier which is being examined one bit at a time in the sequence shown above. Leave SD in high-impedance No SD[1:0] = “01" Yes Wait for next read from serial isolation register Drive “AAH” on SD[7:0] Leave SD in high-impedance No After I/O read completes, fetch next ID bit from serial identifier No Read all 72 bits from serial identifier SD[1:0] = “10" Yes ID = 0; other card ID = 1 If a high impedance card sensed another card driving the data bus with the appropriate data during both cycles, then that card ceases to participate in the current iteration of card isolation. Such cards, which lose out, will participate in future iterations of the isolation protocol. State Sleep Yes One Card Isolated Plug and Play ISA Card Isolation Algorithm 50 If the current bit of the serial identifier is a “1", then the card will drive the data bus to 0x55 to complete the first I/O read cycle. If the bit is “0", then the card puts its data bus driver into high impedance. All cards in high impedance will check the data bus during the I/O read cycle to sense if another card is driving D[1:0] to “01". During the second I/O read, the card(s) that drove the 0x55, will now drive a 0xAA. All high impedance cards will check the data bus to sense if another card is driving D[1:0] to “10". Between pairs of Reads, the software should wait at least 30 µs. 19364B-12 Note: During each read cycle, the Plug and Play hardware drives the entire 8-bit databus, but only checks the lower 2 bits. Am79C961A If a card was driving the bus or if the card was in high impedance and did not sense another card driving the bus, then it should prepare for the next pair of I/O reads. The card shifts the serial identifier by one bit and uses the shifted bit to decide its response. The above sequence is repeated for the entire 72-bit serial identifier. At the end of this process, one card remains. This card is assigned a handle referred to as the Card Select Number (CSN) that will be used later to select the card. Cards which have been assigned a CSN will not participate in subsequent iterations of the isolation protocol. Cards must be assigned a CSN before they will respond to the other commands defined in the specification. It should be noted that the protocol permits the 8-bit checksum to be stored in non-volatile memory on the card or generated by the on-card logic in real-time. The same LFSR algorithm described in the initiation key section of the Plug and Play specification is used in the checksum generation. Software Protocol The Plug and Play software sends the initiation key to all Plug and Play cards to place them into configuration mode. The software is then ready to perform the isolation protocol. The Plug and Play software generates 72 pairs of l/O read cycles from the READ_DATA port. The software checks the data returned from each pair of I/O reads for the 0x55 and 0xAA driven by the hardware. If both 0x55 and 0xAA are read back, then the software assumes that the hardware had a “1" bit in that position. All other results are assumed to be a “0.” During the first 64 bits, software generates a checksum using the received data. The checksum is compared with the checksum read back in the last 8 bits of the sequence. There are two other special considerations for the software protocol. During an iteration, it is possible that the 0x55 and 0xAA combination is never detected. It is also possible that the checksum does not match If either of these cases occur on the first iteration, it must be assumed that the READ_DATA port is in conflict. If a conflict is detected, then the READ_DATA port is relocated. The above process is repeated until a nonconflicting location for the READ_DATA port is found. The entire range between 0x203 and 0x3FF is available, however in practice it is expected that only a few locations will be tried before software determines that no Plug and Play cards are present. During subsequent iterations, the occurrence of either of these two special cases should be interpreted as the absence of any further Plug and Play cards (i.e. the last card was found in the previous iteration). This terminates the isolation protocol. Note: The software must delay 1 ms prior to starting the first pair of isolation reads, and must wait 250 µsec between each subsequent pair of isolation reads. This delay gives the ISA card time to access information from possibly very slow storage devices. Plug and Play Card Control Registers The state transitions and card control commands for the PCnet-ISA II controller are shown in the following figure. Am79C961A 51 Power up RESET_DRV Set CSN = 0 State Active Commands Wait for Key no active commands Initiation Key State Active Commands Reset Wait for Key Wake[CSN] Sleep Lose serial location OR WAKE <> CSN (WAKE <> CSN) State Isolation Active Commands Reset Wait for Key Set RD_DATA Port Serial Isolation Wake[CSN] State Set CSN Config Active Commands Reset Wait for Key Wake[CSN] Resource Data Status Logical Device I/O Range Check Activate Configuration Registers Notes: 1. CSN = Card Select Number. 2. RESET_DRV causes a state transition from the current state to Wait for Key and sets all CSNs to zero. All logical devices are set to their power-up configuration values. 3. The Wait for Key command causes a state transition from the current state to Wait for Key. 19364B-13 Plug and Play ISA Card State Transitions Plug and Play Registers The PCnet-ISA II controller supports all of the defined Plug and Play card control registers. Refer to the tables on the following pages for detailed information. 52 Am79C961A Plug and Play Standard Registers Name Set RD_DATA Port Address Port Value 0x00 Definition Writing to this location modifies the address of the port used for reading from the Plug and Play ISA cards. Bits[7:0] become I/O read port address bits [9:2]. Reads from this register are ignored. I/O Address bits 11:10 should = 00, and 1:0 = 11. Serial Isolation 0x01 A read to this register causes a Plug and Play card in the Isolation state to compare one bit of the board’s ID. This process is fully described above. This register is read only. Config Control 0x02 Bit[0] - Reset all logical devices and restore configuration registers to their power-up values. Bit[1] - Return to the Wait for Key state Bit[2] - Reset CSN to 0 A write to bit[0] of this register performs a reset function on all logical devices. This resets the contents of configuration registers to their default state. All card’s logical devices enter their default state and the CSN is preserved. A write to bit[1] of this register causes all cards to enter the Wait for Key state but all CSNs are preserved and logical devices are not affected. A write to bit[2] of this register causes all cards to reset their CSN to zero. This register is write-only. The values are not sticky, that is, hardware will automatically clear them and there is no need for software to clear the bits. Wake[CSN] 0x03 A write to this port will cause all cards that have a CSN that matches the write data[7:0] to go from the Sleep state to either the Isolation state if the write data for this command is zero or the Config state if the write data is not zero. This register is write-only. Writing to this register resets the EEPROM pointer to the beginning of the Plug and Play Data Structure. Resource Data 0x04 A read from this address reads the next byte of resource information. The Status register must be polled until bit[0] is set before this register may be read. This register is read-only. Status 0x05 Bit[0] when set indicates it is okay to read the next data byte from the Resource Data register. This register is read-only. Card Select Number 0x06 A write to this port sets a card’s CSN. The CSN is a value uniquely assigned to each ISA card after the serial identification process so that each card may be individually selected during a Wake [CSN] command. This register is read/write. Logical Device Number 0x07 Selects the current logical device. This register is read only. The PCnet-ISA II controller has only 1 logical device, and this register contains a value of 0x00 Am79C961A 53 PLUG AND PLAY LOGICAL DEVICE CONFIGURATION REGISTERS The PCnet-ISA II controller supports a subset of the defined Plug and Play logical device control registers. The reason for only supporting a subset of the registers is that the PCnet-ISA II controller does not require as many system resources as Plug and Play allows. For instance, Memory Descriptor 2 is not used, as the PCnet-ISA II controller only requires two memor y descriptors, one for the Boot PROM/Flash, and one for the SRAM in Shared Memory Mode. Plug and Play Logical Device Control Registers Name Address Port Value Definition Activate 0x30 For each logical device there is one activate register that controls whether or not the logical device is active on the ISA bus. Bit[0], if set, activates the logical device. Bits[7:1] are reserved and must be zero. This is a read/write register. Before a logical device is activated, I/O range check must be disabled. I/O Range Check 0x31 This register is used to perform a conflict check on the I/O port range programmed for use by a logical device. Bit[7:2] Reserved Bit 1[1] Enable I/O Range check, if set then I/O Range Check is enabled. I/O range check is only valid when the logical device is inactive. Bit[0], if set, forces the logical device to respond to I/O reads of the logical device’s assigned I/O range with a 0x55 when I/O range check is in operation. If clear, the logical device drives 0xAA. This register is read/write. Memory Space Configuration Name Register Index Definition Memory base address bits[23:16] descriptor 0 0x40 Read/write value indicating the selected memory base address bits[23:16] for memory descriptor 0. This is the Boot Prom Space. Memory base address bits [15:08] descriptor 0 0x41 Read/write value indicating the selected memory base address bits[15:08] for memory descriptor 0. Memory control 0x42 Bit[1] specifies 8/16-bit control. The encoding relates to memory control (bits[4:3]) of the information field in the memory descriptor. Bit[0], =0, indicates the next field is used as a range length for decode (implies range length and base alignment of memory descriptor are equal). Bit[0] is read-only. Memory upper limit address; bits [23:16] or range length; bits [15:08] for descriptor 0 0x43 Memory upper limit bits [15:08] or range length; bits [15:08] for descriptor 0 0x44 Memory descriptor 1 0x48-0x4C Read/write value indicating the selected memory high address bits[23:16] for memory descriptor 0. If bit[0] of memory control is 0, this is the range length. If bit[0] of memory control is 1, this is considered invalid. Read/write value indicating the selected memory high address bits[15:08] for memory descriptor 0, either a memory address or a range length as described above. Memory descriptor 1. This is the SRAM Space for Shared Memory. I/O Space Configuration Name Register Index Definition I/O port base address bits[15:08] descriptor 0 0x60 Read/write value indicating the selected I/O lower limit address bits[15:08] for I/O descriptor 0. If a logical device indicates it only uses 10 bit encoding, then bits[15:10] do not need to be supported. I/O port base address bits[07:00] descriptor 0 0x61 Read/write value indicating the selected I/O lower limit address bits[07:00] for I/O descriptor 0. 54 Am79C961A I/O Interrupt Configuration Name Interrupt request level select 0 Register Index 0x70 Definition Read/write value indicating selected interrupt level. Bits[3:0] select which interrupt level used for Interrupt 0. One selects IRQL 1, fifteen selects IRQL fifteen. IRQL 0 is not a valid interrupt selection and represents no interrupt selection. Read/write value indicating which type of interrupt is used for the Request Level selected above. Interrupt request type select 0 0x71 Bit[1] : Level, 1 = high, 0 = low Bit[0] : Type, 1 = level, 0 = edge The PCnet-ISA II controller only supports Edge High and Level Low Interrupts. DMA Channel Configuration Name Register Index Definition DMA channel select 0 0x74 Read/write value indicating selected DMA channels. Bits[2:0] select which DMA channel is in use for DMA 0. Zero selects DMA channel 0, seven selects DMA channel 7. DMA channel 4, the cascade channel is used to indicate no DMA channel is active. DMA channel select 1 0x75 Read only with a value of 0x04. DETAILED FUNCTIONS EEPROM Interface The EEPROM supported by the PCnet-ISA II controller is an industry standard 93C56 2-Kbit EEPROM device which uses a 4-wire interface. This device directly interfaces to the PCnet-ISA II controller through a 4-wire interface which uses 3 of the private data bus pins for Data In, Data Out, and Serial Clock. The Chip Select pin is a dedicated pin from the PCnet-ISA II controller. Note: All data stored in the EEPROM is stored in bit-reversal format. Each word (16 bits) must be written into the EEPROM with bit 15 swapped with bit 0, bit 14 swapped with bit 1, etc. This is a 2-Kbit device organized as 128 x 16 bit words. A map of the device as used in the PCnet-ISA II controller is below. The information stored in the EEPROM is as follows: IEEE address 6 bytes Reserved10 bytes EISA ID4 bytes ISACSRs14 bytes Plug and Play Defaults19 bytes 8-Bit Checksum1 byte External Shift Chain2 bytes Plug and Play Config Info192 bytes Important Note About The EEPROM Byte Map The user is cautioned that while the Am79C961A (PCnet-ISA II) and its associated EEPROM are pin comp at i bl e t o th e i r p r e d ec es s o r s th e A m 7 9 C9 6 1 (PCnet-ISA+) and its associated EEPROM, the byte map structure in each of the EEPROMs are different from each other. The EEPROM byte map structure used for the Am79C961A PCnet-ISA II has the addition of “MISC Config 2, ISACSR9" at word location 10Hex. The EEPROM byte map structure used for the Am79C961 PCnet-ISA+ does not have this. Therefore, should the user intend to replace the PCnet-ISA+ with the PCnet-ISA II, care MUST be taken to reprogram the EEPROM to reflect the new byte map structure needed and used by the PCnet-ISA II. For additional information, refer to the Am79C961 PCnet-ISA+ data sheet (PID #18183) under the sections entitled EEPROM and Serial EEPROM Byte Map. Am79C961A 55 Basic EEPROM Byte Map The following is a byte map of the XXC56 series of EEPROMs used by the PCnet-ISA II Ether net Controller. This byte map is for the case where a non-PCnet Family compatible software driver is implemented. Byte 1 Byte 0 Word Location 0 Byte 3 Byte 2 1 Byte 5 Byte 4 2 Byte 7 Byte 6 3 Byte 9 Byte 8 4 Byte 11 Byte 10 5 Byte 13 Byte 12 6 Byte 15 Byte 14 7 (8h) EISA Byte 1 EISA Byte 0 8 EISA Config Reg. EISA Byte 3 EISA Byte 2 9 IEEE Address (0h) (Bytes 0 – 5) (Ah) MSRDA, ISACSR0 A MSWRA, ISACSR1 B MISC Config 1, ISACSR2 C LED1 Config, ISACSR5 D LED2 Config, ISACSR6 E LED3 Config, ISACSR7 F MISC Config 2, ISACSR9 10 Internal Registers (11h) Plug and Play Reg. (1Ah) PnP 0x61 PnP 0x60 11 I/O Ports Pnp 0x71 PnP 0x70 12 Interrupts Unused PnP 0x74 13 DMA Channels PnP 0x41 PnP 0x40 14 ROM Memory PnP 0x43 PnP 0x42 15 Unused PnP 0x44 16 PnP 0x49 PnP 0x48 17 PnP 0x4B PnP 0x4A 18 Unused PnP 0x4C 19 8–Bit Checksum PnP 0xF0 56 Vendor Byte (1Bh) External Shift Chain 1B (1Ch) Unused Locations 1C (20h) Plug and Play Starting Location 1F 20 Note: Checksum is calculated on words 0 through 0x1Bh (first 56 bytes). Am79C961A RAM Memory .. AMD Device Driver Compatible EEPROM Byte Map PCnet Family compatible software driver is implemented. The following is a byte map of the XXC56 series of EEPROMs used by the PCnet-ISA II Ethernet Controller. This byte map is for the case where a (This byte map is an application reference for use in developing AMD software devices.) Word Location 0 Byte 1 Byte 0 1 Byte 3 Byte 2 2 Byte 5 Byte 4 3 Reserved Reserved 4 HWID (01H) Reserved EISA Config Reg. Internal Registers Plug and Play Reg. 5 User Space 1 6 16-Bit Checksum 1 7 ASCII W (0 x 57H) ASCII W (0 x 57H) 8 EISA Byte 1 EISA Byte 0 9 EISA Byte 3 EISA Byte 2 A MSRDA, ISACSR0 B MSWRA, ISACSR1 C MISC Config, ISACR2 D LED1 Config, ISACSR5 E LED2 Config, ISACSR6 F LED3 Config, ISACSR7 10 MISC Config 2, ISACSR9 11 PnP 0x61 PnP 0x60 I/O Ports 12 Pnp 0x71 PnP 0x70 Interrupts 13 Unused PnP 0x74 DMA Channels 14 PnP 0x41 PnP 0x40 ROM Memory 15 PnP 0x43 PnP 0x42 16 Unused PnP 0x44 17 PnP 0x49 PnP 0x48 18 PnP 0x4B PnP 0x4A 19 Unused PnP 0x4C 1A 8-Bit Checksum PnP 0xF0 1B .. See Appendix C IEEE Address (Bytes 0–5) RAM Memory Vendor Byte External Shift Chain 1C Unused Locations 1F 20 Plug and Play Starting Location See Appendix C Note: Checksum 1 is calculated on words 0 through 5 plus word 7. Checksum 2 is calculated on words 0 through 0x1Bh (first 56 bytes). Am79C961A 57 Plug and Play Register Map Plug and Play operation. These registers control the configuration of the PCnet-ISA II controller. The following chart and its bit descriptions show the internal configuration registers associated with the Plug and Play Register Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 0x00 READ_DATA 0x01 SERIAL ISOLATION 0x02 0 0 0 0 0 0x03 WAKE [CSN] 0x04 RESOURCE_DATA 0x05 0 0 0 0 0 0x06 CSN 0x07 LOGICAL DEVICE NUMBER Bit 2 Bit 1 Bit 0 RST CSN WAIT KEY RST ALL 0 0 READ STATUS ACTIVATE 0x30 0 0 0 0 0 0 0 0x31 0 0 0 0 0 0 IORNG 58 READ_DATA Address of Plug and Play READ_DATA Port. SERIAL_ISOLATION Used in the Serial Isolation process. RST_CSN Resets CSN register to zero. WAIT_KEY Resets Wait for Key State. RST_ALL Resets all logical devices. WAKE [CSN] Will wake up if write data matches CSN Register. READ_STATUS Read Status of RESOURCE DATA. RESOURCE_DATA Next pending byte read from EEPROM. CSN Plug and Play CSN Value. ACTIVATE Indicates that the PCnet-ISA II device should be activated. IORNG Bits used to enable the I/O Range Check Command. Am79C961A IORNG The following chart and its bit descriptions show the internal command registers associated with the Plug Plug and Play Register and Play operation. These registers control the PCnet-ISA II controller Plug and Play operation. Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 0x60 0 0 0 0 0 0 1 IOAM3 0x61 IOAM2 IOAM1 IOAM0 0 0 0 0 0 0x70 0 0 0 0 IRQ3 IRQ2 IRQ1 IRQ0 0x71 0 0 0 0 0 0 IRQ_LVL IRQ_TYPE 0x74 0 0 0 0 0 DMA2 DMA1 0x40 0 0 0 0 1 1 0 BPAM3 0x41 BPAM2 BPAM1 BPAM0 0 0 0 0 0 0x42 0 0 0 0 0 0 BP_16B 0 0x43 1 1 1 1 1 1 1 BPSZ3 0x44 BPSZ2 BPSZ1 BPSZ0 0 0 0 0 0 0x48 0 0 0 0 1 1 SRAM4 SRAM3 0x49 SRAM2 SRAM1 SRAM0 0 0 0 0 0 0x4A 0 0 0 0 0 0 SR16B 0 0x4B 1 1 1 1 1 1 1 SRSZ3 0x4c SRSZ2 SRSZ1 SRSZ0 0 0 0 0 0 0xF0 0 LGCY_EN DXCVRP FL_SEL BP_CS APROM_EN AEN_CS IO_MODE PCnet–ISA II’s Legacy Bit Feature Description The current PCnet-ISA II chip is designed such that it always responds to Plug and Play configuration software. There are situations where this response to the Plug and Play software is undesirable. An example of this is when a fixed configuration is required, or when the only possible resource available for the PCnet-ISA II conflicts with a present but not used resource such as IRQ, or when the chip is used in a system with a buggy PnP BIOS. To function in the situations above, a new feature has been added to the PCnet-ISA II chip. This new feature DMA0 makes the chip ignore the PnP software’s special initiation key sequence (6A). This will effectively turn the chip into the “Legacy” mode operation, where it will be visible in the I/O space, and only special setup programs will be able to reconfigure it. In case the EEPROM is missing, empty, or corrupted, the chip will still recognize AMD’s special initiation key sequence (6B). To enable this feature, a one has to be written into the LGCY_EN bit, which is bit 6 of the Plug and Play register 0xF0. A preferred method would be set this bit in the Vendor Byte (PnP 0xF0) field of the EEPROM located in word offset 0x1A. Am79C961A 59 Plug & Play Register Locations Detailed Description (Refer to the Plug & Play Register Map above) IOAM[3:0] I/O Address Match to bits [8:5] of SA bus (PnP 0x60–0x61). Controls the base address of PCnet-ISA II. The IOAM will be written with a value from the EEPROM. IOAM[3:0] 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 IRQ[3:0] 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Base Address (Hex) 200 220 240 260 280 2A0 2C0 2E0 300 320 340 360 380 3A0 3C0 3E0 IRQ[3:0] ISA IRQ Pin 0 1 1 IRQ3 (Default) 0 1 0 0 IRQ4 0 1 0 1 IRQ5 1 0 0 1 IRQ9 1 0 1 0 IRQ10 1 0 1 1 IRQ11 1 1 0 1 IRQ12 1 1 1 0 IRQ15 IRQ Type IRQ_LVL DMA[2:0] 60 DMA[2:0] DMA Channel (DRQ/DACK Pair) 0 1 1 Channel 3 1 0 1 Channel 5 1 1 0 Channel 6 1 1 1 Channel 7 1 0 0 No DMA Channel BPAM[3:0] IRQ selection on the ISA bus (PnP 0x70). Controls which interrupt will be asserted. ISA Edge sensitive or EISA level mode is controlled by IRQ_TYPE bit in PnP 0x71. Default is ISA Edge Sensitive. The IRQ signals will not be driven unless PnP activate register bit is set. 0 register will be written with a value from the EEPROM. {For Bus Master Mode Only} The DRQ signals will not be driven unless Plug and Play activate register bit is set. IRQ Type(PnP 0x71). Indicates the type of interrupt setting; Level is 1, Edge is 0. IRQ Level (PnP 0x71). A read-only register bit that indicates the type of setting, active high or low. Always complement of IRQ_TYPE. See ISA CSR2 (EISA_LVL). DMA Channel Select (PnP 0x74). Controls the DRQ and DMA selection of PCnet-ISA II. The DMA[2:0] 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Boot PROM Address Match to bits [16:13] of SA bus (PnP 0x40–0x41). Selects the location where the Boot PROM Address match decode is started. The BPAM will be written with a value from the EEPROM. BPAM[3:0] 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Address Location (Hex) C0000 C2000 C4000 C6000 C8000 CA000 CC000 CE000 D0000 D2000 D4000 D6000 D8000 DA000 DC000 DE000 Size Supported (K bytes) 8, 16, 32, 64 8 8, 16 8 8, 16, 32 8 8, 16 8 8, 16, 32, 64 8 8, 16 8 8, 16, 32 8 8, 16 8 BP_16B Boot PROM 16-bit access (PnP 0x42). Is asserted if Boot PROM cycles should respond as an 16-bit device. In Bus Master mode, all boot PROM cycles will only be 8 bits in width. BPSZ[3:0] Boot PROM Size (PnP 0x43–0x44). Selects the size of the boot PROM selected. BPSZ[3:0] Boot PROM Size 0 1 x 1 x 1 x 1 No Boot PROM Selected 8K 1 1 1 1 1 0 0 0 16 K 32 K 1 0 0 0 64 K SRAM[4:0] Am79C961A Static RAM Address Match to bits [17:13] of SA bus (PnP 0x48-0x49). Selects the starting location of the Shared Memory when using the Shared Memory architecture mode. The SRAM[2:0] bits are used for performing address decoding on the SA[15:13] address bits as shown in the table below. S RAM[4] an d SRAM[3] must reflect the external address match logic for SA[17] and SA[16], respectively. The SRAM[4:0] bits are ignored when in the Bus Master mode or in the Programmed I/O Architecture mode. SRAM[2:0] 0 0 0 0 0 0 8, 16, 32, 64 0 0 1 0 0 1 8 0 1 0 0 1 0 8, 16 0 1 1 0 1 1 8 1 0 0 1 0 0 8, 16, 32 1 0 1 1 0 1 8 1 1 0 1 1 0 8, 16 1 1 1 1 1 1 8 Static RAM 16-bit access (PnP 0x4A). If asserted, the PCnet-ISA II will respond to SRAM cycles as a 16-bit device. This bit should be set if external logic is designed to assert the MEMCS16 signal when accesses to the shared memory are decoded. This bit is ignored when in the Bus Master mode or in the Programmed I/O Architecture mode. SRSZ[3:0] DXCVRP SRAM Size (K bytes) SA[15:13] SR_16B PCnet-ISA II will respond to the 6A key sequence if the EEPROM read was successful, otherwise it will respond to the 6B key sequence. The DXCVRP should generally be left cleared when the PCnet-ISA II is being used with an external DC-DC conver ter that has an active low enable pin. The DXCVRP should generally be set when the PCnet-ISA II is being used with an external DC-DC converter that has an active high enable pin. IO_MODE I/O Mode. When set to one, the internal selection will respond as a 16-bit port, (i.e. drive IOCS16 pin). When IO_MODE is set to zero, (Default), the internal I/O selection will respond as an 8-bit port. AEN_CS External Decode Logic for I/O Registers. When written with a one, the PCnet-ISA II will use the AEN pin as I/O chip select bar, to allow for external decode logic for the upper address bit of SA [9:5]. The purpose of this pin is to allow I/O locations, not suppor ted with the IOAM[3:0], selection, to be defined outside the range 0x200–0x3F7. When set to a zero, (Default), I/O Selection will use IOAM[3:0]. APROM_EN External Parallel IEEE Address PROM. When set, the IRQ15 pin is reconfigured to be an Address Chip Select low, similar to APCS pin in the existing PCnet-ISA (Am79C960) device. The purpose of this bit is to allow for both a serial EEPROM and parallel PROM to coexist. When APROM_EN is set, the IEEE address located in the serial EEPROM will be ignored and parallel access will occur over the PRDB Static RAM size (PnP 0x4B-0x4C). Selects the size of the static RAM. The SRSZ[3:0] bits are ignored when in the Bus Master mode or in the Programmed I/O Architecture mode. SRSZ[3:0] Shared Memory Size 0 x x x No Static RAM Selected 1 1 1 1 8K 1 1 1 0 16 K 1 1 0 0 32 K 1 0 0 0 64 K Vendor Defined Byte (PnP 0xF0) LGCY_EN DXCVR Polarity. The DXCVRP bit sets the polarity of the DXCVR pin. When DXCVRP is cleared (default), the DXCVR pin is driven HIGH when the Twisted Pair port is active or SLEEP mode has been entered and driven LOW when the AUI port is active. When DXCVRP is set, the DXCVR pin is driven LOW when the Twisted Pair port is active or SLEEP mode has been entered and driven HIGH when the AUI port is active. Legacy mode enable. When written with a one, the PCnet-ISA II will not respond to the Plug and Play initiation key sequence (6A) but will respond to the AMD key sequence (6B). Therefore, it cannot be reconfigured by the Plug and Play software. When set to zero (default), the Am79C961A 61 bus. When APROM_EN is cleared, default state, the IEEE address will be read in from the serial device and written to an internal RAM. When the I/O space of the IEEE PROM is selected, PCnet-ISA II, will access the contents of this RAM for I/O read cycles. I/O wr ite cycles will be ignored. BP_CS FL_SEL Boot PROM Chip Select. When BP_CS is set to one, BALE will act as an external chip select (active low) above bit 15 of the address bus. BALE = 0, will select the boot PROM when MEMR is asserted low if the BP_CS bit is set and BPAM[2:0] match SA[15:13] and BPSZ[3:0] matches the selected size. When BP_CS is set to zero. BALE will act as the normal address latch strobe to capture the upper address bits for memory access to the boot PROM. BP_CS is by default low. The primary purpose of this bit is to allow non-ISA bus applications to support larger Boot PROMS or non-standard Boot PROM/Flash locations. Flash Memory Device Selected. W h e n s e t , t h e B o o t P RO M i s replaced with an external Flash memor y device. In Bus Master M o d e, B P CS i s r e p l a c e d w i t h Flash_OE. IRQ12 becomes Flash_WE. The Flash’s CS pin is grounded. In shared memory mode, BPCS is replaced with Flash_CS. IRQ12 becomes Static_RAM_CS pin. The SROE and SRWE signals are connected to both the SRAM and Flash memory devices. FL_SEL is cleared by a reset, which is the default. Checksum Failure After RESET, the PCnet-ISA II controller begins reading the EEPROM and storing the information in registers inside PCnet-ISA II controller. PCnet-ISA II controller does a checksum on word locations 0-1Bh inclusive and if the byte checksum = FFh, then the data read from the EEPROM is considered good. If the checksum is not equal to FFh, then the PCnet-ISA II controller enters what is called software relocatable mode. In software relocatable mode, the device functions the same as in Plug and Play mode, except that it does not 62 respond to the same initiation key as Plug and Play supports. Instead, a different key is used to bring PCnet-ISA II controller out of the Wait For Key state. This key is as follows: 6B, 35, 9A, CD, E6, F3, 79, BC 5E, AF, 57, 2B, 15, 8A, C5, E2 F1, F8, 7C, 3E, 9F, 4F, 27, 13 09, 84, 42, A1, D0, 68, 34, 1A Use Without EEPROM In some designs, especially PC motherboard applicat i o n s , i t m ay b e d e s i r a b l e t o e l i m i n a t e t h e EEPROM altogether. This would save money, space, and power consumption. The operation of this mode is similar to when the PCnet-ISA II controller encounters a checksum error, except that to enter this mode the SHFBUSY pin is left unconnected. The device will enter software relocatable mode, and the BIOS on the motherboard can wake up the device, configure it, load the IEEE address (possibly stored in Flash ROM) into the PCnet-ISA II controller, and activate the device. External Scan Chain The External Scan Chain is a set of bits stored in the EEPROM which are not used in the PCnet-ISA II controller but which can be used with external hardware to allow jumperless configuration of external devices. A f t e r R E S E T, t h e P C n e t -I S A I I c o n t r o l l e r begins reading the EEPROM and storing the informat i o n i n r e g i s t e r s i n s i d e t h e P C n e t -I S A I I controller. SHFBUSY is held high during the read of the EEPROM. If external circuitry is added, such as a shift register, which is clocked from SCLK and is attached to DO from the EEPROM, data read out of the EEPROM will be shifted into the shift register. After reading the EEPROM to the end of the External Shift Chain, and if there is a correct checksum, SHFBUSY will go low. This will be used to latch the infor mation from the EEPROM into the shift register. If the checksum is invalid, SHFBUSY will not go low, indicating that the EEPROM may be bad. Flash PROM Use Instead of using a PROM or EPROM for the Boot PROM, it may be desirable to use a Flash or EEPROM type of device for storing the Boot code. This would allow for in-system updates and changes to the information in the Boot ROM without opening up the PC. It may also be desirable to store statistics or drivers in the Flash device. Am79C961A Interface To use a Flash-type device with the PCnet-ISA II controller, Flash Select is set in register 0F0h of the Plug and Play registers. Flash Select is cleared by RESET (default). In bus master mode, BPCS becomes Flash_OE and IRQ12 becomes Flash_WE. The Flash ROM devices CS pin is connected to ground. are received. IOCHRDY is asynchronously driven LOW if the PCnet-ISA II controller needs a wait state. It is released synchronously when the PCnet-ISA II controller is ready. When the PCnet-ISA II controller is the Current Master, all the signals it generates are synchronous to the on-chip 20 MHz clock. DMA Transfers In shared memory mode, BPCS becomes Flash_CS and IRQ12 becomes the static RAM Chip Select, and the SROE and SRWE signals are connected to both the SRAM and Flash devices. The BIU will initiate DMA transfers according to the type of operation being performed. There are three primary types of DMA transfers: Optional IEEE Address PROM During initialization, the PCnet-ISA II transfers 12 words from the initialization block in memory to internal registers. These 12 words are transferred through different bus mastership period sequences, depending on whether the TIMER bit (CSR4, bit 13) is set and, if TIMER is set, on the value in the Bus Activity Timer register (CSR82). Normally, the Ethernet physical address will be stored in the EEPROM with the other configuration data. This reduces the parts count, board space requirements, and power consumption. The option to use a standard parallel 8 bit PROM is provided to manufacturers who a r e c o n c e r n e d a b o u t t h e n o n -vo l a t i l e n a t u r e of EEPROMs. To use a 8 bit parallel PROM to store the IEEE address data instead of stor ing it in the EEPROM, the APROM_EN bit is set in the Plug and Play registers by the EEPROM upon RESET. IRQ15 is redefined by the setting of this bit to be APCS, or ADDRESS PROM CHIP SELECT. This pin is connected to an external 8 bit PROM, such as a 27LS19. The address pins of the PROM are connected to the lower address pins of the ISA bus, and the data lines are connected to the private data bus. In this mode, any accesses to the IEEE address will be passed to the external PROM and the data will be passed through the PCnet-ISA II controller to the system data bus. EISA Configuration Registers The PCnet-ISA II controller has support for the 4-byte EISA Configuration Registers. These are used in EISA systems to identify the card and load the appropriate configuration file for that card. This feature is enabled using bit 10 of ISACSR2. When set to 1, the EISA Configuration registers will be enabled and will be read at I/O location 0xC80–0xC83. The contents of these 4 registers are stored in the EEPROM and are automatically read in at RESET. Bus Interface Unit (BIU) The bus interface unit is a mixture of a 20 MHz state machine and asynchronous logic. It handles two types of accesses; accesses where the PCnet-ISA II controller is a slave and accesses where the PCnet-ISA II controller is the Current Master. In slave mode, signals like IOCS16 are asserted and deasser ted as soon as the appropr iate inputs 1. Initialization Block DMA Transfers If the TIMER bit is reset (default), the 12 words are always transferred during three separate bus mastership periods. During each bus mastership period, four words (8 bytes) will be read from contiguous memory addresses. If the TIMER bit is set, the 12 words may be transferred using anywhere from 1 to 3 bus mastership periods, depending on the value of the Bus Activity Timer register (CSR82). During each bus mastership period, a minimum of four words (8 bytes) will be read from contiguous memory addresses. If the TIMER bit is set and the value in the Bus Activity Timer register allows it, 8 or all 12 words of the initialization block are read during a single bus mastership period. 2. Descriptor DMA Transfers Descriptor DMA transfers are performed to read or write to transmit or receive descriptors. All transmit and receive descriptor READ accesses require 3 word reads (TMD1, TMD0, then TMD2 for transmit descriptors and RMD1, RMD0, then RMD2 for receive descriptors). Transmit and receive descr iptor WRITE accesses to unchained descriptors or the last descriptor in a chain (ENP set) require 2 word writes (TMD1 then TMD3 for transmit and RMD1 then RMD3 for receive). Transmit and receive descriptor WRITE accesses to chained descriptors that do not have ENP set require 1 word write (TMD1 for transmit and RMD1 for receive). During descriptor write accesses, only the bytes which need to be written are written, as controlled by the SA0 and SBHE pins. If the TIMER bit is reset (default), all accesses during a single bus mastership period will be either all read or all write and will be to only one descriptor. Hence, when the TIMER bit is reset, the bus mastership periods for Am79C961A 63 descriptor accesses are always either 3, 2, or 1 cycles long, depending on which descriptor operation is being performed. If the TIMER bit is set, the 3, 2, or 1 cycles required in a descriptor access may be performed as a part of a bus mastership period in which any combination of descriptor reads and writes and buffer reads and writes are performed. When the TIMER bit is set, the Bus Activity Timer (CSR82) and the bus access requirements of the PCnet-ISA II govern the operations performed during a single bus mastership period. 3. FIFO DMA Transfers FIFO DMA transfers occur when the PCnet-ISA II microcode determines that transfers to and/or from the FIFOs are required. Once the PCnet-ISA II BIU has been granted bus mastership, it will perform a series of consecutive transfer cycles before relinquishing the bus. When the Bus Activity Timer is disabled by clearing the TIMER (CSR4, bit 13) bit, all FIFO DMA transfers within a bus mastership period will be either read or write cycles, and all transfers will be to adjacent, ascending addresses. When the Bus Activity Timer is enabled by setting the TIMER bit, DMA transfers within a bus mastership period may consist of any mixture of read and write cycles, without restriction on the address ordering. This mode of operation allows the PCnet-ISA II to accomplish more during each bus ownership period. The number of data transfer cycles contained within a single bus mastership period is in general dependent on the programming of the DMAPLUS (CSR4, bit 14) and the TIMER (CSR4, bit 13) options. Several other factors will also affect the length of the bus mastership period. The possibilities are as follows: If DMAPLUS = 0 and TIMER = 0, a maximum of 16 transfers to or from the FIFO will be performed by default. This default value may be changed by writing to the DMA Burst Register (CSR80, bits 7:0). Since TIMER = 0, all FIFO DMA transfers within a bus mastership period will be either read or write cycles, and all transfers will be to adjacent, ascending addresses. Note that DMAPLUS = 0 merely sets a maximum value for the number of FIFO transfers that may occur during one bus mastership period. The minimum number of transfers in the bus mastership period will be determined by the settings of the FIFO watermarks and the conditions of the FIFOs, and the value of the Bus Activity Timer (CSR82) if the TIMER bit is set. If DMAPLUS = 1 and TIMER = 0, the bus mastership period will continue until the transmit FIFO is filled to its high threshold (read transfers) or the receive FIFO is emptied to its low threshold (write transfers). Other variables may also affect the end point of the bus mas- 64 tership period in this mode, including the particular conditions existing within the FIFOs, and receive and transmit status conditions. Since TIMER = 0, all FIFO DMA transfers within a bus mastership period will be either read or write cycles, and all transfers will be to adjacent, ascending addresses. If TIMER = 1, the bus mastership period will continue until all “pending bus operations” are completed or until the Bus Activity Timer value (CSR82) has expired. These bus operations may consist of any mixture of descriptor and buffer read and write accesses. If DMAPLUS = 1, “pending bus operations” includes any descriptor accesses and buffer accesses that need to be performed. If DMAPLUS = 0, “pending bus operations” include any descriptor accesses that need to be performed and any buffer accesses that need to be performed up to the limit specified by the DMA Burst Register (CSR80, bits 7:0). Note that when TIMER=1, following a last bus transaction during a bus mastership period, the PCnet-ISA II may keep ownership of the bus for up to approximately 1 µs. The PCnet-ISA II determines whether there are further pending bus operations by waiting approximately 1 µs after the completion of every bus operation (e.g. a descriptor or FIFO access). If, during the 1 µs period, no further bus operations are requested by the internal Buffer Management Unit, the PCnet-ISA II determines that there are no further pending operations and gives up bus ownership. This 1 µs of unused bus ownership time is more than made up for by the efficiency gained by being able to perform any mixture of descriptor and buffer read and write accesses during a single bus ownership period. The FIFO thresholds are programmable (see description of CSR80), as are the DMA Burst Register and Bus Activity Timer values. The exact number of transfer cycles in the case of DMAPLUS = 1 will be dependent on the latency of the system bus to the PCnet-ISA II controller’s DMA request and the speed of bus operation, but will be limited by the value in the Bus Activity Timer register (if the TIMER bit is set), the FIFO condition, and receive and transmit status. Barring a time-out by either of these registers, or exceptional receive and transmit events, or an end of packet signal from the FIFO, the FIFO watermark settings and the extent of Bus Grant latency will be the major factors determining the number of accesses performed during any given arbitration cycle when DMAPLUS = 1. The IOCHRDY response of the memory device will a l s o a f fe c t t h e n u m b e r o f t r a n s fe r s w h e n DMAPLUS = 1, since the speed of the accesses will affect the state of the FIFO. During accesses, the FIFO may be filling or emptying on the network end. A slower memory response will allow additional data to accumulate inside of the FIFO (during write transfers from the receive FIFO). If the accesses are slow enough, a com- Am79C961A plete word may become available before the end of the arbitration cycle and thereby increase the number of transfers in that cycle. The general rule is that the longer the Bus Grant latency or the slower the bus transfer operations (or clock speed) or the higher the transmit watermark or the lower the receive watermark or any combination thereof, the longer will be the average bus mastership period. Buffer Management Unit (BMU) The buffer management unit is a microcoded 20 MHz state machine which implements the initialization block and the descriptor architecture. Initialization PCnet-ISA II controller initialization includes the reading of the initialization block in memory to obtain the operating parameters. The initialization block is read when the INIT bit in CSR0 is set. The INIT bit should be set before or concurrent with the STRT bit to insure correct operation. See previous section “1. Initialization Block DMA Transfer.” Once the initialization block has been read in and processed, the BMU knows where the receive and transmit descriptor rings are. On completion of the read operation and after internal registers have been updated, IDON will be set in CSR0, and an interrupt generated if IENA is set. The Initialization Block is vectored by the contents of CSR1 (least significant 16 bits of address) and CSR2 (most significant 8 bits of address). The block contains the user defined conditions for PCnet-ISA II controller operation, together with the address and length information to allow linkage of the transmit and receive descriptor rings. There is an alternative method to initialize the PCnet-ISA II controller. Instead of initialization via the initialization block in memory, data can be written directly into the appropriate registers. Either method may be used at the discretion of the programmer. If the registers are written to directly, the INIT bit must not be set, or the initialization block will be read in, thus overwriting the previously written information. Please refer to Appendix D for details on this alternative method. Reinitialization may be done via the initialization block or by setting the STOP bit in CSR0, followed by writing to CSR15, and then setting the START bit in CSR0. Note that this form of restart will not perform the same in the PCnet-ISA II controller as in the LANCE. In particular, the PCnet-ISA II controller reloads the transmit and receive descriptor pointers (working registers) with their respective base addresses. This means that the software must clear the descriptor’s own bits and reset its descriptor ring pointers before the restart of the PCnet-ISA controller. The reload of descriptor base addresses is performed in the LANCE only after initialization, so a restart of the LANCE without initialization leaves the LANCE pointing at the same descriptor locations as before the restart. Suspend The PCnet-ISA II controller offers a suspend mode that allows easy updating of the CSR registers without going through a full reinitialization of the device. The suspend mode also allows stopping the device with orderly termination of all network activity. The host requests the PCnet-ISA II controller to enter the suspend mode by setting SPND (CSR5, bit 0) to ONE. The host must poll SPND until it reads back ONE to determine that the PCnet-ISA II controller has entered the suspend mode. When the host sets SPND to ONE, the PCnet-ISA II controller first finishes all on-going transmit activity and updates the corresponding transmit descriptor entries. It then finishes all on-going receive activity and updates the corresponding receive descriptor entries. It then sets the read-version of SPND to ONE and enters the suspend mode. In suspend mode, all of the CSR registers are accessible. As long as the PCnet-ISA II controller is not reset while in suspend mode (by asserting the RESET pin, reading the RESET register, or by setting the STOP bit), no reinitialization of the device is required after the device comes out of suspend mode. When SPND is set to ZERO, the PCnet-ISA II controller will leave the suspend mode and will continue at the transmit and receive descriptor ring locations where it had left when it entered the suspend mode. Buffer Management Reinitialization The transmitter and receiver section of the PCnet-ISA II controller can be turned on via the initialization block (MODE Register DTX, DRX bits; CSR15[1:0]). The state of the transmitter and receiver are monitored through CSR0 (RXON, TXON bits). The PCnet-ISA II controller should be reinitialized if the transmitter and/ or the receiver were not turned on during the original initialization and it was subsequently required to activate them, or if either section shut off due to the detection of an error condition (MERR, UFLO, TX BUFF error). Buffer management is accomplished through message descriptor entries organized as ring structures in memory. There are two rings, a receive ring and a transmit ring. The size of a message descriptor entry is 4 words (8 bytes). Descriptor Rings Each descriptor ring must be organized in a contiguous area of memory. At initialization time (setting the INIT bit in CSR0), the PCnet-ISA II controller reads the user-defined base address for the transmit and receive descriptor rings, which must be on an 8-byte boundary, as well as the number of entries contained in the Am79C961A 65 descriptor rings. By default, a maximum of 128 ring entries is permitted when utilizing the initialization block, which uses values of TLEN and RLEN to specify the transmit and receive descriptor ring lengths. However, the ring lengths can be manually defined (up to 65535) by writing the transmit and receive ring length registers (CSR76,78) directly. Each ring entry contains the following information: ■ The address of the actual message data buffer in user or host memory ■ The length of the message buffer ■ Status information indicating the condition of the buffer Receive descriptor entries are similar (but not identical) to transmit descriptor entries. Both are composed of four registers, each 16 bits wide for a total of 8 bytes. To permit the queuing and de-queuing of message buffers, ownership of each buffer is allocated to either the PCnet-ISA II controller or the host. The OWN bit 66 within the descriptor status information, either TMD or RMD (see section on TMD or RMD), is used for this purpose. “Deadly Embrace” conditions are avoided by the ownership mechanism. Only the owner is permitted to relinquish ownership or to write to any field in the descriptor entry. A device that is not the current owner of a descriptor entry cannot assume ownership or change any field in the entry. Descriptor Ring Access Mechanism At initialization, the PCnet-ISA II controller reads the base address of both the transmit and receive descriptor rings into CSRs for use by the PCnet-ISA II controller during subsequent operation. When transmit and receive functions begin, the base address of each ring is loaded into the current descriptor address registers and the address of the next descriptor entry in the transmit and receive rings is computed and loaded into the next descriptor address registers. Am79C961A N N 24-Bit Base Address Pointer to Initialization Block CSR2 RES N • • • RCV Descriptor Ring RX DESCRIPTOR RINGS 1st desc. start CSR1 IADR[23:16] N 2nd desc. start IADR[15:0] RMD0 RMD0 RMD1 RMD2 RMD3 Initialization Block PADR[31:16] PADRF[47:32] LADRF[15:0] LADRF[31:16] LADRF[47:32] M M M RX DESCRIPTOR RINGS RDRA[15:0] TLEN Data Buffer 2 M LADRF[63:48] RLEN Data Buffer 1 RCV Buffers • • • MODE PADR[15:0] Data Buffer N • • • XMT Descriptor Ring RX DESCRIPTOR RINGS RES RDRA[23:16] TDRA[15:0] TDRA[23:16] RES 2nd desc. start 1st desc. start TMD0 TMD0 TMD1 Data Buffer 2 Initialization Block and Descriptor Rings Polling When there is no channel activity and there is no preor post-receive or transmit activity being performed by the PCnet-ISA II controller then the PCnet-ISA II controller will periodically poll the current receive and transmit descriptor entries in order to ascertain their ownership. If the DPOLL bit in CSR4 is set, then the transmit polling function is disabled. TMD3 • • • Data Buffer 1 XMT Buffers TMD2 Data Buffer M 19364B-15 A typical polling operation consists of the following: The PCnet-ISA II controller will use the current receive descriptor address stored internally to vector to the appropriate Receive Descriptor Table Entry (RDTE). It will then use the current transmit descriptor address (stored internally) to vector to the appropriate Transmit Descriptor Table Entry (TDTE). These accesses will be made to RMD1 and RMD0 of the current RDTE and TMD1 and TMD0 of the current TDTE at periodic poll- Am79C961A 67 ing intervals. All information collected during polling activity will be stored internally in the appropriate CSRs. (i.e. CSR18–19, CSR40, CSR20–21, CSR42, CSR50, CSR52). Unowned descriptor status will be internally ignored. A typical receive poll occurs under the following conditions: 1. PCnet-ISA II controller does not possess ownership of the current RDTE and the poll time has elapsed and RXON = 1, or 2. PCnet-ISA II controller does not possess ownership of the next RDTE and the poll time has elapsed and RXON = 1, If RXON = 0, the PCnet-ISA II controller will never poll RDTE locations. If RXON = 1, the system should always have at least one RDTE available for the possibility of a receive event. When there is only one RDTE, there is no polling for next RDTE. A typical transmit poll occurs under the following conditions: 1. PCnet-ISA II controller does not possess ownership of the current TDTE and DPOLL = 0 and TXON = 1 and the poll time has elapsed, or 2. PCnet-ISA II controller does not possess ownership of the current TDTE and DPOLL = 0 and TXON = 1 and a packet has just been received, or 3. PCnet-ISA II controller does not possess ownership of the current TDTE and DPOLL = 0 and TXON = 1 and a packet has just been transmitted. The poll time interval is nominally defined as 32,768 crystal clock periods, or 1.6 ms. However, the poll time register is controlled internally by microcode, so any other microcode controlled operation will interrupt the incrementing of the poll count register. For example, when a receive packet is accepted by the PCnet-ISA II controller, the device suspends execution of the poll-time-incrementing microcode so that a receive m ic r o c o de r o u ti n e may i ns t e ad b e exec u te d . Poll-time-incrementing code is resumed when the receive operation has completely finished. Note, how68 ever, that following the completion of any receive or transmit operation, a poll operation will always be performed. The poll time count register is never reset. Note that if a non-default is desired, then a strict sequence of setting the INIT bit in CSR0, waiting for the IDON bit in CSR0, then writing to CSR47, and then setting STRT in CSR0 must be observed, otherwise the default value will not be overwritten. See the CSR47 section for details. Setting the TDMD bit of CSR0 will cause the microcode controller to exit the poll counting code and immediately perform a polling operation. If RDTE ownership has not been previously established, then an RDTE poll will be performed ahead of the TDTE poll. Transmit Descriptor Table Entry (TDTE) If, after a TDTE access, the PCnet-ISA II controller finds that the OWN bit of that TDTE is not set, then the PCnet-ISA II controller resumes the poll time count and re-examines the same TDTE at the next expiration of the poll time count. If the OWN bit of the TDTE is set, but STP = 0, the PCnet-ISA II controller will immediately request the bus in order to reset the OWN bit of this descriptor; this condition would normally be found following a LCOL or RETRY error that occurred in the middle of a transmit packet chain of buffers. After resetting the OWN bit of this descriptor, the PCnet-ISA II controller will again immediately request the bus in order to access the next TDTE location in the ring. If the OWN bit is set and the buffer length is 0, the OWN bit will be reset. In the LANCE the buffer length of 0 is interpreted as a 4096-byte buffer. It is acceptable to have a 0 length buffer on transmit with STP=1 or STP=1 and ENP = 1. It is not acceptable to have 0 length buffer with STP = 0 and ENP = 1. If the OWN bit is set and the start of packet (STP) bit is set, then microcode control proceeds to a routine that will enable transmit data transfers to the FIFO. If the transmit buffers are data chained (ENP = 0 in the first buffer), then the PCnet-ISA II controller will look ahead to the next transmit descriptor after it has performed at least one transmit data transfer from the first buffer. More than one transmit data transfer may possibly take place, depending upon the state of the transmitter. The transmit descriptor look ahead reads TMD0 first and TMD1 second. The contents of TMD0 and TMD1 will be stored in Next TX Descriptor Address (CSR32), Next TX Byte Count (CSR66) and Next TX Status (CSR67) regardless of the state of the OWN bit. This transmit descriptor lookahead operation is performed only once. If the PCnet-ISA II controller does not own the next TDTE (i.e. the second TDTE for this packet), then it will complete transmission of the current buffer and then Am79C961A update the status of the current (first) TDTE with the BUFF and UFLO bits being set. If DXSUFLO is 0 (bit 6 CSR3), then this will cause the transmitter to be disabled (CSR0, TXON = 0). The PCnet-ISA II controller will have to be restarted to restore the transmit function. The situation that matches this description implies that the system has not been able to stay ahead of the PCnet-ISA II controller in the transmit descriptor ring and therefore, the condition is treated as a fatal error. To avoid this situation, the system should always set the transmit chain descriptor own bits in reverse order. If the PCnet-ISA II controller does own the second TDTE in a chain, it will gradually empty the contents of the first buffer (as the bytes are needed by the transmit operation), perform a single-cycle DMA transfer to update the status (reset the OWN bit in TMD1) of the first descriptor, and then it may perform one data DMA access on the second buffer in the chain before executing another lookahead operation. (i.e. a lookahead to the third descriptor). The PCnet-ISA II controller can queue up to two packets in the transmit FIFO. Call them packet “X” and packet “Y”, where “Y” is after “X”. Assume that packet “X” is currently being transmitted. Because the PCnet-ISA II controller can perform lookahead data transfer over an ENP, it is possible for the PCnet-ISA II controller to update a TDTE in a buffer belonging to packet “Y” while packet “X” is being transmitted if packet “Y” uses data chaining. This operation will result in non-sequential TDTE accesses as packet “X” completes transmission and the PCnet-ISA II controller writes out its status, since packet “X”’s TDTE is before the TDTE accessed as part of the lookahead data transfer from packet “Y”. This should not cause any problem for properly written software which processes buffers in sequence, waiting for ownership before proceeding. If an error occurs in the transmission before all of the bytes of the current buffer have been transferred, then TMD2 and TMD1 of the current buffer will be written; in that case, data transfers from the next buffer will not commence. Instead, following the TMD2/TMD1 update, the PCnet-ISA II controller will go to the next transmit packet, if any, skipping over the rest of the packet which experienced an error, including chained buffers. This is done by returning to the polling microcode where it will immediately access the next descriptor and find the condition OWN = 1 and STP = 0 as described earlier. In that case, the PCnet-ISA II controller will reset the own bit for this descriptor and continue in like manner until a descriptor with OWN = 0 (no more transmit packets in the ring) or OWN = 1 and STP = 1 (the first buffer of a new packet) is reached. At the end of any transmit operation, whether successful or with errors, and the completion of the descriptor updates, the PCnet-ISA II controller will always perform another poll operation. As described earlier, this poll operation will begin with a check of the current RDTE, unless the PCnet-ISA II controller already owns that descriptor. Then the PCnet-ISA II controller will proceed to polling the next TDTE. If the transmit descriptor OWN bit has a zero value, then the PCnet-ISA II controller will resume poll time count incrementation. If the transmit descriptor OWN bit has a value of ONE, then the PCnet-ISA II controller will begin filling the FIFO with transmit data and initiate a transmission. This end-of-operation poll avoids inserting poll time counts between successive transmit packets. Whenever the PCnet-ISA II controller completes a transmit packet (either with or without error) and writes the status information to the current descriptor, then the TINT bit of CSR0 is set to indicate the completion of a transmission. This causes an interrupt signal if the IENA bit of CSR0 has been set and the TINTM bit of CSR3 is reset. Receive Descriptor Table Entry (RDTE) If the PCnet-ISA II controller does not own both the current and the next Receive Descriptor Table Entry, then the PCnet-ISA II controller will continue to poll according to the polling sequence described above. If the receive descriptor ring length is 1, there is no next descriptor, and no look ahead poll will take place. If a poll operation has revealed that the current and the next RDTE belongs to the PCnet-ISA II controller, then additional poll accesses are not necessary. Future poll operations will not include RDTE accesses as long as the PCnet-ISA II controller retains ownership to the current and the next RDTE. When receive activity is present on the channel, the PCnet-ISA II controller waits for the complete address of the message to arrive. It then decides whether to accept or reject the packet based on all active addressing schemes. If the packet is accepted the PCnet-ISA II controller checks the current receive buffer status register CRST (CSR40) to determine the ownership of the current buffer. If ownership is lacking, then the PCnet-ISA II controller will immediately perform a (last ditch) poll of the current RDTE. If ownership is still denied, then the PCnet-ISA II controller has no buffer in which to store the incoming message. The MISS bit will be set in CSR0 and an interrupt will be generated if IENA = 1 (CSR0) and MISSM = 0 (CSR3). Another poll of the current RDTE will not occur until the packet has finished. If the PCnet-ISA II controller sees that the last poll (either a normal poll or the last-ditch effort described in Am79C961A 69 the above paragraph) of the current RDTE shows valid ownership, then it proceeds to a poll of the next RDTE. Following this poll, and regardless of the outcome of this poll, transfers of receive data from the FIFO may begin. or post-message processing. These features include the ability to disable retries after a collision, dynamic FCS generation on a packet-by-packet basis, and automatic pad field insertion and deletion to enforce minimum frame size attributes. Regardless of ownership of the second receive descriptor, the PCnet-ISA II controller will continue to perform receive data DMA transfers to the first buffer, using burst-cycle DMA transfers. If the packet length exceeds the length of the first buffer, and the PCnet-ISA II controller does not own the second buffer, ownership of the current descriptor will be passed back to the system by writing a zero to the OWN bit of RMD1 and status will be written indicating buffer (BUFF = 1) and possibly overflow (OFLO = 1) errors. The two primary attributes of the MAC engine are: If the packet length exceeds the length of the first (current) buffer, and the PCnet-ISA II controller does own the second (next) buffer, ownership will be passed back to the system by writing a zero to the OWN bit of RMD1 when the first buffer is full. Receive data transfers to the second buffer may occur before the PCnet-ISA II controller proceeds to look ahead to the ownership of the third buffer. Such action will depend upon the state of the FIFO when the status has been updated on the first descriptor. In any case, lookahead will be performed to the third buffer and the information gathered will be stored in the chip, regardless of the state of the ownership bit. As in the transmit flow, lookahead operations are performed only once. This activity continues until the PCnet-ISA II controller recognizes the completion of the packet (the last byte of this receive message has been removed from the FIFO). The PCnet-ISA II controller will subsequently update the current RDTE status with the end of packet (ENP) indication set, write the message byte count (MCNT) of the complete packet into RMD2 and overwrite the “current” entries in the CSRs with the “next” entries. ■ Transmit and receive message data encapsulation — Framing (frame boundary delimitation, frame synchronization) — Addressing (source and destination address handling) — Error detection (physical medium transmission errors) ■ Media access management — Medium allocation (collision avoidance) — Contention resolution (collision handling) Transmit and Receive Message Data Encapsulation The MAC engine provides minimum frame size enforcement for transmit and receive packets. When APAD_XMT = 1 (bit 11 in CSR4), transmit messages will be padded with sufficient bytes (containing 00h) to ensure that the receiving station will observe an information field (destination address, source address, length/type, data and FCS) of 64-bytes. When ASTRP_RCV = 1 (bit 10 in CSR4), the receiver will automatically strip pad bytes from the received message by observing the value in the length field, and stripping excess bytes if this value is below the minimum data size (46 bytes). Both features can be independently over-ridden to allow illegally short (less than 64 bytes of packet data) messages to be transmitted and/or received. The use of these features reduce bus bandwidth usage because the pad bytes are not transferred to or from host memory. Framing (frame boundary delimitation, frame synchronization) Media Access Control The Media Access Control engine incorporates the essential protocol requirements for operation of a compliant Ethernet/802.3 node, and provides the interface between the FIFO sub-system and the Manchester Encoder/Decoder (MENDEC). This section describes operation of the MAC engine when operating in Half Duplex mode. When in Half Duplex mode, the MAC engine is fully compliant to Section 4 of ISO/IEC 8802-3 (ANSI/IEEE Standard 1990 Second Edition) and ANSI/IEEE 802.3 (1985). When operating in Full Duplex mode, the MAC engine behavior changes as described in the Full Duplex Operation section. The MAC engine will autonomously handle the construction of the transmit frame. Once the Transmit FIFO has been filled to the predetermined threshold (set by XMTSP in CSR80), and providing access to the channel is currently permitted, the MAC engine will commence the 7-byte preamble sequence (10101010b, where first bit transmitted is a 1). The MAC engine will subsequently append the Start Frame Delimiter (SFD) byte (10101011b) followed by the serialized data from the Transmit FIFO. Once the data has been completed, the MAC engine will append the FCS (most significant bit first) which was computed on the entire data portion of the message. The MAC engine provides programmable enhanced features designed to minimize host supervision and pre Note that the user is responsible for the correct ordering and content in each of the fields in the frame, 70 Am79C961A including the destination address, source address, length/type and packet data. The receive section of the MAC engine will detect an incoming preamble sequence and lock to the encoded clock. The internal MENDEC will decode the serial bit stream and present this to the MAC engine. The MAC will discard the first 8 bits of information before searching for the SFD sequence. Once the SFD is detected, all subsequent bits are treated as part of the frame. The MAC engine will inspect the length field to ensure minimum frame size, strip unnecessary pad characters (if enabled), and pass the remaining bytes through the Receive FIFO to the host. If pad stripping is performed, the MAC engine will also strip the received FCS bytes, although the normal FCS computation and checking will occur. Note that apart from pad stripping, the frame will be passed unmodified to the host. If the length field has a value of 46 or greater, the MAC engine will not attempt to validate the length against the number of bytes contained in the message. If the frame terminates or suffers a collision before 64 bytes of infor mation (after SFD) have been received, the MAC engine will automatically delete the f r a m e f r o m t h e R e c e i v e F I F O, w i t h o u t h o s t intervention. Addressing (source and destination address handling) The first 6 bytes of information after SFD will be interpreted as the destination address field. The MAC engine provides facilities for physical, logical, and broadcast address reception. In addition, multiple physical addresses can be constructed (perfect address filtering) using external logic in conjunction with the EADI interface. Error detection (physical medium transmission errors) The MAC engine provides several facilities which report and recover from errors on the medium. In addition, the network is protected from gross errors due to inability of the host to keep pace with the MAC engine activity. On completion of transmission, the following transmit status is available in the appropriate TMD and CSR areas: ■ The exact number of transmission retry attempts (ONE, MORE, or RTRY). ■ Whether the MAC engine had to Defer (DEF) due to channel activity. ■ Loss of Carrier, indicating that there was an interruption in the ability of the MAC engine to monitor its own transmission. Repeated LCAR errors indicate a p o ten ti a ll y fau l ty tra n sc e ive r or ne two r k connection. ■ Late Collision (LCOL) indicates that the transmission suffered a collision after the slot time. This is indicative of a badly configured network. Late collisions should not occur in a normal operating network. ■ Collision Error (CERR) indicates that the transceiver did not respond with an SQE Test message within the predetermined time after a transmission completed. This may be due to a failed transceiver, disconnected or faulty transceiver drop cable, or the fact the transceiver does not support this feature (or the feature is disabled). In addition to the reporting of network errors, the MAC engine will also attempt to prevent the creation of any network error due to the inability of the host to service the MAC engine. During transmission, if the host fails to keep the Transmit FIFO filled sufficiently, causing an underflow, the MAC engine will guarantee the message is either sent as a runt packet (which will be deleted by the receiving station) or has an invalid FCS (which will also cause the receiver to reject the message). The status of each receive message is available in the appropriate RMD and CSR areas. FCS and Framing errors (FRAM) are reported, although the received frame is still passed to the host. The FRAM error will only be reported if an FCS error is detected and there are a non-integral number of bits in the message. The MAC engine will ignore up to seven additional bits at the end of a message (dribbling bits), which can occur under normal network operating conditions. The reception of eight additional bits will cause the MAC engine to de-serialize the entire byte, and will result in the received message and FCS being modified. The PCnet-ISA II controller can handle up to 7 dribbling bits when a received packet terminates. During the reception, the CRC is generated on every serial bit (including the dribbling bits) coming from the cable, although the internally saved CRC value is only updated on the eighth bit (on each byte boundary). The framing error is reported to the user as follows: 1. If the number of the dribbling bits are 1 to 7 and there is no CRC error, then there is no Framing error (FRAM = 0). 2. If the number of the dribbling bits are less than 8 and there is a CRC error, then there is also a Framing error (FRAM = 1). 3. If the number of dribbling bits = 0, then there is no Framing error. There may or may not be a CRC (FCS) error. Counters are provided to report the Receive Collision Count and Runt Packet Count used for network statistics and utilization calculations. Note that if the MAC engine detects a received packet which has a 00b pattern in the preamble (after the first Am79C961A 71 8 bits, which are ignored), the entire packet will be ignored. The MAC engine will wait for the network to go inactive before attempting to receive the next packet. Media Access Management The basic requirement for all stations on the network is to provide fairness of channel allocation. The 802.3/ Ethernet protocol defines a media access mechanism which permits all stations to access the channel with equality. Any node can attempt to contend for the channel by waiting for a predetermined time (Inter Packet Gap interval) after the last activity, before transmitting on the medium. The channel is a multidrop communications medium (with various topological configurations permitted) which allows a single station to transmit and all other stations to receive. If two nodes simultaneously contend for the channel, their signals will interact, causing loss of data (defined as a collision). It is the responsibility of the MAC to attempt to avoid and recover from a collision, to guarantee data integrity for the end-to-end transmission to the receiving station. Medium Allocation (collision avoidance) The IEEE 802.3 Standard (ISO/IEC 8802-3 1990) requires that the CSMA/CD MAC monitor the medium traffic by looking for carrier activity. When carrier is detected the medium is considered busy, and the MAC should defer to the existing message. The IEEE 802.3 Standard also allows optional two part deferral after a receive message. See ANSI/IEEE Std 802.3-1990 Edition, 4.2.3.2.1: “Note: It is possible for the PLS carrier sense indication to fail to be asserted during a collision on the media. If the deference process simply times the interpacket gap based on this indication it is possible for a short interFrame gap to be generated, leading to a potential reception failure of a subsequent frame. To enhance system robustness the following optional measures, as specified in 4.2.8, are recommended when InterFrameSpacingPart1 is other than zero: (1) Upon completing a transmission, start timing the interpacket gap, as soon as transmitting and carrier Sense are both false. (2) When timing an interpacket gap following reception, reset the interpacket gap timing if carrier Sense becomes true during the first 2/3 of the interpacket gap timing interval. During the final 1/3 of the interval the timer shall not be reset to ensure fair access to the medium. An initial period shorter than 2/3 of the interval is permissible including zero.” The MAC engine implements the optional receive two p a r t d e fe r r a l a l g o r i t h m , w i t h a f i r s t p a r t i n ter-frame-spacing time of 6.0 µs. The second part of the inter-frame-spacing interval is therefore 3.6 µs. 72 The PCnet-ISA II controller will perform the two-part deferral algorithm as specified in Section 4.2.8 (Process Deference). The Inter Packet Gap (IPG) timer will start timing the 9.6 µs InterFrameSpacing after the receive carrier is de-asserted. During the first part deferral (InterFrameSpacingPart1 – IFS1) the PCnet-ISA II controller will defer any pending transmit frame and respond to the receive message. The IPG counter will be reset to zero continuously until the carrier de-asserts, at which point the IPG counter will resume the 9.6 µs count once again. Once the IFS1 period of 6.0 µs has elapsed, the PCnet-ISA II controller will begi n timin g the s econ d p ar t defer ral (InterFrameSpacingPart2 – IFS2) of 3.6 µs. Once IFS1 has completed, and IFS2 has commenced, the PCnet-ISA II controller will not defer to a receive packet if a transmit packet is pending. This means that the PCnet-ISA II controller will not attempt to receive the receive packet, since it will start to transmit, and generate a collision at 9.6 µs. The PCnet-ISA II controller will guarantee to complete the preamble (64-bit) and jam (32-bit) sequence before ceasing transmission and invoking the random backoff algorithm. In addition, transmit two part deferral is implemented as an option which can be disabled using the DXMT2PD bit (CSR3). Two-part deferral after transmission is useful for ensuring that severe IPG shrinkage cannot occur in specific circumstances, causing a transmit message to follow a receive message so closely as to make them indistinguishable. During the time period immediately after a transmission has been completed, the external transceiver (in the case of a standard AUI connected device), should generate the SQE Test message (a nominal 10 MHz burst of 5-15 bit times duration) on the CI± pair (within 0.6 µs – 1.6 µs after the transmission ceases). During the time period in which the SQE Test message is expected the PCnet-ISA II controller will not respond to receive carrier sense. See ANSI/IEEE Std 802.3-1990 Edition, 7.2.4.6 (1): “At the conclusion of the output function, the DTE opens a time window during which it expects to see the signal_quality_error signal asserted on the Control In circuit. The time window begins when the CARRIER_STATUS becomes CARRIER_OFF. If execution of the output function does not cause CARRIER_ON to occur, no SQE test occurs in the DTE. The duration of the window shall be at least 4.0 µs but no more than 8.0 µs. During the time window the Carrier Sense Function is inhibited.” The PCnet-ISA II controller implements a carrier sense “blinding” period within 0 – 4.0 µs from de-assertion of carrier sense after transmission. This effectively means that when transmit two par t deferral is enabled (DXMT2PD is cleared) the IFS1 time is from 4 µs to 6 Am79C961A µs after a transmission. However, since IPG shrinkage below 4 µs will rarely be encountered on a correctly configured network, and since the fragment size will be larger than the 4 µs blinding window, then the IPG counter will be reset by a worst case IPG shrinkage/ fragment scenario and the PCnet-ISA II controller will defer its transmission. In addition, the PCnet-ISA II controller will not restart the “blinding” period if carrier is detected within the 4.0 µs – 6.0 µs IFS1 period, but will commence timing of the entire IFS1 period. Contention resolution (collision handling) Collision detection is performed and reported to the MAC engine by the integrated Manchester Encoder/ Decoder (MENDEC). If a collision is detected before the complete preamble/ SFD sequence has been transmitted, the MAC Engine will complete the preamble/SFD before appending the jam sequence. If a collision is detected after the preamble/SFD has been completed, but prior to 512 bits being transmitted, the MAC Engine will abort the transmission, and append the jam sequence immediately. The jam sequence is a 32-bit all zeroes pattern. The MAC Engine will attempt to transmit a frame a total of 16 times (initial attempt plus 15 retries) due to normal collisions (those within the slot time). Detection of collision will cause the transmission to be re-scheduled, dependent on the backoff time that the MAC Engine computes. If a single retry was required, the ONE bit will be set in the Transmit Frame Status (TMD1 in the Transmit Descriptor Ring). If more than one retry was required, the MORE bit will be set. If all 16 attempts experienced collisions, the RTRY bit (in TMD3) will be set (ONE and MORE will be clear), and the transmit message will be flushed from the FIFO. If retries have been disabled by setting the DRTY bit in the MODE register (CSR15), the MAC Engine will abandon transmission of the frame on detection of the first collision. In this case, only the RTRY bit will be set and the transmit message will be flushed from the FIFO. If a collision is detected after 512 bit times have been transmitted, the collision is termed a late collision. The MAC Engine will abort the transmission, append the jam sequence, and set the LCOL bit. No retry attempt will be scheduled on detection of a late collision, and the FIFO will be flushed. The IEEE 802.3 Standard requires use of a “truncated binary exponential backoff” algorithm which provides a controlled pseudo-random mechanism to enforce the collision backoff interval, before re-transmission is attempted. See ANSI/IEEE Std 802.3-1990 Edition, 4.2.3.2.5: “At the end of enforcing a collision (jamming), the CSMA/CD sublayer delays before attempting to re-transmit the frame. The delay is an integer multiple of slot Time. The number of slot times to delay before the nth re-transmission attempt is chosen as a uniformly distributed random integer r in the range: 0 ≤ r < 2k, where k = min (n,10).” The PCnet-ISA II controller provides an alternative algorithm, which suspends the counting of the slot time/IPG during the time that receive carrier sense is detected. This algorithm aids in networks where large numbers of nodes are present, and numerous nodes can be in collision. The algorithm effectively accelerates the increase in the backoff time in busy networks, and allows nodes not involved in the collision to access the channel while the colliding nodes await a reduction in channel activity. Once channel activity is reduced, the nodes resolving the collision time out their slot time counters as normal. Manchester Encoder/Decoder (MENDEC) The integrated Manchester Encoder/Decoder provides the PLS (Physical Layer Signaling) functions required for a fully compliant IEEE 802.3 station. The MENDEC provides the encoding function for data to be transmitted on the network using the high accuracy on-board oscillator, driven by either the crystal oscillator or an external CMOS-level compatible clock. The MENDEC also provides the decoding function from data received from the network. The MENDEC contains a Power On Reset (POR) circuit, which ensures that all analog portions of the PCnet-ISA II controller are forced into their correct state during power-up, and prevents erroneous data transmission and/or reception during this time. External Crystal Characteristics When using a crystal to drive the oscillator, the crystal specification shown in the specification table may be used to ensure less than ±0.5 ns jitter at DO±. Am79C961A 73 External Crystal Characteristics Parameter Min 1. Parallel Resonant Frequency Nom Max Unit 20 MHz 2. Resonant Frequency Error (CL = 20 pF) –50 +50 PPM 3.Change in Resonant Frequency With Respect To Temperature (0° – 70° C; CL = 20 pF)* –40 +40 PPM 20 pF 4. Crystal Capacitance 5. Motional Crystal Capacitance (C1) 0.022 pF 6. Series Resistance 25 Ω 7. Shunt Capacitance 7 pF 8. Drive Level TBD mW Requires trimming crystal spec; no trim is 50 ppm total 74 Am79C961A External Clock Drive Characteristics Receive Path When driving the oscillator from an external clock source, XTAL2 must be left floating (unconnected). An external clock having the following characteristics must be used to ensure less than ±0.5 ns jitter at DO±. The principal functions of the receiver are to signal the PCnet-ISA II controller that there is information on the receive pair, and to separate the incoming Manchester encoded data stream into clock and NRZ data. Clock Frequency: 20 MHz ±0.01% Rise/Fall Time (tR/tF): < 6 ns from 0.5 V to VDD–0.5 XTAL1 HIGH/LOW Time (tHIGH/tLOW): 40 – 60% duty cycle XTAL1 Falling Edge to Falling Edge Jitter: < ±0.2 ns at 2.5 V input (VDD/2) The receiver section (see Receiver Block Diagram) consists of two parallel paths. The receive data path is a zero threshold, wide bandwidth line receiver. The carrier path is an offset threshold bandpass detecting line receiver. Both receivers share common bias networks to allow operation over a wide input common mode range. Input Signal Conditioning MENDEC Transmit Path The transmit section encodes separate clock and NRZ data input signals into a standard Manchester encoded serial bit stream. The transmit outputs (DO ± ) are designed to operate into terminated transmission lines. When operating into a 78 Ω terminated transmission line, the transmit signaling meets the required output levels and skew for Cheaper net, Ethernet, and IEEE-802.3. Transmitter Timing and Operation A 20 MHz fundamental-mode crystal oscillator provides the basic timing reference for the MENDEC portion of the PCnet-ISA II controller. The crystal input is divided by two to create the internal transmit clock reference. Both clocks are fed into the Manchester Encoder to generate the transitions in the encoded data stream. The internal transmit clock is used by the MENDEC to internally synchronize the Internal Transmit Data (ITXDAT) from the controller and Internal Transmit Enable (ITXEN). The internal transmit clock is also used as a stable bit-rate clock by the receive section of the MENDEC and controller. The oscillator requires an external 0.005% crystal, or an external 0.01% CMOS-level input as a reference. The accuracy requirements, if an external crystal is used, are tighter because allowance for the on-chip oscillator must be made to deliver a final accuracy of 0.01%. Transmission is enabled by the controller. As long as the ITXEN request remains active, the serial output of the controller will be Manchester encoded and appear at DO±. When the internal request is dropped by the controller, the differential transmit outputs go to one of two idle states, dependent on TSEL in the Mode Register (CSR15, bit 9): TSEL LOW: The idle state of DO± yields “zero” differential to operate transformer-coupled loads TSEL HIGH: In this idle state, DO+ is positive with respect to DO– (logical HIGH). Transient noise pulses at the input data stream are rejected by the Noise Rejection Filter. Pulse width rejection is proportional to transmit data rate which is fixed at 10 MHz for Ethernet systems but which could be different for proprietary networks. DC inputs more negative than minus 100 mV are also suppressed. The Carrier Detection circuitry detects the presence of an incoming data packet by discerning and rejecting noise from expected Manchester data, and controls the stop and start of the phase-lock loop during clock acquisition. Clock acquisition requires a valid Manchester bit pattern of 1010b to lock onto the incoming message. When input amplitude and pulse width conditions are met at DI±, a clock acquisition cycle is initiated. Clock Acquisition When there is no activity at DI± (receiver is idle), the receive oscillator is phase-locked to STDCLK. The first negative clock transition (bit cell center of first valid Manchester “0") after clock acquisition begins interrupts the receive oscillator. The oscillator is then restarted at the second Manchester “0" (bit time 4) and is phase-locked to it. As a result, the MENDEC acquires the clock from the incoming Manchester bit pattern in 4 bit times with a “1010" Manchester bit pattern. The internal receiver clock, IRXCLK, and the internal received data, IRXDAT, are enabled 1/4 bit time after clock acquisition in bit cell 5. IRXDAT is at a HIGH state when the receiver is idle (no IRXCLK). IRXDAT however, is undefined when clock is acquired and may remain HIGH or change to LOW state whenever IRXCLK is enabled. At 1/4 bit time through bit cell 5, the controller portion of the PCnet-ISA II controller sees the first IRXCLK transition. This also strobes in the incoming fifth bit to the MENDEC as Manchester “1". IRXDAT may make a transition after the IRXCLK rising edge in bit cell 5, but its state is still undefined. The Manchester “1" at bit 5 is clocked to IRXDAT output at 1/4 bit time in bit cell 6. Am79C961A 75 PLL Tracking After clock acquisition, the phase-locked clock is compared to the incoming transition at the bit cell center (BCC) and the resulting phase error is applied to a correction circuit. This circuit ensures that the DI ± phase-locked clock remains locked on the received signal. Individual bit cell phase corrections of the Voltage Controlled Oscillator (VCO) are limited to 10% of the phase difference between BCC and phaselocked clock. Data Receiver Manchester Decoder Noise Reject Filter Carrier Detect Circuit IRXDAT* IRXCLK* IRXCRS* *Internal signal 19364B-16 Receiver Block Diagram Carrier Tracking and End of Message The carrier detection circuit monitors the DI± inputs after IRXCRS is asserted for an end of message. IRXCRS de-asserts 1 to 2 bit times after the last positive transition on the incoming message. This initiates the end of reception cycle. The time delay from the last rising edge of the message to IRXCRS deassert allows the last bit to be strobed by IRXCLK and transferred to the controller section, but prevents any extra bit(s) at the end of message. When IRXCRS de-asserts an IRXCRS hold off timer inhibits IRXCRS assertion for at least 2 bit times. are specified so that the Ethernet specification for cable termination impedance is met using standard 1% resistor terminators. If SIP devices are used, 39 Ω is the nearest usable equivalent value. The CI± differential inputs are terminated in exactly the same way as the DI± pair. AUI Isolation Transformer DI+ PCnet-ISA II DI Data Decoding 40.2 Ω The data receiver is a comparator with clocked output to minimize noise sensitivity to the DI± inputs. Input error is less than ±35 mV to minimize sensitivity to input rise and fall time. IRXCLK strobes the data receiver output at 1/4 bit time to determine the value of the Manchester bit, and clocks the data out on IRXDAT on the following IRXCLK. The data receiver also generates the signal used for phase detector comparison to the internal MENDEC voltage controlled oscillator (VCO). Differential Input Terminations The differential input for the Manchester data (DI ±) should be externally terminated by two 40.2 Ω ±1% resistors and one optional common-mode bypass capacitor, as shown in the Differential Input Termination diagram below. The differential input impedance, ZIDF, and the common-mode input impedance, ZICM, 76 40.2 Ω 0.01 µF to 0.1 µF 19364A-17 Differential Input Termination Collision Detection A MAU detects the collision condition on the network and generates a differential signal at the CI± inputs. This collision signal passes through an input stage which detects signal levels and pulse duration. When the signal is detected by the MENDEC it sets the internal collision signal, ICLSN, HIGH. The condition contin- Am79C961A ues for approximately 1.5 bit times after the last LOW-to-HIGH transition on CI±. Jitter Tolerance Definition The MENDEC utilizes a clock capture circuit to align its internal data strobe with an incoming bit stream. The clock acquisition circuitry requires four valid bits with the values 1010b. Clock is phase-locked to the negative transition at the bit cell center of the second “0" in the pattern. Since data is strobed at 1/4 bit time, Manchester transitions which shift from their nominal placement through 1/4 bit time will result in improperly decoded data. With this as the criteria for an error, a definition of “Jitter Handling” is: The peak deviation approaching or crossing 1/4 bit cell position from nominal input transition, for which the MENDEC section will properly decode data. Attachment Unit Interface (AUI) The AUI is the PLS (Physical Layer Signaling) to PMA (Physical Medium Attachment) interface which connects the DTE to a MAU. The differential interface provided by the PCnet-ISA II controller is fully compliant with Section 7 of ISO 8802-3 (ANSI/IEEE 802.3). After the PCnet-ISA II controller initiates a transmission, it will expect to see data “looped-back” on the DI± pair (when the AUI port is selected). This will internally generate a “carrier sense”, indicating that the integrity of the data path to and from the MAU is intact, and that the MAU is operating correctly. This “carrier sense” signal must be asserted within sometime before end of transmission. If “carrier sense” does not become active in response to the data transmission, or becomes inactive before the end of transmission, the loss of carrier (LCAR) error bit will be set in the Transmit Descriptor Ring (TMD3, bit 11) after the packet has been transmitted. Twisted Pair Transceiver (T-MAU) This section describes operation of the T-MAU when operating in the Half Duplex mode. When in Half Duplex mode, the T-MAU implements the Medium Attachment Unit (MAU) functions for the Twisted Pair Medium as specified by the supplement to IEEE 802.3 standard (Type 10BASE-T). When operating in Full Duplex mode, the MAC engine behavior changes as described in the Full Duplex Operation section. The T-MAU provides twisted pair driver and receiver circuits, including on-board transmit digital predistortion and receiver squelch, and a number of additional features including Link Status indication, Automatic Twisted Pair Receive Polarity Detection/Correction and Indication, Receive Carrier Sense, Transmit Active and Collision Present indication. Twisted Pair Transmit Function The differential driver circuitry in the TXD± and TXP± pins provides the necessary electrical driving capability and the pre-distortion control for transmitting signals over maximum length Twisted Pair cable, as specified by the 10BASE-T supplement to the IEEE 802.3 Standard. The transmit function for data output meets the propagation delays and jitter specified by the standard. Twisted Pair Receive Function The receiver complies with the receiver specifications of the IEEE 802.3 10BASE-T Standard, including noise immunity and received signal rejection criteria (‘Smart Squelch’). Signals meeting these criteria appearing at the RXD ± differential input pair are routed to the MENDEC. The receiver function meets the propagation delays and jitter requirements specified by the standard. The receiver squelch level drops to half its threshold value after unsquelch to allow reception of minimum amplitude signals and to offset carrier fade in the event of worst case signal attenuation conditions. Note that the 10BASE-T Standard defines the receive input amplitude at the external Media Dependent Interface (MDI). Filter and transformer loss are not specified. The T-MAU receiver squelch levels are designed to account for a 1 dB insertion loss at 10 MHz for the type of receive filters and transformers usually used. Normal 10BASE-T compatible receive thresholds are invoked when the LRT bit (CSR15, bit 9) is LOW. When the LRT bit is set, the Low Receive Threshold option is invoked, and the sensitivity of the T-MAU receiver is increased. Increasing T-MAU sensitivity allows the use of lines longer than the 100 m target distance of standard 10BASE-T (assuming typical 24 AWG cable). Increased receiver sensitivity compensates for the increased signal attenuation caused by the additional cable distance. However, making the receiver more sensitive means that it is also more susceptible to extraneous noise, primarily caused by coupling from co-resident services (crosstalk). For this reason, end users may wish to invoke the Low Receive Threshold option on 4-pair cable only. Multi-pair cables within the same outer sheath have lower crosstalk attenuation, and may allow noise emitted from adjacent pairs to couple into the receive pair, and be of sufficient amplitude to falsely unsquelch the T-MAU. Link Test Function The link test function is implemented as specified by 10BASE-T standard. During periods of transmit pair inactivity,’Link beat pulses’ will be periodically sent over the twisted pair medium to constantly monitor medium integrity. Am79C961A 77 When the link test function is enabled (DLNKTST bit in CSR15 is cleared), the absence of link beat pulses and receive data on the RXD± pair will cause the TMAU to go into the Link Fail state. In the Link Fail state, data transmission, data reception, data loopback and the collision detection functions are disabled and remain disabled until valid data or greater than 5 consecutive link pulses appear on the RXD± pair. During Link Fail, the Link Status (LNKST indicated by LED0) signal is inactive. When the link is identified as functional, the LNKST signal is asserted, and LED0 output will be activated. Upon power up or assertion of the RESET pin, the T-MAU will be forced into the Link Fail state. Reading the RESET register of the PCnet-ISA+ (software RESET) has no effect on the T-MAU In order to inter-operate with systems which do not implement Link Test, this function can be disabled by setting the DLNKTST bit. With Link Test disabled, the Data Driver, Receiver and Loopback functions as well as Collision Detection remain enabled irrespective of the presence or absence of data or link pulses on the RXD± pair. Link Test pulses continue to be sent regardless of the state of the DLNKTST bit. Polarity Detection and Reversal The T-MAU receive function includes the ability to invert the polarity of the signals appearing at the RXD± pair if the polarity of the received signal is reversed (such as in the case of a wiring error). This feature allows data packets received from a reverse wired RXD± input pair to be corrected in the T-MAU prior to transfer to the MENDEC. The polarity detection function is activated following reset or Link Fail, and will reverse the receive polarity based on both the polarity of any previous link beat pulses and the polarity of subsequent packets with a valid End Transmit Delimiter (ETD). When in the Link Fail state, the T-MAU will recognize link beat pulses of either positive or negative polarity. Exit from the Link Fail state occurs at the reception of 5 – 6 consecutive link beat pulses of identical polarity. On entry to the Link Pass state, the polarity of the last 5 link beat pulses is used to determine the initial receive polarity configuration and the receiver is reconfigured to subsequently recognize only link beat pulses of the previously recognized polarity. Positive link beat pulses are defined as transmitted signal with a positive amplitude greater than 585 mV with a pulse width of 60 ns – 200 ns. This positive excursion may be followed by a negative excursion. This definition is consistent with the expected received signal at a correctly wired receiver, when a link beat pulse, which fits the template of Figure 14-12 of the 10BASE-T Standard, is generated at a transmitter and passed through 100 m of twisted pair cable. 78 Negative link beat pulses are defined as transmitted signals with a negative amplitude greater than 585 mV with a pulse width of 60 ns – 200 ns. This negative excursion may be followed by a positive excursion. This definition is consistent with the expected received signal at a reverse wired receiver, when a link beat pulse which fits the template of Figure 14-12 in the 10BASE-T Standard is generated at a transmitter and passed through 100 m of twisted pair cable. The polarity detection/correction algorithm will remain “armed” until two consecutive packets with valid ETD of identical polarity are detected. When “armed,” the receiver is capable of changing the initial or previous polarity configuration according to the detected ETD polarity. On receipt of the first packet with valid ETD following reset or link fail, the T-MAU will use the inferred polarity information to configure its RXD± input, regardless of its previous state. On receipt of a second packet with a valid ETD with correct polarity, the detection/correction algorithm will “lock-in” the received polarity. If the second (or subsequent) packet is not detected as confirming the previous polarity decision, the most recently detected ETD polarity will be used as the default. Note that packets with invalid ETD have no effect on updating the previous polarity decision. Once two consecutive packets with valid ETD have been received, the T-MAU will lock the correction algorithm until either a Link Fail condition occurs or RESET is asserted. During polarity reversal, an internal POL signal will be active. During normal polarity conditions, this internal POL signal is inactive. The state of this signal can be read by software and/or displayed by LED when enabled by the LED control bits in the ISA Bus Configuration Registers (ISACSR5, 6, 7). Twisted Pair Interface Status Three internal signals (XMT, RCV and COL) indicate whether the T-MAU is transmitting, receiving, or in a collision state. These signals are internal signals and the behavior of the LED outputs depends on how the LED output circuitry is programmed. The T-MAU will power up in the Link Fail state and the normal algorithm will apply to allow it to enter the Link Pass state. In the Link Pass state, transmit or receive activity will be indicated by assertion of RCV signal going active. If T-MAU is selected using the PORTSEL bits in CSR15, when moving from AUI to T-MAU selection, the T-MAU will be forced into the Link Fail state. In the Link Fail state, XMT, RCV and COL are inactive. Collision Detect Function Activity on both twisted pair signals RXD± and TXD± constitutes a collision, thereby causing the COL signal to be asserted. (COL is used by the LED control circuits) COL will remain asserted until one of the two col- Am79C961A liding signals changes from active to idle. COL stays active for 2 bit times at the end of a collision. erating in the Full Duplex mode, the following changes to device operation are made: Signal Quality Error (SQE) Test (Heartbeat) Function Bus Interface/Buffer Management Unit changes: The SQE function is disabled when the 10BASE-T port is selected and in Link Fail state. Jabber Function The Jabber function inhibits the twisted pair transmit function of the T-MAU if the TXD± circuit is active for an excessive period (20 ms–150 ms). This prevents any one node from disrupting the network due to a ‘stuck-on’ or faulty transmitter. If this maximum transmit time is exceeded, the T-MAU transmitter circuitry is disabled, the JAB bit is set (CSR4, bit 1), and the COL signal asserted. Once the transmit data stream to the T-MAU is removed, an “unjab” time of 250 ms – 750 ms will elapse before the T-MAU deasserts COL and re-enables the transmit circuitry. Power Down The T-MAU circuitry can be made to go into low power mode. This feature is useful in battery powered or low duty cycle systems. The T-MAU will go into power down mode when RESET is active, coma mode is active, or the T-MAU is not selected. Refer to the Power Down Mode section for a description of the various power down modes. Any of the three conditions listed above resets the internal logic of the T-MAU and places the device into power down mode. In this mode, the Twisted Pair driver pins (TXD±,TXP±) are asserted LOW, and the internal T-MAU status signals (LNKST, RCVPOL, XMT, RCV and COLLISION) are inactive. Once the SLEEP pin is deasserted, the T-MAU will be forced into the Link Fail state. The T-MAU will move to the Link Pass state only after 5–6 link beat pulses and/ or a single received message is detected on the RXD± pair. In Snooze mode, the T-MAU receive circuitry will remain enabled even while the SLEEP pin is driven LOW. The T-MAU circuitry will always go into power down mode if RESET is asserted, coma is enabled, or the T-MAU is not selected. Full Duplex Operation 1. The first 64 bytes of every transmit frame are not preserved in the transmit FIFO during transmission of the first 512 bits transmitted on the network, as described in the Transmit Exception Conditions section. Instead, when Full Duplex mode is active and a frame is being transmitted, the XMTFW bits (CSR80, bits 9, 8) always govern when transmit DMA is requested. 2. Successful reception of the first 64 bytes of every receive frame is not a requirement for Receive DMA to begin as described in the Receive Exception Conditions section. Instead, receive DMA will be requested as soon as either the RCVFW threshold (CSR80 bits 12, 13) is reached or a complete valid receive frame is in the Receive FIFO, regardless of length. This receive FIFO operation is identical to when the RPA bit (CSR124, bit 3) is set during Half Duplex mode operation. MAC Engine changes: 1. Changes to the Transmit Deferral mechanism: A. Transmission is not deferred while receive is active. B. The Inter Packet Gap (IPG) counter which governs transmit deferral during the IPG between back-to-back transmits is started when transmit activity for the first packet ends instead of when transmit and carrier activity ends. 2. When the AUI or GPSI port is active, Loss of Carrier (LCAR) reporting is disabled (LCAR is still reported when the 10BASE-T port is active if a packet is transmitted while in the Link Fail state). 3. The 4.0 µs carrier sense blinding period after a transmission during which the SQE test normally occurs is disabled. 4. When the AUI or GPSI port is active, the SQE Test error (Collision Error, CERR) reporting is disabled (CERR is still reported when the 10BASE-T port is active if a packet is transmitted while in the Link Fail state). 5. The collision indication input to the MAC Engine is ignored. T-MAU changes: The PCnet-ISA II supports Full Duplex operation on the 10BASE-T, AUI, and GPSI ports. Full Duplex operation allows simultaneous transmit and receive activity on the TXD± and RXD± pairs of the 10BASE-T port, the DO± and DI± pairs of the AUI port, and the TXDAT and RXDAT pins of the GPSI port. It is enabled by the FDEN and AUIFD bits located in ISACSR9. When op- 1. The transmit to receive loopback path in the T-MAU is disabled. 2. The collision detect circuit is disabled. 3. The “heartbeat” generation (SQE Test function) is disabled. Am79C961A 79 EADI (External Address Detection Interface) This interface is provided to allow external address filtering. It is selected by setting the EADISEL bit in ISACSR2. This feature is typically utilized for terminal servers, bridges and/or router type products. The use of external logic is required to capture the serial bit stream from the PCnet-ISA II controller, compare it with a table of stored addresses or identifiers, and perform the desired function. The EADI interface operates directly from the NRZ decoded data and clock recovered by the Manchester decoder or input to the GPSI, allowing the external address detection to be performed in parallel with frame reception and address comparison in the MAC Station Address Detection (SAD) block. SRDCLK is provided to allow clocking of the receive bit stream into the external address detection logic. SRDCLK runs only during frame reception activity. Once a received frame commences and data and clock are available, the EADI logic will monitor the alternating (“1,0") preamble pattern until the two ones of the Start Frame Delimiter (“1,0,1,0,1,0,1,1") are detected, at which point the SF/BD output will be driven HIGH. After SF/BD is asserted the serial data from SRD should be de-serialized and sent to a content addressable memory (CAM) or other address detection device. To allow simple serial to parallel conversion, SF/BD is provided as a strobe and/or marker to indicate the delineation of bytes, subsequent to the SFD. This provides a mechanism to allow not only capture and/or decoding of the physical or logical (group) address, it also facilitates the capture of header information to determine protocol and or inter-networking information. The EAR pin is driven LOW by the external address comparison logic to reject the frame. If an internal address match is detected by comparison with either the Physical or Logical Address field, the frame will be accepted regardless of the condition of EAR. Incoming frames which do not pass the internal address comparison will continue to be received. This allows approximately 58 byte times after the last destination address bit is available to generate the EAR signal, assuming the device is not configured to accept runt packets. EAR will be ignored after 64 byte times after the SFD, and the frame will be accepted if EAR has not been asserted before this time. If Runt Packet Accept is configured, the EAR signal must be generated prior to the receive message completion, which could be as short as 12 byte times (assuming 6 bytes for source address, 2 bytes for length, no data, 4 bytes for FCS) after the last bit of the destination address is available. EAR must have a pulse width of at least 200 ns. Note that setting the PROM bit (CSR15, bit 15) will cause all receive frames to be received, regardless of the state of the EAR input. If the DRCUPA bit (CSR15.B) is set and the logical address (LADRF) is set to zero, only frames which are not rejected by EAR will be received. The EADI interface will operate as long as the STRT bit in CSR0 is set, even if the receiver and/or transmitter are disabled by software (DTX and DRX bits in CSR15 set). This situation is useful as a power down mode in that the PCnet-ISA II controller will not perform any DMA operations; this saves power by not utilizing the ISA bus driver circuits. However, external circuitry could still respond to specific frames on the network to facilitate remote node control. The table below summarizes the operation of the EADI features. Internal/External Address Recognition Capabilities PROM EAR Required Timing 1 X No timing requirements All Received Frames 0 1 No timing requirements All Received Frames 0 0 Low for 200 ns within 512 bits after SFD Physical/Logical Matches General Purpose Serial Interface (GPSI) The PCnet-ISA II controller contains a General Purpose Serial Interface (GPSI) designed for testing the digital portions of the chip. The MENDEC, AUI, and twisted pair interface are by-passed once the device is set up in the special “test mode” for accessing the GPSI functions. Although this access is intended only for testing the device, some users may find the non-enc od e d d at a fu n c ti o n s u s ef u l i n s o me s p e c i al 80 Received Messages applications. Note, however, that the GPSI functions can be accessed only when the PCnet-ISA II devices operate as a bus master. The PCnet-ISA II GPSI signals are consistent with the LANCE digital serial interface. Since the GPSI functions can be accessed only through a special test mode, expect some loss of functionality to the device when the GPSI is invoked. The AUI and 10BASE-T analog interfaces are disabled along with the internal Am79C961A MENDEC logic. The LA (unlatched address) pins are removed and become the GPSI signals, therefore, only 20 bits of address space is available. The table below shows the GPSI pin configuration: To invoke the GPSI signals, follow the procedure below: 1. After reset or I/O read of Reset Address, write 10b to PORTSEL bits in CSR15. 2. Set the ENTST bit in CSR4 3. Set the GPSIEN bit in CSR124 (see note below) (The pins LA17–LA23 will change function after the completion of the above three steps.) 4. Clear the ENTST bit in CSR4 5. Clear Media Select bits in ISACSR2 6. Define the PORTSEL bits in the MODE register (CSR15) to be 10b to define GPSI port. The MODE register image is in the initialization block. Note: LA pins will be tristated before writing to GPSIEN bit. After writing to GPSIEN, LA[17–21] will be inputs, LA[22–23] will be outputs. GPSI Pin Configurations GPSI Function Receive Data GPSI I/O Type LANCE GPSI Pin PCnet-ISA II GPSI Pin PCnet-ISA II Pin Number PCnet-ISA II Normal Pin Function I RX RXDAT 5 LA17 Receive Clock I RCLK SRDCLK 6 LA18 Receive Carrier Sense I RENA RXCRS 7 LA19 Collision I CLSN CLSN 9 LA20 Transmit Clock I TCLK STDCLK 10 LA21 Transmit Enable O TENA TXEN 11 LA22 Transmit Data O TX TXDAT 12 LA23 Note: The GPSI Function is available only in the Bus Master Mode of operation. Am79C961A 81 IEEE 1149.1 Test Access Port Interface An IEEE 1149.1 compatible boundary scan Test Access Port is provided for board-level continuity test and diagnostics. All digital input, output, and input/output pins are tested. Analog pins, including the AUI differential driver (DO±) and receivers (DI±, CI±), and the crystal input (XTAL1/XTAL2) pins, are tested. The T-MAU drivers TXD±, TXP±, and receiver RXD± are also tested. The following is a brief summary of the IEEE 1149.1 compatible test functions implemented in the PCnet-ISA II controller. Boundary Scan Circuit The boundary scan test circuit requires four extra pins (TCK, TMS, TDI and TDO), defined as the Test Access Port (TAP). It includes a finite state machine (FSM), an instruction register, a data register array, and a power-on reset circuit. Internal pull-up resistors are provided for the TDI, TCK, and TMS pins. The TCK pin must not be left unconnected. The boundary scan circuit remains active during sleep. TAP FSM The TAP engine is a 16-state FSM, driven by the Test Clock (TCK) and the Test Mode Select (TMS) pins. This FSM is in its reset state at power-up or RESET. An independent power-on reset circuit is provided to ensure the FSM is in the TEST_LOGIC_RESET state at power-up. additional instructions (IDCODE, TRIBYP and SETBYP) are provided to further ease board-level testing. All unused instruction codes are reserved. See the table below for a summary of supported instructions. Instruction Register and Decoding Logic After hardware or software RESET, the IDCODE instruction is always invoked. The decoding logic gives signals to control the data flow in the DATA registers according to the current instruction. Boundary Scan Register (BSR) Each BSR cell has two stages. A flip-flop and a latch are used in the SERIAL SHIFT STAGE and the PARALLEL OUTPUT STAGE, respectively. There are four possible operational modes in the BSR cell: 1 2 3 4 Other Data Registers (1) BYPASS REG (1 BIT) (2) DEV ID REG (32 bits) Bits 31–28: Version Bits 27–12: Part number (2261h) Bits 11–1: Manufacturer ID. The 11 bit manufacturer ID code for AMD is 00000000001 according to JEDEC Publication 106-A. Bit 0: Always a logic 1 Supported Instructions In addition to the minimum IEEE 1149.1 requirements (BYPASS, EXTEST and SAMPLE instructions), three Capture Shift Update System Function IEEE 1149.1 Supported Instruction Summary Instruction Name Description Mode Instruction Code BSR Test 0000 EXTEST External Test IDCODE ID Code Inspection ID REG Normal 0001 SAMPLE Sample Boundary BSR Normal 0010 TRIBYP Force Tristate Bypass Normal 0011 SETBYP Control Boundary to 1/0 Bypass Test 0100 BYPASS Bypass Scan Bypass Normal 1111 Power Saving Modes The PCnet-ISA II controller supports two hardware power-savings modes. Both are entered by asserting the SLEEP pin LOW. In coma mode, the PCnet-ISA II controller will go into deep sleep with no support to automatically wake itself up. Sleep mode is enabled when the AWAKE bit in 82 Selected Data Reg ISACSR2 is reset. This mode is the default powerdown mode. In Snooze mode, enabled by setting the AWAKE bit in ISACSR2 and driving the SLEEP pin LOW, the T-MAU receive circuitry will remain enabled even while the SLEEP pin is driven LOW. The LED0 output will also continue to function, indicating a good 10BASE-T link if Am79C961A there are link beat pulses or valid frames present. This LED0 pin can be used to drive a LED and/or external hardware that directly controls the SLEEP pin of the PCnet-ISA II controller. This configuration effectively wakes the system when there is any activity on the 10BASE-T link. IEEE Address Access Access Operations (Software) Boot PROM Access We begin by describing how byte and word data are addressed on the ISA bus, including conversion cycles where 16-bit accesses are turned into 8-bit accesses because the resource accessed did not support 16-bit operations. Then we describe how registers and other resources are accessed. This section is for the device programmer, while the next section (bus cycles) is for the hardware designer. The boot PROM is an external memory resource located by the address selected by the EEPROM or the BPAM input in slave mode. It may be software accessed as an 8-bit or 16-bit resource but the latter is recommended for best performance. I/O Resources The PCnet-ISA II controller has both I/O and memory resources. In the I/O space the resources are organized as indicated in the following table: Offset #Bytes Register 0h 16 IEEE Address 10h 2 RDP 12h 2 RAP(shared by RDP and IDP) 14h 2 Reset 16h 2 IDP Static RAM Access The static RAM is only present in the Bus Slave mode. In the Bus Slave mode, two SRAM access schemes are available. When the Shared Memory architecture mode is selected, the SRAM is accessed using ISA memory cycles to the address range selected by the SMAM input. It may be accessed as an 8 or 16-bit resource but the latter is recommended for best performance. When the Programmed I/O architecture mode is selected, the SRAM is accessed through ISACSR0 and ISACSR1 using the RAP and IDP. Bus Cycles (Hardware) The PCnet-ISA II controller does not respond to any addresses outside of the offset range 0-17h. I/O offsets 18h and up are not used by the PCnet-ISA II controller. I/O Register Access The register address port (RAP) is shared by the register data port (RDP) and the ISACSR data port (IDP) to save registers. To access the Ethernet controller’s RDP or IDP, the RAP should be written first, followed by the read or write access to the RDP or IDP. I/O register accesses should be coded as 16-bit accesses, even if the PCnet-ISA II controller is hardware configured for 8-bit I/O bus cycles. It is acceptable (and transparent) for the motherboard to turn a 16-bit software access into two separate 8-bit hardware bus cycles. The motherboard accesses the low byte before the high byte and the PCnet-ISA II controller has circuitry to specifically support this type of access. The reset register causes a reset when read. Any value will be accepted and the cycle may be 8 or 16 bits wide. Writes are ignored. All PCnet-ISA II controller register accesses should be coded as 16-bit operations. “Note that the RAP is cleared on Reset.” The address PROM may be an external memory device that contains the node’s unique physical Ethernet address and any other data stored by the board manufacturer. The software accesses must be 16-bit. This information may be stored in the EEPROM. The PCnet-ISA II controller supports both 8-bit and 16-bit hardware bus cycles. The following sections outline where any limitations apply based upon the architecture mode and/or the resource that is being accessed (PCnet-ISA II controller registers, address PROM, boot PROM, or shared memory SRAM). For completeness, the following sections are arranged by architecture (Bus Master Mode or Bus Slave Mode). SRAM resources apply only to Bus Slave Mode. All resources (registers, PROMs, SRAM) are presented to the ISA bus by the PCnet-ISA II controller. With few exceptions, these resources can be configured for either 8-bit or 16-bit bus cycles. The I/O resources (registers, address PROM) are width configured using the EEPROM. The memory resources (boot PROM, SRAM) are width configured by external hardware. For 16-bit memory accesses, hardware external to the PCnet-ISA II controller asserts MEMCS16 when either of the two memory resources is selected. The ISA bus requires that all memory resources within a block of 128 Kbytes be the same width, either 8- or 16-bits. The reason for this is that the MEMCS16 signal is generally a decode of the LA17-23 address lines. 16-bit memory capability is desirable since two 8-bit accesses take the same amount of time as four 16-bit accesses. All accesses to 8-bit resources (which do not return MEMCS16 or IOCS16) use SD0-7. If an odd byte is accessed, the Current Master swap buffer turns on. Am79C961A 83 During an odd byte read the swap buffer copies the data from SD0-7 to the high byte. During an odd byte write the Current Master swap buffer copies the data from the high byte to SD0-7. The PCnet-ISA II controller can be configured to be an 8-bit I/O resource even in a 16-bit system; this is set by the EEPROM. It is recommended that the PCnet-ISA II controller be configured for 8-bit only I/O bus cycles for maximum compatibility with PC/AT clone motherboards. When the PCnet-ISA II controller is in an 8-bit system such as a PC/XT, SBHE and IOCS16 must be left unconnected (these signals do not exist in the PC/XT). This will force ALL resources (I/O and memory) to support only 8-bit bus cycles. The PCnet-ISA II controller will function in an 8-bit system only if configured for Bus Slave Mode. Accesses to 16-bit resources (which do retur n MEMCS16 or IOCS16) use either or both SD0–7 and SD8–15. A word access is indicated by A0=0 and SBHE=0 and data is transferred on all 16 data lines. An even byte access is indicated by A0=0 and SBHE=1 and data is transferred on SD0–7. An odd-byte access is indicated by A0=1 and SBHE=0 and data is transferred on SD8-15. It is illegal to have A0=1 and SBHE=1 in any bus cycle. The PCnet-ISA II controller returns only IOCS16; MEMCS16 must be generated by external hardware if desired. The use of MEMCS16 applies only to Shared Memory Mode. The following table describes all possible types of ISA bus accesses, including Permanent Master as Current Master and PCnet-ISA II controller as Current Master. The PCnet-ISA II controller will not work with 8-bit memory while it is Current Master. Any descriptions of 8-bit memory accesses are for when the Permanent Master is Current Master. The two byte columns (D0–7 and D8–15) indicate whether the bus master or slave is driving the byte. CS16 is a shorthand for MEMCS16 and IOCS16. Bus Master Mode The PCnet-ISA II controller can be configured as a Bus Master only in systems that support bus mastering. In addition, the system is assumed to support 16-bit memory (DMA) cycles (the PCnet-ISA II controller does not use the MEMCS16 signal on the ISA bus). This does not preclude the PCnet-ISA II controller from doing 8-bit I/O transfers. The PCnet-ISA II controller will not function as a bus master in 8-bit platforms such as the PC/XT. Refresh Cycles Although the PCnet-ISA II controller is neither an originator or a receiver of refresh cycles, it does need to avoid unintentional activity during a refresh cycle in bus master mode. A refresh cycle is performed as follows: First, the REF signal goes active. Then a valid refresh address is placed on the address bus. MEMR goes active, the refresh is performed, and MEMR goes inactive. The refresh address is held for a short time and them goes invalid. Finally, REF goes inactive. During a refresh cycle, as indicated by REF being active, the PCnet-ISA II controller ignores DACK if it goes active until it goes inactive. It is necessary to ignore DACK during a refresh because some motherboards generate a false DACK at that time. ISA Bus Accesses R/W A0 SBHE CS16 D0–7 D8–15 Comments RD 0 1 x Slave Float Low byte RD RD 1 0 1 Slave Float High byte RD with swap RD 0 0 1 Slave Float 16-Bit RD converted to low byte RD RD 1 0 0 Float Slave High byte RD RD 0 0 0 Slave Slave 16-Bit RD WR 0 1 x Master Float Low byte WR WR 1 0 1 Master Float High byte WR with swap WR 0 0 1 Master Master 16-Bit WR converted to low byte WR WR 1 0 0 Float Master High byte WR WR 0 0 0 Master Master 16-Bit WR Address PROM Cycles External PROM The Address PROM is a small (16 bytes) 8-bit PROM connected to the PCnet-ISA II controller Private Data 84 Bus. The PCnet-ISA II controller will support only 8-bit ISA I/O bus cycles for the address PROM; this limitation is transparent to software and does not preclude 16-bit software I/O accesses. An access cycle begins Am79C961A with the Permanent Master driving AEN LOW, driving the addressess valid, and driving IOR active. The PCnet-ISA II controller detects this combination of signals and arbitrates for the Private Data Bus (PRDB) if necessary. IOCHRDY is driven LOW during accesses to the address PROM. When the Private Data Bus becomes available, the PCnet-ISA II controller drives APCS active, releases IOCHRDY, turns on the data path from PRD0-7, and enables the SD0-7 drivers (but not SD8-15). During this bus cycle, IOCS16 is not driven active. This condition is maintained until IOR goes inactive, at which time the bus cycle ends. Data is removed from SD0-7 within 30 ns. Address PROM Cycles Using EEPROM Data Default mode. In this mode, the IEEE address information is stored not in an external parallel PROM but in the EEPROM along with other configuration information. PCnet-ISA II will respond to I/O reads from the IEEE address (the first 16 bytes of the I/O map) by supplying data from an internal RAM inside PCnet-ISA II. This internal RAM is loaded with the IEEE address at RESET and is write protected. Ethernet Controller Register Cycles Ethernet controller registers (RAP, RDP, IDP) are naturally 16-bit resources but can be configured to operate with 8-bit bus cycles provided the proper protocol is followed. This means on a read, the PCnet-ISA II controller will only drive the low byte of the system data bus; if an odd byte is accessed, it will be swapped down. The high byte of the system data bus is never driven by the PCnet-ISA II controller under these conditions. On a write cycle, the even byte is placed in a holding register. An odd byte write is internally swapped up and augmented with the even byte in the holding register to provide an internal 16-bit write. This allows the use of 8-bit I/O bus cycles which are more likely to be compatible with all ISA-compatible clones, but requires that both bytes be written in immediate succession. This is accomplished simply by treating the PCnet-ISA II controller registers as 16-bit software resources. The motherboard will convert the 16-bit accesses done by software into two sequential 8-bit accesses, an even byte access followed immediately by an odd byte access. An access cycle begins with the Permanent Master driving AEN LOW, driving the address valid, and driving IOR or IOW active. The PCnet-ISA II controller detects this combination of signals and drives IOCHRDY LOW. IOCS16 will also be driven LOW if 16-bit I/O bus cycles are enabled. When the register data is ready, IOCHRDY will be released HIGH. This condition is maintained until IOR or IOW goes inactive, at which time the bus cycle ends. RESET Cycles A read to the reset address causes an PCnet-ISA II controller reset. This has the same effect as asserting the RESET pin on the PCnet-ISA+ controller (which happens on system power up or on a hard boot) except that the T-MAU is NOT reset. The T-MAU will retain its link pass/fail state, disregarding the software RESET command. The subsequent write cycle needed in the NE2100 LANCE based family of Ethernet cards is not required but does not have any harmful effects. IOCS16 is not asserted in this cycle. ISA Configuration Register Cycles The ISA configuration registers are accessed by placing the address of the desired register into the RAP and reading the IDP. The ISACSR bus cycles are identical to all other PCnet-ISA II controller register bus cycles. Boot PROM Cycles The Boot PROM is an 8-bit PROM connected to the PCnet-ISA II controller Private Data Bus (PRDB) and can occupy up to 64K of address space. Since the PCnet-ISA II controller does not generate MEMCS16, only 8-bit ISA memory bus cycles to the boot PROM are supported in Bus Master Mode; this limitation is transparent to software and does not preclude 16-bit software memory accesses. A boot PROM access cycle begins with the Per manent Master driving the addresses valid, REF inactive, and MEMR active. (AEN is not involved in memory cycles). The PCnet-ISA II controller detects this combination of signals, drives IOCHRDY LOW, and reads a byte out of the Boot PROM. The data byte read is driven onto the lower system data bus lines and IOCHRDY is released. This condition is maintained until MEMR goes inactive, at which time the access cycle ends. The BPCS signal generated by the PCnet-ISA II controller is three 20 MHz clock cycles wide (300 ns). Including delays, the Boot PROM has 275 ns to respond to the BPCS signal from the PCnet-ISA II controller. This signal is intended to be connected to the CS pin on the boot PROM, with the PROM OE pin tied to ground. Current Master Operation Current Master operation only occurs in the Bus Master mode. It does not occur in the Bus Slave mode. There are three phases to the use of the bus by the PCnet-ISA II controller as Current Master, the Obtain Phase, the Access Phase, and the Release Phase. Obtain Phase A Master Mode Transfer Cycle begins by asserting DRQ. When the Permanent Master asserts DACK, the PCnet-ISA II controller asserts MASTER, signifying it has taken control of the ISA bus. The Permanent Master tristates the address, command, and data lines Am79C961A 85 within 60 ns of DACK going active. The Permanent Master drives AEN inactive within 71 ns of MASTER going active. Access Phase The ISA bus requires a wait of at least 125 ns after MASTER is asserted before the new master is allowed to drive the address, command, and data lines. The PCnet-ISA II controller will actually wait 3 clock cycles or 150 ns. The following signals are not driven by the Permanent Master and are simply pulled HIGH: BALE, IOCHRDY, IOCS16, MEMCS16, SRDY. Therefore, the PCnet-ISA II controller assumes the memory which it is accessing is 16 bits wide and can complete an access in the time programmed for the PCnet-ISA II controller MEMR and MEMW signals. Refer to the ISA Bus Configuration Register description section. Release Phase When the PCnet-ISA II controller is finished with the bus, it drives the command lines inactive. 50 ns later, the controller tri-states the command, address, and data lines and drives DRQ inactive. 50 ns later, the controller drives MASTER inactive. The Permanent Master drives AEN active within 71 ns of MASTER going inactive. The Permanent Master is allowed to drive the command lines no sooner than 60 ns after DACK goes inactive. Master Mode Memory Read Cycle After the PCnet-ISA II controller has acquired the ISA bus, it can perform a memory read cycle. All timing is generated relative to the 20 MHz clock (network clock). Since there is no way to tell if memory is 8-bit or 16-bit or when it is ready, the PCnet-ISA II controller by default assumes 16-bit, 1 wait state memory. The wait state assumption is based on the default value in the MSRDA register in ISACSR0. The cycle begins with SA0-19, SBHE, and LA17-23 being presented. The ISA bus requires them to be valid for at least 28 ns before a read command and the PCnet-ISA II controller provides one clock or 50 ns of setup time before asserting MEMR. The ISA bus requires MEMR to be active for at least 219 ns, and the PCnet-ISA II controller provides a default of 5 clocks, or 250 ns, but this can be tuned for faster systems with the Master Mode Read Active (MSRDA) register (see section 2.5.2). Also, if IOCHRDY is driven LOW, the PCnet-ISA II controller will wait. The wait state counter must expire and IOCHRDY must be HIGH for the PCnet-ISA II controller to continue. The PCnet-ISA II controller then accepts the memory read data. The ISA bus requires all command lines to remain inactive for at least 97 ns before starting 86 another bus cycle and the PCnet-ISA II controller provides at least two clocks or 100 ns of inactive time. The ISA bus requires read data to be valid no more than 173 ns after receiving MEMR active and the PCnet-ISA II controller requires 10 ns of data setup time. The ISA bus requires read data to provide at least 0 ns of hold time and to be removed from the bus within 30 ns after MEMR goes inactive. The PCnet-ISA II controller requires 0 ns of data hold time. Master Mode Memory Write Cycle After the PCnet-ISA II controller has acquired the ISA bus, it can perform a memory write cycle. All timing is generated relative to a 20 MHz clock which happens to be the same as the network clock. Since there is no way to tell if memory is 8- or 16-bit or when it is ready, the PCnet-ISA II controller by default assumes 16-bit, 1 wait state memory. The wait state assumption is based on the default value in the MSWRA register in ISACSR1. The cycle begins with SA0-19, SBHE, and LA17-23 being presented. The ISA bus requires them to be valid at least 28 ns before MEMW goes active and data to be valid at least 22 ns before MEMW goes active. The PCnet-ISA II controller provides one clock or 50 ns of setup time for all these signals. The ISA bus requires MEMW to be active for at least 219 ns, and the PCnet-ISA II controller provides a default of 5 clocks, or 250 ns, but this can be tuned for faster systems with the Master Mode Write Active (MSWRA) register (ISACSR1). Also, if IOCHRDY is driven LOW, the PCnet-ISA II controller will wait. IOCHRDY must be HIGH for the PCnet-ISA II controller to continue. The ISA bus requires data to be valid for at least 25 ns after MEMW goes inactive, and the PCnet-ISA II controller provides one clock or 50 ns. The ISA bus requires all command lines to remain inactive for at least 97 ns before starting another bus cycle. The PCnet-ISA II controller provides at least two clocks or 100 ns of inactive time when bit 4 in ISACSR2 is set. The EISA bus requires all command lines to remain inactive for at least 170 ns before starting another bus cycle. When bit 4 in ISACSR4 is cleared, the PCnet-ISA II controller provides 200 ns of inactive time. Back-to-Back DMA Requests The PCnet-ISA II provides for fair bus bandwidth sharing between two bus mastering devices on the ISA bus through an adaptive delay which is inserted between back-to-back DMA requests. When the PCnet-ISA II requires bus access immediately following a bus ownership period, it first checks the status of the three currently unused DRQ pins. If a Am79C961A lower priority DRQ pin than the one currently being used by the PCnet-ISA II is asserted, the PCnet-ISA II will wait 2.6 µs after the deassertion of DACK before re-asserting its DRQ pin. If no lower priority DRQ pin is asserted, the PCnet-ISA II may re-assert its DRQ pin after as short as 1.1 µs following DACK deassertion. The priorities assumed by the PCnet-ISA II are ordered DRQ3, DRQ5, DRQ6, DRQ7, with DRQ3 having highest priority and DRQ7 having the lowest priority. This priority ordering matches that used by typical ISA bus DMA controllers. This adaptive delay scheme allows for fair bus bandwidth sharing when two bus mastering devices, e.g. two PCnet-ISA II devices, are on an ISA bus. The controller using the higher priority DMA channel cannot lock out the controller using the lower priority DMA channel because of the 2.6 µs delay that is inserted before DRQ reassertion when a lower priority DRQ pin is asserted. When there is no lower priority DMA request asserted, the PCnet-ISA II re-requests the bus immediately, providing optimal performance when there is no competition for bus access. Bus Slave Mode The PCnet-ISA II can be configured to be a bus slave for systems that do not support bus mastering or require a local memory to tolerate high bus latencies. In the Bus Slave mode, the I/O map of the PCnet-ISA II is identical to the I/O map when in the Bus Master mode (see I/O Resources section). Hence, the address PROM, controller registers, and Reset por t are accessed through I/O cycles on the ISA bus. However, the initialization block, descriptor rings, and buffers, which are located in system memory when in the Bus Master mode, are located in a local SRAM when in the Bus Slave mode. The local SRAM can be accessed by memory cycles on the ISA bus (Shared Memory architecture) or by I/O cycles on the ISA bus (Programmed I/O mode). Address PROM Cycles External PROM The Address PROM is a small (16 bytes) 8-bit PROM connected to the PCnet-ISA II controller Private Data Bus (PRDB). The PCnet-ISA II controller will support only 8-bit ISA I/O bus cycles for the address PROM; this limitation is transparent to software and does not preclude 16-bit software I/O accesses. An access cycle begins with the Permanent Master driving AEN LOW, driving the addresses valid, and driving IOR active. The PCnet-ISA II controller detects this combination of signals and arbitrates for the Private Data Bus if necessary. IOCHRDY is always driven LOW during address PROM accesses. When the Private Data Bus becomes available, the PCnet-ISA II controller drives APCS active, releases IOCHRDY, turns on the data path from PRD0-7, and enables the SD0-7 drivers (but not SD8-15). During this bus cycle, IOCS16 is not driven active. This condition is maintained until IOR goes inactive, at which time the access cycle ends. Data is removed from SD0-7 within 30 ns. The PCnet-ISA II controller will perform 8-bit ISA bus cycle operation for all resources (registers, PROMs, SRAM) if SBHE has been left unconnected, such as in the case of an 8-bit system like the PC/XT. Ethernet Controller Register Cycles Ethernet controller registers (RAP, RDP, ISACSR) are naturally 16-bit resources but can be configured to operate with 8-bit bus cycles provided the proper protocol is followed. This is programmable by the EEPROM. This means on a read, the PCnet-ISA II controller will only drive the low byte of the system data bus; if an odd byte is accessed, it will be swapped down. The high byte of the system data bus is never driven by the PCnet-ISA II controller under these conditions. On a write, the even byte is placed in a holding register. An odd-byte write is internally swapped up and augmented with the even byte in the holding register to provide an internal 16-bit write. This allows the use of 8-bit I/O bus cycles which are more likely to be compatible with all clones, but requires that both bytes be written in immediate succession. This is accomplished simply by treating the PCnet-ISA II controller controller registers as 16-bit software resources. The motherboard will convert the 16-bit accesses done by software into two sequential 8-bit accesses, an even-byte access followed immediately by an odd-byte access. An access cycle begins with the Permanent Master driving AEN LOW, driving the address valid, and driving IOR or IOW active. The PCnet-ISA II controller detects this combination of signals and drives IOCHRDY LOW. IOCS16 will also be driven LOW if 16-bit I/O bus cycles are enabled. When the register data is ready, IOCHRDY will be released HIGH. This condition is maintained until IOR or IOW goes inactive, at which time the bus cycle ends. The PCnet-ISA II controller will perform 8-bit ISA bus cycle operation for all resources (registers, PROMs, SRAM) if SBHE has been left unconnected, such as in the case of an 8-bit system like the PC/XT. RESET Cycles A read to the reset address causes an PCnet-ISA II controller reset. This has the same effect as asserting the RESET pin on the PCnet-ISA+ controller (which happens on system power up or on a hard boot) except that the T-MAU is NOT reset. The T-MAU will retain its link pass/fail state, disregarding the software RESET command. The subsequent write cycle needed in the NE2100 LANCE- based family of Ethernet cards is not required but does not have any harmful effects. IOCS16 is not asserted in this cycle. Am79C961A 87 ISA Configuration Register Cycles The ISA configuration register is accessed by placing the address of the desired register into the RAP and reading the IDP. The ISACSR bus cycles are identical to all other PCnet-ISA II controller register bus cycles. Boot PROM Cycles The Boot PROM is an 8-bit PROM connected to the PCnet-ISA II controller Private Data Bus (PRDB), and can occupy up to 64 Kbytes of address space. In Shared Memory Mode, an external address comparator is responsible for asserting BPAM to the PCnet-ISA II controller. BPAM is intended to be a perfect decode of the boot PROM address space, i.e. LA17-23, SA16. The LA bus must be latched with BALE in order to provide stable signal for BPAM. REF inactive must be used by the external logic to gate boot PROM address decoding. This same logic must assert MEMCS16 to the ISA bus if 16-bit Boot PROM bus cycles are desired. In the Bus Slave mode, boot PROM cycles can be programmed to be 8 or 16-bit ISA memory cycles with the BP_16B bit (PnP 0x42). If the BP_16B bit is set, the PCnet-ISA II assumes 16-bit ISA memory cycles for the boot PROM. In this case, the external hardware responsible for generating BPAM must also generate MEMCS16. A 16-bit boot PROM bus cycle begins with the Permanent Master driving the addresses valid and MEMR active. (AEN is not involved in memory cycles). External hardware would assert BPAM and MEMCS16. The PCnet-ISA II controller detects this combination of signals, drives IOCHRDY LOW, and reads two bytes out of the boot PROM. The data bytes read from the PROM are driven by the PCnet-ISA II controller onto SD0-15 and IOCHRDY is released. This condition is maintained until MEMR goes inactive, at which time the access cycle ends. The PCnet-ISA II controller will perform 8-bit ISA bus cycle operation for all resource (registers, PROMs, SRAM) if SBHE has been left unconnected, such as in the case of an 8-bit system like the PC/XT. The BPCS signal generated by the PCnet-ISA II controller is three 20 MHz clock cycles wide (350 ns). Including delays, the Boot PROM has 275 ns to respond to the BPCS signal from the PCnet-ISA II controller. This signal is intended to be connected to the CS pin on the boot PROM, with the PROM OE pin tied to ground. Static RAM Cycles – Shared Memory Architecture In the Shared Memory Architecture mode, the SRAM is an 8-bit device connected to the PCnet-ISA II controller Private Bus, and can occupy up to 64 Kbytes of address space. The SRAM is memory mapped into the ISA memory space at an address range determined by external decode logic. The external address compara- 88 tor is responsible for asserting SMAM to the PCnet-ISA II controller. SMAM is intended to be a perfect decode of the SRAM address space, i.e. LA17-23, SA16 for 64 Kbytes of SRAM. The LA signals must be latched by BALE in order to provide a stable decode for SMAM. The PCnet-ISA II controller assumes 16-bit ISA memory bus cycles for the SRAM, so this same logic must assert MEMCS16 to the ISA bus if 16-bit bus cycles are to be supported. A 16-bit SRAM bus cycle begins with the Permanent Master driving the addresses valid, REF inactive, and either MEMR or MEMW active. (AEN is not involved in memory cycles). External hardware would assert SMAM and MEMCS16. The PCnet-ISA II controller detects this combination of signals and initiates the SRAM access. In a write cycle, the PCnet-ISA II controller stores the data into an internal holding register, allowing the ISA bus cycle to finish normally. The data in the holding register will then be written to the SRAM without the need for ISA bus control. In the event the holding register is already filled with unwritten SRAM data, the PCnet-ISA II controller will extend the ISA write cycle by driving IOCHRDY LOW until the unwritten data is stored in the SRAM. The current ISA bus cycle will then complete normally. In a read cycle, the PCnet-ISA II controller arbitrates for the Private Bus. If it is unavailable, the PCnet-ISA II controller drives IOCHRDY LOW. The PCnet-ISA II controller compares the 16 bits of address on the System Address Bus with that of a data word held in an internal pre-fetch register. If the address does not match that of the prefetched SRAM data, then the PCnet-ISA II controller drives IOCHRDY LOW and reads two bytes from the SRAM. The PCnet-ISA II controller then proceeds as though the addressed data location had been prefetched. If the internal prefetch buffer contains the correct data, then the pre-fetch buffer data is driven on the System Data bus. If IOCHRDY was previously driven LOW due to either Private Data Bus arbitration or SRAM access, then it is released HIGH. The PCnet-ISA II controller remains in this state until MEMR is de-asserted, at which time the PCnet-ISA II controller performs a new prefetch of the SRAM. In this way memory read wait states can be minimized. The PCnet-ISA II controller performs prefetches of the SRAM between ISA bus cycles. The SRAM is prefetched in an incrementing word address fashion. Prefetched data are invalidated by any other activity on the Private Bus, including Shared Memory Writes by either the ISA bus or the network interface, and also address and boot PROM reads. Am79C961A The only way to configure the PCnet-ISA II controller for 8-bit ISA bus cycles for SRAM accesses is to configure the entire PCnet-ISA II controller to support only 8-bit ISA bus cycles. This is accomplished by leaving the SBHE pin disconnected. The PCnet-ISA II controller will perform 8-bit ISA bus cycle operation for all resources (registers, PROMs, SRAM) if SBHE has never been driven active since the last RESET, such as in the case of an 8-bit system like the PC/XT. In this case, the external address decode logic must not assert MEMCS16 to the ISA bus, which will be the case if MEMCS16 is left unconnected. It is possible to manufacture a dual 8/16 bit PCnet-ISA II controller adapter card, as the MEMCS16 and SBHE signals do not exist in the PC/XT environment. At the memory device level, each SRAM Private Bus read cycle takes two 50 ns clock periods for a maximum read access time of 75 ns. The timing looks like this: XTAL1 (20 MHz) Address SROE 19364B-18 Static RAM Read Cycle The address and SROE go active within 20 ns of the clock going HIGH. Data is required to be valid 5 ns before the end of the second clock cycle. Address and SROE have a 0 ns hold time after the end of the second clock cycle. Note that the PCnet-ISA II controller does not normally provide a separate SRAM CS signal; SRAM CS must always be asserted. SRAM Private Bus write cycles require three 50 ns clock periods to guarantee non-negative address setup and hold times with regard to SRWE. The timing is illustrated as follows: XTAL1 (20 MHz) Address/ Data SRWE Static 19364B-19 Address and data are valid 20 ns after the rising edge of the first clock period. SRWE goes active 20 ns after the falling edge of the first clock period. SRWE goes inactive 20 ns after the falling edge of the third clock period. Address and data remain valid until the end of the third clock period. Rise and fall times are nominally 5 ns. Non-negative setup and hold times for address and data with respect to SRWE are guaranteed. SRWE has a pulse width of typically 100 ns, minimum 75 ns. Static RAM Cycles – Programmed I/O Architecture In the Programmed I/O Architecture mode, the SRAM is an 8-bit device connected to the PCnet-ISA II controller Private Bus, and can occupy up to 64 Kbytes of address space. The SRAM is accessed through the ISACSR0 and ISACSR1 registers which serve as the SRAM Data port and SRAM Address pointer, respectively. Since the ISACSRs are used to access the SRAM, simple I/O accesses (to RAP and IDP) which are decoded by the PCnet-ISA II are used to access the SRAM without any external decoding logic. The RAP and IDP ports are naturally 16-bit resources and can be accessed with 16-bit ISA I/O cycles if the IO_MODE bit (PnP 0xF0) is set. As discussed in the Ethernet Controller Register Cycles section, 8-bit I/O cycles are also allowed, provided the proper protocol is followed. This protocol requires that byte accesses must be performed in pairs, with the even byte access always being followed by associated odd byte access. In the Programmed I/O architecture mode, when a c c e s s i n g t h e S R A M D a t a Po r t i n p a r t i c u l a r (ISACSR0), the restrictions on byte accesses are slightly different. Even byte accesses (accesses where A0 = 0, SBHE = 1) may be performed to ISACSR0 without any restriction. A corresponding odd byte access need not be performed following the even byte access as is required when accessing all other controller registers. In fact, odd byte accesses (accesses where A0 = 1, SBHE = 1) may not be performed to ISACSR0, except when they are the result of a software 16-bit access that are automatically converted to two byte accesses by motherboard logic. Since the internal PCnet-ISA II registers are used to access the SRAM in the Programmed I/O architecture mode, the access cycle on the ISA bus is identical to that described in the Ethernet Controller Register Cycles section. To minimize the number of I/O cycles required to access the SRAM, the PCnet-ISA II auto-increments the SRAM Address Pointer (ISACSR1) by one or two following every read or write to the SRAM Data Port (ISACSR0). If a single byte read or write to the SRAM Data Port occurs, the SRAM Address Pointer is automatically incremented by 1. If a word read or write to the SRAM Data Port occurs, the SRAM Address Pointer is automatically incremented by 2. This allows Am79C961A 89 reads and writes to adjacent ascending addresses in the SRAM to be performed without intervening writes to the SRAM Address Pointer. Since buffer accesses comprise a high percentage of all accesses to the SRAM, and buffer accesses are typically performed in adjacent ascending order, the auto-increment of the SRAM Address Pointer reduces the required ISA bus cycles significantly. In addition to the auto-incrementing of the SRAM Address pointer, the PCnet-ISA II performs write posting on writes to the SRAM and read prefetching on reads from the SRAM to maximize performance in the Programmed I/O architecture mode. Write Posting: When a write cycle to the SRAM Data Port occurs, the PCnet-ISA II controller stores the data into an internal holding register, allowing the ISA bus cycle to finish normally. The data in the holding register will then be written to the SRAM without the need for ISA bus control. In the event that the holding register is already filled with unwritten SRAM data, the PCnet-ISA II controller will extend the ISA write cycle by driving OCHRDY LOW until the unwritten data is stored in the SRAM. Once the data is written into the SRAM, the new write data is stored into the internal holding register and IOCHRDY is released allowing the ISA bus cycle to complete. Read Prefetching: To gain performance on read accesses to the SRAM, the PCnet-ISA II performs prefetches of the SRAM after every read from the SRAM Data Port. The prefetch is performed using the speculated address that results from the auto-increment that occurs on the SRAM Address Pointer following every access to the SRAM Data Port. Following every read access, the 16-bit word following the just-read SRAM byte or word is prefetched and placed in a holding register. If a word read from the SRAM Data Port occurs before a “prefetch invalidation event” occurs, the prefetched word is driven onto the SD[15:0] pins without a wait state (no IOCHRDY LOW assertion). A “prefetch invalidation event” is defined as any activity on the Private Bus other than SRAM reads. This includes SRAM writes by either the ISA bus or the network interface, address or boot PROM reads, or any write to the SRAM Address Pointer. The PCnet-ISA II interface to the SRAM in the Programmed I/O architecture mode is identical to that in the Shared Memory Architecture mode. Hence, the SRAM Read and Write cycle descriptions and diagrams shown in the “Static RAM Cycles – Shared Memory Architecture” section apply. Transmit Operation The transmit operation and features of the PCnet-ISA II controller are controlled by programmable options. 90 Transmit Function Programming Automatic transmit features, such as retry on collision, FCS generation/transmission, and pad field insertion, can all be programmed to provide flexibility in the (re-)transmission of messages. Disable retry on collision (DRTY) is controlled by the DRTY bit of the Mode register (CSR15) in the initialization block. Automatic pad field insertion is controlled by the APAD_XMT bit in CSR4. If APAD_XMT is set, automatic pad field insertion is enabled, the DXMTFCS feature is over-ridden, and the 4-byte FCS will be added to the transmitted frame unconditionally. If APAD_XMT is cleared, no pad field insertion will take place and runt packet transmission is possible. The disable FCS generation/transmission feature can be programmed dynamically on a frame by frame basis. See the ADD_FCS description of TMD1. Transmit FIFO Watermark (XMTFW in CSR80) sets the point at which the BMU (Buffer Management Unit) requests more data from the transmit buffers for the FIFO. This point is based upon how many 16-bit bus transfers (2 bytes) could be performed to the existing empty space in the transmit FIFO. Transmit Start Point (XMTSP in CSR80) sets the point when the transmitter actually tries to go out on the media. This point is based upon the number of bytes written to the transmit FIFO for the current frame. When the entire frame is in the FIFO, attempts at transmission of preamble will commence regardless of the value in XMTSP. The default value of XMTSP is 10b, meaning 64 bytes full. Automatic Pad Generation Transmit frames can be automatically padded to extend them to 64 data bytes (excluding preamble). This allows the minimum frame size of 64 bytes (512 bits) for 802.3/Ethernet to be guaranteed with no software intervention from the host/controlling process. Setting the APAD_XMT bit in CSR4 enables the automatic padding feature. The pad is placed between the LLC data field and FCS field in the 802.3 frame. FCS is always added if the frame is padded, regardless of the state of DXMTFCS. The transmit frame will be padded by bytes with the value of 00h. The default value of APAD_XMT is 0, and this will disable auto pad generation after RESET. It is the responsibility of upper layer software to correctly define the actual length field contained in the message to correspond to the total number of LLC Data bytes encapsulated in the packet (length field as defined in the IEEE 802.3 standard). The length value contained in the message is not used by the PCnet-ISA II controller to compute the actual number of pad bytes Am79C961A to be inserted. The PCnet-ISA II controller will append pad bytes dependent on the actual number of bits transmitted onto the network. Once the last data byte of the frame has completed prior to appending the FCS, the PCnet-ISA II controller will check to ensure that 544 bits have been transmitted. If not, pad bytes are added to extend the frame size to this value, and the FCS is then added. generate and append the FCS to the transmitted frame. I f t h e a u t o m a t i c p a d d i n g fe a t u r e i s i n vo k e d (APAD_XMT is SET in CSR4), the FCS will be appended by the PCnet-ISA II controller regardless of the state of DXMTFCS. Note that the calculated FCS is transmitted most-significant bit first. The default value of DXMTFCS is 0 after RESET. The 544 bit count is derived from the following: Exception conditions for frame transmission fall into two distinct categories; those which are the result of normal network operation, and those which occur due to abnormal network and/or host related events. Minimum frame size (excluding preamble, including FCS) 64 bytes 512 bits Preamble/SFD size 8 bytes 64 bits FCS size 4 bytes 32 bits To be classed as a minimum-size frame at the receiver, the transmitted frame must contain: Preamble + (Min Frame Size + FCS) bits At the point that FCS is to be appended, the transmitted frame should contain: Preamble 64+ + (Min Frame Size - FCS) bits (512- 32) bits A minimum-length transmit frame from the PCnet-ISA II controller will, therefore, be 576 bits after the FCS is appended. Transmit FCS Generation Automatic generation and transmission of FCS for a transmit frame depends on the value of DXMTFCS bit in CSR15. When DXMTFCS = 0 the transmitter will Transmit Exception Conditions Normal events which may occur and which are handled autonomously by the PCnet-ISA II controller are basically collisions within the slot time with automatic retry. The PCnet-ISA II controller will ensure that collisions which occur within 512 bit times from the start of transmission (including preamble) will be automatically retried with no host intervention. The transmit FIFO ensures this by guaranteeing that data contained within the FIFO will not be overwritten until at least 64 bytes (512 bits) of data have been successfully transmitted onto the network. If 16 total attempts (initial attempt plus 15 retries) fail, the PCnet-ISA II controller sets the RTRY bit in the current transmit TDTE in host memory (TMD2), gives up ownership (sets the OWN bit to zero) for this packet, and processes the next packet in the transmit ring for transmission. Preamble 1010....1010 SYNC 10101011 Dest. ADDR SRCE. ADDR. Length 56 Bits 8 Bits 6 Bytes 6 Bytes 2 Bytes LLC Data Pad FCS 4 Bytes 46-1500 Bytes 19364B-20 ISO 8802-3 (IEEE/ANSI 802.3) Data Frame Am79C961A 91 Abnormal network conditions include: Host related transmit exception conditions include BUFF and UFLO as described in the Transmit Descriptor section. ■ Loss of carrier ■ Late collision ■ SQE Test Error (Does not apply to 10BASE-T port.) These should not occur on a correctly configured 802.3 network, and will be reported if they do. When an error occurs in the middle of a multi-buffer frame transmission, the error status will be written in the current descriptor. The OWN bit(s) in the subsequent descriptor(s) will be reset until the STP (the next frame) is found. Loss of Carrier A loss of carrier condition will be reported if the PCnet-ISA II controller cannot observe receive activity while it is transmitting on the AUI port. After the PCnet-ISA II controller initiates a transmission, it will expect to see data “looped back” on the DI± pair. This will internally generate a “carrier sense,” indicating that the integrity of the data path to and from the MAU is intact, and that the MAU is operating correctly. This “carrier sense” signal must be asserted before the end of the transmission. If “carrier sense” does not become active in response to the data transmission, or becomes inactive before the end of transmission, the loss of carrier (LCAR) error bit will be set in TMD2 after the frame has been transmitted. The frame will not be re-tried on the basis of an LCAR error. In 10BASE-T mode LCAR will indicate that Jabber or Link Fail state has occurred. Late Collision A late collision will be reported if a collision condition occurs after one slot time (512 bit times) after the transmit process was initiated (first bit of preamble commenced). The PCnet-ISA II controller will abandon the transmit process for the particular frame, set Late Collision (LCOL) in the associated TMD3, and process the next transmit frame in the ring. Frames experiencing a late collision will not be re-tried. Recovery from this condition must be performed by upper-layer software. SQE Test Error During the inter packet gap time following the completion of a transmitted message, the AUI CI ± pair is asserted by some transceivers as a self-test. The integral Manchester Encoder/Decoder will expect the SQE Test Message (nominal 10 MHz sequence) to be returned via the CI± pair within a 40 network bit time period after DI± pair goes inactive. If the CI± inputs are not asserted within the 40 network bit time period following the completion of transmission, then the PCnet-ISA II controller will set the CERR bit in CSR0. CERR will be asserted in 10BASE-T mode after transmit if T-MAU is in Link Fail state. CERR will never cause INTR to be activated. It will, however, set the ERR bit in CSR0. 92 Receive Operation The receive operation and features of the PCnet-ISA II controller are controlled by programmable options. Receive Function Programming Automatic pad field stripping is enabled by setting the ASTRP_RCV bit in CSR4; this can provide flexibility in the reception of messages using the 802.3 frame format. All receive frames can be accepted by setting the PROM bit in CSR15. When PROM is set, the PCnet-ISA II controller will attempt to receive all messages, subject to minimum frame enforcement. Promiscuous mode overrides the effect of the Disable Receive Broadcast bit on receiving broadcast frames. The point at which the BMU will start to transfer data from the receive FIFO to buffer memory is controlled by the RCVFW bits in CSR80. The default established during reset is 10b, which sets the threshold flag at 64 bytes empty. Automatic Pad Stripping During reception of an 802.3 frame the pad field can be stripped automatically. ASTRP_RCV (bit 10 in CSR4) = 1 enables the automatic pad stripping feature. The pad field will be stripped before the frame is passed to the FIFO, thus preserving FIFO space for additional frames. The FCS field will also be stripped, since it is computed at the transmitting station based on the data and pad field characters, and will be invalid for a receive frame that has had the pad characters stripped. The number of bytes to be stripped is calculated from the embedded length field (as defined in the IEEE 802.3 definition) contained in the frame. The length indicates the actual number of LLC data bytes contained in the message. Any received frame which contains a length field less than 46 bytes will have the pad field stripped (if ASTRP_RCV is set). Receive frames which have a length field of 46 bytes or greater will be passed to the host unmodified. Since any valid Ethernet Type field value will always be greater than a normal 802.3 Length field (≥46), the PCnet-ISA II controller will not attempt to strip valid Ethernet frames. Note that for some network protocols the value passed in the Ethernet Type and/or 802.3 Length field is not compliant with either standard and may cause problems. The diagram below shows the byte/bit ordering of the received length field for an 802.3 compatible frame format. Am79C961A 56 Bits Preamble 1010....1010 8 Bits 6 Bytes 6 Bytes 2 Bytes SYNCH 10101011 Dest. ADDR. Srce. ADDR. Length Bytes 4 Bytes LLC DATA Pad 1–1500 Bytes 45–0 Bytes FCS Start of Packet at Time= 0 Bit Bit 7 0 Bit 0 Increasing Time Most Significant Byte Bit 7 Least Significant Byte 19364B-21 IEEE/ANSI 802.3 Frame and Length Field Transmission Order Receive FCS Checking ■ FCS errors Reception and checking of the received FCS is performed automatically by the PCnet-ISA II controller. Note that if the Automatic Pad Stripping feature is enabled, the received FCS will be verified against the value computed for the incoming bit stream including pad characters, but it will not be passed to the host. If a FCS error is detected, this will be reported by the CRC bit in RMD1. ■ Late collision Receive Exception Conditions Loopback is a mode of operation intended for system diagnostics. In this mode, the transmitter and receiver are both operating at the same time so that the controller receives its own transmissions. The controller provides two types of internal loopback and three types of external loopback. In internal loopback mode, the transmitted data can be looped back to the receiver at one of two places inside the controller without actually transmitting any data to the external network. The receiver will move the received data to the next receive buffer, where it can be examined by software. Alternatively, external loopback causes transmissions to go off-chip. For the AUI port, frame transmission occurs normally and assumes that an external MAU will loop the frame back to the chip. For the 10BASE-T port, two external loopback options are available, both of which require a valid link pass state and both of which transmit data frames at the RJ45 interface. Selection of these modes is defined by the TMAU_LOOPE bit in ISACSR2. One option loops the data frame back inside the chip, and is compatible with a ‘live’ network. The Exception conditions for frame reception fall into two distinct categories; those which are the result of normal network operation, and those which occur due to abnormal network and/or host related events. Normal events which may occur and which are handled autonomously by the PCnet-ISA II controller are basically collisions within the slot time and automatic runt packet rejection. The PCnet-ISA II controller will ensure that collisions which occur within 512 bit times from the start of reception (excluding preamble) will be automatically deleted from the receive FIFO with no host intervention. The receive FIFO will delete any frame which is composed of fewer than 64 bytes provided that the Runt Packet Accept (RPA bit in CSR124) feature has not been enabled. This criteria will be met regardless of whether the receive frame was the first (or only) frame in the FIFO or if the receive frame was queued behind a previously received message. Abnormal network conditions include: These should not occur on a correctly configured 802.3 network and will be reported if they do. Host related receive exception conditions include MISS, BUFF, and OFLO. These are described in the Receive Descriptor section. Loopback Operation Am79C961A 93 other option requires an external device (such as a ‘loopback plug’) to loop the data back to the chip, a function normally not available on a 10BASE-T network. The PCnet-ISA II chip has two dedicated FCS generators, eliminating the traditional LANCE limitations on loopback FCS operation. The receive FCS generation logic is always enabled. The transmit FCS generation logic can be disabled (to emulate LANCE type loopback operation) by setting the DXMTFCS bit in the Mode register (CSR15). In this configuration, software must generate the FCS and append the four FCS bytes to the transmit frame data. The loopback facilities of the MAC Engine allow full operation to be verified without disturbance to the network. Loopback operation is also affected by the state of the Loopback Control bits (LOOP, MENDECL, and INTL) in CSR15. This affects whether the internal MENDEC is considered part of the internal or external loop- backpath. The receive FCS generation logic in the PCnet-ISA II chip is used for multicast address detection. Since this FCS logic is always enabled, there are no restrictions to the use of multicast addressing while in loopback mode. When performing an internal loopback, no frame will be transmitted to the network. However, when the PCnet-ISA II controller is configured for internal loopback the receiver will not be able to detect network traffic. External loopback tests will transmit frames onto the network if the AUI port is selected, and the PCnet-ISA II controller will receive network traffic while configured for external loopback when the AUI port is selected. Runt Packet Accept is automatically enabled when any loopback mode is invoked. Loopback mode can be performed with any frame size. Runt Packet Accept is internally enabled (RPA bit in CSR124 is not affected) when any loopback mode is invoked. This is to be backwards compatible to the LANCE (Am7990) software. LEDs The PCnet-ISA II controller’s LED control logic allows programming of the status signals, which are displayed on 3 LED outputs. One LED (LED0) is dedicated to displaying 10BASE-T Link Status. The status signals available are Collision, Jabber, Receive, Receive Polarity, Transmit, Receive Address Match, and Full Duplex Link Status. If more than one status signal is enabled, they are ORed together. An optional pulse stretcher is available for each programmable output. This allows emulation of the TPEX (Am79C98) and TPEX + (Am79C100) LED outputs. 94 Signal Behavior COL Active during collision activity on the network FDLS Active when Full Duplex operation is enabled and functioning on the selected network port JAB Active when the PCnet-ISA II is jabbering on the network LNKST Active during Link OK Not active during Link Down RCV Active while receiving data RVPOL Active during receive polarity is OK Not active during reverse receive polarity RCVADDM Active during Receive with Address Match XMT Active while transmitting data Each status signal is ANDed with its corresponding enable signal. The enabled status signals run to a common OR gate: FDLS FDLSE AND RCVM RCVM E AND XMT XMT E AND RVPOL RVPOL E AND RCV RCV E AND JAB JAB E AND COL COL E AND RCVADDM RCVADDE AND OR To Pulse Stretcher 19364B-22 LED Control Logic The output from the OR gate is run through a pulse stretcher, which consists of a 3-bit shift register clocked at 38 Hz. The data input of the shift register is at logic 0. The OR gate output asynchronously sets all three bits of the shift register when its output goes active. The output of the shift register controls the associated LEDx pin. Thus, the pulse stretcher provides an LED output of 52 ms to 78 ms. Am79C961A Refer to the section “ISA Bus Configuration Registers” for information on LED control via the ISACSRs. deactivated by setting the STOP bit or resetting the MP_ENBL bit (CSR5, bit 2). MAGIC PACKET OPERATION Interrupt Indication. Interrupt pin could be activated by the receive of the Magic Packet. The MP_I_ENBL bit (CSR5, bit 3) and IENA bit (CSR0, bit 6) should be set to enable this feature. In the Magic Packet mode, PCnet-ISA II completes any transmit and receive operations in progress, suspends normal activity, and enters into a state where only a Magic Packet could be detected. A Magic Packet frame is a frame that contains a data sequence which repeats the Physical Address (PADR[47:00]) at least sixteen times frame sequentially, with bit[00] received first. In Magic Packet suspend mode, the PCnet-ISA II remains powered up. Slave accesses to the PCnet-ISA II are still possible, the same as any other mode. All of the received packets are flushed from the receive FIFO. An LED and/or interrupt pin could be activated, indicating the receive of a Magic Packet frame. This indication could be used for a variety of management tasks. Magic Packet Mode Activation Bit Name Description 1 MP_MODE 2 MP_ENBL 3 MP_I_ENBL 4 MP_INT 9 MP Magic Packet Mode. Setting this bit is a prerequisite for entering the Magic Packet mode. It also redefines the SLEEP pin to be a Magic Packet enable pin. Read/Write accessible always. It is cleared by asserting the RESET pin, or reading the RESET register. Magic Packet Enable. This bit when set, will force the PCnet-ISA II into the Magic Packet mode. Read/Write accessible always. It is cleared by asserting the RESET pin or reading the RESET register. Magic Packet Interrupt Enable. Acts as an unmask bit for the MP_INT (CSR5, bit 4). Read/ Write accessible always. It is cleared by asserting the RESET pin or reading the RESET register, or setting the STOP bit. Magic Packet Receive Interrupt. Will be set when a Magic Packet has been received. Writing a “one” will clear this bit. It is cleared by asserting the RESET pin, or reading the RESET register. Magic Packet LED Enable. When set, the LED output will be asserted to indicate that a Magic Packet has been received. This mode can be enabled by either software or external hardware means, but in either case, the MP_MODE bit (CSR5, bit 1) must be set first. Hardware Activation. This is done by driving the SLEEP pin low. Deasserting the SLEEP pin will return the PCnet-ISA II to normal operation. Software Activation. This is done by setting the MP_ENBL bit (CSR5, bit 2). Resetting this bit will return the PCnet-ISA II to normal operation. Magic Packet Receive Indicators The reception of a Magic Packet can be indicated either through one of the LEDs 1, 2 or 3, and/or the activation of the interrupt pin. MP_INT bit (CSR5, bit 4) will also be set upon the receive of the Magic Packet. LED Indication. Either one of the LEDs 1, 2, or 3 could be activated by the receive of the Magic Packet. The “Magic Packet enable” bit (bit 9) in the ISACSR 5, 6 or 7 should be set to enable this feature. Note that the polarity of the LED2 could be controlled by the LEDXOR bit (ISACSR6, bit 14). The LED could be Am79C961A 95 PCNET-ISA II CONTROLLER REGISTERS The PCnet-ISA II controller implements all LANCE (Am7990) registers, plus a number of additional registers. The PCnet-ISA II controller registers are compatible with the original LANCE, but there are some places where previously reserved LANCE bits are now used by the PCnet-ISA II controller. If the reserved LANCE bits were used as recommended, there should be no compatibility problems. 13 CERR 12 MISS 11 MERR Register Access Internal registers are accessed in a two-step operation. First, the address of the register to be accessed is written into the register address port (RAP). Subsequent read or write operations will access the register pointed to by the contents of the RAP. The data will be read from (or written to) the selected register through the data port, either the register data port (RDP) for control and status registers (CSR) or the ISACSR register data por t (IDP) for ISA control and status registers (ISACSR). RAP: Register Address Port Bit Name Description 15-7 RES 6-0 RAP Reserved locations. Read and written as zeroes. Register Address Port select. Selects the CSR or ISACSR location to be accessed. RAP is cleared by RESET. Control and Status Registers CSR0: PCnet-ISA II Controller Status Register Bit Name Description 15 ERR 14 BABL Error is set by the ORing of BABL, CERR, MISS, and MERR. ERR remains set as long as any of the error flags are true. ERR is read only; write operations are ignored. Babble is a transmitter time-out error. It indicates that the transmitter has been on the channel longer than the time required to send the maximum length frame. BABL will be set if 1519 bytes or greater are transmitted. When BABL is set, IRQ is asserted if IENA = 1 and the mask bit BABLM (CSR3.14) is clear. BABL assertion will set the ERR bit. BABL is set by the MAC layer and cleared by writing a “1". Writing a “0" has no effect. BABL 96 Am79C961A is cleared by RESET or by setting the STOP bit. Collision Error indicates that the collision inputs to the AUI port failed to activate within 20 network bit times after the chip terminated transmission (SQE Test). This feature is a transceiver test feature. CERR will be set in 10BASE-T mode during transmit if in Link Fail state. CERR assertion will not result in an interrupt being generated. CERR assertion will set the ERR bit. CERR is set by the MAC layer and cleared by writing a “1". Writing a “0" has no effect. CERR is cleared by RESET or by setting the STOP bit. Missed Frame is set when PCnet-ISA II controller has lost an incoming receive frame because a Receive Descriptor was not available. This bit is the only indication that receive data has been lost since there is no receive descriptor available for status information. When MISS is set, IRQ is asserted if IENA = 1 and the mask bit MISSM (CSR3.12) is clear. MISS assertion will set the ERR bit. MISS is set by the Buffer Management Unit and cleared by writing a “1". Writing a “0" has no effect. MISS is cleared by RESET or by setting the STOP bit. Memory Error is set when PCnet-ISA II controller is a bus master and has not received DACK assertion after 50 µs after DRQ assertion. Memory Error indicates that PCnet-ISA II controller is not receiving bus mastership in time to prevent overflow/underflow conditions in the receive and transmit FIFOs. (MERR indicates a slightly different condition for the LANCE; for the LANCE MERR occurs when READY has not been asserted 25.6 µs after the address has been asserted.) When MERR is set, IRQ is asserted if IENA = 1 and the mask bit MERRM (CSR3.11) is clear. MERR assertion will set the ERR bit. 10 9 8 7 RINT TINT IDON INTR MERR is set by the Bus Interface Unit and cleared by writing a “1". Writing a “0" has no effect. MERR is cleared by RESET or by setting the STOP bit. Receive Interrupt is set after reception of a receive frame and toggling of the OWN bit in the last buffer in the Receive Descriptor Ring. When RINT is set, IRQ is asserted if IENA = 1 and the mask bit RINTM (CSR3.10) is clear. RINT is set by the Buffer Management Unit after the last receive buffer has been updated and cleared by writing a “1". Writing a “0" has no effect. RINT is cleared by RESET or by setting the STOP bit. Transmit Interrupt is set after transmission of a transmit frame and toggling of the OWN bit in the last buffer in the Transmit Descriptor Ring. When TINT is set, IRQ is asserted if IENA = 1 and the mask bit TINTM (CSR3.9) is clear. TINT is set by the Buffer Management Unit after the last transmit buffer has been updated and cleared by writing a “1". Writing a “0" has no effect. TINT is cleared by RESET or by setting the STOP bit. Initialization Done indicates that the initialization sequence has completed. When IDON is set, PCnet-ISA II controller has read the Initialization block from memory. When IDON is set, IRQ is asserted if IENA = 1 and the mask bit IDONM (CSR3.8) is clear. IDON is set by the Buffer Management Unit after the initialization block has been read from memory and cleared by writing a “1". Writing a “0" has no effect. IDON is cleared by RESET or by setting the STOP bit. Interrupt Flag indicates that one or more of the following interrupt causing conditions has occurred: BABL, MISS, MERR, MPCO, RCVCCO, RINT, TINT, IDON, JAB or TXSTRT; and its associated mask bit is clear. If 6 IENA 5 RXON 4 TXON 3 TDMD Am79C961A IENA = 1 and INTR is set, IRQ will be active. INTR is cleared automatically when the condition that caused interrupt is cleared. INTR is read only. INTR is cleared by RESET or by setting the STOP bit. Interrupt Enable allows IRQ to be active if the Interrupt Flag is set. If IENA = “0" then IRQ will be disabled regardless of the state of INTR. IENA is set by writing a “1" and cleared by writing a “0". IENA is cleared by RESET or by setting the STOP bit. Receive On indicates that the Receive function is enabled. RXON is set if DRX (CSR15.0) = “0" after the START bit is set. If INIT and START are set together, RXON will not be set until after the initialization block has been read in. RXON is read only. RXON is cleared by RESET or by setting the STOP bit. Transmit On indicates that the Transmit function is enabled. TXON is set if DTX (CSR15.1) = “0" after the START bit is set. If INIT and START are set together, TXON will not be set until after the initialization block has been read in. TXON is read only. TXON is cleared by RESET or by setting the STOP bit. Transmit Demand, when set, causes the Buffer Management Unit to access the Transmit Descriptor Ring without waiting for the poll-time counter to elapse. If TXON is not enabled, TDMD bit will be reset and no Transmit Descriptor Ring access will occur. TDMD is required to be set if the DPOLL bit in CSR4 is set; setting TDMD while DPOLL = 0 merely hastens the PCnet-ISA II controller’s response to a Transmit Descriptor Ring Entry. TDMD is set by writing a “1". Writing a “0" has no effect. TDMD will be cleared by the Buffer Management Unit when it fetches a Transmit Descriptor. 97 2 1 0 STOP STRT INIT TDMD is cleared by RESET or by setting the STOP bit. STOP assertion disables the chip from all external activity. The chip remains inactive until either STRT or INIT are set. If STOP, STRT and INIT are all set together, STOP will override STRT and INIT. STOP is set by writing a “1" or by RESET. Writing a “0" has no effect. STOP is cleared by setting either STRT or INIT. STRT assertion enables PCnetISA II controller to send and receive frames, and perform buffer management operations. Setting STRT clears the STOP bit. If STRT and INIT are set together, PCnet-ISA II controller initialization will be performed first. STRT is set by writing a “1". Writing a “0" has no effect. STRT is cleared by RESET or by setting the STOP bit. INIT assertion enables PCnet-ISA II controller to begin the initialization procedure which reads in the initialization block from memory. Setting INIT clears the STOP bit. If STRT and INIT are set together, PCnet-ISA II controller initialization will be performed first. INIT is not cleared when the initialization sequence has completed. INIT is set by writing a “1". Writing a “0" has no effect. INIT is cleared by RESET or by setting the STOP bit. 7-0 IADR [23:16] Upper 8 bits of the address of the Initialization Block. Bit locations 15-8 must be written with zeros. Whenever this register is written, CSR17 is updated with CSR2’s contents. Read/Write accessible only when the STOP or SPND bits are set. Unaffected by RESET. CSR3: Interrupt Masks and Deferral Control Bit Name Description 15 RES 14 BABLM 13 RES 12 MISSM 11 MERRM 10 RINTM 9 TINTM 8 IDONM 7 RES 6 DXSUFLO Reserved location. Written as zero and read as undefined. Babble Mask. If BABLM is set, the BABL bit in CSR0 will be masked and will not set INTR flag in CSR0. BABLM is cleared by RESET and is not affected by STOP. Reserved location. Written as zero and read as undefined. Missed Frame Mask. If MISSM is set, the MISS bit in CSR0 will be masked and will not set INTR flag in CSR0. MISSM is cleared by RESET and is not affected by STOP. Memory Error Mask. If MERRM is set, the MERR bit in CSR0 will be masked and will not set INTR flag in CSR0. MERRM is cleared by RESET and is not affected by STOP. Receive Interrupt Mask. If RINTM is set, the RINT bit in CSR0 will be masked and will not set INTR flag in CSR0. RINTM is cleared by RESET and is not affected by STOP. Transmit Interrupt Mask. If TINTM is set, the TINT bit in CSR0 will be masked and will not set INTR flag in CSR0. TINTM is cleared by RESET and is not affected by STOP. Initialization Done Mask. If IDONM is set, the IDON bit in CSR0 will be masked and will not set INTR flag in CSR0. IDONM is cleared by RESET and is not affected by STOP. Reserved locations. Written as zero and read as undefined. Disable Transmit Stop on Underflow error. CSR1: IADR[15:0] Bit Name 15-0 IADR [15:0] Description Lower address of the Initialization address register. Bit location 0 must be zero. Whenever this register is written, CSR16 is updated with CSR1’s contents. Read/Write accessible only when the STOP or SPND bits are set. Unaffected by RESET. CSR2: IADR[23:16] Bit Name Description 15-8 RES Reserved locations. Read and written as zero. 98 Am79C961A 5 LAPPEN When DXSUFLO is set to ZERO, the transmitter is turned off when an UFLO error occurs (CSR0, TXON = 0). When DXSUFLO is set to ONE, the PCnet-ISA II controller gracefully recovers from an UFLO error. It scans the transmit descriptor ring until it finds the start of a new frame and starts a new transmission. Read/Write accessible always. DXSUFLO is cleared by asserting the RESET pin or reading the Reset register and is not affected by STOP. Look Ahead Packet Processing (LAPPEN). When set to a one, the LAPPEN bit will cause the PCnet-ISA II controller to generate an interrupt following the descriptor write operation to the first buffer of a receive packet. This interrupt will be generated in addition to the interrupt that is generated following the descriptor write operation to the last buffer of a receive packet. The interrupt will be signaled through the RINT bit of CSR0. Setting LAPPEN to a one also enables the PCnet-ISA II controller to read the STP bit of the receive descriptors. PCnet-ISA II controller will use STP information to determine where it should begin writing a receive packet’s data. Note that while in this mode, the PCnet-ISA II controller can write intermediate packet data to buffers whose descriptors do not contain STP bits set to one. Following the write to the last descriptor used by a packet, the PCnet-ISA II controller will scan through the next descriptor entries to locate the next STP bit that is set to a one. The PCnet-ISA II controller will begin writing the next packet’s data to the buffer pointed to by that descriptor. Note that because several descriptors may be allocated by the host for each packet, and not all messages may need all of the descriptors that are allocated between descriptors that contain STP = one, then some descriptors/buffers may be skipped in the ring. While performing the 4 DXMT2PD 3 EMBA Am79C961A search for the next STP bit that is set to one, the PCnet-ISA II controller will advance through the receive descriptor ring regardless of the state of ownership bits. If any of the entries that are examined during this search indicate OWN = one, PCnet-ISA II will RESET the OWN bit to zero in these entries. If a scanned entry indicates host ownership with STP=“0", then the PCnet-ISA II controller will not alter the entry, but will advance to the next entry. When the STP bit is found to be true, but the descriptor that contains this setting is not owned by the PCnet-ISA II controller, then the PCnet-ISA II controller will stop advancing through the ring entries and begin periodic polling of this entry. When the STP bit is found to be true, and the descriptor that contains this setting is owned by the PCnet-ISA II controller, then the PCnet-ISA II controller will stop advancing through the ring entries, store the descriptor information that is has just read, and wait for the next receive to arrive. This behavior allows the host software to pre-assign buffer space in such a manner that the “header” portion of a receive packet will always be written to a particular memory area, and the “data” portion of a receive packet will always be written to a separate memory area. The interrupt is generated when the “header” bytes have been written to the “header” memory area. Read/Write accessible always. The LAPPEN bit will be reset zero by RESET and will unaffected by the STOP. See Appendix E for more information on LAPP. Disable Transmit Two Part Deferral. (Described in the Media Access Management section). If DXMT2PD is set, Transmit Two Part Deferral will be disabled. DXMT2PD is cleared by RESET and is not affected by STOP. Enable Modified Back-off Algorithm. If EMBA is set, a modified 99 back-off algorithm is implemented as described in the Media Access Management section. Read/Write accessible. EMBA is cleared by RESET and is not affected by STOP. 2-0 RES Reserved locations. Written as zero and read as undefined. CSR4: Test and Features Control Bit Name Description 15 ENTST 14 DMAPLUS 13 TIMER Enable Test Mode operation. When ENTST is set, writing to test mode registers CSR124 and CSR126 is allowed, and other register test functions are enabled. In order to set ENTST, it must be written with a “1" during the first write access to CSR4 after RESET. Once a “0" is written to this bit location, ENTST cannot be set until after the PCnet-ISA II controller is reset. ENTST is cleared by RESET. When DMAPLUS = “1", the burst transaction counter in CSR80 is disabled. If DMAPLUS = “0", the burst transaction counter is enabled. Caution: When using DMAPLUS AND/OR TIMER bits in a PC environment, care must be taken not to hold the bus for more than the required refresh time. DMAPLUS is cleared by RESET. Timer Enable Register. If TIMER is set, the Bus Activity Timer register (CSR82) is enabled and the PCnet-ISA II may perform any combination of accesses (buffer reads, buffer writes, descriptor reads, and descriptor writes) during a single bus mastership period. The bus is held until either the Bus Activity Timer expires or there are no further pending operations to be performed. The PCnet-ISA II determines whether there are further pending bus operations by waiting approximately 1 µs after the completion of every bus operation (e.g. a descriptor or FIFO access). If, during the 1 µs period, no further bus operations are requested by the internal Buffer Management Unit, the PCnet-ISA II determines that 100 12 DPOLL 11 APAD_XMT 10 ASTRP_RCV 9 MFCO 8 MFCOM Am79C961A there are no further pending operations and gives up bus ownership. If TIMER is cleared, the Bus Activity Timer register is disabled and the PCnet-ISA II performs only one type of access (descriptor read, descriptor write, buffer read, or buffer write) and buffer accesses are performed to adjacent ascending addresses during each bus mastership period. TIMER is cleared by RESET. Disable Transmit Polling. If DPOLL is set, the Buffer Management Unit will disable transmit polling. Likewise, if DPOLL is cleared, automatic transmit polling is enabled. If DPOLL is set, TDMD bit in CSR0 must be periodically set in order to initiate a manual poll of a transmit descriptor. Transmit descriptor polling will not take place if TXON is reset. DPOLL is cleared by RESET. Auto Pad Transmit. When set, APAD_XMT enables the automatic padding feature. Transmit frames will be padded to extend them to 64 bytes, including FCS. The FCS is calculated for the entire frame (including pad) and appended after the pad field. APAD_XMT will override the programming of the DXMTFCS bit (CSR15.3). APAD_ XMT is reset by activation of the RESET pin. ASTRP_RCV enables the automatic pad stripping feature. The pad and FCS fields will be stripped from receive frames and not placed in the FIFO. ASTRP_ RCV is reset by activation of the RESET pin. Missed Frame Counter Overflow Interrupt. This bit indicates the MFC (CSR112) has overflowed. Can be cleared by writing a “1" to this bit. Also cleared by RESET or setting the STOP bit. Writing a “0" has no effect. Missed Frame Counter Overflow Mask. If MFCOM is set, MFCO will not set INTR in CSR0. 7-6 5 RES RCVCCO 4 RCVCCOM 3 TXSTRT 2 TXSTRTM 1 JAB 0 JABM MFCOM is set by Reset and is not affected by STOP. Reserved locations. Read and written as zero. Receive Collision Counter Overflow. This bit indicates the Receive Collision Counter (CSR114) has overflowed. It can be cleared by writing a 1 to this bit. Also cleared by RESET or setting the STOP bit. Writing a 0 has no effect. Receive Collision Counter Overflow Mask. If RCVCCOM is set, RCVCCO will not set INTR in CSR0. RCVCCOM is set by RESET and is not affected by STOP. Transmit Start status is set whenever PCnet-ISA II controller begins transmission of a frame. When TXSTRT is set, IRQ is asserted if IENA = 1 and the mask bit TXSTRTM (CSR4.2) is clear. TXSTRT is set by the MAC Unit and cleared by writing a “1", setting RESET or setting the STOP bit. Writing a “0" has no effect. Transmit Start Mask. If TXSTRTM is set, the TXSTRT bit in CSR4 will be masked and will not set INTR flag in CSR0. TXSTRTM is set by RESET and is not affected by STOP. Jabber Error is set when the PCnet-ISA II controller Twisted-pair MAU function exceeds an allowed transmission limit. Jabber is set by the TMAU circuit and can only be asserted in 10BASE-T mode. When JAB is set, IRQ is asserted if IENA = 1 and the mask bit JABM (CSR4.4) is clear. The JAB bit can be reset even if the jabber condition is still present. JAB is set by the TMAU circuit and cleared by writing a “1". Writing a “0" has no effect. JAB is also cleared by RESET or setting the STOP bit. Jabber Error Mask. If JABM is set, the JAB bit in CSR4 will be masked and will not set INTR flag in CSR0. JABM is set by RESET and is not affected by STOP. CSR5: Control 1 Bit Name Description 0 SPND Suspend. Setting SPND to ONE will cause the PCnet-ISA II controller to start entering the suspend mode. The host must poll SPND until it reads a ONE back, to determine that the PCnet-ISA II controller has entered the suspend mode. Setting SPND to ZERO will get the PCnet-ISA II controller out of suspend mode and back into its active state. SPND can only be set to ONE if STOP (CSR0, bit 2) is set to ZERO. Asserting the RESET pin, reading the RESET register, or setting the STOP bit forces the PCnet-ISA II controller out of suspend mode. When the host requests the PCnet-ISA II controller to enter the suspend mode, the device first finishes all on-going transmit activity and updates the corresponding transmit descriptor entries. It then completes any frame reception occurring at the time the SPND bit was set, and updates the corresponding receive descriptor entries. Any subsequent frames incident upon the PCnet-ISA II during suspend mode will not be received, nor will any notification be given as to the missed frames (the MISS bit in CSR0 will not be updated while in suspend mode). It then sets the read-version of SPND to ONE and enters the suspend mode. In suspend mode, all of the CSR registers are accessible. As long as the PCnet-ISA II controller is not reset while in suspend mode (by asserting the RESET pin, reading the RESET register, or setting the STOP bit), no reinitialization of the device is required after the device comes out of suspend mode. The PCnet-ISA II controller will continue at the transmit and receive descriptor ring locations, where it had left, when it entered the suspend mode. Am79C961A 101 Read/Write accessible always. SPND is cleared by asserting the RESET pin, reading the RESET register, or setting the STOP bit 1 MP_MODE Magic Packet Mode. Setting this bit is a prerequisite for entering the Magic Packet mode. It also redefines the SLEEP pin to be a Magic Packet enable pin. Read/Write accessible always. It is cleared by asserting the RESET pin, or reading the RESET register. 2 MP_ENBL Magic Packet Enable. This bit when set, will force the PCnet-ISA II into the Magic Packet mode. Read/Write accessible always. It is cleared by asserting the RESET pin or reading the RESET register. 3 MP_I_ENBL Magic Packet Interrupt Enable. Acts as an unmask bit for the MP_INT (CSR5, bit 4). Read/ Write accessible always. It is cleared by asserting the RESET pin or reading the RESET register, or setting the STOP bit. 4 MP_INT Magic Packet Receive Interrupt. Will be set when a Magic Packet has been received. Writing a “one” will clear this bit. It is cleared by asserting the RESET pin, or reading the RESET register. CSR6: RCV/XMT Descriptor Table Length Bit 15-12 11-8 102 Name TLEN RLEN Read accessible only when STOP or SPND bits are set. Write operations have no effect and should not be performed. RLEN is only defined after initialization. 7-0 RES Reserved locations. Read as zero. Write operations should not be performed. CSR8: Logical Address Filter, LADRF[15:0] Bit Name Description 15-0 LADRF[15:0] Logical Address Filter, LADRF [15:0]. Undefined until initialized either automatically by loading the initialization block or directly by an I/O write to this register. Read/write accessible only when STOP or SPND bits are set. CSR9: Logical Address Filter, LADRF[31:16] Bit Name Description 15-0 LADRF[31:16] Logical Address Filter, LADRF[31:16]. Undefined until initialized either automatically by loading the initialization block or directly by an I/O write to this register. Read/write accessible only when STOP or SPND bits are set. CSR10: Logical Address Filter, LADRF[47:32] Bit Name Description Description Contains a copy of the transmit encoded ring length (TLEN) field read from the initialization block during PCnet-ISA II controller initialization. This field is written during the PCnet-ISA II controller initialization routine. Read accessible only when STOP or SPND bits are set. Write operations have no effect and should not be performed. TLEN is only defined after initialization. Contains a copy of the receive encoded ring length (RLEN) read from the initialization block during PCnet-ISA II controller initialization. This field is written during the PCnet-ISA II controller initialization routine. 15-0 LADRF[47:32] Logical Address Filter, LADRF[47:32]. Undefined until initialized either automatically by loading the initialization block or directly by an I/O write to this register. Read/write accessible only when STOP or SPND bits are set. CSR11: Logical Address Filter, LADRF[63:48] Bit Name Description 15-0 LADRF[63:48] Logical Address Filter, LADRF[63:48]. Undefined until initialized either automatically by loading the initialization block or directly by an I/O write to this register. Am79C961A Read/write accessible only when STOP or SPND bits are set. CSR12: Physical Address Register, PADR[15:0] Bit Name 15 PROM 14 DRCVBC 13 DRCVPA 12 DLNKTST 11 DAPC Description 15-0 PADR[15:0] Physical Address Register, PADR[15:0]. Undefined until initialized either automatically by loading the initialization block or directly by an I/O write to this register. The PADR bits are transmitted PADR[0] first and PADR[47] last. Read/write accessible only when STOP or SPND bits are set. CSR13: Physical Address Register, PADR[31:16] Bit Name Description 15-0PADR[31:16] Physical Address Register, PADR[31:16]. Undefined until initialized either automatically by loading the initialization block or directly by an I/O write to this register. The PADR bits are transmitted PADR[0] first and PADR[47] last. Read/write accessible only when STOP or SPND bits are set. CSR14: Physical Address Register, PADR[47:32] Bit Name Description 15-0 PADR[47:32] Physical Address Register, PADR[47:32]. Undefined until initialized either automatically by loading the initialization block or directly by an I/O write to this register. The PADR bits are transmitted PADR[0] first and PADR[47] last. Read/write accessible only when STOP or SPND bits are set. CSR15: Mode Register Bit Name Description This register’s fields are loaded during the PCnet-ISA II controller initialization routine with the corresponding Initialization Block values. The register can also be loaded directly by an I/O write. Am79C961A Activating the RESET pin clears all bits of CSR15 to zero. Promiscuous Mode. When PROM = “1", all incoming receive frames are accepted. Read/write accessible only when STOP or SPND bits are set. DisableReceiveBroadcast . When set, disables the PCnet-ISA II controller from receiving broadcast messages. Used for protocols that do not support broadcast addressing, except as a function of multicast. DRCVBC is cleared by activation of the RESET pin (broadcast messages will be received). Read/write accessible only when STOP or SPND bits are set. Disable Receive Physical Address. When set, the physical address detection (Station or node ID) of the PCnet-ISA II controller will be disabled. Frames addressed to the nodes individual physical address will not be recognized (although the frame may be accepted by the EADI mechanism). Read/write accessible only when STOP or SPND bits are set. Disable Link Status. When DLNKTST = “1", monitoring of Link Pulses is disabled. When DLNKTST = “0", monitoring of Link Pulses is enabled. This bit only has meaning when the 10BASE-T network interface is selected. Read/write accessible only when STOP or SPND bits are set. Disable Automatic Polarity Correction. When DAPC = “1", the 10BASE-T receive polarity reversal algorithm is disabled. Likewise, when DAPC = “0", the polarity reversal algorithm is enabled. This bit only has meaning when the 10BASE-T network interface is selected. Read/write accessible only when STOP or SPND bits are set. 103 10 9 MENDECL LRT/TSEL LRT TSEL 8-7 104 PORTSEL [1:0] MENDEC Loopback Mode. See the description of the LOOP bit in CSR15. Read/write accessible only when STOP or SPND bits are set. Low Receive Threshold (T-MAU Mode only) Transmit Mode Select (AUI Mode only) Low Receive Threshold. When LRT = “1", the internal twisted pair receive thresholds are reduced by 4.5 dB below the standard 10BASE-T value (approximately 3/5) and the unsquelch threshold for the RXD circuit will be 180-312 mV peak. When LRT = “0", the unsquelch threshold for the RXD circuit will be the standard 10BASE-T value, 300-520 mV peak. In either case, the RXD circuit post squelch threshold will be one half of the unsquelch threshold. This bit only has meaning when the 10BASE-T network interface is selected. Read/write accessible only when STOP or SPND bits are set. Cleared by RESET. Transmit Mode Select. TSEL controls the levels at which the AUI drivers rest when the AUI transmit port is idle. When TSEL = 0, DO+ and DO- yield “zero” differential to operate transformer coupled loads (Ethernet 2 and 802.3). When TSEL = 1, the DO+ idles at a higher value with respect to DO-, yielding a logical HIGH state (Ethernet 1). This bit only has meaning when the AUI network interface is selected. Not available under Auto-Select Mode. Read/write accessible only when STOP or SPND bits are set. Cleared by RESET. Port Select bits allow for software controlled selection of the network medium. PORTSEL active only when Media-Select Bit set to 0 in ISACSR2. Read/write accessible only when STOP or SPND bits are set. Cleared by RESET. The network port configuration are as follows: PORTSEL[1:0] Network Port 00 AUI 01 10BASE-T 10 GPSI* 11 Reserved *Refer to the section on General Purpose Serial Interface for detailed information on accessing GPSI. 6 INTL 5 DRTY 4 FCOLL 3 DXMTFCS Am79C961A Internal Loopback. See the description of LOOP, CSR15.2. Read/write accessible only when STOP bit is set. Disable Retry. When DRTY = “1", PCnet-ISA II controller will attempt only one transmission. If DRTY = “0", PCnet-ISA II controller will attempt to transmit 16 times before signaling a retry error. Read/write accessible only when STOP or SPND bits are set. Force Collision. This bit allows the collision logic to be tested. PCnet-ISA II controller must be in internal loopback for FCOLL to be valid. If FCOLL = “1", a collision will be forced during loopback transmission attempts; a Retry Error will ultimately result. If FCOLL = “0", the Force Collision logic will be disabled. Read/write accessible only when STOP or SPND bits are set. Disable Transmit CRC (FCS). When DXMTFCS = “0", the transmitter will generate and append a FCS to the transmitted frame. When DXMTFCS = “1", the FCS logic is allocated to the receiver and no FCS is generated or sent with the transmitted frame. See also the ADD_FCS bit in TMD1. If DXMTFCS is set, no FCS will be generated. If both DXMTFCS is set and ADD_FCS is clear for a particular frame, no FCS will be generated. If ADD_FCS is set for a particular frame, the state of DXMTFCS is ignored and a FCS will be appended on that frame by the transmit circuitry. 2 1 0 In loopback mode, this bit determines if the transmitter appends FCS or if the receiver checks the FCS. This bit was called DTCR in the LANCE (Am7990). Read/write accessible only when STOP or SPND bits are set. Loopback Enable allows PCnet-ISA II controller to operate in full duplex mode for test purposes. When LOOP = “1", loopback is enabled. In combination with INTL and MENDECL, various loopback modes are defined as follows. LOOP LOOP INTL MENDECL 0 X X Non-loopback 1 0 X External Loopback 1 1 0 Internal Loopback Include MENDEC 1 1 1 Internal Loopback Exclude MENDEC DTX DRX Loopback Mode Read/write accessible only when STOP or SPND bits are set. LOOP is cleared by RESET. Disable Transmit. If this bit is set, the PCnet-ISA II controller will not access the Transmit Descriptor Ring and, therefore, no transmissions will occur. DTX = “0" will set TXON bit (CSR0.4) after STRT (CSR0.1) is asserted. DTX is defined after the initialization block is read. Read/write accessible only when STOP or SPND bits are set. Disable Receiver. If this bit is set, the PCnet-ISA II controller will not access the Receive Descriptor Ring and, therefore, all receive frame data are ignored. DRX = “0" will set RXON bit (CSR0.5) after STRT (CSR0.1) is asserted. DRX is defined after the initialization block is read. Read/write accessible only when STOP or SPND bits are set. CSR16: Initialization Block Address Lower Bit Name Description 15-0 IADR Bit Name 15-8 RES Bit Name 31-24 RES Bit Name Description 31-24 RES 23-0 CXBA Reserved locations. Written as zero and read as undefined. Contains the current transmit buffer address from which the PCnet-ISA II controller is transmitting. Read/write accessible only when STOP or SPND bits are set. Lower 16 bits of the address of the Initialization Block. Bit location 0 must be zero. This register is an alias of CSR1. Whenever this register is written, CSR1 is updated with CSR16’s contents. Read/Write accessible only when the STOP or SPND bits are set. Unaffected by RESET. CSR17: Initialization Block Address Upper Description Reserved locations. Written as zero and read as undefined. 7-0 IADR Upper 8 bits of the address of the Initialization Block. Bit locations 15-8 must be written with zeros. This register is an alias of CSR2. Whenever this register is written, CSR2 is updated with CSR17’s contents. Read/Write accessible only when the STOP or SPND bits are set. Unaffected by RESET. CSR18-19: Current Receive Buffer Address Description Reserved locations. Written as zero and read as undefined. 23-0 CRBA Contains the current receive buffer address to which the PCnet-ISA II controller will store incoming frame data. Read/write accessible only when STOP or SPND bits are set. CSR20-21: Current Transmit Buffer Address Am79C961A 105 CSR22-23: Next Receive Buffer Address Bit Name 31-24 RES Read/write accessible only when STOP or SPND bits are set. CSR32-33: Next Transmit Descriptor Address Description Reserved locations. Written as zero and read as undefined. 23-0 NRBA Contains the next receive buffer address to which the PCnet-ISA II controller will store incoming frame data. Read/write accessible only when STOP or SPND bits are set. CSR24-25: Base Address of Receive Ring Bit 31-24 Name Description Reserved locations. Written as zero and read as undefined. 23-0 BADR Contains the base address of the Receive Ring. Read/write accessible only when STOP or SPND bits are set. CSR26-27: Next Receive Descriptor Address Bit 31-24 Bit Name 31-24 RES Bit Name 31-24 RES Bit Name Reserved locations. Written as zero and read as undefined. 23-0 NXDA Contains the next TDRE address pointer. Read/write accessible only when STOP or SPND bits are set. CSR34-35: Current Transmit Descriptor Address Description RES Name Description Reserved locations. Written as zero and read as undefined. 23-0 NRDA Contains the next RDRE address pointer. Read/write accessible only when STOP or SPND bits are set. CSR28-29: Current Receive Descriptor Address Reserved locations. Written as zero and read as undefined. 23-0 CXDA Contains the current TDRE address pointer. Read/write accessible only when STOP or SPND bits are set. CSR36-37: Next Next Receive Descriptor Address Description RES Bit Name 31-24 RES 31-0 Contains the next next RDRE address pointer. Read/write accessible only when STOP or SPND bits are set. CSR38-39: Next Next Transmit Descriptor Address Bit NNRDA Name Description Description 31-0 Reserved locations. Written as zero and read as undefined. 23-0 CRDA Contains the current RDRE address pointer. Read/write accessible only when STOP or SPND bits are set. CSR30-31: Base Address of Transmit Ring Contains the next next TDRE address pointer. Read/write accessible only when STOP or SPND bits are set. CSR40-41: Current Receive Status and Byte Count Bit NNXDA Name 31-24 CRST Bit Name Description 31-24 RES 23-0 BADX Reserved locations. Written as zero and read as undefined. Contains the base address of the Transmit Ring. 23-12 106 Description Am79C961A RES Description Current Receive Status. This field is a copy of bits 15:8 of RMD1 of the current receive descriptor. Read/write accessible only when STOP or SPND bits are set. Reserved locations. Written as zero and read as undefined. 11-0 Current Receive Byte Count. This field is a copy of the BCNT field of RMD2 of the current receive descriptor. Read/write accessible only when STOP or SPND bits are set. CSR42-43: Current Transmit Status and Byte Count Bit CRBC Name Description 31-24 CXST Current Transmit Status. This field is a copy of bits 15:8 of TMD1 of the current transmit descriptor. Read/write accessible only when STOP or SPND bits are set. 23-12 RES Reserved locations. Written as zero and read as undefined. 11-0 CXBC Current Transmit Byte Count. This field is a copy of the BCNT field of TMD2 of the current transmit descriptor. Read/write accessible only when STOP or SPND bits are set. CSR44-45: Next Receive Status and Byte Count Bit Name Description 31-24 NRST Next Receive Status. This field is a copy of bits 15:8 of RMD1 of the next receive descriptor. Read/write accessible only when STOP or SPND bits are set. 23-12 RES Reserved locations. Written as zero and read as undefined. 11-0 NRBC Next Receive Byte Count. This field is a copy of the BCNT field of RMD2 of the next receive descriptor. Read/write accessible only when STOP or SPND bits are set. CSR46: Poll Time Counter Bit Name Description 15-0 POLL Poll Time Counter. This counter is incriminated by the PCnet-ISA II controller microcode and is used to trigger the descriptor ring polling operation of the PCnet-ISA II controller. Read/write accessible only when STOP or SPND bits are set. CSR47: Polling Interval Bit Name 31-16 RES Bit Name 31-0 TMP0 Bit Name 31-0 TMP1 Description Reserved locations. Written as zero and read as undefined. 15-0 POLLINT Polling Interval. This register contains the time that the PCnet-ISA II controller will wait between successive polling operations. The POLLINT value is expressed as the two’s complement of the desired interval, where each bit of POLLINT represents one-half of an XTAL1 period of time. POLLINT[3:0] are ignored. (POLINT[16] is implied to be a one, so POLLINT[15] is significant, and does not represent the sign of the two’s complement POLLINT value.) The default value of this register is 0000. This corresponds to a polling interval of 32,768 XTAL1 periods. The POLINT value of 0000 is created during the microcode initialization routine, and therefore might not be seen when reading CSR47 after RESET. If the user desires to program a value for POLLINT other than the default, then the correct procedure is to first set INIT only in CSR0. Then, when the initialization sequence is complete, the user must set STOP in CSR0. Then the user may write to CSR47 and then set STRT in CSR0. In this way, the default value of 0000 in CSR47 will be overwritten with the desired user value. Read/write accessible only when STOP or SPND bits are set. CSR48-49: Temporary Storage Description Temporary Storage location. Read/write accessible only when STOP or SPND bits are set. CSR50-51: Temporary Storage Am79C961A Description Temporary Storage location. 107 Read/write accessible only when STOP or SPND bits are set. CSR52-53: Temporary Storage Bit Name 31-0 TMP2 Bit Name 31-0 TMP3 Description Temporary Storage location. Read/write accessible only when STOP or SPND bits are set. CSR54-55: Temporary Storage Description Temporary Storage location. Read/write accessible only when STOP or SPND bits are set. CSR56-57: Temporary Storage Read/write accessible only when STOP or SPND bits are set. 23-12 RES Reserved locations. Written as zero and read as undefined. Accessible only when STOP bit is set. 11-0 PXBC Previous Transmit Byte Count. This field is a copy of the BCNT field of TMD2 of the previous transmit descriptor. Read/write accessible only when STOP or SPND bits are set. CSR64-65: Next Transmit Buffer Address Bit Name 31-24 RES Name Description Bit Name 31-0 TMP4 Temporary Storage location. Read/write accessible only when STOP or SPND bits are set. CSR58-59: Temporary Storage Reserved locations. Written as zero and read as undefined. 23-0 NXBA Contains the next transmit buffer address from which the PCnet-ISA II controller will transmit an outgoing frame. Read/write accessible only when STOP or SPND bits are set. CSR66-67: Next Transmit Status and Byte Count Bit Name Bit 31-0 TMP5 Bit Name 31-24 RES Description Description Temporary Storage location. Read/write accessible only when STOP or SPND bits are set. CSR60-61: Previous Transmit Descriptor Address Description Reserved locations. Written as zero and read as undefined. 23-0 PXDA Contains the previous TDRE address pointer. The PCnet-ISA II controller has the capability to stack multiple transmit frames. Read/write accessible only when STOP or SPND bits are set. CSR62-63: Previous Transmit Status and Byte Count Bit Name 31-24 NXST 108 Next Transmit Status. This field is a copy of bits 15:8 of TMD1 of the next transmit descriptor. Read/write accessible only when STOP or SPND bits are set. Reserved locations. Written as zero and read as undefined. Accessible only when STOP bit is set. Next Transmit Byte Count. This field is a copy of the BCNT field of TMD2 of the next transmit descriptor. Read/write accessible only when STOP or SPND bits are set.CSR68-69: Transmit Status Temporary Storage 23-12 RES 11-0 NXBC Bit Name Description XSTMP Transmit Status Temporary Storage location. Read/write accessible only when STOP or SPND bits are set. Description 31-0 31-24 PXST Description Previous Transmit Status. This field is a copy of bits 15:8 of TMD1 of the previous transmit descriptor. Am79C961A CSR70-71: Temporary Storage Bit Name 31-0 TMP8 Read/write accessible only when STOP or SPND bits are set. CSR78: Transmit Ring Length Description Temporary Storage location. Read/write accessible only when STOP or SPND bits are set. CSR72: Receive Ring Counter Bit 15-0 Name Description Receive Ring Counter location. Contains a Two’s complement binary number used to number the current receive descriptor. This counter interprets the value in CSR76 as pointing to the first descriptor; a two’s complement value of -1 (FFFFh) corresponds to the last descriptor in the ring. Read/write accessible only when STOP or SPND bits are set. CSR74: Transmit Ring Counter Bit RCVRC Name Description Bit 15-0 Name XMTRL Transmit Ring Length. Contains the two’s complement of the transmit descriptor ring length. This register is initialized during the PCnet-ISA II controller initialization routine based on the value in the TLEN field of the initialization block. This register can be manually altered; the actual transmit ring length is defined by the current value in this register. Read/write accessible only when STOP or SPND bits are set. CSR80: Burst and FIFO Threshold Control Bit Name Description 15-14 RES Reserved locations. Read as ones. Written as zero. Receive FIFO Watermark. RCVFW controls the point at which ISA bus receive DMA is requested in relation to the number of received bytes in the receive FIFO. RCVFW specifies the number of bytes which must be present (once the frame has been verified as a non-runt) before receive DMA is requested. Note however that, if the network interface is operating in half-duplex mode, in order for receive DMA to be performed for a new frame, at least 64 bytes must have been received. This effectively avoids having to react to receive frames which are runts or suffer a collision during the slot time (512 bit times). If the Runt Packet Accept feature is enabled, receive DMA will be requested as soon as either the RCVFW threshold is reached, or a complete valid receive frame is detected (regardless of length). RCVFW is set to a value of 10b (64 bytes) after RESET. Read/write accessible only when STOP or SPND bits are set. 13-12RCVFW[1:0] 15-0 Transmit Ring Counter location. Contains a Two’s complement binary number used to number the current transmit descriptor. This counter interprets the value in CSR78 as pointing to the first descriptor; a two’s complement value of -1 (FFFFh) corresponds to the last descriptor in the ring. Read/write accessible only when STOP or SPND bits are set. CSR76: Receive Ring Length Bit 15-0 XMTRC Name Description RCVRL Receive Ring Length. Contains the Two’s complement of the receive descriptor ring length. This register is initialized during the PCnet-ISA II controller initialization routine based on the value in the RLEN field of the initialization block. This register can be manually altered; the actual receive ring length is defined by the current value in this register. Description Am79C961A 109 . RCVFW[1:0] 00 01 10 11 Bytes Received 16 32 64 Reserved 11-10XMTSP[1:0]Transmit Start Point. XMTSP controls the point at which preamble transmission attempts commence in relation to the number of bytes written to the transmit FIFO for the current transmit frame. When the entire frame is in the FIFO, transmission will start regardless of the value in XMTSP. XMTSP is given a value of 10b (64 bytes) after RESET. Regardless of XMTSP, the FIFO will not internally over-write its data until at least 64 bytes (or the entire frame if <64 bytes) have been transmitted onto the network. This ensures that for collisions within the slot time window, transmit data need not be re-written to the transmit FIFO, and retries will be handled autonomously by the MAC. This bit is read/write accessible only when the STOP or SPND bits are set. XMTSP[1:0] Bytes Written 00 4 01 16 10 64 11 112 9-8 XMTFW[1:0] 110 Write Cycles 00 8 01 16 Write Cycles 10 32 11 Reserved 7-0 DMABR DMA Burst Register. This register contains the maximum allowable number of transfers to system memory that the Bus Interface will perform during a single DMA cycle. The Burst Register is not used to limit the number of transfers during Descriptor transfers. A value of zero will be interpreted as one transfer. During RESET a value of 16 is loaded in the BURST register. If DMAPLUS (CSR4.14) is set, the DMA Burst Register is disabled. When the Bus Activity Timer register (CSR82: DMABAT) is enabled, the PCnet-ISA II controller will relinquish the bus when either the time specified in DMABAT has elapsed or the number of transfers specified in DMABR have occurred or no more pending operation left to be performed. Read/write accessible only when STOP or SPND bits are set. CSR82: Bus Activity Timer Bit Name 15-0 DMABAT Transmit FIFO Watermark. XMTFW specifies the point at which transmit DMA stops, based upon the number of write cycles that could be performed to the transmit FIFO without FIFO overflow. Transmit DMA is allowed at any time when the number of write cycles specified by XMTFW could be executed without causing transmit FIFO overflow. XMTFW is set to a value of 00b (8 cycles) after hardware RESET. Read/write accessible only when STOP or SPND bits are set. XMTFW[1:0] XMTFW[1:0] Am79C961A Description Bus Activity Timer. If the TIMER bit in CSR4 is set, this register contains the maximum allowable time that the PCnet-ISA II controller will take up on the system bus during FIFO data transfers in each bus mastership period. The DMABAT starts counting upon receipt of DACK from the host system. The DMABAT Register does not limit the number of transfers during Descriptor transfers. A value of zero will limit the PCnet-ISA II controller to one bus cycle per mastership period. A non-zero value is interpreted as an unsigned number with a resolution of 100 ns. For instance, a value of 51 µs would be programmed with a value of 510. When the TIMER bit in CSR4 is set, DMABAT is enabled and must be initialized by the user. The DMABAT register is undefined until written. When the Bus Activity Timer register (CSR82: DMABAT) is enabled, the PCnet-ISA II controller will relinquish the bus when either the time specified in DMABAT has elapsed or the number of transfers specified in DMABR have occurred or no more pending operation left to be performed. When ENTST (CSR4.15) is asserted, all writes to this register will automatically perform a decrement cycle. Read/write accessible only when STOP or SPND bits are set. CSR84-85: DMA Address Bit 31-0 Name Description DMABA DMA Address Register. This register contains the address of system memory for the current DMA cycle. The Bus Interface Unit controls the Address Register by issuing increment commands to increment the memory address for sequential operations. The DMABA register is undefined until the first PCnet-ISA II controller DMA operation. This register has meaning only if the PCnet-ISA II controller is in Bus Master Mode. Read/write accessible only when STOP or SPND bits are set. CSR86: Buffer Byte Counter Bit Name Description 15-12 RES Reserved, Read and written with ones. DMA Byte Count Register. Contains the Two’s complement of the current size of the remaining transmit or receive buffer in bytes. This register is incriminated by the Bus Interface Unit. The DMABC register is undefined until written. Read/write accessible only when STOP or SPND bits are set. 11-0 DMABC CSR88-89: Chip ID Bit Name Description 31-28 Version. This 4-bit pattern is silicon revision dependent. 27-12 Part Number. The 16-bit code for the PCnet-ISA II controller is 0010001001100001b (2261h). 11-1 Manufacturer ID. The 11-bit manufacturer code for AMD is 00000000001b. This code is per the JEDEC Publication 106-A. 0 Always a logic 1. This register is exactly the same as the Chip ID register in the JTAG description. This register is readable only when STOP or SPND bits are set. CSR92: Ring Length Conversion Bit Name Description 15-0 RCON Bit Name Description 15-10 RES Reserved locations. Read and written as zero. Time Domain Reflectometry reflects the state of an internal counter that counts from the start of transmission to the occurrence of loss of carrier. TDR is incriminated at a rate of 10 MHz. Read accessible only when STOP or SPND bits are set. Write operations are ignored. XMTTDR is cleared by RESET. Ring Length Conversion Register. This register performs a ring length conversion from an encoded value as found in the initialization block to a Two’s complement value used for internal counting. By writing bits 15–12 with an encoded ring length, a Two’s complemented value is read. The RCON register is undefined until written. Read/write accessible only when STOP or SPND bits are set. CSR94: Transmit Time Domain Reflectometry Count 9-0 Am79C961A XMTTDR 111 CSR96-97: Bus Interface Scratch Register 0 CSR108-109: Buffer Management Scratch Bit Name Bit 31-0 SCR0 Bit Name Description 31-0 SCR1 This register is shared between the Buffer Management Unit and the Bus Interface Unit. All Descriptor Data communications between the BIU and BMU are written and read through SCR0 and SCR1 registers. Read/write accessible only when STOP or SPND bits are set. Description This register is shared between the Buffer Management Unit and the Bus Interface Unit. All Descriptor Data communications between the BIU and BMU are written and read through SCR0 and SCR1 registers. The SCR0 register is undefined until written. Read/write accessible only when STOP or SPND bits are set. CSR98-99: Bus Interface Scratch Register 1 CSR104-105: SWAP Bit Name Description 31-0 SWAP This register performs word and byte swapping depending upon if 32-bit or 16-bit internal write operations are performed. This register is used internally by the BIU/BMU as a word or byte swapper. The swap register can perform 32-bit operations that the PC can not; the register is externally accessible for test reasons only. CSR104 holds the lower 16 bits and CSR105 holds the upper 16 bits. The swap function is defined as follows: Internal Write Operation 32-Bit word Lower 16-Bit (CSR104) 31-0 Description BMSCR The Buffer Management Scratch register is used for assembling Receive and Transmit Status. This register is also used as the primary scan register for Buffer Management Test Modes. BMSCR register is undefined until written. Read/write accessible only when STOP bit is set. CSR112: Missed Frame Count Bit Name 15-0 MFC Bit Name Description Counts the number of missed frames. This register is always readable and is cleared by STOP. A write to this register performs an increment when the ENTST bit in CSR4 is set. When MFC is all 1’s (65535) and a missed frame occurs, MFC increments to 0 and sets MFC0 bit (CSR4.9). CSR114: Receive Collision Count 15-0 Description Counts the number of Receive collisions seen, regular and late. This register is always readable and is cleared by STOP. A write to this register performs an increment when the ENTST bit in CSR4 is set. When RCVCC is all 1’s (65535) and a receive collision occurs, RCVCC increments to 0 and sets RCVCC0 bit (CSR4.5) CSR124: Buffer Management Unit Test Bit RCVCC Name SWAP Register Result SRC[31:16]→SWAP[15:0] SRC[15:0]→SWAP[31:16] SRC[15:8]→SWAP[7: 0] SRC[7:0]→SWAP[15:8] Read/write accessible only when STOP or SPND bits are set. 15-5 4 112 Name Am79C961A RES GPSIEN Description This register is used to place the BMU/BIU into various test modes to support Test/Debug. This register is writeable when the ENTST bit in CSR4 is set. Reserved locations. Written as zero and read as undefined. This mode places the PCnet-ISA II controller in the GPSI Mode. This mode will reconfigure the External Address Pins so that the GPSI port is exposed. This allows bypassing the MENDECTMAU logic. This bit should only be set if the external logic supports GPSI operation. Damage to the device may occur in a 3 RPA 2-0 RES Am79C961A non-GPSI configuration. Refer to the GPSI section. Runt Packet Accept. This bit forces the CORE receive logic to accept Runt Packets. This bit allows for faster testing. For test purposes only. Reserved locations. Written as zero and read as undefined. 113 ISA Bus Configuration Registers The ISA Bus Data Port (IDP) allows access to registers which are associated with the ISA bus. These registers are called ISA Bus Configuration Registers (ISACSRs), and are indexed by the value in the Register Address Port (RAP). The table below defines the ISACSRs which can be accessed. All registers are 16 bits. The “Default” value is the value in the register after reset and is hexadecimal.Refer to the section “LEDs” for information on LED control logic. ISACSR MNEMONIC Default 0 MSRDA 0005H Master Mode Read Active 1 MSWRA 0005H Master Mode Write Active 2 MC 0002H Miscellaneous Configuration 3 EC 8000H* EEPROM Configuration 4 LED0 0000H Link Integrity 5 LED1 0084H Default: RCV 6 LED2 0008H Default: RCVPOL 7 LED3 0090H Default: XMT 0000H Software Configuration (Read-Only register) 8 SC 9 DUP 0000H Name Default: Half Duplex This value can be 0000H for systems that do not support EEPROM option. ISACSR0: Master Mode Read Active/SRAM Data Port When in the Bus Master mode: Bit Name Description 15-4 RES 3-0 MSRDA Reserved locations. Written as zero and read as undefined. Master Mode Read Active time. This register is used to tune the MEMR command signal active time when the PCnet-ISA II is in the Bus Master mode. The value stored in MSRDA defines the number of 50 ns periods that the command signal is active. The default value of 5h indicates 250ns pulse widths. A value of 0 should not be used and may result in no command assertion. 114 When in the Bus Slave, Programmed I/O architecture mode: 15-0 SRAMDP SRAM Data Port. This register serves as a data port for accessing the SRAM when the PCnet-ISA II is in the Bus Slave, Programmed I/O architecture mode. Accesses to this port are directed to the SRAM location that is addressed by the SRAMAP register (ISACSR1). Word accesses and byte accesses to the even byte (least significant bits) are allowed. Byte accesses to the odd byte are not allowed except when they are performed automatically by motherboard logic as discussed in the Bus Cycles (Hardware) section. Read and write accesses to this register will have the side effect that the SRAMAP register (ISACSR1) will increment by 1 or 2 depending on whether a byte or word access, respectively, is performed. ISACSR1: Master Mode Write Active/SRAM Address Pointer When in the Bus Master mode: Bit Name 15-4 RES Description Reserved locations. Written as zero and read as undefined. 3-0 MSWRA Master Mode Write Active time. This register is used to tune the MEMW command signal active time when the PCnet-ISA II is in the Bus Master mode. The value stored in MSWRA defines the number of 50 ns periods that the command signal is active. The default value of 5h indicates 250ns pulse widths. A value of 0 should not be used and may result in no command assertion. When in the Bus Slave, Programmed I/O architecture mode: 15-0 SRAMAP Am79C961A SRAM Address Pointer. This register functions as an address pointer for accessing the SRAM when the PCnet-ISA II is in the Bus Slave, Programmed I/O architecture mode. Accesses to the SRAMDP (ISACSR0) register are directed to the SRAM location that is addressed by this register. This register is auto- matically incriminated by 1 or 2 when byte or word accesses, respectively, are performed to the SRAMDP register (ISACSR0). ISACSR2: Miscellaneous Configuration 1 Bit Name 11 ISA_PROTECT Description 15 MODE_STATUS Mode Status. This is a read-only register which indicates whether the PCnet-ISA II is configured in slave mode. A set condition indicates slave mode while a clear condition indicates bus-master condition. 14 TMAU_LOOPE 10BASE-T External Loop back Enable. This bit is usable only when 10BASE-T is selected AND PCnet-ISA II is in external loop back. External loop back is set during initialization via the MODE register. When TMAU_LOOPE is set, a board level test is enabled via a loop back clip which ties the 10BASE-T RJ45 transmit pair to the receiver pair. This will test all external components (i.e. transformers, resistors, etc.) of the 10BASE-T path. TMAU_ LOOPE assertion is not suitable for live network tests. When TMAU_LOOPE is deasserted, default condition, external loop back in 10BASE-T is allowed. 13 PIOSEL Programmed I/O Select. When operating in the Bus Slave mode with this bit reset to ZERO, a shared memory implementation is selected and the local SRAM is accessible through memory cycles on the ISA bus interface. When operating in the Bus Slave mode with this bit set to ONE, a Programmed I/O implementation is selected and the local SRAM is accessible through I/O cycles on the ISA bus interface. Refer to the Shared Memory and Programmed I/O sections for details on these two architecture schemes. When operating in the Bus Master mode, this bit has no effect. PIOSEL is reset to ZERO. 12 SLOT_ID Slot Identification. This is a read-only register bit which indicates if PCnet-ISA II is either in an 16 or 8 bit slot. Reading a one indicates an 8 bit slot. Zero indi- 10 EISA_DECODE 9 P&P_ACT 8 APWEN 7 EISA_LVL 6 DSDBUS 5 10BASE5_SEL Am79C961A cates a 16-bit slot. (SLOT_ID bit is not valid after the INIT bit is set in CSR0.) ISA Protect. When set, the ISACSR’s 0–2 and 4–9 are protected from being written over by software drivers. When ISA_ PROTECT is cleared, ISACSR’s 0–2 and 4–9 are allowed to be written over by software and reset by reading the Software reset I/O location. (Default is zero) EISA Decode. This control bit allows EISA product identifier registers 12-bit decode xC80 - xC83 (4 Bytes). Default is zero. Plug and Play Active. When this bit is set, PCnet-ISA II will become active after serially reading the EEPROM. If check sum failure exist, PCnet-ISA II will not become active and alternate access method to Plug and Play registers will occur. Default is zero. Address PROM Write Enable. It is reset to zero by RESET. When asserted, this pin allows write access to the internal Address PROM RAM. APWEN is used also to protect the Flash device from write cycles. When programming of the Flash device is required, the APWEN bit needs to be set. When reset, this pin protects the internal Address PROM RAM, and external Flash device from being overwritten. EISA Level. This bit is a read-only register. It indicates if the level or edge sensitive interrupts have been selected. A set condition indicates level sensitive interrupts. A clear condition indicates ISA edge. Disable Staggered Data Bus. When this bit is a zero, the data bus driver timing is staggered from the address bus driver timing in Bus Master mode. When this bit is a one, the data bus is not staggered. It is similar to the PCnet-ISA (Am79C960) timing. This bit is reset to zero. For most applications, this bit should not have to be set. 10BASE5 Select. When set, this bit inverts the polarity of the DXCVR pin only when the AUI port 115 4 3 2 1,0 116 ISAINACT EADISEL is active. When the 10BASE5_SEL bit is set and the AUI port is active, the DXCVR is driven such that an external DC-DC converter will be disabled. The actual polarity of the DXCVR pin is determined by the DXCVRP bit in PnP Register 0xF0. When the 10BASE-T port is active, this bit has no effect. 10BASE5_SEL is reset to ZERO. ISAINACT allows for reduced inactive timing appropriate for modern ISA machines. ISAINACT is cleared when RESET is asserted. When ISAINACT is a zero, tMMR3 and tMMW3 parameters are nominally 200 ns, which is compatible with EISA system. When ISAINACT is set by writing a one, tMMR3 and tMMW3 are nominally set to 100 ns. EADI Select. Enables EADI match mode. When EADI mode is selected, the pins named LED1, LED2, and LED3 change in function while LED0 continues to indicate 10BASE-T Link Status. LED EADI Function 1 SF/BD 2 SRD 3 SRDCLK AWAKE MEDSEL Auto-Wake. If AWAKE = “1", the 10BASE-T receive circuitry is active during sleep and listens for Link Pulses. LED0 indicates Link Status and goes active if the 10BASE-T port comes out of “link fail” state. This LED0 pin can be used by external circuitry to re-enable the PCnet-ISA II controller and/or other devices. When AWAKE = “0", the Auto-Wake circuity is disabled. This bit only has meaning when the 10BASE-T network interface is selected. Media Select. It was previously defined as ASEL (Auto Select) and XMAUSEL (External MAU Select) in the PCnet-ISA. They are now combined together and defined to be software compatible with ASEL and XMAUSEL in the PCnet-ISA (Am79C960). MEDSEL (1:0) Function 0 0 Software Select (Mode Reg, CSR15) 0 1 10BASE-T Port 1 0 Auto Selection (Default) 1 1 AUI Port ISACSR3: EEPROM Configuration Bit Name Description 15 EE_VALID 14 EE_LOAD EEPROM Valid. This bit is a read-only register. When a one is read, EE_PROM has a valid checksum. The sum of the total bytes reads should equals FF hex. When a zero is read, checksum failed, or SHFTBUSY pin was sampled with a zero which indicates no EEPROM present. EEPROM Load. When written with a one, the device will load the EEPROM into the PCnet-ISA II, performing self configuration. This command must be last write to ISACSR3 Register. PCnet-ISA II will not respond to any slave commands while loading the EEPROM register. EE_LOAD will be reset with a zero after EEPROM is read. It takes approximately, 1.4 ms for serial EEPROM load process to complete. Reserved. Read and written as zeros. EEPROM Enable. When EE_EN is written with a one, the lower three bits of PRDB becomes SK, DI and DO, respectively. EECS and SHFBUSY are controlled by the software select bits. This bit must be written with a one to write to or read from the EEPROM. PCnet-ISA II should be in the STOP state when EE_EN is written. When EE_EN is cleared, DI/DO, SK, EECS and SHFBUSY have no control. Shift Busy. SHFBUSY allows for the control of the SHFBUSY pin. When a one is written, SHFBUSY goes high provided EE_EN is a 1. When a zero is written, SHFBUSY is held to a zero. When EE_EN is cleared, SHFBUSY will maintain the last value programmed. (Refer to Bit 4 above, 13–5 N/A 4 EE_EN 3 SHFBUSY Am79C961A EE_EN, for detailed use of this bit). 2 EECS EEPROM Chip Select. EECS asserts the chip select to the Serial EEPROM. (Refer to Bit 4 above, EE_EN, for detailed use of this bit). 1 SK Serial Shift Clock. SK controls the SK input to the Serial EEPROM and the optional External Shift Logic. (Refer to Bit 4 above, EE_EN, for detailed use of this bit). 0 DI/DO Serial Shift Data In and Serial Shift Data Out. When written, this bit controls the DI input of the serial EEPROM. When read, this bit represents the DO value of the serial EEPROM. (Refer to Bit 4 above, EE_EN, for detailed use of this bit). ISACSR4: LED0 Status (Link Integrity) Bit 15 Name LNKST 14-0 RES Reserved locations. Written as zero, read as undefined. ISACSR5: LED1 Status Bit Name 15 LEDOUT 14-10 RES 9 MP 8 FDLSE 7 PSE Description ISACSR4 is a non-programmable register that uses one bit to reflect the status of the LED0 pin. This pin defaults to twisted pair MAU Link Status (LNKST) and is not programmable. 10BASE-T Link Status. LNKST is a read-only bit that indicates whether the Link Status LED is asserted. When LNKST is read as zero, the Link Status LED is not asserted. When LNKST is read as one, the Link Status LED is asserted, indicating good 10BASE-T link integrity. Note that the LNKST LED is masked if the 10BASE-T port is operating in Full Duplex mode, AUIFD (ISACSR9, bit 1) is cleared, and any one of the FDLSE bits is set in ISACSR5, 6, or 7. Hence, an adapter card with a 10BASE2 port (through the AUI port) and a 10BASE-T port that can be software enabled for Half or Full Duplex operation can have a Half Duplex Link Status LED and a Full Duplex Link Status LED in which only one will be allowed ON, depending on if FDEN (ISACSR9, bit 0) is set. 14-0 RESReserved locations. Written as zero, read as undefined. Am79C961A Description ISACSR5 controls the function(s) that the LED1 pin displays. Multiple functions can be simultaneously enabled on this LED pin. The LED display will indicate the logical OR of the enabled functions. ISACSR5 defaults to Receive Status (RCV) with pulse stretcher enabled (PSE = 1) and is fully programmable. Indicates the current (nonstretched) state of the function(s) generated. Read only. Reserved locations. Read and written as zero. Magic Packet LED Enable. When set, the LED output will be asserted to indicate that a Magic Packet has been received. Full Duplex Link Status Enable. Indicates the Full Duplex Link Test Status. When this bit is set, a value of ONE is passed to the LEDOUT signal when the PCnet-ISA II is functioning in a link pass state with Full Duplex capability. When the PCnet-ISA II is not functioning in a link pass state with Full Duplex capability, a value of ZERO is passed to the LEDOUT signal. When the 10BASE-T port is active, a value of ONE is passed to the LEDOUT signal whenever the Link Test Function (described in the T-MAU section) detects a Link Pass state and the FDEN (ISACSR9, bit 0) bit is set. When the AUI port is active, a value of ONE is passed to the LEDOUT signal whenever Full Duplex operation on the AUI port is enabled (both FDEN and AUIFD bits in ISACSR9 are set to ONE). When the GPSI port is active, a value of ONE is passed to the LEDOUT signal whenever Full Duplex operation on the GPSI port is enabled (FDEN bit in ISACSR9 is set to ONE). Pulse Stretcher Enable. Extends the LED illumination for each enabled function occurrence. 117 0 is disabled, 1 is enabled. 6 RES Reserved locations. Read and written as zero. 5 RCVADDM Receive Address Match. This bit when set allows for LED control of only receive packets which match internal address match. 4 XMT E Enable Transmit Status Signal. Indicates PCnet-ISA II controller transmit activity. 0 disables the signal, 1 enables the signal. 3 RVPOL E Enable Receive Polarity Signal. Enables LED pin assertion when receive polarity is correct on the 10BASE-T port. Clearing the bit indicates this function is to be ignored. 2 RCV E Enable Receive Status Signal. Indicates receive activity on the network. 0 disables the signal, 1 enables the signal. 1 JAB E Enable Jabber Signal. Indicates the PCnet-ISA II controller is jabbering on the network. 0 disables the signal, 1 enables the signal. 0 COL E Enable Collision Signal. Indicates collision activity on the network. 0 disables the signal, 1 enables the signal. ISACSR6: LED2 Status Bit Name 15 LEDOUT 14 LEDXOR 118 Note: This bit when used in conjunction with the RVPOLE bit (Bit 3) of ISACSR6 can be used to create a “Polarity Bad” LED.) RVPOLE LEDXOR 0 X 10BASE-T polarity function ignored 1 0 LED2 pin low with “Good” 10BASE-T polarity (LED on) 1 1 LED2 pin high with “Good” 10BASE-T polarity (LED off) 13-10 RES 9 MP 8 FDLSE 7 PSE 6 RES 5 RCVADDM Description ISACSR6 controls the function(s) that the LED2 pin displays. Multiple functions can be simultaneously enabled on this LED pin. The LED display will indicate the logical OR of the enabled functions. ISACSR6 defaults to twisted pair MAU Receive Polarity (RCVPOL) with pulse stretcher enabled (PSE = 1) and is fully programmable. Indicates the current (nonstretched) state of the function(s) generated. Read only. This bit when set causes LED2 to be an active high signal when asserted. When this bit is cleared, LED2 will be active low when asserted. Am79C961A Result Reserved locations. Read and written as zero. Magic Packet LED Enable. When set, the LED output will be asserted to indicate that a Magic Packet has been received. Full Duplex Link Status Enable. Indicates the Full Duplex Link Test Status. When this bit is set, a value of ONE is passed to the LEDOUT signal when the PCnet-ISA II is functioning in a link pass state with Full Duplex capability. When the PCnet-ISA II is not functioning in a link pass state with Full Duplex capability, a value of ZERO is passed to the LEDOUT signal. When the 10BASE-T port is active, a value of ONE is passed to the LEDOUT signal whenever the Link Test Function (described in the T-MAU section) detects a Link Pass state and the FDEN (ISACSR9, bit 0) bit is set. When the AUI port is active, a value of ONE is passed to the LEDOUT signal whenever Full Duplex operation on the AUI port is enabled (both FDEN and AUIFD bits in ISACSR9 are set to ONE). When the GPSI port is active, a value of ONE is passed to the LEDOUT signal whenever Full Duplex operation on the GPSI port is enabled (FDEN bit in ISACSR9 is set to ONE). Pulse Stretcher Enable. Extends the LED illumination for each enabled function occurrence. 0 is disabled, 1 is enabled. Reserved locations. Read and written as zero. Receive Address Match. This bit when set allows for LED control of only receive packets that match internal address match. 4 XMT E Enable Transmit Status Signal. Indicates PCnet-ISA II controller transmit activity. 0 disables the signal, 1 enables the signal. 3 RVPOL E Enable Receive Polarity Signal. Enables LED pin assertion when receive polarity is correct on the 10BASE-T port. Clearing the bit indicates this function is to be ignored. 2 RCV E Enable Receive Status Signal. Indicates receive activity on the network. 0 disables the signal, 1 enables the signal. 1 JAB E Enable Jabber Signal. Indicates the PCnet-ISA II controller is jabbering on the network. 0 disables the signal, 1 enables the signal. 0 COL E Enable Collision Signal. Indicates collision activity on the network. 0 disables the signal, 1 enables the signal. ISACSR7: LED3 Status Bit 15 Name LEDOUT 14-10 RES 9 MP 8 FDLSE Description ISACSR7 controls the function(s) that the LED3 pin displays. Multiple functions can be simultaneously enabled on this LED pin. The LED display will indicate the logical OR of the enabled functions. ISACSR7 defaults to Transmit Status (XMT) with pulse stretcher enabled (PSE = 1) and is fully programmable. Indicates the current (nonstretched) state of the function(s) generated. Read only. Reserved locations. Read and written as zero. Magic Packet LED Enable. When set, the LED output will be asserted to indicate that a Magic Packet has been received. Full Duplex Link Status Enable. Indicates the Full Duplex Link Test Status. When this bit is set, a value of ONE is passed to the LEDOUT signal when the PC- 7 PSE 6 RES 5 RCVADDM 4 XMT E 3 RVPOL E 2 RCV E 1 JAB E Am79C961A net-ISA II is functioning in a link pass state with Full Duplex capability. When the PCnet-ISA II is not functioning in a link pass state with Full Duplex capability, a value of ZERO is passed to the LEDOUT signal. When the 10BASE-T port is active, a value of ONE is passed to the LEDOUT signal whenever the Link Test Function (described in the T-MAU section) detects a Link Pass state and the FDEN (ISACSR9, bit 0) bit is set. When the AUI port is active, a value of ONE is passed to the LEDOUT signal whenever Full Duplex operation on the AUI port is enabled (both FDEN and AUIFD bits in ISACSR9 are set to ONE). When the GPSI port is active, a value of ONE is passed to the LEDOUT signal whenever Full Duplex operation on the GPSI port is enabled (FDEN bit in ISACSR9 is set to ONE). Pulse Stretcher Enable. Extends the LED illumination for each enabled function occurrence. 0 is disabled, 1 is enabled. Reserved locations. Read and written as zero. Receive Address Match. This bit when set allows for LED control of only receive packets that match internal address match. Enable Transmit Status Signal. Indicates PCnet-ISA II controller transmit activity. 0 disables the signal, 1 enables the signal. Enable Receive Polarity Signal. Enables LED pin assertion when receive polarity is correct on the 10BASE-T port. Clearing the bit indicates this function is to be ignored. Enable Receive Status Signal. Indicates receive activity on the network. 0 disables the signal, 1 enables the signal. Enable Jabber Signal. Indicates the PCnet-ISA II controller is jabbering on the network. 0 disables the signal, 1 enables the signal. 119 0 that Full Duplex operation will not be enabled on the 10BASE-T port if DLNKST (CSR15, bit 12) is set. FDEN is read/write accessible always. It is reset to ZERO by the RESET pin, and is unaffected by reading the Reset register or setting the STOP bit. COL E Enable Collision Signal. Indicates collision activity on the network. 0 disables the signal, 1 enables the signal. ISACSR8: Software Configuration Register (Read-Only Register) Bit Description 15-12 Read-only image of SRAM(3:0) of PnP register 0x48-0x49. 11-8 Read-only image of BPAM(3:0) of PnP register 0x40-0x41. 7-4 Read-only image of IRQSEL(3:0) of PnP register 0x70. 3 2-0 Read only bit indicating whether the SRAM is activated as a memory resource. Set when the Shared Memory is not activated as an ISA memory resource. Read-only image of DMASEL(2:0) of PnP register 0x74. Bit Name Description 1 AUIFD AUI Full Duplex. AUIFD controls whether Full Duplex operation on the AUI port is enabled. AUIFD is only meaningful if FDEN (ISACSR9, bit 0) is set to ONE. If the FDEN bit is ZERO, the AUI port will always operate in Half Duplex mode. In addition, if FDEN is set to ONE but the AUIFD bit is reset to ZERO, the AUI port will always operate in Half Duplex mode. If FDEN is set to ONE and AUIFD is set to ONE, Full Duplex operation on the AUI port is enabled. AUIFD is read/write accessible always. It is reset to ZERO by the RESET pin, and is unaffected by reading the Reset register or setting the STOP bit. Full Duplex Enable. FDEN controls whether Full Duplex operation is enabled. When FDEN is cleared, Full Duplex operation is not enabled and the PCnet-ISA II will always operate in the Half Duplex mode. When FDEN is set, the PCnet-ISA II will operate in Full Duplex mode when the 10BASE-T or GPSI port is enabled or when the AUI port is enabled and the AUIFD (ISACSR9, bit 1) bit is set. Note 120 FDEN The figure below shows the Initialization Block memory configuration. Note that the Initialization Block must be based on a word (16-bit) boundary. Address ISACSR9: Miscellaneous Configuration 2 0 Initialization Block Bits 15–12 Bits 11–8 Bits 7–4 IADR+00 MODE 15–00 IADR+02 PADR 15–00 IADR+04 PADR 31–16 IADR+06 PADR 47–32 IADR+08 LADRF 15–00 IADR+10 LADRF 31–16 IADR+12 LADRF 47–32 IADR+14 LADRF 63–48 IADR+16 RDRA 15–00 IADR+18 RLEN IADR+20 IADR+22 RES Bits 3–0 RDRA 23–16 TDRA 15–00 TLEN RES TDRA 23–16 RLEN and TLEN The TLEN and RLEN fields in the initialization block are 3 bits wide, occupying bits 15,14, and 13, and the value in these fields determines the number of Transmit and Receive Descriptor Ring Entries (DRE) which are used in the descriptor rings. Their meaning is as follows: R/TLEN # of DREs 000 1 001 2 010 4 011 8 100 16 101 32 110 64 111 128 If a value other than those listed in the above table is desired, CSR76 and CSR78 can be written after initialization is complete. See the description of the appropriate CSRs. Am79C961A RDRA and TDRA TDRA and RDRA indicate where the transmit and receive descriptor rings, respectively, begin. Each DRE must be located on an 8-byte boundary. LADRF The Logical Address Filter (LADRF) is a 64-bit mask that is used to accept incoming Logical Addresses. If the first bit in the incoming address (as transmitted on the wire) is a “1", the address is deemed logical. If the first bit is a “0", it is a physical address and is compared against the physical address that was loaded through the initialization block. A logical address is passed through the CRC generator, producing a 32-bit result. The high order 6 bits of the CRC are used to select one of the 64 bit positions in the Logical Address Filter. If the selected filter bit is set, the address is accepted and the frame is placed into memory. The Logical Address Filter is used in multicast addressing schemes. The acceptance of the incoming frame based on the filter value indicates that the message may be intended for the node. It is the node’s responsibility to determine if the message is actually intended for the node by comparing the destination address of the stored message with a list of acceptable logical addresses. If the Logical Address Filter is loaded with all zeroes and promiscuous mode is disabled, all incoming logical addresses except broadcast will be rejected. 7. If the Disable Broadcast Bit is cleared, the broadcast address is accepted. 8. If the Disable Broadcast Bit is set and promiscuous mode is enabled, the broadcast address is accepted. 9. If the Disable Broadcast Bit is set and promiscous mode is disabled, the broadcast address is rejected. If external loopback is used, the FCS logic must be allocated to the receiver (by setting the DXMTFCS bit in CSR15, and clearing the ADD_FCS bit in TMD1) when using multicast addressing. PADR This 48-bit value represents the unique node address assigned by the IEEE and used for internal address comparison. PADR[0] is the first address bit transmitted on the wire, and must be zero. The six-hex-byte nomenclature used by the IEEE maps to the PCnet-ISA II controller PADR register as follows: the first byte comprises PADR[7:0], with PADR[0] being the least significant bit of the byte. The second IEEE byte maps to PADR[15:8], again from LSbit to MSbit, and so on. The sixth byte maps to PADR[47:40], the LSbit being PADR[40]. MODE The mode register in the initialization block is copied into CSR15 and interpreted according to the description of CSR15. The Broadcast address, which is all ones, does not go through the Logical Address Filter and is handled as follows: . 32-Bit Resultant CRC Received Message Destination Address 47 31 26 0 1 0 1 CRC GEN 63 SEL Logical Address Filter (LADRF) 0 64 MATCH = 1: Packet Accepted MATCH = 0: Packet Rejected MUX MATCH 6 Address Match Logic Am79C961A 19364B-23 121 Receive Descriptors The Receive Descriptor Ring Entries (RDREs) are composed of four receive message fields (RMD0-3). Together they contain the following information: 11 CRC 10 BUFF 9 STP 8 ENP ■ The address of the actual message data buffer in user (host) memory ■ The length of that message buffer ■ Status information indicating the condition of the buffer. The eight most significant bits of RMD1 (RMD1[15:0]) are collectively termed the STATUS of the receive descriptor. RMD0 Holds LADRF [15:0]. This is combined with HADR [7:0] in RMD1 to form the 24-bit address of the buffer pointed to by this descriptor table entry. There are no restrictions on buffer byte alignment or length. RMD1 Bit Name Description 15 OWN This bit indicates that the descriptor entry is owned by the host (OWN=0) or by the PCnet-ISA II controller (OWN=1). The PCnetISA II controller clears the OWN bit after filling the buffer pointed to by the descriptor entry. The host sets the OWN bit after emptying the buffer. Once the PCnet-ISA II controller or host has relinquished ownership of a buffer, it must not change any field in the descriptor entry. ERR is the OR of FRAM, OFLO, CRC, or BUFF. ERR is written by the PCnet-ISA II controller. FRAMING ERROR indicates that the incoming frame contained a non-integer multiple of eight bits and there was an FCS error. If there was no FCS error on the incoming frame, then FRAM will not be set even if there was a non integer multiple of eight bits in the frame. FRAM is not valid in internal loopback mode. FRAM is valid only when ENP is set and OFLO is not. FRAM is written by the PCnet-ISA II controller. OVERFLOW error indicates that the receiver has lost all or part of the incoming frame, due to an inability to store the frame in a memory buffer before the internal FIFO overflowed. OFLO is valid only when ENP is not set. 14 13 12 122 ERR FRAM OFLO 7-0 HADR OFLO is written by the PCnet-ISA II controller. CRC indicates that the receiver has detected a CRC (FCS) error on the incoming frame. CRC is valid only when ENP is set and OFLO is not. CRC is written by the PCnet-ISA II controller. BUFFER ERROR is set any time the PCnet-ISA II controller does not own the next buffer while data chaining a received frame. This can occur in either of two ways: 1) The OWN bit of the next buffer is zero 2) FIFO overflow occurred before the PCnet-ISA II controller polled the next descriptor If a Buffer Error occurs, an Overflow Error may also occur internally in the FIFO, but will not be reported in the descriptor status entry unless both BUFF and OFLO errors occur at the same time. BUFF is written by the PCnet-ISA II controller. START OF PACKET indicates that this is the first buffer used by the PCnet-ISA II controller for this frame. It is used for data chaining buffers. STP is written by the PCnet-ISA II controller in normal operation. In SRPINT Mode (CSR3.5 set to 1) this bit is written by the driver. END OF PACKET indicates that this is the last buffer used by the PCnet-ISA II controller for this frame. It is used for data chaining buffers. If both STP and ENP are set, the frame fits into one buffer and there is no data chaining. ENP is written by the PCnet-ISA II controller. The HIGH ORDER 8 address bits of the buffer pointed to by this descriptor. This field is written by the host and is not changed by the PCnet-ISA II controller. RMD2 Bit Name 15-12 ONES Am79C961A Description MUST BE ONES. This field is written by the host and 11-0 BCNT unchanged by the PCnet-ISA II controller. BUFFER BYTE COUNT is the length of the buffer pointed to by this descriptor, expressed as the two’s complement of the length of the buffer. This field is written by the host and is not changed by the PCnet-ISA II controller. RMD3 Bit Name 15-12 RES 11-0 MCNT 14 ERR 13 ADD_FCS 12 MORE 11 ONE 10 DEF Description RESERVED and read as zeros. MESSAGE BYTE COUNT is the length in bytes of the received message, expressed as an unsigned binary integer. MCNT is valid only when ERR is clear and ENP is set. MCNT is written by the PCnet-ISA II controller and cleared by the host. MCNT Includes: DEST + SRC + Length + Data + CRC unless the auto strip on receive bit is set. In this case, the Pad and CRC are thrown away by the controller. Transmit Descriptors The Transmit Descriptor Ring Entries (TDREs) are composed of four transmit message fields (TMD0-3). Together they contain the following information: ■ The address of the actual message data buffer in user or host memory ■ The length of the message buffer ■ Status information indicating the condition of the buffer. The eight most significant bits of TMD1 (TMD1[15:8]) are collectively termed the STATUS of the transmit descriptor. Note that bit 13 of TMD1, which was formerly a reserved bit in the LANCE (Am7990), is assigned a new meaning, ADD_FCS. TMD0 Holds LADR [15:0]. This is combined with HADR [7:0] in TMD1 to form a 24-bit address of the buffer pointed to by this descriptor table entry. There are no restrictions on buffer byte alignment or length. TMD1 Bit Name Description 15 OWN This bit indicates that the descriptor entry is owned by the host (OWN=0) or by the PCnet-ISA II controller (OWN=1). Am79C961A The host sets the OWN bit after filling the buffer pointed to by the descriptor entry. The PCnet-ISA II controller clears the OWN bit after transmitting the contents of the buffer. Both the PCnet-ISA II controller and the host must not alter a descriptor entry after it has relinquished ownership. ERR is the OR of UFLO, LCOL, LCAR, or RTRY. ERR is written by the PCnet-ISA II controller. This bit is set in the current descriptor when the error occurs, and therefore may be set in any descriptor of a chained buffer transmission. ADD_FCS dynamically controls the generation of FCS on a frame by frame basis. It is valid only if the STP bit is set. When ADD_FCS is set, the state of DXMTFCS is ignored and transmitter FCS generation is activated. When ADD_FCS = 0, FCS generation is controlled by DXMTFCS. ADD_FCS is written by the host, and unchanged by the PCnet-ISA II controller. This was a reserved bit in the LANCE (Am7990). MORE indicates that more than one re-try was needed to transmit a frame. MORE is written by the PCnet-ISA II controller. This bit has meaning only if the ENP or the ERR bit is set. ONE indicates that exactly one re-try was needed to transmit a frame. ONE flag is not valid when LCOL is set. ONE is written by the PCnet-ISA II controller. This bit has meaning only if the ENP or the ERR bit is set. DEFERRED indicates that the PCnet-ISA II controller had to defer while trying to transmit a frame. This condition occurs if the channel is busy when the PCnet-ISA II controller is ready to transmit. DEF is written by the PCnet-ISA II controller. This bit has meaning only if the ENP or ERR bits are set. 123 9 STP 8 ENP 7-0 HADR START OF PACKET indicates that this is the first buffer to be used by the PCnet-ISA II controller for this frame. It is used for data chaining buffers. The STP bit must be set in the first buffer of the frame, or the PCnet-ISA II controller will skip over the descriptor and poll the next descriptor(s) until the OWN and STP bits are set. STP is written by the host and is not changed by the PCnet-ISA II controller. END OF PACKET indicates that this is the last buffer to be used by the PCnet-ISA II controller for this frame. It is used for data chaining buffers. If both STP and ENP are set, the frame fits into one buffer and there is no data chaining. ENP is written by the host and is not changed by the PCnet-ISA II controller. The HIGH ORDER 8 address bits of the buffer pointed to by this descriptor. This field is written by the host and is not changed by the PCnet-ISA II controller. 14 UFLO 13 RES 12 LCOL 11 LCAR 10 RTRY TMD2 Bit Name 15-12 ONES 11-0 BCNT Description MUST BE ONES. This field is written by the host and unchanged by the PCnet-ISA II controller. BUFFER BYTE COUNT is the length of the buffer pointed to by this descriptor, expressed as the two’s complement of the length of the buffer. This is the number of bytes from this buffer that will be transmitted by the PCnet-ISA II controller. This field is written by the host and is not changed by the PCnet-ISA II controller. There are no minimum buffer size restrictions. Zero length buffers are allowed for protocols which require it. TMD3 Bit Name Description 15 BUFF BUFFER ERROR is set by the PCnet-ISA II controller during transmission when the PCnet-ISA II controller does not find 124 Am79C961A the ENP flag in the current buffer and does not own the next buffer. This can occur in either of two ways: 1) The OWN bit of the next buffer is zero. 2) FIFO underflow occurred before the PCnet-ISA II controller obtained the next STATUS byte (TMD1[15:8]). BUFF error will turn off the transmitter (CSR0, TXON = 0), if DXSUFLO = 0 (bit 6 CSR3). If a Buffer Error occurs, an Underflow Error will also occur. BUFF is not valid when LCOL or RTRY error is set during transmit data chaining. BUFF is written by the PCnet-ISA II controller. UNDERFLOW ERROR indicates that the transmitter has truncated a message due to data late from memory. UFLO indicates that the FIFO has emptied before the end of the frame was reached. Upon UFLO error, the transmitter is turned off (CSR0, TXON = 0), if DXSUFLO = 0 (bit 6 CSR3). UFLO is written by the PCnet-ISA II controller. RESERVED bit. The PCnet-ISA II controller will write this bit with a “0". LATE COLLISION indicates that a collision has occurred after the slot time of the channel has elapsed. The PCnet-ISA II controller does not re-try on late collisions. LCOL is written by the PCnet-ISA II controller. LOSS OF CARRIER is set in AUI mode when the carrier is lost during an PCnet-ISA II controller- initiated transmission. The PCnet-ISA II controller does not stop transmission upon loss of carrier. It will continue to transmit the whole frame until done. LCAR is written by the PCnet-ISA II controller. In 10BASE-T mode, LCAR will be set when the T-MAU is in link fail state. RETRY ERROR indicates that the transmitter has failed after 16 attempts to successfully transmit a message, due to repeated collisions on the 09-00 TDR medium. If DRTY = 1 in the MODE register, RTRY will set after one failed transmission attempt. RTRY is written by the PCnet-ISA II controller. TIME DOMAIN REFLECTOMETRY reflects the state of an internal PCnet-ISA II controller counter that counts at a 10 MHz rate from the start of a transmission to the occurrence of a collision or loss of carrier. This value Am79C961A is useful in determining the approximate distance to a cable fault. The TDR value is written by the PCnet-ISA II controller and is valid only if RTRY is set. Note that 10 MHz gives very low resolution and in general has not been found to be particularly useful. This feature is here primarily to maintain full compatibility with the LANCE. 125 Register Summary Ethernet Controller Registers (Accessed via RDP Port) RAP Addr Symbol Width User Register 00 CSR0 16-bit Y PCnet-ISA II controller status 01 CSR1 16-bit Y Lower IADR: maps to location 16 02 CSR2 16-bit Y Upper IADR: maps to location 17 03 CSR3 16-bit Y Mask Register 04 CSR4 16-bit Y Miscellaneous Register 05 CSR5 16-bit Reserved 06 CSR6 16-bit RXTX: RX/TX Encoded Ring Lengths 07 CSR7 16-bit 08 CSR8 16-bit Y LADR0: LADRF[15:0] 09 CSR9 16-bit Y LADR1: LADRF[31:16] 10 CSR10 16-bit Y LADR2: LADRF[47:32] 11 CSR11 16-bit Y LADR3: LADRF[63:48] 12 CSR12 16-bit Y PADR0: PADR[15:0] 13 CSR13 16-bit Y PADR1: PADR[31:16] 14 CSR14 16-bit Y PADR2: PADR[47:32] Y 126 Comments Reserved 15 CSR15 16-bit 16-17 CSR16 32-bit IADR: Base Address of INIT Block MODE: Mode Register 18-19 CSR18 32-bit CRBA: Current RCV Buffer Address 20-21 CSR20 32-bit CXBA: Current XMT Buffer Address 22-23 CSR22 32-bit 24-25 CSR24 32-bit NRBA: Next RCV Buffer Address 26-27 CSR26 32-bit NRDA: Next RCV Descriptor Address 28-29 CSR28 32-bit CRDA: Current RCV Descriptor Address 30-31 CSR30 32-bit 32-33 CSR32 32-bit NXDA: Next XMT Descriptor Address 34-35 CSR34 32-bit CXDA: Current XMT Descriptor Address 36-37 CSR36 32-bit Next Next Receive Descriptor Address Y Y BADR: Base Address of RCV Ring BADX: Base Address of XMT Ring 38-39 CSR38 32-bit Next Next Transmit Descriptor Address 40-41 CSR40 32-bit CRBC: Current RCV Stat and Byte Count 42-43 CSR42 32-bit CXBC: Current XMT Status and Byte Count 44-45 CSR44 32-bit NRBC: Next RCV Stat and Byte Count 46 CSR46 16-bit 47 CSR47 32-bit 48-49 CSR48 32-bit TMP0: Temporary Storage 50-51 CSR50 32-bit TMP1: Temporary Storage 52-53 CSR52 32-bit TMP2: Temporary Storage 54-55 CSR54 32-bit TMP3: Temporary Storage 56-57 CSR56 32-bit TMP4: Temporary Storage 58-59 CSR58 32-bit TMP5: Temporary Storage 60-61 CSR60 32-bit PXDA: Previous XMT Descriptor Address 62-63 CSR62 32-bit PXBC: Previous XMT Status and Byte Count POLL: Poll Time Counter Y Am79C961A Polling Interval Register Summary Ethernet Controller Registers (Accessed via RDP Port) RAP Addr Symbol Width User Register 64-65 CSR64 32-bit NXBA: Next XMT Buffer Address 66-67 CSR66 32-bit NXBC: Next XMT Status and Byte Count 68-69 CSR68 32-bit XSTMP: XMT Status Temporary 70-71 CSR70 32-bit RSTMP: RCV Status Temporary 72 CSR72 16-bit RCVRC: RCV Ring Counter 74 CSR74 16-bit XMTRC: XMT Ring Counter 76 CSR76 16-bit Y RCVRL: RCV Ring Length 78 CSR78 16-bit Y XMTRL: XMT Ring Length 80 CSR80 16-bit Y DMABR: Burst Register 82 CSR82 16-bit Y DMABAT: Bus Activity Timer 84-85 CSR84 32-bit DMABA: Address Register 86 CSR86 16-bit DMABC: Byte Counter/Register 88-89 CSR88 32-bit 92 CSR92 16-bit RCON: Ring Length Conversion Register 94 CSR94 16-bit XMTTDR: Transmit Time Domain Reflectometry 96-97 CSR96 32-bit SCR0: BIU Scratch Register 0 98-99 CSR98 32-bit SCR1: BIU Scratch Register 1 104-105 CSR104 32-bit SWAP:16-bit Word/Byte Swap Register 108-109 CSR108 32-bit BMSCR: BMU Scratch Register 112 CSR112 16-bit Y Missed Frame Count 114 CSR114 16-bit Y Receive Collision Count 124 CSR124 16-bit Y BMU Test Register 126 CSR126 16-bit Y Comments Chip ID Register Reserved Note: Although the PCnet-ISA II controller has many registers that can be accessed by software, most of these registers are intended for debugging and production testing purposes only. The registers with a "Y" are the only registers that should be accessed by network software. Am79C961A 127 Register Summary ISACSR—ISA Bus Configuration Registers (Accessed via IDP Port) RAP Addr Mnemonic Default 0 MSRDA 0005H Master Mode Read Active 1 MSWRA 0005H Master Mode Write Active 2 MC 0002H Miscellaneous Configuration 3 EC 8000*H EEPROM Configuration 4 LED0 0000H LED0 Status (Link Integrity) 5 LED1 0084H LED1Status (Default: RCV) 6 LED2 0008H LED2 Status (Default: RCVPOL) 7 LED3 0090H LED3 Status (Default: XMT) 8 SC 0000H Software Configuration (Read-Only Register) 9 DUP 0000H Full/Half Duplex Conditions (Default: Half Duplex) * This value can be 0000H for systems that do not support EEPROM option I/O Address Offset Offset #Bytes 0h 16 Address PROM 10h 2 RDP 12h 2 RAP(shared by RDP and IDP) 14h 2 Reset 16h 2 IDP 128 Register Am79C961A Name SYSTEM APPLICATION ISA Bus Interface Compatibility Considerations Although 8 MHz is now widely accepted as the standard speed at which to run the ISA bus, many machines have been built which operate at higher speeds with non-standard timing. Some machines do not correctly support 16-bit I/O operations with wait states. Although the PCnet-ISA II controller is quite fast, some operations still require an occasional wait state. The PCnet-ISA II controller moves data through memory accesses, therefore, I/O operations do not affect performance. By configuring the PCnet-ISA II controller as an 8-bit I/O device, compatibility with PC/AT-class machines is obtained at virtually no cost in performance. To treat the PCnet-ISA II controller as an 8-bit software resource (for non-ISA applications), the even-byte must be accessed first, followed by an odd-byte access. Memory cycle timing is an area where some tradeoffs may be necessary. Any slow down in a memory cycle translates directly into lower bandwidth. The PCnet-ISA II controller starts out with much higher bandwidth than most slave type controllers and should continue to be superior even if an extra 50 or 100 ns are added to memory cycles. The memory cycle active time is tunable in 50 ns increments with a default of 250 ns. The memory cycle idle time defaults to 200 ns and can be reprogrammed to 100 ns. See register description for ISACS42. Most machines should not need tuning. The PCnet-ISA II controller is compatible with NE2100 and NE1500T software drivers. All the resources such as address PROM, boot PROM, RAP, and RDP are in the same location with the same semantics. An additional set of registers (ISA CSR) is available to configure on board resources such as ISA bus timing and LED operation. However, loopback frames for the PCnet-ISA II controller must contain more than 64 bytes of data if the Runt Packet Accept feature is not enabled; this size limitation does not apply to LANCE (Am7990) based boards such as the NE2100 and NE1500T. Bus Master Bus Master mode is the preferred mode for client applications on PC/AT or similar machines supporting 16-bit DMA with its unsurpassed combination of high performance and low cost. Shared Memory The shared memory mode is recommended for file servers or other applications where there is very high, average or peak latency. The address compare circuit has the following functions. It receives the 7 LA signals, generates MEMCS16, and compares them to the desired shared memory and boot PROM addresses. The logic latches the address compare result when BALE goes inactive and uses the appropriate SA signals to generate SMAM and BPAM. All these functions can be performed in one PAL device. To operate in an 8-bit PC/XT environment, the LA signals should have weak pull-down resistors connected to them to present a logic 0 level when not driven. Am79C961A 129 BPCS OE CE PRDB[0-7] 16-Bit System Data D[0–7] Boot PROM SD[0–15] PCnet-ISA II Controller ISA Bus 24-Bit System Address PRDB[2]/EEDO A[0–15] PRDB[1]/EEDI PRDB[0]/EESK DO DI SK CS SA[0–19] LA[17–23] SHFBUSY EECS EEPROM VCC ORG VCC 19364B-24 Bus Master Block Diagram Plug and Play Compatible BPCS ISA Bus 24-Bit System Address IEEE Address PROM PRDB[0] SD[0–15] 16-Bit System Data A[0–4] D[0–7] G PRDB[0]/EESK PCnet-ISA II Controller PRDB[1]/EEDI PRDB[2]/EEDO SA[0] LA[17–23] EECS IRQ15/ IRQ12/FlashWE SHFBUSY VCC WE A[0–15] D[0–7] Flash CS OE SK DI EEPROM VCC DO CS Bus Master Block Diagram Plug and Play Compatible with Flash Support 130 Am79C961A ORG 19364B-25 A[0–15] PRAB(0:15) 16-Bit System Data 24-Bit System Address SD[0–15] CE OE D[0-7] BPCS PRDB[0–7] PCnet-ISA II Controller PRDB[2]/EEDO 2 DO PRDB[1]/EEDI 1 DI PRDB[0]/EESK 0 SK SA[0–15] SMAM Boot PROM EECS EEPROM CS VCC ORG SHFBUSY BPAM SRWE SROE ISA Bus A[0-15] D[0-7] WE SRAM CS VCC OE BPAM SHFBUSY CLK SMAM SA[16] LA[17-23] External Glue Logic SIN MEMCS16 Shared Memory Block Diagram Plug and Play Compatible Am79C961A 19364B-26 131 A[0-15] PRAB[0-15] PRDB[0–7] WE BPCS CS SD[0–15] 16-Bit System Data PCnet-ISA II Controller 24-Bit System Address SA[0–19] D[0-7] FLASH OE SROE PRDB[2]/EEDO DO PRDB[1]/EEDI DI PRDB[0]/EESK EECS SK CS EEPROM VCC ORG SRWE SHFBUSY SRAM BPAM IRQ12/SRCS ISA Bus OE A[0-15] WE SRAM CS D[0-7] SIN MEMCS16 CLK VCC External BPAM Glue SRAM Logic SHFBUSY SA[16] LA[17-23] 19364B-27 Shared Memory Block Diagram Plug and Play Compatible with Flash Memory Support Optional Address PROM Interface Boot PROM Interface The suggested address PROM is the Am27LS19, a 32x8 device. APCS should be connected directly to the device’s G input. The boot PROM is a 8K – 64K EPROM. Its OE pin should be tied to ground, and chip enable CE to BPCS to minimize power consumption at the expense of speed. Shown below is a 27C128. A4–A0 G Higher density EPROMs place an address line on the pin that is defined for lower density EPROMs as the VPP (programming voltage) pin. For READ only operation on an EPROM, the VPP pin can assume any logic level, as long as the voltage on the VPP pin does not exceed the programming voltage threshold (typically 7 V to 12 V). Therefore, a socket with a 27512 pinout will also support 2764 and 27128 EPROM devices. 27LS19 32 x 8 PROM Q7–Q0 Address PROM Example 19364B-28 132 Am79C961A EEPROM Interface A13–A0 The suggested EEPROM is the industry standard 93C56 2 Kbit serial EEPROM. This is used in the 16-bit mode to provide 128 x 16-bit EEPROM locations to store configuration information as well as the Plug and Play information. DQ7–DQ0 27C128 16K x 8 EPROM CE OE 19364B-29 93C56 Static RAM Interface (for Shared Memory Only) The SRAM is an 8Kx8 or 32Kx8 device. The PCnet-ISA II controller can support 64 Kbytes of SRAM address space. The PCnet-ISA II controller provides SROE and SRWE outputs which can go directly to the OE and pins of the SRAM, respectively. The address lines are connected as described in the shared memory section and the data lines go to the Private Data Bus. EECS CS PRDB2/EEDO DO PRDB1/EEDI DI PRDB0/EESK CLK VCC ORG 19364B-30 Boot PROM Example AUI 10BASE-T Interface The PCnet-ISA II controller drives the AUI through a set of transformers. The DI and CI inputs should each be terminated with a pair of matched 39 Ω or 40.2 Ω resistors connected in series with the middle node bypassed to ground with a.01 µF to 0.1 µF capacitor. Refer to the PCnet-ISA Technical Manual (PID #16850B) for network interface design and refer to Appendix A for a list of compatible AUI isolation transformers. The diagram below shows the proper 10BASE-T network interface design. Refer to the PCnet Family Technical Manual (PID #18216A) for more design details, and refer to Appendix A for a list of compatible 10BASE-T filter/ transformer modules. Filter & Transformer Module 61.9 TXD+ 422.0 1:1 TXP+ PCnet-ISA II Controller TXD- 61.9 1.21 K XMT Filter RJ45 Connector TD+ 1 TD- 2 422.0 TXP1:1 RXD+ RXD- 100 RCV Filter RD+ 3 RD- 6 19364B-31 10BASE-T External Components and Hookup Am79C961A 133 ABSOLUTE MAXIMUM RATINGS OPERATING RANGES Storage Temperature . . . . . . . . . . . . –65°C to +150°C Commercial (C) Devices Ambient Temperature . . . . . . . . . . . . . . . . . . . . . . . . . Under Bias . . . . . . . . . . . . . . . . . . . . . . . 0°C to +70°C Ambient Temperature (TA) . . . . . . . . . . . 0°C to+70°C Supply Voltage to AVss or DVSS (AVDD, DVDD). . . . . . . . . . . –0.3 V to +6.0 V Ambient Temperature (TA) . . . . . . . . . –40°C to+85°C Industrial (I) Devices VCC Supply Voltages. . . . . . (AVDD, DVDD) 5 V ±5% Stresses above those listed under Absolute Maximum Ratings may cause permanent device failure. Functionality at or above these limits is not implied. Exposure to Absolute Maximum Ratings for extended periods may affect device reliability. Programming conditions may differ. All inputs within the range: . . AVSS – 0.5 V ≤ VIN ≤ AVDD + 0.5 V, or DVSS – 0.5 V ≤ VIN ≤ DVDD + 0.5 V Operating ranges define those limits between which the functionality of the device is guaranteed. DC CHARACTERISTICS (Unless otherwise noted, parametric values are the same between Commercial devices and Industrial devices) Parameter Symbol Parameter Description Test Conditions Min Max Unit 0.8 V DVDD + 0.5 V 0.5 V Digital Input Voltage VIL Input LOW Voltage VIH Input HIGH Voltage 2.0 Digital Output Voltage VOL Output LOW Voltage VOH Output HIGH Voltage (Note 1) 2.4 VDD = 5 V, VIN = 0 V (Note 2) –10 –10 V Digital Input Leakage Current IIX Input Leakage Current 10 µA Digital Output Leakage Current IOZL Output Low Leakage Current (Note 3) VOUT = 0 V IOZH Output High Leakage Current (Note 3) VOUT = VDD µA 10 µA Crystal Input Current VILX XTAL1 Input LOW Threshold Voltage VIN = External Clock –0.5 0.8 V VILHX XTAL1 Input HIGH Threshold Voltage VIN = External Clock 3.5 VDD + 0.5 V IILX XTAL1 Input LOW Current VIN = DVSS Active –120 0 µA Sleep –10 +10 µA IIHX XTAL1 Input HIGH Current VIN = VDD Active 0 120 µA 400 µA Sleep Attachment Unit Interface 134 IIAXD Input Current at DI+ and DI– AVSS < VIN < AVDD –500 +500 µA IIAXC Input current at CI+ and CI– AVSS < VIN < AVDD –500 +500 µA VAOD Differential Output Voltage |(DO+)– RL = 78 Ω (DO–)| 630 1200 mV Am79C961A DC CHARACTERISTICS (continued) Parameter Symbol Parameter Description Test Conditions Min Max Unit Attachment Unit Interface (continued) VAODOFF Transmit Differential Output Idle Voltage RL = 78 Ω –40 +40 mV IAODOFF Transmit Differential Output Idle Current RL = 78 Ω (Note 4) –1 +1 mA VCMT Transmit Output Common Mode Voltage RL = 78 Ω 2.5 AVDD V VODI DO± Transmit Differential Output Voltage Imbalance RL = 78 Ω (Note 5) 25 mV VATH Receive Data Differential Input Threshold (Note 5) –35 35 mV VASQ DI± and CI± Differential Input Threshold (Squelch) –275 –160 mV DI± and CI± Differential Mode Input Voltage Range –1.5 +1.5 V AVDD–3.0 AVDD–1.0 V –100 mV 500 µA VIRDVD VICM DI± and CI± Input Bias Voltage IIN = 0 mA VOPD DO± Undershoot Voltage at Zero Differential on Transmit Return to Zero (ETD) (Note 5) Twisted Pair Interface IIRXD Input Current at RXD± RRXD RXD± Differential Input Resistance (Note 5) VTIVB RXD+, RXD– Open Circuit Input Voltage (Bias) IIN = 0 mA VTIDV Differential Mode Input Voltage Range (RXD±) VTSQ+ AVSS < VIN < AVDD –500 10 KΩ AVDD – 3.0 AVDD – 1.5 V AVDD = +5 V –3.1 +3.1 V RXD Positive Squelch Threshold (Peak) Sinusoid 5 MHz ≤ f ≤10 MHz 300 520 mV VTSQ– RXD Negative Squelch Threshold (Peak) Sinusoid 5 MHz ≤ f ≤10 MHz –520 –300 mV VTHS+ RXD Post-Squelch Positive Threshold (Peak) Sinusoid 5 MHz ≤ f ≤10 MHz 150 293 mV VTHS– RXD Post-Squelch Negative Threshold (Peak) Sinusoid 5 MHz ≤ f ≤10 MHz –293 –150 mV VLTSQ+ RXD Positive Squelch Threshold (Peak) LRT = 1 (Note 6) 180 312 mV VLTSQ– RXD Negative Squelch Threshold (Peak) LRT = 1 (Note 6) –312 –180 mV VLTHS+ RXD Post-Squelch Positive Threshold (Peak) LRT = 1 (Note 6) 90 156 mV VLTHS– RXD Post-Squelch Negative Threshold (Peak) LRT = 1 (Note 6) –156 –90 mV Am79C961A 135 DC CHARACTERISTICS (continued) Parameter Symbol Parameter Description Test Conditions Min Max Unit –35 35 mV DVDD V Twisted Pair Interface (continued) RXD Switching Threshold (Note 5) VTXH TXD± and TXP± Output HIGH Voltage DVSS = 0 V DVDD – 0.6 VTXL TXD± and TXP± Output LOW Voltage DVDD = +5 V DVSS VTXI TXD± and TXP± Differential Output Voltage Imbalance VRXDTH VTXOFF RTX DVSS + 0.6 V –40 +40 mV –40 +40 mV TXD± and TXP± Idle Output Voltage DVDD = +5 V TXD± Differential Driver Output Impedance (Note 5) 40 Ω TXP± Differential Driver Output Impedance (Note 5) 80 Ω 0.8 V IEEE 1149.1 (JTAG) Test Port VIL TCK, TMS, TDI VIH TCK, TMS, TDI VOL TDO IOL = 2.0 mA VOH TDO IOH = –0.4 mA IIL TCK, TMS, TDI VDD = 5.5 V, VI = 0.5 V –200 µA IIH TCK, TMS, TDI VDD =5.5 V, VI = 2.7 V –100 µA IOZ TDO 0.4 V < VOUT < VDD +10 µA 2.0 V 0.4 V 2.4 –10 V Power Supply Current IDD IDDCOMA IDDSNOOZE Active Power Supply Current XTAL1 = 20 MHz 75 mA Coma Mode Power Supply Current SLEEP active 200 µA Snooze Mode Mall Power Supply Current Awake bit set active 10 mA 1. VOH does not apply to open-drain output pins. 2. IIX applies to all input only pins except DI+, CI+, XTAL1 and PRDB[7:0]. 3. OZL applies to all three-state output pins and bi-directional pins, except PRDB[7:0]. IOZH applies to pins PRDB[7:0]. 4. Correlated to other tested parameters—not tested directly. 5. Parameter not tested. 6. LRT is bit 9 of Mode register (CSR15) 136 Am79C961A SWITCHING CHARACTERISTICS: BUS MASTER MODE (Unless otherwise noted, parametric values are the same between Commercial devices and Industrial devices) Parameter Symbol Parameter Description Test Conditions Min Max Unit Input/Output Write Timing tIOW1 AEN, SBHE, SA0–9 Setup to ↓ IOW 10 ns tIOW2 AEN, SBHE,SA0–9 Hold After ↑ IOW 5 ns tIOW3 IOW Assertion 100 ns tIOW4 IOW Inactive 55 ns tIOW5 SD Setup to ↑ IOW 10 ns tIOW6 SD Hold After ↑ IOW 10 ns tIOW7 ↓ IOCHRDY Delay from ↓ IOW 0 tIOW8 IOCHRDY Inactive tIOW9 ↑IOCHRDY to ↑ IOW 35 ns 125 ns 0 ns Input/Output Read Timing tIOR1 AEN, SBHE, SA0–9 Setup to ↓ IOR 15 ns tIOR2 AEN, SBHE, SA0–9 Hold After ↑ IOR 5 ns tIOR3 IOR Inactive 55 ns tIOR4 SD Hold After ↑ IOR 0 20 ns tIOR5 SD Valid from ↓ IOR 0 110 ns tIOR6 ↓ IOCHRDY Delay from ↓ IOR 0 35 ns tIOR7 IOCHRDY Inactive 125 tIOR8 SD Valid from ↑ IOCHRDY –130 ns 10 ns I/O to Memory Command Inactive tIOM1 ↑ IOW/MEMW to ↓ (S)MEMR/IOR 55 ns tIOM2 ↑ (S)MEMR/IOR to ↓ IOW/MEMW 55 ns tIOCS1 AEN, SBHE, SA0–9 to ↓ IOCS16 0 35 ns tIOCS2 AEN, SBHE, SA0–9 to IOCS16 Tristated 0 25 ns IOCS16 Timing Master Mode Bus Acquisition tMMA1 REF Inactive to ↓ DACK 5 ns tMMA2 ↑ DRQ to ↓ DACK 0 ns tMMA3 DACK Inactive 55 ns tMMA4 ↓ DACK to ↓ MASTER tMMA5 ↓ MASTER to Active Command, SBHE, SA0–19, LA17–23 125 Am79C961A 35 ns 185 ns 137 SWITCHING CHARACTERISTICS: BUS MASTER MODE (continued) Parameter Symbol Parameter Description Test Conditions Min Max Unit 65 ns Master Mode Bus Release tMMBR1 Command Deassert to ↓ DRQ 45 tMMBR2 ↓ DRQ to ↑ DACK 0 tMMBR3 ↓ DRQ to ↑ MASTER 40 60 ns tMMBR4 ↓ DRQ to Command, SBHE, SA0–19, LA17–23 Tristated –15 0 ns ns Master Write Cycles tMMW1 SBHE, SA0–19, LA17–23, Active to ↓ MEMW (Note 1) EXTIME + 45 EXTIME + 65 ns tMMW2 MEMW Active (Note 2) MSWRA – 10 MSWRA + 5 ns tMMW3 MEMW Inactive (Note 1) EXTIME + 97 EXTIME + 105 ns tMMW4 ↑ MEMW to SBHE, SA0–19, LA17–23,SD Inactive 45 55 ns tMMW5 SBHE, SA0–19, LA17–23, SD Hold After ↑ MEMW 45 60 ns tMMW6 SBHE, SA0–19, LA17–23, SD Setup to ↓ MEMW EXTIME + 45 EXTIME + 55 ns tMMW7 ↓ IOCHRDY Delay from ↓ MEMW tMMW8 (Note 1) tMMW2 – 175 ns IOCHRDY Inactive 55 ns tMMW9 ↑ IOCHRDY to ↑ MEMW 130 ns tMMW10 SD Active to ↓ MEMW (Note 1) EXTIME + 20 EXTIME + 60 ns tMMW11 SD Setup to ↓ MEMW (Note 1) EXTIME + 20 EXTIME + 60 ns Master Read Cycles tMMR1 SBHE, SA0–19, LA17–23, Active to ↓ MEMR (Note 1) EXTIME + 45 EXTIME + 60 ns tMMR2 MEMR Active (Note 2) MSRDA – 10 MSRDA + 5 ns tMMR3 MEMR Inactive (Note 1) EXTIME + 97 EXTIME + 105 ns tMMR4 ↑ MEMR to SBHE, SA0–19, LA17–23 Inactive 45 55 ns tMMR5 SBHE, SA0–19, LA17–23 Hold After ↑ MEMW 45 55 ns tMMR6 SBHE, SA0–19, LA17–23 Setup to ↓ MEMR EXTIME + 45 EXTIME + 55 ns tMMR7 ↓ IOCHRDY Delay from ↓ MEMR tMMR8 (Note 1) tMMR2 – 175 ns IOCHRDY Inactive 55 ns tMMR9 ↑ IOCHRDY to ↑ MEMR 130 ns tMMR10 SD Setup to ↑ MEMR 30 ns tMMR11 SD Hold After ↑ MEMR 0 ns 138 Am79C961A SWITCHING CHARACTERISTICS: BUS MASTER MODE (continued) Parameter Symbol Parameter Description Test Conditions Min Max Unit Master Mode Address PROM Read tMA1 ↓ IOR to ↓ APCS 125 260 ns tMA2 APCS Active 140 155 ns tMA3 PRDB Setup to ↑ APCS 20 ns tMA4 PRDB Hold After ↑ APCS 0 ns tMA5 ↑ APCS to ↑ IOCHRDY 45 65 ns tMA6 SD Valid from ↑ IOCHRDY 0 10 ns Master Mode Boot PROM Read tMB1 REF, SBHE,SA0–19 Setup to ↓ SMEMR 10 ns tMB2 REF, SBHE,SA0–19 Hold ↑ SMEMR 5 ns tMB3 ↓ IOCHRDY Delay from ↓ SMEMR 0 tMB4 SMEMR Inactive 55 tMB5 ↓ SMEMR to ↓ BPCS 125 260 ns tMB6 BPCS Active 290 305 ns tMB7 ↑ BPCS to ↑ IOCHRDY 45 65 ns tMB8 PRDB Setup to ↑ BPCS 20 ns tMB9 PRDB Hold After ↑ BPCS 0 ns tMB10 SD Valid from ↑ IOCHRDY 0 10 ns tMB11 SD Hold After ↑ SMEMR 0 20 ns tMB12 LA20–23 Hold from ↓ BALE 10 ns tMB13 LA20–23 Setup to ↓ MEMR 10 ns tMB14 ↑ BALE Setup to ↓ MEMR 10 ns 35 ns ns Notes: 1. EXTIME is 100 ns when ISACSR2, bit 4, is cleared (default). EXTIME is 0 ns when ISACSR2, bit 4, is set. 2. MSRDA and MSWDA are parameters which are defined in registers ISACSR0 and ISACSR1, respectively. Am79C961A 139 SWITCHING CHARACTERISTICS: BUS MASTER MODE—FLASH READ CYCLE Parameter Symbol Parameter Description Test Conditions Min Max Unit tMFR1 REF, SBHE,SA0–19 Setup to ↓ MEMR 10 ns tMFR2 REF, SBHE,SA0–19 Hold from ↑ MEMR 5 ns tMFR3 ↓ IOCHRDY to MEMR 0 tMFR4 ↓ MEMR Inactive 55 tMFR5 ↓ MEMR to ↓ BPCS 125 260 ns tMFR6 BPCS Active 190 205 ns tMFR7 ↑ BPCS to ↑ IOCHRDY 45 65 ns tMFR8 PRDB Setup to ↑ of BPCS 20 ns tMFR9 PRDB Hold to ↑ of BPCS 0 ns tMFR10 SD Valid from ↑ IOCHRDY 0 10 ns tMFR11 SD Tristate to ↑ MEMR 0 20 ns tMFR12 LA20–23 Hold from ↓ BALE 10 ns tMFR13 LA20–23 Setup to ↓ MEMR 10 ns tMFR14 ↑ BALE Setup to ↓ MEMR 15 ns 35 ns ns SWITCHING CHARACTERISTICS: BUS MASTER MODE—FLASH WRITE CYCLE Parameter Symbol Parameter Description tMFW1 SBHE, SA0–19 Setup to ↓ MEMW 10 ns tMFW2 SBHE, SA0–19 Hold from ↑ MEMW 5 ns tMFW3 ↓ IOCHRDY to ↓ MEMW 0 tMFW4 MEMW Inactive 50 tMFW5 ↑ FL_WE to ↑ IOCHRDY 20 tMFW6 ↑ MEMW Hold from ↑ IOCHRDY 0 tMFW7 SD Valid from ↓ MEMW tMFW8 SD Hold from ↑ MEMW tMFW9 PRDB Valid from ↓ MEMW tMFW10 PRDB Setup to ↓ FL_WE 15 tMFW11 FL_WE Active 140 tMFW12 PRDB Hold from ↑ FL_WE 15 tMFW13 LA20–23 Hold from ↓ BALE 10 ns tMFW14 LA20–23 Setup to ↓ MEMW 10 ns tMFW15 ↑ BALE Setup to ↓ MEMW 15 ns 140 Test Conditions Min Max 35 ns ns 90 ns ns 175 0 ns ns 175 Am79C961A Unit ns ns 155 ns SWITCHING CHARACTERISTICS: SHARED MEMORY MODE (Unless otherwise noted, parametric values are the same between Commercial devices and Industrial devices) Parameter Symbol Parameter Description Test Conditions Min Max Unit Input/Output Write Timing tIOW1 AEN, SBHE, SA0–9 Setup to ↓ IOW 10 ns tIOW2 AEN, SBHE,SA0–9 Hold from ↑ IOW 5 ns tIOW3 IOW Assertion 150 ns tIOW4 IOW Inactive 55 ns tIOW5 SD Setup to ↑ IOW 10 ns tIOW6 SD Hold After ↑ IOW 10 ns tIOW7 ↓ IOCHRDY Delay from ↓ IOW 0 tIOW8 IOCHRDY Inactive tIOW9 ↑IOCHRDY to ↑ IOW 35 ns 125 ns 0 ns Input/Output Read Timing tIOR1 AEN, SBHE, SA0–9 Setup to ↓ IOR 15 ns tIOR2 AEN, SBHE,SA0–9 Hold After ↑ IOR 5 ns tIOR3 IOR Inactive 55 ns tIOR4 SD Hold from ↑ IOR 0 20 ns tIOR5 SD Valid from ↓ IOR 0 110 ns tIOR6 ↓ IOCHRDY Delay from ↓ IOR 0 35 ns tIOR7 IOCHRDY Inactive 125 tIOR8 SD Valid from ↑ IOCHRDY –130 ns 10 ns Memory Write Timing tMW1 SA0–15, SBHE, ↓ SMAM Setup to ↓ MEMW 10 ns tMW2 SA0–15, SBHE, ↑ SMAM Hold from ↑ MEMW 5 ns tMW3 MEMW Assertion 150 ns tMW4 MEMW Inactive 55 ns tMW5 SD Setup to ↑ MEMW 10 ns tMW6 SD Hold from ↑ MEMW 10 ns tMW7 ↓ IOCHRDY Delay from ↓ MEMW 0 tMW8 IOCHRDY Inactive tMW9 ↑ MEMW to ↑ IOCHRDY Am79C961A 35 ns 125 ns 0 ns 141 SWITCHING CHARACTERISTICS: SHARED MEMORY MODE (continued) Parameter Symbol Parameter Description Test Conditions Min Max Unit Memory Read Timing tMR1 SA0–15, SBHE, ↓ SMAM/BPAM Setup to ↓ MEMR 10 ns tMR2 SA0–15, SBHE, ↑ SMAM/BPAM Hold from ↑ MEMR 5 ns tMR3 MEMR Inactive 55 ns tMR4 SD Hold from ↑ MEMR 0 20 ns tMR5 SD Valid from ↓ MEMR 0 110 ns tMR6 ↓ IOCHRDY Delay from ↓ MEMR 0 35 ns tMR7 IOCHRDY Inactive 125 tMR8 SD Valid from ↑ IOCHRDY –130 ns 10 ns I/O to Memory Command Inactive tIOM1 ↓ IOW/MEMW to ↓ (S)MEMR/IOR 55 ns tIOM2 ↓ (S)MEMR/IOR to ↓ IOW/MEMW 55 ns tIOCS1 AEN, SBHE, SA0–9 to ↓ IOCS16 0 35 ns tIOCS2 AEN, SBHE, SA0–9 to IOCS16 Tristated 0 25 ns 105 ns IOCS16 Timing SRAM Read/Write, Boot PROM Read, Address PROM Read on Private Bus 142 tPR4 PRAB Change to PRAB Change, SRAM Access 95 tPR5 PRDB Setup to PRAB Change, SRAM Access 20 ns tPR6 PRDB Hold from PRAB Change, SRAM Access 0 ns tPR7 PRAB Change to PRAB Change, APROM Access 145 Am79C961A 155 ns SWITCHING CHARACTERISTICS: SHARED MEMORY MODE (continued) Parameter Symbol Parameter Description Test Conditions Min Max Unit SRAM Read/Write, Boot PROM Read, Address PROM Read on Private Bus (continued) tPR8 PRDB Setup to PRAB Change, APROM Access 20 ns tPR9 PRDB Hold After PRAB Change, APROM Access 0 ns tPR10 PRAB Change to PRAB Change, BPROM Access 290 tPR11 PRDB Setup to PRAB Change, BPROM Access 20 ns tPR12 PRDB Hold After PRAB Change, BPROM Access 0 ns tPR13 PRAB Change to PRAB Change, SRAM Write 145 155 ns tPR14 PRAB Change to ↓ SRWE 20 30 ns tPR15 PRAB Change to ↑ SRWE 120 130 ns tPR16 PRAB Change to PRAB Change, Flash Access 190 205 ns tPR17 PRAB Change to PRAB Change, Flash Write 190 205 ns tPR18 PRAB Change to ↑ SRWE 170 180 ns Am79C961A 305 ns 143 SWITCHING CHARACTERISTICS: SHARED MEMORY MODE—FLASH READ CYCLE Parameter Symbol Parameter Description Test Conditions Min Max Unit tMFR1 BPAM, REF, SBHE, SA0–19 Setup to ↓ MEMR 10 ns tMFR2 BPAM, REF, SBHE, SA0–19 Hold from ↑ MEMR 5 ns tMFR3 ↓ IOCHRDY to ↓ MEMR 0 tMFR4 MEMR Inactive 55 tMFR5 ↓ MEMR to ↓ BPCS/SROE 125 260 ns tMFR6 BPCS/SROE Active 190 205 ns tMFR7 ↑ BPCS/SROE to ↑ IOCHRDY 45 65 ns tMFR8 PRDB Setup to ↑ of BPCS/SROE 20 ns tMFR9 PRDB Hold to ↑ of BPCS/SROE 0 ns tMFR10 SD Valid from ↑ IOCHRDY 0 10 ns tMFR11 SD Tristate to ↑ MEMR 0 20 ns 35 ns ns SWITCHING CHARACTERISTICS: SHARED MEMORY MODE—FLASH WRITE CYCLE Parameter Symbol 144 Parameter Description Test Conditions Min Max Unit tMFW1 BPAM, SBHE, SA0–19 Setup to ↓ MEMW 10 ns tMFW2 BPAM, SBHE, SA0–19 Hold After ↑ MEMW 5 ns tMFW3 ↓ IOCHRDY to ↓ MEMW 0 tMFW4 MEMW Inactive 50 tMFW5 ↑ SRWE to ↑ IOCHRDY 20 tMFW6 ↑ MEMW Hold from ↑ IOCHRDY 0 tMFW7 SD Valid from ↓ MEMW tMFW8 SD Hold from ↑ MEMW tMFW9 BPCS/PRDB Valid from ↓ MEMW tMFW10 BPCS/PRDB Setup to ↓ SRWE 15 tMFW11 SRWE Active 140 tMFW12 BPCS/PRDB Hold from ↑ SRWE 15 35 ns 90 ns ns 175 0 ns ns 175 Am79C961A ns ns ns 155 ns ns SWITCHING CHARACTERISTICS: EADI (Unless otherwise noted, parametric values are the same between Commercial devices and Industrial devices) Parameter Symbol Parameter Description Test Conditions Min Max Unit tEAD1 SRD Setup to ↑ SRDCLK 40 ns tEAD2 SRD Hold to ↑ SRDCLK 40 ns tEAD3 SF/BD Change to ↓ SRDCLK –15 tEAD4 EAR Deassertion to ↑ SRDCLK (First Rising Edge) 50 tEAD5 EAR Assertion from SFD Event (Packet Rejection) 0 tEAD6 EAR Assertion +15 ns ns 51,090 110 ns ns Note: External Address Detection interface is invoked by setting bit 3 in ISACSR2 and resetting bit 0 in ISACSR2. External MAU select is not available when EADISEL bit is set. SWITCHING CHARACTERISTICS: JTAG (IEEE 1149.1) INTERFACE (Unless otherwise noted, parametric values are the same between Commercial devices and Industrial devices) Parameter Symbol Parameter Description Test Conditions Min Max Unit tJTG1 TCK HIGH Assertion 20 ns tJTG2 TCK Period 100 ns tJTG3 TDI Setup to ↑ TCK 5 ns tJTG4 TDI, TMS Hold from ↑ TCK 5 ns tJTG5 TMS Setup to ↑ TCK 8 ns tJTG6 TDO Active from ↓ TCK 0 30 ns tJTG7 TDO Change from ↓ TCK 0 30 ns tJTG8 TDO Tristate from ↓ TCK 0 25 ns Note: JTAG logic is reset with an internal Power-On Reset circuit independent of Sleep Modes. Am79C961A 145 SWITCHING CHARACTERISTICS: GPSI (Unless otherwise noted, parametric values are the same between Commercial devices and Industrial devices) Parameter Symbol Parameter Description Test Conditions Min Max Unit 99.99 100.01 ns Transmit Timing tGPT1 STDCLK Period (802.3 Compliant) tGPT2 STDCLK HIGH Time 40 60 ns tGPT3 TXDAT and TXEN Delay from ↑ TCLK 0 70 ns tGPT4 RXCRS Setup to ↑ STDCLK (Last Bit) 210 ns tGPT5 RXCRS Hold from ↓ TENA 0 ns tGPT6 CLSN Active Time to Trigger Collision 110 ns tGPT7 CLSN Active to ↓ RXCRS to Prevent LCAR Assertion 0 ns tGPT8 CLSN Active to ↓ RXCRS for SQE Hearbeat Window 0 4.0 µs tGPT9 CLSN Active to ↑ RXCRS for Normal Collision 0 51.2 µs (Note 1) Receive Timing tGPR1 SRDCLK Period (Note 2) 80 120 ns tGPR2 SRDCLK High Time (Note 2) 30 80 ns tGPR3 SRDCLK Low Time (Note 2) 30 80 ns tGPR4 RXDAT and RXCRS Setup to ↑ SRDCLK 15 ns tGPR5 RXDAT Hold from ↑ RCLK 15 ns tGPR6 RXCRS Hold from ↓ SRDCLK 0 ns tGPR7 CLSN Active to First ↑ SRDCLK (Collision Recognition) 0 ns tGPR8 CLSN Active to ↑ SRDCLK for Address Type Designation Bit 51.2 µs tGPR9 CLSN Setup to last ↑ SRDCLK for Collision Recognition 210 ns tGPR10 CLSN Active 110 ns tGPR11 CLSN Inactive Setup to First ↑ RCLK 300 ns tGPR12 CLSN Inactive Hold to Last ↑ RCLK 300 ns (Note 3) Notes: 1. CLSN must be asserted for a continuous period of 110 ns or more. Assertion for less than 110 ns period may or may not result in CLSN recognition. 2. RCLK should meet jitter requirements of IEEE 802.3 specification. 3. CLSN assertion before 51.2 µs will be indicated as a normal collision. CLSN assertion after 51.2 µs will be considered as a Late Receive Collision. 146 Am79C961A SWITCHING CHARACTERISTICS: AUI (Unless otherwise noted, parametric values are the same between Commercial devices and Industrial devices) Parameter Symbol Test Conditions Parameter Description Min Max Unit AUI Port tDOTR DO+,DO- Rise Time (10% to 90%) 2.5 5.0 ns tDOTF DO+,DO- Fall Time (90% to 10%) 2.5 5.0 ns tDORM DO+,DO- Rise and fall Time Mismatch 1.0 ns tDOETD DO+/- End of Transmission 200 375 ns tPWODI DI Pulse Width Accept/Reject Threshold |VIN| > |VASQ| (Note 1) 15 45 ns tPWKDI DI Pulse Width Maintain/Turn-Off Threshold |VIN| > |VASQ| (Note 2) 136 200 ns tPWOCI CI Pulse Width Accept/Reject Threshold |VIN| > |VASQ| (Note 3) 10 26 ns tPWKCI CI Pulse Width Maintain/Turn-Off Threshold |VIN| > |VASQ| (Note 4) 90 160 ns 50.005 ns Internal MENDEC Clock Timing tX1 XTAL1 Period VIN = External Clock 49.995 tX1H XTAL1 HIGH Pulse Width VIN = External Clock 20 ns tX1L XTAL1 LOW Pulse width VIN = External Clock 20 ns tX1R XTAL1 Rise Time VIN = External Clock 5 ns tX1F XTAL1 Fall Time VIN = External Clock 5 ns Notes: 1. DI pulses narrower than tPWODI (min) will be rejected; pulses wider than tPWODI (max) will turn internal DI carrier sense on. 2. DI pulses narrower than tPWKDI (min) will maintain internal DI carrier sense on; pulses wider than tPWKDI (max) will turn internal DI carrier sense off. 3. CI pulses narrower than tPWOCI (min) will be rejected; pulses wider than tPWOCI (max) will turn internal CI carrier sense on. 4. CI pulses narrower than tPWKCI (min) will maintain internal CI carrier sense on; pulses wider than tPWKCI (max) will turn internal CI carrier sense off. Am79C961A 147 SWITCHING CHARACTERISTICS: 10BASE-T INTERFACE (Unless otherwise noted, parametric values are the same between Commercial devices and Industrial devices) Parameter Symbol Parameter Description Test Conditions Min Max Unit 250 350 ns Transmit Timing tTETD Transmit Start of Idle tTR Transmitter Rise Time (10% to 90%) 5.5 ns tTF Transmitter Fall Time (90% to 10%) 5.5 ns tTM Transmitter Rise and Fall Time Mismatch 2 ns 8 24 ms tPERLP Idle Signal Period tPWLP Idle Link Pulse Width (Note 1) 75 120 ns tPWPLP Predistortion Idle Link Pulse Width (Note 1) 45 55 ns tJA Transmit Jabber Activation Time 20 150 ms tJR Transmit Jabber Reset Time 250 750 ms Receive Timing tPWNRD RXD Pulse Width Not to Turn Off Internal Carrier Sense VIN > VTHS (min) tPWROFF RXD Pulse Width to Turn Off VIN > VTHS (min) 136 ns 200 ns Note: 1. Not tested; parameter guaranteed by characterization. SWITCHING CHARACTERISTICS: SERIAL EEPROM INTERFACE (Unless otherwise noted, parametric values are the same between Commercial devices and Industrial devices) Parameter Symbol 148 Parameter Description Test Conditions Min Max Unit tSR1 EESK High Time 790 ns tSR2 EESK Low Time 790 ns tSR3 ↑ EECS EEDI from ↓ EESK – 15 15 ns tSR4 ↓ EECS, EEDI and SHFBUSY from ↓ EESK – 15 15 ns tSR5 EECS Low Time 1590 ns tSR6 EEDO Setup to ↑ EESK 35 ns tSR7 EEDO Hold from ↑ EESK 0 ns tSL1 EEDO Setup to ↓ IOR 95 ns tSL2 EEDO Setup to ↑ IOCHRDY 140 ns tSL3 EESK, EEDI, EECS and SHFBUSY Delay from↑ IOW 160 Am79C961A 235 ns SWITCHING TEST CIRCUITS WAVEFORM INPUTS OUTPUTS Must be Steady Will be Steady May Change from H to L Will be Changing from H to L May Change from L to H Will be Changing from L to H Don’t Care, Any Change Permitted Changing, State Unknown Does Not Apply Center Line is HighImpedance “Off” State KS000010 Am79C961A 149 SWITCHING TEST CIRCUITS IOL Sense Point VTHRESHOLD CL IOH 19364B-32 Normal and Three-State Outputs AVDD 52.3 Ω DO+ DO– Test Point 100 pF 154 Ω AVSS AUI DO Switching Test Circuit 150 Am79C961A 19364B-33 SWITCHING TEST CIRCUITS DVDD 294 Ω TXD+ TXD– Test Point 294 Ω 100 pF Includes Test Jig Capacitance DVSS 19364B-34 TXD Switching Test Circuit DVDD 715 Ω TXP+ TXP– Test Point 715 Ω 100 pF Includes Test Jig Capacitance DVSS 19364B-35 TXD Outputs Test Circuit Am79C961A 151 SWITCHING WAVEFORMS: BUS MASTER MODE AEN, SBHE, SA0–9 Stable tIOW1 tIOW2 tIOW3 IOW tIOW4 tIOW5 tIOW6 SD 19364B-36 I/O Write without Wait States AEN, SBHE, SA0–9 Stable tIOW2 tIOW1 IOW tIOW7 tIOW8 tIOW9 tIOW4 IOCHRDY tIOW5 tIOW6 SD 19364B-37 I/O Write with Wait States 152 Am79C961A SWITCHING WAVEFORMS: BUS MASTER MODE EESK (PRDB0) EECS EEDI (PRDB1) 0 1 1 0 A7 A6 A5 A4 A3 A2 A1 A0 EEDO (PRDB2) D0 D1 D2 D14 D15 Falling transition at 26th Word, if checksum is 0xFF. SHFBUSY 19364B-38 Serial Shift EEPROM Interface Read Timing tSR1 EESK (PRDB0) tSR2 tSR3 tSR4 tSR5 EECS EEDI (PRDB1) SHFBSY EED0 (PRDB2) Stable tSR6 tSR7 19364B-39 Serial EEPROM Control Timing Am79C961A 153 SWITCHING WAVEFORMS: BUS MASTER MODE EED0 (PRDB2) tSL1 IOR tSL2 IOCHRDY IOW tSL3 EESK, EEDI, EECS, SHFBUSY 19364B-40 Slave Serial EEPROM Latency Timing AEN, SBHE, SA0–9 Stable tIOR1 tIOR2 IOR tIOR3 tIOR4 tIOR5 Stable SD 19364B-41 I/O Read without Wait States 154 Am79C961A SWITCHING WAVEFORMS: BUS MASTER MODE AEN, SBHE, SA0–9 Stable tIOR1 tIOR2 IOR tIOR6 tIOR3 tIOR7 IOCHRDY tIOR8 tIOR4 Stable SD 19364B-42 I/O Read with Wait States IOW, MEMW tIOM1 tIOM2 MEMR, IOR I/O to Memory Command Inactive Time Am79C961A 19364B-43 155 SWITCHING WAVEFORMS: BUS MASTER MODE AEN, SBHE, SA0–9 tIOCS tIOCS2 IOCS16 19364B-44 IOCS16 Timings REF tMMA1 DRQ tMMA2 DACK tMMA3 MASTER tMMA4 MEMR/MEMW tMMA5 SBHE, SA0–19, LA17–23 Bus Acquisition 156 Am79C961A 19364B-45 SWITCHING WAVEFORMS: BUS MASTER MODE DRQ tMMBR1 tMMBR2 DACK tMMBR3 MASTER MEMR/MEMW tMMBR4 SBHE, SA0–19, LA17–23 19364B-46 Bus Release (Non Wait) (Wait States Added) tMMW5 tMMW6 SBHE, SA0–19, LA17–23 tMMW1 tMMW2 tMMW4 tMMW3 MEMW tMMW7 IOCHRDY tMMW8 tMMW9 tMMW11 tMMW10 SD0–15 Write Cycles Am79C961A 19364B-47 157 SWITCHING WAVEFORMS: BUS MASTER MODE (Non Wait) SBHE, SA0–19, LA17–23 tMMR6 tMMR5 (Wait States Added) Stable Stable tMMR1 tMMR4 tMMR3 tMMR2 MEMR tMMR7 tMMR8 tMMR9 IOCHRDY tMMR11 tMMR10 tMMR10 Stable SD0–15 tMMR11 Stable 19364B-48 Read Cycles AEN, SBHE, SA0–9 Stable tIOR2 tIOR1 IOR tIOR3 tIOR6 tMA5 IOCHRDY APCS (IRQ15) tMA1 tMA2 tMA3 tMA4 PRDB0–7 tMA6 SD0–7 Stable External Address PROM Read Cycle 158 tIOR4 Am79C961A 19364B-49 SWITCHING WAVEFORMS: BUS MASTER MODE BALE tMB12 Stable LA20–23 tMB13 REF, SBHE, SA0–19 Stable tMB1 tMB2 MEMR tMB14 tMB3 tMB4 tMB7 IOCHRDY tMB5 BPCS tMB6 tMB8 tMB9 PRDB0–7 tMB11 tMB10 SD0–7 Stable Boot PROM Read Cycle Am79C961A 19634B-50 159 SWITCHING WAVEFORMS: BUS MASTER MODE BALE tMFR12 Stable LA20–23 tMFR13 REF, SBHE, SA0–19 Stable tMFR2 tMFR1 MEMR tMFR14 tMFR3 tMFR7 tMFR4 IOCHRDY tMFR5 BPCS tMFR6 tMFR8 tMFR9 PRDB0–7 tMFR11 tMFR10 SD0–7 Stable Flash Read Cycle 160 Am79C961A 19364B-51 SWITCHING WAVEFORMS: BUS MASTER MODE BALE tMFW13 Stable LA20–23 tMFW14 SBHE, SA0–19 Stable tMFW1 tMFW2 MEMW tMFW15 tMFW6 tMFW3 tMFR4 tMFW5 IOCHRDY tMFW7 tMFW8 SD0-7 Stable tMFW10 tMFW11 FL_WE (IRQ12) tMFW9 tMFW12 Stable PRDB0-7 Flash Write Cycle Am79C961A 19364B-52 161 SWITCHING WAVEFORMS: SHARED MEMORY MODE AEN, SBHE, SA0–9 Stable tIOW tIOW1 tIOW IOW tIOW5 tIOW6 tIOW4 SD 19364B-53 I/O Write without Wait States AEN, SBHE, SA0–9 Stable tIOW2 tIOW1 IOW tIOW tIOW8 tIOW4 tIOW9 IOCHRDY tIOW5 tIOW SD 19664B-54 I/O Write with Wait States 162 Am79C961A SWITCHING WAVEFORMS: SHARED MEMORY MODE AEN, SBHE, SA0–9 Stable tIOR1 tIOR2 IOR tIOR4 tIOR5 SD tIOR3 Stable 19364B-55 I/O Write without Wait States AEN, SBHE, SA0–9 Stable tIOR2 tIOR1 IOR tIOR6 tIOR3 tIOR7 IOCHRDY tIOR8 SD tIOR4 Stabl I/O Read with Wait States Am79C961A 19364B-56 163 SWITCHING WAVEFORMS: SHARED MEMORY MODE SA0–15, SBHE Stable SMAM tMW1 tMW2 tMW3 MEMW tMW4 tMW5 tMW6 SD 19364B-57 Memory Write without Wait States SA0–15, SBHE Stable SMAM tMW2 tMW1 MEMW tMW4 tMW7 IOCHRDY tMW8 tMW9 tMW5 tMW6 SD Memory Write with Wait States 164 Am79C961A 19364B-58 SWITCHING WAVEFORMS: SHARED MEMORY MODE SA0–15, SBHE Stable SMAM tMR1 tMR2 MEMR tMR4 tMR5 SD tMR3 Stable 19364B-59 Memory Read without Wait States SA0–15, SBHE Stable SMAM/BPAM tMR1 tMR2 MEMR tMR6 tMR3 tMR7 IOCHRDY tMR4 tMR8 SD Stable Memory Write with Wait States Am79C961A 19364B-60 165 SWITCHING WAVEFORMS: SHARED MEMORY MODE IOW, MEMW tIOM1 tIOM2 MEMR, IOR 19364B-61 I/O to Memory Command Inactive Time AEN, SBHE, SA0–9 tIOCS2 tIOCS1 IOCS16 IOCS16 Timings 166 Am79C961A 19364B-62 SWITCHING WAVEFORMS: SHARED MEMORY MODE SBHE, SA0–15, BPAM Stable tSFW1 tSFW2 MEMW tSFW6 tSFW3 tSFR4 tSFW5 IOCHRDY tSFW7 tSFW8 SD0-7 Stable tSFW10 tSFW11 SRWE BPCS tSFW12 tSFW9 Stable PRDB0-7 Flash Write Cycle Am79C961A 19364B-63 167 SWITCHING WAVEFORMS: SHARED MEMORY MODE REF, SBHE SA0-15 Stable tSFR1 tSFR2 MEMR tSFR3 tSFR4 IOCHRDY SROE tSFR7 tSFR5 tSFR6 BPCS tSFR8 tSFR9 PRDB0–7 tSFR11 tSFR10 SD0–7 Stable Flash Read Cycle 168 Am79C961A 19364B-64 SWITCHING WAVEFORMS: SHARED MEMORY MODE tPR13 tPR13 PRAB tPR14 tPR14 tPR15 tPR15 SRWE PRDB SRCS (IRQ12) SRAM Write on Private Bus (When FL_Sel is Enabled) tPR4 19364B-65 tPR4 PRAB SROE tPR5 tPR6 tPR5 tPR6 PRDB SRCS (IRQ12) SRAM Read on Private Bus (When FL_Sel is Enabled) Am79C961A 19364B-66 169 SWITCHING WAVEFORMS: SHARED MEMORY MODE tPR10 tPR10 PRAB BPCS tPR11 tPR11 tPR12 tPR12 PRDB 19364B-67 Boot PROM Read on Private Bus tPR7 PRAB0–9 APCS (IRQ15) tPR8 tPR9 PRDB Address PROM Read on Private Bus 170 Am79C961A 19364B-68 SWITCHING WAVEFORMS: SHARED MEMORY MODE tPR17 tPR17 PRAB0 tPR14 tPR14 tPR18 tPR18 SRWE PRDB FLCS 19364B-69 Flash Write on Private Bus tPR16 tPR16 PRAB0 FLOE FLCS tPR11 tPR12 tPR11 tPR12 PRDB Flash Read on Private Bus Am79C961A 19364B-70 171 SWITCHING WAVEFORMS: GPSI (Last Bit) (First Bit Preamble) tGPT1 tGPT2 Transmit Clock (STDCLK) tGPT3 Transmit Data (TXDAT) tGPT3 tGPT3 Transmit Enable (TXEN) tGPT4 Carrier Present (RXCRS) (Note 1) tGPT5 tGPT9 tGPT6 Collision (CLSN) (Note 2) tGPT7 tGPT8 Transmit Timing 19364B-71 Notes: 1. RXCRS is not present during transmission, LCAR bit in TMD3 will be set. 2. CLSN is not present during or shortly after transmission, CERR in CSR0 will be set. (First Bit Preamble) (Address Type Designation Bit) (Last Bit) tGPR1 Receive Clock (SRDCLK) Receive Data (RXDAT) tGPR4 tGPR2 tGPR3 tGPR5 tGPR5 tGPR4 tGPR6 Carrier Present (RXCRS) tGPR8 tGPR10 tGPR7 Collision (CLSN), Active Collision (CLSN), Inactive tGPR12 tGPR11 (No Collision) Receive Timing 172 tGPR9 Am79C961A 19364B-72 SWITCHING WAVEFORMS: EADI Preamble Data Field SRDCLK (LED3) One Zero One SRD (LED2) tEAD1 SF/BD (LED1) SFD Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 8 Bit 0 Bit 7 Bit 8 tEAD2 tEAD4 tEAD3 tEAD3 Accept EAR (MAUSEL) tEAD5 Reject tEAD6 EADI Reject Timing 19364B-73 SWITCHING WAVEFORMS: JTAG (IEEE 1149.1) INTERFACE tJTG1 TCK tJTG3 tJTG4 tJTG2 TDI tJTG5 TMS tJTG6 tJTG7 tJTG8 TDO Test Access Port Timing Am79C961A 19364B-74 173 SWITCHING WAVEFORMS: AUI tX1H XTAL1 ISTDCLK (Note 1) ITXEN (Note 1) tX1L tX1F tX1R tXI 1 1 ITXDAT+ (Note 1) 1 1 0 0 tDOTR tDOTF DO+ DO– DO± 1 19364B-75 Transmit Timing—Start of Packet Note: 1. Internal signal and is shown for clarification only. 174 Am79C961A SWITCHING WAVEFORMS: AUI XTAL1 ISTDCLK (Note 1) ITXEN (Note 1) 1 1 ITXDAT+ (Note 1) 0 0 DO+ DO– DO± 1 0 tDOETD 0 Typical > 200 ns Bit (n–2) Bit (n–1) Bit (n) 19364B-76 Transmit Timing—End of Packet (Last Bit = 0) Note: 1. Internal signal and is shown for clarification only. Am79C961A 175 SWITCHING WAVEFORMS: AUI XTAL1 ISTDCLK (Note 1) ITXEN (Note 1) 1 1 1 ITXDAT+ (Note 1) 0 DO+ DO– DO± tDOETD 1 Bit (n–2) 0 Typical > 250 ns Bit (n–1) Bit (n) Transmit Timing—End of Packet (Last Bit = 1) Note: 1. Internal signal and is shown for clarification only. 176 Am79C961A 19364B-77 SWITCHING WAVEFORMS: AUI tPWKDI DI+/– VASQ tPWKDI tPWODI Receive Timing Diagram 19364B-78 tPWKCI CI+/– VASQ tPWOCI tPWKCI Collision Timing Diagram 19364B-79 tDOETD DO+/– 40 mV 0V 100 mV max. 80 Bit Times Port DO ETD Waveform Am79C961A 19364B-80 177 SWITCHING WAVEFORMS: 10BASE-T INTERFACE tTR tTF tTETD TXD+ TXP+ TXD– TXP– XMT (Note 1) Transmit Timing 19364B-81 Note: 1. Internal signal and is shown for clarification only. tPWPLP TXD+ TXP+ TXD– TXP– tPWLP tPERLP Idle Link Test Pulse 178 Am79C961A 19364B-82 SWITCHING WAVEFORMS: 10BASE-T INTERFACE VTSQ+ VTHS+ RXD± VTHS– VTSQ– Receive Thresholds (LRT = 0 in CSR15 bit 9) 19364B-83 VLTSQ+ VLTHS+ RXD± VLTHS– VLTSQ– Receive Thresholds (LRT = 1 in CSR15 bit 9) Am79C961A 19364B-84 179 PHYSICAL DIMENSIONS* PQB132 Plastic Quad Flat Pack Trimmed and Formed (measured in inches) 1.075 1.085 Pin 132 1.097 1.103 0.947 0.953 Pin 99 Pin 1 I.D. 0.947 0.953 1.075 1.085 1.097 1.103 Pin 33 Pin 66 0.008 0.012 TOP VIEW 0.025 BASIC 0.130 0.150 0.160 0.180 SEATING PLANE 0.80 REF BOTTOM VIEW 180 Am79C961A 0.020 0.040 16-038-PQB PQB132 DB87 7-26-94 ae PHYSICAL DIMENSIONS* PQB132 Molded Carrier Ring Plastic Quad Flat Pack (measured in inches, Ring measured in millimeters) 45.87 45.50 46.13 41.37 45.90 37.87 41.63 35.15 38.13 35.25 32.15 1.097 32.25 1.103 .944 .952 Pin 66 Z1 1.50 DIA. Z2 1.50 DIA. Pin 33 45.87 46.13 45.50 45.90 32.15 32.25 41.37 41.63 37.87 38.13 1.097 1.103 .944 .952 Pin 99 35.15 35.25 Pin 1 1.50 DIA. .750 NOM. 256 NOM. Pin 132 2.00 1.80 4.80 SIDE VIEW Am79C961A 181 182 Am79C961A APPENDIX A PCnet-ISA II Compatible Media Interface Modules PCnet-ISA II COMPATIBLE 10BASE-T FILTERS AND TRANSFORMERS The table below provides a sample list of PCnet-ISA II compatible 10BASE-T filter and transformer modules Manufacturer Part No. available from various vendors. Contact the respective manufacturer for a complete and updated listing of components. Filters Filters Filters Filters and Transformers Transformers Transformers Transformers and Choke Dual Choke Dual Chokes Package Bel Fuse A556-2006-DE 16-pin 0.3" DIL √ Bel Fuse 0556-2006-00 14-pin SIP √ Bel Fuse 0556-2006-01 14-pin SIP √ Bel Fuse 0556-6392-00 16-pin 0.5" DIL √ Halo Electronics FD02-101G 16-pin 0.3" DIL Halo Electronics FD12-101G 16-pin 0.3" DIL Halo Electronics FD22-101G 16-pin 0.3" DIL PCA Electronics EPA1990A 16-pin 0.3" DIL PCA Electronics EPA2013D 16-pin 0.3" DIL PCA Electronics EPA2162 16-pin 0.3" SIP √ √ √ √ √ √ √ Pulse Engineering PE-65421 16-pin 0.3" DIL Pulse Engineering PE-65434 16-pin 0.3" SIL √ Pulse Engineering PE-65445 16-pin 0.3" DIL √ Pulse Engineering PE-65467 12-pin 0.5" SMT Valor Electronics PT3877 16-pin 0.3" DIL Valor Electronics FL1043 16-pin 0.3" DIL PCnet-ISA II Compatible AUI Isolation Transformers √ √ √ various vendors. Contact the respective manufacturer for a complete and updated listing of components. The table below provides a sample list of PCnet-ISA II compatible AUI isolation transformers available from Manufacturer Part No. Package Bel Fuse A553-0506-AB 16-pin 0.3" DIL 50 µH Bel Fuse S553-0756-AE 16-pin 0.3" SMD 75 µH Halo Electronics TD01-0756K 16-pin 0.3" DIL 75 µH Halo Electronics TG01-0756W 16-pin 0.3" SMD 75 µH PCA Electronics EP9531-4 16-pin 0.3" DIL 50 µH Pulse Engineering PE64106 16-pin 0.3" DIL 50 µH Pulse Engineering PE65723 16-pin 0.3" SMT 75 µH Valor Electronics LT6032 16-pin 0.3" DIL 75 µH Valor Electronics ST7032 16-pin 0.3" SMD 75 µH Am79C961A Description 183 PCnet-ISA II Compatible DC/DC Converters vendors. Contact the respective manufacturer for a complete and updated listing of components. The table below provides a sample list of PCnet-ISA II compatible DC/DC converters available from various Manufacturer Part No. Package Voltage Remote On/Off Halo Electronics DCU0-0509D 24-pin DIP 5/-9 No Halo Electronics DCU0-0509E 24-pin DIP 5/-9 Yes PCA Electronics EPC1007P 24-pin DIP 5/-9 No PCA Electronics EPC1054P 24-pin DIP 5/-9 Yes PCA Electronics EPC1078 24-pin DIP 5/-9 Yes Valor Electronics PM7202 24-pin DIP 5/-9 No Valor Electronics PM7222 24-pin DIP 5/-9 Yes MANUFACTURER CONTACT INFORMATION Contact the following companies for further information on their products: Company U.S. and Domestic Asia Europe 33-1-69410402 33-1-69413320 Bel Fuse Phone: FAX: (201) 432-0463 (201) 432-9542 852-328-5515 852-352-3706 Halo Electronics Phone: FAX: (415) 969-7313 (415) 367-7158 65-285-1566 65-284-9466 PCA Electronics (HPC in Hong Kong) Phone: FAX: 818-892-0761 818-894-5791 852-553-0165 852-873-1550 33-1-44894800 33-1-42051579 Pulse Engineering Phone: FAX: (619) 674-8100 (619) 675-8262 852-425-1651 852-480-5974 353-093-24107 353-093-24459 Valor Electronics Phone: FAX: (619) 537-2500 (619) 537-2525 852-513-8210 852-513-8214 49-89-6923122 49-89-6926542 184 Am79C961A APPENDIX B Layout Recommendations for Reducing Noise DECOUPLING LOW-PASS R/C FILTER DESIGN via to VDD The PCnet-ISA II controller is an integrated, single-chip Ethernet controller, which contains both digital and analog circuitry. The analog circuitry contains a high speed Phase-Locked Loop (PLL) and Voltage Controlled Oscillator (VCO). Because of the mixed signal characteristics of this chip, some extra precautions must be taken into account when designing with this device. Described in this section is a simple decoupling low-pass R/C filter that can significantly increase noise immunity of the PLL circuit, thus, prevent noise from disrupting the VCO. Bit error rate, a common measurement of network performance, as a result can be drastically reduced. In certain cases the bit error rate can be reduced by orders of magnitude. Implementation of this filter is not necessary to achieve a functional product that meets the IEEE 802.3 specification and provides adequate performance. However, this filter will help designers meet those specifications with more margin. Digital Decoupling The DVSS pins that are sinking the most current are those that provide the ground for the ISA bus output signals since these outputs require 24 mA drivers. The DVSS10 and DVSS12 pins provide the ground for the internal digital logic. In addition, DVSS11 provides ground for the internal digital and for the Input and I/O pins. The CMOS technology used in fabricating the PCnet-ISA II controller employs an n-type substrate. In this technology, all VDD pins are electrically connected to each other internally. Hence, in a four-layer board, when decoupling between VDD and critical VSS pins, the specific VDD pin that you connect to is not critical. In fact, the VDD connection of the decoupling capacitor can be made directly to the power plane, near the closest VDD pin to the VSS pin of interest. However, we recommend that the VSS connection of the decoupling capacitor be made directly to the VSS pin of interest as shown. VDD Pin VSS Pin via to VSS plane PCnet-ISA II 19364B-85 AMD recommends that at least one low-frequency bulk decoupling capacitor be used in the area of the PCnet-ISA II controller. 22 µF capacitors have worked well for this. In addition, a total of four or five 0.1 µF capacitors have proven sufficient around the DVSS and DVDD pins that supply the drivers of the ISA bus output pins. Analog Decoupling The most critical pins are the analog supply and ground pins. All of the analog supply and ground pins are located in one corner of the device. Specific requirements of the analog supply pins are listed below. AVSS1 and AVDD3 These pins provide the power and ground for the Twisted Pair and AUI drivers. Hence, they are very noisy. A dedicated 0.1 µF capacitor between these pins is recommended. AVSS2 and AVDD2 These pins are the most critical pins on the PCnet-ISA II controller because they provide the power and ground for the PLL portion of the chip. The VCO portion of the PLL is sensitive to noise in the 60 kHz-200 kHz range. To prevent noise in this frequency range from disrupting the VCO, AMD strongly recommends that the low-pass filter shown below be implemented on these pins. Tests using this filter have shown significantly increased noise immunity and reduced Bit Error Rate (BER) statistics in designs using the PCnet-ISA II controller. Am79C961A 185 VDD Plane AVDD2 Pin 108 AVSS2 Pin 98 voltage drop across the resistor, the R value should not be more than 20 Ω. 33 µF to 6.8 µF R1 1 Ω to 20 Ω PCnet-ISA II 19364B-86 To determine the value for the resistor and capacitor, the formula is: R * C ≥ 88 C 2.7 Ω 33 µF 4.3 Ω 22 µF 6.8 Ω 15 µF 10 Ω 10 µF 20 Ω 6.8 µF AVSS2 and AVDD2/AVDD4 These pins provide power and ground for the AUI and twisted pair receive circuitry. No specific decoupling has been necessary on these pins. Where R is in ohms and C is in microfarads. Some possible combinations are given below. To minimize the 186 R Am79C961A APPENDIX C Sample Plug and Play Configuration Record SAMPLE CONFIGURATION FILE The following is a sample configuration record for the PCnet-ISA II device used in an AMD Ethernet card. This card requires one DMA channel, one interrupt, one I/O port in the 0x200-0x3FF range (0x20 bytes aligned). The vendor ID of AMD is ADV. The vendor assigned part number for this card is 2100 and the serial number is 0x12345678. The card has only one log- ical device, that is an ethernet controller. There are no compatible devices with this logical device. The following record should be returned by the card during the identification process. Note: All data stored in the EEPROM is stored in bit-reversal format. Each word (16 bits) must be written into the EEPROM with bit 15 swapped with bit 0, bit 14 swapped with bit 1, etc. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Plug and Play Header ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DB 0x04 ; Vendor EISA ID Byte 0 DB 0x96 ; Vendor EISA ID Byte 1 DB 0x00 ; Vendor Assigned ID Byte 0 DB 0x21 ; Vendor Assigned ID Byte 1 DB 0x78 ; Serial Number byte 0 DB 0x56 ; Serial Number byte 1 DB 0x34 ; Serial Number byte 2 DB 0x12 ; Serial Number byte 3 DB Checksum ; Checksum calculated on above bits ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Plug and Play Version ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DB 0x0A ; Small Item, Plug and Play version DB 0x10 ; BCD major version [7:4] = 1 ; BCD minor version [3:0] = 0 DB 0x00 ; Vendor specific version number ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Identifier String ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DB 0x82 ; Large Item, Type Identifier string (ANSI) DB 0x1C ; Length Byte 0 (28 bytes) DB 0x00 ; Length Byte 1 DB “AMD PCnet-ISA II Ethernet Network Adapter“ ; Identifier String 187 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Logical Device ID ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DB 0x15 DB 0x04 DB 0x96 DB 0x55 DB 0xAA DB 0x02 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Compatible Device ID ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DB 0x1C DB 0x41 DB 0xD0 DB 0x82 DB 0x8C ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; I/O Port Descriptor ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DB 0x47 DB 0x00 DB 0x00 DB 0x02 DB 0xE0 DB 0x03 DB 0x20 DB 0x18 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; DMA Descriptor ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DB 0x2A DB 0xE8 DB 0x05 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;IRQ Format ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DB 0x23 DB 0x38 DB 0x9E DB 0x09 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; End Tag ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DB 0x79 DB Checksum 188 ; Small Item, Type Logical Device ID ; Logical Device ID byte 0 ; Logical Device ID byte 1 ; Logical Device ID byte 2 ; Logical Device ID byte 3 ; Logical Device Flags [0] – required for boot ; Small Item, Type Compatible Device ID ; Compatible Device ID byte 0 ; Compatible Device ID byte 1 ; Compatible Device ID byte 2 ; Compatible Device ID byte 3 ; Small Item, type I/O Port ; Information, [0] = 0, 10 bit Decode ; Minimum Base Address [07:00] ; Minimum Base Address [15:08] ; Maximum Base Address [07:00] ; Maximum Base Address [15:08] ; Base Address Increment (32 ports) ; Number of ports required ; Small Item, type DMA Format ; DMA channel mask ch 3, 5, 6, 7 ; 16-Bit only, Bus Master ; Small Item, type IRQ Format ; IRQs supported [7:0] 3, 4, 5 ; IRQs supported [15:8] 9, 10, 11, 12, 15 ; Information: High true, edge Low true, level ; Small item, type END TAG ; Checksum APPENDIX D Alternative Method for Initialization The PCnet-ISA II controller may be initialized by performing I/O writes only. That is, data can be written directly to the appropriate control and status registers (CSR) instead of reading from the Initialization Block in memory. The registers that must be written are shown in the table below. These are followed by writing the START bit in CSR0. Control and Status Register Comment CSR8 LADRF[15:0] CSR9 LADRF[31:16] CSR10 LADRF[47:32] CSR11 LADRF[63:48] CSR12 PADR[15:0] CSR13 PADR[31:16] CSR14 PADR[47:32] CSR15 Mode CSR24–25 BADR CSR30–31 BADX CSR47 POLLINT CSR76 RCVRL CSR78 XMTRL Note: The INIT bit must not be set or the initialization block will be accessed instead. Am79C961A 189 190 Am79C961A APPENDIX E Introduction of the LookAhead Packet Processing (LAPP) Concept A driver for the PCnet-ISA II controller would normally require that the CPU copy receive frame data from the controller’s buffer space to the application’s buffer space after the entire frame has been received by the controller. For applications that use a ping-pong windowing style, the traffic on the network will be halted until the current frame has been completely processed by the entire application stack. This means that the time between last byte of a receive frame arriving at the client’s Ethernet controller and the client’s transmission of the first byte of the next outgoing frame will be separated by: 1. the time that it takes the client’s CPU’s interrupt procedure to pass software control from the current task to the driver 2. plus the time that it takes the client driver to pass the header data to the application and request an application buffer 3. plus the time that it takes the application to generate the buffer pointer and then return the buffer pointer to the driver 4. plus the time that it takes the client driver to transfer all of the frame data from the controller’s buffer space into the application’s buffer space and then call the application again to process the complete frame 5. plus the time that it takes the application to process the frame and generate the next outgoing frame 6. plus the time that it takes the client driver to set up the descriptor for the controller and then write a TDMD bit to CSR0 The sum of these times can often be about the same as the time taken to actually transmit the frames on the wire, thereby yielding a network utilization rate of less than 50%. An important thing to note is that the PCnet-ISA II controller’s data transfers to its buffer space are such that the system bus is needed by the PCnet-ISA II controller for approximately 4% of the time. This leaves 96% of the system bus bandwidth for the CPU to perform some of the inter-frame operations in advance of the completion of network receive activity, if possible. The question then becomes: how much of the tasks that need to be performed between reception of a frame and transmission of the next frame can be performed before the reception of the frame actually ends at the network, and how can the CPU be instructed to perform these tasks during the network reception time? The answer depends upon exactly what is happening in the driver and application code, but the steps that can be performed at the same time as the receive data are arriving include as much as the first three steps and part of the fourth step shown in the sequence above. By performing these steps before the entire frame has arrived, the frame throughput can be substantially increased. A good increase in performance can be expected when the first three steps are performed before the end of the network receive operation. A much more significant performance increase could be realized if the PCnet-ISA II controller could place the frame data directly into the application’s buffer space; (i.e. eliminate the need for step four). In order to make this work, it is necessary that the application buffer pointer be determined before the frame has completely arrived, then the buffer pointer in the next desriptor for the receive frame would need to be modified in order to direct the PCnet-ISA II controller to write directly to the application buffer. More details on this operation will be given later. An alternative modification to the existing system can gain a smaller, but still significant improvement in performance. This alternative leaves step four unchanged in that the CPU is still required to perform the copy operation, but it allows a large portion of the copy operation to be done before the frame has been completely received by the controller, (i.e. the CPU can perform the copy operation of the receive data from the PCnet-ISA II controller’s buffer space into the application buffer space before the frame data has completely arrived from the network). This allows the copy operation of step four to be performed concurrently with the arrival of network data, rather than sequentially, following the end of network receive activity. Outline of the LAPP Flow: This section gives a suggested outline for a driver that utilizes the LAPP feature of the PCnet-ISA II controller. Am79C961A 191 Note: The labels in the following text are used as references in the timeline diagram that follows. SETUP: The driver should set up descriptors in groups of 3, with the OWN and STP bits of each set of three descriptors to read as follows: 11b, 10b, 00b. An option bit (LAPPEN) exists in CSR3, bit position 5. The software should set this bit. When set, the LAPPEN bit directs the PCnet-ISA II to generate an INTERRUPT when STP has been written to a receive descriptor by the PCnet-ISA II controller. does not know if buffer space in buffer number 2 will be sufficient or not, for this frame, but it has no way to tell except by trying to move the entire message into that space. Only when the message does not fit will it signal a buffer error condition— there is no need to panic at the point that it discovers that it does not yet own descriptor number 3.] S2: The first task of the driver’s interrupt service routine is to collect the header information from the PCnet-ISA II controller’s first buffer and pass it to the application. N0: Frame preamble appears on the wire, followed by SFD and destination address. S3: The application will return an application buffer pointer to the driver. The driver will add an offset to the application data buffer pointer, since the PCnet-ISA II controller will be placing the first portion of the message into the first and second buffers. (The modified application data buffer pointer will only be directly used by the PCnet-ISA II controller when it reaches the third buffer.) The driver will place the modified data buffer pointer into the final descriptor of the group (#3) and will grant ownership of this descriptor to the PCnet-ISA II controller. N1: The 64th byte of frame data arrives from the wire. This causes the PCnet-ISA II controller to begin frame data DMA operations to the first buffer. C5: Interleaved with S2, S3 and S4 driver activity, the PCnet-ISA II controller will write frame data to buffer number 2. C0: When the 64th byte of the message arrives, the PCnet-ISA II controller performs a lookahead operation to the next receive descriptor. This descriptor should be owned by the PCnet-ISA II controller. S4: The driver will next proceed to copy the contents of the PCnet-ISA II controller’s first buffer to the beginning of the application space. This copy will be to the exact (unmodified) buffer pointer that was passed by the application. FLOW: The PCnet-ISA II controller polls the current receive descriptor at some point in time before a message arrives. The PCnet-ISA II controller determines that this receive buffer is OWNed by the PCnet-ISA II controller and it stores the descriptor information to be used when a message does arrive. C1: The PCnet-ISA II controller intermittently requests the bus to transfer frame data to the first buffer as it arrives on the wire. S0: The driver remains idle. C2: When the PCnet-ISA II controller has completely filled the first buffer, it writes status to the first descriptor. C3: When the first descriptor for the frame has been written, changing ownership from the PCnet-ISA II controller to the CPU, the PCnet-ISA II controller will generate an SRP INTERRUPT. (This interrupt appears as a RINT interrupt in CSR0.) S1: The SRP INTERRUPT causes the CPU to switch tasks to allow the PCnet-ISA II controller’s driver to run. C4: During the CPU interrupt-generated task switching, the PCnet-ISA II controller is performing a lookahead operation to the third descriptor. At this point in time, the third descriptor is owned by the CPU. [Note: Even though the third buffer is not owned by the PCnet-ISA II controller, existing AMD Ethernet controllers will continue to perform data DMA into the buffer space that the controller already owns (i.e. buffer number 2). The controller 192 S5: After copying all of the data from the first buffer into the beginning of the application data buffer, the driver will begin to poll the ownership bit of the second descriptor. The driver is waiting for the PCnet-ISA II controller to finish filling the second buffer. C6: At this point, knowing that it had not previously owned the third descriptor, and knowing that the current message has not ended (there is more data in the fifo), the PCnet-ISA II controller will make a “last ditch lookahead” to the final (third) descriptor; This time, the ownership will be TRUE (i.e. the descriptor belongs to the controller), because the driver wrote the application pointer into this descriptor and then changed the ownership to give the descriptor to the PCnet-ISA II controller back at S3. Note that if steps S1, S2 and S3 have not completed at this time, a BUFF error will result. C7: After filling the second buffer and performing the last chance lookahead to the next descriptor, the PCnet-ISA II controller will write the status and change the ownership bit of descriptor number 2. Am79C961A S6: After the ownership of descriptor number 2 has been changed by the PCnet-ISA II controller, the next driver poll of the 2nd descriptor will show ownership granted to the CPU. The driver now copies the data from buffer number 2 into the “middle section” of the application buffer space. This operation is interleaved with the C7 and C8 operations. C8: The PCnet-ISA II controller will perform data DMA to the last buffer, whose pointer is pointing to application space. Data entering the last buffer will not need the infamous “double copy” that is required by existing drivers, since it is being placed directly into the application buffer space. N2: The message on the wire ends. Ethernet Wire activity: S7: When the driver completes the copy of buffer number 2 data to the application buffer space, it begins polling descriptor number 3. C9: When the PCnet-ISA II controller has finished all data DMA operations, it writes status and changes ownership of descriptor number 3. S8: The driver sees that the ownership of descriptor number 3 has changed, and it calls the application to tell the application that a frame has arrived. S9: The application processes the received frame and generates the next TX frame, placing it into a TX buffer. S10: The driver sets up the TX descriptor for the PCnet-ISA II controller. Ethernet Controller activity: Software activity: S10: Driver sets up TX descriptor. S9: Application processes packet, generates TX packet. S8: Driver calls application to tell application that packethas arrived. } C9: Controller writes descriptor #3. S7: Driver polls descriptor of buffer #3. N2:EOM C8: Controller is performing intermittent bursts of DMA to fill data buffer #3. Buffer #3 C6: "Last chance" lookahead to descriptor #3 (OWN). S4: Driver copies data from buffer #1 to the application buffer. S3: Driver writes modified application pointer to descriptor #3. Packet data arriving C5: Controller is performing intermittent bursts of DMA to fill data buffer #2 C4: Lookahead to descriptor #3 (OWN). C3: SRP interrupt is generated. S5: Driver polls descriptor #2. } Buffer #2 } C7: Controller writes descriptor #2. S6: Driver copies data from buffer #2 to the application buffer. S2: Driver call to application to get application buffer pointer. S1: Interrupt latency. } C2: Controller writes descriptor #1. C1: Controller is performing intermittent bursts of DMA to fill data buffer #1. Buffer #1 S0: Driver is idle. C0: Lookahead to descriptor #2. { N1: 64th byte of packet data arrives. N0: Packet preamble, SFD and destination address are arriving. 19364B-87 Figure 1. Look Ahead Packet Processing (LAPP) Timeline Am79C961A 193 LAPP Enable Software Requirements Software needs to set up a receive ring with descriptors formed into groups of 3. The first descriptor of each group should have OWN = 1 and STP = 1, the second descriptor of each group should have OWN = 1 and STP = 0. The third descriptor of each group should have OWN = 0 and STP = 0. The size of the first buffer (as indicated in the first descriptor), should be at least equal to the largest expected header size; However, for maximum efficiency of CPU utilization, the first buffer size should be larger than the header size. It should be equal to the expected number of message bytes, minus the time needed for Interrupt latency and minus the application call latency, minus the time needed for the driver to write to the third descriptor, minus the time needed for the driver to copy data from buffer #1 to the application buffer space, and minus the time needed for the driver to copy data from buffer #2 to the application buffer space. Note that the time needed for the copies performed by the driver depends upon the sizes of the 2nd and 3rd buffers, and that the sizes of the second and third buffers need to be set according to the time needed for the data copy operations! This means that an iterative self-adjusting mechanism needs to be placed into the software to determine the correct buffer sizing for optimal operation. Fixed values for buffer sizes may be used; In such a case, the LAPP method will still provide a significant performance increase, but the performance increase will not be maximized. The following diagram illustrates this setup for a receive ring size of 9: Descriptor #1 OWN = 1 STP = 1 SIZE = A-(S1+S2+S3+S4+S6) Descriptor #2 OWN = 1 STP = 0 SIZE = S1+S2+S3+S4 Descriptor #3 OWN = 0 STP = 0 SIZE = S6 Descriptor #4 OWN = 1 STP = 1 SIZE = A-(S1+S2+S3+S4+S6) Descriptor #5 OWN = 1 STP = 0 SIZE = S1+S2+S3+S4 Descriptor #6 OWN = 0 STP = 0 SIZE = S6 Descriptor #7 OWN = 1 STP = 1 SIZE = A-(S1+S2+S3+S4+S6) Descriptor #8 OWN = 1 STP = 0 SIZE = S1+S2+S3+S4 Descriptor #9 OWN = 0 STP = 0 SIZE = S6 LAPP Enable Rules for Parsing of Descriptors When using the LAPP method, software must use a modified form of descriptor parsing as follows: Software will examine OWN and STP to determine where a RCV frame begins. RCV frames will only begin in buffers that have OWN = 0 and STP = 1. Software shall assume that a frame continues until it finds either ENP = 1 or ERR= 1. Software must discard all descriptors with OWN = 0 and STP = 0 and move to the next descriptor when searching for the beginning of a new frame; ENP and ERR should be ignored by software during this search. Software cannot change an STP value in the receive descriptor ring after the initial setup of the ring is complete, even if software has ownership of the STP descriptor unless the previous STP descriptor in the ring is also OWNED by the software. When LAPPEN = 1, then hardware will use a modified form of descriptor parsing as follows: The controller will examine OWN and STP to determine where to begin placing a RCV frame. A new RCV frame will only begin in a buffer that has OWN = 1 and STP = 1. The controller will always obey the OWN bit for determining whether or not it may use the next buffer for a chain. The controller will always mark the end of a frame with either ENP = 1 or ERR= 1. A = Expected message size in bytes S1 = Interrupt latency S2 = Application call latency S3 = Time needed for driver to write to third descriptor S4 = Time needed for driver to copy data from buffer #1 to application buffer space S6 = Time needed for driver to copy data from buffer #2 to application buffer space Note that the times needed for tasks S1, S2, S3, S4, and S6 should be divided by 0.8 microseconds to yield an equivalent number of network byte times before subtracting these quantities from the expected message size A. 19364B-88 Figure 2. LAPP 3 Buffer Grouping 194 Am79C961A Some Examples of LAPP Descriptor Interaction The controller will discard all descriptors with OWN = 1 and STP = 0 and move to the next descriptor when searching for a place to begin a new frame. It discards these desciptors by simply changing the ownership bit from OWN=1 to OWN = 0. Such a descriptor is unused for receive purposes by the controller, and the driver must recognize this. (The driver will recognize this if it follows the software rules.) Choose an expected frame size of 1060 bytes. Choose buffer sizes of 800, 200 and 200 bytes. 1. Assume that a 1060 byte frame arrives correctly, and that the timing of the early interrupt and the software is smooth. The descriptors will have changed from: The controller will ignore all descriptors with OWN = 0 and STP = 0 and move to the next descriptor when searching for a place to begin a new frame. In other words, the controller is allowed to skip entries in the ring that it does not own, but only when it is looking for a place to begin a new frame. Before the Frame Arrived After the Frame Has Arrived Descriptor Number OWN STP ENP* OWN STP ENP* 1 1 1 X 0 1 0 Bytes 1–800 2 1 0 X 0 0 0 Bytes 801–1000 3 0 0 X 0 0 1 Bytes 1001–1060 4 1 1 X 1 1 X Controller’s current location 5 1 0 X 1 0 X Not yet used 6 0 0 X 0 0 X Not yet used etc. 1 1 X 1 1 X Not yet used Comments (After Frame Arrival) *ENP or ERR 2. Assume that instead of the expected 1060 byte frame, a 900 byte frame arrives, either because there was an error in the network, or because this is the last frame in a file transmission sequence. Before the Frame Arrived After the Frame Has Arrived Descriptor Number OWN STP ENP* OWN STP ENP* Comments (After Frame Arrival) 1 1 1 X 0 1 0 Bytes 1–800 2 1 0 X 0 0 1 Bytes 801–900 3 0 0 X 0 0 ?** 4 1 1 X 1 1 X Controller’s current location 5 1 0 X 1 0 X Not yet used 6 0 0 X 0 0 X Not yet used etc. 1 1 X 1 1 X Not yet used Discarded buffer *ENP or ERR ** Note that the PCnet-ISA II controller might write a ZERO to ENP location in the 3rd descriptor. Here are the two possibilities: 1. If the controller finishes the data transfers into buffer number 2 after the driver writes the application’s modified buffer pointer into the third descriptor, then the controller will write a ZERO to ENP for this buffer and will write a ZERO to OWN and STP. 2. If the controller finishes the data transfers into buffer number 2 before the driver writes the application’s modified buffer pointer into the third descriptor, then the controller will complete the frame in buffer number two and then skip the then unowned third buffer. In this case, the PCnet-ISA II controller will not have had the opportunity to RESET the ENP bit in this descriptor, and it is possible that the software left this bit as ENP=1 from the last time through the ring. Therefore, the software must treat the location as a don’t care; The rule is, after finding ENP=1 (or ERR=1) in descriptor number 2, the software must ignore ENP bits until it finds the next STP=1. Am79C961A 195 3. Assume that instead of the expected 1060 byte frame, a 100 byte frame arrives, because there was an error in the network, or because this is the last frame in a file transmission sequence, or perhaps because it is an acknowledge frame. * Before the Frame Arrived After the Frame Has Arrived Descriptor Number OWN STP ENP* OWN STP ENP* 1 1 1 X 0 1 1 2 1 0 X 0 0 0*** Discarded buffer 3 0 0 X 0 0 ?** Discarded buffer 4 1 1 X 1 1 X Controller’s current location 5 1 0 X 1 0 X Not yet used 6 0 0 X 0 0 X Not yet used etc. 1 1 X 1 1 X Not yet used Comments (After Frame Arrival) Bytes 1–100 ENP or ERR ** Same as note in case 2 above, except that in this case, it is very unlikely that the driver can respond to the interrupt and get the pointer from the application before the PCnet-ISA II controller has completed its poll of the next descriptors. This means that for almost all occurrences of this case, the PCnet-ISA II controller will not find the OWN bit set for this descriptor and therefore, the ENP bit will almost always contain the old value, since the PCnet-ISA II controller will not have had an opportunity to modify it. *** Note that even though the PCnet-ISA II controller will write a ZERO to this ENP location, the software should treat the location as a don’t care, since after finding the ENP=1 in descriptor number 2, the software should ignore ENP bits until it finds the next STP=1. Buffer Size Tuning For maximum performance, buffer sizes should be adjusted depending upon the expected frame size and the values of the interrupt latency and application call latency. The best driver code will minimize the CPU utilization while also minimizing the latency from frame end on the network to frame sent to application from driver (frame latency). These objectives are aimed at increasing throughput on the network while decreasing CPU utilization. Note that the buffer sizes in the ring may be altered at any time that the CPU has ownership of the corresponding descriptor. The best choice for buffer sizes will maximize the time that the driver is swapped out, while minimizing the time from the last byte written by the PCnet-ISA II controller to the time that the data is passed from the driver to the application. In the diagram, this corresponds to maximizing S0, while minimizing the time between C9 and S8. (The timeline happens to show a minimal time from C9 to S8.) Note that by increasing the size of buffer number 1, we increase the value of S0. However, when we increase the size of buffer number 1, we also increase the value of S4. If the size of buffer number 1 is too large, then the driver will not have enough time to perform tasks S2, S3, S4, S5 and S6. The result is that there will be 196 delay from the execution of task C9 until the execution of task S8. A perfectly timed system will have the values for S5 and S7 at a minimum. An average increase in performance can be achieved if the general guidelines of buffer sizes in Figure 2 is followed. However, as was noted earlier, the correct sizing for buffers will depend upon the expected message size. There are two problems with relating expected message size with the correct buffer sizing: 1. Message sizes cannot always be accurately predicted, since a single application may expect different message sizes at different times, therefore, the buffer sizes chosen will not always maximize throughput. 2. Within a single application, message sizes might be somewhat predictable, but when the same driver is to be shared with multiple applications, there may not be a common predictable message size. Additional problems occur when trying to define the correct sizing because the correct size also depends upon the interrupt latency, which may vary from system to system, depending upon both the hardware and the software installed in each system. In order to deal with the unpredictable nature of the message size, the driver can implement a self tuning Am79C961A mechanism that examines the amount of time spent in tasks S5 and S7 as such: While the driver is polling for each descriptor, it could count the number of poll operations performed and then adjust the number 1 buffer size to a larger value, by adding “t” bytes to the buffer count, if the number of poll operations was greater than “x”. If fewer than “x” poll operations were needed for each of S5 and S7, then the software should adjust the buffer size to a smaller value by, subtracting “y” bytes from the buffer count. Experiments with such a tuning mechanism must be performed to determine the best values for “X” and “y.” Note whenever the size of buffer number 1 is adjusted, buffer sizes for buffer number 2 and buffer 3 should also be adjusted. In some systems the typical mix of receive frames on a network for a client application consists mostly of large data frames, with very few small frames. In this case, for maximum efficiency of buffer sizing, when a frame arrives under a certain size limit, the driver should not adjust the buffer sizes in response to the short frame. An Alternative LAPP Flow - the TWO Interrupt Method An alternative to the above suggested flow is to use two interrupts, one at the start of the Receive frame and the other at the end of the receive frame, instead of just looking for the SRP interrupt as was described above. This alternative attempts to reduce the amount of time that the software “wastes” while polling for descriptor own bits. This time would then be available for other CPU tasks. It also minimizes the amount of time the CPU needs for data copying. This savings can be applied to other CPU tasks. The time from the end of frame arrival on the wire to delivery of the frame to the application is labeled as frame latency. For the one-interrupt method, frame latency is minimized, while CPU utilization increases. For the two-interrupt method, frame latency becomes greater, while CPU utilization decreases. Note that some of the CPU time that can be applied to non-Ethernet tasks is used for task switching in the CPU. One task switch is required to swap a non-Ethernet task into the CPU (after S7A) and a second task switch is needed to swap the Ethernet driver back in again (at S8A). If the time needed to perform these task switches exceeds the time saved by not polling descriptors, then there is a net loss in performance with this method. Therefore, the NEW WORD method implemented should be carefully chosen. Figure 3 shows the event flow for the two-interrupt method. Figure 4 shows the buffer sizing for the two-interrupt method. Note that the second buffer size will be about the same for each method. There is another alternative which is a marriage of the two previous methods. This third possibility would use the buffer sizes set by the two-interrupt method, but would use the polling method of determining frame end. This will give good frame latency but at the price of very high CPU utilization. And still, there are even more compromise positions that use various fixed buffer sizes and effectively, the flow of the one-interrupt method. All of these compromises will reduce the complexity of the one-interrupt method by removing the heuristic buffer sizing code, but they all become less efficient than heuristic code would allow. Am79C961A 197 Ethernet Wire activity: Ethernet Controller activity: Software activity: S10: Driver sets up TX descriptor. S9: Application processes packet, generates TX packet. S8: Driver calls application to tell application that packethas arrived. S8A: Interrupt latency. } C10: ERP interrupt is generated. } C9: Controller writes descriptor #3. } C8: Controller is performing intermittent bursts of DMA to fill data buffer #3. N2:EOM C7: Controller writes descriptor #2. S7: Driver is swapped out, allowing a non-Ethernet application to run. S7A: Driver Interrupt Service Routine executes RETURN. S6: Driver copies data from buffer #2 to the application buffer. Buffer #3 S5: Driver polls descriptor #2. C6: "Last chance" lookahead to descriptor #3 (OWN). S4: Driver copies data from buffer #1 to the application buffer. S3: Driver writes modified application pointer to descriptor #3. Packet data arriving C4: Lookahead to descriptor #3 (OWN). C3: SRP interrupt is generated. } Buffer #2 } C5: Controller is performing intermittent bursts of DMA to fill data buffer #2 S2: Driver call to application to get application buffer pointer. S1: Interrupt latency. } C2: Controller writes descriptor #1. C1: Controller is performing intermittent bursts of DMA to fill data buffer #1. Buffer #1 S0: Driver is idle. C0: Lookahead to descriptor #2. { N1: 64th byte of packet data arrives. N0: Packet preamble, SFD and destination address are arriving. 19364B-89 Figure 3. LAPP TImeline for TWO-INTERRUPT Method 198 Am79C961A Descriptor #1 Descriptor #2 OWN = 1 STP = 1 SIZE = HEADER_SIZE (minimum 64 bytes) OWN = 1 SIZE = S1+S2+S3+S4 STP = 0 Descriptor #3 OWN = 0 STP = 0 SIZE = 1518 - (S1+S2+S3+S4+HEADER_SIZE) Descriptor #4 OWN = 1 STP = 1 SIZE = HEADER_SIZE (minimum 64 bytes) Descriptor #5 OWN = 1 SIZE = S1+S2+S3+S4 Descriptor #6 OWN = 0 STP = 0 SIZE = 1518 - (S1+S2+S3+S4+HEADER_SIZE) Descriptor #7 OWN = 1 STP = 1 SIZE = HEADER_SIZE (minimum 64 bytes) Descriptor #8 OWN = 1 SIZE = S1+S2+S3+S4 Descriptor #9 OWN = 0 STP = 0 SIZE = 1518 - (S1+S2+S3+S4+HEADER_SIZE) STP = 0 STP = 0 A = Expected message size in bytes S1 = Interrupt latency S2 = Application call latency S3 = Time needed for driver to write to third descriptor S4 = Time needed for driver to copy data from buffer #1 to application buffer space S6 = Time needed for driver to copy data from buffer #2 to application buffer space Note that the times needed for tasks S1, S2, S3, S4, and S6 should be divided by 0.8 microseconds to yield an equivalent number of network byte times before subtracting these quantities from the expected message size A. 19364B-90 Figure 4. LAPP 3 Buffer Grouping for TWO-INTERRUPT Method Am79C961A 199 200 Am79C961A APPENDIX F Some Characteristics of the XXC56 Serial EEPROMs SWITCHING CHARACTERISTICS of a TYPICAL XXC56 SERIAL EEPROM INTERFACE Applicable over recommended operating range from TA = –40×C to +85×C, VCC = +1.8 V to +5.5 V, CL = 1 TTL Gate and 100 pF (unless otherwise noted) Parameter Symbol Parameter Description Test Conditions Min Max Unit 0 0.5 MHz fSK SK Clock Frequency tSKH SK High Time (Note 1) 500 ns tSKL SK Low Time (Note 1) 500 ns tCS Minimum CS Low Time (Note 2) 500 ns tCSS CS Setup Time Relative to SK 100 ns tDIS DI Setup Time Relative to SK 200 ns tCSH CS Hold Time Relative to SK 0 ns tDIH DI Hold Time Relative to SK 200 ns tPD1 Output Delay to ‘1’ AC Test 1000 ns tPD0 Output Delay to ‘0’ AC Test 1000 ns tSV CS to Status Valid AC Test 1000 ns tDF CS to DO in High Impedance AC Test; CS = VIL 200 ns tWP Write Cycle Time 10 ms Endurance Number of Data Changes per Bit Typical 100,000 Cycles Notes: 1. The SK frequency specifies a minimum SK clock period of 2 µs, therefore in an SK clock cycle tSKH + tSKL must be greater than or equal to 2 µs. For example, if the tSKL = 500 ns then the minimum tSKH = 1.5 µs in order to meet the SK frequency specification. 2. CS must be brought low for a minimum of 500 ns (tCS) between consecutive instruction cycles. Am79C961A 201 INSTRUCTION SET FOR THE XXC56 SERIES OF EEPROMS Address Data Instruction SB Op Code READ 1 10 A8–A0 A7–A0 EWEN 1 00 11XXXXXXX 11XXXXXX ERASE 1 11 A8–A0 A7–A0 WRITE 1 01 A0–A0 A7–A0 ERAL 1 00 10XXXXXXX 10XXXXXX WRAL 1 00 01XXXXXXX 01XXXXXX EWDS 1 00 00XXXXXXX 00XXXXXX CS SK DI DO (READ) x8 x16 x8 x16 Comments Reads data stored in memory, at specified address Write enable must precede all programming modes Erases memory location An–A0 D7–D0 D15–D0 Writes memory location An–A0 Erases all memory locations. Valid only at VCC = 4.5 V to 5.5 V D7–D0 D15–D0 Writes all memory locations. Valid when VCC = 5.0 V ± 10% and Disable Register cleared Disables all programming instructions VIH VIL 1 µs (1) tCSS tSKH tCSH tSKL VIH VIL tDIS tDIH VIH VIL tPDO VOH tPDI tDF VOL tDF tSV DO (PROGRAM) VOH Status Valid VOL 19364B-91 Typical XXC56 Series Serial EEPROM Control Timing Note: 1. This is the minimum SK period. 202 Am79C961A APPENDIX G Am79C961A PCnet-ISA II Silicon Errata Report AM79C961A REV FD SILICON STATUS The items below are the known errata for Rev FD silicon. Rev FD silicon is the production silicon. Note: A signal followed by "*" indicates active low; i.e., MASTER*. The Description section of this document gives an external description of the problem. The Implication section gives an explanation of how the PCnet-ISA II controller behaves and its impact on the system. The Work-around section describes a work around for the problem. The Status section indicates when and how the problem will be fixed. Current package marking for this revision: Line 1: <Logo> Line 2: PCnet(tm)-ISA II Line 3: Am79C961AKC (Assuming package is PQFP) Line 4: <Date Code> FD Line 5: (c) 1993 AMD Value of chip identification registers, CSR89+CSR88 [31:0] for this revision = 32261003h. 1) False BABL errors generated Description: The PCnet-ISA II FD device will intermittenly give BABL error indications when the network traffic has frames equal to or greater than 1518 bytes. Implication: False BABL errors on the receiving station can be passed up to the upper layer software if PCnet-ISA II FD device is just coming out of deferral and the multi-purpose counter used to count the number of bytes re-cevied reaches 1518 at the same time. If the network is heavily loaded with full-size frames, then the probability of a false BABL error is high. Work-around: There are two possible work-arounds. 1. If the user has no intention to transmit frames larger than 1518 bytes, then the BABL bit may be masked to ignore babble errors. In this case the false babble error will not cause an interrupt, nor will it be passed to the higher level software. 2. Check to see if the device is transmitting in ISR (Interrupt Service Routine), which is induced by the BABL error. The BCRs which control the LED settings can be programmed to indicate a transmit activity, assuming the interrupt latency is not longer than one mininum IFG (inter-frame gap) time. If (ISR_LATENCY < 9.6 us) True_bable_err = BABL * ( TINT + XMT_LED) { i.e. False_bable_err = ~ (BABL * ( TINT + XMT_LED))} else Cannot tell if the BABL error is true or false just by reading BABL, TINT, XMT_LED bits in ISR. Status: No current plan to fix this item. Am79C961A 203 2) DRQ inactive to MASTER* inactive time Description: The data sheet lists a minimum limit of 40ns for the time that DRQ goes inactive until MASTER* goes inactive. During the course of device characterization a minimum value of less than 40ns has been observed. The lower limit for this parameter therefore has been changed to 30ns. (DRQ inactive to MASTER* inactive time). Implication: There is no jeopardy because of this change. The device tristates its active command, SBHE, SA, and LA lines before MASTER* goes inactive. Work-around: None required. Status: Data sheet limit will be changed. There will be no change to the silicon. 3) DRQ inactive to Command, SBHE*, SA0-9 and LA17-23 tristated. Description: The data sheet lists a maximum limit of 0ns for the time that DRQ goes inactive until Command, SBHE*, SA0-9 and LA17-23 signals tristate. During the course of device characterization a maximum value of more than 0ns has been observed. The upper limit for this parameter therefore has been changed to 10ns. (DRQ inactive to Command, SBHE*, SA0-9 and LA17-23 tristated) Implication: There is no jeopardy because of this change. The MASTER* which controls the IO on the bus goes inactive after this time. Work-around: None required. Status: Data sheet limit will be changed. There will be no change to the silicon. 204 Am79C961A The contents of this document are provided in connection with Advanced Micro Devices, Inc. (“AMD”) products. AMD makes no representations or warranties with respect to the accuracy or completeness of the contents of this publication and reserves the right to make changes to speci-fications and product descriptions at any time without notice. No license, whether express, implied, arising by estoppel or otherwise, to any in-tellectual property rights is granted by this publication. Except as set forth in AM’s Standard Terms and Conditions of Sale, AMD assumes no liability whatsoever, and disclaims any express or implied warranty, relating to its products including, but not limited to, the implied warranty of merchantability, fitness for a particular purpose, or infringement of any intellectual property right. AMD’s products are not designed, intended, authorized or warranted for use as components in systems intended for surgical implant into the body, or in other applications intended to support or sustain life, or in any other application in which the failure of AMD's product could create a situation where personal injury, death, or severe property or environmental damage may occur. AMD reserves the right to discontinue or make changes to its products at any time without notice. Trademarks Copyright © 2000 Advanced Micro Devices, Inc. All rights reserved. AMD, the AMD logo, and combinations thereof are trademarks of Advanced Micro Devices, Inc. PCnet, PCnet-ISA and Magic Packet are trademarks of Advanced Micro Devices, Inc. Product names used in this publication are for identification purposes only and may be trademarks of their respective companies. Am79C961A 205 206 Am79C961A