经由利用数据隧道的接口的多协议数据元素的传输的制作方法_4

文档序号:8303675阅读:来源:国知局
BURST的 复用以用于HID及其他未定义媒体数据隧道应用,在头部中最高有效位(MSb)指示HID使 用。在MSb之后的三个位限定(qualify)有效载荷中的数据。isPortB位标识事件的物理 起源,mdt_event_header_t支持多达由唯一端口标识的2个HID设备。isKeyboard位标 识mdt_event并集(union)的内容;如果isKeyboard是 '1',则mdt_event并集指向mdt_ keyboard_event_t。然而,如果isKeyboard是 '0',则mdt_event并集指向mdt_mouse_ event_t。isNotLastbit允许在单个WRITE_BURST内对多个HID事件的复用以用于多点触 摸和批准对更高事件速率的支持的其他应用。当isNotLast被设置为0时,该位还标识通 过转换或优化适应的等待时间优化的键盘和鼠标分组结构。当isNotLast被设置为1时, 接收器将检查暂存器偏移9字节来确定在WRITE_BURST内是否存在第二事件。在发射器不 打算在单个WRITE_BURST聚集两个事件,但需要全部7字节有效载荷来代替使用适应的分 组以用于其主要事件的情形中,发射器将在暂存器偏移9处的MSb设置为0以确保MDT接 收器忽略暂存器字节9至16。
[0086] 虽然MHL规范将使用WRITE_BURST命令的传输限制为十六数据字节,但强制的 ADOPTER_ID减少了所允许的有效载荷。在发射器处的用于任何WRITE_BURST的编码器分解 数据,该数据被发送到14个或更少的数据字节有效载荷中。
[0087] 在一些实施例中,除了ADOPTER_ID开销之外,需要在媒体数据隧道发射器中的编 码器考虑媒体数据隧道头部。附加的头部位或字节进一步减少了可能的WRITE_BURST有效 载荷的大小。虽然可能支持使用多个WRITE_BURST传送的分组,但缓慢的数据速率边缘化 媒体数据隧道实现中的该特征。
[0088] 对于HID在媒体数据隧道上的传输,4位头部开销每个分组的第一半字节。如以上 结构中所示的,鼠标和键盘事件被修改以允许四位头部。
[0089] 在一些实施例中,除了HID在媒体数据隧道上的传输之外,可使用以下分组结构。 作为示例,_implementation_specific(_实现_特定)并集使用WRITE_BURST中的所有 十四个剩余的数据字节以用于由扩展的头部和数据组成的数据、用于具有校验和字节的数 据、或用于具有扩展的头部和校验和的数据。扩展的头部允许媒体数据隧道实现附加的灵 活性。图6示出了在媒体数据隧道实现中的扩展头部的分组结构的实施例。该图示显示了 扩展头部的三个示例:
[0090] _exheader_with_cdb(_ex头部 _ 具有 _cdb)显示了 具有将WRITE_BURST目的标识 为媒体数据隧道准备好的字段的扩展头部,该扩展头部很像isHIDmdt_event_header_t。
[0091] _exheader_with_cdb_chksm(_ex头部 _ 具有 _cdb_chksm)允许任选地使用校验 和。
[0092] _exheader_with_cdb_chksm_len(_ex头部_具有_cdb_chksm_len)显不了头部扩 展,该头部扩展将之前的exheader_with_cdb_chksm扩展成还使用四位len长度字段来传 送封装在WRITE_BURST中的字节的数量。
[0093] 在一些实施例中,媒体数据隧道依赖于MHL指定的暂存寄存器在传输之前缓冲数 据并且在消耗之前保持所接收的数据。MHL规范在阱、源或加密狗内定义任选暂存器。暂存 器是一组十六或更多个1字节寄存器。这些寄存器是在偏移0x40处可访问的。在该组中 的前两个字节需要包含设备的ADOPTER_ID。在传输之前,使用MHL发射器或接收器将数据 写入暂存器。在接收数据的情况下,MHL发射器或接收器将数据引导至该区域以用于用户 稍后检索。
[0094] 在一些实施例中,关于暂存器访问,媒体数据隧道依赖于MHL规范,同时提供附加 的指导来加快数据传递。在一些实施例中,如果MHL发射器或接收器要求用户指定将被发 送的暂存器字节的数量,则仅当该数量变化时,媒体数据隧道发送器可指示将被发送的暂 存器字节的数量。在媒体数据隧道会话包括具有7字节结构的多个WRITE_BURST的情况下, 媒体数据隧道发送器应当仅设置突发长度一次以进一步减少等待时间。如以下所描述的, 在初始化期间和在已知分组的长度之前,媒体数据隧道发射器应当将该长度设置为最小 版本的有效载荷结构的字节的全部数量;对于mdt_burst_01_t,该值将是6以允许2字节 ADOPTER_ID和 4 字节mdt_mouse_event_t或具有截短的 0 的 4 字节mdt_keyboard_event_ to
[0095] 在一些实施例中,在另一侧上,媒体数据隧道接收方不读取暂存器的前两个字节 来向发射器赋予资格。由于在扩展发现期间媒体数据隧道需要握手(handshake),并且每 个分组具有在其头部中的isHID标识位,后续使用ADOPTER_ID赋予资格是多余的并且可避 免。为了进一步减少等待时间,媒体数据隧道接收方取回最小版本的有效载荷结构的全部 数量的字节以访问所接收的WRITE_BURST数据的头部。在头部指示WRITE_BURST内容超过 第一次访问的长度的情况下,媒体数据隧道接收方可在单独的第二次尝试中从暂存器读取 剩余的字节。
[0096] 在一些实施例中,对于用于中继HID数据的媒体数据隧道实现,媒体数据隧道发 射器将mdt_burSt_01_t中继至媒体数据隧道接收方。在扩展发现之后并且在第一HID事 件之前,媒体数据隧道发射器将被发送的暂存器字节的数量设置成六,当中继鼠标事件时 该结构是处于其最小大小。在其第一次传输之前,媒体数据隧道发射器将暂存器的前两个 字节设置为其媒体数据隧道接收方的ADOPTER_ID。一旦媒体数据隧道发射器具有HID事件 数据发送,发射器查看该需要以更新发送的暂存器字节的数量并采用事件数据填充暂存器 的字节[2 :15]。
[0097] 在接收端,媒体数据隧道接收器将忽略其暂存器的字节0和1。替代地,在假设 至少媒体数据隧道接收方将接收mdt_burst_01_t内的4字节鼠标事件的情况下,媒体数 据隧道接收方将通过读取暂存器字节[2:5]来消耗事件。在读取isKeyboard位字段被断 言为1的情况下,媒体数据隧道发射器将执行第二次读取以访问暂存器字节[6 :8]进而 检索7字节键盘分组的剩余3字节。如果isCoordinateWordLength(是坐标字长)被设 置在mdt_m〇uSe_eVent_t内,则媒体数据隧道发射器还将执行第二次读取。对于被设置的 isCoordinateWordLength的第二种情况,由于WRITE_BURST发射器正发送可能用于绝对坐 标映射的字长坐标,因此当检索暂存器数据时,接收方切换至7字节读取。
[0098] 在一些实施例中,除控制数据的量和位置之外,编码器通过创建mdt_mouse_ event_t^Pmdt_keyboard_event_t的实例来优化用于媒体数据隧道传输的HID内容。这些 结构可遵守人机接口设备版本1. 11的设备类定义(DCDHID)规范来匹配由HID设备产生的 数据有效载荷。作为媒体数据隧道的优化或适应,mdt_mouse_event_t将来自HID特定位的 字节0中的位4至7重分配给媒体数据隧道HID头部。而且,字节3被假设成基于现有实 际上标准的鼠标驱动实现来推动滚轮。而且,当isCoordinateWordLength被设置成支持在 高分辨率显示器上的绝对坐标跟踪作为对较低等待时间传输的折衷时,mdt_mouse_event_ t提供字长坐标。
[0099] 在一些实施例中,还优化键盘事件。作为媒体数据隧道的优化或适应,mdt_ keyboard_event_t将在来自RIGHTCTRL(右CTRL)、RIGHTSHIFT(右SHIFT)、RIGHTALT(右 ALT)、和RIGHT⑶I(右⑶I)的D⑶HID中定义的键盘HID事件的字节0中的位4至7重分 配给媒体数据隧道HID头部位。在丢弃这些位之前,媒体数据隧道发射器的媒体数据隧道 编码器执行在字节0的位4至7和位0至3之间的OR(或)操作。该OR操作将使用LEFT CTRL(左CTRL)、LEFTSHIFT(左SHIFT)、LEFTALT(左ALT)和LEFT⑶I(左⑶I)位来 携载以其他方式存储在字节〇中的LEFT(左)和RIGHT(右)键两者的声明。此外,mdt_ keyboard_event丢弃用于由D⑶HID规范定义的启动协议1分组的OEM使用的字节1。代 替将该字节留在适当的位置来迫使mdt_keyboard_event的8字节长度,在媒体数据隧道发 射器内的编码器使字节[2 :7]移位1字节以在初始化7字节mdt_keyboard_event时丢弃 所保留的占位符。作为进一步优化并且基于启动协议1的常见用法,媒体数据隧道发射器 中的编码器可丢弃全部除了由mdt_keyboard_event的最高有效字节保持的一连串0中的 一个零。
[0100] 对于大多数键盘输入报告,键盘更新反映了单个键的变化。在启动协议1报告的 字节2和mdt_keyboard_event的字节1中捕获该变化。在这种情况下,键盘采用0填充 其事件的剩余字节。为了减少等待时间,编码器可丢弃最后三个拖尾〇。而且,媒体数据 隧道发射器管理键盘LED状态,而不是从媒体数据隧道接收器预期该动作。人机接口设备 (HID)规范1. 11的设备类定义解释了键盘的LED状态应当通过主机而不是键盘来维持并 且允许键盘主机来控制LED状态。虽然在HID的媒体数据隧道实现中可能在支持媒体数据 隧道接收器的主机内实现该功能,但将LED控制留在媒体数据隧道发射器中降低了对双向 WRITE_BURST的需要。通过具有在媒体数据隧道发射器中的LED控制,MHL发射器内的媒体 数据隧道接收器在任何时候不需要是媒体数据隧道发射器并且仅需要在扩展发现期间支 持WRITE_BURST传输。关于这种HID数据,图7示出了与标准HID结构相比,媒体数据隧道 编码器的实施例的有效载荷结构。
[0101]阶段3:中继数据。在一些实施例中,MHL发射器和发射器被指示成实现MHL指定 的WRITE_BURST和SET_INT命令以将数据从媒体数据隧道发射器中继至媒体数据隧道接收 器。除了上述暂存器之外,媒体数据隧道依赖于MHL指定的中断寄存器、WRITE_BURST命令 和SET_INT命令来在MHL发射器和接收器之间中继数据。按照MHL规范,MHL发射器和接收 器提供两个单字节中断寄存器。中断寄存器在偏移0x20处。寄存器允许用户为使用SET_ INT命令的传输指定中断或多个中断。
[0102] 在一些实施例中,为了避免在用户和MHL发射器或接收器状态机器之间的暂存器 访问冲突,MHL规范提供了中断寄存器和协调过程。该协调过程提供了一种使用SET_INT命 令管理暂存器访问的方式。规范暗示在用户将数据写入本地暂存器之前,用户将进行检查 以确保WRITE_BURST传输是不突出的。如果WRITE_BURST发射器发送WRITE_BURST命令但 有待使用SET_INT命令发送DSCR_C
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1