Utilizando os periféricos do microcontrolador ARM Cortex-M0+ ATSAMC21, da Microchip

A família de ARM Cortex-M0+ ATSAMC21 possui alimentação de 5V e foi criada visando aplicação industrial e comercial, ou seja, onde existem ambientes com ruídos.

 

Como exemplo de aplicação onde o conversor analógico digital sigma-delta pode ser utilizado, podemos citar os controladores de temperatura, pois é necessária boa resolução do conversor analógico digital e a variável a ser controlada possui uma variação lenta não necessitando alta taxa de amostragem. Já o periférico de acelerador de divisão por hardware (DIVAS) é muito interessante para certos algoritmos matemáticos, por exemplo o cálculo de uma tensão RMS (root mean square) ou eficaz, onde a equação na forma continua é:

 

 

E na forma discreta pode ser escrita da seguinte forma:

 

 

Pode-se observar que o rápido cálculo do valor RMS é necessário que o microcontrolador possua algumas operações matemáticas por hardware. Nesse caso o ATSAMC21 possui todas as operações por hardware necessárias para o cálculo da equação acima.

 

Nesse artigo vamos conhecer o periférico conversor analógico digital sigma-delta (SDADC) e o acelerador de divisão por hardware (DIVAS), além de aprender configurá-los no ATMEL STUDIO 7, usando o Atmel Software Framework (ASF). 

 

 

O ATSAMC21J18A

 

Como já dito anteriormente, toda a família ATSAMC21 é ideal para aplicações em ambientes com ruídos, mas escolhemos o microcontrolador ATSAMC21J18A para falar especificamente, pois faz parte do kit de desenvolvimento ATSAMC21N Xplained Pro Evaluation Kit:

 

Figura 1 - ATSAMC21N Xplained Pro Evaluation Kit

 

Ele também possui robustos periféricos de comunicação, incluindo o módulo SERCOM e CAN-FD, juntamente com avançados periféricos de controle de motor e PTC (Peripheral Touch Control).

 

Principais características:

  • Memória FLASH de 256KB interna, SRAM de 32KB e 8KB FLASH independentes auto programáveis para emulação EEPROM;
  • Low power: Modos standby, off sleep, Idle, e periféricos SleepWalking;
  • RTC (Real Time Counter) de 32 bits, com função de relógio e calendário;
  • Watchdog Timer (WDT);
  • Voltagem de operação: 2.7V – 5.5V;
  • Até 52 pinos I/O programáveis.

 

 

Conhecendo melhor o SDADC

 

O SDADC possui uma resolução de 16 bits, um range de conversão de 0V a 0,7V x Vref, integração com o DMA, até 3 entradas analógicas diferenciais externas. Abaixo, encontra-se o diagrama de blocos do SDADC:

 

DIVAS -SDADC-ATSAMC21-01
Figura 2 - Diagrama de blocos do SDADC

 

 

Criando um projeto e utilizando o SDADC

 

O exemplo abaixo executa uma conversão analógica-digital quando o botão for pressionado e acende o Led 0. Para a criação do projeto utiliza-se o ATMEL STUDIO 7 e o Atmel Software Framework (ASF) seguindo os passos abaixo:

 

Passo 1 – Abrir o Atmel Studio e criar um novo projeto:

Figura 3 - Criando um novo projeto

 

Passo 2 – Selecionar o tipo de projeto:

Figura 4 - Selecionando o tipo de projeto

 

Passo 3 – Selecionar o microcontrolador e a placa utilizados.

Figura 5 - Selecionando o Microcontrolador

 

Passo 4 – Verificar se o projeto foi criado e compilar o projeto.

Figura 6 - Compilando o Projeto

 

Passo 5 – Adicionar o driver do SDADC clicando no ícone e na área de busca digite SDADC:

Figura 7 - Adicionando o driver do SDADC

 

Passo 6 – Clique em Add e depois em Apply.

Figura 8 - Adicionando o driver do SDADC

 

Passo 7 – Verificar se o driver foi adicionado com sucesso, conforme figura abaixo:

Figura 9 - Driver adicionado

 

Passo 8 – No arquivo main.c criar uma função configura_sdadc assim como seu protótipo:

 

 

Passo 9 – Declarar a estrutura struct sdadc_module sdadc_instance acima do protótipo da função:

 

 

Passo 10 – Chamar a função configura_sdadc, dentro da função main:

 

Passo 11 – Chamar a função configura_sdadc dentro da função main, declarar a variável resultado como int32 e fazer uma leitura de sdadc quando o botão for pressionado, conforme abaixo:

 

 

 

Conhecendo melhor o DIVAS

 

O DIVAS é um acelerador de divisão por hardware de 32 bits com ou sem sinal (signed ou unsigned) e uma máquina de 32 bits sem sinal de raiz quadrada.

 

As principais características do DIVAS são:

  • Acelerador de divisão;
  • Divisão inteira de 32 bits com ou sem sinal;
  • Raiz quadrada de 32 bits sem sinal;
  • Divisão de 32 bits entre 2 – 16 ciclos de clock;
  • Resultado inclui quociente e resto;
  • Resultado inclui raiz quadrada e resto;
  • Início automático da operação quando o dado de entrada da raiz quadrada ou o divisor é carregado.

Abaixo, encontra-se o diagrama de blocos do DIVAS:

 

Figura 10 - Diagrama de blocos do DIVAS

 

 

Adicionando o DIVAS no projeto criado anteriormente

 

Passo 1 - Adicionar o driver do DIVAS clicando no ícone e na área de busca digite DIVAS:

Figura 11 - Adicionando o DIVAS

Passo 2 - Clique em Add e depois em Apply.

 

Passo 3 - Verificar se o driver foi adicionado com sucesso, conforme figura abaixo:

Figura 12 - Driver adicionado

Passo 4 – No arquivo divas.h pode-se observar as funções das operações matemáticas mencionadas anteriormente:

 

 

 

Passo 5 – Calcular a raiz quadrada da variável resultado usando o DIVAS:

 

 

 

Conclusão

 

Nesse artigo foram abordados dois periféricos existentes no microcontrolador ATSAMC21, assim como a criação de projetos passo a passo para adicionar e configurar os drivers. Embora os exemplos criados nesse artigo sejam simples, a ideia principal foi demonstrar a facilidade de uso dos periféricos citados, ficando a cargo do leitor usar a criatividade para utilização desses periféricos nos seus projetos.

 

Apresentamos também algumas das características principais do componente ATSAMC21J18A, que faz parte do kit de desenvolvimento.

 

Para saber mais informações, acesse: https://goo.gl/quBSzf

 

Para adquirir o ATSAMC21J18A , acesse: https://goo.gl/St09oF

  

Em caso de outras dúvidas sobre os produtos apresentados ou outros produtos Microchip, acesse o Suporte Artimar, em: www.artimar-suporte.com.br/index.php.

 

 

Sobre a Microchip

 

Microchip Technology Inc. é a fornecedora líder de microcontroladores e semicondutores analógicos, proporcionando o desenvolvimento de produtos de baixo risco, com um custo total baixo de sistema, no tempo do mercado para milhares de diversas aplicações de clientes em todo o mundo, oferecendo um excelente suporte técnico, com uma entrega de qualidade e confiável.

 

Está sediada na cidade de Chandler, no Arizona, e possui valores que afirmam que os funcionários são sua maior força, a melhoria contínua é algo essencial, e os clientes são seu foco.

 

(*) esse post foi patrocinado pela ARTIMAR

Aplicações Eletrônicas Artimar Ltda, ou somente Artimar como é conhecida no mercado, foi fundada em 1962 pelo Sr. Artur Rabner.
Seu intuito, foi trazer ao mercado brasileiro novos recursos e produtos que ajudassem o setor da indústria eletro-eletrônica brasileira a se desenvolver e sair do estado defasado ao qual se encontrava.
Esta crença e força de vontade consolidaram a estrutura de filosofia da Artimar, que continua viva até os dias atuais.
Hoje, a Artimar possui em seu line card várias empresas de diferentes segmentos da indústria eletro-eletrônica de alta tecnologia.
Portanto, são mais de 50 anos de tradição, parcerias e muitas novas amizades construídas, sempre buscando inovar, descobrir e desenvolver o mercado brasileiro de eletro-eletrônica.

Deixe um comentário

Seja o Primeiro a Comentar!

Notificar
avatar
wpDiscuz