1.2 Functional Description

The block diagram below illustrates the major connections of the CryptoAuth Trust Platform. For additional details, refer to the board schematics referenced in Hardware Documentation.

Figure 1-2. Block Diagram

Main Board Components

  • ATSAMD21E18A: The Microchip SAM D21 is an ARM® Cortex®-M0+ based microcontroller. The MCU connects to the secure element via I2C. The mikroBUS header has I2C, SPI, UART, GPIO and analog connections to the microcontroller. This enables the possibility of using the CryptoAuth Trust Platform with many types of MikroElektronika Click boards.
  • Secure Elements:

    The CryptoAuth Trust Platform contains three security ICs, as listed in the table below. Refer to the specific data sheets associated with each of these devices for more details.

    DeviceDefault 7-bit I2C Address8-bit Programmed I2C Address Value(1)
    ATECC608C-TNGTLS0x350x6A
    ATECC608C-TFLXTLS0x360x6C
    ATECC608C-MAHDA0x600xC0
    Note: This is the I2C_Address byte value programmed into the secure element device.
  • mikroBUS Header: The mikroBUS header is a pre-defined header connection for all the MikroElektronika boards. This lets the user connect many types of Click sensors and add-on boards to the Trust Platform. The Trust Platform supports the following interfaces:
    1. Serial Peripheral Interface (SPI) – Needed to support the TA100 and TA101 cryptography devices but can also support any mikroBUS board with a SPI interface.
    2. I2C – Supports any mikroBUS or Click board with an I2C Interface. Boards commonly used with the Trust Manager include other Microchip mikroBUS cryptography boards, socket boards from mikroElektronica, and Microchip and sensor boards used for IoT devices.
    3. SWI-UART – Supports the proprietary Single Wire Interface (SWI) for devices such as the ATECC608 family and the ATSHA204A.
    4. SWI-PWM – Supports the SWI Interface using Pulse Width Modulated signaling for Microchip Authentication ICs for the SHA104, SHA105, SHA106, ECC204, ECC206 and TA010
  • GPIO Signals: GPIO signals not used for any other purpose can be used as appropriate.
  • DIP Switch: The DIP switch is used to select between the on-board Trust Platform devices and the mikroBUS header. The switches disconnect the SDA lines of the I2C interface to prevent conflicts if two devices share the same I2C address. Both switches can be enabled if all I2C addresses are unique on all devices connected to the board.
    Switch SettingsWhat is Enabled
    SW2_1SW2_2mikroBUS HeaderOn-Board Devices
    ONONYesYes
    OFFONNoYes
    ONOFFYesNo
    OFFOFFNoNo
  • nEDBG Debugger: The debugger is used to program and flash the host MCU. Debug information can also be read back from the host MCU through the debugger interface. When plugged into the system and opened with MPLAB® X IDE, the nEDBG debugger will display with a serial number of MCHP3311xxxxxxxx.
  • USB Hub: The Microchip USB2422 is a dual-port USB hub. The hub passes data between the upstream port and the downstream devices. The downstream devices are the debugger and the host MCU.
  • User-Defined Switch: One user-defined switch is provided on the board. The switch is connected to PA27 of the SAMD21 microcontroller and has an external pull-up resistor on the signal. When this switch is pressed, it will short the signal to GND. The PA27 pin must be be configured as an input to detect a transition from a logic HIGH to a logic LOW.
  • User-Defined LEDs: Three user-defined LEDs are available on the board. The red, green and blue LEDs are connected to PA11, PA14 and PA15, respectively. Any combination of LEDs can be driven at any one time. The signal pin connected to the LED must be configured as an output to use that LED. The signal must be driven HIGH for the LED to light and can either be driven LOW or floated for the LED to turn off.