用於檢測用於C型連接器的充電器和遠程主機的系統的製作方法
2023-05-21 01:51:51 4

相關申請的交叉引用
本申請要求於2014年12月23日提交的美國專利申請no.14/582,160的申請日的權益,其通過引用結合在此。
本公開大體上涉及響應於設備檢測的埠配置。具體地,本公開涉及在多個埠共享設備控制器時在充電器和遠程主機之間進行區分。
背景技術:
c型通用串行總線(usb)連接器是小於先前的usb連接器並且能夠實現與使能翻轉的usb插座連接的usb連接器。在一些情況下,c型usb連接器是usb設備的主充電連接器。在具有多個usb埠的系統中,每個埠可以共享單個設備控制器。例如,第一usb設備可以處於設備模式並且映射到設備控制器,同時第二設備(諸如usb主機、usb設備或遠程主機)正嘗試以功能方式連接至系統。
附圖說明
圖1是具有共享設備控制器的系統;
圖2是包括共享設備控制器的系統;
圖3是檢測用於usbc型連接器的充電器和主機的過程流程圖;
圖4是充電器檢測過程的過程流程圖;
圖5是圖示嵌入式控制器膠連邏輯與c型埠膠連邏輯之間的通信的梯形圖;
圖6是示出存儲用於在充電器和usbc型主機之間進行區分的代碼的有形非暫時性計算機可讀介質的方框圖;以及
圖7是示例性計算機系統的方框圖。
在一些情況下,相同數字貫穿本公開和各圖用來指代類似的組件和特徵。100系列中的數字指代最初在圖1中找到的特徵;200系列中的數字指代最初在圖2中找到的特徵;諸如此類。
具體實施方式
c型usb連接器使得能夠以多個線纜取向實現與usb設備的連接。usbc型埠可以是能夠支持多個不同協議的多模式埠。這樣的協議可以包括:快速外圍組件互連(pci)(pcie)規範、諸如2010年11月10日發布的pcie3.0;通用串行總線(usb)規範,諸如2013年7月26日發布的usb3.1規範,或者串行ata(sata)規範,諸如2013年8月公布的sata3.2規範。雖然在此描述了usb,但由於可以使用任意輸入/輸出(i/o)協議,其可以用作示例。在具有多個usb埠的系統的情況下,一個設備控制器可以控制若干usb埠的操作。設備控制器可以使能設備與系統中的其他資源之間的連接性。例如,設備控制器可以提供用於數據通信和功率輸送功能性的接口。設備控制器也可以支持用於連接至系統的usb設備的各種操作模式。操作模式包括配件模式、交替模式、音頻適配器配件模式、調試配件模式和交替模式。
在系統的埠經由c型連接器與簡單充電器耦合時,基於如在2014年8月11日發布的usbc型規範1.0中定義的配置通道(cc)檢測,usbc型連接器配置在面向上遊埠(ufp)。如在此使用的,簡單充電器是不支持根據2014年8月11日發布的usb功率輸送規範修訂版2.0的usb功率輸送的充電器。簡單充電器也將自身呈現為對於系統的面向下遊埠(dfp)並且不具有任何主機能力。根據usbc型規範,在設備控制器未映射到任意其他埠時,連接至簡單充電器的c型埠被分配給設備控制器。在簡單充電器被附接時,cc檢測將附接的dfp的指示作為簡單充電器給出,而不指示dfp的類型。因此,簡單充電器可以將系統的資源捆綁為與usb連接中的數據流相關聯的主機、集線器、設備或任意usb組件。在簡單充電器映射到設備控制器時後續連接的設備不可以訪問設備控制器,直到簡單充電器被脫離之後。
在此描述的實施例使得系統能夠檢測連接至c型連接器的充電器和主機。設備控制器可以支持多個usb埠。在實施例中,裝置包括usbc型埠以及usb接收器檢測器。充電器和遠程主機基於usb接收器檢測器來區分。
在以下描述中,為了提供對本發明的透徹理解,闡述了許多具體細節,諸如具體類型的處理器和系統配置、具體硬體結構、具體架構和微架構細節、具體寄存器配置、具體指令類型、具體系統組件、具體測量值/高度、具體處理器流水線級和操作等的示例。然而,對於本領域的技術人員來說將清楚的是,這些具體細節並不必需被採用來實施本發明。在其他實例中,公知的組件或方法(諸如具體和可替代的處理器架構、用於所描述的算法的具體邏輯電路/代碼、具體固件代碼、具體互連操作、具體邏輯配置、具體製造技術和材料、具體編譯器實施方式、代碼中算法的具體表達、具體的掉電和門控技術/邏輯和計算機系統的其他具體操作細節)並未詳細描述以免不必要地模糊本發明。
雖然以下實施例可能參照具體集成電路中(諸如計算平臺或微處理器中)的節能和能量效率來描述,但其他實施例也可應用於其他類型的集成電路和邏輯設備。在此描述的實施例的類似技術和教導可以應用於也可能從更好的能量效率和節能中受益的其他類型的電路或半導體設備。例如,所公開的實施例不限於臺式計算機系統或ultrabooktm。並且,也可以用於其他設備中,諸如手持設備、平板計算機、其他薄筆記本、片上系統(soc)設備以及嵌入式應用。手持設備的一些示例包括蜂窩電話、網際協議設備、數字相機、個人數字助理(pda)和手持pc。嵌入式應用通常包括微控制器、數位訊號處理器(dsp)、片上系統、網絡計算機(netpc)、機頂盒、網絡集線器、廣域網(wan)交換機,或者可以執行以下教導的功能和操作的任意其他系統。此外,在此描述的裝置、方法和系統不限於物理計算裝置,而是也可以涉及用於節能和能量效率的軟體優化。如在以下描述中容易變得清楚的,在此描述的方法、裝置和系統的實施例(無論是否涉及硬體、固件、軟體或其組合)對於與性能考量相平衡的「綠色科技」未來是至關重要的。
隨著計算系統不斷進步,其中的組件正變得更加複雜。結果,用於組件之間的耦合和通信的互連在複雜性上也日益增加以確保帶寬要求滿足最優的組件操作。此外,不同市場區段需求互連架構的不同方面以適應市場需求。例如,伺服器要求較高性能,而移動生態系統有時能夠為了節省功率而犧牲總體性能。再者,在最大節能的情況下提供最高可能性能是大多數組織的唯一目的。以下,討論了多種互連,其將潛在地受益於在此描述的本發明的方面。
圖1是具有共享設備控制器的系統100。系統100包括片上系統(soc)102。在實施例中,系統100可以包括平臺控制器中心(pch)而非soc102。系統100還包括usb主機控制器104和usb設備控制器106。usb主機控制器104可以包括用於與主機控制器驅動器通信的硬體以及用於管理來往於配置為主機的usb設備的信號的硬體。usb主機控制器104可以實施功率管理方案以及支持所有usb設備速度。類似地,usb設備控制器106可以包括用於與設備控制器驅動器通信的硬體以及用於管理來往於配置為設備的usb設備的信號的硬體。usb設備控制器106可以實施功率管理方案以及支持所有usb設備速度。
usb主機控制器104以及usb設備控制器106與多個交換機108耦合。在實施例中,交換機108可以控制哪些埠映射到usb主機控制器104以及哪些埠映射到usb設備控制器106。因此,交換機控制usb埠110和usb埠112。每個埠支持來自usbc型插座114以及usbc型插座116的各種usb信號。
c型插座可以包括超速usb引腳、usb2.0引腳、輔助信號引腳、功率引腳、接地引腳以及配置引腳。超速信號用於實施usb3.1信令,而usb2.0引腳用於實施usb2.0功能性。輔助信號引腳可以用於使能邊帶信令。功率引腳包括vbus和vconn。具體地,vbus用於使能usb線纜總線功率並且在跨cc的dfp到ufp連接呈現時被呈現。另外,vconn應用於未使用的cc引腳以向本地插頭供應功率。接地引腳包括返地電流路徑,並且cc引腳用於檢測連接並且配置跨usbc型線纜和連接器的接口。c型引腳和信令在usbc型規範中有進一步描述。
反饋機構118可以訪問usb信號120和usb信號122並且將反饋提供給soc102。在實施例中,反饋機構118將反饋提供給usb設備控制器106。具體地,設備控制器106可以訪問來自usbc型連接的cc引腳的反饋以便確定與每個usb埠110和112耦合的設備的類型。
圖2是包括共享設備控制器的系統200。平臺201包括usb主機控制器204和usb設備控制器206。usb主機控制器204可以包括用於與主機控制器驅動器通信的硬體以及用於管理來往於usb設備的信號的硬體。usb主機控制器可以實施功率管理方案以及支持所有usb設備速度。類似地,usb設備控制器206可以包括用於與設備控制器驅動器通信的硬體以及用於管理來往於usb設備的信號的硬體。usb主機控制器可以實施功率管理方案以及支持所有usb設備速度。
在實施例中,在此描述的設備控制器206是可擴展設備控制器接口(xdci),其中xdci是usb擴展設備類控制器。具體地,xdci可以是用於諸如2013年7月26日發布的usb規範修訂版3.1的任意通用串行總線規範的寄存器級設備控制器。xdci也可以描述系統軟體與設備控制器硬體之間的硬體/軟體接口。在實施例中,xdci根據2014年8月11號發布的usb功率輸送規範修訂版2.0、v1.0來使能系統軟體與設備控制器硬體之間的功率高效接口。
主機控制器204和設備控制器206與復用器208耦合。復用器208將主機控制器204和設備控制器206與usb埠210和usb埠212連接。usb埠210可以與usbc型插座214耦合。類似地,usb埠212可以與usbc型插座216耦合。每個埠支持來自usb埠的各種usb信號。雖然在本申請描述了特定信號和引腳,但本技術可以使用如由usbc型規範描述的任意c型信號。
具體地,超速差分對(ssrxp1和ssrxn1)218a使能來自usb埠210的超速支持,並且超速差分對(ssrxp1和ssrxn1)218b使能來自usb埠212的超速支持。usb2.0差分對(dp1和dn1)220a使能針對usb埠210處的usb2.0信令的支持,並且usb2.0差分對(dp1和dn1)220b使能針對usb埠212處的usb2.0信令的支持。第二超速差分對(ssrxp1和ssrxn1)222a使能來自usb埠210的超速支持,並且超速差分對(ssrxp1和ssrxn1)222b使能來自usb埠212的超速支持。配置通道(cc)信號224a和cc信號224b用於確定平臺210與經由各自c型連接器和插座組合連接的設備之間的關係。換言之,cc信號用於確定usb埠是否配置為支持主機、設備、集線器、專屬設備或任意其他usb設備。usbc型插座214傳輸cc信號224a和cc信號230a。附加地,usbc型插座216傳輸cc信號224b和cc信號230b。usbc型插座214和usbc型插座216可以容納插入在正面朝上或倒置位置中的c型連接器,從而使能連接器的多個取向。因此,雖然未描述所有的信號引腳,但是呈現了兩組信號引腳以使能如usbc型規範中描述的c型的翻轉特徵。
在圖2中,膝上型計算機226用於與usbc型插座214耦合,並且簡單充電器228用於與usbc型插座216耦合。在實施例中,簡單充電器可以是usb充電器或專屬充電器。在示例中,在膝上型計算機226經由usbc型插座214與平臺201耦合之前,簡單充電器228經由usbc型插座216與平臺201耦合。在這樣的場景中,配置通道(cc)信號230b由嵌入式控制器膠連邏輯234用於配置usb主機控制器或usb設備控制器的物理層(phy)。主機或設備模式基於如在usbc型規範中定義的配置通道引腳。充電器,諸如簡單充電器228,將配置指示為設備。由於cc信號指示充電器228在設備模式下的配置,設備控制器206經由嵌入式控制器膠連邏輯234映射到充電器228。這樣的配置由與充電器228耦合的差分對220b指示。這一耦合表示充電器228跨差分對220b傳輸數據的能力。雖然差分對220b用於說明與簡單充電器的數據連接,但在簡單充電器228被映射到設備控制器206時,任意差分對可以映射到簡單充電器228。
在cc230a或cc230b如在usbc型規範中所描述那樣被斷言時,嵌入式控制器膠連邏輯234做出連接已經在特定埠處發生的確定。在實施例中,嵌入式控制器232對cc230a或cc230b採樣以獲得信息,因此嵌入式控制器膠連邏輯234可以確定哪個埠被檢測到。嵌入式控制器膠連邏輯234與phy級處的嵌入式控制器232通信。在實施例中,phy向嵌入式控制器232指示連接的埠的配置。
在檢測完成之後,soc202的狀態由嵌入式控制器通過i2c線236來採樣。嵌入式控制器232與嵌入式控制器膠連邏輯234之間的警報線237提供嵌入式控制器膠連邏輯234進入等待狀態的指示。在實施例中,嵌入式控制器膠連邏輯234的若干特徵可以關閉或者置於等待狀態以節省功率,同時嵌入式控制器膠連邏輯234的一部分保持滿幅供電。一旦在嵌入式控制器膠連邏輯234處存在來自嵌入式控制器232的警報,膠連邏輯的剩餘部分被喚醒。vbus250a和vbus250b由升壓調節器252驅動以供應功率。在實施例中,升壓調節器252由嵌入式控制器232使能。
在cc224a和cc230a指示與設備的連接時,驅動器使能埠線238提供驅動器以支持usbc型埠210。在cc224b和cc230b指示與設備的連接時,驅動器使能埠線238提供驅動器以支持usbc型埠212。在所連接的埠被確定之後,取決於所連接的特定埠,埠狀態由phy膠連邏輯240a或phy膠連邏輯240b採樣。線狀態埠線242用於將埠狀態從usbc型埠210或usbc型埠212發送至嵌入式控制器膠連邏輯234。
軟體控制線244被輸入給復用器以將主機控制器或設備控制器分配或映射到特定usb埠。附加地,主機設備控制器線246也輸入至復用器208中以將主機控制器或設備控制器分配給usb特定埠。狀態線248是來自嵌入式控制器膠連邏輯234的關於主機控制器204和設備控制器206當前被分配什麼埠的指示。在示例中,在控制器分配的協商在每個埠之間進行時,設備控制器可以不被分配。狀態線248向設備控制器提供有關特定埠分配的附加信息。這一信息也發送至主機控制器。
復用器208使得usb主機或usb設備的任意組合能夠被選擇用於usbc型埠210或usbc型埠212。復用器使確定基於軟體控制244和主機設備控制使能246。在實施例中,軟體控制244可以控制第一交換機,而主機設備控制使能246控制第二交換機。
在後續主機或遠程主機與平臺201耦合時,在簡單充電器228與平臺201耦合之後,充電器檢測過程用於確定埠是否連接至充電器。在充電器與設備區分之後,設備控制器206從充電器重新映射到設備,因為對於恰當操作充電器不要求映射到設備控制器。
圖3是檢測用於usbc型連接器的充電器和主機的過程流程圖。在實施例中,檢測usbc型埠處設備模式的存在。響應於usbc型埠進入設備模式,usb接收器檢測器被使能。弱驅動器也被使能。充電器、主機、或遠程主機可以基於usb接收器檢測器狀態的檢測而在每個埠處區分。
在方框302處,等待第一埠處c型插頭插入發生在方框302處。在方框304處,在第一埠處發生埠檢測。在實施例中,第一埠對第一c型插座的cc線採樣以確定充電器、主機或遠程主機是否與第一埠耦合。在方框306處,在充電器或遠程主機連接至埠1時,埠1被使能。相同過程發生在埠2。類似地,在方框308處,等待第二埠處c型插頭插入發生。在方框310處,在第二埠處發生埠檢測。在實施例中,第二埠對第二c型插座的cc線採樣以確定充電器、主機或遠程主機是否與埠1耦合。在方框312處,在充電器或遠程主機連接至埠2時,埠2被使能。
在方框314處,發生對於埠1的cc檢測。如果來自埠1的cc信號指示充電器或設備被附接,則在方框316處設備控制器被分配給埠1。如果來自埠1的cc信號指示主機附接在第一c型插座處,則在方框318處主機控制器分配給埠1。類似地,在方框320處,發生對於埠2的cc檢測。如果來自埠2的cc信號指示充電器或設備被附接,則在方框322處設備控制器被分配給埠2。如果來自埠2的cc信號指示主機附接在第二c型插座處,則在方框324處主機控制器分配給埠2。為了方便描述,在此描述了具有兩個usbc型插座的系統。然而,可以存在任何數目的usb埠。
在方框316和方框322處的設備控制器分配之後,在埠被分配給共享設備控制器時,充電器檢測過程開始。具體地,在方框326處,充電器檢測過程確定在埠1處是否檢測到充電器。如果在埠1處檢測到充電器並且埠2被使能,則過程流程繼續到方框322,在方框322中設備控制器分配給埠2。結果,與埠1耦合的簡單充電器未映射到設備控制器,並且設備控制器自由分配給系統的其他埠。如果在埠1處檢測到充電器並且埠2未被使能,則過程流程繼續到方框330。如果在埠1處未檢測到充電器,則過程流程返回到方框316。
類似地,在埠2處,在方框328處,充電器檢測過程確定在埠2處是否檢測到充電器。如果在埠2處檢測到充電器並且埠1被使能,則過程流程繼續到方框316,在方框316中設備控制器分配給埠1。結果,與埠2耦合的簡單充電器未映射到設備控制器,並且設備控制器自由分配給系統的其他埠。如果在埠2處檢測到充電器並且埠1未被使能,則過程流程繼續到方框330。如果未檢測到充電器,則過程流程返回到方框322。在方框330處,發生埠枚舉。在實施例中,埠枚舉包括通過經由usb埠連接的組件的檢測和識別來加載與所連接的usb主機或設備相關聯的驅動器。
圖4是充電器檢測過程400的過程流程圖。在方框402處,cc檢測在usb插座處發生。所斷言的cc引腳取決於與埠耦合的組件而變化。在實施例中,嵌入式控制器基於如在c型規範中定義的cc檢測引腳,將phy和控制器配置為主機控制器或設備控制器模式。如果cc引腳指示與設備的連接,相應的埠被使能並且配置為處於設備模式。相應的埠可以通過控制設備控制器或主機控制器到特定埠的映射的交換機或復用器來配置。
在方框404處,控制器用於使能usb2phy並且等待vbus被使能。出於若干理由,使用vbus等待指示,諸如以符合usb協議以及確保vbus活動,並且隨後內部供應將開啟並且狀態機可以被使能。在實施例中,嵌入式控制器將膠連邏輯置於等待狀態,包括每個usb埠的嵌入式控制器膠連邏輯和phy膠連邏輯。在方框406處,確定是否由設備實施根據2010年12月7日發布的usb電池充電規範1.2的充電。如果對於所檢測到的設備實施usbbc1.2,則在方框408處執行如由usbbc1.2規範定義的usbbc1.2檢測子過程。如果未對於所檢測到的設備實施usbbc1.2,則過程流程繼續到方框410。在實施例中,傳統組件可以實施usb電池充電,其可能干擾如參照方框410描述的dp和dn線的信令和協商。如果實施電池充電,可以繞過方框410。在實施電池充電時,根據usb電池充電1.2規範來執行所連接的設備的檢測。
在方框410處,一檢測到vbus上的電壓,設備控制器使能上拉驅動器。具體地,上拉驅動器在usbdp或dn線上被使能。usbdp或dn線可以是形成如參照圖2描述的差分對220a或220b的dp或dn線。設備控制器也開始採樣其單端接收器狀態線狀態。通過採樣,設備控制器檢查預定時間量之後的線的狀態。在實施例中,線狀態被濾波以去除可能造成該線上的失靈的噪聲,該失靈可能對控制器造成失靈。採樣也在特定的時間量內使能接收器,使得功率被節省並且接收器高效操作。
膠連邏輯隨後開始等待遠程喚醒主機連接或附接的主機。usb線狀態隨後被測量usb2線狀態(usbdp/dm上的單端接收器)。在方框412處,線狀態的檢測被使能。如果線狀態是2』b11,則過程流程繼續到方框414。2』b11的線狀態指示所連接的組件不具有功率輸送控制器能力。如果線狀態是2』b10或2』b01,則過程流程繼續到方框416。2』b01的線狀態用於在dp上使能上拉驅動器,而2』b10的線狀態用於在dn上使能上拉驅動器。基於在方框412處檢測到的線狀態,設備控制器可以映射或重新映射到c型埠。例如,在包括兩個usbc型埠的系統中,如果設備控制器初始映射到埠1,則其可以重新映射到埠2。
在方框414處,所檢測到的設備作為專用或簡單充電器連接至其各自的埠。在方框418處,設備控制器被分配或重新映射到要求設備控制器的其他埠。在方框416處,所檢測到的設備被連接作為遠程主機。在方框420處,設備埠分配保持相同。
在實施例中,執行枚舉並且設備控制器被分配或映射到一個埠,諸如在升壓或啟動場景中。隨後,無論組件何時與系統的c型usb埠連接或斷開連接,可以執行充電器檢測過程。因此,每次c型設備被塞入系統,可以執行充電器檢測過程。此外,一完成c型埠到設備控制器的映射,可以開始通過cc的埠枚舉或側通信。
圖5是圖示嵌入式控制器膠連邏輯與c型埠膠連邏輯之間的通信的梯形圖。嵌入式控制器膠連邏輯502和埠膠連邏輯504可以用於將埠映射或者重新映射到設備控制器。在方框506處,vbus被使能並且由設備控制器的採樣被使能。在方框504處,埠phy膠連邏輯在usbdp或dn線上使能上拉驅動器。在實施例中,cc檢測上拉和下拉以檢測連接至埠的主機或設備,或者檢測邊帶通信。在實施例中,在主機連接至埠時,主機組件產生對於地的大致15kohm的強烈下拉。如果設備連接至埠,則在dp或dn上存在400ohm的弱上拉。然而,簡單充電器不具有dp和dn上的弱上拉。結果,在充電器與埠耦合時,配置通道引腳可以指示「11」的邏輯值。在主機與埠耦合時,配置通道引腳可以指示「00」的邏輯值,因為主機具有dp和dn信號線上的弱下拉。可以由與每個埠的dp和dn線相關聯的接收器電路來感測這些值。
在方框510處,基於每個埠的配置通道線處的值來檢測連接。在方框512處,所檢測到的埠的線狀態由埠的phy膠連邏輯來採樣。在方框514處,嵌入式控制器使能專用充電器連接或者重新映射設備控制器。在實施例中,膠連邏輯將確定所連接的組件是充電器還是主機。如果組件是充電器,則在埠處進行專用充電器連接並且設備控制器可以重新映射到另一埠。
在實施例中,簡單充電器不具有任何主機能力並且設備控制器(xdci)控制器被有效地連接或捆綁,而無需參照圖4和圖5描述的充電器檢測過程,因為設備控制器將保持映射到與充電器耦合的埠,直到充電器斷開連接。如果用戶後續將另一usbc型埠連接至遠程主機,則usb設備功能性將不可用,因為控制器已經映射到連接至充電器的埠。也存在usb電池充電器檢測器也連同usbc型實施的另一場景;在這樣的場景中,產生競爭,因為電池充電檢測將與充電器或主機協商。本技術可以通過在具有或不具有usb電池充電的情況下,在平臺級實施充電器和遠程主機之間的區分而解決這一衝突或競爭。
在實施例中,設備可以包括能夠作為面向下遊埠(dfp)或面向上遊埠(ufp)操作的若干usb數據埠。埠的類型可以是動態的並且可以如由設備協商的在dfp或ufp之間交替。dfp通常與設備所連接到的主機上的埠或者集線器上的埠相關聯。在其初始狀態中,dfp引起vbus和vconn,並且支持數據。僅充電dfp僅僅引起vbus。ufp是連接主機或集線器的dfp的設備或集線器上的埠。在其初始狀態中,ufp匯集vbus並且支持數據。
在實施例中,兩個埠之間的關係的配置(為dfp或ufp)經由配置通道(cc)來確定。配置通道(cc)可以在跨usbc型線纜的連接的發現、配置和管理中使用。此外,cc可以用於設置和管理功率與可替代/配件模式。在一些情況下,usbc型互連可以將usbpd通信協議從通過vbus通信偏移到跨usbc型配置通道輸送。
usbc型連接器可以包括用於配置dfp至ufp連接的兩個引腳,cc1和cc2。在機或集線器埠(dfp)的usbc型插座處的cc引腳之一感測到對地的指定電阻時,由主機或集線器埠(dfp)檢測到dfp至ufp附接。後續地,在端接在其usbc型插座處的cc引腳不再端接到地時,檢測到dfp至ufp脫離。
功率未施加至usbc型主機或集線器插座(vbus或vconn),直到dfp檢測到附接設備(ufp)埠的存在。在檢測到dfp至ufp附接時,預計dfp使能對於插座的功率並且前進到具有附接設備的正常usb操作。在檢測到dfp至ufp脫離時,引起vbus的埠去除功率。
圖6是示出存儲用於在充電器和usbc型主機之間進行區分的代碼的有形的非暫時性計算機可讀介質600的方框圖。有形的非暫時性計算機可讀介質600可以通過計算機總線604由處理器602訪問。此外,有形的非暫時性計算機可讀介質600可以包括配置為引導處理器602執行在此描述的方法的代碼。
在此討論的各種軟體組件可以存儲在如圖6中指示的一個或多個有形的非暫時性計算機可讀介質600上。例如,檢測器模塊606可以配置為檢測組件與系統的c型埠的連接。使能模塊608可以配置為使能設備控制器與埠之間的連接。在方框610處,區分模塊在充電器檢測過程中,諸如參照圖4描述的充電器檢測過程中,在充電器和usbc型主機之間進行區分。
圖6的方框圖並不旨在指示有形的非暫時性計算機可讀介質600要包括圖6中示出的所有組件。此外,取決於特定實施方式的細節,有形的非暫時性計算機可讀介質600可以包括圖6中未示出的任意數量的附加組件。
圖7是示例性計算機系統700的方框圖。系統700包括具有用於執行指令的執行單元的處理器,其中互連中的一個或多個實施根據本發明一個實施例說明的一個或多個特徵。根據本發明,諸如在此描述的實施例中,系統700包括組件,諸如採用包括邏輯的執行單元708以執行用於過程數據的算法的處理器702。在一些情況下,系統700是可從加州聖克拉拉的英特爾公司獲得基於pentiumiiitm、pentium4tm、xeontm、itanium、xscaletm和/或strongarmtm微處理器的處理系統的代表,雖然也可以使用其他系統(包括具有其他微處理器的pc、工程工作站、機頂盒等)。在實施例中,系統700執行可從華盛頓州雷蒙德的微軟公司獲得的windowstm作業系統的版本,雖然也可以使用其他作業系統(例如unix和linux)、嵌入式軟體和/或圖形用戶接口。因此,本發明的實施例不限於硬體電路和軟體的任意具體組合。
在此描述的實施例不限於計算機系統。本技術的可替代實施例可以在其他設備(諸如手持設備和嵌入式應用)中使用。手持設備的一些示例包括蜂窩電話、網際協議設備、數位相機、個人數字助理(pda)和手持pc。嵌入式應用可以包括微控制器、數位訊號處理器(dsp)、片上系統、網絡計算機(netpc)、機頂盒、網絡集線器、廣域網(wan)交換機或者可以執行根據至少一個實施例的一個或多個指令的任意其他系統。
在這一所圖示實施例中,處理器702包括一個或多個執行單元708,用於實施執行至少一個指令711的算法。一個實施例可以在單個處理器臺式或伺服器系統的上下文中描述,但可替代實施例可以包括在多處理器系統中。系統700是「集線器」系統架構的示例。計算機系統700包括用於處理數據信號的處理器702。作為一個說明性示例,處理器702包括複雜指令集計算機(cisc)微處理器、精簡指令集計算(risc)微處理器、非常長指令字(vliw)微處理器、實施指令集的組合的處理器或者任意其他處理器設備,諸如數位訊號處理器。處理器702耦合至處理器總線710,處理器總線710在處理器702與系統700中的其他組件之間傳輸數據信號。系統700的元件(例如,圖像加速器712、存儲器控制器中心716、存儲器720、i/o控制器中心725、無線收發器726、閃速bios728、網絡控制器709、音頻控制器736、串行擴展埠738、i/o控制器740等)執行熟悉本領域的技術人員公知的它們的常用功能。
在一個實施例中,處理器702包括1級(l1)內部高速緩衝存儲器704。取決於架構,處理器702可以具有單個內部高速緩存或多級內部高速緩存。取決於特定實施方式和需要,其他實施例包括內部和外部高速緩存兩者的組合。寄存器文件706用於將不同類型的數據存儲在各種寄存器中,包括整數寄存器、浮點寄存器、向量寄存器、分組寄存器、影子寄存器、檢查點寄存器、狀態寄存器、以及指令指針寄存器。
包括用於執行整數和浮點運算的邏輯的執行單元708也駐留在處理器702中。在一個實施例中,處理器702包括微代碼(ucode)rom,用於存儲微代碼,微代碼在被執行時用於執行用於特定宏指令的算法或者處置複雜場景。在此,微代碼是潛在地可更新的,以處置處理器702的邏輯錯誤/修理。對於一個實施例,執行單元708包括用於處置打包指令集709的邏輯。通過在通用處理器702的指令集中包括打包指令集709連同用於執行指令的相關聯的電路,可以使用通用處理器702中的打包數據來執行由許多多媒體應用使用的操作。因此,通過使用處理器的數據總線的全寬度用於對打包數據執行操作,許多多媒體應用被加速並且更加高效地執行。這潛在地消除了以下需要:跨處理器的數據總線傳送較小數據單元以一次一個數據元素地執行一個或多個操作。
執行單元708的可替代實施例也可以在微控制器、嵌入式處理器、圖形設備、dsp以及其他類型的邏輯電路中使用。系統700包括存儲器720。存儲器720包括動態隨機存取存儲器(dram)設備、靜態隨機存取存儲器(sram)設備、閃速存儲器設備或其他存儲器設備。存儲器720存儲由要由處理器702執行的數據信號表示的指令711和/或數據713。
注意,本技術的任意前述特徵或方面可以在圖7中圖示的一個或多個互連上利用。例如,未示出的用於耦合處理器702的內部單元的管芯上互連(odi)實施上述發明的一個或多個方面。本發明與以下相關聯:處理器總線710(例如,英特爾快速路徑互連(qpi)或其他已知的高性能計算互連)、到存儲器720的高帶寬存儲器路徑718、到圖形加速器714的點到點鏈路(例如,快速外圍組件互連(pci)適用組織)、控制器中心互連722以及用於耦合其他所圖示組件的i/o或其他互連(例如,usb、pci、pcie)730a、730b、730c、730d、730e和730f。這樣的組件的一些示例包括音頻控制器736、固件集線器(閃速bios)728、無線收發器726、數據存儲設備724、包含用戶輸入和鍵盤接口742的傳統i/o控制器710、諸如通用串行總線(usb)的串行擴展埠738以及網絡控制器709。數據存儲設備724可以包括硬碟驅動、軟盤驅動、cd-rom設備、閃速存儲器設備或其他大容量存儲設備。
圖7的方框圖並不旨在指示計算設備700要包括圖7中示出的所有組件。此外,取決於特定實施方式的細節,計算設備700可以包括圖7中未示出的任意數量的附加組件。
示例1
在此描述了一種裝置。所述裝置包括usbc型埠以及usb接收器檢測器。基於usb接收器檢測器來區分充電器和遠程主機。
設備控制器可以在多個usbc型埠當中共享。設備控制器也可以基於usb接收器檢測器狀態而分配給多個usbc型埠中的埠。此外,嵌入式控制器可以將設備控制器映射至多個usbc型埠中的埠。嵌入式控制器膠連邏輯可以配置設備控制器的物理層(phy)。此外,phy膠連邏輯可以確定usbc型埠的狀態。充電器可以不映射到usbc型埠的數據通路。附加地,通過實施邊帶信令,充電器可以與遠程主機區分開。充電器也可以將其自身呈現為面向下遊埠,並且充電器可以不具有主機功能性。附加地,多模式埠可以是usbc型埠。
示例2
在此描述了一種系統。所述系統包括共享的設備控制器、多個多模式埠,以及usb接收器檢測器。至少一個充電器耦合至第一埠,並且至少一個遠程主機耦合至第二埠。充電器和遠程主機基於usb接收器檢測器來區分。
設備控制器可以在多個多模式埠當中共享。設備控制器也可以基於usb接收器檢測器狀態而映射到多個多模式埠中的埠。嵌入式控制器可以將設備控制器映射到多個多模式埠中的埠。系統也可以包括嵌入式控制器膠連邏輯,其中嵌入式控制器膠連邏輯可以配置設備控制器的物理層(phy)。phy膠連邏輯可以確定多模式埠的狀態。充電器可以不映射到多模式埠的數據通路。此外,通過實施邊帶信令,充電器可以與遠程主機區分開。充電器可以將其自身呈現為面向下遊埠。而且,充電器可以不具有主機功能性。多模式埠可以是多模式埠。
示例3
在此描述了一種方法。所述方法包括檢測usbc型埠處的設備模式的存在,以及使能usb接收器檢測器。所述方法還包括使能弱驅動器,以及基於usb接收器檢測器狀態來在充電器和遠程之間進行區分。
可以基於配置通道引腳來檢測設備模式。可以基於線狀態來檢測充電器。附加地,可以在上拉驅動器在dp或dn線上被使能時檢測充電器。進一步的,在檢測到充電器時設備控制器可以重新映射到另一埠。附加地,多模式埠可以是usbc型埠。
示例4
在此描述了一種非暫時性計算機可讀介質。所述非暫時性計算機可讀介質包括代碼,用於引導處理器檢測多模式埠處的設備模式的存在以及使能usb接收器檢測器。代碼還引導處理器使能弱驅動器以及基於usb接收器檢測器狀態來在充電器和遠程之間進行區分。
可以基於配置通道引腳來檢測設備模式。可以基於線狀態來檢測充電器。還可以在上拉驅動器在dp或dn線上被使能時檢測充電器。在檢測到充電器時設備控制器可以重新映射到另一埠。此外,多模式埠可以是usbc型埠。
示例5
在此描述了一種裝置。所述裝置包括多模式埠以及用於在充電器和遠程主機之間進行區分的構件,其中用於在充電器和遠程主機之間進行區分的構件處於多個狀態。
所述裝置還可以包括設備控制器,其中設備控制器在多個多模式埠當中共享。設備控制器可以基於用於在充電器和遠程主機之間進行區分的構件的狀態而分配給多個多模式埠中的埠。嵌入式控制器可以將設備控制器映射到多個多模式埠中的埠。所述裝置還可以包括嵌入式控制器膠連邏輯,其中嵌入式控制器膠連邏輯用於配置設備控制器的物理層(phy)。附加地,phy膠連邏輯可以確定用於在充電器和遠程主機之間進行區分的構件的狀態。充電器可以不映射到多模式埠的數據通路。可選地,通過實施邊帶信令,充電器可以與遠程主機區分開。充電器可以將其自身呈現為面向下遊埠。此外,充電器可以不具有主機功能性。多模式埠可以是usbc型埠。
實施例是實施方式或示例。在本說明書中對「實施例」、「一個實施例」、「一些實施例」、「各種實施例」或「其他實施例」的引用意指結合這些實施例描述的特定特徵、結構或特性被包括在本技術的至少一些實施例中,但是不必然被包括在本技術的所有的實施例中。在各處出現的「實施例」、「一個實施例」或「一些實施例」不必然都指的是相同的實施例。
並非在此描述和圖示的所有組件、特徵、結構、特性等都需要包括在一個或多個特定實施例中。如果說明書聲明「可以」、「可能」、「可」或「能」包括組件、特徵、結構或特性,那麼該特定組件、特徵、結構或特性不要求一定被包括。如果說明書或權利要求提及「一」或「一個」元件,這並不意味著僅有一個該元件。如果說明書或權利要求提及「一個附加的」元件,這並不排除有一個以上的所述附加元件。
應注意,雖然已經參照特定實施方式描述了一些實施例,但其他實施方式根據一些實施例是可能的。附加地,在繪圖中圖示和/或在此描述的電路元件或其他特徵的布置和/或順序不需要以圖示和描述的特定方式來布置。許多其他布置根據一些實施例是可能的。
在圖中示出的每個系統中,一些情況下元件可以每一個具有相同的參考數字或不同的參考數字以暗示所表示的元件可以是不同和/或相似的。然而,元件可以足夠靈活以具有不同實施方式並且與在此示出或描述的系統的一些或全部一起工作。圖中示出的各種元件可以是相同或不同的。哪一個稱為第一元件且哪一個稱為第二元件是任意的。
應理解,前述示例中的細節可以在一個或多個實施例中的任何地方使用。例如,上述計算設備的所有可選特徵也可以相對於在此描述的方法或計算機可讀介質來實施。此外,雖然流程圖和/或狀態圖已在此用於描述實施例,但技術不限於那些圖或在此的相應描述。例如,流程不需要移動經過每個所圖示的方框或狀態,或者以與在此所圖示和描述的順序完全相同的順序移動。
本技術不限於在此列出的特定細節。實際上,從本公開受益的技術人員將意識到,在本技術的範圍內可以從前述描述和繪圖做出許多其他變型。因此,是包括對其的任意修改的所附權利要求限定了本技術的範圍。