東坡下載:內(nèi)容最豐富最安全的下載站!

幫助|文件類型庫|最新更新|下載分類|排行榜

開關(guān)定時系統(tǒng)增強磁盤工具安裝制作內(nèi)存工具卸載清除備份恢復(fù)系統(tǒng)其它桌面工具CPU相關(guān)虛擬機

首頁系統(tǒng)工具手機系統(tǒng) → USB Type-C驅(qū)動 官方最新版

USB Type-C驅(qū)動

USB Type-C驅(qū)動官方最新版

  • 大小:11.3M
  • 語言:中文
  • 平臺:WinAll
  • 更新:2017-06-03 11:16
  • 等級:
  • 類型:手機系統(tǒng)
  • 網(wǎng)站:暫無
  • 授權(quán):免費軟件
  • 廠商:
  • 產(chǎn)地:國產(chǎn)軟件
好用好玩 50%(0)
坑爹 坑爹 50%(0)
軟件介紹軟件截圖相關(guān)軟件軟件教程網(wǎng)友評論下載地址

手機的充電接口將統(tǒng)一使用USB Type-C的,它的尺寸小,又纖薄,傳輸速度,不用分方向正反都可以插,借電能力也強,擴展性也不錯,東坡這里附上USB Type-C驅(qū)動程序下載,下面還附上了制作教程,有興趣的可以試一試。

USB Type-C和USB3.1的區(qū)別

USB 3.1是一個行業(yè)標(biāo)準(zhǔn),該標(biāo)準(zhǔn)由英特爾等大公司發(fā)起。USB 3.1最大的特點就是數(shù)據(jù)傳輸極為迅速,理論上速度可以達到10Gbps。而USB  Type-C則是一種連接器的規(guī)范,由Type-C插頭和Type-C插座組成。

在最新的USB  3.1標(biāo)準(zhǔn)中,有三種接口樣式,一個是Type-A(即Standard-A,傳統(tǒng)計算機上最常見的USB接口樣式),一個是Type-B(既Micro-B,目前主流Android智能手機使用的接口樣式),另外一個就是Type-C(即上面提到的全新設(shè)計的接口樣式)。

那么我們應(yīng)該就能很容易理解了。雖然USB Type-C是基于USB 3.1進行設(shè)計的,但這并不意味著使用這種連接方式的設(shè)備就一定都是支持USB  3.1標(biāo)準(zhǔn)的;而與我們所想的正相反的是,對于較為老舊的USB 3.0 Type-A接口的設(shè)備來說,卻是能夠兼容USB 3.1標(biāo)準(zhǔn)的。

編寫 USB Type-C 連接器驅(qū)動程序

UCM 通過使用 WDF 類擴展客戶端驅(qū)動程序模型進行設(shè)計。類擴展 (UcmCx) 是一個 Microsoft 提供的 WDF 驅(qū)動程序,它提供了客戶端驅(qū)動程序可以調(diào)用的接口以報告有關(guān)連接器的信息。UCM 客戶端驅(qū)動程序使用連接器的硬件接口,并保持類擴展注意發(fā)生在控制器上的事件。相反,類擴展調(diào)用客戶端驅(qū)動程序?qū)崿F(xiàn)的回調(diào)函數(shù)來響應(yīng)操作系統(tǒng)事件。

若要啟用系統(tǒng)上的 USB Type-C 連接器,則必須編寫客戶端驅(qū)動程序。

開始之前...

安裝 適用于你的開發(fā)計算機的最新 Windows 驅(qū)動程序工具包 (WDK)。該工具包帶有編寫 UCM 客戶端驅(qū)動程序所需的頭文件和庫,具體來說,你將需要:

你可以編寫可在用戶模式或內(nèi)核模式下運行的 UCM 客戶端驅(qū)動程序。對于用戶模式,它綁定了 UMDF 2.x 庫;對于內(nèi)核模式,它為 KMDF 1.15。對于任意一種模式,編程接口都相同。

存根庫,(UcmCxstub.lib)。該庫將轉(zhuǎn)換由客戶端驅(qū)動程進行的調(diào)用,并將它們傳遞給 UcmCx。

頭文件,UcmCx.h。

確定你的客戶端驅(qū)動程序是否支持 USB Type-C 連接器和 USB 功率輸出的高級功能。

如果支持,你可以使用 USB Type-C 連接器、USB Type-C 擴展塢和附件以及 USB Type-C 充電器生成 Windows 設(shè)備?蛻舳蓑(qū)動程序?qū)蟾嬖试S操作系統(tǒng)實現(xiàn)關(guān)于系統(tǒng)中 USB 和電源消耗的策略的連接器事件。

在你的目標(biāo)計算機上安裝 Windows 10 桌面版(家庭版、專業(yè)版、企業(yè)版和教育版),或使用 USB Type-C 連接器安裝 Windows 10 移動版。

熟悉 UCM 以及它與其他 Windows 驅(qū)動程序交互的方式。請參閱體系結(jié)構(gòu):適用于 Windows 系統(tǒng)的 USB Type-C 設(shè)計。

熟悉 Windows 驅(qū)動程序基礎(chǔ) (WDF)。推薦閱讀:使用 Windows 驅(qū)動程序基礎(chǔ)開發(fā)驅(qū)動程序,由 Penny Orwick 和 Guy Smith 編寫。

UCM 類擴展提供的服務(wù)摘要

UCM 類擴展保持操作系統(tǒng)隨時了解數(shù)據(jù)和電源角色、充電級別和已協(xié)商的 PD 合約發(fā)生的更改。在客戶端驅(qū)動程序與硬件交互時,它必須通知類擴展這些更改發(fā)生的時間。類擴展提供了一組客戶端驅(qū)動程序可用來發(fā)送通知(本主題中已討論)的方法。下面是提供的服務(wù):

數(shù)據(jù)角色配置

在 USB Type-C 系統(tǒng)上,數(shù)據(jù)角色(主機或函數(shù))取決于連接器的 CC 引腳的狀態(tài)。你的客戶端驅(qū)動程序?qū)哪愕亩丝诳刂破髯x取 CC 行(請參閱基礎(chǔ)結(jié)構(gòu):Windows 系統(tǒng)的 USB Type-C 設(shè)計)狀態(tài),以確定該端口已解析為上行端口 (UFP) 還是下行端口 (DFP)。 它會將該信息報告給類擴展,以便它可以將當(dāng)前角色報告給 USB 角色切換驅(qū)動程序。

注意  USB 角色切換驅(qū)動程序在 Windows 10 移動版系統(tǒng)上使用。 在 Windows 10 桌面版系統(tǒng)上,類擴展和角色切換驅(qū)動程序之間的通信是可選的。此類系統(tǒng)可能不使用雙角色控制器,在此情況下,不使用角色切換驅(qū)動程序。

電源角色和充電

你的客戶端驅(qū)動程序?qū)⒆x取 USB Type-C 電流播發(fā),或與合作伙伴連接器協(xié)商 PD 電源合約。

在 Windows 10 移動版系統(tǒng)上,選擇相應(yīng)充電器的決策由軟件輔助?蛻舳蓑(qū)動程序會將合約信息報告給類擴展,以便它可以將充電級別發(fā)送至充電仲裁驅(qū)動程序 (CAD.sys)。CAD 選擇要使用的電流強度,并將充電級別信息轉(zhuǎn)發(fā)到電池子系統(tǒng)。

在 Windows 10 桌面版系統(tǒng)上,由硬件選擇相應(yīng)的充電器?蛻舳蓑(qū)動程序可以選擇獲取該信息,并將其轉(zhuǎn)發(fā)到類擴展;蛘,該邏輯可以由不同的驅(qū)動程序?qū)崿F(xiàn)。

數(shù)據(jù)和電源角色更改

在協(xié)商 PD 合約后,數(shù)據(jù)角色和電源角色可能會發(fā)生更改。這一更改可能由你的客戶端驅(qū)動程序或合作伙伴連接器引發(fā)。 客戶端驅(qū)動程序會將該信息報告給類擴展,以便它可以相應(yīng)地重新配置一些內(nèi)容。

數(shù)據(jù)和/或電源角色更新

操作系統(tǒng)可能會確定當(dāng)前數(shù)據(jù)角色不正確。 在此種情況下,類擴展將調(diào)用你的驅(qū)動程序的回調(diào)函數(shù),以執(zhí)行必要的角色交換操作。

客戶端驅(qū)動程序的預(yù)期行為

你的客戶端驅(qū)動程序負責(zé)執(zhí)行以下任務(wù):

檢測 CC 行上的變化,并確定合作伙伴的類型(如 UFP、DFP 等)。 為此,驅(qū)動程序必須實現(xiàn)完整的 Type-C 狀態(tài)機,如 USB Type-C 規(guī)范中所定義。

根據(jù)在 CC 行上檢測到的方向,配置你的 Mux。 這包括打開你的 PD 發(fā)射器/接收器,并處理和響應(yīng) PD 消息。 為此,驅(qū)動程序必須實現(xiàn)完整的 PD 接收器和發(fā)射器狀態(tài)機(如 USB 功率輸出 2.0 規(guī)范中定義)。

做出 PD 策略決策,如協(xié)商合約(作為源或接收器)、角色交換等。 客戶端驅(qū)動程序負責(zé)確定最合適的合約。

播發(fā)和協(xié)商備用模式,并在檢測到備用模式時配置 Mux?蛻舳蓑(qū)動程序負責(zé)確定要協(xié)商的備用模式。

對連接器的 VBus/VConn 控制。

1. 初始化 UCM 連接器對象 (UCMCONNECTOR)

UCM 連接器對象 (UCMCONNECTOR) 表示 USB Type-C 連接器,并且是 UCM 類擴展和客戶端驅(qū)動程序之間的主要句柄。該對象跟蹤連接器的操作模式和電源功能。

下面是客戶端驅(qū)動程序檢索連接器的 UCMCONNECTOR 句柄的序列摘要。調(diào)用 WdfDeviceCreate 后,在你的驅(qū)動程序的 EvtDriverDeviceAdd 回調(diào)函數(shù)中執(zhí)行這些任務(wù)來創(chuàng)建框架設(shè)備對象。

通過向 UCM_MANAGER_CONFIG 結(jié)構(gòu)傳遞引用來調(diào)用 UcmInitializeDevice。

在 UCM_MANAGER_CONFIG 結(jié)構(gòu)中,指定 UCM_CONNECTOR_TYPEC_CONFIG 結(jié)構(gòu)中 USB Type-C 連接器的初始化參數(shù)。這包括連接器的操作模式,無論它是下行端口、上行端口,還是支持雙重角色的端口。當(dāng)連接器是電源時,它還將指定 USB Type-C 電流強度?梢詫 USB Type-C 連接器進行設(shè)計,以便它可以充當(dāng) 3.5 毫米音頻插孔。如果硬件支持該功能,則必須相應(yīng)地初始化連接器對象。

在結(jié)構(gòu)中,還必須注冊客戶端驅(qū)動程序的回調(diào)函數(shù),以便處理數(shù)據(jù)角色。

此回調(diào)函數(shù)與由 UCM 類擴展調(diào)用的連接器對象相關(guān)聯(lián)。 此函數(shù)必須由客戶端驅(qū)動程序?qū)崿F(xiàn)。

EVT_UCM_CONNECTOR_SET_DATA_ROLE

當(dāng)連接到合作伙伴連接器時,將連接器的數(shù)據(jù)角色交換為指定的角色。

如果你的客戶端驅(qū)動程序想要支持 PD(即能夠處理連接器的功率輸出 2.0 硬件實現(xiàn)),還必須初始化 UCM_CONNECTOR_PD_CONFIG 結(jié)構(gòu),該結(jié)構(gòu)可指定 PD 初始化參數(shù)。這包括電源流,不管連接器是電源接收器還是電源。

在結(jié)構(gòu)中,還必須注冊客戶端驅(qū)動程序的回調(diào)函數(shù),以便處理電源角色。

此回調(diào)函數(shù)與由 UCM 類擴展調(diào)用的連接器對象相關(guān)聯(lián)。 此函數(shù)必須由客戶端驅(qū)動程序?qū)崿F(xiàn)。

EVT_UCM_CONNECTOR_SET_POWER_ROLE

當(dāng)連接到合作伙伴連接器時,將連接器的電源角色設(shè)置為指定的角色。

調(diào)用 UcmConnectorCreate 并檢索連接器的 UCMCONNECTOR 句柄。請確保在返回你的客戶端驅(qū)動程序的 EvtDevicePrepareHardware 之前調(diào)用此方法。

2. 報告合作伙伴連接器附加事件

當(dāng)檢測到與合作伙伴連接器連接時,客戶端驅(qū)動程序必須調(diào)用 UcmConnectorTypeCAttach 。此調(diào)用將通知 UCM 類擴展,從而進一步通知操作系統(tǒng)。此時,系統(tǒng)可以開始以 USB Type-C 級別充電。

UCM 類擴展也會通知 USB 角色切換驅(qū)動程序 (URS)。根據(jù)合作伙伴的類型,URS 配置主機角色或函數(shù)角色中的控制器。調(diào)用此方法之前,請確保你的系統(tǒng)上的 Mux 已正確配置。否則,如果系統(tǒng)處于函數(shù)角色中,它將以不正確的速度(高速而不是 SuperSpeed)連接。

3. 報告 USB Type-C 播發(fā)更改

在初始附加事件中,合作伙伴連接器會發(fā)送電流播發(fā)。如果合作伙伴是 USB Type-C 下行端口,播發(fā)將指定合作伙伴連接器的電流強度。否則,由 UCMCONNECTOR 句柄(本地連接器)表示的播發(fā)將指定本地連接器的電流強度。此初始播發(fā)可能會在連接的生存期內(nèi)發(fā)生更改。這些更改必須由客戶端驅(qū)動程序監(jiān)視。

如果本地連接器是電源接收器,并且電流播發(fā)發(fā)生更改,則客戶端驅(qū)動程序必須 檢測電流播發(fā)中的更改并將其報告給類擴展。在 Windows 10 移動版系統(tǒng)上,該信息由 CAD.sys 和電池子系統(tǒng)用于調(diào)整它從源抽取的電流量。若要將電流強度中的更改報告給類擴展,客戶端驅(qū)動程序必須調(diào)用UcmConnectorTypeCCurrentAdChanged。

4. 報告新協(xié)商的 PD 合約

如果你的連接器支持 PD,那么在初始附加事件后,將有 PD 消息在連接器及其合作伙伴連接器之間進行傳輸。在這兩個合作伙伴之間,PD 合約的協(xié)商將確定連接器可以吸收的或允許合作伙伴吸收的電流強度。每次 PD 合約發(fā)生更改時,客戶端驅(qū)動程序都必須調(diào)用這些方法,以便將更改報告給類擴展。

每當(dāng)客戶端驅(qū)動程序獲取來自合作伙伴的源功能播發(fā)(主動提供或其他方式)時,它都必須調(diào)用這些方法。本地連接器(接收器)僅在合作伙伴是源時從合伙伙伴處獲取主動提供的播發(fā)。此外,本地連接器可以從能夠成為源的合作伙伴(即使該合作伙伴當(dāng)前是接收器)顯式請求源功能。 通過向該合作伙伴發(fā)送Get_Source_Caps 消息來完成此交換。

調(diào)用 UcmConnectorPdPartnerSourceCaps 以報告由合作伙伴連接器播發(fā)的源功能。

調(diào)用 UcmConnectorPdConnectionStateChanged 以報告合約的詳細信息。在“請求數(shù)據(jù)對象”中對該合約進行了描述,如功率輸出 2.0 規(guī)范中所定義。

相反,每次本地連接器(源)向合作伙伴播發(fā)源功能時,客戶端驅(qū)動程序都必須調(diào)用這些方法。此外,當(dāng)本地連接器收到來自合作伙伴的 Get_Source_Caps 消息時,他必須使用本地連接器的源功能響應(yīng)。

調(diào)用 UcmConnectorPdSourceCaps 以報告由系統(tǒng)播發(fā)到合作伙伴連接器的源功能。

調(diào)用 UcmConnectorPdConnectionStateChanged 以報告當(dāng)前已協(xié)商的 PD 合約的連接功能。

5. 報告電池充當(dāng)狀態(tài)

如果充電級別不恰當(dāng),客戶端驅(qū)動程序可能會通知 UCM 類擴展。 類擴展會將此信息報告給操作系統(tǒng)。系統(tǒng)會使用此信息顯示一條用戶通知,即充電器未以最佳狀態(tài)給系統(tǒng)充電。 可通過以下方法來報告充電狀態(tài):

這些方法可指定充電狀態(tài)。如果報告的級別為 UcmChargingStateSlowCharging 或 UcmChargingStateTrickleCharging(請參閱UCM_CHARGING_STATE),操作系統(tǒng)將顯示用戶通知。

6. 報告 PR_Swap/DR_Swap 事件

如果連接器從合作伙伴接收電源角色 (PR_Swap) 或數(shù)據(jù)角色 (DR_Swap) 交換消息,則客戶端驅(qū)動程序必須通知 UCM 類擴展。

UcmConnectorDataDirectionChanged

在處理 PD DR_Swap 消息后,調(diào)用此方法。完成此調(diào)用后,操作系統(tǒng)會將新角色報告給 URS,這將刪除現(xiàn)有角色驅(qū)動程序,并為新角色加載驅(qū)動程序。

UcmConnectorPowerDirectionChanged

在處理 PD PR_Swap 消息后,調(diào)用此方法。在 PR_Swap 之后,需要重新協(xié)商 PD 合約?蛻舳蓑(qū)動程序必須通過調(diào)用步驟 4 中所述的方法報告該 PD 合約協(xié)商。

7. 實現(xiàn)回調(diào)函數(shù)來處理電源和數(shù)據(jù)角色交換請求

UCM 類擴展可能會收到更改連接器的數(shù)據(jù)或電源方向的請求。在此情況下,它將調(diào)用客戶端驅(qū)動程序的 EVT_UCM_CONNECTOR_SET_DATA_ROLE 和EVT_UCM_CONNECTOR_SET_POWER_ROLE 回調(diào)函數(shù)的實現(xiàn)(如果連接器實現(xiàn) PD)。客戶端驅(qū)動程序之前在調(diào)用 UcmConnectorCreate 時已注冊過這些函數(shù)。

客戶端驅(qū)動程序通過使用硬件接口執(zhí)行角色交換操作。

EVT_UCM_CONNECTOR_SET_DATA_ROLE

在回調(diào)實現(xiàn)中,客戶端驅(qū)動程序可以:

將 PD DR_Swap 消息發(fā)送到端口合作伙伴。

調(diào)用 UcmConnectorDataDirectionChanged 來通知類擴展該消息序列已成功或未成功完成。

EVT_UCM_CONNECTOR_SET_POWER_ROLE

在回調(diào)實現(xiàn)中,客戶端驅(qū)動程序可以:

調(diào)用UcmConnectorPowerDirectionChanged 來通知類擴展該消息序列已成功或未成功完成。

注意  

客戶端驅(qū)動程序可以異步(即不是從回調(diào)線程)調(diào)用 UcmConnectorDataDirectionChanged 和 UcmConnectorPowerDirectionChanged。在典型的實現(xiàn)中,類擴展調(diào)用回調(diào)函數(shù),該回調(diào)函數(shù)導(dǎo)致客戶端驅(qū)動程序啟動硬件事務(wù)來發(fā)送消息。當(dāng)該事務(wù)完成時,硬件將通知驅(qū)動程序。驅(qū)動程序?qū)⒄{(diào)用這些方法來通知類擴展。

8.報告合作伙伴連接器分離事件

客戶端驅(qū)動程序必須在結(jié)束連接合作伙伴連接器時調(diào)用 UcmConnectorTypeCDetach 。此調(diào)用將通知 UCM 類擴展,從而進一步通知操作系統(tǒng)。

使用案例示例:已連接到電腦的移動設(shè)備

當(dāng)運行 Windows 10 移動版的設(shè)備通過 USB Type-C 連接連接到運行 Windows 10 桌面版的電腦時,操作系統(tǒng)將確保該移動設(shè)備是上行端口 (UFP),因為只有在此方向下 MTP 才能正常運行。 在此情況下,以下是數(shù)據(jù)角色更正的序列:

運行于移動設(shè)備上的客戶端驅(qū)動程序通過調(diào)用 UcmConnectorTypeCAttach 來報告一個附加事件,并且將合作伙伴連接器報告為下行端口 (UFP)。

客戶端驅(qū)動程序通過調(diào)用 UcmConnectorPdPartnerSourceCaps 和 UcmConnectorPdConnectionStateChanged 來報告 PD 合約。

UCM 類擴展將通知 USB 設(shè)備端驅(qū)動程序,從而使這些驅(qū)動程序響應(yīng)來自主機的枚舉。操作系統(tǒng)信息通過 USB 進行交換。

UCM 類擴展 UcmCx 將調(diào)用客戶端驅(qū)動程序的回調(diào)函數(shù)來更改角色:EVT_UCM_CONNECTOR_SET_DATA_ROLE 和EVT_UCM_CONNECTOR_SET_POWER_ROLE。

注意  如果兩臺 Windows 10 移動版設(shè)備互相連接,將不執(zhí)行角色交換,并且系統(tǒng)將通知用戶該連接無效。

PC官方
安卓官方手機版
IOS官方手機版

USB Type-C驅(qū)動截圖

下載地址

USB Type-C驅(qū)動 官方最新版

熱門評論
最新評論
發(fā)表評論 查看所有評論(0)
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)

編輯推薦

報錯

請簡要描述您遇到的錯誤,我們將盡快予以修正。

轉(zhuǎn)帖到論壇
輪壇轉(zhuǎn)帖HTML方式

輪壇轉(zhuǎn)帖UBB方式