Compartir a través de


Lista de comprobación de requisitos del controlador GPIO

En este tema se resumen los requisitos de hardware, firmware y software para De uso general dispositivos de controlador de E/S (GPIO) que se exponen a Windows.

Requisitos de hardware del controlador GPIO

  • El controlador GPIO se integra en el SoC (no conectado por un bus SPB).

    Aumenta la confiabilidad de ActiveBoth emulado.

  • Se admiten interrupciones en modo de nivel.

    Se requiere para las características emuladas activeBoth y Debounce Emulation.

  • Se admiten las polaridades de interrupción alta y baja.

    Se requiere para las características emuladas activeBoth y Debounce Emulation.

  • La polaridad de interrupción se puede volver a programar en tiempo de ejecución.

    Se requiere para las características emuladas activeBoth y Debounce Emulation.

Requisitos de firmware del controlador GPIO

  • El controlador GPIO _CRS incluye todos los recursos para todos los bancos de patillas del controlador.

  • El controlador GPIO _CRS orden de recursos proporciona una asignación de interrupciones bancarias a sistema.

  • _AEI método y métodos de eventos (_Exx, _Lxx o _EVT) existen para cualquier evento ACPI señalado por GPIO.

  • Controlador GPIO _DSM incluido si alguna interrupción de ActiveBoth conectada al controlador es lógica alta en lugar de lógica baja.

  • Implemente _REG métodos para cada controlador GPIO y evite el uso de GeneralPurposeIO OpRegions si _REG indica que el controlador de región no está disponible.

  • El tiempo de espera de desbounce se incluye en el descriptor de recursos GPIOInt para cualquier interrupción que requiera la desaplicación.

Requisitos del controlador de GPIO

  • Compatibilidad con la versión 2 de la interfaz entre GpioClx y el controlador del controlador GPIO:

    • Implemente la función de devolución de llamada CLIENT_QueryEnabledInterrupts . Esto ayuda en gran medida a diagnosticar tormentas de interrupción.

    • Si la marca BankIdlePowerMgmtSupported está establecida en la estructura de CONTROLLER_BASIC_INFORMATION , el controlador gpIO debe implementar las funciones de devolución de llamada CLIENT_SaveBankHardwareContext y CLIENT_RestoreBankHardwareContext , y estas funciones deben guardar o restaurar el contexto bancario correctamente, incluido el estado enmascarado o sin máscara de las interrupciones. Tenga en cuenta que no se garantiza que las interrupciones se desconecten en el momento en que se llama a esta función, pero, si aún están conectadas, se garantiza que se enmascaran.

    • Si la marca DeviceIdlePowerMgmtSupported está establecida en la estructura de CONTROLLER_BASIC_INFORMATION , las funciones de devolución de llamada CLIENT_StartController y CLIENT_StopController deben guardar o restaurar contexto para todos los bancos correctamente, incluido el estado enmascarado o sin máscara de las interrupciones. Tenga en cuenta que no se garantiza que las interrupciones se desconecten en el momento en que se llama a esta función, pero, si aún están conectadas, se garantiza que se enmascaran.

  • Establezca la marca EmmulDebouncing en la estructura CONTROLLER_BASIC_INFORMATION . Esto aumenta significativamente la inmunidad de ruido para los dispositivos cuyas interrupciones están sujetas a descarga electrostática (como botones, enchufes, etc.).

  • Establezca la marca EmActiveBoth en la estructura CONTROLLER_BASIC_INFORMATION e implemente la función de devolución de llamada CLIENT_ReconfigureInterrupt . Esto garantiza una detección de borde confiable para las interrupciones de ActiveBoth.