Compartilhar via


Conectividade do Barramento de Dispositivo (touch-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 windows touch integrado.

Um dispositivo windows touch 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 em Windows 11) HID sobre SPI. No entanto, você pode usar qualquer outro barramento desejado, desde que forneça o driver de miniporta HID de terceiros compatível com Windows necessário para o dispositivo touch. O diagrama a seguir mostra o Windows 10 pilha de driver para um dispositivo com tela sensível ao toque do Windows.

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

Observe que, para compatibilidade completa com Windows 11 para edições desktop (Home, Pro, Enterprise e Education), recomendamos usar os drivers de caixa de entrada do Windows sempre que possível. E se você precisar 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, em seguida, disponibilizar essas imagens para download em Windows Update.

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

Dispositivos I²C

Um módulo windows touch é definido como a combinação de um controlador IC, um sensor e quaisquer mecanismos associados.

Um módulo Windows Touch 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 Windows Touch e seu host do Windows.

diagrama mostrando as linhas de conexão entre um dispositivo windows touch 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. A velocidade mínima do relógio I²C de 400 KHz é recomendada para um dispositivo Windows Touch.

É 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 Tela Touch 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 Windows Touch 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 Windows Touch 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, "TOUC".
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 tela touch ao host do Windows e possibilita que a tela touch 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 Touch 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 do dispositivo Touch 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 do dispositivo Touch está conectada. Em seguida, o host associa esse pino GPIO específico a sinais de interrupção da tela touch. 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 o dispositivo Touch fornecerá para suas interrupções. Isso pode ser "disparado por borda" ou "Disparado por 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 dispositivo Windows Touch integrado de alta velocidade/velocidade total conectado via USB 2.0 deve expor os pinos necessários para conectividade de 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 os dispositivos de alta largura de banda e os controladores windows touchscreen não compartilhem o mesmo hub USB, pois isso pode resultar em demandas de largura de banda que excedem a capacidade do barramento.

Dispositivos SPI HID

Um módulo windows touch é definido como a combinação de um controlador IC e um sensor.

Um módulo Windows Touch 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 Touch e seu host do Windows.

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

Entradas da tabela ACPI

Um dispositivo Windows Touch 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.