Bagikan melalui


Arsitektur dan gambaran umum untuk HID melalui transportasi SPI

Artikel ini menjelaskan tumpukan driver untuk perangkat yang mendukung HID melalui transportasi SPI.

Arsitektur dan gambaran umum

Tumpukan driver HID SPI terdiri dari komponen yang ada dan baru yang disediakan oleh Microsoft, serta komponen yang disediakan oleh produsen silikon SPI. Ilustrasi berikut menggambarkan tumpukan dan komponen-komponen ini.

HID melalui tumpukan driver SPI.

Windows menyediakan antarmuka untuk bus sederhana berdaya rendah untuk berkomunikasi secara efektif dengan sistem operasi. Antarmuka ini disebut sebagai bus periferal sederhana (SPB), dan mendukung bus seperti Inter-Integrated Circuit (I2C) dan Serial Peripheral Interface (SPI). Untuk detail tambahan tentang SPB, lihat topik Bus periferal sederhana (SPB ).

Windows menyediakan driver hiport HID berbasis KMDF yang menerapkan spesifikasi protokol versi 1.0 untuk HID melalui SPI. Driver ini bernama HIDSPI.sys. Windows memuat pengandar ini berdasarkan kecocokan ID yang kompatibel, yang diekspos oleh Konfigurasi Tingkat Lanjut dan Antarmuka Daya (ACPI). Integrator sistem dapat menggunakan INF ekstensi untuk memuat driver ini berdasarkan ID perangkat keras periferalnya. Driver memastikan bahwa aplikasi yang menggunakan kompatibilitas tingkat aplikasi HID IOCTLs untuk perangkat lunak yang memanfaatkan IOCTL HID dan set API. Koneksi GPIO disediakan untuk driver, yang memungkinkan perangkat untuk menegaskan gangguan ketika memerlukan perhatian atau memiliki data.

Catatan

Driver perangkat HIDSPI.sys hanya mendukung bus SPI. Ini tidak mendukung I2C, SMBUS, atau bus berdaya rendah lainnya di Windows.

Driver pengontrol SPI

Driver pengontrol SPI mengekspos antarmuka IOCTL Serial Peripheral Bus (SPB) untuk melakukan operasi baca dan tulis. Driver ini menyediakan intrinsik pengontrol aktual (misalnya, SPI). Ekstensi Kelas SPB, atas nama driver pengontrol, menangani semua interaksi dengan hub sumber daya dan mengimplementasikan antrean yang diperlukan untuk mengelola target simultan.

Catatan

Driver HID SPI tidak akan berfungsi pada sistem yang tidak memiliki bus SPI yang kompatibel dengan platform SPB. Hubungi produsen sistem Anda untuk menentukan apakah bus SPI pada sistem perangkat Anda kompatibel dengan platform SPB.

Driver pengontrol GPIO

Pengontrol Input/Output Tujuan Umum (GPIO) memberikan gangguan dari perangkat melalui GPIO. Ini sering merupakan komponen subordinat sederhana yang menggunakan pin GPIO untuk memberi sinyal Windows data baru atau peristiwa lainnya. GPIO juga dapat mengontrol perangkat dengan pendekatan selain saluran SPI.

Hub sumber daya

Koneksi pada platform SoC biasanya tidak dapat ditemukan, karena tidak ada standar untuk enumerasi perangkat pada bus yang digunakan di SoC. Akibatnya, perangkat ini harus ditentukan secara statis dalam Konfigurasi Tingkat Lanjut dan Antarmuka Daya (ACPI). Selain itu, komponen sering memiliki beberapa dependensi yang mencakup beberapa bus, dibandingkan dengan struktur pohon percabangan yang ketat.

Hub sumber daya adalah proksi yang mengelola koneksi di antara semua perangkat dan pengontrol bus. Driver HIDSPI menggunakan hub sumber daya untuk mengalihkan permintaan buka perangkat ke driver pengontrol yang sesuai. Untuk informasi selengkapnya tentang hub sumber daya, lihat topik ID Koneksi untuk Perangkat yang Terhubung SPB.

Ekstensi kelas HIDSPI (HIDSPICx)

Untuk implementasi yang membutuhkan performa atau integrasi yang lebih besar, dimungkinkan bagi produsen sistem untuk mengembangkan silikon kustom untuk memproses transaksi HIDSPI. Untuk ini, ekstensi kelas HIDSPICx disediakan dengan Windows. HIDSPICx memungkinkan pengembangan driver pengontrol HIDSPI HWA kustom tanpa menggunakan SpbCx.

Untuk perangkat HWA, vendor menyediakan driver klien yang bertanggung jawab untuk menerapkan antarmuka yang ditentukan oleh ekstensi kelas, dan berkomunikasi dengan ekstensi kelas.

Tumpukan driver HIDSPICx dan HWA.