El ATSAMD20J17A-AU de Microchip Technology pertenece a la familia SAM D20 de microcontroladores ARM Cortex-M0+ de bajo consumo. Representa el mayor número de pines (variante J de 64 pines) con memoria de densidad media (128 KB Flash / 16 KB SRAM), proporcionando el máximo número de periféricos y disponibilidad de E/S de la familia SAM D20.
La familia SAM D20 fue desarrollada originalmente por Atmel (adquirida por Microchip en 2016) y forma parte de la línea de productos SAM (Smart ARM-based Microcontroller). El D20 es la variante base de la serie SAM D2x, optimizada para aplicaciones embebidas de bajo consumo y propósito general. Otras variantes son SAM D21 (con USB), SAM D10/D11 (menor número de pines, menor coste) y SAM DA1 (apto para automoción).
El elemento diferenciador clave de la familia SAM D20 es el periférico SERCOM (Serial Communication Interface). Cada SERCOM puede configurarse independientemente como USART, I2C o SPI, lo que proporciona una flexibilidad sin precedentes en la asignación de interfaces de comunicación. Con seis módulos SERCOM, el ATSAMD20J17A-AU puede soportar simultáneamente hasta seis canales serie independientes en cualquier combinación (por ejemplo, 3x SPI, 2x I2C, 1x USART). Esto elimina el problema habitual de quedarse sin un tipo de interfaz específico (por ejemplo, necesitar 3 puertos SPI pero la MCU sólo tiene 2).
El sistema de eventos de 8 canales es otra característica única que permite a los periféricos comunicarse directamente sin intervención de la CPU. Por ejemplo, una interrupción externa puede activar una conversión ADC, que una vez completada puede activar una transferencia DMA, que a su vez puede activar el inicio de un temporizador. Esta arquitectura basada en eventos reduce la latencia de las interrupciones y la sobrecarga de la CPU, y permite el SleepWalking, en el que los periféricos funcionan de forma autónoma mientras la CPU está en modo de reposo.
El ADC de 12 bits con 20 canales, etapa de ganancia programable (1/2x a 16x) y sobremuestreo por hardware (hasta 16 bits de resolución efectiva) es significativamente más capaz que los típicos ADC M0+ MCU. La etapa de ganancia programable elimina la necesidad de amplificadores externos de acondicionamiento de señal en muchas aplicaciones de sensores. La capacidad de entrada diferencial y la compensación automática de errores de offset/ganancia mejoran la precisión de las mediciones. El sobremuestreo y la decimación por hardware proporcionan una resolución efectiva de 13, 14, 15 ó 16 bits sin necesidad de cálculos de la CPU.
El DAC de 10 bits y 350 ksps es relativamente infrecuente en los microcontroladores M0+ y permite generar salidas analógicas (formas de onda, tensiones de control, audio) sin componentes DAC externos. Combinado con el controlador DMA y la conversión activada por temporizador, el DAC puede generar formas de onda complejas de forma autónoma.
El controlador táctil periférico (PTC) con soporte táctil capacitivo de 256 canales está heredado de la tecnología mTouch de Microchip y proporciona detección capacitiva acelerada por hardware para botones, deslizadores, ruedas y detección de proximidad. La PTC puede funcionar a sólo 8 uA en modo de espera, escaneando continuamente los sensores táctiles y despertando la CPU sólo cuando se detecta un toque. Esta exploración táctil de consumo ultrabajo es una ventaja clave para los productos de consumo alimentados por batería.
Los 52 pines GPIO proporcionan una amplia capacidad de E/S para el encapsulado de 64 pines. Todos los pines GPIO son configurables individualmente con multiplexación de periféricos (hasta 8 funciones alternativas por pin a través del PORT MUX), capacidad de interrupción (16 interrupciones externas a través del EIC) y resistencias pull-up/pull-down configurables.
El ATSAMD20J17A-AU utiliza el grado de temperatura A (-40 a 85 grados C). El mismo dispositivo también está disponible en las variantes para automoción y temperatura extendida. El sufijo AU indica el encapsulado TQFP-64 con embalaje en bandeja (el sufijo AUT es cinta y carrete).
El desarrollo está soportado por Microchip MPLAB X IDE, MPLAB Harmony v3 framework, y Atmel Studio (legacy). El SAM D20 también está bien soportado por Arduino (el Arduino Zero/M0 utiliza el SAM D21, que comparte la misma arquitectura y periféricos), Zephyr RTOS, y ARM mbed OS (legado).