A Atmel, que já possuía uma linha de microcontroladores baseados nos cores ARM7TDMI, ARM Cortex-M3 e ARM Cortex-M4, lançou uma nova família com o core ARM Cortex-M0+, chamada SAM D20.
Um pouco sobre as suas especificações estão listadas abaixo:
- ARM Cortex-M0+ operando até 48MHz;
- Memórias: Flash (até 256KB) e SRAM (até 32KB);
- Performance: 2,14 CoreMark/MHz;
- Single-cycle IO access, o que oferece uma frequência de GPIO de até 24 MHz;
- Event System com 8 canais;
- Real Time Clock (RTC) e calendário com correção de ano bissexto;
- Alimentação na faixa 1,62V – 3,63V;
- Consumo menor que 150µA/MHz em modo ativo e menor que 2µA em modo standby, com retenção dos dados da RAM;
- Oscilador RC interno de 8MHz, com erro de +/- 2%;
- Opção de clock interno e externo, podendo realizar a escolha entre eles dinamicamente.
A família SAM D20 é dividida em 3 séries: SAM D20J, SAM D20G e SAM D20E. Algumas de suas diferenças estão listadas na Figura 1, abaixo.
Maiores detalhes da nova família de microcontroladores e a lista dos 14 dispositivos que a compõe podem ser obtidos aqui. O SAM D20 é um MCU de propósito geral, cujo objetivo é usar a performance e a eficiência de energia do core ARM Cortex-M0+, de forma a oferecer baixo consumo e baixo custo para as soluções que o empregarem.
É importante listar algumas características muito interessantes que esse microcontrolador possui:
Event system
Permite comunicação autônoma, configurável e de baixa latência entre periféricos. Alguns periféricos podem ser configurados de forma a emitir e/ou responder a sinais, conhecidos como eventos, sendo que cada módulo possui sua peculiaridade para geração e consumo dessa sinalização. Um detalhe importante é que a CPU do microcontrolador não participa da comunicação entre os periféricos e, portanto, não consome alguns recursos do sistema, tal como memória RAM. Veja a Figura 2, onde são listados os periféricos que suportam eventos.
Modos de sleep
O SAM D20 oferece dois modos de sleep: idle e standby. No modo idle, o clock da CPU é removido, enquanto os outros periféricos podem continuar funcionado. Já no modo standby, todos os clocks e periféricos são desligados, com exceção dos módulos escolhidos para continuarem funcionando. Caso estes periféricos suportem SleepWalking, os mesmos podem executar suas tarefas e gerar eventos, usando os seus próprios clocks, sem acordar a CPU. Event system + SleepWalking é fantástico!
SERCOM
É um módulo de comunicação serial formado por no máximo 6 canais, sendo que cada um destes pode ser configurado, por software, para atuar como uma porta USART, UART, SPI ou I2C de até 400KHz. Isso traz uma flexibilidade enorme para o pessoal de hardware!
Peripheral Touch Controller
Este módulo suporta até 256 botões, sliders, wheels e sensibilidade à proximidade. Não são necessários componentes externos e é oferecida autocalibração. Para o uso desse periférico, deve ser usada a biblioteca QTouch Library e a ferramenta QTouch Composer.
Evaluation kit
Atualmente existe o evaluation kit SAM D20 Xplained PRO (ATSAMD20-XPRO), disponível por USD $39. O mesmo contém um microcontrolador ATSAMD20J18 com 64 pinos, 256KB de Flash, 32KB de SRAM e pode ser alimentado pela USB. Na placa existe um programador/depurador e conectores para placas de expansão. O mesmo pode ser comprado aqui.
Ferramentas
Podem ser utilizadas ferramentas pagas, tais como:
- IAR Embedded Workbench;
- Keil MDK-ARM Development System.
Ou ferramentas gratuitas, para Windows, como Atmel Studio e Atmel Software Framework (ASF), que fazem uso do compilador GCC.
Conclusões
É uma escolha muito boa para projetos que necessitem de interface touch e baixo consumo de energia, além de oferecer um alto grau de flexibilidade para o hardware. Verifique com o seu distribuidor a disponibilidade de amostras.








muito bom esses microcontroladores