Aula 07 - Periféricos-3-17 PDF
Document Details
Uploaded by SelfDeterminationOmaha
ITA
Prof. Dr. Harlei M. A. Leite
Tags
Summary
These notes cover timers and counters in digital circuits, focusing on their use in microcontrollers. They explain how timers and counters work in general, including how they measure time, and detail various implementation strategies.
Full Transcript
Temporizador / Contador Visão geral Em circuitos digitais, vocês conectaram vários flip-flops (FFs) para criar um contador. Por exemplo, conectando 3 FFs criamos um contador de 3 bits capaz de contar até 7 (000 - 111). Atualmente, todos os microcontroladores vêm com Tim...
Temporizador / Contador Visão geral Em circuitos digitais, vocês conectaram vários flip-flops (FFs) para criar um contador. Por exemplo, conectando 3 FFs criamos um contador de 3 bits capaz de contar até 7 (000 - 111). Atualmente, todos os microcontroladores vêm com Timer/Counter em seu chip. ○ Se o clock para o Timer vier de uma fonte interna, ele é chamado de temporizador. ○ Se o clock para o Timer vier de uma fonte externa, ele é chamado de contador. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Temporizador Visão geral Circuito capaz de medir intervalos de tempo. Pode gerar eventos temporais - por exemplo, para manter o sinal verde em um semáforo por 10 s. Pode medir o tempo decorrido entre a ocorrência de eventos - por exemplo, para computar a velocidade de um carro Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Temporizador Visão geral Para que complicar se temos o delay()? ○ Precisão ajustável: possibilita a contagem de milissegundos, microssegundos e até mesmo ciclos de clock. ○ Multitarefa: enquanto o delay pausa a execução do programa, os temporizadores continuam operando em segundo plano, permitindo que outras tarefas sejam realizadas enquanto o temporizador está contando ou aguardando um determinado intervalo de tempo. ○ Interrupções: os temporizadores frequentemente têm a capacidade de gerar interrupções após um período definido, o que significa que o processador pode continuar sua operação normal até ser alertado pela interrupção do temporizador. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Temporizador Como medir o tempo? Contando os pulsos que aparecem em um sinal de clock de entrada que possui um período/frequência conhecido. Exemplo: Se a frequência de clock é igual a 1 MHz (período 1µs) e são contabilizados 2000 pulsos, o tempo decorrido é 2 milissegundos (ms). Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Temporizador Como medir o tempo? Considerando frequência de clock igual a 1 MHz (período 1µs). ○ Faixa: máximo intervalo de tempo que um temporizador de 16 bits consegue medir. 65535. 1 x 10-6 = 65,535 ms ○ Resolução: mínimo intervalo de tempo que o temporizador consegue medir (período do clock). 1 µs ○ O sinal top indica que a contagem máxima foi alcançada. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Contador Visão geral Mesma estrutura interna de um temporizador, porém conta pulsos gerados por outro sinal de entrada no lugar do clock. ○ Por exemplo, a contagem de carros que passam por um sensor. ○ Com um seletor, controlado pelo modo de operação, é possível configurar um dispositivo como temporizador ou contador. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Contador Estruturas alternativas Diminuindo a faixa do contador ○ O valor final da contagem é determinado de acordo com o intervalo de tempo a ser analisado. Essa estratégia permite diminuir a faixa do contador. ○ Exemplo: dado o contador mostrado ao lado e um sinal de clock com frequência de 1 MHz, qual o valor a ser armazenado como valor final de contagem para que seja medido um tempo de 4 ms? 4.10-3 / 1.10-6 = 4000 Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Contador Estruturas alternativas Aumentando a faixa do contador ○ Contador em série (cascata) estende o valor máximo da contagem (amplia a faixa). ○ Exemplo: Pode-se combinar dois contadores de 16 bits para formar um contador de 32 bits. 65536 * 65536 = 4.294.967.296 Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Contador Estruturas alternativas Contador com divisor de frequência ○ Dependendo dos bits em mode, o sinal de saída do prescaler será semelhante ao relógio de entrada, mas com metade da frequência, ou um quarto da frequência, etc. ○ Por exemplo: Clock de 100 MHz. Divisão de frequência por um fator de 8. Clock efetivo terá frequência de 12,5 MHz. Resolução 1/12,5 MHz = 80 ns Faixa: 80 ns x 65535 = 5,24 ms Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Temporizador Implementação É possível utilizar um processador genérico para implementar um temporizador. ○ Sabendo o número de ciclos que cada instrução consome, basta escrever um laço (loop) que executa uma determinada sequência de instruções. ○ Quando o loop se encerra, sabe-se que um determinado período de tempo (ciclos) se passou. Entretanto, tal estratégia pode consumir parcela significativa do tempo de processamento, diminuindo o tempo disponível para outras computações. Nesse sentido, é vantajoso usar um temporizador para executar a tarefa. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Temporizador watchdog Visão geral O watchdog timer é um contador que é regularmente reiniciado pelo software em operação normal do sistema. Se o software não "alimentar" o temporizador (ou seja, não reiniciá-lo) dentro de um intervalo de tempo especificado, o temporizador aciona uma ação corretiva. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Temporizador watchdog Funcionamento: Se o sistema trava, falha ou entra em um estado inesperado que impeça a renovação do temporizador, o watchdog entra em ação. Ele detecta a falha (por não ser reiniciado) e realiza uma ação predeterminada para remediar a situação, como um reinício do sistema. O tempo de expiração do watchdog é determinado pelo projeto do sistema e pode variar de alguns milissegundos a vários segundos, dependendo dos requisitos e da aplicação. O watchdog timer é amplamente empregado em sistemas críticos, como em equipamentos médicos, sistemas automotivos, dispositivos de rede e muitos outros, onde a segurança e a confiabilidade são fundamentais. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados KL25Z timer modules Visão geral Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Modulação por largura de pulso (PWM) Visão geral Modular: inserir informações em um sinal mediante a modificação de suas características. Exemplos: AM e FM. PWM ajusta o tempo que um sinal periódico com dois níveis (digital), alto e baixo, permanece em nível alto de acordo com a informação a ser inserida. Tempo de nível alto: largura do pulso. Duty cycle: razão entre a largura do pulso (tempo em nível alto) e período da onda. Proporção do tempo em que um sinal está em nível alto. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Modulação por largura de pulso (PWM) Implementação digital Um relógio é usado como base para estabelecer o período e a largura de pulso. Exemplo: período correspondente a 8 pulsos e tempo de nível alto a 6 pulsos de relógio. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados