35.6.8.1 Control A

Table 35-10. Register Bit Attribute Legend
SymbolDescriptionSymbolDescriptionSymbolDescription
RReadable bitHCCleared by Hardware(Grey cell)Unimplemented
WWritable bitHSSet by HardwareXBit is unknown at Reset
KWrite to clearSSoftware settable bit
Name: CTRLA
Offset: 0x00
Reset: 0x00000000
Property: PAC Write-Protection, Enable-Protected

Bit 3130292827262524 
  DORDCPOLCMODEFORM[3:0] 
Access R/WR/WR/WR/WR/WR/WR/W 
Reset 0000000 
Bit 2322212019181716 
 SAMPA[1:0]RXPO[1:0]  TXPO[1:0] 
Access R/WR/WR/WR/WR/WR/W 
Reset 000000 
Bit 15141312111098 
 SAMPR[2:0]  RXINVTXINVIBON 
Access R/WR/WR/WR/WR/WR/W 
Reset 000000 
Bit 76543210 
 RUNSTDBY  MODE[2:0]ENABLESWRST 
Access R/WR/WR/WR/WR/WR/W 
Reset 000000 

Bit 30 – DORD Data Order

This bit selects the data order when a character is shifted out from the Data register.

ValueDescription
0x0MSB is transmitted first.
0x1LSB is transmitted first.
Note: This bit is not synchronized.

Bit 29 – CPOL Clock Polarity

This bit selects the relationship between data output change and data input sampling in synchronous mode.

ValueTxD ChangeRxD Sample
0x0Rising XCK edgeFalling XCK edge
0x1Falling XCK edgeRising XCK edge
Note: This bit is not synchronized.

Bit 28 – CMODE Communication Mode

This bit selects asynchronous or synchronous communication.

ValueDescription
0x0Asynchronous communication.
0x1Synchronous communication.
Note: This bit is not synchronized.

Bits 27:24 – FORM[3:0] Frame Format

These bits define the frame format.

ValueDescription
0x0USART frame
0x1USART frame with parity
0x2LIN Host – Break and sync generation. See LIN Command (CTRLB.LINCMD).
0x3Reserved
0x4Auto-baud (LIN Client) – break detection with fractional auto-baud.
0x5Auto-baud – break detection with fractional auto-baud with parity
0x6Reserved
0x7ISO 7816 with parity, (Rx and Tx function must be mapped to same SERCOM PAD[0] )
0x8-0xFReserved
Note: These bits are not synchronized.

Bits 23:22 – SAMPA[1:0] Sample Adjustment

These bits define the sample adjustment.

Value16x Over-sampling (CTRLA.SAMPR=0 or 1)8x Over-sampling (CTRLA.SAMPR=2 or 3)
0x07-8-9 3-4-5
0x19-10-114-5-6
0x211-12-135-6-7
0x313-14-156-7-8
Note: These bits are not synchronized.

Bits 21:20 – RXPO[1:0] Receive Data Pinout

These bits define the receive data (RxD) pin configuration.

ValueNameDescription
0x0PAD[0]SERCOM PAD[0] is used for data reception
0x1PAD[1]SERCOM PAD[1] is used for data reception
0x2PAD[2]SERCOM PAD[2] is used for data reception
0x3PAD[3]SERCOM PAD[3] is used for data reception
Note: These bits are not synchronized.

Bits 17:16 – TXPO[1:0] Transmit Data Pinout

These bits define the transmit data “TxD, SERCOM PAD[0]”, “XCK, SERCOM PAD[1], “RTS/TE” SERCOM PAD[2] and “CTS” SERCOM PAD[3] pin configurations.

ValueTxD PinXCK

(Synchronous Clock)

RTS

(Request to send)

CTS

(Clear to Send)

TE

(Transmit Enable)

CTRLA.CMODE

(Communication Mode)

0x0SERCOM PAD[0]SERCOM PAD[1]1 = Synchronous

HD - FORM = 0x7

FD - FORM = 0x0,0x1

0 = Asynchronous

(RS-232 FD w/ No Flow Cntl)

0x1Reserved
0x2SERCOM PAD[0]SERCOM PAD[2]SERCOM PAD[3]0 = Asynchronous

(RS-232 FD with or without Flow Control)

0x3SERCOM PAD[0]SERCOM PAD[1]SERCOM PAD[2]0 = Asynchronous

(RS-485 HD or FD w/ TE)

Note:
  1. HD = Half Duplex, FD = Full Duplex.
  2. These bits are not synchronized.

Bits 15:13 – SAMPR[2:0] Sample Rate

These bits select the RX data sample rate.

ValueDescription
0x016x over-sampling using arithmetic baud rate generation.
0x116x over-sampling using fractional baud rate generation.
0x28x over-sampling using arithmetic baud rate generation.
0x38x over-sampling using fractional baud rate generation.
0x43x over-sampling using arithmetic baud rate generation.
0x5-0x7Reserved
Note: These bits are not synchronized.

Bit 10 – RXINV Receive Data Invert

This bit controls whether the receive data (RxD) is inverted or not.
ValueDescription
0x0RxD is not inverted.
0x1RxD is inverted.
Note:
  1. Start, Parity, and Stop bits are unchanged. When enabled, Parity is calculated on the inverted data.
  2. If ISO-7816 CTRLA.FORM = 0x7, RXINV = 1 required.

Bit 9 – TXINV Transmit Data Invert

This bit controls whether the transmit data (TxD) is inverted or not.
ValueDescription
0x0TxD is not inverted.
0x1TxD is inverted.
Note:
  1. Start, Parity and Stop bits are unchanged. When enabled, Parity is calculated on the inverted data.
  2. If ISO-7816 CTRLA.FORM = 0x7, RXINV = 1 required.

Bit 8 – IBON Immediate Buffer Overflow Notification

This bit controls when the Buffer Overflow Status bit (STATUS.BUFOVF) is asserted when a buffer overflow occurs.

ValueDescription
0x0STATUS.BUFOVF is asserted when it occurs in the data stream.
0x1STATUS.BUFOVF is asserted immediately upon buffer overflow.

Bit 7 – RUNSTDBY Run In Standby

This bit defines the functionality in Standby Sleep mode.

ValueExternal ClockInternal Clock
0x0External clock is disconnected when ongoing transfer is finished. All reception is dropped.Generic clock is disabled when ongoing transfer is finished. The device will not wake up on either Receive Start or Transfer Complete interrupt unless the appropriate ONDEMAND bits are set in the clocking chain.
0x1Wake on Receive Start or Receive Complete interrupt.Generic clock is enabled in all sleep modes. Any interrupt can wake up the device.
Note:
  1. CTRLB.SFDE must be set to 0x1 with the associated INTENSET.RXS and INTENSET.RCS values for CTRLA.RUNSTDBY = 0x1 setting to take effect.
  2. This bit is not synchronized.

Bits 4:2 – MODE[2:0] Operating Mode

These bits select the USART serial communication interface of the SERCOM.

ValueDescription
0x0USART with external clock
0x1USART with internal clock
Note: These bits are not synchronized.

Bit 1 – ENABLE Enable

This bit enables or disables the USART operation.

ValueDescription
0x0The peripheral is disabled or being disabled.
0x1The peripheral is enabled or being enabled
Note:
  1. Due to synchronization, there is a delay from writing CTRLA.ENABLE until the peripheral is enabled/disabled.
  2. The value written to CTRLA.ENABLE will read back immediately and the Enable Synchronization Busy bit in the Synchronization Busy register (SYNCBUSY.ENABLE) will be set.
  3. SYNCBUSY.ENABLE is cleared when the operation is complete.
  4. This bit is not enable-protected.

Bit 0 – SWRST Software Reset

Writing ‘0x1’ to this bit resets all registers in the SERCOM, except DBGCTRL, to their initial state, and the SERCOM will be disabled.

ValueDescription
0x0There is no reset operation ongoing.
0x1The reset operation is ongoing.
Note:
  1. Writing ‘0x0’ to this bit has no effect.
  2. Due to synchronization, there is a delay from writing CTRLA.SWRST until the reset is complete. Users must wait for either CTRLA.SWRST or SYNCBUSY.SWRST to be cleared to indicate reset operation is complete.
  3. This bit is not enable-protected.
  4. Setting CTRLA.SWRST = 1 will always take precedence, meaning that all other writes in the same write-operation will be discarded. Any register write access during the ongoing reset will result in a bus error. Reading any register will return the reset value of the register.