Connectivité device Bus (pen-device-bus-connectivity)
Notes
Cet article contient des références au terme esclave, un terme que Microsoft n’utilise plus. Lorsque le terme sera supprimé du logiciel, nous le supprimerons de cet article.
Cette rubrique décrit les méthodes de connectivité de bus pour un appareil à stylet Windows.
Un périphérique à stylet Windows intégré peut utiliser les pilotes de boîte de réception fournis par Microsoft pour se connecter à son hôte Windows, en utilisant HID sur USB, HID sur I²C ou (à partir de Windows 11) HID sur SPI. Toutefois, vous pouvez utiliser n’importe quel autre bus de votre choix, à condition de fournir le pilote hid mini-port tiers compatible Windows requis pour le stylet. Le diagramme suivant montre la pile de pilotes Windows 11 pour un périphérique de stylet Windows.
Pour une compatibilité totale avec Windows 11 pour les éditions de bureau (Famille, Professionnel, Entreprise et Éducation), nous vous recommandons d’utiliser les pilotes de boîte de réception fournis par Microsoft. Si vous décidez d’utiliser un pilote de mini-port tiers, vous devez ajouter ce pilote tiers aux images OEM et restauration du système appropriées, puis rendre ces images disponibles en téléchargement sur Windows Update.
Les sections suivantes présentent quelques exemples de configurations d’appareil.
Appareils I²C
Un module de stylet Windows intégré est défini comme la combinaison d’un contrôleur IC et d’un capteur.
Un module de stylet Windows qui se connecte à son hôte Windows via le bus I²C doit, au minimum, exposer les cinq broches de connexion suivantes :
- Une ligne de données (SDA)
- Une ligne d’horloge (SCL)
- Ligne d’interruption
- Une ligne d’alimentation
- Une connexion au sol (GND)
Voici un diagramme des lignes de connexion entre un appareil de stylet Windows et son hôte Windows.
Lors de la connexion à un contrôleur I²C, il est important de comprendre les demandes de bande passante de tous les composants qui partagent ce contrôleur. Une vitesse d’horloge I²C minimale de 400 KHz est recommandée pour un stylet Windows intégré. Il est vivement recommandé que les contrôleurs de stylet Windows intégrés ne partagent pas le même contrôleur I²C avec les composants qui ont une utilisation élevée de la bande passante.
Nous vous recommandons de connecter la ligne d’interruption (également appelée ligne ATTN) à un contrôleur GPIO On-SoC ou à un IOAPIC. La ressource GPIO ou IOAPIC à laquelle la ligne d’interruption est connectée doit pouvoir (et configurée pour) réveiller le SoC. La fonctionnalité de mise en éveil permet au stylet Windows intégré de réveiller le système dans différents scénarios.
Si vous décidez d’utiliser la fonctionnalité de veille, la ligne d’alimentation connectée au stylet Windows intégré ne doit pas être partagée avec d’autres appareils qui ne sont pas compatibles avec la veille. Pour que les scénarios de sortie de veille fonctionnent correctement, la ligne électrique utilisée doit être sous tension pendant les conditions de veille/S3 connectées.
Entrées de table ACPI
Un appareil à stylet Windows connecté via I²C doit définir une entrée dans la table ACPI (Advanced Configuration and Power Interface) de l’hôte, pour que l’appareil soit reconnu par l’hôte. Pour plus d’informations sur ACPI, consultez Configuration avancée et spécification de l’interface d’alimentation.
L’entrée de table ACPI doit spécifier les informations suivantes :
Entrée | Description |
---|---|
Nom de l’entrée d’appareil ACPI | Une identification à 4 caractères unique à la table ACPI, pour référencer l’appareil. Par exemple, « WPEN ». |
ID matériel ACPI | ID matériel ACPI à 4 caractères + 4 nombres, pour référencer l’appareil. Ceci est exposé dans le gestionnaire de périphériques. Par exemple, « MSFT0001 ». |
Compatible ID | Il doit toujours s’agir de « PNP0C50 » pour indiquer que l’appareil est compatible HID I²C. |
Contrôleur I²C | Spécifie un contrôleur I²C sur l’hôte Windows. Ce contrôleur est utilisé pour connecter le stylet à l’hôte Windows et permet au stylet et à l’hôte de communiquer. Par exemple, « I2C3 » pour indiquer le contrôleur I²C #3. |
Adresse de l’esclave I²C | Spécifie l’adresse de l’esclave I²C pour l’appareil. L’hôte utilise cette adresse pour dédier le stylet sur le bus I²C pour la communication. Par exemple, « 0x6F ». |
Vitesse I²C | Spécifie la vitesse maximale prise en charge par l’appareil et le contrôleur I²C. La spécification de la vitesse dans la table ACPI garantit une communication fiable. Cette vitesse ne doit pas être inférieure à 400 KHz (0x61A80). |
Contrôleur GPIO | Contrôleur GPIO auquel la ligne d’interruption du stylet est connectée. Cela indique à l’hôte où « écouter » les signaux d’interruption. Par exemple, « GPIO0 » : pour indiquer le contrôleur GPIO #0. |
Ressource/code confidentiel GPIO | Broche du contrôleur GPIO à laquelle la ligne d’interruption du stylet est connectée. L’hôte associe ensuite cette broche GPIO spécifique aux signaux d’interruption du stylet. Par exemple, «{35} » : pour indiquer la broche 35. |
Type de ressource GPIO | Définit les contraintes autour de la ressource GPIO. Cette entrée pour la table ACPI doit être définie sur « Exclusif », sauf si vous souhaitez sélectionner SoC Wake. Si vous décidez de sélectionner SoC Wake, définissez cette entrée sur « ExclusiveAndWake ». |
Type d’assertion d’interruption GPIO | Définit le type de déclenchement que le stylet fournira pour ses interruptions. Il peut s’agir de « edge-triggered » ou de « level-triggered ». Les appareils compatibles HID I²C doivent utiliser des interruptions « déclenchées par un niveau ». |
Niveau d’assertion d’interruption GPIO | Définit le niveau de tension sur la ligne d’interruption, lorsque l’interruption est déclarée par l’appareil. Cela peut être spécifié en tant que « ActiveLow » ou « ActiveHigh ». |
Périphériques USB
Un module de stylet Windows intégré haute vitesse/pleine vitesse connecté via USB 2.0 doit exposer les broches nécessaires à la connectivité de l’hôte.
La connexion à l’hôte peut prendre de nombreuses formes et est à la discrétion de l’intégrateur.
Notez que, lors de la connexion à un hub USB, il est important de comprendre les demandes de bande passante de tous les composants qui partagent le hub. Il est vivement recommandé que les appareils à bande passante élevée et les contrôleurs de stylet Windows intégrés ne partagent pas le même hub USB, car cela peut entraîner des demandes de bande passante qui dépassent la capacité du bus.
Périphériques pont USB (I²C -> USB)
Si vous utilisez un pont USB pour connecter un stylet Windows I²C intégré à l’hôte, le pont doit exposer le stylet Windows intégré en tant que nœud d’appareil distinct, avec les attributs uniques de l’appareil (wVendorID, wProductID, wVersionID).
Périphériques HID SPI
Un module de stylet Windows est défini comme la combinaison d’un contrôleur IC et d’un capteur.
Un module de stylet Windows qui se connecte à son hôte Windows via le bus SPI doit, au minimum, exposer les cinq broches de connexion suivantes :
- Une ligne de données (SDA)
- Une ligne d’horloge (SCL)
- Une ligne de sélection de puce (SS)
- Ligne d’interruption
- Une ligne d’alimentation
- Une connexion au sol (GND)
Voici un diagramme des lignes de connexion entre un appareil Stylet Windows et son hôte Windows.
Entrées de table ACPI
Un appareil Windows Pen connecté via SPI doit définir une entrée dans la table ACPI (Advanced Configuration and Power Interface) de l’hôte, pour que l’appareil soit reconnu par l’hôte. Pour plus d’informations sur ACPI, consultez Configuration avancée et spécification de l’interface d’alimentation.
L’entrée de table ACPI doit spécifier les informations décrites dans l’article Plug-and-Play prise en charge de HID sur SPI.