BCM1250/BCM1125/BCM1125H
User Manual
10/21/02
B r o a d c o m C o r p o r a t i o n
Page
350
Section 10: Serial Interfaces
Document
1250_1125-UM100CB-R
S
YNCHRONOUS
I
NTERFACE
C
ONFIGURATION
There are four sections that must be configured before a serial channel can be used. These are: General
Control, FIFO control, Protocol Engine/Line Interface Configuration and Address Filtering. In addition, the
serial DMA channels must be configured.
At system reset, the transmit and receive modules in the Serial Link Interface are both disabled. They can be
individually enabled by writing to the
ser_cmd
register. Note that the
ser_cmd
register is write-only.
Resetting the transmit/receive module will put it into disabled state and flushes the TxFIFO/RxFIFO. However,
configuration registers are not restored to their default values. Configuration registers should be written only
when the corresponding modules are disabled.
These modules need to be enabled after a reset by writing ones to the Receive/Transmit Enable fields in the
ser_cmd
registers.
DMA C
ONFIGURATION
for configuring and initializing the serial DMA channels.
FIFO C
ONFIGURATION
TxFIFO is a 64 bit wide FIFO with 8 entries. The
ser_tx_wr_thres
register sets the number of empty 64 bit
entries that must be in the TxFIFO before it will request DMA data. Since the DMA engine fetches in blocks of
32 bytes, this value must be set to 4 entries.
To reduce the likelihood of TxFIFO becoming empty during transmission of a frame, ser_tx_rd_thres should
be set to ensure a certain number of entries (8 bytes each) have been written before the Protocol Engine starts.
RxFIFO is a 32 bit wide FIFO with 16 entries. The
ser_rx_rd_thres
register sets the number of valid entries
that must be in the FIFO to request emptying by DMA. Since the DMA Engine transfers in blocks of 32 bytes,
this value should be set to 8 entries.
TxFIFO and RxFIFO can be enabled or reset using the
ser_cmd
configuration register controls. Threshold
values should only be changed when the corresponding FIFO is reset.
P
ROTOCOL
E
NGINE
C
ONFIGURATION
The protocol engine is configured in the
ser_mode
register. In addition the receive address mask and filter
must be set in the
ser_addr_mask
and
ser_usr
N
_addr
(N=0,1,2,3) registers. If address filtering is not
required the mask should be set to zero and all frames will be received.