本發(fā)明涉及計算機領(lǐng)域,具體涉及一種通信接口的功能復用方法及裝置。
背景技術(shù):
通信接口是計算機和外部系統(tǒng)進行連接、交互的接口,比如較為常見的通用串行總線(Universal Serial Bus,USB)接口,采用讓計算機主機和外設設備進行通訊的串行總線標準。目前市場上大部分無線網(wǎng)卡都是基于USB接口。而基于USB接口的無線網(wǎng)卡設備往往需要同時枚舉(enumeration)多個接口(interface),并在不同的接口上實現(xiàn)不同的功能,典型的功能有:
Diag接口,用以實現(xiàn)設備診斷信息的輸出、設備控制等;
AT接口,用以實現(xiàn)發(fā)送和接收AT指令;
MODEM(調(diào)制解調(diào)器)接口,用以實現(xiàn)PPP(點對點協(xié)議)撥號;
VOUSB接口,用以實現(xiàn)語音數(shù)據(jù)傳輸;
SIM-reader接口,用以實現(xiàn)智能卡訪問;
GPS(全球定位系統(tǒng))接口,用以實現(xiàn)定位數(shù)據(jù)接收;
Mass-Storage接口,用以實現(xiàn)大容量存儲設備);
NDIS(網(wǎng)絡驅(qū)動接口規(guī)范)接口,用以實現(xiàn)虛擬以太網(wǎng)卡。
根據(jù)USB協(xié)議,每個USB接口都由一定數(shù)量的端點(Endpoint)組成,協(xié)議規(guī)定USB最多可以提供16對端點。而在一些低成本的硬件平臺上,USB控制器為了節(jié)約成本,往往提供的端點數(shù)量會非常有限,不足以滿足無線網(wǎng)卡設備同時枚舉多個接口、實現(xiàn)多個功能的需求。要解決這個問題,目前通用的做法是讓硬件斷電重啟、或者不斷電而通過USB重枚舉的方式實現(xiàn)功能的切換,這兩種方式的弊端在于其切換過程勢必會影響整個無線網(wǎng)卡設備在 短時間內(nèi)無法使用。
技術(shù)實現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題是提供一種可以在一個通信接口實現(xiàn)多個功能動態(tài)切換的方案。
為了解決上述問題,本發(fā)明提供了一種通信接口的功能復用方法,包括:
當外部設備連接主機后,將所述外部設備的通信接口所支持的屬于同一驅(qū)動類型的各功能通知給所述主機;
所述外部設備接收所述主機發(fā)送的設置指令,按照所述設置指令確定所述主機所選擇的功能,將所述通信接口的數(shù)據(jù)接收通道和/或數(shù)據(jù)發(fā)送通道連接到與所選擇的功能對應的協(xié)議棧。
可選地,所述外部設備為通用串行總線USB設備,所述通信接口為USB接口,所述設置指令為USB設置指令。
可選地,所述將外部設備的通信接口所支持的屬于同一驅(qū)動類型的各功能通知給所述主機包括:
將所述外部設備的通信接口所支持的屬于同一驅(qū)動類型的各功能的指示信息攜帶在字符串描述符中,將所述字符串描述符發(fā)送給所述主機。
可選地,所述將外部設備的通信接口所支持的屬于同一驅(qū)動類型的各功能通知給所述主機包括:
確定所述外部設備的通信接口所支持的屬于同一驅(qū)動類型的各功能;將各功能的指示信息形成序列發(fā)送給所述主機。
可選地,所述設置指令中通過功能的指示信息在所述序列中的位置指示所選擇的功能。
可選地,所述功能的指示信息為功能對應的關(guān)鍵字。
一種通信接口的功能復用方法,包括:
主機收到外部設備通知所述外部設備的通信接口支持多個屬于同一驅(qū)動 類型的功能時,在所述多個屬于同一驅(qū)動類型的功能中選擇一個功能,并將所選擇的功能通過設置指令通知所述外部設備;
所述主機根據(jù)所選擇的功能,將與所述通信接口連接的數(shù)據(jù)接收通道和/或數(shù)據(jù)發(fā)送通道連接到與所選擇的功能對應的協(xié)議棧。
可選地,所述外部設備為通用串行總線USB設備,通信接口為USB接口,所述設置指令為USB設置指令。
可選地,所述主機收到外部設備通知所述外部設備的通信接口支持多個屬于同一驅(qū)動類型的功能包括:
所述主機收到所述外部設備發(fā)送的字符串描述符,所述字符串描述符中攜帶了所述外部設備的通信接口所支持的屬于同一驅(qū)動類型的多個功能的指示信息。
可選地,所述主機收到外部設備通知所述外部設備的通信接口支持多個屬于同一驅(qū)動類型的功能包括:
所述主機收到所述外部設備發(fā)送的序列,所述序列是由所述外部設備的通信接口所支持的屬于同一驅(qū)動類型的多個功能的指示信息形成的序列。
可選地,所述主機在所述設置指令中通過功能的指示信息在所述序列中的位置指示所選擇的功能。
可選地,所述功能的指示信息為功能對應的關(guān)鍵字。
一種通信接口的功能復用裝置,設置于外部設備中,包括:
配置上報模塊,用于當所述外部設備連接主機后,將所述外部設備的通信接口所支持的屬于同一驅(qū)動類型的各功能通知給所述主機;
功能配置模塊,用于接收所述主機發(fā)送的設置指令,按照所述設置指令確定所述主機所選擇的功能,將所述通信接口的數(shù)據(jù)接收通道和/或數(shù)據(jù)發(fā)送通道連接到與所選擇的功能對應的協(xié)議棧。
可選地,所述外部設備為通用串行總線USB設備,通信接口為USB接口,所述設置指令為USB設置指令。
可選地,所述配置上報模塊將外部設備的通信接口所支持的屬于同一驅(qū)動類型的各功能通知給所述主機是指:
所述配置上報模塊將所述外部設備的通信接口所支持的屬于同一驅(qū)動類型的各功能的指示信息攜帶在字符串描述符中,將所述字符串描述符發(fā)送給所述主機。
可選地,所述配置上報模塊將外部設備的通信接口所支持的屬于同一驅(qū)動類型的各功能通知給所述主機是指:
所述配置上報模塊確定所述外部設備的通信接口所支持的屬于同一驅(qū)動類型的各功能;將各功能的指示信息形成序列,發(fā)送給所述主機。
可選地,所述設置指令中通過功能的指示信息在所述序列中的位置指示所選擇的功能。
可選地,所述功能的指示信息為功能對應的關(guān)鍵字。
一種通信接口的功能復用裝置,設置于主機中,包括:
功能選擇模塊,用于當收到外部設備通知所述外部設備的通信接口支持多個屬于同一驅(qū)動類型的功能時,在所述多個屬于同一驅(qū)動類型的功能中選擇一個功能,并將所選擇的功能通過設置指令通知所述外部設備;
接口功能配置模塊,用于根據(jù)所述功能選擇模塊所選擇的功能,將與所述通信接口連接的數(shù)據(jù)接收通道和/或數(shù)據(jù)發(fā)送通道連接到與所選擇的功能對應的協(xié)議棧。
可選地,所述外部設備為通用串行總線USB設備,通信接口為USB接口,所述設置指令為USB設置指令。
可選地,所述功能選擇模塊收到外部設備通知所述外部設備的通信接口支持多個屬于同一驅(qū)動類型的功能是指:
所述功能選擇模塊收到所述外部設備發(fā)送的字符串描述符,所述字符串描述符中攜帶了所述外部設備的通信接口所支持的屬于同一驅(qū)動類型的多個功能的指示信息。
可選地,所述功能選擇模塊收到外部設備通知所述外部設備的通信接口支持多個屬于同一驅(qū)動類型的功能是指:
所述功能選擇模塊收到所述外部設備發(fā)送的序列,所述序列是由所述外部設備的通信接口所支持的屬于同一驅(qū)動類型的多個功能的指示信息形成的序列。
可選地,所述功能選擇模塊在所述設置指令中通過功能的指示信息在所述序列中的位置指示所選擇的功能。
可選地,所述功能的指示信息為功能對應的關(guān)鍵字。
本發(fā)明的方案能夠在不影響其它接口且無需重啟的情況下,對某一通信接口進行功能重新配置,從而使得通信接口可以根據(jù)需要在驅(qū)動類型相同的多個功能中選擇當前要實現(xiàn)的功能,這就意味著同一個通信接口的功能可以動態(tài)切換,而且在不同時間段能夠提供不同的功能,實現(xiàn)了通信接口的功能的分時復用。
本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在說明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。
附圖說明
附圖用來提供對本發(fā)明技術(shù)方案的進一步理解,并且構(gòu)成說明書的一部分,與本申請的實施例一起用于解釋本發(fā)明的技術(shù)方案,并不構(gòu)成對本發(fā)明技術(shù)方案的限制。
圖1是實施例一的通信接口的功能復用方法的流程示意圖;
圖2是實施例二的通信接口的功能復用方法的流程示意圖;
圖3是實施例三的通信接口的功能復用方法裝置的結(jié)構(gòu)示意圖;
圖4是實施例四的通信接口的功能復用方法裝置的結(jié)構(gòu)示意圖;
圖5是實施例五的流程示意圖圖;
圖6是實施示例一的無線網(wǎng)卡類設備DIAG功能、AT功能和VOUSB 功能復用一個USB接口的流程示意圖。
具體實施方式
下面將結(jié)合附圖及實施例對本發(fā)明的技術(shù)方案進行更詳細的說明。
需要說明的是,如果不沖突,本發(fā)明實施例以及實施例中的各個特征可以相互結(jié)合,均在本發(fā)明的保護范圍之內(nèi)。另外,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
本發(fā)明是針對通信接口上驅(qū)動類型相同、數(shù)據(jù)格式不同的功能進行復用,比如針對無線網(wǎng)卡的USB接口,AT、MODEM、Diag、VOUSB、SIM-reader、GPS功能等同屬于串口類型,加載同樣類型的串口PC(個人電腦)驅(qū)動,區(qū)別在于傳輸?shù)臄?shù)據(jù)格式不同,因此可以采用本發(fā)明的方案進行復用。
實施例一、一種通信接口的功能復用方法,如圖1所示,包括:
S110、當外部設備連接主機后,將所述外部設備的通信接口所支持的屬于同一驅(qū)動類型的各功能通知給所述主機;
S120、所述外部設備接收所述主機發(fā)送的設置指令,按照所述設置指令確定所述主機所選擇的功能,將所述通信接口的數(shù)據(jù)接收通道和/或數(shù)據(jù)發(fā)送通道連接到與所選擇的功能對應的協(xié)議棧。
其中,將通信接口的數(shù)據(jù)接收通道和/或數(shù)據(jù)發(fā)送通道連接到與所選擇的功能對應的協(xié)議棧具體是指,所述通信接口發(fā)送的數(shù)據(jù)通過所連接的協(xié)議棧進行封裝處理,所接收的數(shù)據(jù)通過所連接的協(xié)議棧進行解析處理。
其中,通知的方式可以包括以下任一種或其任意組合:
外部設備發(fā)送通信接口所支持的功能的指示信息給主機;
外部設備發(fā)送實現(xiàn)約定的、表示通信接口支持默認的一個或多個功能的特定信息(比如全0信息)給主機;
外部設備發(fā)送通信接口所支持的功能的組合對應的標識給主機,比如支 持功能A和B時對應001,支持功能A、B、C時對應010等。
其中,當通信接口支持多個功能時,主機根據(jù)需要或預定條件在通信接口所支持的功能中進行選擇;所述需要包括用戶的需要和主機本身的需要,比如根據(jù)用戶操作進行選擇,或根據(jù)主機當前需要通信接口完成的功能進行選擇;所述預定條件可以由用戶設置和更改,比如設置當主機運行導航程序時,選擇USB接口的GPS功能。
本實施例通過由外部設備通知主機通信接口所支持的屬于同一驅(qū)動類型的功能,并按主機的選擇連接到相應的協(xié)議棧,從而可以在無需下電的情況下切換通信接口的功能。
可選地,所述外部設備為通用串行總線USB設備,所述通信接口為USB接口,所述設置指令為USB設置指令。
可選地,將所述外部設備的通信接口所支持的各功能通知給所述主機包括:
將所述外部設備的通信接口所支持的屬于同一驅(qū)動類型的各功能的指示信息攜帶在字符串描述符中,將所述字符串描述符發(fā)送給所述主機。
可選地,將所述外部設備的通信接口所支持的各功能通知給所述主機包括:
確定通信接口所支持的屬于同一驅(qū)動類型的各功能;
將所確定的各功能的指示信息形成序列,發(fā)送給所述主機。
其中,功能的指示信息在所述序列中的排列順序可以隨機,也可以根據(jù)預定的規(guī)則排序,比如按照功能的指示信息的首字母在字母表中的順序進行排序,或按照各功能的優(yōu)先級進行排序。
可選地,所述功能的指示信息可以但不限于為功能對應的關(guān)鍵字,比如USB接口所支持的屬于同一驅(qū)動類型的功能包括Diag接口、AT接口、VOUSB接口,確定這三個功能對應的關(guān)鍵字分別為Diag、AT、VOUSB;將三個關(guān)鍵字以分隔符“\”連接,形成序列Diag\AT\VOUSB。
所述功能的指示信息還可以包括其它形式的指示信息,比如功能對應的數(shù)值或標識,所述主機和外部設備中均保存各功能和數(shù)值/標識的對應關(guān)系, 根據(jù)所述對應關(guān)系,外部設備可以得到和功能對應的數(shù)值/標識序列,所述主機可以確定數(shù)值/標識序列對應的各功能。還可以用二進制序列中各個位的數(shù)值作為指示信息,比如屬于同一驅(qū)動類型共有5種功能,則采用5位的二進制序列,其中每一位和每一種功能一一對應,為“1”時表示支持該功能,為“0”時表示不支持該功能。
可選地,所述設置指令中通過功能的指示信息在所述序列中的位置指示所選擇的功能。比如序列Diag\AT\VOUSB中,Diag的位置是第一,AT的位置是第二,VOUSB的位置是第三(或倒數(shù)第一)。
所述位置可以但不限于以序號表示。
比如上例中的Diag序號為1,AT序號為2,VOUSB序號為3。
實施例二、一種通信接口的功能復用方法,如圖2所示,包括:
S210、主機收到外部設備通知所述外部設備的通信接口支持多個屬于同一驅(qū)動類型的功能時,在所述多個屬于同一驅(qū)動類型的功能中選擇一個功能,并將所選擇的功能通過設置指令通知所述外部設備;
S220、所述主機根據(jù)所選擇的功能,將與所述通信接口連接的數(shù)據(jù)接收通道和/或數(shù)據(jù)發(fā)送通道連接到與所選擇的功能對應的協(xié)議棧。
可選地,所述外部設備為通用串行總線USB設備,所述通信接口為USB接口,所述設置指令為USB設置指令。
可選地,所述主機收到外部設備通知所述外部設備的通信接口支持多個屬于同一驅(qū)動類型的功能包括:
所述主機收到所述外部設備發(fā)送的字符串描述符,所述字符串描述符中攜帶了所述外部設備的通信接口所支持的屬于同一驅(qū)動類型的多個功能的指示信息。
可選地,所述主機收到外部設備通知所述外部設備的通信接口支持多個屬于同一驅(qū)動類型的功能包括:
所述主機收到所述外部設備發(fā)送的序列,所述序列是由所述外部設備的通信接口所支持的屬于同一驅(qū)動類型的多個功能的指示信息形成的序列。
可選地,所述主機在所述設置指令中通過功能的指示信息在所述序列中的位置指示所選擇的功能。
所述位置可以但不限于以序號表示。
可選地,所述功能的指示信息可以但不限于為功能對應的關(guān)鍵字。
實施例三、一種通信接口的功能復用裝置,設置于外部設備中,如圖3所示,包括:
配置上報模塊101,用于當所述外部設備連接主機后,將通信接口所支持的屬于同一驅(qū)動類型的各功能通知給所述主機;
功能配置模塊102,用于接收所述主機發(fā)送的設置指令,按照所述設置指令確定所述主機所選擇的功能,將所述通信接口的數(shù)據(jù)接收通道和/或數(shù)據(jù)發(fā)送通道連接到與所選擇的功能對應的協(xié)議棧。
可選地,所述外部設備為通用串行總線USB設備,所述通信接口為USB接口,所述設置指令為USB設置指令。
可選地,所述配置上報模塊101將外部設備的通信接口所支持的屬于同一驅(qū)動類型的各功能通知給所述主機是指:
所述配置上報模塊將所述外部設備的通信接口所支持的屬于同一驅(qū)動類型的各功能的指示信息攜帶在字符串描述符中,將所述字符串描述符發(fā)送給所述主機。
可選地,配置上報模塊101將外部設備的通信接口所支持的屬于同一驅(qū)動類型的各功能通知給所述主機是指:
所述配置上報模塊101確定所述外部設備的通信接口所支持的屬于同一驅(qū)動類型的各功能;將各功能的指示信息形成序列,攜帶在所述通信接口的字符串描述符中發(fā)送給所述主機。
可選地,所述設置指令中通過功能的指示信息在所述序列中的位置指示所選擇的功能。
所述位置可以但不限于以序號表示。
可選地,所述功能的指示信息可以但不限于為功能對應的關(guān)鍵字。
實施例四、一種通信接口的功能復用裝置,設置于主機中,如圖4所示,包括:
功能選擇模塊104,用于當收到外部設備通知所述外部設備的通信接口支持多個屬于同一驅(qū)動類型的功能時,在所述多個屬于同一驅(qū)動類型的功能中選擇一個功能,并將所選擇的功能通過設置指令通知所述外部設備;
接口功能配置模塊103,用于根據(jù)所述功能選擇模塊104所選擇的功能,將與所述通信接口連接的數(shù)據(jù)接收通道和/或數(shù)據(jù)發(fā)送通道連接到與所選擇的功能對應的協(xié)議棧。
可選地,所述外部設備為通用串行總線USB設備,所述通信接口為USB接口,所述設置指令為USB設置指令。
可選地,所述功能選擇模塊104收到外部設備通知所述外部設備的通信接口支持多個屬于同一驅(qū)動類型的功能是指:
所述功能選擇模塊104收到所述外部設備發(fā)送的字符串描述符,所述字符串描述符中攜帶了所述外部設備的通信接口所支持的屬于同一驅(qū)動類型的多個功能的指示信息。
可選地,所述功能選擇模塊104收到外部設備通知所述外部設備的通信接口支持多個屬于同一驅(qū)動類型的功能是指:
所述功能選擇模塊104收到所述外部設備發(fā)送的序列,所述序列是由所述外部設備的通信接口所支持的屬于同一驅(qū)動類型的多個功能的指示信息形成的序列。
可選地,所述功能選擇模塊104在所述設置指令中通過功能的指示信息在所述序列中的位置指示所選擇的功能。
所述位置可以但不限于以序號表示。
可選地,所述功能的指示信息可以但不限于為功能對應的關(guān)鍵字。
實施例五、一種USB接口的功能復用方法。
根據(jù)USB協(xié)議的規(guī)定,當USB設備插入計算機后,計算機的操作系統(tǒng)下發(fā)用于獲取描述符的指令來索要USB設備的設備描述符(device descriptor)、配置描述符(configuration descriptor)、接口描述符(interface descriptor)以及端點描述符(endpoint descriptor)。其中接口描述符中的類bInterfaceClass、子類bInterfaceSubClass和協(xié)議碼bInterfaceProtocol三個字段決定了該接口的功能屬性以及所要加載的PC驅(qū)動類型;而接口描述符中的iInterface字段對應的String descriptor(字符串描述符)則是對該接口的字符串描述;接口描述符中的bInterfaceNumber字段則對應這個接口的編號,在所述計算機向此接口發(fā)送命令時,需要以該編號來填充命令。本方案基于上述USB協(xié)議規(guī)范實現(xiàn)同一個USB接口上的多個功能復用。
首先要實現(xiàn)的是USB設備的USB接口的功能信息上報:在USB設備上報設備描述符、配置描述符、接口描述符、端點描述符之后,如果某個USB接口支持功能復用,則生成所支持的屬于同一驅(qū)動類型的功能對應的關(guān)鍵字的序列,攜帶在字符串描述符中上報給主機;
其次要實現(xiàn)USB接口功能的選擇和設定:USB協(xié)議規(guī)定可以發(fā)送廠商自定義的USB設置指令到某一USB接口,本實施例中主機獲得USB接口所支持的屬于同一驅(qū)動類型的功能的序列后,以功能對應的關(guān)鍵字在所述序列中的位置為參數(shù),向USB設備發(fā)送USB設置指令,設置所述USB接口的功能;所述位置可以但不限于用序號表示,比如所述功能的關(guān)鍵字的序列為功能A\功能B\功能C,則功能A對應的序號為1,功能B對應的序號為2,功能C對應的序號為3,以此類推。
最后實現(xiàn)USB接口上對應功能的配置和運行:在USB接口功能設置后,主機和設備同時根據(jù)所選擇的功能,將所述USB接口的USB數(shù)據(jù)接收通道和/或數(shù)據(jù)發(fā)送通道連接到與所選擇的功能對應的協(xié)議棧,之后開始正常的數(shù)據(jù)收發(fā)和處理。
與之對應的,本實施例中整個系統(tǒng)主要由位于USB設備端的配置上報模塊、功能配置模塊和位于主機端的接口功能配置模塊、功能選擇模塊四個模塊組成,其詳細的功能將在下面闡述。
本實施例中模塊間的結(jié)構(gòu)示意圖如圖3、4所示,包括:
設備側(cè)的配置上報模塊101,用于設置當前有效的配置信息,收到GET_DESCRIPTOR等指令后將各種描述符信息上報給主機(host),并生成所支持的功能對應的關(guān)鍵字序列,攜帶在字符串描述符中上報給host;;
設備側(cè)的功能配置模塊102,用于接收主機的USB設置指令,并根據(jù)所述設置指令中所指示的功能配置與當前USB接口配套的協(xié)議棧;
是主機側(cè)的接口功能配置模塊103,用于與設備配置上報模塊通信,完成USB命令的接收發(fā)送,并上報USB接口所支持的功能到功能選擇模塊;
主機側(cè)的功能選擇模塊104,用于配置管理主機接口功能配置模塊,完成USB接口功能的選擇,并通過所述接口功能配置模塊或直接通知設備所選擇的功能。
圖5是本實施例中實施策略流程圖,包括步驟201~210:
步驟201:USB設備插入主機;
步驟202:設備的配置上報模塊上報設備的各種描述符信息,包含設備描述符、配置描述符、接口描述符、端點描述符等;
步驟203:如果設備的USB接口支持多功能復用,則設備的配置上報模塊使用所支持的屬于同一驅(qū)動類型的功能對應的關(guān)鍵字組合生成序列,攜帶在字符串描述符中,上報給主機;
步驟204:主機的功能選擇模塊從主機USB配置模塊中獲得設備上報的字符串描述符,解析后獲得該USB設備的USB接口支持的屬于同一驅(qū)動類型的功能序列;
步驟205:主機的功能選擇模塊判斷是否選擇默認的USB接口功能,是則進行206,不是則進行207;
步驟206、主機的功能選擇模塊不發(fā)送額外的USB指令,僅配置所述默認功能對應的協(xié)議棧用于USB接口數(shù)據(jù)的收發(fā)和處理;
步驟207:主機的功能選擇模塊選擇其它USB接口功能,發(fā)送含有所選功能對應的序號的USB設置指令給設備;
步驟208:判斷設備功能設置是否成功;如果失敗,則進行209;如果成功則進行210;
步驟209:異常退出,并通知結(jié)果給主機側(cè)USB配置模塊,同時進入異常處理流程;
步驟210:設備側(cè)的功能配置模塊和主機側(cè)的接口功能配置模塊則各自選擇對應的協(xié)議棧開始工作。
實施示例一:
典型地,在USB無線網(wǎng)卡領(lǐng)域,設備通常枚舉多個USB接口,其中一個USB接口使用上述方案實現(xiàn)了DIAG\AT\VOUSB功能復用,即此USB接口可以同時支持這三個功能,圖6是本實施示例的示意流程圖,詳細步驟說明如下:
步驟301、USB設備插入計算機主機后設備的配置上報模塊開始上報設備的各種描述符信息;
步驟302、設備的配置上報模塊生成所連接的USB接口“Diag\AT\VOUSB USB Interface”的字符串描述符,并上報給主機的接口功能配置模塊;其中,Diag\AT\VOUSB為功能的關(guān)鍵字序列;三個功能的關(guān)鍵字Diag、AT、VOUSB之間用“\”隔開;
步驟303主機的功能選擇模塊解析USB接口的字符串描述符為:該接口支持三種功能復用,依次為DIAG(#1),AT(#2),VOUSB(#3)。主機的功能選擇模塊選擇需要支持的功能,如果此時需要DIAG功能,則進行步驟303a和304a;如果需要AT功能,則進行步驟303b和304b;如果需要VOUSB功能,則進行步驟303c和304c;
303a、以#1為參數(shù),下發(fā)自定義的USB設置指令到設備,將USB接口功能設置為DIAG功能;
303b、以#2為參數(shù),下發(fā)自定義的USB設置指令到設備,將USB接口功能設置為AT功能;
303c、以#2為參數(shù),下發(fā)自定義的USB設置指令到設備,將USB接口 功能設置為VOUSB功能;
步驟304a、設備的功能配置模塊和主機的接口功能配置模塊分別根據(jù)將對應于DIAG功能的協(xié)議棧與USB接口的數(shù)據(jù)接收通道和/或數(shù)據(jù)發(fā)送通道相連,開始數(shù)據(jù)傳輸和業(yè)務處理;
步驟304b、設備的功能配置模塊和主機的接口功能配置模塊分別根據(jù)將對應于AT功能的協(xié)議棧與USB接口的數(shù)據(jù)接收通道和/或數(shù)據(jù)發(fā)送通道相連,開始數(shù)據(jù)傳輸和業(yè)務處理;
步驟304c、設備的功能配置模塊和主機的接口功能配置模塊分別根據(jù)將對應于VOUSB功能的協(xié)議棧與USB接口的數(shù)據(jù)接收通道和/或數(shù)據(jù)發(fā)送通道相連,開始數(shù)據(jù)傳輸和業(yè)務處理;
通過上述步驟,可以完成USB接口的功能復用實施。
此實施示例展示了USB接口的功能復用方案,可以有效解決低成本硬件平臺上,由于Endpoint資源不足帶來的無法同時使用多個功能的問題,更進一步地,這種方案也可以用在實現(xiàn)功能切換,避免硬件掉電等場景。
本實施例所述的主機(host)可以為計算機,所述的USB設備可以為無線網(wǎng)卡、無線數(shù)據(jù)卡等。
雖然本發(fā)明所揭露的實施方式如上,但所述的內(nèi)容僅為便于理解本發(fā)明而采用的實施方式,并非用以限定本發(fā)明。任何本發(fā)明所屬領(lǐng)域內(nèi)的技術(shù)人員,在不脫離本發(fā)明所揭露的精神和范圍的前提下,可以在實施的形式及細節(jié)上進行任何的修改與變化,但本發(fā)明的專利保護范圍,仍須以所附的權(quán)利要求書所界定的范圍為準。