Compartilhar via


Conectividade do Barramento de Dispositivo (pen-device-bus-connectivity)

Observação

Este artigo contém referências ao termo servidor subordinado, um termo que a Microsoft não usa mais. Quando o termo for removido do software, também o removeremos deste artigo.

Este tópico discute os métodos de conectividade de barramento para um dispositivo com caneta Windows.

Um dispositivo de caneta Windows integrado pode usar os drivers de caixa de entrada fornecidos pela Microsoft para se conectar ao host do Windows, usando HID via USB, HID sobre I²C ou (começando no Windows 11) HID sobre SPI. No entanto, você pode usar qualquer outro barramento desejado, desde que forneça o driver de mini-porta HID de terceiros compatível com Windows necessário para o dispositivo com caneta. O diagrama a seguir mostra a pilha de drivers Windows 11 para um dispositivo com caneta Windows.

diagrama mostrando a pilha de driver do Windows 11 para um dispositivo com caneta windows.

Para compatibilidade completa com Windows 11 para edições desktop (Home, Pro, Enterprise e Education), é recomendável usar os drivers de caixa de entrada fornecidos pela Microsoft. Se você decidir usar um driver de mini-porta de terceiros, deverá adicionar esse driver de terceiros às imagens apropriadas do OEM e da Restauração do Sistema e disponibilizar essas imagens para download no Windows Update.

As seções a seguir apresentam alguns exemplos de configurações de dispositivo.

Dispositivos I²C

Um módulo de caneta do Windows integrado é definido como a combinação de um controlador IC e um sensor.

Um módulo de caneta do Windows que se conecta ao host do Windows por meio do barramento I²C deve, no mínimo, expor os cinco pinos de conexão a seguir:

  • Uma linha de dados (SDA)
  • Uma linha de relógio (SCL)
  • Uma linha de interrupção
  • Uma linha de fonte de alimentação
  • Uma GND (conexão terrestre)

Veja a seguir um diagrama das linhas de conexões entre um dispositivo com caneta Windows e seu host do Windows.

diagrama mostrando as linhas de conexões entre um dispositivo windows pen e seu host do Windows.

Ao se conectar a um controlador I²C, é importante entender as demandas de largura de banda de todos os componentes que compartilham esse controlador. Uma velocidade mínima do relógio I²C de 400 KHz é recomendada para uma caneta integrada do Windows. É altamente recomendável que os controladores integrados de caneta do Windows não compartilhem o mesmo controlador I²C com componentes que têm alto uso de largura de banda.

É recomendável conectar a linha de interrupção (também conhecida como linha ATTN) a um controlador GPIO On-SoC ou a um IOAPIC. O recurso GPIO ou IOAPIC ao qual a linha de interrupção está conectada deve ser capaz de (e configurado para) ativar o SoC. A funcionalidade de ativação permite que a caneta integrada do Windows ative o sistema em vários cenários.

Se você decidir usar a funcionalidade de ativação, a linha de energia que está conectada ao dispositivo integrado de caneta do Windows não deverá ser compartilhada com outros dispositivos que não são compatíveis com a ativação. Para que os cenários de ativação funcionem corretamente, a linha de energia usada deve ser energizada durante as condições de espera/S3 conectadas.

Entradas da tabela ACPI

Um dispositivo com caneta Windows conectado via I²C deve definir uma entrada na tabela ACPI (Advanced Configuration and Power Interface) do host para que o dispositivo seja reconhecido pelo host. Para obter mais informações sobre ACPI, consulte Configuração Avançada e Especificação da Interface de Energia.

A entrada da tabela ACPI deve especificar as seguintes informações:

Entrada Descrição
Nome da entrada do dispositivo ACPI Uma identificação de 4 caracteres exclusiva para a tabela ACPI, para referenciar o dispositivo. Por exemplo, "WPEN".
ACPI Hardware ID Uma ID de hardware ACPI de 4 caracteres + 4 números para referenciar o dispositivo. Isso é exposto no gerenciador de dispositivos. Por exemplo, "MSFT0001".
ID compatível Isso sempre deve ser "PNP0C50" para indicar que o dispositivo é compatível com HID I²C.
Controlador I²C Especifica um controlador I²C no host do Windows. Esse controlador é usado para conectar a caneta ao host do Windows e possibilita que a caneta e o host se comuniquem. Por exemplo, "I2C3" – para indicar o controlador I²C nº 3.
Endereço Subordinado I²C Especifica o endereço subordinado I²C para o dispositivo. O host usa esse endereço para destacar o dispositivo de caneta no barramento I²C para comunicação. Por exemplo, "0x6F".
Velocidade de I²C Especifica a velocidade máxima compatível com o dispositivo e o controlador I²C. Especificar a velocidade na tabela ACPI garante uma comunicação confiável. Essa velocidade não deve ser inferior a 400KHz (0x61A80).
Controlador GPIO O controlador GPIO ao qual a linha de interrupção da caneta está conectada. Isso informa ao host onde "escutar" sinais de interrupção. Por exemplo, "GPIO0" – para indicar o controlador GPIO nº 0.
Recurso/fixação do GPIO O pino do controlador GPIO ao qual a linha de interrupção da caneta está conectada. Em seguida, o host associa esse pino GPIO específico a sinais de interrupção da caneta. Por exemplo, "{35}" – para indicar o pino 35.
Tipo de recurso GPIO Define as restrições em torno do recurso GPIO. Essa entrada para a tabela ACPI deve ser definida como "Exclusivo", a menos que você deseje selecionar Ativar SoC. Se você decidir selecionar SoC Wake, defina essa entrada como "ExclusiveAndWake".
Tipo de asserção de interrupção GPIO Define o tipo de gatilho que a caneta fornecerá para suas interrupções. Isso pode ser "disparado pelo Edge" ou "Disparado pelo nível". Os dispositivos compatíveis com HID I²C devem usar interrupções "disparadas por nível".
Nível de Asserção de Interrupção do GPIO Define o nível de tensão na linha de interrupção, quando a interrupção é declarada pelo dispositivo. Isso pode ser especificado como "ActiveLow" ou "ActiveHigh".

Dispositivos USB

Um módulo de caneta do Windows integrado de alta velocidade/velocidade total que está conectado via USB 2.0 deve expor os pinos necessários para a conectividade do host.

A conexão com o host pode assumir várias formas e fica a critério do integrador.

Observe que, ao se conectar a um hub USB, é importante entender as demandas de largura de banda de todos os componentes que compartilham o hub. É altamente recomendável que dispositivos de alta largura de banda e controladores de caneta integrados do Windows não compartilhem o mesmo hub USB, pois isso pode resultar em demandas de largura de banda que excedem a capacidade do barramento.

Dispositivos de ponte USB (I²C –> USB)

Se você usar uma ponte USB para conectar uma caneta I²C do Windows integrada ao host, a ponte deverá expor a caneta integrada do Windows como um nó de dispositivo distinto, com os atributos exclusivos do dispositivo (wVendorID, wProductID, wVersionID).

Dispositivos SPI HID

Um módulo da Caneta Windows é definido como a combinação de um controlador IC e um sensor.

Um módulo de caneta do Windows que se conecta ao host do Windows por meio do barramento SPI deve, no mínimo, expor os cinco pinos de conexão a seguir:

  • Uma linha de dados (SDA)
  • Uma linha de relógio (SCL)
  • Uma linha de seleção de chip (SS)
  • Uma linha de interrupção
  • Uma linha de fonte de alimentação
  • Uma GND (conexão terrestre)

Veja a seguir um diagrama das linhas de conexões entre um dispositivo Windows Pen e seu host do Windows.

diagrama mostrando a pilha de driver para um dispositivo windows pen integrado, para sistemas operacionais windows 11 e posteriores.

Entradas da tabela ACPI

Um dispositivo Windows Pen conectado via SPI deve definir uma entrada na tabela ACPI (Advanced Configuration and Power Interface) do host para que o dispositivo seja reconhecido pelo host. Para obter mais informações sobre ACPI, consulte Configuração Avançada e Especificação da Interface de Energia.

A entrada da tabela ACPI deve especificar as informações conforme descrito no artigo Plug and Play suporte para HID sobre SPI.