Site icon Embarcados – Sua fonte de informações sobre Sistemas Embarcados

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

ATSAMC21

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:

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:

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:

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