Datasheet
350
6120F–ATARM–03-Oct-06
AT91SAM7X512/256/128 Preliminary
When the receiver shift register is full, the SSC transfers this data in the holding register, the
status flag RXRDY is set in SSC_SR and the data can be read in the receiver holding register.
If another transfer occurs before read of the RHR register, the status flag OVERUN is set in
SSC_SR and the receiver shift register is transferred in the RHR register.
Figure 31-9. Receiver Block Diagram
31.6.4 Start
The transmitter and receiver can both be programmed to start their operations when an event
occurs, respectively in the Transmit Start Selection (START) field of SSC_TCMR and in the
Receive Start Selection (START) field of SSC_RCMR.
Under the following conditions the start event is independently programmable:
• Continuous. In this case, the transmission starts as soon as a word is written in SSC_THR
and the reception starts as soon as the Receiver is enabled.
• Synchronously with the transmitter/receiver
• On detection of a falling/rising edge on TF/RF
• On detection of a low level/high level on TF/RF
• On detection of a level change or an edge on TF/RF
A start can be programmed in the same manner on either side of the Transmit/Receive Clock
Register (RCMR/TCMR). Thus, the start could be on TF (Transmit) or RF (Receive).
Moreover, the Receiver can start when data is detected in the bit stream with the Compare
Functions.
Detection on TF/RF input/output is done by the field FSOS of the Transmit/Receive Frame
Mode Register (TFMR/RFMR).
Receive Shift Register
Start
Selector
SSC_RHRSSC_RSHR
Receiver Clock
RD
SSC_RFMR.FSLEN SSC_RFMR.DATLEN
RF
SSC_CR.RXEN
SSC_CR.RXDIS
SSC_SR.RXEN
SSC_RFMR.MSBF
SSC_RCMR.STTDLY
SSC_RFMR.DATNB
TF