SAM L10/L11 Serial Communication Interface (SERCOM)

Serial Communication Interface (SERCOM)

Overview

There are up to three instances of the SERCOM peripheral. A SERCOM can be configured to support a number of modes: I2C, SPI, and USART. When an instance of SERCOM is configured and enabled, all of the resources of that SERCOM instance will be dedicated to the selected mode.

The SERCOM serial engine consists of a transmitter and receiver, baud-rate generator and address matching functionality. It can use the internal generic clock or an external clock. Using an external clock allows the SERCOM to be operated in all Sleep modes.

Features

  • Interface for configuring into one of the following:
    • Inter-Integrated Circuit (I2C) Two-wire Serial Interface
    • System Management Bus (SMBus™) compatible
    • Serial Peripheral Interface (SPI)
    • Universal Synchronous/Asynchronous Receiver/Transmitter (USART)
  • Single transmit buffer and double receive buffer
  • Baud-rate generator
  • Address match/mask logic
  • Operational in all Sleep modes with an external clock source
  • Can be used with DMA

Block Diagram

saml10-sercom.png

Principle of Operation

Using the SERCOM I/O lines requires the I/O pins to be configured using the IO Pin Controller (PORT). The SERCOM has four internal pads, PAD[3:0], and the signals from I2C, SPI and USART are routed through these SERCOM pads via a multiplexer. The configuration of the multiplexer is available from the different SERCOM modes. Refer to the mode-specific chapters for details.

The SERCOM bus clock (CLK_SERCOMx_APB) can be enabled and disabled in the Main Clock Controller. Refer to Peripheral Clock Masking for details and default status of this clock.The SERCOM uses two generic clocks—GCLK_SERCOMx_CORE and GCLK_SERCOMx_SLOW.

  • The core clock (GCLK_SERCOMx_CORE) is required to clock the SERCOM while working as a master.
  • The slow clock (GCLK_SERCOMx_SLOW) is only required for certain functions.

These clocks must be configured and enabled in the Generic Clock Controller (GCLK) before using the SERCOM.

The generic clocks are asynchronous to the user interface clock (CLK_SERCOMx_APB). Due to this asynchronicity, writing to certain registers will require synchronization between the clock domains.

The DMA request lines are connected to the DMA Controller (DMAC). The DMAC must be configured before the SERCOM DMA requests are used. The interrupt request line is connected to the Interrupt Controller (NVIC). The NVIC must be configured before the SERCOM interrupts are used.

The basic structure of the SERCOM serial engine is shown below:

saml10-sercom_2.png


The transmitter consists of a single write buffer and a shift register. The receiver consists of a one-level (I2C), two-level or four-level (USART, SPI) receive buffer and a shift register. The baud-rate generator is capable of running on the GCLK_SERCOMx_CORE clock or an external clock. Address matching logic is included for SPI and I2C operation.

The SERCOM must be configured to the desired mode by writing the Operating Mode bits in the Control A register (CTRLA.MODE).

saml10-sercom_table.png

Refer to the "SERCOM – Serial Communication Interface" chapter from the product data sheet for more details.

© 2019 Microchip Technology, Inc.
Notice: ARM and Cortex are the registered trademarks of ARM Limited in the EU and other countries.
Information contained on this site regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip devices in life support and/or safety applications is entirely at the buyer's risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights.