AMD Lance Am7990

Summary

AMD Lance Am7990 IEEE 802.3[1] Ethernet media access controller (MAC) controller were introduced in 1985.[2] Its architecture is the basis for AMD's PCnet Family of highly integrated single-chip Ethernet controllers. The one exception is the Am79C940 MAC. The Am7990 chip was fabricated in NMOS technology and has no integrated Manchester encoder/decoder (ENDEC) nor does it have an integrated 10BASE-T transceiver.

AMD Am7990 Lance die

Compatibility edit

A later re-fabricated chip called the C-LANCE Am79C90 is made with 0.8 micrometre CMOS technology. The original NMOS version Am7990 and the CMOS Am79C90 version differ in some details which may affect device driver compatibility.[citation needed]

The datasheet for the CMOS version states that the CMOS and NMOS versions are the same. But the "Table B-1. Comparison Summary of the C-LANCE and LANCE Devices" in the datasheet shows they differ. These differences are not likely to require modifications of any device driver.

The PCnet family of Ethernet controllers (PCnet-ISA II, PCnet-32, PCnet-PCI II and PCnet-FAST) is LANCE software compatible. This means you should be able use the original 16-bit software on these members of the PCnet family of single-chip Ethernet controllers.

Features edit

The Am7990 can handle 10BASE-5 Type A, 10BASE-2 Type B, and 10BASE-T. Back-to-back packet reception with as little as 0,5 μs interframe spacing. DMA/Bus mastering 24-bit (16M) address capable. Up to 128 ring buffers can be used. 48 byte receive/transmit FIFO. Operates with 5 volt DC 5% supply and logic. Features a Time-domain reflectometer (TDR) with a granularity of 30 meter. 16,8 MHz maximum frequency. [1]

Physically a DIP-48 or PLCC-68 package is used. CSR0 slave read data can cause timing violations on DAL lines.

Chip bugs edit

The old LANCE (Rev. C) chips have a bug which causes garbage to be inserted in front of the received packet. The workaround is to ignore packets with an invalid destination address (garbage will usually not match). Of course, this precludes multicast support.[3] The Amiga SANA-II network interface API has poor multicast support, and this chip bug might be the reason.

  • No capability for transmit buffer byte count of zero.
  • Receive lockup may occur if bus latency is large.
  • External loopback on a live network may cause reception of invalid loopback failure indications.
  • Receive descriptor zero byte count buffer interpreted as 4096 available bytes.
  • Will poll computer memory every 1.6 ms for new packets to transmit.

Uses edit

 
AMD Am7990DC from SGI IP6 motherboard

An software implementation of an Am7990 is available in emulated environments:

See also edit

  • 3Com 3c509 - 1994, 3Com 3c509 network card
  • NE2000 - 1987, Novell's NE2000 network card
  • RTL8139 - 1999, Realtek 8139 PCI network chip

References edit

  1. ^ a b "Am79C90 : CMOS Local Area Network Controller for Ethernet (C-LANCE)" (PDF). AMD – TechDocs. Archived from the original (PDF) on 20 September 2021. Retrieved 22 January 2021.
  2. ^ "Net186 Demonstration Board User's Manual" (PDF). Retrieved 22 January 2021. AMD.com – TechDocs
  3. ^ "fxr.watson.org: sys/dev/le/am7990.c". 090426 fxr.watson.org
  4. ^ "Commodore: A2065". Archived from the original on 2013-01-20. 090426 amiga-hardware.com
  5. ^ "Amiga Linux/68k A2065 Ethernet Driver a2065.h". 090427 cvs.osdn.jp
  6. ^ "Suns-at-Home Digest V10 #2". Archived from the original on 2011-07-14. 090427 net-kitchen.com
  7. ^ "comp.unix.admin, How to know Sun CPU type, 1993". 090427 groups.google.com
  8. ^ "1993: SUMMARY min info script". Archived from the original on 2011-07-26. 090427 sunmanagers.org
  9. ^ "Linux Ethernet-Howto: Vendor/Manufacturer/Model Specific Information". 090428 mm.iit.uni-miskolc.hu
  10. ^ "FreeBSD 7.1R manpage le(4)". 090426 freebsd.org