媒體數(shù)據(jù)隧道受益于在鏈路和轉(zhuǎn)換層處的MHL的 流量控制。類似地,媒體數(shù)據(jù)隧道可受益于在鏈路和轉(zhuǎn)換層處的MHL的錯誤檢測。在一些 實施例中,媒體數(shù)據(jù)隧道的實現(xiàn)可任選地擴(kuò)展MHL特征。在一些實施例中,實現(xiàn)流量控制、 錯誤檢測和附加重試取決于由隧穿的總線創(chuàng)建的性能或特征期望。在一些實施例中,在在 MHL協(xié)議中傳遞優(yōu)化的數(shù)據(jù)之前對USB應(yīng)用優(yōu)化。作為本文中所使用的,優(yōu)化的數(shù)據(jù)指是的 已經(jīng)受優(yōu)化或適應(yīng)過程的數(shù)據(jù)并且不暗示這種數(shù)據(jù)表示最佳數(shù)據(jù)形式或解決方案。
[0045] 圖1是用于經(jīng)由利用數(shù)據(jù)隧道的連接器提供多個協(xié)議數(shù)據(jù)的數(shù)據(jù)隧道傳輸?shù)难b 置和系統(tǒng)的實施例的圖示。在該圖示中,源設(shè)備11〇(諸如,移動設(shè)備或其他裝置)與接收 阱160(諸如,電視機(jī)或其他視頻系統(tǒng)、計算機(jī)、游戲控制臺、MHL加密狗、或其他裝置)耦合。 源設(shè)備110和阱設(shè)備160可經(jīng)由纜線150耦合。纜線150可包括MHL兼容纜線,該MHL兼容 纜線具有包括用于數(shù)據(jù)傳輸?shù)膯蜗虿罘謱Φ臄?shù)據(jù)通道和包括雙向(單線)控制總線(CBUS) 的控制通道。一個或多個人機(jī)接口設(shè)備與阱設(shè)備160耦合。
[0046] 源設(shè)備110可包括用于連接纜線150的連接器140,諸如與MHL兼容的USB插座。 阱設(shè)備可包括用于纜線的連接的連接器190,其中連接器可替代地是USB連接器或可以是 與通常稱為加密狗(諸如,MHL到HDMI加密狗)的顯示器的S0C或轉(zhuǎn)換元件耦合的另一插 座(諸如,HDMI插座)。
[0047] 在一些實施例中,源設(shè)備110和阱設(shè)備160都包括包含第二協(xié)議的電路的元件,其 中第二協(xié)議可以是USB。在該圖示中,源設(shè)備110包括第二協(xié)議元件120,第二協(xié)議元件120 可操作為USB主機(jī),并且阱設(shè)備160包括第二協(xié)議元件170,第二協(xié)議元件170可操作為USB 設(shè)備。
[0048] 在一些實施例中,源設(shè)備110和阱設(shè)備160利用媒體數(shù)據(jù)隧道來至少部分地與以 第一協(xié)議傳遞的數(shù)據(jù)同時地(在同一時間或在重疊的時間周期)傳遞第二協(xié)議的數(shù)據(jù),其 中在以第一協(xié)議傳遞之前對第二協(xié)議的數(shù)據(jù)應(yīng)用優(yōu)化或適應(yīng)。在一些實施例中,媒體數(shù)據(jù) 隧道包括使用纜線150的控制總線來傳遞雙向數(shù)據(jù),諸如USB數(shù)據(jù)。在一些實施例中,第一 協(xié)議的標(biāo)識字段利用最佳或最小量的數(shù)據(jù)來經(jīng)由控制總線標(biāo)識接收方。例如,第一協(xié)議的 標(biāo)識字段具有等于兩字節(jié)數(shù)據(jù)的尺寸。
[0049] 在一些實施例中,阱設(shè)備160源設(shè)備110使用第一協(xié)議的控制總線命令來傳遞第 二協(xié)議的數(shù)據(jù),其中第二協(xié)議的數(shù)據(jù)可以是第二協(xié)議的全數(shù)據(jù)集的子集。例如,第二協(xié)議的 數(shù)據(jù)的子集可包括人機(jī)接口設(shè)備數(shù)據(jù)。在該圖示中,一個或多個人機(jī)接口設(shè)備155可與阱 設(shè)備160耦合。一個或多個人機(jī)接口設(shè)備155可包括鍵盤、鼠標(biāo)、觸摸墊或觸摸屏、游戲控 制器、或用戶的意圖可通過其被輸入的其他設(shè)備。對人機(jī)接口設(shè)備的支持被示為源設(shè)備110 的人機(jī)接口支持130和阱設(shè)備160的人機(jī)接口支持180。
[0050] 在一些實施例中,可在第一協(xié)議的數(shù)據(jù)傳輸?shù)膯蝹€突發(fā)(burst)中發(fā)送第二協(xié)議 的一個或多個消息。在一些實施例中,通過中斷消息來協(xié)調(diào)每個數(shù)據(jù)突發(fā)。在一些實施例 中,中斷消息的一些部分被聚合并在單個消息中傳遞。
[0051] 在一些實施例中,媒體數(shù)據(jù)隧道包括經(jīng)由第一協(xié)議的某些通用命令傳輸?shù)诙f(xié)議 中的數(shù)據(jù),該第一協(xié)議的某些通用命令可包括MHL的通用命令。在該圖示中,源設(shè)備110和 阱設(shè)備160被示為包括通用命令支持,該通用命令支持被示為源設(shè)備的通用命令支持125 和接收設(shè)備的通用命令支持175,其中這種支持可包括MHL的支持,該MHL的支持包括命令 WRITE_BURST和SET_INT的支持。
[0052] 在一些實施例中,例如,阱設(shè)備160可從人機(jī)接口設(shè)備接收HID命令數(shù)據(jù),諸如,描 述鍵盤敲鍵、游戲控制器的輸入或運(yùn)動、或光標(biāo)(鼠標(biāo)、觸摸板或觸摸屏)運(yùn)動的數(shù)據(jù)。在 一些實施例中,阱設(shè)備160和源設(shè)備110可利用一個或多個通用命令來傳輸這種HID數(shù)據(jù), 其中可利用由源設(shè)備110和接收設(shè)備160之間的纜線150提供的雙向控制總線來完成這種 數(shù)據(jù)的傳輸。USB是雙向的并且當(dāng)設(shè)備使用插座(諸如,USB微型AB插座)時,USB端口可 像USB主機(jī)或USB設(shè)備起作用。在該圖示中,為了媒體數(shù)據(jù)隧道的目的,源設(shè)備110可首先 充當(dāng)WRITE_BURST接收器,并且具有耦合的人機(jī)接口設(shè)備的A/V源設(shè)備可首先充當(dāng)WRITE_ BURST發(fā)送器以用于傳輸HID數(shù)據(jù),但實施例不限于此,并且可顛倒設(shè)備的角色。
[0053] 圖2示出了在不使用媒體數(shù)據(jù)隧道的情況下用于使用命令(諸如,MHLWRITE_ BURST命令)傳輸數(shù)據(jù)的方法的實施例。在該圖示中,請求設(shè)備200(諸如,用于與移動設(shè) 備連接的支架(cradle))與響應(yīng)設(shè)備205 (諸如,移動電話)耦合。在一些實施例中,當(dāng)新 的HID事件發(fā)生時,請求設(shè)備200提供中繼REQ_WRT位被設(shè)置的SET_INT命令212以請求 允許寫入響應(yīng)設(shè)備205 (諸如,移動設(shè)備)的暫存器寄存器。響應(yīng)設(shè)備205檢測REQ_WRT位 214,并且通過包含GRT_WRT位216的SET_INT命令向請求設(shè)備授權(quán)寫入請求的許可。請求 設(shè)備200檢測GRT_WRT位218。如果授權(quán)位被設(shè)置220,則存在由請求設(shè)備200進(jìn)行WRITE_ BURST命令的發(fā)起222和具有DSCR_CHG位的SET_INT命令的寫入224。響應(yīng)設(shè)備205檢測 DSCR_CHG= 1226并且操作以讀取其本地暫存器寄存器228。
[0054] 圖3示出了用于使用媒體數(shù)據(jù)隧道(諸如,使用MHLWRITE_BURST命令)傳輸數(shù)據(jù) 的方法的實施例。在該圖示中,請求設(shè)備300 (諸如,用于與移動設(shè)備連接的支架(cradle)) 與響應(yīng)設(shè)備305(諸如,移動電話)耦合。在一些實施例中,當(dāng)系統(tǒng)準(zhǔn)備好時,請求設(shè)備305 寫入DSCR_CHG和REQ_WRT310位被設(shè)置的SET_INT命令。響應(yīng)設(shè)備305檢測REQT_WRT315 位,并且采用具有GRT_WRT位的SET_INT命令來響應(yīng)320。請求設(shè)備300檢測GRT_WRT位 325。如果授權(quán)位被設(shè)置330,則發(fā)送器取得對接收器暫存器寄存器的訪問并且可等待新的 HID事情335。根據(jù)新的HID事件335,存在由請求設(shè)備300進(jìn)行WRITE_BURST命令340的 發(fā)起和寫入操作345,請求設(shè)備300返回寫入DSCR_WRTREQ_WRT310。在一些實施例中,響 應(yīng)設(shè)備檢測WRITE_BURST350和讀取暫存器。在一些實施例中,在響應(yīng)設(shè)備從其本地暫存 器取回數(shù)據(jù)之前,響應(yīng)設(shè)備等待后面的DSCR_CHG和REQ_WRT位被設(shè)置的SET_INT命令。
[0055] 在一些實施例中,在CBUS數(shù)據(jù)隧道的每個端處,以其他方式負(fù)責(zé)監(jiān)視并控制MHL 發(fā)射器或接收器的處理元件實現(xiàn)媒體數(shù)據(jù)隧道編碼器和解碼器邏輯。在操作中,MHL發(fā)射器 或接收器通過處理元件(諸如,微控制器或片上系統(tǒng)(SoC))服務(wù)。由處理元件執(zhí)行的驅(qū)動 器管理(administer)服務(wù)邏輯。按照MHL規(guī)范,MHL發(fā)射器可位于源裝置或系統(tǒng)(諸如, 電話、平板電腦或其它移動設(shè)備)中。MHL接收器可位于阱裝置或系統(tǒng)(諸如,對接站、監(jiān)視 器,或TV顯示器)中。MHL接收器還可位于MHL到HDMI加密狗中。在一些實施例中,直接 或通過附加軟件層擴(kuò)展MHL發(fā)射器或接收器驅(qū)動器以提供媒體數(shù)據(jù)隧道編碼和解碼支持, 諸如,以下所描述的橋接過程的一部分。
[0056] 階段1:隧道的發(fā)現(xiàn)和建立。在操作中,在第一階段中,MHL發(fā)射器和接收器通過 MHL指定的發(fā)現(xiàn)建立隧道鏈路。MHL發(fā)射器和接收器通過遵照MHL指定的發(fā)現(xiàn)序列的MHL 的數(shù)據(jù)交換階段建立CBUS數(shù)據(jù)隧道。作為數(shù)據(jù)交換的一部分,發(fā)射器和接收器交換設(shè)備能 力寄存器。通過WRITE_STAT的傳輸經(jīng)由每側(cè)中繼所斷言的DCAP_RDY位來發(fā)起該交換。該 交換跟隨有每側(cè)任選地并且獨(dú)立地使用SET_INT命令傳輸DCAP_CHG位。作為響應(yīng),WRITE_ STAT和SET_INT接收方使用READ_DEVCAP命令的序列檢索SET_INT發(fā)送者的能力。從所 接收的數(shù)據(jù),每側(cè)標(biāo)識其MHL對等層的SP_SUPPORT(SP_支持)、SCRATCHPAD_SIZE(暫存器 _大?。?、和ADOPTER_ID(接受器_ID)。在一些實施例中,SP_SUPPORT通知媒體數(shù)據(jù)隧道參 與者其對等體的支持WRITE_BURST的能力。SCRATCHPAD_SIZE允許媒體數(shù)據(jù)隧道參與者評 估其對等體中的緩沖支持。ADOPTER_ID被緩存并且由MDT參與者重新使用作為所有隨后的 WRITE_BURST命令的MDT分組頭部。
[0057] 在一些實施例中,媒體數(shù)據(jù)隧道將發(fā)現(xiàn)擴(kuò)展成包括關(guān)于與分組結(jié)構(gòu)和服務(wù)性能有 關(guān)的媒體數(shù)據(jù)隧道能力的信息的交換。在通過媒體數(shù)據(jù)隧道開始有效載荷交換之前,媒體 數(shù)據(jù)隧道發(fā)射器標(biāo)識用于未來WRITE_BURST分組的頭部數(shù)據(jù)或完整分組結(jié)構(gòu)。在一些實施 例中,媒體數(shù)據(jù)隧道接收器的責(zé)任是接受發(fā)射器的條款并且還使用標(biāo)準(zhǔn)WRITE_BURST機(jī)制 中繼任何約束。作為替代,接收方可通過允許發(fā)射器超時來拒絕所提出的分組結(jié)構(gòu)。而且, 響應(yīng)于媒體數(shù)據(jù)隧道接收方的約束,媒體數(shù)據(jù)隧道發(fā)射器可繼續(xù)進(jìn)行媒體數(shù)據(jù)隧道傳輸或 基于其限制取消媒體數(shù)據(jù)隧道接收方的資格并向用戶返回錯誤。
[0058] 在一些實施例中,在沒有以下描述為媒體數(shù)據(jù)隧道編碼的一部分的元素的情況 下,在擴(kuò)展的發(fā)現(xiàn)期間使用的WRITE_BURST命令遵守MHL規(guī)范。
[0059] 在一些實施例中,對于需要確定性性能的任何媒體數(shù)據(jù)隧道實現(xiàn),媒體數(shù)據(jù)隧道 接收方在擴(kuò)展的發(fā)現(xiàn)期間中繼其性能約束。MHL的WRITE_BURST機(jī)構(gòu)的性能是確定性的,但 在某些要求中可能是不現(xiàn)實的。MHL規(guī)范要求WRITE_BURST接收方在接收REQ_WRT的10ms 內(nèi)中繼GRT_WRT。規(guī)范還批準(zhǔn)(mandate)在在前分組的100ms內(nèi)發(fā)送分組。一致地,兩個超 時允許兩秒來完成16字節(jié)WRITE_BURST。雖然這些約束提供最壞情況性能的指導(dǎo)并且使 MHL的WRITE_BURST具有確定性,允許的延遲將數(shù)據(jù)速率減少到低于大多數(shù)應(yīng)用,并在媒體 數(shù)據(jù)隧道的發(fā)現(xiàn)期間批準(zhǔn)進(jìn)一步賦予資格。
[0060] 在用于使用下面定義的mdt_burst_t分組結(jié)構(gòu)中繼HID光標(biāo)、游戲控制器、和鍵盤 事件數(shù)據(jù)的實現(xiàn)中,發(fā)射器通知接收方所選擇的數(shù)據(jù)格式。在一些實施例中,由于MHL規(guī)范 不批準(zhǔn)DCAP_RDY或DCAP_CHG的及時中繼,因此為了及時地發(fā)現(xiàn)所有媒體數(shù)據(jù)隧道,參與者 在發(fā)送PATH_EN(路徑_EN)的10秒內(nèi)使用WRITE_STATE(WRITE_狀態(tài))命令來中繼DCAP_RDY。此外,媒體數(shù)據(jù)隧道參與者在發(fā)送PATH_EN的至少20秒或由MHL規(guī)范批準(zhǔn)的無論怎 樣更短的間隔內(nèi)從其對等體檢索設(shè)備能力寄存器信息。在該交換之后并在HID數(shù)據(jù)的傳輸 之前,媒體數(shù)據(jù)隧道發(fā)射器發(fā)送具有13字節(jié)有效載荷的'MDTREQXy_FULL(MDTREQxy_全 部廣的WRITE_BURST。當(dāng)該字符串的x和y元素等于'01'的2字節(jié)ASCII陣列時,字符 串表示令牌。該令牌通知媒體數(shù)據(jù)隧道接收器WRITE_BURST數(shù)據(jù)將遵守下面定義的mdt_ burst_01_t結(jié)構(gòu)。
[0061] 如果媒體數(shù)據(jù)隧道接收方準(zhǔn)備好接收由'MDTREQxy_FULL'標(biāo)識的分組,則接收 方采用包含^MDTACK_a