Zilog - Usando o Timer e PWM do Z8 encore XP! - Parte 1
Vamos mostrar como usar o timer e PWM da linha Z8 Encore corretamente.
Olá, meus preciosos leitores, quanto tempo não escrevo aqui e já estava com saudades de vocês.
Para quem não sabe ando criando uma plataforma de desenvolvimento chamada ZILOGUITO e ainda é conceito (2015) e espero poder ter a ajuda de todos para que divulguem e usem a plataforma a fim de difundir meu trabalho e ajudar a mais pessoas a terem alternativas.
Uma das coisas mais interessantes de se usar a linha Z8 encore e Z8 encore XP! é o fato de a gente poder gravar o micro com qualquer porta serial, seja física ou seja emulada com aqueles cabos conversores de USB-Serial e até mesmo gravar e desenvolver no linux
usando o WINE para rodar o ZDSII da Zilog. Então vamos lá.
usando o WINE para rodar o ZDSII da Zilog. Então vamos lá.
Características do TIMER do Z8 encore:
- 4 timers de 16 bits auto recarregáveis, ou seja, funcionam em ciclo.
- Podem gerar eventos de timers.
- Podem gerar pulsos de PWM e de contagem.
- Prescaler programável de 1 a 128.
- Aceitam função captura e comparação.
- Pino de entrada de sinal para timer e sinal de capitura.
- Interrupção por evento do timer.
- A figura a seguir mostra como é a arquitetura interna do TIMER do Z8 encore!
Operação do TIMER dos microcontroladores Z8 Encore!
Como dito antes, os timers dos microcontroladores Z8 Encore! são de 16 bits. A tabela a seguir apresenta os valores de recarga, prescaler e duração que podem ser ajustados de acordo com os mínimos e máximos da contagem do Timer
Tipo de estouro do timer | Recarga do timer | Valor do prescaler | Duração |
Baixo valor | 0001H | 1 | 1 período de clock |
Alto valor | 0000H | 128 | 1 fclock*128*65536 |
NOTA : quando o timer alcança o valor FFFFH, ele vai a 0000H e continua a contar.
O timer do Z8 Encore! pode ser configurado para funcionar em diferentes modos. A equação usada para calcular os parâmetros requeridos dos diferentes modos esta descrita a seguir. Para saber mais, a documentação de especificação do produto da linha Z8 encore (PS0176, PS0197, PS0199) pode ser encontrada no site da Zilog em www.zilog.com.
- Modo contínuo.
No modo contínuo, o período de estouro do timer é determinado pela seguinte equação:
Período de estouro do modo contínuo = (valor de recarga x prescale)/freq. do
sistema(em Hz).
Nesse modo o contador resseta para 0001H depois de chegar ao valor de recarga e, então,
continua contando.
Uma representação típica da saída de sinal e da interrupção gerada durante o modo contínuo e funcionamento é ilustrado na figura a seguir :
O modo contínuo pode gerar uma forma de onda quadrada que pode ser aplicada em qualquer aplicação de tempo real. Entretanto não está limitada a somente aplicações desse tipo.
- Modo one-shot.
No modo one-shot, o estouro e determinado pela seguinte equação :
Período do estouro no modo one-shot = ((valor de recarga - valor de início) x
prescale)/freq. do sistema (em Hz).
Nesse modo o contador de recarga resseta para 0001H depois de alcançar o valor de recarga e o timer é desabilitado automaticamente.O modo one-shot pode gerar um pulso de gatilho atrasado
- Modo contador.
No modo contador o número de transições na entrada do timer que ocorre no início do timer é definido na seguinte equação:
Transições na entrada no modo contador = (Valor atual do contador - valor de início ).
Neste modo, o contador conta um evento externo até o valor de recarga, então resseta para 0001H e depois continua contando. Uma representação típica da saída gerada durante o modo de funcionamento do contador é ilustrado a seguir :
No modo contador é contado pulsos ou eventos externos. A entrada de sinal para o timer vem desses pulsos externos.
- Modo PWM.
O período PWM é definido pela seguinte equação : Período PWM (em s) = (valor de recarga x valor do prescale)/freq. sistema em Hz.
Se TPOL ( um bit de controle que seleciona a polaridade da porta I/O do registro de controle do timer ) é setado em zero, o ciclo da saída de tempo alto PWM para o período total é calculado como se segue :
Ciclo PWM (em %) = valor de recarga - valor PWM x 100/valor de recarga
Nota: O valor PWM tem de ser menor que o valor de recarga.
Se TPOL é setado em 1, o ciclo ativo PWM é calculado da seguinte forma :
Ciclo PWM (em %) = valor PWM x 100 / valor de recarga .
A figura a seguir ilustra bem esse fato :
O modo PWM é largamente usado em aplicações de sistema de controle. Por exemplo, em sistema de controle de servomotores, mudando o ciclo ativo do PWM, podemos mudar a
velocidade do motor.
- Modo captura.
No modo de captura, o tempo decorrido do timer que inicia os eventos de captura pode ser calculado pela seguinte equação:
Tempo decorrido de captura(s) = ((valor de captura - valor inicial) x prescale)/freq. sistema (Hz)
O modo de captura pode ser usado para calcular o intervalo de tempo entre dois eventos sucessivos, o que pode ser usado para desenvolver um medidor de intervalo de tempo.
- Modo comparador.
No modo comparador, a entrada é constantemente comparada com um evento específico dinâmico de modo a que gera uma interrupção sempre que um valor é alcançado. Então o timer zera a contagem depois de auto re-setar. O modo comparador pode ser definido pela seguinte equação:
Tempo do modo de comparador =((valor do comparador - valor inicial) x prescale)/freq. sistema(Hz)
A figura a seguir mostra a saída e a interrupção gerada no modo comparador :
- Modo Gated.
No modo gatilho, o timer só conta se um sinal na entrada estiver em modo ativo ou nível alto.Quando o timer alcança o valor de recarga, ele re-seta para 0001H e então zera a contagem. E se a função alternativa de saída do timer estiver ativa, o pino de saída do timer muda de estado (alto ou baixo) no re-set do timer.
A entrada de sinal para o timer nesse modo é o sinal de pulso onda quadrada. Este modo pode ser usado para medir o desliga/liga do timer que em retorno, pode medir a frequência do pulso de entrada.
- Modo captura/compara.
No modo captura/compara, o início do tempo decorrido do timer para os eventos de captura do timer, pode ser calculado pela seguinte equação:
Tempo no modo captura/compara = ((valor de captura - valor inicial) x prescaler)/ freq. do sistema(Hz).
Bem! Com essas informações já dá para saber quais opções de uso do timer da linha Z8 encore e Z8 encore XP! podem satisfazer seus projetos. No próximo post, falaremos dos registradores usados nessas configurações de modo a ficar bem claro como acionar cada opção, até lá !
Nenhum comentário:
Postar um comentário