6.2 SSC Transmitter

The SSC transmitter block is designed with three main parts, namely the transmit clock controller, the start selector and the transmit shift register.

The transmitter block is fed with three different clock sources as listed below, one of which will be selected by the transmit clock controller as the transmitter clock:

  1. Clock from the TK pin (TK pin is an input).
  2. Clock from the SSC clock divider.
  3. Clock from the receiver block.

The start selector controls when a transmit frame has to be started in the transmitter block. The frame start event is configurable and can be one of the events below.

  1. Start the frame with the transmitter enabled (TXEN). This is a Continuous mode operation where the transmission starts as soon as the data is written to the transmitter data register (SSC_THR), provided TXEN is set.
  2. Start the frame on an event trigger from the receiver’s start selector (RX Start).
  3. Start the frame on a TF event. The TF event can be a low level / high level / any level change / rising edge / falling edge / any edge in the TF pin.

The transmit shift register is used to transmit the serial data. An SSC frame can have sync bits sent before the actual data is sent on the TD pin. Two registers are used for this purpose, namely SSC_THR (to hold the actual data) and SSC_TSHR (to hold the sync bits). If configured and enabled, the sync bits are sent first, followed by the actual data. The sync bits can be either a fixed logic level for a given number of bit cycles or a bit pattern written in SSC_TSHR.