The
receiver core is capable of generating interrupts
from many different events:
- Ping
Watchdog Timeout (PING_WD_TO)
This event
indicates that the ping watchdog timer has timed
out. The receiver has not received a valid frame
within the time period specified in the
RX_PING_WD_REF register.
- Frame
Watchdog Timeout (FRAME_WD_TO)
This event
indicates that the frame watchdog timer has timed
out. The conditions of this timeout are set using
the RX_FRAME_WD_CTRL register. As soon as the
start of frame phase is detected, the frame
watchdog counter will start counting from 0. The
end of frame phase must complete by the time the
watchdog counter reaches the reference value. If
this does not happen, the watchdog will time out
and this event will be generated. If this event
occurs, the receiver must undergo a soft reset and
subsequent resynchronization in order to guarantee
proper operation.
- CRC Error (CRC_ERR)
This error
indicates that a CRC error has occurred. A CRC
error will be generated when the received CRC and
the computed CRC do not match.
- Frame
Type Error (TYPE_ERR)
This error
indicates that an invalid frame type has been
received. If this error occurs, the receiver must
undergo a soft reset and subsequent
resynchronization in order to guarantee proper
operation.
- End-of-Frame
Error (EOF_ERR)
This error
indicates that an invalid end-of-frame bit pattern
has been received. If this error occurs, the
receiver must undergo a soft reset and subsequent
resynchronization in order to guarantee proper
operation.
- Receive
Buffer Overrun (BUF_OVERRUN)
This event
indicates that an overrun condition has occurred
in the receive buffer.
- Receive
Buffer Underrun (BUF_UNDERRUN)
This event
indicates that an underrun condition has occurred
in the receive buffer. This condition occurs when
software reads the buffer while it is empty.
- Frame
Done (FRAME_DONE)
This event
indicates that a valid frame has been received
without error.
- Error
Frame Received (ERR_FRAME)
This event
indicates that an error frame has been
received.
- Ping
Frame Received (PING_FRAME)
This event
indicates that a ping frame has been
received.
- Frame
Overrun (FRAME_OVERRUN)
This event
indicates that a new frame has been received while
the FRAME_DONE flag was still set.
- Data
Frame Received (DATA_FRAME)
This event
indicates that a data frame has been
received.
- Ping
Tag Matched (PING_TAG_MATCH)
This event
indicates that a ping frame with a matching tag
has been received.
- Data
Tag Matched (DATA_TAG_MATCH)
This event
indicates that a data frame with a matching tag
has been received.
- Error
Tag Matched (ERROR_TAG_MATCH)
This event
indicates that an error frame with a matching tag
has been received.