Průvodce návrhem ovladače SIMPLE Peripheral Bus (SPB)

Tato část popisuje, jak napsat ovladač pro jednoduché zařízení kontroleru periferní sběrnice (SPB) nebo pro periferní zařízení, které je připojené k SPB. Kategorie SPB zahrnuje autobusy, jako jsou I²C a SPI. Dodavatel hardwaru pro zařízení kontroleru SPB poskytuje ovladač kontroleru SPB pro správu hardwarových funkcí v řadiči. Tento ovladač může podporovat řadu podobných zařízení kontroleru. Dodavatel hardwaru periferního zařízení připojeného k SPB poskytuje ovladač periferního zařízení SPB pro správu hardwarových funkcí v periferním zařízení. Tento ovladač může podporovat řadu periferních zařízení na různých hardwarových platformách, které poskytují kompatibilní SRB.

Ve verzích Windows před Windows 8 operační systém získal informace ze zařízení připojených k SPB na základní desce pc pouze nepřímo prostřednictvím firmwaru platformy. Od Systému Windows 8 můžou dodavatelé hardwaru dodat ovladače Systému Windows, aby přímo kontrolovaly ovladače SPB a periferní zařízení připojená k spB a aby byla tato zařízení dostupná pro použití operačním systémem a aplikacemi. Další informace naleznete v tématu Ovladače kontroleru SPB a ovladače periferních zařízení SPB.

SPB se často používají k připojení nízkorychlostních periferních zařízení k čipovým sadám základní desky a modulům System on a Chip (SoC). Integrovaný obvod vyžaduje pro připojení k sériové sběrnici méně kolíků než k paralelní sběrnici, která přenáší více bitů dat za hodinový cyklus. SB se obvykle používají v aplikacích citlivých na náklady, ve kterých jsou nízký počet kolíků a jednoduchá připojení důležitější než rychlost přenosu dat. Vzhledem k tomu, že SPB běží při nízkých rychlostech a vyžadují málo elektrických připojení, často se používají v aplikacích, ve kterých se šetří napájení baterie.

Například základní deska počítače v přenosném počítači může používat sběrnici I²C ke komunikaci s nízkorychlostním zařízením, které monitoruje úroveň baterie. Podobně může modul SoC v chytrém telefonu nebo jiném mobilním zařízení použít sběrnici I²C pro připojení k senzoru zařízení, jako je akcelerometr, zařízení GPS nebo senzor teploty.

SPB není sběrnicí Plug and Play. Periferní zařízení mají obvykle pevná připojení k spB a nelze je odebrat. I když je možné periferní zařízení odpojit od slotu v SPB, je tento slot obvykle vyhrazený pro toto zařízení. Během spuštění systému firmware ACPI v hardwarové platformě vypíše periferní zařízení připojená k spB pro správce plug and play a určuje hardwarové prostředky, které jsou vyhrazené pro každé zařízení.

Součástí těchto prostředků je ID připojení, které identifikuje připojení zařízení k SPB. Identifikátor připojení zapouzdřuje informace (například adresu sběrnice a frekvenci hodin sběrnice), které řadič SPB vyžaduje k navázání připojení k zařízení. Mezi další hardwarové prostředky může patřit také přerušení, ke kterému ovladač připojí svůj ISR. Hardwarové prostředky zařízení však nezahrnují paměť pro registry zařízení. Periferní zařízení připojené k SPB není mapováno do paměti a lze k němu přistupovat pouze prostřednictvím SPB. Další informace naleznete v tématu ID připojení pro SPB-Connected periferní zařízení.

SPB neposkytuje žádné prostředky specifické pro sběrnici, které by předávaly žádosti o přerušení z periferních zařízení do procesoru. Místo toho periferní zařízení připojené k SPB signalizuje přerušení přes samostatnou hardwarovou cestu, která leží mimo SPB i kontroler SPB. Rutina přerušení služby (ISR) pro periferní zařízení připojené k SPB musí běžet v IRQL = PASSIVE_LEVEL, aby mohl synchronně odesílat vstupně-výstupní požadavky pro sériový přístup k hardwarovým registrům zařízení přes SPB. Další informace naleznete v Přerušení z periferních zařízení SPB-Connected.