Placa Atmel SAM D20 Xplained Pro

SAM D20 Xplained

A Atmel lançou há um mês atrás a placa  SAM D20 Xplained Pro, feita para ser a primeira experiência dos usuários com o microcontrolador da família D20 com núcleo Cortex M0+ de 32 bits, que foi apresentada neste artigo, escrito por Henrique Rossi, há algumas semanas atrás.

 

Nesta placa está soldado um microcontrolador SAMD20J18 com encapsulamento TQFP 64 pinos, o microcontrolador mais poderoso da família (superset).

 

O Microcontrolador SAMD20J18

 

cortex m0+ D20 SAM D20 Xplained

 

Este microcontrolador pode operar com tensões de 1,8V. a 3,3V. Cada pino de I/O pode fornecer até 4,5 mA., no caso do microcontrolador estar operando a 1,8 V. e 10 mA. para operação em 3,3 V, o que é um valor baixo se comparado a outros microcontroladores de mercado. Pode ter até, no máximo, 52 I/Os, caso todos os pinos sejam usados para esse fim.

 

Suporta cristais de 400 kHz a 30 MHz externo e possui multiplicador interno, capaz de fazer com que o microcontrolador opere a 48 MHz. Pode funcionar também com cristal externo de 32.768 kHz. Possui, além dele, dois osciladores RC internos de 32 kHz, para operações de baixo consumo e, como alternativa ao cristal externo, um oscilador de 8 MHz interno (com 2% de erro).

 

Possui 256 KB de memória Flash e 32 KB de memória SRAM. Em 24 MHz e a 3,3 V, o microcontrolador opera sem nenhum ciclo de espera da Flash. A 48 MHz existe um ciclo de espera (quando vai solicitar alguma informação da Flash e ela já tinha havido sido solicitada no ciclo anterior - "fetch"). Possui também 16 pinos que tem funcionalidade de interrupção externa. O seu RTC interno lida com anos bissextos e tem diversos alarmes. Dispõe de 16 canais de PWM, o que facilita tarefas complexas de controle.

 

Tem 6 canais de cominucação serial chamado de SERCOM, que pode ser I2C (que pode operar a 400 kHz), USART ou SPI (ambos operando até 24 Mbps), conforme configuração de registradores. Separado para cada canal de comunicação serial existem 4 pinos, totalizando 24 diferentes pinos para comunicação serial.

 

Como periféricos analógicos, possui 1 canal DAC de 10 bits a 350 kbps e dois comparadores analógicos, que suportam também sinais negativos. Também tem 20 canais de ADC de 12 bits que podem operar até 350 ksps em modo de operação contínua ou 323 ksps em amostragem simples. O ADC pode também avaliar o seu resultado podendo, por exemplo, acordar o processador se uma determinada faixa de tensão não for respeitado (janela de tensão). Com esse microcontrolador, podem ser construídos até 256 (16x16) touch pads utilizando esse microcontrolador - é possível também a contrução de  sliders, wheels e detectar proximidade. Não é necessário a utilização de nenhum componente externo, nem mesmo capacitores, que estão internos ao microcontrolador. Não é necessário também calibração - algo inédito entre microcontroladores desse porte.

 

d2o2 SAM D20 Xplained

 

Esse microcontrolador nasce com a expectativa de proporcionar baixo consumo para as aplicações. Então, dois modos de economia de energia estão disponíveis: idle e standyby, sendo que o modo idle tem 3 estágios diferentes de economia de energia e o estado standby é o mais econômico, onde o clock principal é simplesmente desligado. O micro consegue retornar de um estado de economia de energia se houver um transição de pino, recepção de byte na SPI, I2C ou UART programadas. O estado Idle é utilizado, normalmente para situações onde é necessário uma retomada rápida ao estado de funcionamento do microcontrolador. Operações que requerem retenção de todos os dados em RAM e o RTC funcionando consomem, em standby mode, 2 uA.

 

Veja no diagrama de blocos acima que existe um sistema em laranja que comunica com o barramento de periféricos. Este é um sistema que permite que os periféricos cooperem entre si, sem que seja utilizado nenhum recurso de CPU ou de barramento. Funciona assim: você pré-define uma determinada sequência de ações  - se alguma coisa acontece em um periférico, ele faz com que uma reação aconteça em outro periférico e, independente do que a CPU está fazendo, isso tudo vai acontecer em dois ciclos sempre. Esse sistema já existia no XMEGA e foi incorporado ao ARM CORTEX M0+ D20. Como é um sistema que funciona também de forma assíncrona, pode operar sem clock presente, em situações de baixo consumo. Por isso tudo poder funcionar sem que o núcleo esteja acordado, foi nomeado de SleepWalking, patente da ATMEL.

 

Por fim, é possível programar esse dispositivo via bootloader que está residente no micro. Qualquer meio de comunicação do SERCOM pode ser utilizado para programação do dispositivo. Esta página nos explica como é feita um bootloader utilizando SPI slave.

 

 

 

A placa D20 Xplained Pro

 

d20 board SAM D20 Xplained

 

 

A placa SAMD20 Xplained Pro é uma placa que faz parte de uma série de placas de desenvolvimento já lançadas pela Atmel. Foram lançadas já as seguintes placas: 

A placa é simples demais pelo seu preço - custa US$ 39,00 no site da Atmel. Ela possui já montada na placa um circuito que permite o debug e programação via USB. Também possui interface para se conectar debuggers externos, como o JLink ou I-jet. A alimentação da placa é feita pela própria conexão USB.

Como periféricos do microcontrolador SAMD20J18, há um push button e um led amarelo. O microcontrolador tem disponível como clock externo um cristal de 32,768 kHz apenas.

 

atmel SAM D20 XplainedOs engenheiros da ATMEL tiveram uma idéia bem legal quando desenvolveram a forma como foram ligados desses pinos aos conectores - eles disponibilizaram 3 headers (conjunto de pinos) que possuem as mesmas funções. Cada conjunto de pinos contém 20 pinos e possuem as funções conforme a figura ao lado.  O que isso ajuda? Bom, caso o projetista queira desenvolver uma placa própria, ele pode projetar três placas iguais que poderão ser interfaceadas da mesma forma. Caso, no entanto, deseje fazer um cabo para conectar a uma placa externa, errar é mais difícil, uma vez que todas as pinagens são iguais. Perceba que, mesmo se ligar ao contrário o cabo, não queimaria a placa Xplained PRO (e também não funcionaria...).

Claro que a ATMEL também desenvolveu placas que poderiam ser conectadas a esses pinos. São elas:

 

OLED1_XplainedPro_Angle SAM D20 Xplained

 IOI_XplainedPro_Angle SAM D20 Xplained
 

 

 

LCD1_XplainedPro_Angle SAM D20 Xplained

Proto1_XplainedPro_Angle SAM D20 Xplained

 

 

 

 

 

 

 SONY DSC SAM D20 Xplained

 

 

 

 

 

 

 

 

 

 

 

OLED1 XPLAINED PRO  

IO1 XPLAINED PRO  

PROTO1 XPLAINED PRO 

SLCD1 XPLAINED PRO  

QT1 XPLAINED PRO.  

 

 

 

 

Elas nasceram para ser plugadas a essa série de placa de desenvolvimento e, junto com eles, foi desenvolvido diversos exemplos para suportarem essas placas. Provavelmente outras placas virão nos próximos meses.

 

Um erro, no meu ponto de vista, é não considerar essa placa compatível ao ARDUINO, pelo menos no que se refere a pinagem, já que tem muito espaço na placa e o microcontrolador tem diversos pinos e ADC interno. Isso poderia ter sido considerado, já que o sucesso do ATMEGA também significa o sucesso da ATMEL. Quem sabe não vem novidade por aí?

 

Software - ATMEL STUDIO 6.1

 

Funciona com o ATMEL STUDIO, que em sua versão mais atual tem muitos exemplos que funcionam com essa placa. A versão que me refiro é a versão do executável principal: Atmel Studio 6.1 update 2 - build 2730. 

 

A ATMEL incentiva que se utilize FreeRTOS com esse microcontrolador. Disponibiliza, inclusive, um documento para integrar o RTOS a um projeto, funcionando com ATMEL STUDIO. 

 

Com certeza tem muita gente trabalhando na Atmel pra desenvolver exemplos pra essa placa. Basta conferir a lista de exemplos de código para essa placa:

 

lista SAM D20 Xplained

 

 

O melhor de tudo isso? Além dos vários exemplos , o ATMEL STUDIO é grátis e sem limite de tempo ou tamanho de código compilado para essa família de microcontroladores.

 

 

Referências

 

User Guide

Vídeos do Youtube feitos pela Atmel, que apresentam essa família de microcontroladores.

 Atmel -Andreas Eieland - Introducing the All-New SAM D20 ARM-Based Microcontrollers 

Atmel - Glen Nilsen - SAM D20 Intro Presentation  

Atmel - Glen Nilsen - SAM D20 Analog  

Atmel - Glen Nilsen - SAM D20 API + Sync  

Atmel - Glen Nilsen - SAM D20 SERCOM  

Atmel - SAM D20 SERCOM Introduction

Atmel - SAM D20 ASF Introduction

FreeRTOS no D20, com ATMEL STUDIO

Compre no site da Atmel

Atmel Studio

Anúncio D20 - EEtimes

Datasheet do D20 

Bringing the best of microcontroller innovations to new Cortex-M0+ devices - Andreas Eieland

NEWSLETTER

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Obrigado! Sua inscrição foi um sucesso.

Ops, algo deu errado. Por favor tente novamente.

Thiago Lima
Apaixonado por sistemas digitais e circuitos eletrônicos, ja contabilizo 16 anos trabalhando com desenvolvimento de produtos eletrônicos. Formado na USP Sao Carlos, com mestrado em Engenharia Elétrica no Rochester Institute of Technology pelo CsF, atualmente lidero boa parte das operações do Embarcados, buscando levar conhecimento de sistemas eletrônicos para o Brasil. Experimentar o mundo das startups nos EUA foi transformador. La fui cofundador de uma startup de tecnologia chamada Una, sendo acelerado e incubado por um programa especial de Startups no RIT. Ao final, recebemos um prêmio de melhor startup do programa. No Laboratório Hacker de Campinas sou um dos entusiastas de novas tecnologias e apoio iniciativas da comunidade. Tambem participo de atividades comunitarias e sou um dos responsáveis pela Plataforma Ituiutaba Lixo Zero, onde escrevo regularmente artigos sobre redução de resíduos. Sou sonhador mesmo e quero acender a luz ?

1
Deixe um comentário

avatar
 
1 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
1 Comment authors
Felipe Neves Recent comment authors
  Notificações  
recentes antigos mais votados
Notificar
Felipe Neves
Visitante
Felipe Neves

Ganhei uma dessas na ESC desse ano.

Sempre fui um usuário assíduo dos antigos AVR. E gostei dos M0+ dela fora que o conjunto de periféricos é bem farto e variado (critério que geralmente uso para qualificar um ARM da fabricante A e o da fabricante B).

A única coisa que a ATMEL peca ainda está na lentidão infernal do AVRStudio6 principalmente na hora de usar a software framework integrada a ele.

No mais são só elogios 😀

Abs.