Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом разделе приведены сведения о требованиях к оборудованию, встроенному ПО и программному обеспечению для устройств контроллеров ввода-вывода общего назначения (GPIO), предоставляемых Windows.
Требования к оборудованию контроллера GPIO
Контроллер GPIO интегрирован в SoC (не подключен к шине SPB).
Повышает надежность работы эмуляции ActiveBoth.
Поддерживаются прерывания в режиме уровня.
Требуется для функций эмулирования ActiveBoth и Debounce Emulation.
Поддерживаются как высокая, так и низкая полярности прерываний.
Требуется для функций эмулирования ActiveBoth и Debounce Emulation.
Полярность прерывания может быть перепрограммирована во время выполнения программы.
Требуется для функций эмулирования ActiveBoth и Debounce Emulation.
Требования к встроенному ПО контроллера GPIO
Контроллер GPIO _CRS включает все ресурсы для всех банков пинов в контроллере.
Контроллер GPIO обеспечивают порядок ресурсов _CRS для сопоставления прерываний между банком и системой.
методы _AEI и методы событий (_Exx, _Lxx или _EVT) существуют для всех событий ACPI с сигналом GPIO.
Контроллер GPIO поддерживает функцию _DSM, если какие-либо прерывания ActiveBoth, подключенные к контроллеру, срабатывают при высоком логическом уровне вместо низкого.
Реализуйте методы _REG для каждого контроллера GPIO и предотвращайте использование GeneralPurposeIO OpRegions, если _REG указывает, что обработчик региона недоступен.
Дескриптор времени ожидания debounce включен в дескриптор ресурса GPIOInt для любого прерывания, требующего отмены.
Требования к драйверу контроллера GPIO
Поддержка версии 2 интерфейса между GpioClx и драйвером контроллера GPIO:
Реализуйте функцию обратного вызова CLIENT_QueryEnabledInterrupts . Это значительно помогает в диагностировании бурь прерываний.
Если флаг BankIdlePowerMgmtSupported задан в структуре CONTROLLER_BASIC_INFORMATION , драйвер контроллера GPIO должен реализовать CLIENT_SaveBankHardwareContext и CLIENT_RestoreBankHardwareContext функции обратного вызова, и эти функции должны сохранять и восстанавливать контекст банка соответствующим образом, включая маскированные или незамаскированные состояния прерываний. Обратите внимание, что прерывания не обязательно будут отключены во время вызова этой функции, но, если они по-прежнему подключены, они гарантированно будут замаскированы.
Если флаг DeviceIdlePowerMgmtSupported задан в структуре CONTROLLER_BASIC_INFORMATION , CLIENT_StartController иCLIENT_StopController функции обратного вызова должны сохранять и восстанавливать контекст для всех банков соответствующим образом, включая маскированные или незамаскированные состояния прерываний. Обратите внимание, что прерывания не гарантированно будут отключены во время вызова этой функции, но, если они по-прежнему подключены, они гарантированно маскируются.
Задайте флаг EmulateDebouncing в структуре CONTROLLER_BASIC_INFORMATION . Это значительно повышает устойчивость к шуму для устройств, чьи прерывания подвержены электростатическому разряду (таким как кнопки, разъемы и т. д.).
Задайте флаг EmulateActiveBoth в структуре CONTROLLER_BASIC_INFORMATION и реализуйте функцию обратного вызова CLIENT_ReconfigureInterrupt . Это обеспечивает надежное обнаружение границ для прерываний типа ActiveBoth.