Philips Semiconductors
Synchronous Serial Interface
File: ssi.fm5, modified 7/24/99
PRELIMINARY INFORMATION
16-11
16.10.2 SSI Control/Status Register (SSI_CSR)
SSI_CSR is a 32-bit read/write register to control the SSI unit and to show the current status of the SSI module. The
default value after hardware reset is 0x0000F000.
Table 16-8. SSI Control/Status Register (SSI_CSR) Fields
Field
Description
TMS
Test Mode Select (Bit 31-30). The TMS eld value should only be changed when the transmitter and receiver are dis-
CDE
Change Detector Enable (Bit 29). CDE enables the change detector function on the SSI_IO1 pin. When CDE is set,
the DSPCPU will be interrupted when CDS in the SSI status register is set. When CDE is cleared, this interrupt is
disabled. However, the CDS bit will always indicate the change detector condition.
When the change detector is enabled, the CLK samples SSI_IO1. The CDS bit will be set for either a ‘0’ –> ‘1’ or a ‘1’
–> ‘0’ change between the current value and the stored value.
CD2
RXCLK Divider (Bit 28). When CD2 equals one, the internal RxCLK is divided by two. In the divide by 2 mode, the
clock edge that samples the Frame Sync Pulse asserted will resync the RxCLK divider to be a data capture edge.
Data samples will occur every other clock thereafter until the end of the valid slots in the frame.
SLP
Sleepless (Bit 27). When set, this bit allows the SSI to ignore the global power down signal. If cleared, assertion of
the global power down signal will cause the SSI transmitter will nish transmission of the current 16-bit word, then
enter a state similar to transmitter disabled, (SSI_CTL.TXE = ’0’).
In the receiver, a 16-bit word currently being transmitted to RxSR will complete reception and be transferred to the
RxFIFO. The receiver will then enter a state similar to receiver disabled, (SSI_CTL.RXE = ‘0’).
CTUE
Clear Transmitter Underrun Error (Bit 21). A control bit written by the DSPCPU to indicate that the transmitter underrun
error ag should be cleared. This is an action bit. Writing a ‘1’ clears SSI_CSR.TUE. The bit always reads ‘0’.
CROE
Clear Receiver Overrun Error (Bit 20). A control bit written by the DSPCPU to indicate that the receiver overrun error
ag should be cleared. This is an action bit. Writing a ‘1’ clears SSI_CSR.TOE. The bit always reads ‘0’.
CFES
Clear Framing Error Status (Bit 19). A control bit written by the DSPCPU to indicate that the receiver’s framing error
ag should be cleared. This is an action bit. Writing a ‘1’ clears SSI_CSR.FES. The bit always reads ‘0’.
CCDS
Clear Change Detector Status (Bit 18). A control bit written by the DSPCPU to indicate that the change detector status
on IO1 ag should be cleared. This is an action bit. Writing a ‘1’ clears SSI_CSR.CDS. The bit always reads ‘0’.
WAW
Word buffers Available for Write (Bit 15-12). The WAW[3:0] bits provide the number of 32-bit words available for write
in the transmit buffer (TxFIFO). The SSI can store 15 words in the transmit FIFO. When the FIFO is empty, WAW has
the value 15. When the FIFO is full, WAW has the value 0 and the SSI will ignore any further attempts to add words
to the FIFO. Note: The fill routine should check that WAW is nonzero, before writing data.
WAR
Word buffers Available for Read (Bit 11-8). The WAR[3:0] bits provide the number of 32-bit word available for read in
the receive buffer (RxFIFO). The SSI can store 16 words in the receive FIFO. However, the maximum value indicated
by the WAR register is 15 (because it’s a 4 bit register field). When the FIFO is empty, WAR has the value 0. When
the FIFO is full, WAR has the value 15 and the SSI will generate an overrun error if more data is received.
TDE
Transmit Data register Empty (Bit 7). In normal operation, this bit will be set when the number of empty words in the
TxFIFO is greater than SSI_CTL.ILS. If SSI_CTL.TIE is set, the SSI will generate an interrupt. When set, it indicates
that the SSI_TxDR/TxFIFO registers require DSPCPU service for relling after normal transmission. As the DSPCPU
rells the TxFIFO during the interrupt service routine, this bit will be cleared by the SSI when the number of empty
slots drops below the Interrupt Level Select value, SSI_CTL.ILS.
RDF
Receive Data register Full (Bit 6). In normal operation, this bit will be set when the number of words in the RxFIFO is
greater than SSI_CTL.ILS. If SSI_CTL.RIE is set, the SSI will generate an interrupt. When set, this bit indicates that
normal received data resides in SSI_RxDR register and RxFIFO buffer for reading. DSPCPU must service the RxFIFO
before a receiver overrun occurs.
TUE
Transmitter Underrun Error (Bit 5). No current data was available from the TxFIFO when a load of the TxSR was
scheduled. The transmitted message may have been corrupted. Generates interrupt if enabled by TIE.
ROE
Receive Overrun Error (Bit 4). Receive data has been received with no RxFIFO slot to store it. These bits have been
lost and the message stream is incomplete. Generates an interrupt if enabled by RIE.
FES
Frame Error (Bit 3). A frame sync pulse has been detected where not expected or did not occur as expected during
transmit or receive. Received data may be invalid. Transmit data have been sent out of sync. Receive frame error
RXFES generates an interrupt if enabled by RIE. Transmit frame error TXFES generates an interrupt if enabled by TIE
CDS
Change Detector Status (Bit 2). The input change detector on SSI_IO1 pin has detected a change in state.
RIO1
Read IO1 (bit 1). RIO1 reects the value on the SSI_IO1 pin.
RIO2
Read IO2 (bit 2). RIO2 reects the value on the SSI_IO2 pin.