6.5.1.5 Receiving Frames

Network frames are ignored when the Configuration Synchronization (SYNC) bit in the OA_CONFIG0 register is ‘0’.

  • Enable receive in the Network Control register.
  • Set the Configuration Synchronization (SYNC) bit in the OA_CONFIG0 register.

When a frame is received, the SYNC bit is set, and the MAC receive circuits are enabled, the MAC checks the address and, in the following cases, the frame is written to internal memory buffers:

  • If it matches one of the four Specific Address registers.
  • If it matches one of the four type ID registers.
  • If it matches the hash address function.
  • If it is a broadcast address (0xFFFFFFFFFFFF) and broadcasts are allowed.
  • If the MAC is configured to “copy all frames” (i.e., promiscuous mode).

Once the frame has been completely and successfully received and written to internal memory, the MAC then updates the receive blocks available entry and the SPI is notified that receive data is available for reading. The host is then responsible for reading the data from the SPI.

If the MAC is unable to write the receive data into internal memory, then a receive overrun interrupt is set. If the frame is not successfully received, a statistics register is incremented and the frame is discarded without informing software.