Aracılığıyla paylaş


USB Type-C® bağlayıcı sistemi yazılım arabirimi (UCSI) sürücüsü

Microsoft, Gelişmiş Yapılandırma ve Güç Arabirimi (ACPI) aktarımı için USB Type-C® Bağlayıcı Sistemi Yazılım Arabirimi (UCSI) belirtim uyumlu bir sürücü sağlar. Tasarımınız ACPI taşımalı bir katıştırılmış denetleyici içeriyorsa, sisteminizin BIOS/EC'sine UCSI uygulayın ve yerleşik UCSI sürücüsünü (UcmUcsiCx.sys ve UcmUcsiAcpiClient.sys) yükleyin.

UCSI uyumlu donanımınız ACPI dışında bir aktarım kullanıyorsa,bir UCSI istemci sürücüsü yazmanız gerekir.

Ekli denetleyicileri olan sistemler için USB Type-C bileşenlerini destekleyen sürücüler

Ekli denetleyiciye sahip bir sistem örneği aşağıda verilmiştır.

USB Type-C yazılım bileşenlerinin diyagramı.

USB rol değiştirme, sistemin üretici yazılımında işlenir. USB Rol Değiştirici sürücü yığını yüklenmedi. Başka bir sistemde çift rol desteklenmediğinden sürücü yığını yüklenmeyebilir.

  • USB cihaz tarafı sürücüleri

    USB cihaz-ağırlıklı sürücüler, işlev/cihaz/çevre birimi için hizmeti sağlar. USB işlev denetleyicisi sınıf uzantısı, BC 1.2 şarj cihazları kullanılarak Medya Aktarım Protokolü (MTP) ve şarj etme desteği sunar. Microsoft, Synopsys USB 3.0 ve ChipIdea USB 2.0 denetleyicileri için yerleşik istemci sürücüleri sağlar. USB işlev denetleyicisi istemci sürücüsü programlama arabirimlerini kullanarak işlev denetleyiciniz için özel bir istemci sürücüsü yazabilirsiniz. Daha fazla bilgi için bkz. USB işlev denetleyicileri için Windows sürücüleri geliştirme.

    SoC satıcısı, şarj cihazı algılama için USB işlevi alt filtre sürücüsünü sağlayabilir. Yerleşik Synopsys USB 3.0 veya ChipIdea USB 2.0 istemci sürücüsünü kullanıyorsanız, kendi filtre sürücünüzü uygulayabilirsiniz.

  • USB ana bilgisayar tarafı sürücüleri

    USB ana bilgisayar tarafı sürücüleri, EHCI veya XHCI uyumlu USB ana bilgisayar denetleyicileriyle çalışan bir sürücü kümesidir. Rol değiştirme sürücüsü ana bilgisayar rolünü algılarsa, sürücüler yüklenir. Konak denetleyiciniz spesifikasyona uygun değilse, USB ana denetleyici uzantısı programlama arabirimini kullanarak özel bir sürücü yazabilirsiniz. Daha fazla bilgi için bkz. USB ana bilgisayar denetleyicileri için Windows sürücüleri geliştirme.

  • USB bağlayıcı yöneticisi

    Microsoft, USB Type-C Bağlayıcı Sistemi Yazılım Arabirimi Belirtimiiçinde tanımlanan özellikleri uygulayan Windows (UcmUcsiCx.sys) ile birlikte bir UCSI yerleşik sürücüsü sağlar. Belirtim, UCSI'nin özelliklerini açıklar. Donanım bileşeni tasarımcıları, sistem oluşturucuları ve cihaz sürücüsü geliştiricileri için yazmaçları ve veri yapılarını açıklar.

    Bu sürücü, katıştırılmış denetleyicilere sahip sistemlere yöneliktir. Bu sürücü, Microsoft tarafından sağlanan USB bağlayıcı yöneticisi sınıf uzantısı sürücüsüne (Ucmcx.sys) bir istemcidir. Sürücü, verileri veya güç rollerini değiştirmek için üretici yazılımına istek başlatma ve kullanıcıya sorun giderme iletileri sağlamak için gereken bilgileri alma gibi görevleri işler.

Windows için gereken UCSI komutları

Tüm UCSI uygulamalarında gerekli olan komutlar için UCSI belirtimine bakın.

Gerekliolarak işaretlenen komutlara ek olarak, Windows şu komutları gerektirir:

  • ALTERNATİF_MODLARİ_AL
  • KAMERA_DESTEKLENİYOR
  • GET_PDOS
  • SET_NOTIFICATION_ENABLE: Sistem veya denetleyici SET_NOTIFICATION_ENABLE aşağıdaki bildirimleri desteklemelidir:
    • Desteklenen Sağlayıcı Kapasiteleri Değişikliği
    • Anlaşmalı Güç Düzeyi Değişikliği
  • GET_CONNECTOR_STATUS: Sistem veya denetleyici, GET_CONNECTOR_STATUS şu bağlayıcı durumu değişikliklerini desteklemelidir:
    • Desteklenen Sağlayıcı Kapasiteleri Değişikliği
    • Anlaşmalı Güç Düzeyi Değişikliği

Daha fazla bilgi için bkz. UCSI'nin Intel BIOS Uygulaması.

UCM-UCSI için UCSI 2.0 ve üzeri ACPI cihazı

Windows 11'in 22H2 Eylül Güncellemesi ile birlikte, Windows UCM-UCSI ACPI cihaz sürücüleri UCSI spesifikasyonunun 2.0 ve 2.1 sürümlerini destekler. UCSI 2.0 şartnamesi, UCSI şartnamesi Tablo 3-1 Veri Yapıları'de tanımlandığı gibi veri yapılarının bellek eşlemesinde uyumsuzluğa neden olan değişiklikler içermektedir.

Geriye dönük uyumluluğu korumak için Windows, ACPI üretici yazılımında UCM-UCSI ACPI cihaz altında aşağıdaki _DSM işlevini uygulamak ve UCSI OPM'nin bildirilen UCSI belirtim sürümünü izlemesi gerektiğini belirtmek için sıfır olmayan bir değer döndürmek için belirtim sürüm 2.0 veya üzeri UCSI PPM gerektirir.

  • Arg0: UUID = 6F8398C2-7CA4-11E4-AD36-631042B5008F
  • Arg1: Revizyon Kimliği = 0
  • Arg2: İşlev dizini = 5
  • Arg3: Boş paket (kullanılmaz)

Dönüş değeri:

Öğe Nesne türü Açıklama
UsePpmReportedUcsiVersion Tamsayı (32 bit) 0x00000000 (Varsayılan): VERSION tanımlanan yapısı 2.0 veya üzeri bir değere sahipse, UCSI OPM yine de UCSI belirtimi 1.2'yi izler. Aksi takdirde UCSI OPM, VERSION yapısındaki değere göre UCSI belirtimini izler.

Not

UCM-UCSI ACPI cihazları için bu işlev mevcut bir _DSM yönteminde yenidir. Bu _DSM yönteminin diğer işlevleri, UCSI belgesinin Intel BIOS uygulamasına göre uygulanmalıdır. Desteklenen tüm işlevlerin bit maskesi döndüren 0 işlevi de buna göre güncelleştirilmelidir.

UCSI için örnek akış

Bu bölümdeki örneklerde USB Type-C donanım/üretici yazılımı, UCSI sürücüsü ve işletim sistemi arasındaki etkileşim açıklanmaktadır.

DRP rol algılama

  1. USB Type-C donanım/üretici yazılımı, cihaz ekleme olayını algılar. Windows 10 sistemi DRP sistemi başlangıçta UFP rolüne dönüşür.

    1. Üretici yazılımı bağlayıcıda bir değişiklik olduğunu belirten bir bildirim gönderir.
    2. UCSI sürücüsü bir GET_CONNECTOR_STATUS isteği gönderir.
    3. Üretici yazılımı, Bağlantı Durumu = 1 ve Bağlayıcı İş Ortağı Türü = DFPşeklinde yanıt verir.
  2. USB işlev yığınındaki sürücüler numaralandırmaya yanıt verir.

  3. USB bağlayıcı yöneticisi sınıf uzantısı, USB işlev yığınının yüklendiğini algılar, bu nedenle sistem yanlış durumdadır. UCSI sürücüsüne, üretici yazılıma USB İşlem Rolünü Ayarla ve Güç Yönü Rolünü Ayarla isteklerini göndermesini söyler.

  4. USB Type-C donanım/üretici yazılımı, DFP ile rol değiştirme işlemini başlatır.

Şarj cihazı uyumsuzluğu hata durumunu algılama

  1. USB Type-C donanım/üretici yazılımı, bir şarj cihazının bağlı olduğunu algılar ve varsayılan bir güç sözleşmesini müzakere eder. Ayrıca şarj cihazının sisteme yeterli güç sağlamadığını da gözlemler.

  2. USB Type-C donanım/üretici yazılımı yavaş şarj bitini ayarlar.

    1. Üretici yazılımı bağlayıcıda bir değişiklik olduğunu belirten bir bildirim gönderir.
    2. UCSI sürücüsü bir GET_CONNECTOR_STATUS isteği gönderir.
    3. Üretici yazılımı, Bağlantı Durumu = 1, Bağlayıcı İş Ortağı Türü = DFPve Pil Şarj Durumu = Slow/Trickleile yanıt verir.
  3. USB bağlayıcı yöneticisi sınıf uzantısı, şarj cihazı uyuşmazlığı sorun giderme iletisini görüntülemek için kullanıcı arabirimine bildirim gönderir.

UCSI'yi test etme

UCSI uygulamanızı test etmenin birçok yolu vardır. UCSI BIOS/EC uygulamanızdaki komutları tek tek test etmek için , Microsoft USB Test Aracı (MUTT) yazılım paketinde sağlanan UCSIControl.exekullanın. Tam UCSI uygulamanızı test etmek için hem Windows Donanım Laboratuvar Seti'nde (HLK) bulunabilen UCSI testlerini hem deType-C El ile Birlikte Çalışma Yordamları'ndaki adımları kullanın.

UCSIControl.exe

UCSIControl.exekullanarak UCSI BIOS/EC uygulamanızda tek tek komutları test edebilirsiniz. Bu araç, UCSI sürücüsü aracılığıyla üretici yazılımına UCSI komutları göndermenizi sağlar. Sürücünün yüklenmesini ve çalıştırılmasını gerektirir. Ayrıca, sürücüye ilişkin test arabirimi de etkindir. Varsayılan olarak, perakende sisteminde yetkisiz kullanıcılar tarafından erişilebilir olmasını önlemek için bu arabirim etkinleştirilmez.

  1. UCSI USB Bağlayıcı Yöneticisiadlı Cihaz Yöneticisi'nde (devmgmt.msc) cihaz düğümünü bulun. Düğüm, Evrensel Seri Veri Yolu denetleyicileri kategorisi altındadır.

  2. Cihazı seçin ve basılı tutun veya sağ tıklayın. Özellikler'i seçin ve Ayrıntılar sekmesini açın.

  3. Açılan menüden Cihaz Örneği Yolu'nu seçin ve özellik değerini not edin.

  4. Kayıt Defteri Düzenleyicisi'ni (regedit.exe) açın.

  5. Bu anahtarın altındaki cihaz örneği yoluna gidin.

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\<device-instance-path>\Device Parameters

  6. TestInterfaceEnabled adlı bir DWORD değeri oluşturun ve değeri 0x1 olarak ayarlayın.

  7. Cihazı yeniden başlatmak için Cihaz Yöneticisi'ndeki cihaz düğümünde Devre Dışı Bırak'ı ve ardından Etkinleştir'i seçin. Alternatif olarak, bilgisayarı yeniden başlatabilirsiniz.

UcsiControl.exe /? komutunu çalıştırarak yardımı görüntüleyebilirsiniz.

Yaygın komutlar şunlardır:

UCSI komutu UcsiControl.exe komutu
PPM Sıfırlama UcsiControl.exe Gönder 0 1
Bağlayıcı Sıfırlama Geçici sıfırlama: UcsiControl.exe Gönder 0 10003

Sabit sıfırlama: UcsiControl.exe Gönder 0 810003
Bildirim Etkinleştirmeyi Ayarla Tüm bildirimler: UcsiControl.exe Gönder 0 ffff0005

Yalnızca komut tamamlama: UcsiControl.exe Gönder 0 00010005

Bildirim yok: UcsiControl.exe Gönder 0 00000005
Yeteneği Al UcsiControl.exe Gönder 0 6
Bağlayıcı Özelliğini Alma UcsiControl.exe Gönder 0 10007
UOM Ayarlama DFP: UcsiControl.exe Gönder 0 810008

UFP: UcsiControl.exe Gönder 0 1010008

DRP: UcsiControl.exe Gönder 0 2010008
UOR'yı ayarlama DFP: UcsiControl.exe Gönder 0 810009

UFP: UcsiControl.exe Gönder 0 1010009

Kabul Et: UcsiControl.exe Gönder 0 2010009
PDR'yi ayarlama Sağlayıcı: UcsiControl.exe Gönder 0 81000B

Tüketici: UcsiControl.exe Gönder 0 101000B

Kabul Et: UcsiControl.exe Gönderme 0 201000B
PDO'ları al Yerel Kaynak: UcsiControl.exe Gönder 7 00010010

Yerel Veri Yönlendirme Noktası: UcsiControl.exe Gönder 3 00010010

Uzak Kaynak: UcsiControl.exe Gönder 7 00810010

Uzak Havuz: UcsiControl.exe Gönder 3 00810010
Bağlayıcı Durumunu Alma UcsiControl.exe Gönder 0 010012
Hata Durumunu Al UcsiControl.exe Gönder 0 13