Estouro de contador>

D

deepu_s_s

Guest
Olá,

O que é Counter transbordando.E como podemos fazer uma contra a transbordar, implícita ou explicitamente ..

 
contador é semelhante ao do temporizador
o estouro do temporizador quando atinge seu limite máximo seja de 8 bits 0xFF e 0xFFFF 16 bits
A única diferença entre os dois é o relógio
o contador tem o seu relógio do controlador
eo contador tem o seu relógio de fora (pino do contador)
assim que você pode fazer tudo com o contador que você é capaz de fazer com temporizador (exceto PWM)

 
Oi,
Obrigado pela resposta do homem.Por isso, vamos supor que a freqüência de clock para o contador é de 60 Mhz e se queremos que o contador para obter estouro para cada 125ms, então o que deve ser a largura do balcão?

 
Simples

sua freqüência é 60MHz ou seja, tempo de ciclo 1 é 1/60MHz = 0,0167 nós, ou 16,7 ns

e seu tempo desejado é de 125 t de MS
em seguida, com um temporizador de 16 bits você pode obter um prazo máximo de 1,094 ms
para gerar uma interrupção de 1 ms por carregar um valor de 59.885 ou seja 0xE9ED

e no incremento da rotina de interrupção uma variável e compará-lo com 125
Assim, quando se compara com os 125 você terá um atraso de aproximadamente 125ms

e se você precisar de atraso exacto de 125 ms, então você tem que considerar os ciclos utilizados no ISR de timer ...

 
E se nós temos que repor o contador depois de 1seg.
(na verdade, queria contrariar nenhum. de pulsos em 1sec)

 
koolslash escreveu:

E se nós temos que repor o contador depois de 1seg.

(na verdade, queria contrariar nenhum. de pulsos em 1sec)
 
Eu quero contar o número de pulsos em 1sec.
e, em seguida, redefinir o contador.

 
oi sau_sol,

1) O que transborde?quando o contador chegar a isto limite temporal máximo de 8 bits 0xFF para 16bit 0xFFFF
2) o que vai acontecer beyand isso.
3) whats as desvantagens e vantagens de estouro de contador?

 
koolslash escreveu:

Eu quero contar o número de pulsos em 1sec.

e, em seguida, redefinir o contador.
 
Oi Sau_sol,

Como u disse para a contagem de 125 ms, a largura do contador é 16 bits.

Assim, para contador 16 bits, o valor máximo é 65536 e nesse ponto o atraso gerado é de 1,094 ms

Então, para 125 ms geração de atraso, o contador deve preencher quase 125 vezes a rotação.

Portanto, não podemos ter um contador de 23 bits em vez de 16 couner bits?Wat será happend se levarmos 23 bits em vez de 16 bits?

Eu acho que a única razão pela qual seria o problema de hardware.Mais de hardware serão necessários.Está certo?

Por favor, corrija se eu errei em algum lugarAdicionado após 4 minutos:E como podemos redefinir o sinalizador de estouro de contador?Será que vão repor posição como gosto de contadores normal?

 
o maior número de bits é necessário o mais complexo será o projeto de hardware
Agora, um dia alguns dos processadores ARM vem com um temporizador de 32 bits

aumentando assim os bits vai aumentar a complexidade
eo temporizador é simplesmente um circuito somador que acrescenta no clock ea bandeira overflow é o carry gerado fora do MSB
para limpá-lo para escrever um 0 para eleuma outra solução para esse problema é usar um prescalar para o relógio
circuito divisor ou seja, relógio
Então, ao invés de 60MHz você pode fornecer um clock menor freqüência para o timer
então você pode gerar 125ms de 16 bits apenas

 

Welcome to EDABoard.com

Sponsor

Back
Top