Microcontroladores Sistemas Digitais Microprocessados (SDM) TPM (16 bits) e PWM Profa. Ana T. Y. Watanabe [email protected] ou [email protected] Microcontroladores “O que ama a correção ama o conhecimento; mas o que aborrece a repreensão é insensato.” Provérbios 12:1 Temporizador de 16 bits Timer /Pulsewidth Modulator (TPM) O TPM é um contador de 16 bits; • O TPM possui três modos de operação: Modo de captura, Modo de Comparação e Modo de Modulação por Largura de Pulso (PWM); • O TPM possui um registrador que armazena a contagem (TPMCNT), registrador que armazena o módulo de contagem (TPMMOD); • O TPM possui 2 canais: canal 0 (PTA0) e canal 1 (PTB5); MODO MODULAÇÃO POR LARGURA DE PULSO (PWM) Modulação é todo e qualquer processo de variação de algum elemento de um sinal (amplitude, frequência, intensidade, comprimento, entre outros) deformando o mesmo. Isso é feito, entre outras finalidades, para facilitar a transmissão do mesmo. MODO MODULAÇÃO POR LARGURA DE PULSO (PWM) Um tipo de modulação chamado PWM, derivado de Pulse Width Modulation ou Modulação por Largura de Pulso. Utilizado em aplicações industriais em controle de motores e fontes chaveadas. Ela tem como uma grande característica variar a razão cíclica da onda. A razão cíclica seria justamente a largura da onda quadrada, fazendo com que uma onda tenha uma diminuição de um nível lógico em detrimento do outro. MODO MODULAÇÃO POR LARGURA DE PULSO (PWM) Esta razão cíclica ou ciclo de trabalho é o mesmo que duty cycle, que é utilizado para descrever a fração de tempo em que um sistema está em um estado "ativo" ou em trabalho. É possível variar a largura do ciclo de trabalho de 0% a 100%. MODO MODULAÇÃO POR LARGURA DE PULSO (PWM) Portanto, existem dois ciclos em cada pulso, o ciclo ativo e o ciclo inativo. Cada ciclo com um nível lógico diferente. MODO MODULAÇÃO POR LARGURA DE PULSO (PWM) • O ciclo ativo é o responsável por efetivar o sinal: PWM ativo em 1 PWM ativo em 0 • Para exemplificar, pense em um led que acende com nível lógico 0. Então, esse led deverá ser conectado em um sinal PWM com ciclo ativo em 0, ou seja, ele terá sua luminosidade proporcionalmente à porcentagem do ciclo ativo em zero. PWM Modo Normal ou Alinhamento pela Borda O alinhamento pela borda é feito quando a referência para a porcentagem de ciclo ativo é a borda da onda. Considerando que o PWM é ativo em 0, vejamos o funcionamento do PWM Modo Alinhamento pela borda: PWM Modo Normal ou Alinhamento pela Borda A saida é colocada inicialmente em ciclo inativo, o TPMCNT inicia a contagem. Quando essa contagem chega ao valor do módulo TPMMOD, a saída vai para o ciclo ativo. Neste momento a contagem do TPMCNT retorna a zero. PWM Modo Normal ou Alinhamento pela Borda A saída permanece nesse estado até que a contagem do TPMCNT atinja o valor de comparação TPMCxV, mudando a saída do ciclo ativo para inativo, retornando ao nível original e reiniciando o processo. PWM Modo Normal ou Alinhamento pela Borda A frequência das interrupções TOF pode ser calculada da seguinte fórmula: fTOF = fFONTE _______ Prescaler * (TPMMOD + 1) Período do sinal PWM = TPMCNT * TPMMOD + 1 Período do ciclo ativo PWM = TPMCNT * TPMCxV PWM Modo Normal ou Alinhamento pela Borda • Para obtermos 100% de ciclo ativo => TPMCxV = TPMMOD + 1 • Para obtermos 0% de ciclo ativo TPMcxV = 0 => • Para obtermos outras percentagens, basta usar regra de três simples! Temporizador de 16 bits Timer /Pulse-width Modulator (TPM) Temporizador de 16 bits Timer /Pulse-width Modulator (TPM) Configurar os seguintes registradores: • Registrador TPMSC- TPM Status and Control • Registrador TPMC0SC e TPMC1SC – TPM Channel 0 (or 1) Status and Control • Registrador TPMMODH e TPMMODL – TPMMod High and Low • Registrador TPMC0VH (TPMC1VH) e TPMC0VL (TPMC1VL) – TPM Channel 0 (or 1) Value High and Low