Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym temacie przedstawiono podsumowanie wymagań dotyczących sprzętu, oprogramowania układowego i oprogramowania dla urządzeń kontrolera ogólnego przeznaczenia (GPIO), które są widoczne dla systemu Windows.
Wymagania sprzętowe kontrolera GPIO
Kontroler GPIO jest zintegrowany z soC (nie podłączony przez magistralę SPB).
Zwiększa niezawodność Emulated ActiveBoth.
Obsługiwane są przerwania poziomowe.
Wymagane zarówno dla funkcji emulacji ActiveBoth, jak i Debounce Emulation.
Obsługiwane są polaryzacje o wysokich i niskich przerwaniach.
Wymagane zarówno dla funkcji Emulated ActiveBoth, jak i Debounce Emulation.
Polarność przerwań może być ponownie zaprogramowana podczas działania programu.
Wymagane zarówno dla funkcji emulacji ActiveBoth, jak i Debounce Emulation.
Wymagania dotyczące oprogramowania układowego kontrolera GPIO
Kontroler GPIO _CRS zawiera wszystkie zasoby dla wszystkich banków pin w kontrolerze.
Kontroler GPIO określa kolejność zasobów _CRS, przeprowadzając mapowanie przerwań od banku do systemu.
_AEI metoda i metody zdarzeń (_Exx, _Lxx lub _EVT) istnieją dla dowolnych zdarzeń ACPI zasygnalizowanych przez GPIO.
Kontroler GPIO _DSM dołączony, jeśli jakiekolwiek przerwania ActiveBoth podłączone do kontrolera są ustawione na logicznie wysokie zamiast logicznie niskie.
Zaimplementuj metody _REG dla każdego kontrolera GPIO i zapobiegaj użyciu generalPurposeIO OpRegions, jeśli _REG wskazuje, że program obsługi regionów jest niedostępny.
Limit czasu odpudzania jest uwzględniony w deskryptorze zasobu GPIOInt dla wszelkich przerwań, które wymagają odpudzania.
Wymagania dotyczące sterownika kontrolera GPIO
Obsługa wersji 2 interfejsu między GpioClx i sterownikiem kontrolera GPIO:
Zaimplementuj funkcję CLIENT_QueryEnabledInterrupts wywołania zwrotnego. To znacznie pomaga w diagnozowaniu burzy przerwań.
Jeśli flaga BankIdlePowerMgmtSupported jest ustawiona w strukturze CONTROLLER_BASIC_INFORMATION , sterownik kontrolera GPIO musi zaimplementować funkcje CLIENT_SaveBankHardwareContext i CLIENT_RestoreBankHardwareContext wywołania zwrotnego, a te funkcje muszą odpowiednio zapisać/przywrócić kontekst banku, w tym maskowany/niemaskowany stan przerwań. Należy pamiętać, że przerwania nie mają gwarancji rozłączenia w momencie wywołania tej funkcji, ale jeśli nadal są połączone, muszą być maskowane.
Jeśli flaga DeviceIdlePowerMgmtSupported jest ustawiona w strukturze CONTROLLER_BASIC_INFORMATION , funkcje CLIENT_StartController i CLIENT_StopController wywołania zwrotnego muszą odpowiednio zapisać/przywrócić kontekst dla wszystkich banków, w tym maskowany/niemaskowany stan przerwań. Należy pamiętać, że przerwania nie mają gwarancji rozłączenia w momencie wywołania tej funkcji, ale jeśli nadal są połączone, muszą być maskowane.
Ustaw flagę EmulateDebouncing w strukturze CONTROLLER_BASIC_INFORMATION . Znacznie zwiększa to odporność na hałas dla urządzeń, których przerwania podlegają wyładowaniu elektrostatycznym (takim jak przyciski, wtyczki itd.).
Ustaw flagę EmulateActiveBoth w strukturze CONTROLLER_BASIC_INFORMATION i zaimplementuj funkcję CLIENT_ReconfigureInterrupt wywołania zwrotnego. Zapewnia to niezawodne wykrywanie krawędzi dla przerwań typu ActiveBoth.