User Manual
BCM1250/BCM1125/BCM1125H
10/21/02
B r o a d c o m C o r p o r a t i o n
Document
1250_1125-UM100CB-R
Section 10: Serial Interfaces Page
347
Setting
ser_addr_mask
to all zeros disables address filtering and allows reception of all frames. Link protocols
with single-byte addresses should specify masks with all zeros in the most significant byte (i.e. 16’h00ff). When
the number of acceptable addresses is less than four, the remaining address registers should be filled with
copies of a valid address.
The recovered bytes of the Address, Control, Data and CRC fields of the frame are written, with bit-stuffing
removed, into RxFIFO. If the RxFIFO becomes full in the middle of receiving a frame, the receive module
discards all except the last word received when the full condition occurs. When space in the RxFIFO
subsequently becomes available, this last word held is written into the FIFO with status overrun bit set. Any
frames for which an opening Flag is received while the RxFIFO is full are ignored and not reflected in any status
bits.
Received frames are moved from the RxFIFO to DMA buffers in memory by the serial DMA engine. The
beginning and end of frame are specially marked by the protocol engine. DMA transfer begins when the
number of entries in the RxFIFO exceeds a configurable threshold (
ser_rx_rd_thres
) or when an End of
Frame is available in the RxFIFO.
The packet is checked for errors during reception. Indications of any errors are passed to the RxFIFO and
eventually written back into the DMA descriptor status field.
For each frame, the CRC is computed using CRC-CCITT or CRC-32, as selected by the crc_mode in the
ser_mode
register. The computed CRC is compared with the value in the packet. If the two do not match,
crc_error is signaled to the RxFIFO.
A frame that terminates with an Abort or Idle sequence is forwarded to the RxFIFO marked with an abort error
flag.
The receive module also checks for a frame with a length (excluding opening and closing Flags) that exceeds
the maximum length programmed in the
ser_maxfrm_sz
register. For such a frame, data up to the maximum
length allowed is forwarded to the RxFIFO with an indication of a long frame error.
Similarly, the receive module checks for a frame that is shorter than the minimum length programmed in
ser_minfrm_sz
and sends a short frame error when forwarding the data to the RxFIFO. Note that frames of
zero length are not recognized as such; a sequence of consecutive flags is equivalent to a single flag for the
purpose of delimiting frames.
The receive module also checks for frames that are not-octet aligned, i.e., frames in which the number of bits
between flags is not a multiple of 8 after any bit-stuffing is removed. These frames are forwarded to the RxFIFO
with octet_error set. The dribble bits are recorded in a final byte that is transferred and included in the reported
frame length.
Содержание BCM1125
Страница 18: ...BCM1250 BCM1125 BCM1125H User Manual 10 21 02 Broadcom Corporation Page xviii Document 1250_1125 UM100CB R ...
Страница 28: ...BCM1250 BCM1125 BCM1125H User Manual 10 21 02 Broadcom Corporation Page xxviii Document 1250_1125 UM100CB R ...
Страница 515: ...BCM1250 BCM1125 BCM1125H User Manual 10 21 02 Broadcom Corporation Page vii Index Document 1250_1125 UM100CB R ...