COO Embarcados | Sistemas Embarcados | Hardware um Embarcados
9. Oct 2016•0 gefällt mir•415 views
1 von 28
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - TPM - TIMER/PWM Module
9. Oct 2016•0 gefällt mir•415 views
Downloaden Sie, um offline zu lesen
Melden
Ingenieurwesen
Objetivos
● Entender a estrutura interna do TPM;
● Entender os modos de funcionamento;
● Aprender a configura os registradores;
● Utilizar o TPM como temporizador.
● Utilizar o TPM para gerar sinal PWM.
2. Fábio Souza 2015
Objetivos
● Entender a estrutura interna do TPM;
● Entender os modos de funcionamento;
● Aprender a configura os registradores;
● Utilizar o TPM como temporizador.
● Utilizar o TPM para gerar sinal PWM.
2
3. Fábio Souza 2015
Introdução aos Timers
Os Timers são periféricos utilizados para contagem, temporização, medida de largura
de pulso e geração de sinais PWM.
Funcionando em paralelo com a CPU os timers incrementam seus contadores
automaticamentes, através de um clock externo ou o próprio clock do sistema.
Dependendo da sua configuração, e modo de funcionamento, ao final de sua
contagem é sinalizado através de flags para tratamento por parte da CPU.
O KL25 possui 3 módulos de timers chamados de TPM.
3
4. Fábio Souza 2015
TPM - Timer/PWM Module
Características:
● Clock selecionável;
● Timer/contador de 16 bits;
● Possui 6 canais que podem ser configurados como capture, output compare, ou
PWM.
● Suporte para entrada de trigger para reset ou start;
● Trigger para o hardware ao fim da contagem.
4
7. Fábio Souza 2015
Usando o TPM para gerar delay
Esses são os passos necessários para configurar o TPMx_CNT para gerar
delays:
● habilitar o clock para o TPM através do registrador SIM_SCGC6;
● Selecionar a fonte de clock para o timer através do registrador
SIM_SOPT2;
● Desabilitar o timer para fazer as configurações;
● Carreagar o registrador TPMx_MOD com o valor desejado;
● limpar o flag TOF;
● Configurar preescaler;
● Habilitar como contador crescente no resgistrador TMPx_SC;
● Aguardar o flag TOF ir para HIGH;
7
16. Fábio Souza 2015
TPM como PWM
O modulo TPM também pode ser utilizado para gerar sinais PWM - Pulse Width
Modulation. Para geração de um sinal PWM usando o TPM deve-se seguir os
seguintes passos:
● Habilitar o clock para o pino;
● Configurar o GPIO para saida de sinal PWM;
● Habilitar o clock para o TMP correspondente;
● Selecionar a fonte de clock para o TPM;
● Desabilitar TPM para a configuração;
● Selecionar o modo de funcionamento do PWM através do registrador
TPMx_CnSC;
● Configurar a frequência do sinal através do valor carregado em TPMx_MOD;
● Carregar o valor do duty cycle no registrador TPMx_CnV;
● habilitar clocck e configura PWM
● Atualizar o duty cycle alterando o valor no TPMx_CnV
16
17. Fábio Souza 2015
Ativando o Clock para o PORT
Antes de utilizar o pino deve-se ativar o clock para cada conjunto de porta. Isso é feito
através do registrador:
SIM_SCGC5 (System Clock Gating Control)
17
18. Fábio Souza 2015
Configurando o pino para saida PWM
Os pinos geralmente possuem diversas funções que são multiplexadas ao mesmo.
Dessa forma é necessário configurar qual função vai ser utilizada. Para isso utiliza-se
o registrador : Pin Control Register n (PORTx_PCRn).
Para uso do pino como GPIO deve-se confirgurar o MUX. Conforme tabela na
pagiana 161, do KL25 Sub-Family Reference Manual.
18