Compartilhar via


Design de hardware do subsistema de bateria e energia

Começando com Windows 8, os designers de hardware do sistema podem escolher entre duas topologias de hardware diferentes para os subsistemas de bateria e energia em suas plataformas Windows.

Topologias de hardware

Em geral, o Windows espera uma das duas topologias de hardware para o subsistema de energia e carregamento.

A primeira topologia é mostrada no diagrama de bloco a seguir. Essa topologia, que é comum em computadores que executam o Windows 7, usa um controlador inserido na plataforma. O controlador inserido normalmente executa várias funções em um computador Windows móvel, incluindo controle de fonte de energia, gerenciamento de carga de bateria, detecção de botão de energia/comutador e entrada de teclado e mouse compatíveis com PS/2. O controlador inserido normalmente está conectado ao silício principal por meio do barramento LPC (Contagem de Pinos Baixos). O Windows consulta e é notificado sobre as informações do subsistema de energia por meio da interface do controlador inserido do ACPI.

Topologia comum no Windows 7

A segunda topologia é mostrada no diagrama de bloco a seguir. Essa topologia usa um controlador de carga de bateria e um componente de medidor de combustível, que são conectados diretamente ao silício principal da plataforma em um barramento periférico simples, como I²C. Nessa configuração, o Windows consulta e é notificado sobre alterações de subsistema de energia por meio de comunicações no barramento I²C. Uma região de operação SPB (Barramento Periférico Simples) permite que o código do método de controle ACPI no firmware se comunique com o controlador de carga da bateria e os componentes do medidor de combustível conectados ao silício principal em um barramento I²C.

controlador de carga de bateria e mordaça de combustível

Operação ACPI com um controlador inserido

As plataformas que têm seu subsistema de bateria e energia conectados ao controlador integrado de plataforma típico usam a região de operação do controlador incorporado ACPI para facilitar as comunicações entre o ambiente do método de controle ACPI e o hardware da plataforma.

O firmware ACPI deve definir o controlador inserido no namespace acpi. Essa definição inclui o seguinte:

  • Um nó Device() para o controlador inserido.
  • Um objeto _HID que indica que o dispositivo é um controlador inserido.
  • Um objeto _CRS para denotar os recursos de E/S para o controlador inserido.
  • Um objeto _GPE que define o SCI para o controlador inserido.
  • Uma região de operação que descreve as informações contidas no controlador inserido que podem ser acessadas por outro código de método de controle ACPI no namespace, incluindo status de bateria e métodos de informações.

Para obter mais informações, consulte a seção 12.11, "Definindo um dispositivo de controlador inserido no namespace acpi", na especificação ACPI 5.0.

Acessando informações de bateria do controlador inserido

Os métodos de controle ACPI acessam informações do controlador inserido lendo os valores descritos na região de operação do controlador inserido.

Notificando o Windows quando o estado da bateria é alterado (controlador inserido)

Quando o controlador inserido detecta uma alteração no estado da bateria, incluindo uma alteração no estado de carregamento ou na capacidade restante, conforme especificado por _BTP, o controlador inserido gera um SCI e define o SCI_EVT bit no registro de comando de status do controlador inserido (EC_SC). O driver ACPI do Windows, Acpi.sys, se comunica com o controlador inserido e emite um comando de consulta (QR_EC) para solicitar informações específicas sobre a notificação a ser emitida. O controlador inserido define um valor de byte correspondente ao método _QXX a ser executado. Por exemplo, o controlador inserido e o firmware ACPI podem definir o valor 0x33 ser uma atualização para as informações de status da bateria. Quando o controlador inserido define o valor 0x33 como a notificação, Acpi.sys executará o método _QXX. O método _QXX normalmente emite um comando Notify(0x80) no dispositivo Control Method Battery no namespace.

Consumo de energia

Cuidados especiais devem ser tomados em sistemas de espera modernos para garantir que as metas mínimas de vida útil da bateria para o modo de espera moderno sejam alcançadas. Em sistemas de espera modernos, a energia nominal consumida pelo controlador inserido para energia e subsistema de bateria deve estar abaixo de 5 miliwatts. Em computadores que usam os estados de energia S3/S4 tradicionais, verifique se o controlador inserido não afeta as metas de vida útil da bateria. Não há requisitos de energia nominais específicos para sistemas que usam S3/S4.

Operação acpi com um subsistema de carregamento conectado a SPB

As plataformas também podem conectar a bateria e o subsistema de energia conectados ao chipset principal usando um SPB (barramento periférico simples) de baixa potência, como I²C. Nesses designs, a região de operação GenericSerialBus do ACPI é usada para se comunicar entre métodos de controle ACPI e hardware de subsistema de bateria. Conectar o hardware do subsistema de bateria a uma interrupção de GPIO permite que os métodos de controle ACPI sejam executados quando a bateria status for alterada.

Quando o hardware do subsistema de energia e bateria é conectado usando I²C, o firmware ACPI deve definir o seguinte:

  • Um nó Device() para o dispositivo controlador GPIO ao qual a interrupção I²C está conectada, incluindo:
    • _HID objeto que descreve a ID de hardware do controlador GPIO.
    • Objeto _CSR que descreve os recursos de interrupção e hardware do controlador GPIO.
    • _AEI objeto que mapeia uma ou mais linhas GPIO para a execução do método de evento ACPI. Isso permite que os métodos ACPI sejam executados em resposta a interrupções de linha gpio.
  • Um nó Device() para o controlador I²C ao qual o medidor de combustível da bateria e o hardware de carregamento estão conectados, incluindo:
    • _HID e objetos _CSR que descrevem a ID de hardware e os recursos do controlador I²C.
    • Uma região de operação GenericSerialBus dentro do escopo do dispositivo I²C que descreve os registros de comando virtual para o dispositivo I²C.
    • Definições de campo na região de operação GenericSerialBus. As definições de campo permitem que o código ASL fora do dispositivo I²C acesse os registros de comando virtual para o dispositivo I²C.

Descrever o controlador GPIO e o mapeamento de linhas GPIO para eventos ACPI permite que métodos de controle para status de bateria e notificação sejam executados quando uma interrupção GPIO de um dispositivo I²C é gerada. Descrever a região de operação GenericSerialBus permite que o código ACPI para status de bateria se comunique pelo barramento I²C e leia registros e informações do medidor de combustível da bateria e do subsistema de carregamento.

Acessando informações de bateria do subsistema de carregamento

Os status de bateria podem ser executados pelos métodos de controle ACPI enviando e recebendo comandos pelo barramento I²C ao qual o hardware do subsistema de bateria está conectado. O código do método de controle que dá suporte aos métodos de informações estáticas de status e bateria lê e grava dados de regiões de operação GenericSerialBus descritas no namespace ACPI. O código do método de controle pode ler dados do dispositivo de medidor de combustível ou informações estáticas sobre a capacidade da bateria e a contagem de ciclos no barramento I²C por meio da região de operação GenericSerialBus.

Notificando o Windows quando o estado da bateria é alterado (hardware do subsistema)

O hardware do subsistema de bateria pode gerar uma interrupção quando o estado é alterado ou de uma linha GPIO no silício principal. A linha GPIO pode ser mapeada para uma execução específica do método de controle usando o objeto _AEI no controlador GPIO descrito em ACPI. Quando a interrupção do GPIO ocorre, o subsistema ACPI do Windows executa o método associado à linha GPIO específica, que por sua vez pode emitir um comando Notify() no dispositivo Control Method Battery. Isso faz com que o Windows reavaliar status e métodos de informações estáticas para atualizar status de bateria.

Indicadores de energia e carregamento

O Windows fornece indicação de fonte de energia e status de bateria no sistema operacional. Isso é apresentado ao usuário em vários locais, incluindo o ícone de bandeja de bateria na área de trabalho, no menu Iniciar e diretamente na tela Bloquear.

Windows 8 plataformas também podem apresentar um indicador visível para o usuário de status de carregamento. Os números a seguir mostram dois exemplos de interface do usuário. O indicador usado deve ter pouco impacto sobre o consumo de energia e a experiência do usuário.

Elementos de interface do usuário de carregamento e energia do Windows

O Windows fornece uma indicação de fonte de energia e status de carregamento em três locais de chave:

  • Na tela de bloqueio. Um ícone de bateria com fonte de alimentação e status de carga é exibido.
  • No indicador de data e hora ao passar o mouse sobre o botão Iniciar. Um ícone de bateria com fonte de alimentação e status de carga é exibido.
  • Ícone de bateria na área de trabalho. Um ícone de bateria com fonte de alimentação e status de carga é exibido. Mais informações estão disponíveis quando você clica no ícone de bateria; isso inclui a capacidade restante, o tempo estimado restante e os detalhes por bateria se o sistema tiver várias baterias

. Para plataformas modernas compatíveis com espera, se o sistema estiver em S0 e a tampa (se presente) não estiver fechada, o Windows acenderá brevemente a tela quando o sistema estiver conectado ao carregador e a energia for aplicada. Isso permite que os usuários vejam a plataforma responder à ação de conectar o carregador.

Indicadores de carregamento de hardware de plataforma

Os elementos de interface do usuário integrados ao Windows abordam os cenários em que o Windows está em execução e a exibição é visível para o usuário. No entanto, esses indicadores na tela não ficam visíveis quando o sistema está desligado, hibernado, dormindo ou não está em execução.

Uma plataforma pode incluir um LED para indicar que a energia está presente. É preferível que esse LED não seja colocado no chassi do sistema. Em vez disso, o LED deve estar no bloco de energia, no cabo de alimentação ou no conector de energia. Opcionalmente, esse LED também pode indicar a cobrança status para o usuário.

Se um LED for fornecido, ele não deverá variar em intensidade ou cor ao longo do tempo ou, de outra forma, piscar ou piscar, porque isso apresenta uma distração para os usuários. No entanto, ele pode alterar a cor para indicar a carga status; por exemplo, amarelo ao carregar, verde quando totalmente carregado ou vermelho quando ocorre uma falha.

Capacidade de bateria de reserva de relógio em tempo real

Manter um tempo preciso é essencial para oferecer uma ótima experiência do usuário. Além disso, é necessário um tempo preciso para se conectar a serviços como a Microsoft Store. Todos os sistemas Windows devem manter um tempo preciso por um período de pelo menos quatro semanas, mesmo quando desativados. Normalmente, isso é feito empregando uma bateria de backup separada para manter o RTC (relógio em tempo real). Nem sempre isso é possível ou prático em fatores forma altamente portáteis.

Os designers de sistema podem usar uma bateria dedicada ou reservar uma parte da bateria do sistema main. Dado os requisitos modestos de energia do RTC, um limite de reserva relativamente baixo fornecerá garantias que correspondam às baterias de backup dedicadas que existem nos computadores atuais.

Diretrizes de design

O OSPM fornece um método para os designers do sistema substituirem o evento de bateria crítica do sistema operacional Windows. Quando a bateria chega a um nível crítico (em miliwatt-horas), conforme definido pelo método _BIX (Informações da Bateria Estendidas – Capacidade de Design para Baixo) na implementação da Bateria do Método de Controle, o firmware emite um comando Notify para o sistema operacional. Nesse ponto, o Windows executará um desligamento de emergência ou hibernará para preservar o estado do sistema.

Todos os designs devem atender aos seguintes requisitos:

  • A Capacidade de Design para Baixo no método _BIX deve ser definida como pelo menos 675 miliwatts-hora da capacidade de design completa (além da capacidade necessária para executar a ação crítica de forma confiável).
  • A capacidade de reserva acima deve ser inferior a 4% da capacidade de design total.

Desempenho de carregamento

O tempo necessário para carregar totalmente a bateria do sistema é uma preocupação para o usuário. Muitos sistemas são cobrados durante a noite ou durante outros períodos em que o usuário não está interagindo com o sistema. No entanto, quando a bateria é totalmente esvaziada e o usuário deseja usar o sistema de forma portátil, o desempenho de carregamento é uma preocupação principal.

O Windows recomenda que todas as plataformas sejam capazes de carregar a bateria do sistema de 5% a 90% dentro de quatro horas ou menos quando o sistema é inicializado e em espera moderno com a tela desligada.

Os designers de sistema devem prestar atenção especial à taxa de cobrança para sistemas que dão suporte apenas ao carregamento baseado em USB (Barramento Serial Universal). Sistemas que têm apenas carregamento USB e capacidade de bateria grande podem não atender à expectativa do cliente para o desempenho de carregamento.

Se o carregamento USB for necessário em plataformas com grande capacidade de bateria (maior que 30 watts-hora), o designer do sistema também deverá fornecer uma entrada DC de alta potência e agrupar um carregador DC de alta potência com o sistema. Isso também permite que a bateria da plataforma seja carregada durante o uso interativo, o que, de outra forma, pode ser impossível dada a baixa potência de entrada e o alto consumo de energia de uma plataforma somente carga USB com grande capacidade de bateria.