識別設備自連接的方法、裝置和系統與流程
2023-05-30 23:59:26 1

本發明涉及設備識別領域,具體而言,涉及一種識別設備自連接的方法、裝置和系統。
背景技術:
隨著type-c標準的推廣,當前支持type-c接口的電子設備越來越多,同時支持兩個或更多type-c接口的設備也越來越常見,例如:蘋果的macbook和谷歌的chromebook等。雖然type-c給用戶帶來了諸多便利(例如支持正反插,快速充電等),但同時也存在一些問題,甚至是安全隱患。
如圖1所示,一臺筆記本支持兩個type-c接口(type-c接口1和type-c接口2)輸出。正常應用時,每一個接口均可以連接外設並給外設供電,或者連接充電器給筆記本充電。但是當兩個接口被一根type-ccable環回連接時,由於兩個type-c接口均支持usbpd(powerdelivery),當type-c接口1通過cable和type-c接口2連接後,兩個接口均會檢測到cable插入的動作,隨後進行usbpd的協商;由於兩個接口均不知曉另一個接口和自己屬於同一個筆記本電腦,協商的結果可能是接口1同意給接口2充電,或者接口2同意給接口1充電,於是會從筆記本電腦上看到提示,其中的一個type-c接口正在給另一個type-c接口充電。也就是說筆記本通過一個type-c接口給另一個type-c接口充電,這樣會導致type-c接口或者筆記本電腦的損壞。
針對現有技術中,同一個設備的多個type-c接口相連時,設備無法識別導致設備自充電甚至損壞的問題,目前尚未提出有效的解決方案。
技術實現要素:
本發明實施例提供了一種識別設備自連接的方法、裝置和系統,以至少解決現有技術中,同一個設備的多個type-c接口相連時,設備無法識別導致設備自充電甚至損壞的技術問題。
根據本發明實施例的一個方面,提供了一種識別設備自連接的方法,包括:目標設備檢測到接口連接外接設備,生成第一識別碼;向外接設備請求第二識別碼,其中,第二識別碼為外接設備檢測到與接口連接時生成的識別碼;在請求得到第二識別碼的情況下,將第一識別碼和第二識別碼進行比對;根據比對結果確定目標設備與外接設備是否為同一設備。
根據本發明實施例的另一方面,還提供了一種識別設備自連接的系統,包括:接口;第一控制器,與接口和第二控制器通信,用於當第二控制器檢測到接口連接外接設備時,生成第一識別碼;第二控制器,與接口通信,用於當檢測到接口連接外接設備時,接收第一控制器生成的第一識別碼,並向外接設備請求第二識別碼,在請求得到第二識別碼的情況下,將第一識別碼和第二識別碼進行比對,根據比對結果確定接口所屬的目標設備與外接設備是否為同一設備,其中,第二識別碼為外接設備檢測到與接口連接時生成的識別碼。
根據本發明實施例的另一方面,還提供了一種識別設備自連接的裝置,包括:生成模塊,用於目標設備當檢測到接口連接外接設備時,生成第一識別碼;請求模塊,用於向外接設備請求第二識別碼,其中,第二識別碼為外接設備檢測到與接口連接時生成的識別碼;比對模塊,用於在請求得到第二識別碼的情況下,將第一識別碼和第二識別碼進行比對;確定模塊,用於根據比對結果確定目標設備與外接設備是否為同一設備。
根據本發明實施例的另一方面,還提供了一種存儲介質,存儲介質包括存儲的程序,其中,在程序運行時控制存儲介質所在設備執行上述設備的自連接識別方法。
根據本發明實施例的另一方面,還提供了一種處理器,處理器用於運行程序,其中,程序運行時執行上述設備的自連接識別方法。
在本發明實施例中,目標設備檢測到接口連接外接設備,生成第一識別碼,向外接設備請求第二識別碼,其中,第二識別碼為外接設備檢測到與接口連接時生成的識別碼,在請求得到第二識別碼的情況下,將第一識別碼和第二識別碼進行比對,根據比對結果確定目標設備與外接設備是否為同一設備。當目標設備與外界設備為同一個設備時,由於目標設備和接口檢測到的外接設備為同一設備,則兩個接口對應的usbpd控制器接收到的隨機數相同;當目標設備與外接設備不為同一個設備,且外接設備也具備檢測到接口與其他設備連接時生成隨機數的功能時,第一識別碼與第二識別碼不同;當目標設備與外接設備不為同一個設備,且外接設備不具備檢測到接口與其他設備連接時生成隨機數的功能時,目標設備無法請求到識別碼,因此可以通過對usbpd控制器請求得到的隨機數於接收到的內嵌處理器生成的隨機數,來確定目標設備與外接設備是否為同一設備。進一步地,只要兩個相連的設備中任意一個設備具備實現上述步驟的功能,就能夠達到設備自連接的識別。
附圖說明
此處所說明的附圖用來提供對本發明的進一步理解,構成本申請的一部分,本發明的示意性實施例及其說明用於解釋本發明,並不構成對本發明的不當限定。在附圖中:
圖1是根據現有技術的一種同一個設備的兩個type-c接口相連的示意圖;
圖2是根據本發明實施例的識別設備自連接的方法的流程圖;
圖3是根據本發明實施例的一種當目標設備與外接設備為同一設備時設備的自連接結構示意圖;
圖4是根據本發明實施例的一種可選的識別設備自連接的方法的流程圖;
圖5是根據本申請實施例的一種可選的識別設備自連接的系統的示意圖;以及
圖6是根據本申請實施例的一種可選的識別設備自連接的系統的示意圖。
具體實施方式
為了使本技術領域的人員更好地理解本發明方案,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分的實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都應當屬於本發明保護的範圍。
需要說明的是,本發明的說明書和權利要求書及上述附圖中的術語「第一」、「第二」等是用於區別類似的對象,而不必用於描述特定的順序或先後次序。應該理解這樣使用的數據在適當情況下可以互換,以便這裡描述的本發明的實施例能夠以除了在這裡圖示或描述的那些以外的順序實施。此外,術語「包括」和「具有」以及他們的任何變形,意圖在於覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統、產品或設備不必限於清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對於這些過程、方法、產品或設備固有的其它步驟或單元。
下面,對下述實施例中出現的專業名詞進行解釋:
type-c:type-c是usb接口的一種連接介面,部分正反面插入均可,大小約為8.3mm*2.5mm,和其他介面一樣支持usb標準的充電、數據傳輸、顯示輸出等功能。
usbpd:usbpowerdelivery功率傳輸協議。
實施例1
根據本發明實施例,提供了一種識別設備自連接的方法實施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執行指令的計算機系統中執行,並且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同於此處的順序執行所示出或描述的步驟。
圖2是根據本發明實施例的識別設備自連接的方法的流程圖,如圖2所示,該方法包括如下步驟:
步驟s21,目標設備檢測到接口連接外接設備,生成第一識別碼。
具體的,上述第一識別碼可以是隨機數,上述接口可以是type-c接口。在上述步驟中,目標設備檢測到接口連接到外接設備後,便生成第一識別碼。
在一種可選的實施例中,目標設備包括內嵌的處理器、type-c接口以及控制type-c接口的usbpd控制器,內嵌處理器通過i2c(inter-integratedcircuit,兩線式串行)線和usbpd控制器通信;usbpd控制器通過cc總線和外部連接的type-c接口通信。當usbpd控制器檢測到對應的type-c接口與外接設備相連時,通知內嵌處理器,內嵌處理器生成第一隨機數,並將第一隨機數傳輸至usbpd控制器。
步驟s23,向外接設備請求第二識別碼,其中,第二識別碼為外接設備檢測到與接口連接時生成的識別碼。
在上述步驟中,如果外接設備與目標設備相同,均在檢測到接口與其他設備相連時生成識別碼,則外接設備生成的識別碼為上述第二識別碼。
步驟s25,在請求得到第二識別碼的情況下,將第一識別碼和第二識別碼進行比對。
步驟s27,根據比對結果確定目標設備與外接設備是否為同一設備。
在一種可選的實施例中,仍以上述接口為type-c接口為例,在上述type-c接口的外接設備為目標設備本身,即上述type-c接口的外接設備與type-c目標設備為同一個設備的情況下,目標設備的兩個usbpd控制器均檢測到對應的接口連接到了外接設備,便均向內嵌處理器請求另一個usbpd控制器接收到的隨機數,由於兩個usbpd控制器接收到的隨機數均由同一個內嵌處理生成,因此兩個usbpd請求到的隨即書與本身接收到的隨機數相同,從而確定目標設備,即目標設備與外接設備為同一設備。
由上可知,目標設備檢測到接口連接外接設備,生成第一識別碼,向外接設備請求第二識別碼,其中,第二識別碼為外接設備檢測到與接口連接時生成的識別碼,在請求得到第二識別碼的情況下,將第一識別碼和第二識別碼進行比對,根據比對結果確定目標設備與外接設備是否為同一設備。當目標設備與外界設備為同一個設備時,由於目標設備和接口檢測到的外接設備為同一設備,則兩個接口對應的usbpd控制器接收到的隨機數相同;當目標設備與外接設備不為同一個設備,且外接設備也具備檢測到接口與其他設備連接時生成隨機數的功能時,第一識別碼與第二識別碼不同;當目標設備與外接設備不為同一個設備,且外接設備不具備檢測到接口與其他設備連接時生成隨機數的功能時,目標設備無法請求到識別碼,因此可以通過對usbpd控制器請求得到的隨機數於接收到的內嵌處理器生成的隨機數,來確定目標設備與外接設備是否為同一設備。進一步地,只要兩個相連的設備中任意一個設備具備實現上述步驟的功能,就能夠達到設備自連接的識別。
可選的,根據本申請上述實施例,根據比對結果確定目標設備與外接設備是否為同一設備,包括:
步驟s271,在第一識別碼和第二識別碼相同的情況下,確定目標設備與外接設備為同一設備。
如果第一識別碼和第二識別碼相同,則確定兩個接口對應的usbpd控制器所接收到的識別碼由一個內嵌處理器生成,由此確定目標設備與外接設備為同一設備。
步驟s272,在第一識別碼和第二識別碼不相同的情況下,確定目標設備與外接設備不為同一設備。
如果第一識別碼和第二識別碼相同,則確定兩個接口對應的usbpd控制器所接收到的識別碼由不同的內嵌處理器生成,由此確定目標設備與外接設備不為同一設備。
可選的,根據本申請上述實施例,在根據比對結果確定目標設備與外接設備是否為同一設備之後,上述方法還包括:
步驟s29,如果比對結果指示目標設備與外接設備為同一設備,則終止目標設備與外接設備的通信。
在上述步驟中,如果目標設備與外接設備為同一個設備,則此次連接發生在目標設備的兩個接口之間,為了防止設備自身給設備充電,對設備的壽命產生影響,或對設備造成損傷,需要立刻通知兩個接口的通信。停止接口通信的步驟可以由任意一個接口對應的usbpd控制器執行。
可選的,根據本申請上述實施例,在根據比對結果確定目標設備與外接設備是否為同一設備之後,上述方法還包括:
步驟s211,如果比對結果指示目標設備與外接設備不為同一設備,則繼續保持接口與外接設備的通信。
在上述步驟中,如果目標設備與外接設備不為同一個設備,則此次連接不為設備的自連接,不會產生設備自身的一個接口為設備的另一個接口充電的情況,因此可以保持兩個接口繼續通信,以進行充電或數據傳輸。
可選的,根據本申請上述實施例,在未請求得到第二識別碼的情況下,終止目標設備與外接設備的通信。
在一種可選的實施例中,以目標設備為智慧型手機為例,當智慧型手機通過type-c接口連接充電器時,該接口的usbpd控制器接收智慧型手機的內嵌處理器生成的隨機數,由於充電器並不具有檢測外接設備後生成隨機數的功能,因此智慧型手機的usbpd控制器無法請求到充電器生成的隨機數,在沒有請求到隨機數的情況下,智慧型手機確定接口連接的設備與智慧型手機本身不為同一個設備。
圖3是根據本發明實施例的一種當目標設備與外接設備為同一設備時設備的自連接結構示意圖。圖4是根據本發明實施例的一種可選的識別設備自連接的方法的流程圖。下面,結合圖3和4對識別設備自連接的方法進行描述。
首先,如圖3所示,該設備具有兩個type-c接口(type-c接口1和type-c接口2),兩個type-c接口分別與通過cc總線usbpd控制器1和usbpd控制器2通信,內嵌處理器(或應用處理器)通過i2c總線分別與usbpd控制器1和usbpd控制器2通信。
在上述運行環境中,提供一種如圖4所示的識別設備自連接的方法,具體如下:
s41,判斷type-c接口1是否檢測到設備接入。在type-c接口1檢測到設備接入的情況下進入步驟s43。
s42,判斷type-c接口2是否檢測到設備接入。在type-c接口2檢測到設備接入的情況下進入步驟s44。
s43,內嵌處理器向usbpd控制器1發送id識別碼。
具體的,上述id識別碼可以是內嵌處理器生成的隨機數。
s44,內嵌處理器向usbpd控制器2發送id識別碼。
具體的,上述id識別碼可以是內嵌處理器生成的隨機數。
s45,usbpd控制器1向type-c接口2請求id識別碼。
s46,usbpd控制器2向type-c接口1請求id識別碼。
s47,是否收到對方識別碼。在接收到對方識別碼的情況下進入步驟s47,否則進入步驟s410。
如果未收到對方的識別碼,則確定兩個設備不為同一個設備。如果收到了對方的識別碼,則將對方的識別碼與本身的識別碼進行判斷。
s48,收到的識別碼與原識別碼是否相同。如果收到的識別碼與原識別碼相同,則進入步驟s49,否則進入步驟s410。
如果收到的識別碼與本身的原識別碼相同,則確定兩個設備為同一個設備,否則,確定兩個設備為不同的設備。
s49,確定對方接口和本接口處於同一設備,終止usbpd協商並上報內嵌處理器。
如果兩個設備為同一個設備,則終止兩個設備的通信。
s410,繼續usbpd協議,最終確定充電/供電狀態。
如果兩個設備不為同一個設備,則繼續保持兩個設備的通信狀態。
實施例2
根據本申請上述實施例,還提供了一種識別設備自連接的系統,圖5是根據本申請實施例的一種可選的識別設備自連接的系統的示意圖,結合圖5所示,該系統包括:
接口50。
具體的,上述接口可以為tepy-c接口。
第一控制器52,與接口和第二控制器通信,用於當第二控制器檢測到接口連接外接設備時,生成第一識別碼。
具體的,上述第一控制器可以為與上述tepy-c接口通信的usbpd控制器,第一識別碼可以為隨機數。
第二控制器54,與接口通信,用於當檢測到接口連接外接設備時,接收第一控制器生成的第一識別碼,並向外接設備請求第二識別碼,在請求得到第二識別碼的情況下,將第一識別碼和第二識別碼進行比對,根據比對結果確定接口所屬的目標設備與外接設備是否為同一設備,其中,第二識別碼為外接設備檢測到與接口連接時生成的識別碼。
具體的,上述第二控制器可以是目標設備的內嵌處理器或應用處理器。
由上可知,本實施例提供的識別設備自連接的系統包括接口、與接口和第二控制器通信的第一控制器,用於當第二控制器檢測到接口連接外接設備時,生成第一識別碼、與接口通信的第二控制器,用於當檢測到接口連接外接設備時,接收第一控制器生成的第一識別碼,並向外接設備請求第二識別碼,在請求得到第二識別碼的情況下,將第一識別碼和第二識別碼進行比對,根據比對結果確定接口所屬的目標設備與外接設備是否為同一設備,其中,第二識別碼為外接設備檢測到與接口連接時生成的識別碼。當目標設備與外界設備為同一個設備時,由於目標設備和接口檢測到的外接設備為同一設備,則兩個接口對應的usbpd控制器接收到的隨機數相同;當目標設備與外接設備不為同一個設備,且外接設備也具備檢測到接口與其他設備連接時生成隨機數的功能時,第一識別碼與第二識別碼不同;當目標設備與外接設備不為同一個設備,且外接設備不具備檢測到接口與其他設備連接時生成隨機數的功能時,目標設備無法請求到識別碼,因此可以通過對usbpd控制器請求得到的隨機數於接收到的內嵌處理器生成的隨機數,來確定目標設備與外接設備是否為同一設備。進一步地,只要兩個相連的設備中任意一個設備具備實現上述步驟的功能,就能夠達到設備自連接的識別。
可選的,根據本申請上述實施例,控制器還用於在第一識別碼和第二識別碼相同的情況下,確定目標設備與外接設備為同一設備;在第一識別碼和第二識別碼不相同的情況下,確定目標設備與外接設備不為同一設備。
可選的,根據本申請上述實施例,如果比對結果指示目標設備與外接設備為同一設備,則終止目標設備與外接設備的通信。
可選的,根據本申請上述實施例,在未請求得到第二識別碼的情況下,終止目標設備與外接設備的通信。
實施例3
根據本申請上述實施例,還提供了一種識別設備自連接的系統,圖6是根據本申請實施例的一種可選的識別設備自連接的系統的示意圖,結合圖6所示,該系統包括:
生成模塊60,用於目標設備當檢測到接口連接外接設備時,生成第一識別碼。
具體的,上述第一識別碼可以是隨機數,上述接口可以是type-c接口。在上述步驟中,目標設備檢測到接口連接到外接設備後,便生成第一識別碼。
請求模塊62,用於向外接設備請求第二識別碼,其中,第二識別碼為外接設備檢測到與接口連接時生成的識別碼。
比對模塊64,用於在請求得到第二識別碼的情況下,將第一識別碼和第二識別碼進行比對。
確定模塊66,用於根據比對結果確定目標設備與外接設備是否為同一設備。
由上可知,通過目標設備生成模塊檢測到接口連接外接設備,生成第一識別碼,通過請求模塊向外接設備請求第二識別碼,其中,第二識別碼為外接設備檢測到與接口連接時生成的識別碼,在請求得到第二識別碼的情況下,通過比對模塊將第一識別碼和第二識別碼進行比對,通過確定模塊根據比對結果確定目標設備與外接設備是否為同一設備。當目標設備與外界設備為同一個設備時,由於目標設備和接口檢測到的外接設備為同一設備,則兩個接口對應的usbpd控制器接收到的隨機數相同;當目標設備與外接設備不為同一個設備,且外接設備也具備檢測到接口與其他設備連接時生成隨機數的功能時,第一識別碼與第二識別碼不同;當目標設備與外接設備不為同一個設備,且外接設備不具備檢測到接口與其他設備連接時生成隨機數的功能時,目標設備無法請求到識別碼,因此可以通過對usbpd控制器請求得到的隨機數於接收到的內嵌處理器生成的隨機數,來確定目標設備與外接設備是否為同一設備。進一步地,只要兩個相連的設備中任意一個設備具備實現上述步驟的功能,就能夠達到設備自連接的識別。
可選的,根據本申請上述實施例,確定模塊包括:
第一確定子模塊,用於在第一識別碼和第二識別碼相同的情況下,確定目標設備與外接設備為同一設備。
第二確定子模塊,用於在第一識別碼和第二識別碼不相同的情況下,確定目標設備與外接設備不為同一設備。
可選的,根據本申請上述實施例,上述裝置還包括:
終止模塊,用於在根據比對結果確定目標設備與外接設備是否為同一設備之後,如果比對結果指示目標設備與外接設備為同一設備,則終止目標設備與外接設備的通信。
可選的,根據本申請上述實施例,上述裝置還包括:
保持模塊,用於在根據比對結果確定目標設備與外接設備是否為同一設備之後,如果比對結果指示目標設備與外接設備不為同一設備,則繼續保持接口與外接設備的通信。
可選的,根據本申請上述實施例,在未請求得到第二識別碼的情況下,終止目標設備與外接設備的通信。
實施例4
根據本申請上述實施例,還提供了一種存儲介質,存儲介質包括存儲的程序,其中,在程序運行時控制存儲介質所在設備執行實施例1中任意一項的設備的自連接識別方法。
實施例5
根據本申請上述實施例,還提供了一種處理器,其特徵在於,處理器用於運行程序,其中,程序運行時執行實施例1中任意一項的設備的自連接識別方法。
上述本發明實施例序號僅僅為了描述,不代表實施例的優劣。
在本發明的上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關描述。
在本申請所提供的幾個實施例中,應該理解到,所揭露的技術內容,可通過其它的方式實現。其中,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,可以為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特徵可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分布到多個單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以採用硬體的形式實現,也可以採用軟體功能單元的形式實現。
所述集成的單元如果以軟體功能單元的形式實現並作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟體產品的形式體現出來,該計算機軟體產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可為個人計算機、伺服器或者網絡設備等)執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:u盤、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、移動硬碟、磁碟或者光碟等各種可以存儲程序代碼的介質。
以上所述僅是本發明的優選實施方式,應當指出,對於本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護範圍。