SlideShare a Scribd company logo
1 of 28
Download to read offline
Fábio Souza
2015
Microcontroladores ARM Cortex M0+
Aplicação em robôs autoguiados
TPM - TIMER/PWM Module
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
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
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
Fábio Souza 2015
TPM - Timer/PWM Module
Fontes de Clock
5
Fábio Souza 2015
TPM - Timer/PWM Module
Digrama de blocos
6
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
Fábio Souza 2015
Habilitando o clock para o TPM
System Clock Gating Control Register 6 (SIM_SCGC6)
8
Fábio Souza 2015
Selecionando a fonte de clock
System Options Register 2 (SIM_SOPT2)
9
Fábio Souza 2015
Desabilitando o clock
Status and Control (TPMx_SC)
10
Fábio Souza 2015
Carregado o valor de MOD
Modulo (TPMx_MOD)
11
Fábio Souza 2015
Limpar Flag TOF
Status and Control (TPMx_SC)
12
Fábio Souza 2015
Habilitar Timer
Status and Control (TPMx_SC)
13
Fábio Souza 2015
Exemplo - TIMER_TPM
14
Fábio Souza 2015
Exercício
Fazer o LED piscar com a frequência de 5 Hz.
15
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
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
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
Fábio Souza 2015
Habilitando o clock para o TPM
19
System Clock Gating Control Register 6 (SIM_SCGC6)
Fábio Souza 2015
Fonte de Clock
20
System Options Register 2 (SIM_SOPT2)
Fábio Souza 2015
Desabilitar o TPM
21
Status and Control (TPMx_SC)
Fábio Souza 2015
Configura modo do PWM
Status and Control (TPMx_SC)
22
Fábio Souza 2015
Configura modo do PWM
Channel (n) Status and Control (TPMx_CnSC)
23
Fábio Souza 2015
Definir a frequência do PWM
Modulo (TPMx_MOD)
24
Fábio Souza 2015
Duty Cycle
Channel (n) Value (TPMx_CnV)
25
Fábio Souza 2015
Exemplo - PWM_TPM
26
Fábio Souza 2015
Exercício
Gerar um sinal PWM de 1KHz e atualizar o valor do duty cycle com um potenciômetro
de 0 a 100%.
27
Fábio Souza 2015
Exemplo - PWM_LIB
Verificar o uso de funções para configuração do PWM.
Refazer exercício anterior usando a biblioteca.
28

More Related Content

What's hot

Acessando os periféricos de um microcontrolador
Acessando os periféricos de um microcontroladorAcessando os periféricos de um microcontrolador
Acessando os periféricos de um microcontroladorRodrigo Almeida
 
Programação básica de microcontroladores
Programação básica de microcontroladoresProgramação básica de microcontroladores
Programação básica de microcontroladoresDanilo Morais Pagano
 
Microcontroladores pic
Microcontroladores picMicrocontroladores pic
Microcontroladores picCesar Prim
 
Apresentação curso pic básico fbs eletrônica
Apresentação   curso pic básico fbs eletrônicaApresentação   curso pic básico fbs eletrônica
Apresentação curso pic básico fbs eletrônicaFabio Souza
 
Clp varios modelos
Clp varios modelosClp varios modelos
Clp varios modelosdetectfelix
 
Apresentação pic
Apresentação picApresentação pic
Apresentação picSaddam Lande
 
Resumo linguagem c para microcontroladores PIC usando MikroC
Resumo linguagem c para microcontroladores PIC usando MikroCResumo linguagem c para microcontroladores PIC usando MikroC
Resumo linguagem c para microcontroladores PIC usando MikroCFabio Souza
 
10 apostila microcontroladores
10  apostila microcontroladores10  apostila microcontroladores
10 apostila microcontroladoresAlyson Cavalcante
 
8085 Introducao
8085 Introducao8085 Introducao
8085 Introducaoedgluc2001
 
Pic apostila
Pic apostilaPic apostila
Pic apostilamoschen
 
Linguagens de programação para controladores lógicos programáveis copia - c...
Linguagens de programação para controladores lógicos programáveis   copia - c...Linguagens de programação para controladores lógicos programáveis   copia - c...
Linguagens de programação para controladores lógicos programáveis copia - c...Juremir Almeida
 
Aula 1 - Assembly - 8051
Aula 1 - Assembly - 8051Aula 1 - Assembly - 8051
Aula 1 - Assembly - 8051Thiago Oliveira
 

What's hot (20)

Acessando os periféricos de um microcontrolador
Acessando os periféricos de um microcontroladorAcessando os periféricos de um microcontrolador
Acessando os periféricos de um microcontrolador
 
Programação básica de microcontroladores
Programação básica de microcontroladoresProgramação básica de microcontroladores
Programação básica de microcontroladores
 
Microcontroladores pic
Microcontroladores picMicrocontroladores pic
Microcontroladores pic
 
Apresentação curso pic básico fbs eletrônica
Apresentação   curso pic básico fbs eletrônicaApresentação   curso pic básico fbs eletrônica
Apresentação curso pic básico fbs eletrônica
 
Aula 4 conversor ad e pwm
Aula 4   conversor ad e pwmAula 4   conversor ad e pwm
Aula 4 conversor ad e pwm
 
HC11
HC11HC11
HC11
 
Clp varios modelos
Clp varios modelosClp varios modelos
Clp varios modelos
 
Apostila cpic
Apostila cpicApostila cpic
Apostila cpic
 
8085 3
8085 38085 3
8085 3
 
Apresentação pic
Apresentação picApresentação pic
Apresentação pic
 
Resumo linguagem c para microcontroladores PIC usando MikroC
Resumo linguagem c para microcontroladores PIC usando MikroCResumo linguagem c para microcontroladores PIC usando MikroC
Resumo linguagem c para microcontroladores PIC usando MikroC
 
Zilog
ZilogZilog
Zilog
 
10 apostila microcontroladores
10  apostila microcontroladores10  apostila microcontroladores
10 apostila microcontroladores
 
8085 2
8085 28085 2
8085 2
 
8085 Introducao
8085 Introducao8085 Introducao
8085 Introducao
 
Exercicios+de+ladder+2009
Exercicios+de+ladder+2009Exercicios+de+ladder+2009
Exercicios+de+ladder+2009
 
Pic apostila
Pic apostilaPic apostila
Pic apostila
 
Linguagens de programação para controladores lógicos programáveis copia - c...
Linguagens de programação para controladores lógicos programáveis   copia - c...Linguagens de programação para controladores lógicos programáveis   copia - c...
Linguagens de programação para controladores lógicos programáveis copia - c...
 
Aula 1 - Assembly - 8051
Aula 1 - Assembly - 8051Aula 1 - Assembly - 8051
Aula 1 - Assembly - 8051
 
Clp
ClpClp
Clp
 

Viewers also liked

Microcontroladores PIC - Display LCD Alfanumérico
Microcontroladores PIC - Display LCD AlfanuméricoMicrocontroladores PIC - Display LCD Alfanumérico
Microcontroladores PIC - Display LCD AlfanuméricoFabio Souza
 
Curso mbed na KL25Z
Curso mbed na KL25ZCurso mbed na KL25Z
Curso mbed na KL25ZFabio Souza
 
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Motores
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - MotoresMicrocontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Motores
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - MotoresFabio Souza
 
Exercicios LCD E ADC
Exercicios LCD E ADCExercicios LCD E ADC
Exercicios LCD E ADCFabio Souza
 
Programando os Microcontroladores PIC
Programando os Microcontroladores PICProgramando os Microcontroladores PIC
Programando os Microcontroladores PICFabio Souza
 
Microcontroladores PIC - Interface com displays de 7 segmentos
Microcontroladores PIC - Interface com displays de 7 segmentosMicrocontroladores PIC - Interface com displays de 7 segmentos
Microcontroladores PIC - Interface com displays de 7 segmentosFabio Souza
 
Microcontroladores PIC - Exercícios para estudos de I/O digitais
Microcontroladores PIC - Exercícios para estudos de I/O digitaisMicrocontroladores PIC - Exercícios para estudos de I/O digitais
Microcontroladores PIC - Exercícios para estudos de I/O digitaisFabio Souza
 
Construindo sua placa baseada em Arduino
Construindo sua placa baseada em ArduinoConstruindo sua placa baseada em Arduino
Construindo sua placa baseada em ArduinoFabio Souza
 
Leveraging technology for AOD work on campus - NASPA 2011
Leveraging technology for AOD work on campus - NASPA 2011Leveraging technology for AOD work on campus - NASPA 2011
Leveraging technology for AOD work on campus - NASPA 2011Columbia University
 
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Criando um...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Criando um...Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Criando um...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Criando um...Fabio Souza
 
YOUTH MOBILIZATION
YOUTH MOBILIZATIONYOUTH MOBILIZATION
YOUTH MOBILIZATIONnusrat islam
 
Ejercicios con referencias, filtros
Ejercicios con referencias, filtrosEjercicios con referencias, filtros
Ejercicios con referencias, filtrosvaleria lema
 

Viewers also liked (19)

Microcontroladores PIC - Display LCD Alfanumérico
Microcontroladores PIC - Display LCD AlfanuméricoMicrocontroladores PIC - Display LCD Alfanumérico
Microcontroladores PIC - Display LCD Alfanumérico
 
Curso mbed na KL25Z
Curso mbed na KL25ZCurso mbed na KL25Z
Curso mbed na KL25Z
 
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Motores
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - MotoresMicrocontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Motores
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Motores
 
Exercicios LCD E ADC
Exercicios LCD E ADCExercicios LCD E ADC
Exercicios LCD E ADC
 
Programando os Microcontroladores PIC
Programando os Microcontroladores PICProgramando os Microcontroladores PIC
Programando os Microcontroladores PIC
 
Microcontroladores PIC - Interface com displays de 7 segmentos
Microcontroladores PIC - Interface com displays de 7 segmentosMicrocontroladores PIC - Interface com displays de 7 segmentos
Microcontroladores PIC - Interface com displays de 7 segmentos
 
Microcontroladores PIC - Exercícios para estudos de I/O digitais
Microcontroladores PIC - Exercícios para estudos de I/O digitaisMicrocontroladores PIC - Exercícios para estudos de I/O digitais
Microcontroladores PIC - Exercícios para estudos de I/O digitais
 
Construindo sua placa baseada em Arduino
Construindo sua placa baseada em ArduinoConstruindo sua placa baseada em Arduino
Construindo sua placa baseada em Arduino
 
Leveraging technology for AOD work on campus - NASPA 2011
Leveraging technology for AOD work on campus - NASPA 2011Leveraging technology for AOD work on campus - NASPA 2011
Leveraging technology for AOD work on campus - NASPA 2011
 
App4kasperc
App4kaspercApp4kasperc
App4kasperc
 
Consacrazione al cuore immacolato di maria (mini book)
Consacrazione al cuore immacolato di maria (mini book)Consacrazione al cuore immacolato di maria (mini book)
Consacrazione al cuore immacolato di maria (mini book)
 
Ref site pic_bom
Ref site  pic_bomRef site  pic_bom
Ref site pic_bom
 
Programando microcontroladores pic março
Programando microcontroladores pic marçoProgramando microcontroladores pic março
Programando microcontroladores pic março
 
U3 exercicios resolvidos
U3 exercicios resolvidosU3 exercicios resolvidos
U3 exercicios resolvidos
 
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Criando um...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Criando um...Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Criando um...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Criando um...
 
YOUTH MOBILIZATION
YOUTH MOBILIZATIONYOUTH MOBILIZATION
YOUTH MOBILIZATION
 
garbage
garbagegarbage
garbage
 
Ejercicios con referencias, filtros
Ejercicios con referencias, filtrosEjercicios con referencias, filtros
Ejercicios con referencias, filtros
 
Click to Edit
Click to EditClick to Edit
Click to Edit
 

Similar to Configurando TPM como Timer e PWM

Interrupts and the timer
Interrupts and the timerInterrupts and the timer
Interrupts and the timerMayara Mônica
 
AA Apresentacao_TIMER0_PIC16F877A_2016.pdf
AA Apresentacao_TIMER0_PIC16F877A_2016.pdfAA Apresentacao_TIMER0_PIC16F877A_2016.pdf
AA Apresentacao_TIMER0_PIC16F877A_2016.pdfSilvanildoManoeldaSi
 
550362750-UFCD-6072-Microcontroladores-Timers.pptx
550362750-UFCD-6072-Microcontroladores-Timers.pptx550362750-UFCD-6072-Microcontroladores-Timers.pptx
550362750-UFCD-6072-Microcontroladores-Timers.pptxdesportistaluis
 
Pwm pic 18 f
Pwm pic 18 fPwm pic 18 f
Pwm pic 18 fIFPB
 
[Chevrolet] inyeccion electronica_chevrolet_corsa
[Chevrolet] inyeccion electronica_chevrolet_corsa[Chevrolet] inyeccion electronica_chevrolet_corsa
[Chevrolet] inyeccion electronica_chevrolet_corsaVicenteAlvarez32
 
Curso clp siemens
Curso clp siemensCurso clp siemens
Curso clp siemensSENAI SP
 
Apostila Apresentacao_PWM_PIC16F877A_2015.pdf
Apostila Apresentacao_PWM_PIC16F877A_2015.pdfApostila Apresentacao_PWM_PIC16F877A_2015.pdf
Apostila Apresentacao_PWM_PIC16F877A_2015.pdfSilvanildoManoeldaSi
 
Sitema de inyeccion magneti marelli
Sitema de inyeccion magneti marelliSitema de inyeccion magneti marelli
Sitema de inyeccion magneti marelligujasa
 
Automação ind 6_2014
Automação ind 6_2014Automação ind 6_2014
Automação ind 6_2014Marcio Oliani
 
Apresentação - DS5520 Controlador Gerador
Apresentação - DS5520 Controlador GeradorApresentação - DS5520 Controlador Gerador
Apresentação - DS5520 Controlador Geradorengenhariaeset
 
(43)99668 6495 ASSESSORIA MAPA - MICROPROCESSADORES E MICROCONTROLADORES - 51...
(43)99668 6495 ASSESSORIA MAPA - MICROPROCESSADORES E MICROCONTROLADORES - 51...(43)99668 6495 ASSESSORIA MAPA - MICROPROCESSADORES E MICROCONTROLADORES - 51...
(43)99668 6495 ASSESSORIA MAPA - MICROPROCESSADORES E MICROCONTROLADORES - 51...daimonkonicz823
 
Controladores logicos programavel industriais
Controladores logicos programavel industriaisControladores logicos programavel industriais
Controladores logicos programavel industriaisJoseMarcelodeAssisSa
 
CPUMF: O que é, como implementar, o que inferir por Luiz Carlos Orsoni
CPUMF: O que é, como implementar, o que inferir por Luiz Carlos OrsoniCPUMF: O que é, como implementar, o que inferir por Luiz Carlos Orsoni
CPUMF: O que é, como implementar, o que inferir por Luiz Carlos OrsoniJoao Galdino Mello de Souza
 
MAPA - MICROPROCESSADORES E MICROCONTROLADORES - 512024.docx
MAPA - MICROPROCESSADORES E MICROCONTROLADORES - 512024.docxMAPA - MICROPROCESSADORES E MICROCONTROLADORES - 512024.docx
MAPA - MICROPROCESSADORES E MICROCONTROLADORES - 512024.docx2m Assessoria
 

Similar to Configurando TPM como Timer e PWM (20)

Interrupts and the timer
Interrupts and the timerInterrupts and the timer
Interrupts and the timer
 
PLC3.pptx
PLC3.pptxPLC3.pptx
PLC3.pptx
 
AA Apresentacao_TIMER0_PIC16F877A_2016.pdf
AA Apresentacao_TIMER0_PIC16F877A_2016.pdfAA Apresentacao_TIMER0_PIC16F877A_2016.pdf
AA Apresentacao_TIMER0_PIC16F877A_2016.pdf
 
550362750-UFCD-6072-Microcontroladores-Timers.pptx
550362750-UFCD-6072-Microcontroladores-Timers.pptx550362750-UFCD-6072-Microcontroladores-Timers.pptx
550362750-UFCD-6072-Microcontroladores-Timers.pptx
 
ARM
ARMARM
ARM
 
Pwm pic 18 f
Pwm pic 18 fPwm pic 18 f
Pwm pic 18 f
 
[Chevrolet] inyeccion electronica_chevrolet_corsa
[Chevrolet] inyeccion electronica_chevrolet_corsa[Chevrolet] inyeccion electronica_chevrolet_corsa
[Chevrolet] inyeccion electronica_chevrolet_corsa
 
Curso clp siemens
Curso clp siemensCurso clp siemens
Curso clp siemens
 
Curso clp siemens
Curso clp siemensCurso clp siemens
Curso clp siemens
 
Apostila Apresentacao_PWM_PIC16F877A_2015.pdf
Apostila Apresentacao_PWM_PIC16F877A_2015.pdfApostila Apresentacao_PWM_PIC16F877A_2015.pdf
Apostila Apresentacao_PWM_PIC16F877A_2015.pdf
 
Sitema de inyeccion magneti marelli
Sitema de inyeccion magneti marelliSitema de inyeccion magneti marelli
Sitema de inyeccion magneti marelli
 
Automacao
AutomacaoAutomacao
Automacao
 
Simocode pro
Simocode proSimocode pro
Simocode pro
 
Automação ind 6_2014
Automação ind 6_2014Automação ind 6_2014
Automação ind 6_2014
 
Apresentação - DS5520 Controlador Gerador
Apresentação - DS5520 Controlador GeradorApresentação - DS5520 Controlador Gerador
Apresentação - DS5520 Controlador Gerador
 
(43)99668 6495 ASSESSORIA MAPA - MICROPROCESSADORES E MICROCONTROLADORES - 51...
(43)99668 6495 ASSESSORIA MAPA - MICROPROCESSADORES E MICROCONTROLADORES - 51...(43)99668 6495 ASSESSORIA MAPA - MICROPROCESSADORES E MICROCONTROLADORES - 51...
(43)99668 6495 ASSESSORIA MAPA - MICROPROCESSADORES E MICROCONTROLADORES - 51...
 
Controladores logicos programavel industriais
Controladores logicos programavel industriaisControladores logicos programavel industriais
Controladores logicos programavel industriais
 
Automatos programaveis
Automatos programaveisAutomatos programaveis
Automatos programaveis
 
CPUMF: O que é, como implementar, o que inferir por Luiz Carlos Orsoni
CPUMF: O que é, como implementar, o que inferir por Luiz Carlos OrsoniCPUMF: O que é, como implementar, o que inferir por Luiz Carlos Orsoni
CPUMF: O que é, como implementar, o que inferir por Luiz Carlos Orsoni
 
MAPA - MICROPROCESSADORES E MICROCONTROLADORES - 512024.docx
MAPA - MICROPROCESSADORES E MICROCONTROLADORES - 512024.docxMAPA - MICROPROCESSADORES E MICROCONTROLADORES - 512024.docx
MAPA - MICROPROCESSADORES E MICROCONTROLADORES - 512024.docx
 

More from Fabio Souza

RISC-V Design Challenge
RISC-V Design ChallengeRISC-V Design Challenge
RISC-V Design ChallengeFabio Souza
 
Palestra Como o open hardware pode impactar na educação do nosso país
Palestra Como o open hardware pode impactar na educação do nosso paísPalestra Como o open hardware pode impactar na educação do nosso país
Palestra Como o open hardware pode impactar na educação do nosso paísFabio Souza
 
Programe a STM32L4 Discovery kit IoT node com ARM mbed
Programe a STM32L4 Discovery kit IoT node com ARM mbedPrograme a STM32L4 Discovery kit IoT node com ARM mbed
Programe a STM32L4 Discovery kit IoT node com ARM mbedFabio Souza
 
Micropython - Python para microcontroladores
Micropython - Python para microcontroladoresMicropython - Python para microcontroladores
Micropython - Python para microcontroladoresFabio Souza
 
Workshop - Cotrole sua casa remotamente através da Internet
Workshop - Cotrole sua casa remotamente através da InternetWorkshop - Cotrole sua casa remotamente através da Internet
Workshop - Cotrole sua casa remotamente através da InternetFabio Souza
 
Open Hardware - Projetos que estão mudando o mundo
Open Hardware - Projetos que estão mudando o mundoOpen Hardware - Projetos que estão mudando o mundo
Open Hardware - Projetos que estão mudando o mundoFabio Souza
 
Como publicar um projeto open hardware?
Como publicar um projeto  open hardware?Como publicar um projeto  open hardware?
Como publicar um projeto open hardware?Fabio Souza
 
Como publicar um projeto open hardware?
Como publicar um projeto  open hardware?Como publicar um projeto  open hardware?
Como publicar um projeto open hardware?Fabio Souza
 
Como o movimento maker e a internet das coisas estão revolucionando o mundo
Como o movimento maker e a internet das coisas estão revolucionando o mundoComo o movimento maker e a internet das coisas estão revolucionando o mundo
Como o movimento maker e a internet das coisas estão revolucionando o mundoFabio Souza
 
Montando sua própria placa arduino e compartilhando seus projetos de hardware
Montando sua própria placa arduino e compartilhando seus projetos de hardwareMontando sua própria placa arduino e compartilhando seus projetos de hardware
Montando sua própria placa arduino e compartilhando seus projetos de hardwareFabio Souza
 
Monte sua franzininho, uma placa arduino compatível
 Monte sua franzininho, uma placa arduino compatível Monte sua franzininho, uma placa arduino compatível
Monte sua franzininho, uma placa arduino compatívelFabio Souza
 
Como montar sua própria placa Arduino e compartilhar seus projetos de hardware
Como montar sua própria placa Arduino e compartilhar seus projetos de hardwareComo montar sua própria placa Arduino e compartilhar seus projetos de hardware
Como montar sua própria placa Arduino e compartilhar seus projetos de hardwareFabio Souza
 
Workshop Microchip Curiosity Board
Workshop Microchip Curiosity BoardWorkshop Microchip Curiosity Board
Workshop Microchip Curiosity BoardFabio Souza
 
Como montar sua própria placa Arduino e compartilhar seus projetos de hardware
Como montar sua própria placa Arduino e compartilhar seus projetos de hardwareComo montar sua própria placa Arduino e compartilhar seus projetos de hardware
Como montar sua própria placa Arduino e compartilhar seus projetos de hardwareFabio Souza
 
Curso mbed e FRDM KL46Z da NXP
Curso mbed e FRDM KL46Z da NXPCurso mbed e FRDM KL46Z da NXP
Curso mbed e FRDM KL46Z da NXPFabio Souza
 
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Resumo de ...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Resumo de ...Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Resumo de ...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Resumo de ...Fabio Souza
 
Embarcados - Ao arduino e além
Embarcados - Ao arduino e alémEmbarcados - Ao arduino e além
Embarcados - Ao arduino e alémFabio Souza
 
Internet das Coisas - Conceitos, tecnologias e aplicações
Internet das Coisas - Conceitos, tecnologias e aplicaçõesInternet das Coisas - Conceitos, tecnologias e aplicações
Internet das Coisas - Conceitos, tecnologias e aplicaçõesFabio Souza
 
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados- Freedom boa...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados- Freedom boa...Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados- Freedom boa...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados- Freedom boa...Fabio Souza
 
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Microcontr...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Microcontr...Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Microcontr...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Microcontr...Fabio Souza
 

More from Fabio Souza (20)

RISC-V Design Challenge
RISC-V Design ChallengeRISC-V Design Challenge
RISC-V Design Challenge
 
Palestra Como o open hardware pode impactar na educação do nosso país
Palestra Como o open hardware pode impactar na educação do nosso paísPalestra Como o open hardware pode impactar na educação do nosso país
Palestra Como o open hardware pode impactar na educação do nosso país
 
Programe a STM32L4 Discovery kit IoT node com ARM mbed
Programe a STM32L4 Discovery kit IoT node com ARM mbedPrograme a STM32L4 Discovery kit IoT node com ARM mbed
Programe a STM32L4 Discovery kit IoT node com ARM mbed
 
Micropython - Python para microcontroladores
Micropython - Python para microcontroladoresMicropython - Python para microcontroladores
Micropython - Python para microcontroladores
 
Workshop - Cotrole sua casa remotamente através da Internet
Workshop - Cotrole sua casa remotamente através da InternetWorkshop - Cotrole sua casa remotamente através da Internet
Workshop - Cotrole sua casa remotamente através da Internet
 
Open Hardware - Projetos que estão mudando o mundo
Open Hardware - Projetos que estão mudando o mundoOpen Hardware - Projetos que estão mudando o mundo
Open Hardware - Projetos que estão mudando o mundo
 
Como publicar um projeto open hardware?
Como publicar um projeto  open hardware?Como publicar um projeto  open hardware?
Como publicar um projeto open hardware?
 
Como publicar um projeto open hardware?
Como publicar um projeto  open hardware?Como publicar um projeto  open hardware?
Como publicar um projeto open hardware?
 
Como o movimento maker e a internet das coisas estão revolucionando o mundo
Como o movimento maker e a internet das coisas estão revolucionando o mundoComo o movimento maker e a internet das coisas estão revolucionando o mundo
Como o movimento maker e a internet das coisas estão revolucionando o mundo
 
Montando sua própria placa arduino e compartilhando seus projetos de hardware
Montando sua própria placa arduino e compartilhando seus projetos de hardwareMontando sua própria placa arduino e compartilhando seus projetos de hardware
Montando sua própria placa arduino e compartilhando seus projetos de hardware
 
Monte sua franzininho, uma placa arduino compatível
 Monte sua franzininho, uma placa arduino compatível Monte sua franzininho, uma placa arduino compatível
Monte sua franzininho, uma placa arduino compatível
 
Como montar sua própria placa Arduino e compartilhar seus projetos de hardware
Como montar sua própria placa Arduino e compartilhar seus projetos de hardwareComo montar sua própria placa Arduino e compartilhar seus projetos de hardware
Como montar sua própria placa Arduino e compartilhar seus projetos de hardware
 
Workshop Microchip Curiosity Board
Workshop Microchip Curiosity BoardWorkshop Microchip Curiosity Board
Workshop Microchip Curiosity Board
 
Como montar sua própria placa Arduino e compartilhar seus projetos de hardware
Como montar sua própria placa Arduino e compartilhar seus projetos de hardwareComo montar sua própria placa Arduino e compartilhar seus projetos de hardware
Como montar sua própria placa Arduino e compartilhar seus projetos de hardware
 
Curso mbed e FRDM KL46Z da NXP
Curso mbed e FRDM KL46Z da NXPCurso mbed e FRDM KL46Z da NXP
Curso mbed e FRDM KL46Z da NXP
 
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Resumo de ...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Resumo de ...Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Resumo de ...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Resumo de ...
 
Embarcados - Ao arduino e além
Embarcados - Ao arduino e alémEmbarcados - Ao arduino e além
Embarcados - Ao arduino e além
 
Internet das Coisas - Conceitos, tecnologias e aplicações
Internet das Coisas - Conceitos, tecnologias e aplicaçõesInternet das Coisas - Conceitos, tecnologias e aplicações
Internet das Coisas - Conceitos, tecnologias e aplicações
 
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados- Freedom boa...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados- Freedom boa...Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados- Freedom boa...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados- Freedom boa...
 
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Microcontr...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Microcontr...Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Microcontr...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Microcontr...
 

Configurando TPM como Timer e PWM

  • 1. Fábio Souza 2015 Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados TPM - TIMER/PWM Module
  • 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
  • 5. Fábio Souza 2015 TPM - Timer/PWM Module Fontes de Clock 5
  • 6. Fábio Souza 2015 TPM - Timer/PWM Module Digrama de blocos 6
  • 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
  • 8. Fábio Souza 2015 Habilitando o clock para o TPM System Clock Gating Control Register 6 (SIM_SCGC6) 8
  • 9. Fábio Souza 2015 Selecionando a fonte de clock System Options Register 2 (SIM_SOPT2) 9
  • 10. Fábio Souza 2015 Desabilitando o clock Status and Control (TPMx_SC) 10
  • 11. Fábio Souza 2015 Carregado o valor de MOD Modulo (TPMx_MOD) 11
  • 12. Fábio Souza 2015 Limpar Flag TOF Status and Control (TPMx_SC) 12
  • 13. Fábio Souza 2015 Habilitar Timer Status and Control (TPMx_SC) 13
  • 14. Fábio Souza 2015 Exemplo - TIMER_TPM 14
  • 15. Fábio Souza 2015 Exercício Fazer o LED piscar com a frequência de 5 Hz. 15
  • 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
  • 19. Fábio Souza 2015 Habilitando o clock para o TPM 19 System Clock Gating Control Register 6 (SIM_SCGC6)
  • 20. Fábio Souza 2015 Fonte de Clock 20 System Options Register 2 (SIM_SOPT2)
  • 21. Fábio Souza 2015 Desabilitar o TPM 21 Status and Control (TPMx_SC)
  • 22. Fábio Souza 2015 Configura modo do PWM Status and Control (TPMx_SC) 22
  • 23. Fábio Souza 2015 Configura modo do PWM Channel (n) Status and Control (TPMx_CnSC) 23
  • 24. Fábio Souza 2015 Definir a frequência do PWM Modulo (TPMx_MOD) 24
  • 25. Fábio Souza 2015 Duty Cycle Channel (n) Value (TPMx_CnV) 25
  • 27. Fábio Souza 2015 Exercício Gerar um sinal PWM de 1KHz e atualizar o valor do duty cycle com um potenciômetro de 0 a 100%. 27
  • 28. Fábio Souza 2015 Exemplo - PWM_LIB Verificar o uso de funções para configuração do PWM. Refazer exercício anterior usando a biblioteca. 28