Driver filter USB untuk mendukung pengisi daya USB

Tulis driver filter yang mendukung deteksi pengisi daya, jika pengontrol fungsi menggunakan sinopsis dalam kotak dan driver ChipIdea. Jika Anda menulis driver klien untuk pengontrol fungsi kepemilikan, deteksi pengisi daya/lampiran terintegrasi di driver klien dengan menerapkan EVT_UFX_DEVICE_PROPRIETARY_CHARGER_SET_PROPERTY, EVT_UFX_DEVICE_PROPRIETARY_CHARGER_RESET, dan EVT_UFX_DEVICE_DETECT_PROPRIETARY_CHARGER.

Tumpukan fungsi USB memungkinkan perangkat, seperti ponsel atau tablet, untuk mengisi daya saat terhubung ke host dan pengisi daya USB seperti yang didefinisikan oleh spesifikasi USB Battery Charging (BC) 1.2.

  • Ada dua jenis port yang dapat digunakan perangkat untuk pengisian daya. Perangkat dapat mengisi daya dari port pengisian daya khusus (DCP) pada pengisi daya yang dikirim dengan perangkat. Secara bergantian, perangkat dapat dari port hilir standar atau mengisi daya port hilir saat perangkat terhubung ke PC. Kedua kasus tersebut sesuai dengan spesifikasi USB BC 1.2.

  • Pengisi daya tertentu tidak mengikuti spesifikasi. Tumpukan fungsi USB memungkinkan perangkat untuk mengisi daya dari pengisi daya USB milik tersebut.

Untuk mendukung pengisi daya yang mematuhi spesifikasi dan kepemilikan, operasi ini diperlukan.

  • Perangkat dapat mendeteksi kapan host USB atau pengisi daya terpasang atau terlepas.
  • Perangkat ini dapat mendeteksi port pengisian daya USB yang berbeda seperti yang didefinisikan oleh spesifikasi BC 1.2.
  • Untuk pengisi daya USB yang ditentukan oleh spesifikasi BC 1.2, perangkat mengenakan biaya dengan jumlah maksimum saat ini yang diizinkan oleh spesifikasi BC 1.2.
  • Perangkat ini dapat mendeteksi pengisi daya USB kepemilikan.
  • Untuk pengisi daya USB kepemilikan, tentukan jumlah maksimum saat ini yang dapat digambar perangkat.
  • Beri tahu sistem operasi tentang jenis port USB yang tersambung.
  • Cegah perangkat menarik arus melalui USB di OS, bahkan jika Host USB terhubung dan perangkat telah mengonfigurasi dirinya dengan Host.

Operasi tersebut ditangani oleh ekstensi kelas fungsi USB (UFX)/pasangan driver klien dan driver filter yang dimuat sebagai filter yang lebih rendah di tumpukan perangkat fungsi USB. Driver mengelola pengisian daya USB mulai dari deteksi port USB untuk memberi tahu tumpukan baterai ketika dapat mulai mengisi daya dan jumlah maksimum perangkat saat ini dapat menggambar.

Berikut adalah representasi arsitektur tumpukan perangkat.

Pengisian Daya USB.

Ketika port USB dilampirkan ke perangkat, driver klien mendapatkan pemberitahuan baik oleh driver filter yang lebih rendah atau gangguan. Saat ini, driver klien melakukan deteksi port dengan berkomunikasi dengan perangkat keras USB dan melaporkan jenis port ke UFX. Secara bergantian, ia dapat meminta driver filter. Dalam hal ini, driver filter berkoordinasi dengan perangkat keras USB untuk melakukan deteksi port USB dan mengembalikan jenis port yang terdeteksi ke driver klien dan driver klien meneruskannya ke UFX.

Berdasarkan jenis port, UFX menentukan jumlah maksimum saat ini yang dapat diambil perangkat dan mengirim informasi tersebut ke Driver Agregasi Pengisian Daya (CAD). CAD memvalidasi informasi. Jika arus valid, CAD mengirimkan permintaan ke driver kelas baterai untuk mulai mengisi daya hingga arus maksimum yang ditentukan. Driver kelas baterai meneruskan permintaan pengisian daya ke driver miniclass baterai untuk diproses. Jika permintaan pengisian daya menentukan bahwa pengisi daya kepemilikan terpasang dan minikel baterai menangani pengisi daya kepemilikan, driver miniclass dapat mencoba mengisi daya dengan arus maksimum yang ditentukannya sesuai. Jika tidak, minikel baterai hanya dapat mengisi daya hingga arus maksimum yang ditentukan oleh CAD.