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.
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.
Device Default 7-bit I2C Address 8-bit Programmed I2C Address Value(1) ATECC608C-TNGTLS 0x35 0x6A ATECC608C-TFLXTLS 0x36 0x6C ATECC608C-MAHDA 0x60 0xC0 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:
- Serial Peripheral Interface (SPI) – Needed to support the TA100 and TA101 cryptography devices but can also support any mikroBUS board with a SPI interface.
- 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.
- SWI-UART – Supports the proprietary Single Wire Interface (SWI) for devices such as the ATECC608 family and the ATSHA204A.
- 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 Settings What is Enabled SW2_1 SW2_2 mikroBUS™ Header On-Board Devices ON ON Yes Yes OFF ON No Yes ON OFF Yes No OFF OFF No No - 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.
