Página 1 de 1

PRESCALER E POSTSCALER

MensagemEnviado: 22 Nov 2017 14:08
por Pask
Amigos, qual seria a diferença entre prescaler e postscaler, ou seja, qual o significado desses comandos e como interpretá-los?

Re: PRESCALER E POSTSCALER

MensagemEnviado: 22 Nov 2017 15:23
por eletroinf
Tem uma explicação sucinta e direta no fórum gringo abaixo, até com um exemplo de uC:

http://www.microchip.com/forums/m194870.aspx

Re: PRESCALER E POSTSCALER

MensagemEnviado: 22 Nov 2017 15:36
por Pask
Na verdade, é assim:

PRESCALER => Determina quantos ciclos de máquina serão necessários para realizar um incremento no timer.
Exemplo:

Se o prescaler for 1:1, a cada ciclo de máquina, o timer sofrerá um incremento; se o prescaler for 1:8, a cada 8 ciclos de máquina o timer sofrerá um incremento e assim por diante. É uma espécie de atraso programável para os incrementos do timer pelos ciclos de máquina do MCU.

POSTSCALER: Determina quantas vezes o timer terá que estourar ou ir do seu valor máximo de contagem para zero novamente até gerar uma interrupção de timer.
Exemplo:

Se o postscaler for 1:1 a cada estouro do contador do timer uma interrupção será gerada; se o postscaler for 1:16, a cada 16 estouros do contador do timer uma interrupção será gerada e assim por diante. Também é um atraso programável para determinar quantos estouros serão necessários no contador do timer até que a sua interrupção seja gerada.

Na verdade, os conceitos e prescaler e postscaler se confundem um pouco. Por exemplo, o Watchdog Timer tem prescaler ou postscaler? Na verdade, eu prefiro chamar de postscaler, pois, ele também determina quantas vezes o WDT irá estourar a sua contagem de tempo até gerar o reset no MCU.

Acho que isto!

Re: PRESCALER E POSTSCALER

MensagemEnviado: 22 Nov 2017 23:00
por milordy
Pask escreveu:Na verdade, é assim:

PRESCALER => Determina quantos ciclos de máquina serão necessários para realizar um incremento no timer.
Se o prescaler for 1:1, a cada ciclo de máquina, o timer sofrerá um incremento; se o prescaler for 1:8, a cada 8 ciclos de máquina o timer sofrerá um incremento e assim por diante. É uma espécie de atraso programável para os incrementos do timer pelos ciclos de máquina do MCU.

POSTSCALER: Determina quantas vezes o timer terá que estourar ou ir do seu valor máximo de contagem para zero novamente até gerar uma interrupção de timer.
Exemplo:

Se o postscaler for 1:1 a cada estouro do contador do timer uma interrupção será gerada; se o postscaler for 1:16, a cada 16 estouros do contador do timer uma interrupção será gerada e assim por diante. Também é um atraso programável para determinar quantos estouros serão necessários no contador do timer até que a sua interrupção seja gerada.

Na verdade, os conceitos e prescaler e postscaler se confundem um pouco. Por exemplo, o Watchdog Timer tem prescaler ou postscaler? Na verdade, eu prefiro chamar de postscaler, pois, ele também determina quantas vezes o WDT irá estourar a sua contagem de tempo até gerar o reset no MCU.

Acho que isto!

O mais apropriado seria: PRESCALER => Determina quantos ciclos de uma fonte de clock serão necessários para realizar um incremento no timer.
Um exemplo interessante para entender utilidade ter prescaler e poscaler,seria pwm e interrupção por tempo.O pwm apenas utilizar prescaler do timer e você pode gerar interrupção por tempo diferente do tempo pwm(porém sempre maior).Se prescaler e postscaler fosse unificado,provavelmente precisaria utilizar dois timer.