SENAI - CURSO SUPERIOR DE TECNOLOGIA EM MECATRÔNICA INDUSTRIAL Disciplina: Microcontroladores Data: 09/06/2015 Professor: Henrique Foresti Alunos: Carlos Antônio Costa de Oliveira Francisco Roberto N. Lima Special Modes Power saving - Sleep Introdução De modo a economizar energia os processadores podem ser comandados para entrarem em um modo de baixo consumo de energia quando estão ociosos. Cada processador tem vários modos de economia de energia. Os modos de baixo consumo de energia foram introduzidos nos processadores, com o tempo, no entanto, mais modos de economia de energia foram criados e melhoramentos foram feitos em cada modo existente para permitir que o processador consumisse ainda menos energia quando estivesse em um desses modos. A ideia básica por trás desses modos é cortar o sinal de clock e a alimentação de certas partes ociosas dentro do processador. Quanto mais partes ociosas você parar (cortando o sinal de clock), reduzir a tensão de alimentação ou até mesmo completamente desligar, mais energia você economizará. Em contrapartida, mais tempo será necessário para o processador “acordar” e voltar a ficar 100% operacional. Os modos de economia de energia (Power Saving Modes) em sistemas embarcados são geralmente utilizados em aplicações móveis, em que o sistema é alimentado por uma fonte de energia finita, como baterias ou pilhas. O desafio para os próximos anos será melhorar a eficiência energética das tecnologias on-line. Essa melhoria já foi conseguida com a tecnologia de standby de equipamentos eletrônicos desconectados da internet. Depois de quase 30 anos de pesquisas e investimentos, a indústria de conseguiu reduzir bastante o consumo desses aparelhos quando estão no modo de espera. Aparelhos Consumo mín Consumo médio Consumo máx Equip. áudio 2 4 15 DVD 2 4 12 Rádio/relógio 1 2 3 Portão eletrônico 2 3 4 Sist. de segurança 4 14 22 Microondas 1 3 6 Computador 1 2 4 Impressora 4 5 6 Caixa TV a cabo 5 12 25 Decod. TV satélite 8 12 18 Vídeo game 1 2 3 Secretária eletrôn. 2 3 5 Telefone s/ fio 2 3 5 Televisão 1 5 22 Vídeo cassete 1 3 4 Exemplos de Aparelhos que utilizam economia de energia Modo Sleep (suspensão) é um modo de baixa energia para dispositivos eletrônicos, como computadores, televisões, aparelhos de controle remoto, celulares, sistemas de segurança. Estes modos economizam significativamente no consumo de energia elétrica em comparação com o aparelho ou dispositivo totalmente ligado. O Modo de suspensão passou por vários nomes, incluindo Stand By (Microsoft e Mac) Suspender ( Windows ) e suspensão para a RAM ( Linux ). O estado da máquina é mantido em RAM e, quando colocado em modo de suspensão, o computador corta a energia para subsistemas desnecessários e coloca a RAM em um estado de energia mínima, apenas suficiente para reter seus dados. Devido à grande economia de energia, a maioria dos laptops entra automaticamente neste modo quando o computador estiver funcionando com baterias e a tampa é fechada. Um computador deve consumir alguma energia durante o sono, a fim de alimentar a RAM e ser capaz de responder a um evento de despertar. Hibernação Hibernação, também chamado de suspensão para o disco no Linux, guarda todos os dados operacionais de computador no disco rígido antes de desligar o computador completamente. Ao ligar novamente o computador, o computador é restaurado ao seu estado anterior à hibernação, com todos os programas e arquivos abertos, e os dados não salvos intactos. Em modo de espera, estado do computador são salvos na memória RAM; no modo de hibernação, o estado do computador está guardado no disco rígido. A suspensão híbrida Modo de suspensão e hibernação podem ser combinados: o conteúdo da RAM primeiro são copiados para armazenamento não-volátil como para a hibernação regular, mas, em seguida, em vez de desligar, o computador entra em modo de suspensão. Esta abordagem combina os benefícios do modo de suspensão e hibernação. ACPI ACPI é o padrão atual para gerenciamento de energia em computadores modernos. No caso dos controladores de sinais digitais do PIC, existem dois modos: O SLEEP MODE e o IDLE MODE Modo SLEEP (Power Down – Modo de Repouso – Dormir – Economia de Energia) No modo Sleep, o processador, os osciladores e qualquer periférico que opere com esses osciladores são desabilitados, causando desta forma o modo com menor consumo de energia desses componentes. O FSCM (Fail-Safe clock Monitor- Monitoramento Seguro de Falha do Clock) não opera nesse modo, enquanto o LVD (Low Voltage Detect - Detector de Baixa Voltagem) e WDT (Watchdog timer), se ativos, continuarão operando quando o componente entrar no modo Sleep. O LPRC (Low Power RC Oscilator) também continuará a ser executado se o WDT (Watchdog Timer) estiver ativo. Modo IDLE O modo Idle consiste em desabilitar a execução das instruções pelo processador, desligando o sistema oscilador e limpar o Watchdog Timer. Os periféricos continuam operando normalmente com o oscilador, apenas o processador não receberá mais esse sinal. Se o WDT ou o Fail-Safe Clock Monitor (FSCM) estiverem ativos, o Low Power RC Oscilador (LPRC) continuará ativo. Ocorre um evento de wake-up (acordar) do processador em um modo IDLE, quando há qualquer interrupção, alguma forma de reset ou um time-out do WDT. Para que não ocorra um wake-up indesejado, é preciso desabilitar todas as interrupções, definindo prioridade zero para elas. Para utilizar uma interrupção como wake-up (evento acordar do processador), ela deve ter prioridade um ou maior. O modo Power-down, mais conhecido por modo SLEEP, faz com que o chip entre em estado praticamente inerte, onde o chip em si passa a consumir aproximadamente 60uA (contra 7mA em operação normal). Esta característica aliada aos pull-ups do PORTB (são ligações físicas entre o microcontroladores e o mundo exterior – possui 8 pinos) e a interrupção nas mudanças de estado permitem que o sistema opere usando a bateria com longa duração, como os controles remotos em geral. Para entrar no modo Power-down, o sistema executa a instrução SLEEP. Neste modo, se o WATCH DOG estiver habilitado, o mesmo será zerado e continuará rodando, o bit PD\ (Power down) que sinaliza o modo será zerado e o bit TO\(timer-out) será setado, o oscilador interno é desligado, não gerando mais fases Q1 a Q4 do clock e parando tanto a CPU (unidade central de processamento) quanto o TIMER 0. O estado dos pinos I/O permanecem inalterados. Saindo do modo power-down (SLEEP) Existem três maneiras de sair do modo SLEEP: - Reset externo pelo pino MCLR\(entrada de reset - nível 0). - Time-out do WATCH DOG, caso esteja habilitado. - Interrupção externa RB0/INT, ou seja, interrupção por mudanças no PORTB e interrupção de fim de escrita na EEPROM. O TIMER 0 não finaliza o modo SLEEP porque não funciona sem o clock. Se sair pelo reset no pino MCLR\ a CPU iniciará. As interrupções citadas, para tirarem a CPU do SLEEP precisam estar com os bits de requisição individuais habilitados. Alguma Dúvida? Obrigado a todos!