2 Comentários

Biblioteca DAC para FRDM-KL25Z

Periodic Interrupt Timer

Olá caro leitor, este é mais um artigo da série Bibliotecas de Software para a FRDM-KL25Z. Neste artigo será feita uma breve introdução sobre conversor digital analógico, apresentar a biblioteca DAC de software para a utilização deste periférico e um exemplo de aplicação.

Introdução

Um sistema de Processamento de Sinais Digitais (PDS), de maneira bem simples, pode ser dividido em três blocos, são eles: aquisição do sinal e conversão, processamento digital do sinal e reconstrução do sinal.

Diagrama de bloco Processamento Digital de Sinal - Biblioteca DAC
Diagrama de bloco Processamento Digital de Sinal

Aquisição de sinal é a primeira etapa de um processamento digital de sinais, responsável por traduzir o sinal analógico que varia continuamente em uma série de níveis discretos. Essa etapa é composta por filtros e conversor analógico-digital (ADC).

O segundo item é a etapa de processamento digital, é neste bloco que serão realizadas todas as operações tais como: remoções de interferências indesejadas; aumento ou redução de amplitude ou da frequência; entre outras operações. De acordo com a aplicação, essa tarefa pode ser realizada por um DSP - Digital Signal Processor (Processador de Sinais Digitais), microprocessador ou microcontrolador.

O último item de um sistema de processamento digital de sinais é a parte responsável pela a reconstrução do sinal. Essa etapa fica a cargo de um Conversor Digital-Analógico (DAC). O DAC transforma uma série de códigos digitais, que representa um sinal analógico.

Para mais informações a respeito de processamento digital de sinais, recomendo a série de artigos Processamento Digital de Sinais - DSP produzidos pelo Henrique Puhlmann.

DAC - Característica e Desempenho

As principais características de conversor digital-analógico incluem resolução, precisão e linearidade. Resolução de DAC é expressa pela a equação abaixo:

Cálculo de resolução do DAC

Onde n é número de bits. Também pode-se obter a percentagem, expresso pela equação:

Cálculo porcentual do DAC

Precisão é deduzida da comparação da saída real com a saída esperada.

Linearidade ou erro linear é um desvio a partir de uma reta ideal de saída de DAC. Um exemplo é o erro de Offset, o qual corresponde ao valor de tensão de saída quando o valor de entrada é zero.

DAC da Freedom Board KL25Z

O microcontrolador MKL25Z128VLK4 possui um conversor digital-analógico de 12 bits. O sinal do DAC pode ser configurado para um pino externo ou para um comparador analógico. Também pode ser utilizado em conjunto com o DMA (Direct Memory Access).

Diagrama de bloco DAC da FRDM-KL25Z
Diagrama de bloco DAC da FRDM-KL25Z

O primeiro item a ser configurado é habilitar o Clock ao periférico. Essa operação é feita utilizando o registrador System Clock Gating Control Register 6 (SIM_SCGC6). Para habilitar o Clock deve-se utilizar a macro SIM_SCGC6_DAC0_MASK.

Detalhes do Registrador System Clock Gating Control Register 6 (SIM_SCGC6)
Detalhes do Registrador System Clock Gating Control Register 6 (SIM_SCGC6)
Bit do registrador SIM_SCGC6 responsável por habilitar o Clock ao DAC
Bit do registrador SIM_SCGC6 responsável por habilitar o Clock ao DAC

O segundo registrador que devemos configurar é DAC Status Register (DACx_SR).

Registrador DAC Control Register (DACx_C0)
Registrador DAC Control Register (DACx_C0)

O terceiro registrador a ser configurado é DAC Control Register (DACx_C0).

Escrevendo no DAC

Para realizar a escrita no conversor digital-analógico devemos utilizar dois registadores, são eles: DAC Data Low Register (DACx_DATnL) e DAC Data High Register (DACx_DATnH). O primeiro é destinado para escrever os 8 bits menos significativos e o segundo registrador é para escrever os 4 bits mais significativos.

Registrador DAC Data Low (DACx_DATnL)
Registrador DAC Data Low (DACx_DATnL)
Registrador DAC Data High (DACx_DATnH)
Registrador DAC Data High (DACx_DATnH)

Biblioteca de Software DAC

Demonstrarei a seguir a biblioteca de software com as configurações mínimas para utilizar o conversor digital-analógico, apresentando a função de inicialização e de escrita.

Nota I: O pino destinado para conversor digital-analógico é PTE30.

Pino de saída externa do DAC
Pino de saída externa do DAC

Nota II: O sinal do proveniente do conversor digital-analógico também pode ser direcionado para outro periférico do microcontrolador.

Função de inicialização do DAC e Escrita 

Arquivo dac.c

Arquivo dac.h

Aplicação

A aplicação com conversor digital-analógico consiste em gerar sinal analógico que se assemelhe ao sinal cardíaco.

main.c

Representação do sinal analógico
Representação do sinal analógico

Conclusão

Neste artigo foi apresentada mais uma biblioteca de software para a Freedom Board KL25Z utilizando o periférico DAC - Conversor Digital Analógico. O arquivos aqui apresentado estão disponíveis neste Github.

Referências

Sistemas Digitais Fundamentos E Aplicações 9ª Edição, THOMAS L. FLOYD - Capitulo 13.

Reference Manuals KL25Z

Github - Library-FRDM-KL25Z

Outros artigos da série

<< PIT - Periodic Interrupt Timer para FRDM-KL25ZBiblioteca de Software de DMA para FRDM-KL25Z >>
Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

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

Software » Biblioteca DAC para FRDM-KL25Z
Comentários:
Notificações
Notificar
guest
2 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Roitter Konrad
Roitter Konrad
09/12/2018 15:17

Por favor, poderia me explicar mais detalhadamente a parte do código, mbs = (uint_t) (valeu>>8)

Talvez você goste:

Séries



Outros da Série

Menu

WEBINAR
 
Debugging
em Linux embarcado

 

Data: 30/09 às 19:30h - Apoio: Mouser Elecctronics
 
INSCREVA-SE AGORA »



 
close-link