具有改进链路同步的高数据速率接口的制作方法

文档序号:6603086阅读:100来源:国知局
专利名称:具有改进链路同步的高数据速率接口的制作方法
技术领域
在本公开内容中,本发明的实施例涉及用于在主机设备和客户机设备之间以高数 据速率进行信号传递或者信号传送的一种数字信号协议和处理过程。更具体地说,本公开 内容涉及一种技术,这种技术使用具有内部和外部设备应用的低功率、高数据速率传送机 制,把多媒体以及其它类型的数字信号从主机或者控制器设备传送到客户机设备,以便呈 现或者显示给最终用户。
背景技术
近几年来,计算机、电子游戏相关产品和各种视频技术(例如DVD和高清晰度VCR) 获得了显著的进展,从而能够向这种装置的最终用户提供分辩率不断提高的静止、视频、视 频点播和图形图像,甚至还包括某些类型的文本。这些进展继而要求采用更高分辨率的电 子观看设备,例如高清晰度视频监视器、HDTV监视器或者专用图像投影元件。例如,在使用 CD类型的声音再现、DVD以及同样具有相关音频信号输出的其它设备时,把这种可视图像 与高清晰度或者高质量的音频数据相结合,从而为最终用户产生更加逼真、内容更丰富或 者更加真切的多媒体体验。另外,已经开发了诸如MP3播放器之类的高移动性、高质量的音 响系统和音乐传输机制,以便向最终用户呈现单纯音频。这已经导致从计算机到电视甚至 电话这种商业电子设备的典型用户,对高品质或者一流质量的输出越来越习惯和并且越来 越多的期望高品质或者优质的输出。在典型的视频呈现情形中,涉及电子产品的视频数据通常是用当前技术以每秒一 到数十千比特数量级上的速率来传送的,这一速率被恰当地称为慢速或中速。然后,把这 些数据缓存或者储存在临时或者长期存储器设备中,以便在所期望的观看设备上延迟(稍 后)播出。例如,可以利用驻留在具有调制解调器或者其他类型的互联网连接设备的计算 机上的程序,“通过”或者使用因特网来传送图像,以便接收或者发送能够用来以数字方式 表现图像的数据。使用诸如配备有无线调制解调器的便携式计算机、无线个人数字助理 (PDA)或者无线电话之类的无线设备也能够进行类似的传送。—旦收到数据,就在本地将数据储存在存储器元件、电路或者设备中,例如储存在 RAM或者快闪存储器中,还包括存储在内部或外部存储设备中,例如,小尺寸硬盘,以便进行 回放。根据数据量和图像分辨率,回放可以较快开始或者长时间延迟后再呈现回放。也就是 说,在某些情况下,对于不需要大量数据或者使用某种缓存的小图像或者低分辨率图像而言,图像呈现允许某种程度的实时回放,因此经过了较小延迟之后,一些内容呈现出来,而 更多内容则还在传送过程中。假设传送链路不发生任何中断,或者没有来自相对于正在使 用的传送信道的其他系统或用户的干扰,那么一旦呈现开始,这一传送对于观看设备的最 终用户而言就是适当(reasonably)透明的。自然,当多个用户共享一条通信路径(例如, 一条有线互联网连接)时,传输可能会中断,或者,比预期的要慢。用于产生静止图像或者运动视频的数据经常使用几种众所周知的技术之一来进 行压缩,诸如由联合图像专家组(JPEG)、运动图像专家组(MPEG)以及介质、计算机和通信 行业中众所周知的其它标准组织或公司规范的那些技术,以加速通信链路上数据的传送。 这些技术使用较小数量的比特来传送给定信息量,从而允许更快地传送图像或者数据。一旦把数据传送到诸如计算机或者其它接收器设备之类的“本地”设备,其中,计 算机具有存储机制,如存储器,或者磁或光存储元件,就将得到的信息解压缩(或者使用特 殊解码播放器播放),如果需要,则进行解码,并且基于相应的可用呈现分辩率和控制要素 为适当的呈现做好准备。例如,用XXY像素屏幕分辩率表示的典型的计算机视频分辨率通 常从低到480 X 640像素到600 X 800再到1024 X 1024,当然根据需要或要求,一般还可能有 各种其它分辩率。就某些预定色彩等级或者色彩浓度(用于生成颜色的每一像素的位)和强度以及 所采用的任何额外开销位而言,图像呈现还受图像内容和给定视频控制器操纵图像的能力 的影响。例如,典型的计算机呈现预期每像素大约8至32位或更多位,从而表现各种颜色 (浓淡和色调),但也会遇到其它值。从上述值可以看出,在从最低到最高的典型分辩率和浓度的范围上,给定的屏幕 图像将要求分别传送从2. 45兆比特(Mb)到33. 55Mb左右的数据。以30帧每秒的速率观看 视频或者运动类型的图像时,所需要的数据量大约73. 7至1,006兆比特数据每秒(Mbps), 或者大约9. 21至125. 75兆字节每秒(MBps)。另外,人们还可能希望将音频数据和图像一 起呈现,例如多媒体呈现,或者希望将音频数据作为独立的高分辨率音频呈现,例如CD质 量的音乐。还可以采用处理交互式命令、控制或者信号的额外的信号。这些选项中每一项 都增加了更多的待传送数据。此外,涉及高清晰度(HD)电视和电影录制的更新传输技术可 能会添加更多的数据和控制信息。在任何情况下,当人们希望向最终用户传送高质量或者 高分辨率图像数据和高质量音频信息或者数据信号以便产生内容丰富的体验时,在呈现元 件和配置成提供这种数据的源或主机设备之间需要具有高数据传送速率的链路。通常,115千字节每秒(KBps)或者920千比特每秒(Kbps)左右的数据速率能够 由现代串行接口来处理。如USB串行接口的其它接口能够支持高达12MBps速率的数据传 送,而诸如使用电气与电子工程师协会(IEEE) 1394标准配置的那种专用高速传送则能够 以100至400MBps数量级的速率进行。但是,这些速率未能达到所期望的上述高数据速率, 所期望的这些速率的目的是能够供将来的无线数据设备和服务使用,以便提供高分辨率、 内容丰富的输出信号来驱动便携式视频显示器或者音频设备。这包括用于商务和其他呈现 的计算机、游戏设备等。另外,这些接口要求使用数目巨大的主机或者系统以及客户机软件 来工作。它们的软件协议栈还产生不期望的大量开销,特别是在考虑到移动无线设备或者 电话应用的情况下更为突出。这种设备具有严格的存储器和功耗限制,以及已经负担过重 的计算能力。此外,一些接口使用大体积的电缆或者利用复杂的连接器,对于高度要求美观的移动应用而言,这些大体积的电缆太过笨重,不能令人满意,而这些复杂的连接器又增加 了成本,或者是功耗实在太大。还有其它已知接口,例如模拟视频图形适配器(VGA)、数字视频交互(DVI)或者 千兆位视频接口(GVIF)。这些接口中的前两个是并行类型的接口,用于以更高的传送速率 来处理数据,但是它们也采用笨重的电缆并且消耗大量功率,大约有几瓦的量级。这些特性 没有一个可供便携式消费电子设备使用。甚至第三个接口也消耗太多的功率并且使用昂贵 的或者体积庞大的连接器。对于上述接口中的一些以及其它非常高速率数据系统/协议或者与固定安装的 计算机设备的数据传送相关联的传送机制来说,存在另一个主要缺陷。为了支持所需要的 数据传送速率,还需要相当大的功率和/或用大电流工作。这样做极大地降低了将这种技 术用于面向消费者的高移动性产品的可用性。一般说来,为了支持这种数据传输速率而使用诸如光纤类型的连接以及传送元件 之类的替代物,还需要多个额外的转换器和元件,与真正面向消费者的商业产品所需求的 相比,这样做复杂度更大、成本更高。到目前为止,除了光学系统一般都非常昂贵的本性以 外,它们对功率的要求以及它们的复杂性同样妨碍了它们在轻便、低功率、便携式应用方面 的普遍应用。便携式、无线或者移动应用行业所缺乏的是这样一种技术,即向高移动性的最终 用户提供高质量呈现体验,而不管它是基于音频、视频还是多媒体的。也就是说,当使用便 携式计算机、无线电话、PDA或者其它高移动性通信设备或者装置时,当前正在使用的视频 和音频呈现系统或设备根本无法以所期望的高质量水平来传递输出。感觉到质量的缺乏往 往是无法获得传送高质量呈现数据所需要的高数据速率的结果。这包括向更加有效、先进 或充满特性的外部设备传送以便向最终用户呈现,或者在主机和如计算机、游戏机这种便 携式设备内部的客户机之间传送,以及在主机和包括诸如移动电话之类的无线设备之间传 送。在后一种情况下,在添加越来越高分辨率的内部视频屏幕以及其它专业输入和/ 或输出设备,并且连接至诸如所谓的第三代电话的无线设备以及所谓的膝上型计算机方 面,已经迈进了一大步。然而,内部数据总线和连接可以包括桥接旋转或者滑动铰链或者类 似铰链的结构,这些结构将视频屏幕或者其它元件安装或者连接至安装了主机和/或各种 其它控制元件和输出部件的主外壳。这些通常是高带宽或高吞吐量的接口。使用现有技 术来构造高吞吐量数据传送接口是非常难的,例如在无线电话中,现有技术要求高达90个 导线或者更多,来实现所期望的吞吐量。当前的解决方案通常要采用具有较高信号电平的 并行类型接口,而这会使互联成本更高、更不可靠,并可能会产生干扰设备功能的有辐射发 射。这样做在有关制造、成本限制和可靠性方面存在许多难题尚待解决。对于固定位置的装置,也会有这种问题和需求,其中,例如,通信或计算类设备添 加在家用电器和其他消费设备中,以提供先进的数据能力、互联网和数据传输连接,或内置 在娱乐中。另一个例子是飞机和汽车,其中,单独的视频和音频呈现屏安装在座椅靠背中。 但是,在这些情形中,更便利、高效和易用的做法是,让主存储、处理或通信控制单元远离可 视屏或音频输出端,用互联的链路或信道来呈现信息。这种链路将需要处理相当数量的数 据以实现如上所述的期望吞吐量。
10
因此,需要一种新的传送机制来提高提供数据的主机设备和向最终用户呈现输出 的客户机显示器设备或元件之间的数据吞吐量。在的美国专利申请10/020,520(现为美国专利6,760,772,于2004年7月6日 授予Zou等)和2003年9月6日提交的共同待决的美国专利申请10/236,657中,申请人 已经提出了这种新的传送机制,这两篇申请标题均为“Generating and Implementing A CommunicationProtocol and Interface for High Data Rate Signal Transfer,,,这两个 已授权的案子现已经转让给本发明的受让人,在这里将它们引入作为参考。此外,还有2004 年 6 月 2 日提交的、序号为 10/860,116、标题为“Generating and Implementing a Signal Protocol and Interface forHigher Data Rates”的共同待决的美国申请。在这些申请中 讨论的技术能够极大地提高高速度数据信号中大量数据的传送速率。然而,不断提高数据 速率,特别是涉及视频呈现的速率的需求不断增长。即使是利用数据信号技术领域正在开 发的其它进展,仍然需要为进一步加快传送速率,提高通信链路效率,并且使通信链路更加 强大而继续努力。因此,仍然需要开发用来提高主机和客户机设备之间数据吞吐量的新的 或者改进的传送机制。

发明内容
通过本发明的实施例,所述领域现存的上述以及其它缺陷将得以解决,在本发明 的实施例中,已经开发出了用于在主机设备和接收方客户机设备之间以高数据速率传送数 据的新协议和数据传送手段、方法和机制。本发明的实施例致力于一种在主机设备和客户机设备之间经由通信路径以高速 率传送数字数据的移动数据数字接口(Mobile DataDigital Interface,MDDI),它采用多 个或一系列链接起来的分组结构来形成通信协议,以便在主机和客户机设备之间传递数字 控制和呈现数据的预选集合。该信号通信协议或者链路层由主机或者客户机链路控制器、 接收器或驱动器的物理层使用。驻留在主机设备中的至少一个链路控制器或驱动器经由通 信路径或者链路耦合至客户机设备,并且被配置成生成、发射并且接收形成该通信协议的 分组,并且将数字呈现数据形成为一个或多个类型的数据分组。所述接口在主机和客户机 之间提供信息的双向传送,所述主机和客户机能够存在于公共的整体外壳或支撑结构内。除了差分驱动器和接收器之外,所述实现方式在本质上通常全部是数字化的,其 中所述驱动器和接收器很容易就能够在数字CMOS芯片上实现,它们需要少数几个信号,如 6个信号,并且几乎能够以对于系统设计员来说极为便利的任何数据速率工作。这种简单的 物理和链路层协议使其便于集成,这种简单性加上休眠状态使得这种便携式系统具有非常 低的系统功耗。为了有助于使用和接受,所述接口将增加极少的设备成本,能够在使用标准电池 电压经由所述接口供电显示的同时,允许消耗极少的功率,并且能够使设备具有能装入口 袋的外形因素。所述接口是可升级的,以便支持HDTV以上的分辩率,该接口还支持显示器 设备的同步立体视频和7. 1音频,对任何屏幕区域执行有条件的更新并且双向支持多种数 据类型。按照本发明的实施例的其他方面,至少一个客户机链路控制器、接收器、设备或者 驱动器被设置在客户机设备中,并且经由通信路径或者链路耦合至所述主机设备。所述客户机链路控制器也被配置成生成、传输并且接收形成通信协议的分组,并且将数字呈现数 据形成为一个或多个类型的数据分组。一般说来,主机或者链路控制器采用状态机来处理 用在命令或者某些类型的信号预备和查询处理中的数据分组,但是其也能够使用更慢的通 用处理器来操纵数据和用于所述通信协议的某些不那么复杂的分组。所述主机控制器包括 一个或多个差分线路驱动器;而客户机接收器包括一个或多个耦合至所述通信路径的差分 线路接收器。所述分组在主机和客户机设备之间通信的介质帧内被组合在一起,这些介质帧具 有预定义固定长度,其中预定数目的分组具有不同的可变长度。所述分组均包括分组长度 字段、一个或多个分组数据字段和循环冗余校验字段。子帧报头分组被传送或者定位在来 自主机链路控制器的其它分组传送的开头。所述通信协议使用一个或多个视频流类型分组 和音频流类型分组,以便从主机经由正向链路向客户机分别传送视频类型数据和音频类型 数据,从而向客户机设备用户呈现。所述通信协议使用一个或多个反向链路封装类型分组, 以便把数据从客户机设备传送到主机链路控制器。在一些实施例中,这些传送包括把数据 从具有至少一个MDDI设备的内部控制器传送至内部视频屏幕。其它实施例包括向内部音 响系统传送,并且从包括游戏操纵杆和复杂键盘的各种输入设备向内部主机设备传送。由所述主机链路控制器生成填充符类型分组,以便占据没有数据的正向链路传输 的周期。所述通信协议使用多个其它分组,以便传送视频信息。这些分组包括色彩映射、位 块传送、位图区域填充、位案填充和透明色彩启用类型分组。所述通信协议使用用户定 义的流类型分组以便传送接口-用户定义的数据。所述通信协议使用键盘数据和指示设备 数据类型分组以便向与所述客户机设备相关联的用户输入设备传送数据或从这些设备中 传送出来。所述通信协议使用链路关闭类型分组来终止沿任何一个方向经由所述通信路径 的数据传送。所述通信路径通常包括或者采用具有一系列四个或更多导线和一个屏蔽的电缆。 另外,根据需要,可以使用印刷线路或者导线,其中有一些线路或者导线驻留在柔性衬底 上。所述主机链路控制器从客户机设备请求显示器能力信息,以便确定所述客户机经 由所述接口能够支持什么类型的数据和数据速率。所述客户机链路控制器使用至少一个显 示器能力类型分组向主机链路控制器传递显示或者呈现能力。通信协议使用多个传送模 式,每个传送模式均允许在给定时间段内并行传送不同的最大数目数据位,每一模式均可 以通过主机和客户机链路控制器之间的协商来选择。这些传送模式可以在数据传送期间动 态地调整,并且在反向链路上不必使用与正向链路上所使用的传送模式那样使用相同的模 式。在本发明某些实施例的其它方面中,所述主机设备包括无线通信设备,诸如无线 电话、无线PDA或者具有其中设置有无线调制解调器的便携式计算机。典型的客户机设备 包括便携式视频显示器,诸如微型显示器设备,和/或便携式音频呈现系统。此外,主机可 以使用储存模块或元件以储存待传送以便呈现给客户机设备用户的呈现或者多媒体数据。在某些实施例的其他方面中,所述主机设备包括具有下述的存在于便携式电子设 备内的驱动器的控制器或者通信链路控制设备,所述便携式电子设备诸如无线通信设备, 诸如无线电话、无线PDA或者便携式计算机。这一配置的典型客户机设备包括客户机电路、
12集成电路或者模块,其耦合至主机并且与之驻留在同一设备中,并且耦合至如移动电话和/ 或便携式音频呈现系统,或者一些可选类型的输入系统或设备中的高分辨率屏幕之类的内 部视频显示器。


下面对照附图详细说明本发明的其它特征和优点,以及本发明各种实施例的结构 和操作。在这些附图中,相同的标号一般表示相同,功能上类似和/或结构上类似的元件或 处理步骤,并且元件首次出现的附图用标号中最左边的数字来表示。图1A示出了本发明的实施例能够工作的基本环境,包括与便携式计算机或其他 数据处理设备结合使用的微型显示器设备或投影仪的使用。图1B示出了本发明的实施例能够工作的基本环境,包括与无线收发器结合使用 的微型显示器设备或投影仪和音频呈现元件的使用。图1C示出了本发明的实施例能够工作的基本环境,包括用在与便携式计算机中 的内部显示器设备或音频呈现设备的使用。图1D示出了了本发明的实施例能够工作的基本环境,包括在无线收发器中使用 内部显示器或音频呈现元件的使用。图2示出了具有主机和客户机互连的移动数字数据接口的总体构思。图3示出了用于实现从客户机设备到主机设备的数据传送的分组结构。图4示出了 MDDI链路控制器的使用,以及在主机和客户机之间经由类型1接口的 物理数据链路导线传递的信号类型。图5示出了 MDDI链路控制器的使用,以及在主机和客户机之间经由类型2、3、4型 接口的物理数据链路导线传递的信号类型。图6示出了用于实现所述接口协议的帧和子帧的结构。图7示出了用于实现所述接口协议的分组的通用结构。图8示出了子帧报头分组的格式。图9示出了填充符分组的格式和内容。图10示出了视频流分组的格式。图11A-11E示出了图10中使用的视频数据格式描述符的格式和内容。图12示出了数据的打包的和未打包的格式的使用。图13示出了音频流分组的格式。图14示出了数据的按字节对准和打包的PCM格式的使用。图15示出了用户定义的流分组的格式。图16示出了色彩映射分组的格式。图17示出了反向链路封装分组的格式。图18示出了客户机能力分组的格式。图19示出了键盘数据分组的格式。图20示出了指示设备数据分组的格式。图21示出了链路关闭分组的格式。图22示出了客户机请求和状态分组的格式。
13
图23示出了位块传送分组的格式。图24示出了位图区域填充分组的格式。图25示出了位案填充分组的格式。图26示出了通信链路数据通道分组的格式。图27示出了接口类型切换请求分组的格式。图28示出了接口类型确认分组的格式。图29示出了执行类型切换分组的格式。图30示出了正向音频通道启用分组的格式。图31示出了反向音频采样速率分组的格式。图32示出了数字内容保护开销分组的格式。图33示出了透明色彩启用分组的格式。图34示出了往返行程延迟测量分组的格式。图35示出了往返行程延迟测量分组期间事件的时序。图36示出了用于实现本发明的CRC生成器和校验器的示例性实现方式。图37A示出了图36所示装置发送数据分组时CRC信号的时序。图37B示出了图36所示装置接收数据分组时CRC信号的时序。图38示出了没有竞争情况下典型服务请求的处理步骤。图39示出了在链路重启序列开始之后维持(assert)的典型服务请求与链路启动 进行竞争的处理步骤。图40示出了如何使用DATA-STB编码来传输数据序列。图41示出了可用于在主机中根据输入数据生成DATA和STB信号,然后在客户机 中恢复数据的电路。图42示出了可用于实现一个实施例的驱动器和终端电阻。图43示出了由客户机用来保证得到来自主机的服务以及由主机用来提供这种服 务的步骤和信号电平。图44示出了 DataO、其它数据线(DataX)和选通线(Stb)上的跃迁(transition) 之间的相对间隔。图45示出了当主机传送分组之后禁用主机驱动器时会出现的,响应中存在的延迟。图46示出了当主机启用主机驱动器传送分组时会出现的,响应中存在的延迟。图47示出了漏电流分析。图48示出了主机和客户机输出禁用和启用时间的切换特性和相对时序关系。图49示出了能够使用状态机实现同步的信号处理步骤和条件的高级图表。图50示出了在采用MDDI的系统中正向路径和反向路径上信号处理遇到的典型延迟量。图51示出了临界的往返行程延迟测量。图52A示出了反向链路数据速率的变化。图52B示出了先进的反向数据采样的一个例子。图53绘出了反向速率除数的值随正向链路数据速率变化的图形表示。
图54A和54B示出了接口操作中进行的步骤。图55示出了处理分组的接口装置的概况。图56示出了正向链路分组的格式。图57示出了类型1链路接口中的传播延迟和偏离(skew)的典型值。图58示出了对于经由所述接口的示例性信号处理而言,在类型1链路上的 Data (数据)、Stb (选通)和Clock (时钟)恢复时序。图59示出了类型2、3或4链路接口中传播延迟和偏离的典型值。图60A、60B和60C示出了两个数据信号和MDDI Stb之间相对时序的不同可能性, 它们分别对应于理想情况、提早情况和推迟情况。图61示出了类型1/类型2接口所用示例性连接器的接口管脚分配。图62A和62B分别示出了类型1和类型2接口可能的MDDI_Data和MDDI_Stb波形。图63示出了能够使用状态机实现同步的可选的信号处理步骤和条件的高级图表。图64示出了一系列时钟周期与各种反向链路分组位的时序以及除数值之间的相 对时序。图65示出了示例性的错误代码传送处理。图66示出了可用于错误代码传送处理的装置。图67A示出了用于代码重载的错误代码传送处理。图67B示出了用于代码接收的错误代码传送处理。图68A示出了主机启动的唤醒的处理步骤。图68B示出了客户机启动的唤醒的处理步骤。图68C示出了带有竞争的主机和客户机启动的唤醒的处理步骤。图69示出了请求VCP特征分组的格式。图70示出了 VCP特征应答分组的格式。图71示出了 VCP特征应答列表的格式。图72示出了设置VCP特征分组的格式图73示出了请求有效参数分组的格式。图74示出了有效参数应答分组的格式。图75示出了可缩放视频流能力分组的格式。图76示出了可缩放视频流建立分组的格式。图77示出了可缩放视频流确认分组的格式。图78示出了可缩放视频流分组的格式。图79示出了请求特定状态分组的格式。图80示出了有效状态应答列表分组的格式。图81A示出了分组处理延迟参数分组的格式。图81B示出了延迟参数列表项的格式。图82示出了个人显示器能力分组的格式。图83示出了视场曲率点列表字段的点。
图84A示出了客户机错误报告分组的格式。图84B示出了错误报告列表项的格式。图85示出了客户机标识分组的格式。图86示出了可选显示器能力分组的格式。图87示出了寄存器访问分组的格式。图88A-88C示出了使用两个显示器缓冲器来减少可视赝像(visible artifacts)。图89示出了显示刷新快于图像传送的两个缓冲器。图90示出了显示刷新慢于图像传送的两个缓冲器。图91示出了显示刷新比图像传送快得多的两个缓冲器。图92示出了显示刷新快于图像传送的三个缓冲器。图93示出了显示刷新慢于图像传送的三个缓冲器。图94示出了显示刷新快于图像传送的一个缓冲器。图95示出了经由串级链(daisy-chain)和集线器的主机-客户机连接。图96示出了经由集线器和串级链的组合连接的客户机设备。图97示出了色彩映射。
具体实施例方式I.概述本发明总的目的在于提供一种移动显示数字接口(MDDI,MobileDiSplay Digital Interface),如下所述,它能够得到或者提供具有性价比高、低功耗的传送机制,这种传送 机制使用“串行”类型的数据链路或者通道,能够在主机设备和如显示器元件的这种客户机 设备之间的近距离通信链路上实现高速或者非常高速的数据传送。这一机制适于利用小型 连接器和细软电缆来实现,这些小型连接器和细软电缆特别适合于把内部(在外壳或者支 架内)显示器或者输出元件或设备或输入设备连接至中央控制器、通信元件或设备。此外, 把如可佩带的微型显示器(护目镜或者投影仪)之类的外部显示器元件或设备或其他类型 的视觉、听觉、触觉信息呈现设备连接至便携式计算机、无线通信设备或者娱乐设备时,这 种连接机制非常有用。尽管术语移动和显示与所述协议的命名相关联,但是应该理解,这仅仅是为了便 于让本领域中研究接口和协议的技术人员容易地理解标准的名称。它将涉及VESA标准以 及该标准的各种应用。然而,在阅读以下给出的实施例后,很容易理解的是,许多与非移动 性和非显示相关的应用也会得益于应用本协议、所得到的接口结构或传送机制,而MDDI标 记并不意味着对本发明或其各种实施例施加任何限制。本发明的实施例的一个优点是为数据传送提供一种技术,它复杂度低、成本低、可 靠性高,非常适合于使用环境,并且非常稳定,同时保持了非常高的灵活性。可以将本发明的实施例用于各种情况,以便把通常用于音频、视频或者多媒体应 用的大量数据从生成、控制(如,传送到特定设备)或处理或储存这种数据的主机或者源设 备以高速率传递或者传送到客户机或者接收设备,如视频显示器或投影元件、音频扬声器 或其他呈现设备。下面讨论的一个典型应用是从便携式计算机、无线电话或调制解调器向可视显示器设备的数据传送,其中可视显示器设备例如为小型视频屏幕或可佩带的微型显 示器用品(micro-displayappliance),比如护目镜形式或者包含小型投影透镜和屏幕的头 盔形式,或者在这种部件内从主机向客户机设备的数据传送。也就是说,从处理器到内部屏 幕或其它呈现元件,并且从各种内部输入设备或者采用客户机的外部输入设备到安装在内 部的(一起置在同一个设备外壳或者支撑结构内)主机,或通过线缆或导线连接到那里。MDDI的特性或属性不依赖于具体的显示或呈现技术。无论数据的内部结构,还是 数据或其执行的命令的功能方面如何,MDDI都是用于以高速率传送数据的高灵活性机制。 它允许调节正在传送的分组的时序以适应特定客户机设备的特性,例如针对某些设备的独 特显示需求的特性,或者为满足某些A-V系统组合音频和视频的要求的特性,或者针对如 游戏操纵杆、触摸盘等等的某些输入设备的特性。这种接口不需要了解采用的是什么显示 器元件或者客户机设备,只要它们遵循所选的协议即可。另外,总的串行链路数据或数据速 率能够在几个数量级上改变,这就使得通信系统或者主机设备的设计者能够对成本、功率 要求、客户机设备的复杂程度以及客户机设备的更新速率进行优化。这种数据接口主要用于经由“有线”信号链路或者小型电缆传送大量高速率数据。 然而,某些应用也可以利用无线链路,包括基于光的链路,只要将这些链路配置成使用为这 一接口协议开发的相同分组和数据结构,并且能够以足够低的功耗或者复杂性来实现所期 望的传送水平,以便保持实用性。II.环境在图1A和1B中可以看到典型的应用,其中示出了分别与显示器设备104和106以 及音频再现系统108和112传递数据的便携式或者膝上型计算机100和无线电话或者PDA 设备102。另外,图1A示出了与较大的显示器或者屏幕114或者图像投影仪116的潜在连 接,为了清楚,仅仅在一个图中示出,但是其也可以与无线设备102相连。无线设备有可能 目前正在接收数据或者已经在存储元件或设备中预先储存了一定量的多媒体类型数据,以 便稍候呈现给无线设备的最终用户来观看和/或倾听。由于大多数时间使用典型的无线 设备来进行语音和简单文本的通信,所以它具有相当小的显示屏和简单的音频系统(扬声 器)来向设备102的用户传递信息。计算机100具有非常大的屏幕,但是还缺少外部音响系统,并且仍达不到诸如高 清晰度电视或者电影屏幕之类的其它多媒体呈现设备的水平。使用计算机100是出于说明 的目的,本发明也可以使用其它类型的处理器、交互式视频游戏或者消费电子设备。计算机 100能够采用无线调制解调器或者其它嵌入设备来进行无线通信,或者根据需要使用电缆 或者无线链路与这种设备相连,但是不局限于此。这样做不足以使得更加复杂或者“丰富”的数据的呈现提供有用或令人愉快的体 验。因此,该行业正在开发其它机制和设备来向最终用户呈现信息并且提供所期望的享受 或积极体验的最低水平。正如先前所述的那样,已经开发或者目前正在开发几种类型的显示器设备来向设 备100的最终用户呈现信息。例如,一个或多个公司已经开发了多组可佩带的护目镜,用 于在设备用户的眼睛前方投影图像以便呈现可视显示。正确定位的时候,这种设备可以有 效地“投射”一个虚拟图像,就像用户眼睛感觉到的那样,这个图像比提供视觉输出的元件 大得多。也就是说,非常小的投影元件使得用户的眼睛“看到”的图像比利用典型LCD屏幕
17等等可能看到的图像大得多。使用较大的虚拟屏幕图像还能够使用远高于利用更加有限的 LCD屏幕显示器所能获得的分辨率的图像。其它显示器设备可以包括但不局限于小型LCD 屏幕或者各种平板显示器元件、用于将图像投射在表面上的投影透镜和显示驱动器等等。还存在连接至无线设备102或计算机100或者与它们的使用相关联的附加元件, 以便向其它用户或者向其它设备呈现输出,其中所述其它设备还把信号传送到其它地方或 者储存信号。例如,可以把数据储存在快闪存储器中,以光学形式,例如使用可写CD介质, 储存或者储存在诸如磁带记录器的磁介质上或类似设备中,供以后使用。另外,许多无线设备和计算机目前具有内置MP3音乐解码能力,以及其它先进的 声音解码器和系统。通常,便携式计算机利用⑶和DVD播放能力,并且有一些还具有小型 专用快闪存储器读取器来接收预先记录的音频文件。具有这种能力的问题在于数字音乐 文件许诺能够提供高度增加的特性丰富的体验,但是只有当解码和播放处理能够跟上时才 可实现。这对于数字视频文件也是一样。为了帮助声音再现,图1A中示出了外部扬声器114,其还附带有诸如超低音扬声 器或者用于前后方声音投射的“环绕声”扬声器之类的附加元件。同时,将扬声器或者耳机 108示出为嵌入支架或者图1B的微型显示器设备106的机制的形式示出。众所周知,还可 以使用包括功率放大或者声音成形设备的其它音频或者声音再现元件。在任何情况下,如上所述,当人们希望经由一个或多个通信链路110从数据源向 最终用户传送高质量或者高分辨率图像数据和高质量音频信息或者数据信号时,要求高数 据速率。也就是说,传送链路110显然是数据通信过程中潜在的瓶颈,就象早先讨论的那 样,并且由于当前的传送机制无法实现通常期望的高数据速率,所以限制了系统性能。如上 所述,例如对于1024X 1024像素的较高图像分辨率、每像素24 32位的色彩浓度并且处 于30fps的数据速率来说,数据速率能够接近超过755Mbps的速率或者更高。另外,这种图 像可以作为多媒体呈现的一部分来呈现,该多媒体呈现包括音频数据以及处理交互式游戏 或通信、或者各种命令、控制或信号的潜在附加信号,这进一步增加了数据量和数据速率。还显而易见的是,建立数据链路所需的电缆或者互连越少,意味着与显示器相关 联的移动设备越易于使用,并且越可能被更多的用户采用。在通常使用多个设备来建立完 全的音频-视频体验的情况下,尤为如此,并且随着显示器和音频输出设备质量水平的提 高而更为突出。涉及视频屏幕以及其它输出或者输入设备方面的上述以及其它改善的其它典型 应用可以从图1C和1D中看到,其中示出了分别与“内部”显示器设备134和144以及音频 再现系统136和146传递数据的便携式或者膝上型计算机130以及无线电话或者PDA设备 140。在图1C和1D中,用整个电子设备或者产品的小切开(cut-away)部分来示出设备 的一部分中的一个或多个内部主机和控制器的位置,通过整个电子行业目前使用的某些已 知类型的转动铰链,通用通信链路(此处分别为138和148)把这些内部主机和控制器连接 到具有相应客户机的视频显示器元件或者屏幕。人们可以看出,这些传送所涉及的数据量 要求大量导线来构成链路138和148。由于并行接口或者其它已知接口技术的类型可用于 传送这种数据,因此据估计,这种通信链路具有接近于90个或更多的导线,以便满足现在 对利用这种设备上的先进的彩色和图形接口、显示器元件的不断增长的需要。
但是,这种更高数据速率超出了当前用于传送数据的可用现有技术。就每单位时 间需要传送的原始数据量而言,并且就制造可靠的低成本的实用传送机制而言,均是如此。所需要的是这样一种用来在呈现元件和数据源之间的数据传送链路或者通信路 径上以高速率传送数据的技术、结构、装置或方法,从而实现一贯低功耗、重量轻并且尽可 能简单和经济的电缆结构。本申请人已经开发了一种新的技术、方法和装置来实现这些以 及其它目的,以便使一系列移动式、便携式乃至固定位置的设备能够以非常高的数据速率 向所期望的显示器、微型显示器或者音频传送元件传送数据,同时维持所期望的低功耗和 低复杂性。III.高速率数字数据接口系统体系结构为了创建并且高效地利用新的设备接口,已经配制了使用低功率信号来提供很高 的数据传送速率的信号协议和系统体系结构。所述协议基于分组和公共帧结构或者链接起 来以便形成协议的结构,以用于传递预选数据集或者数据类型以及施加在接口上的命令或 者操作结构。A.概述把经由MDDI链路连接或者通信的设备称为主机和客户机,所述客户机通常是某 些类型的显示器设备,但是也可以考虑其它输出和输入设备。在由主机启用时,从主机到显 示器的数据沿正向传送(称为正向业务或者链路),从客户机到主机的数据沿反向传送(称 为反向业务或者链路)。在图2中示出的基本结构中说明这些。在图2中,主机202使用双 向通信通道206与客户机204相连,所述双向通信通道是按照包括正向链路208和反向链 路210的形式示出的。然而,这些通道是由公共导线集合形成的,其中这些公共导线集合的 数据传送可在正向和反向链路操作之间有效切换。这样能够极大地减少导线数量,立即解 决了在诸如移动式电子设备的低功耗环境下进行高速数据传送的当前方法所面对的许多 问题之一。如同其它地方讨论的那样,所述主机包括能够得益于使用本发明的多种类型的设 备之一。例如,主机202可以是具有手持、膝上型或者类似移动计算设备的形式的便携式计 算机,它也可以是个人数字助理(PDA)、寻呼设备或者多种无线电话或者调制解调器之一。 作为选择,主机202可以是便携式娱乐或者呈现设备,如便携式DVD或者CD播放器,或者是 游戏设备。此外,所述主机可以作为主机设备或者控制元件而存在于各种其它广泛使用或者 规划的商业产品中,这些产品与客户机之间需要建立高速通信链路。例如,主机可用于以高 速率从视频记录设备向基于存储的客户机传送数据以改善响应,或者向高分辨率的大屏幕 传送数据以便呈现。结合有板上清点(onboard inventory)或计算系统和/或与其它家庭 设备的蓝牙连接的家电,如冰箱,当在互联网或者蓝牙连接的模式下工作时,具有改善了的 显示器能力,或者在电子计算机或者控制系统(主机)存在于室内其它地方的时候,降低了 室内显示器(客户机)和小键盘或者扫描仪(客户机)的连线需要。总体上讲,本领域技 术人员会了解,各种各样的现代电子设备和家电将得益于使用这种接口,而且通过利用新 增加的或现有的连接器或者电缆中可用的有限数量的导线来实现信息的更高数据速率传 输能够翻新旧式设备。同时,客户机204可以包括用于向最终用户呈现信息或者从用户向主机呈现信息的各种设备。例如,并入护目镜或者眼镜的微型显示器、嵌入帽子或者头盔的投影设备、嵌 入诸如车辆的窗户或者挡风玻璃中的小型屏幕乃至全息元件、或者用于呈现高质量声音或 者音乐的各种扬声器、头戴耳机或者音响系统。其他呈现设备包括用于呈现会议信息或电 影和电视图像的投影仪或投影设备。另一实例是使用触摸板或者敏感设备、语音识别输入 设备、安全扫描仪,以及其他能够被调用以从设备或系统用户处传递大量信息,其中该设备 或系统用户具有来自用户的除触摸和声音以外的不太实际的“输入”。此外,计算机和车辆 配件或台式机配件的扩展坞(docking station)和无线电话的持有者也可以作为对于最终 用户或其他设备和装置的接口设备,并且可以利用客户机(如鼠标的输出或输入设备)或 主机来帮助传送数据,特别是在涉及高速网络的情况下。然而,本领域技术人员会很容易认识到,本发明不局限于这些设备,市场上还有许 多其它设备供使用,这些设备或者以储存和传送的方式,或者以播放时呈现的方式,向最终 用户提供高质量图像和声音。本发明在各种元件或者设备之间提高数据吞吐量方面十分有 用,从而能够适应用于实现所期望的用户体验所需的高数据速率。可以将本发明的MDD接口和通信信号协议用来简化设备内(内部模式)的主机处 理器、控制器或电路组件(例如)和设备或设备外壳或结构中的显示器之间的互联(称为 内部模式),以降低这些连接的成本或复杂度以及相关功率和控制要求或这些连接的约束 条件,并且提高可靠性,而不仅仅连接到或用于外部元件、设备或装置(外部模式)。由此接口结构使用的每一信号对上总的串行链路数据速率可以在多个数量级上 改变,这一点允许系统或设备设计者易于对成本、功率、实现方式的复杂性和显示器更新速 率进行优化。MDDI的属性不依赖显示器或其他呈现设备(目标客户机)的技术。可以容易 地调节经由接口传送的数据分组的时序,以适应特定客户机的特性,该客户机如显示器设 备、音响系统、存储器和控制元件,或者适应音频-视频系统的组合时序要求的特性。虽然 这样做允许系统消耗尽可能小的功率,但是它并不要求各客户机具有帧缓冲器以便至少在 一定级别使用MDDI协议。B.接口类型所述MDD接口被构想为能够处理在通信和计算机行业中可以找到的多少有些不 同的至少四个或者更多的接口的物理类型。将这些类型的接口简单标记为类型1、类型2、 类型3类型4,当然本领域技术人员也可以根据所针对的具体应用或与之相关的行业而应 用其它标记或者名称。例如,简单音频系统使用少于复杂多媒体系统的连接,并且可以不同 地引用如“通道”的特性等等。所述类型1接口被配置成6线(6-wire)或其他类型导线或传导元件的接口,这种 接口使其适用于移动式或者无线电话、PDA、电子游戏和诸如CD播放器或者MP3播放器的便 携式媒体播放器,以及类似设备或在类似类型的电子消费技术上所使用的设备。在一个实 施例中,一个被配置成8线(导线)接口的接口可更加适用于膝上型计算机、笔记本或者台 式个人计算机以及类似设备或应用,这些设备不要求快速的数据更新,也没有嵌入式MDDI 链路控制器。这种接口类型还能够通过使用额外的双线通用串行总线(USB)接口来区别此 接口类型,其中的USB非常适用于支持在大多数个人计算机上常见的现存操作系统或者软 件支持。类型2、类型3和类型4接口适用于高性能客户机或设备,并且使用带有额外的双绞线类型导线的更大的复杂电缆来为数据信号提供适当的屏蔽和低损耗传送。类型1接口传递包括显示、音频、控制和有限信令信息的信号,并且通常用于移动 式客户机或者不要求高分辨率全速率视频数据的客户机设备。在30fps外加5. 1声道音频 的情况下,类型1接口可以容易地支持SVGA分辩率,并且在最小配置中,总计只使用三个线 对,两对用于数据传输,一对用于功率传送。这种类型的接口主要用于如移动无线设备的设 备,这种设备内通常没有USB主机端进行连接和传送信号。在这种配置中,所述移动无线设 备是MDDI主机设备,并且充当用于控制来自所述主机的通信链路的“主控设备”,其中所述 主机通常向客户机发送数据(正向业务或者链路)以用于呈现、显示或者播放。在这种接口中,通过向客户机发送特殊的命令或者分组类型,主机能够在该主机 处接收来自客户机的通信数据(反向业务或者链路),从而允许客户机在指定的持续时间 段内占据总线(链路),并且把数据作为反向分组发送到主机。这些内容在图3中示出,其 中称为封装分组的分组类型(将在下面讨论)用来支持该传送链路上的反向分组传送,以 创建所述反向链路。分配给主机用来轮询客户机的数据的时间间隔由主机预先确定,并且 该时间间隔是基于每一指定应用的要求。在没有USB端口用来传送来自客户机的信息或者 数据时,这种类型的半双工双向数据传送是特别有益的。能够支持HDTV类型或者类似高分辨率的高性能显示器要求1. 5Gbps左右速率的 数据流以支持全运动视频。所述类型2接口通过并行传输2位来支持高数据速率,所述类 型3通过并行传输4位来支持,而类型4接口并行传送8位。类型2和类型3使用与类型1 相同的电缆和连接器,但是能够工作在两倍和四倍的数据速率上以便支持便携式设备上的 更高性能的视频应用。类型4接口适用于极高性能的客户机或者显示器,并且需要包含附 加双绞线数据信号的稍大电缆。通常,通过协商议定所能使用的最高数据速率,由MDDI使用的协议允许类型1、2、 3和4的主机中的每一个与类型1、2、3和4的客户机中的任意一个进行通信。将可以称为 最小能力设备的能力或者可用特征被用来设置链路的性能。通常,即使是主机和客户机均 能够是使用类型2、类型3或者类型4接口的系统,二者也都以类型1接口开始工作。然后, 主机确定目标客户机的能力,并且协商议定切换到或重新配置操作到类型2、类型3或类型 4中的一个模式,只要其对于特定的应用合适即可。对于主机而言,通常能够使用正确的链路层协议(下文进一步讨论)并且通常在 任何时候都逐级下降或者再次重新配置操作到较慢模式以便节省功耗,或者逐级上升到较 快模式来支持如高分辨率显示内容的更高速度传送。例如,当系统从如电池的电源切换至 交流电源时,或者当显示媒体源切换到更低或者更高分辨率格式时,主机可以改变接口类 型,或者可以将这些或者其它条件或者事件的组合认为是改变接口类型或者传送模式的基 石出。系统还能够在一个方向上使用一种模式而在另一个方向上使用另一模式来传递 数据。例如,可以将类型4接口模式用于以高速率传送数据给显示器,而从如键盘或者指示 设备这种外围设备向主机设备传送数据时则使用类型1模式。本领域普通技术人员会明 白,主机和客户机能够以不同速率传递输出数据。MDDI协议的用户常常可以将“外部”模式和“内部”模式区分开来。外部模式描述 的是利用该协议和接口把一个设备中的主机连接到该设备外部的且距离该设备最多2米
21左右的客户机。在这种情况下,主机还可以向外部客户机送电,以便使两个设备都易于在移 动环境下工作。内部模式描述的是主机与同一设备内部包含的客户机相连,例如处于公共 外壳或者支架或者某种结构内。一个实例可以是无线电话或者其它无线设备内、或者便携 式计算机或者游戏设备内的应用,其中客户机是显示器或者显示驱动器,或如键盘或触摸 板的输入设备,或音响系统,而主机是中央控制器、图形引擎或者CPU元件。与外部模式应 用相反,由于在内部模式应用中客户机位于非常靠近主机的地方,所以在这种结构中通常 不要求将电源连接至客户机。C.物理接口结构图4和5中示出了用于在主机和客户机设备之间建立通信的设备或者链路控制器 的一般配置。在图4和5中,所示出的MDDI链路控制器402和502安装在主机设备202中, 并且所示出的MDDI链路控制器404和504安装在客户机设备204中。如前所述,主机202 使用包括一系列导线的双向通信通道406与客户机204相连。如下所述,主机和客户机链 路控制器两者都可以使用单一电路设计制作为集成电路,所述设计可以被设置、调节或者 编程以作为主机控制器(驱动器)或者客户机控制器(接收器)来进行响应。由于需要更 大规模地制造单个电路设备,这样做的成本更低。在图5中,所示出的MDDI链路控制器502安装在主机设备202,中,并且所示出的 MDDI链路控制器504安装在客户机设备204’中。如前所述,主机202'使用包括一系列导 线的双向通信通道506与客户机204'相连。如上所述,主机和客户机链路控制器两者都可 以使用单个电路设计来加以制造。在图4和5中还说明在主机和如显示器设备之类的客户机之间经由MDDI链路或 者所使用的物理导线来传递的信号。如图4和5所示,用于经由MDDI传送数据的主要路径 或者机制使用标记为MDDI_DataO+/-和MDDI_Stb+/_的数据信号。这些信号的每一个均为 经由电缆中的差分电线对来传送的低压数据信号。对于通过所述接口发送的每一位,MDDI_ DataO对或者MDDI_Stb对上只存在一个跃迁。这是基于电压而非基于电流的传送机制,因 此静态电流消耗接近零。主机把MDDI_Stb信号驱动到客户机显示器。当数据可以经由MDDI_Data对沿正反方向流动时,也就是说它是双向传送路径 时,主机是数据链路的主控设备或者控制器。所述MDDI_DataO和MDDI_Stb信号路径按照 差分模式工作,以便使抗扰能力最强。这些线路上信号的数据速率是由主机发送的时钟速 率来确定的,并且能够在1kbps直到400Mbps或更大的范围内改变。除了类型1接口的数据对或路径以外,类型2接口还包含一个附加数据对或者导 线或者路径,称为MDDI_Datal+/-。除了类型2接口的那些数据对或路径以外,类型3接口 包含两个附加数据对或者信号路径,称为MDDI_Data2+/-和MDDI_Data3+/-。除类型3接 口的数据对或路径以外,类型4接口包含另外四个数据对或者信号路径,分别称为MDDI_ Data4+/_、MDDI_Data5+/-、MDDI_Data6+/_ 和 MDDI_Data7+/-。在上述接口 配置的每一个 中,主机可以使用线对或者指定为H0ST_Pwr(主机电源)和H0ST_Gnd(主机地)的信号来 向客户机或者显示器提供电力。如下文将进一步讨论的,如果需要,当正在使用的接口“类 型”采用的导线少于在其他模式中可用的或存在的导线时,在某些配置中MDDI_Data4+/-、 MDDI_Data5+/-、MDDI_Data6+/_或者MDDI_Data7+/_导线,也可以用于进行电力传送。虽 然一些应用存在差异,但电力传送通常为外部模式所使用,内部模式通常不需要电力传送。
下面,按照接口类型,在表I中说明了在各种模式下,经由MDDI链路在主机和客户 机(显示器)之间传递的信号的概要。表 I 还应注意的是,用于从主机传送的H0ST_PWr/Gnd连接通常是为外部模式提供的。 内部应用或者操作模式通常让客户机直接从其它内部资源接电源,而不使用MDDI来控制 电源分布,正如对于本领域普通技术人员显而易见的那样,因此没有在此处进一步详细地 描述这种分布。然而,正如本领域普通技术人员将理解的那样,当然能够经由MDDI接口来 分配电源以方便例如某种电源控制、同步或者互连。通常用于实现上述结构和操作的电缆标称量级为大约1. 5米的长度,一般为2米 或者更短,并包括三对双绞线导线,每一导线还是多股30AWG线。把箔屏蔽覆盖物包裹或者 形成在三对双绞线之上,作为另外的地线(drain wire)。所述双绞线和屏蔽地线导线在显 示器连接器中终止,屏蔽层与客户机的屏蔽层连接,还有一个绝缘层,覆盖整个电缆,这些 都正如所属技术领域已知的那样。所述电线按以下方式配对H0St_Gnd与Host_Pwr ;MDDI_ Stb+ 与 MDDI_Stb- ;MDDI_DataO+ 与 MDDI_DataO- ;MDDI_Datal+ 与 MDDI_Datal-;等等。然 而,如本领域已知的那样,可以根据特定的应用,使用各种导线和电缆来实现本发明的实施 例。例如,在一些应用中,重的外部覆盖物或金属层可用于包含电缆,而细的、扁平的传导带 型结构可能非常适合于其他应用。D.数据类型和速率为了实现用于用户体验和应用的有用接口,移动式数字数据接口(MDDI,Mobile Digital Data Interface)支持各种客户机和显示信息、音频转换器、键盘、指示设备和可 以集成到移动式显示器设备或者与之协同工作的多种其它输入/输出设备,以及控制信息 和它们的组合。所述MDD接口被设计成能够适应各种潜在类型的数据流,这些数据流使用 最小数目的电缆或者导线沿正向或者反向链路方向在主机和客户机之间传送。同步流和异 步流(更新)都得以支持。只要总计数据速率小于或等于最大的期望MDDI链路速率,许多 数据类型的组合都是可能的。这一 MDDI链路速率受到最大串行速率和所采用的数据对数 目的限制。这些数据速率可以包括但不局限于下面表II和III中列出的那些项。
表 II 表 III 为了满足未来系统的灵活性要求,所述接口不是固定的,而是可扩展的,因此它可 以支持包括用户定义的数据的各种信息“类型”的传送。所支持的数据的具体实例是全运 动视频,具有全屏幕或部分屏幕位图字段的形式或者压缩视频形式的视频;处于低速率以 便节省功率并且降低实现成本的静态位图;以多种分辩率或者速率的PCM或者压缩音频数 据;指示设备定位和选择,以及针对待定义能力的用户可定义数据。这种数据还可以随控制 或状态信息一起传送,以便检测设备能力或设置操作参数。本发明的实施例给出了用于数据传送的技术,所述技术包括但不局限于观看电 影(视频显示和音频);使用具有有限个人观看的个人计算机(图形显示、有时结合视频 和音频);在PC、控制台或者个人设备上玩视频游戏(运动图形显示或者合成的视频和音 频);使用视频电话,静态数字图像照相机,或用于拍摄数字视频图像的摄录一体机形式的 设备在因特网上“冲浪”(双向低速率视频和音频);使用扩展有投影仪的电话或者PDA来 呈现或者与连接至视频监视器、键盘以及鼠标的台式扩展坞扩展连接;以及使用蜂窝电话、 智能电话或者PDA,包括无线指示设备和键盘数据,来增强生产力或者用于娱乐。如下所述的高速数据接口是以经由通信或者传送链路提供大量A-V类型数据的 形式而提供的,所述通信或者传送链路通常被配置成电线线路或者电缆类型链路。然而,显 而易见,可以调节信号结构、协议、时序或者传送机制以便提供光学或者无线介质形式的链 路,只要该链路可以保持所需要的数据传送水平即可。MDDI信号把名为公共帧速率(CFR)的概念用于基本信号协议或者结构。支持使用 公共帧速率的思想在于为同时的同步数据流提供同步脉冲。客户机设备可以使用这一公共 帧速率作为时间基准。通过减少用于传输子帧报头的开销,低CF速率提高了通道效率。另 一方面,高CF速率能够减少等待时间,并且允许将弹性更小的数据缓冲器用于音频采样。 本发明的接口的CF速率是可动态编程的,并且可以被设置为适合于特殊应用中使用的多 个同步流的多个值之一。也就是说,根据需要,选择所述CF值来最佳地适应给定的客户机和主机结构。表IV中示出了例如视频或微型显示器之类的应用中很可能使用的同步数据流的 每个子帧通常需要的字节数目,这个数目是可调节的或者是可编程的。表IV 使用简单的可编程M/N计数器结构可以很容易地计算出每子帧的分数字节。例 如,通过传送2个27字节的帧,每次后面跟随一个26字节的帧,可以实现对每个CF 26-2/3 字节的计数。可以选择更小的CF速率来产生每个子帧的整数字节。然而,一般说来,与较 大音频采样FIFO缓冲器所需的区域相比,在用于实现本发明的部分或者所有实施例的集 成电路芯片或者电子模块中,用硬件实现简单的M/N计数器需要的区域较小。说明不同数据传送速率和数据类型的影响的示例性应用是卡拉0K系统。对于卡 拉0K系统来说,最终用户或者多个最终用户与音乐视频节目一起演唱。将歌曲的歌词显示 在屏幕的某处,通常在屏幕底部,因此,用户知道将演唱的词,并且大致知道歌曲的时间安 排。这一应用需要不经常进行图形更新的视频显示,并且把一个或者多个用户语音与立体 声音频流混合。如果采用的公共帧速率是300Hz,那么每一子帧将包括经由正向链路至客户机 显示器设备的92,160字节的视频内容和588字节的音频内容(在立体声中基于14716-位 采样),以及从麦克风送回到移动式卡拉0K机的平均值为26. 67 (26-2/3)字节的语音。在 主机和显示器(有可能是头带式的)之间发送异步分组。这包括最多768字节的图形数据 (四分之一屏幕高度),以及少于约200字节(几字节)用于各种各样的控制和状态命令。表V示出了对于卡拉0K实例而言,在子帧内如何分配数据。将使用的总速率选择 为约279Mbps。稍高于280Mbps的速率允许传送每子帧大约又一 400字节的数据,这样就允 许利用偶尔出现的控制和状态信息。表V 使用MDD接口高速串行数据信号传送的数据包括时间复用分组流,其中这些分组 一个接着一个地链接。即使传输设备没有要发送的数据,MDDI链路控制器通常也自动地发 送填充符分组,由此维持分组流。因此,简单分组结构的使用能够确保视频和音频信号或者 数据流可靠的同步时序。多组分组包括在称为子帧的信号元素(signal element)或者结构内,而子帧组则 包含在称为介质帧的信号元素或者结构内。根据子帧各自的大小和数据传送用途,子帧包 含一个或多个分组,而介质帧则包含一个或多个子帧。这里给出的实施例所采用的协议提 供的最大子帧大约为232-1或者4,294,967,295字节的量级,而最大介质帧的大小大约为 216-1或者65,535个子帧的量级。
一个特殊的子帧报头分组包含唯一的标识符,该标识符在每一子帧开始时出现, 正如下面将讨论的那样。当启动主机和客户机之间的通信时,该标识符还用于获取客户机 设备处的帧时序。下面比较详细地讨论链路时序的获得。通常,显示全运动视频时,每一介质帧更新一次显示屏幕。显示帧速率与介质帧速 率相同。根据所需要的应用,链路协议支持整个显示器上的全运动视频,或者仅仅支持由静 态图像围绕的全运动视频内容的一个小区域。在某些低功率移动式应用中,诸如观看网页 或者电子邮件,只须偶而更新显示屏。在这些情况下,传输单个子帧,然后关闭链路或者撤 销链路以便使功耗最小是非常有益的。所述接口还支持诸如立体视觉的效果,并且处理图 形图元。
III.高速率数字数据接口系统体系结构(续) E.链路层
子帧使得系统能够周期性地传输高优先级分组。这样做使得同时发生的同步流 能够与最小量的数据缓存共存。这是提供给显示过程的一个有益实施例,它允许多个数据 流(视频、语音、控制、状态、指示设备数据等等的高速通信)基本上共享共同通道。该接口 使用相对少数的信号传送信息。该接口还允许存在特定于显示技术动作,诸如用于CRT监 视器的水平同步脉冲和消隐间隔(blanking intervals),或其他特定于客户机-技术的动 作。F.链路控制器图4和5中示出的MDDI链路控制器将按照完全数字化实现方式来制造或者装配, 其中不包括用来接收MDDI数据和选通信号的差分线路接收器。然而,例如当制作CMOS型 IC时,差分线路驱动器和接收器甚至可以与链路控制器一起在同一数字集成电路中实现。 不需要模拟功能或者锁相环(PLL)来进行位恢复或者实现链路控制器的硬件。除包含用于 链路同步的状态机的客户机接口之外,主机和客户机链路控制器包含非常类似的功能。因 此,本发明的实施例允许创建单个控制器设计或电路,并可以将它配置为主机或者客户机, 这有利于实际应用,而且总的来说,这样做可以降低链路控制器的制造成本。IV.接口链路协议A.帧结构图6中示出了用于实现分组传送的正向链路通信的信号协议或者帧结构。如图6 所示,把信息或者数字数据组合为公知为分组的元素(element)。继而,多个分组又被组合 在一起以形成所谓“子帧”,并且多个子帧又被组合在一起以形成“介质”帧。为了控制帧的 形成和子帧的传送,每一子帧从专门预定的分组开始,该分组称为子帧报头分组(SHP)。所述主机设备选择将用于给定传送的数据速率。主机设备可以基于主机的最大传 送能力、由主机从信息源取回(retrieve)的数据,以及客户机或者该数据将要传送到的其 它设备的最大能力,而动态地改变此速率。设计成或者能够与MDDI或者本发明的信号协议协同工作的接收方客户机设备能 够由主机进行查询,以便确定该客户机可以使用的最大或者当前最大的数据传送速率,或 者可以使用的默认较慢最小速率以及可用的数据类型和所支持的特征。这一信息可以使 用显示器能力分组(DCP)来传送,如下文将进一步讨论的那样。所述客户机显示器设备能 够使用所述接口以预选最小数据速率或者在最小数据速率范围内传送数据或者与其它设 备通信,并且所述主机将使用此范围内的数据速率执行查询以便确定客户机设备的全部能 力。可以在状态分组中向主机传送定义位图属性和客户机的视频帧速率能力的其它 状态信息,因此主机可以按照在任何系统限制范围内的实际情况或需要,尽可能高效或优 化地配置所述接口。当在本子帧中没有(更多)将要传送的分组时,或者当主机无法以足以跟上(keep pace)正向链路所选数据传输速率的速率进行传送时,所述主机发送填充符分组。由于每一 子帧从子帧报头分组开始,所以前一子帧的末尾包含正好填充前一子帧的分组(很可能是 填充符分组)。在承载数据的分组本身缺乏空间的情况下,填充符分组很可能是子帧中最后 的分组,或者在紧邻的先前(next previous)子帧的结尾并且在子帧报头分组之前。在主 机设备中,控制操作的任务就是确保对于该子帧内待传输的每个分组在子帧中都保留有足
27够的空间。同时,一旦主机设备开始发送数据分组,主机就必须能够成功地使帧内该大小的 分组完整,而不能引起数据欠载(under-run)情况。在实施例的一个方面中,子帧传输具有两种模式。一种模式是周期性的子帧模式, 或者周期性的时元(periodic timing印ochs),用于传输实况播送的视频和音频流。在这 种模式中,把子帧长度定义为是非零的。第二种模式是异步或者非周期性模式,其中当有新 的信息时,才使用帧来把位图数据提供给客户机。这种模式是通过在子帧报头分组中把子 帧长度设置为零来定义的。使用周期性模式时,当客户机与正向链路帧结构同步时,可以 开始子帧分组接收。这对应于按照下文就图49或图63讨论的状态图定义的“同步中(in sync),,的状态。在异步非周期性子帧模式中,在收到第一子帧报头分组之后开始接收。B.总体分组结构下面说明由所述实施例实现的用于规定通信或信令协议或传送数据的方法和手 段的分组格式或者结构,应记住的是,所述接口是可扩展的,根据需要可以添加附加分组结 构。所述分组就其在接口中的功能,即它们传送的或与之相关的命令、信息、数值或数据而 言,被标记为或者分为不同的“分组类型”。因此,对于用于操纵被传送的分组和数据的给定 分组,每一分组类型表示一个预定义的分组结构。显而易见,所述分组可以具有预选长度, 或者根据各自功能具有可变或者动态可变的长度。所述分组还可以拥有不同的名称,虽然 实现的仍然是相同的功能,正如在将协议接受到标准里去的过程中协议发生改变时出现的 情况一样。用于各种分组的字节或者字节值被配置成多位(8或16位)无符号整数。所采 用的分组概要以及它们的“类型”指定被按照类型顺序列出,并在表VI-1至VI-4中示出。为了便于举例说明和理解,每一表均给出了总体分组结构内的通用“类型”分组。 这些分组不暗含或者表示对本发明的某些限制或者其它影响,并且根据需要可以按照多个 其它方式来组织所述分组。还指出了认为分组传送有效的方向。表VI-1链路控制分组 表VI-2基本媒体流分组 表VI-3客户机状态和控制分组 表VI-4高级图形和显示分组 根据本文中的其它讨论可以清楚了解的是,虽然对于外部模式操作而言,反向封 装分组、客户机能力分组以及客户机请求和状态分组被认为是非常重要的,甚至在通信接 口的许多实施例中是需要的,但是可以认为它们对于内部模式操作而言是可选的。这样做 产生了另一类型的MDD接口协议,该协议允许利用缩减的通信分组集合以非常高的速度来 传递数据,并且相应地简化控制与时序。分组具有公共基本结构或者最少字段的总体集合,所述最少字段包括分组长度字 段、分组类型字段、数据字节字段和CRC字段,这些内容在图7中示出。如图7所示,分组长 度字段包含具有多位或者字节值形式的信息,用于指定分组的总位数,或者指定分组长度 字段和CRC字段之间的长度。在一个实施例中,所述分组长度字段包含16位或者2字节宽 的无符号整数,它说明分组长度。分组类型字段是又一多位字段,它指明分组内包含的信息 的类型。在一个示例性的实施例中,该分组类型字段是16位或者2字节宽、具有16位无符 号整数形式的值,并且将这些数据类型说明为显示器能力、切换、视频或者音频流、状态等寸。第三个字段是数据字节字段,它包含在主机和客户机设备之间作为分组的一部分 传送或者发送的位或者数据。按照被传送数据的具体类型,为每个分组类型具体定义了数 据格式,并且该分组格式可以分割成一系列附加字段,每一个都具有自身的格式要求。也就 是说,每一分组类型将具有对这一部分或者字段的已定义格式。最后的字段是CRC字段,它 包含在数据字节、分组类型和分组长度字段上计算出来的16位循环冗余校验的结果,该结 果用来确认分组中信息的完整性。换言之,该结果是在除CRC字段本身之外的整个分组上 计算出来的。客户机通常保存检测到的CRC错误的总计数,并且在客户机请求和状态分组 中将此计数报告给主机(参见下文)。通常,这些字段宽度和组织结构被设计成能使2字节字段在偶数字节边界上对 准,4字节字段在4字节边界上对准。这样做允许分组结构易于嵌入主机和客户机的,或者 与之相关联的主存储器空间,而不会违反大多数或者通常使用的处理器或者控制电路中遇 到的数据类型对准规则。在传送所述分组期间,字段首先从最低有效位(LSB)开始传输,并且最后以传输 最高有效位(MSB)结束。一个以上字节长度的参数首先传输最低有效字节,这样得到的用 于传输长度大于8位的参数的位传输模式,与首先传输LSB的较短参数所使用的位传输模 式相同。每一分组的数据字段通常按照在下文后续段落定义的顺序来传输,所列出的第一 字段首先传输,而最后描述的字段最后传输。在类型1、类型2、类型3或者类型4这些模式 中的任意一个模式里,MDDI_DataO信号路径上的数据与接口上传输的字节的‘0’位对准。当操纵数据来显示时,像素阵列的数据首先按照行,然后按照列来传输,就像电子
31技术领域中常规执行的那样。换言之,位图中同一行里出现的所有像素按照顺序传输,最左 侧的像素首先传输,最右侧的像素最后传输。在一行中最右侧像素传输完之后,然后按照 顺序下一像素是下一行最左侧的像素。对于大多数显示器而言,像素的行通常按照自上而 下的顺序来传输,但也可以根据需要采用其它配置方式。此外,在处理位图的过程中,常规 方法也就是此处遵循的方法是通过将位图左上角标记为位置或者偏移“0,0”来定义基准点 的。当分别接近位图的右侧和底部时,用于定义或者确定在位图中的位置的X和Y坐标的 值增大。第一行第一列(图像的左上角)从下标值零开始。从显示器用户的角度观看时, 朝向图像右侧X坐标的数值增加,朝向图像的底部Y坐标的数值增加。显示窗是位图的可视部分,S卩,位图中用户能够在物理显示介质上看见的那部分 像素。显示窗和位图经常大小相同。显示窗左上角始终显示位图像素位置0,0。显示窗的 宽度对应于位图的X轴,并且显示窗宽度小于或等于相应位图的宽度。窗的高度对应于位 图的Y轴,并且显示窗高度小于或等于对应位图的高度。显示窗本身在协议中没有被涉及, 这是因为仅仅将它定义为位图的可视部分。位图和显示窗之间的关系是计算机、电子领域,因特网通信和其他电子相关领域 中公知的。因此这里未给出这些原理的进一步讨论或说明。C.分组定义1.子帧报头分组子帧报头分组是每一子帧的第一个分组,并且具有如图8所示的基本结构。子帧 报头分组用于主机-客户机同步,每一主机应该能够生成这个分组,同时每一客户机应该 能够接收并且解释这个分组。正如可以在图8中看到的那样,通常将这种类型的分组构造 为按顺序具有分组长度、分组类型、唯一字、保留1、子帧长度、协议版本、子帧计数和介质帧 计数字段。在一个实施例中,通常将这种类型的分组标识为类型15359(十六进制0x3bff) 分组,并且使用20字节的预选固定长度,不包括分组长度字段。所述分组类型字段和唯一字字段均使用2字节值(16位无符号整数)。将这两个 字段的4字节组合在一起形成了具有良好的自相关性的32位唯一字。在一个实施例中,实 际的唯一字是0X005a3bfT,其中低16位作为分组类型首先传输,然后传输最高16位。保留1字段包含2字节的保留空间以备将来之用,并且在这里一般将其配置成将 所有位均置零。此字段的一个目的在于让后续2字节字段与16位字地址对准,让4字节字 段与32位字地址对准。保留最低有效字节,以表明所述主机是否能够访问多个客户机设 备。这个字节保留为零这个值,以表明这个主机只能够与单个客户机设备一起工作。子帧长度字段包含4字节的信息或者值,用于说明每个子帧的字节数。在一个实 施例中,这个字段的长度可以被设置为等于零,以便表明在链路被关闭而进入空闲状态之 前,主机将只传输一个子帧。从一个子帧跃迁到下一子帧时,这个字段中的值可以“在工作 过程中(on-the-fly)”动态地改变。为了在同步脉冲中进行较小时序调整以便支持同步数 据流,这一能力是十分有用的。如果子帧报头分组的CRC无效,那么链路控制器就应该使用 已知完好的先前的子帧报头分组的子帧长度来估计当前子帧的长度。协议版本字段包含2字节,用于说明由主机使用的协议的版本。将协议版本字段 设置为‘0’说明正在使用的协议的第一个或者当前版本。当创建了新版本的时候,此值将 随时间而改变,并且对于一些版本字段已经更新到值1。正如所公知的那样,版本值很可能或通常遵从包括如MDDI接口的已批准的标准文档的当前版本号。子帧计数字段包含2字节,指明一个序号,该序号表明自介质帧开始处已经传输 的子帧的数目的序号。介质帧的第一子帧的子帧计数为零。介质帧最后子帧具有n-1的值, 其中n是每介质帧的子帧数目。子帧计数字段的值等于在前一子帧分组中发送的子帧计数 再加1。应注意的是,如果子帧长度被设置为等于零(表明非周期性的子帧),那么子帧计 数也必须被设置为等于零。介质帧计数字段包含4字节(32位无符号整数),用于说明一个序号,该序号表明 自正在传送的当前介质项或者数据的开始处,已经传输的介质帧的数目的序号。介质项目 的第一介质帧的介质帧计数为零。介质帧计数刚好在每一介质帧的第一子帧之前增加,并 且在使用了最大介质帧计数(例如,介质帧数目232-1 = 4,294,967,295)之后返回零。介 质帧计数值通常随时可由主机重置,以便适应最终应用的需求。2.填充符分组填充符分组是没有其它信息可以用来在正向或者反向链路上发送时,被传送到客 户机设备或从客户机设备传送的分组。建议填充符分组具有最小长度,以便当需要时,在发 送其它分组的过程中具有最大的灵活性。在子帧或者反向链路封装分组(参见下文)的结 尾,链路控制器设置填充符分组的大小以便填充剩余空间,从而保持分组的完整性。当主机 或者客户机没有信息要发送或交换时,所述填充符分组对于保持链路上的时序十分有用。 每一主机和客户机都应该能够发送并且接收这个分组,以便有效使用所述接口。图9中示出了填充符分组的格式和内容的一个示例性的实施例。如图9所示,将这 种类型的分组构造为具有分组长度、分组类型、填充符字节和CRC字段。在一个实施例中, 通常将这种类型的分组标识为类型0,这在2字节类型字段中表明。填充符字节字段中的位 或者字节包括可变数目的全零的位值,以便允许填充符分组具有所期望的长度。最小填充 符分组在这个字段中不包含字节。也就是说,所述分组只包括分组长度、分组类型和CRC,并 且在一个实施例中,使用6字节的预选固定长度或者分组长度值4。为分组中的所有字节确 定所述CRC值,其中包括分组长度,但是在其它分组类型中,该分组长度是被排除的。3.视频流分组视频流分组通常携带视频数据来更新显示器设备的通常为矩形的区域。此区域的 大小可以像单个像素那么小,或者像整个显示器那么大。可以有几乎无限数目的流被同时 显示,但其受系统资源的限制,这是因为视频流分组内包含显示一个流所需要的所有上下 文。图10中示出了视频流分组(视频数据格式描述符)的一个实施例的格式。如图10所 示,在一个实施例中,将这种类型的分组构造为具有分组长度(2字节)、分组类型、bClient ID、视频数据描述符、像素显示属性、X左沿、Y顶沿、X右沿、Y底沿、X和Y起始、像素计数、 参数CRC、像素数据和CRC字段。通常将这种类型的分组标识为类型16,其在2字节类型字 段中表明。在一个实施例中,客户机使用客户机能力分组中的RGB、单色和Y Cr Cb能力字 段来表明接收视频流分组的能力。在一个实施例中,bClient ID字段包含为客户机ID保留的2字节信息。由于这 是最新开发的通信协议,所以实际的客户机ID仍无法获知或者足以被传送。因此,这个字 段中的位通常设置为等于零,直到获知这个ID值为止,当或者这个ID时,可以插入或者使 用所述ID值,正如对于本领域技术人员显而易见的那样。对于以下讨论的客户机ID字段通常也执行与此相同的处理。上述的公共帧概念是用于最小化音频缓冲区大小并且减少等待时间的一种有效 方式。然而,对于视频数据来说,可能必需将一个视频帧的像素扩展到介质帧内的多个视频 流分组。还可能单个视频流分组中的像素不会正好对应于显示器上完整的矩形窗。对于30 帧每秒的示例性视频帧速率来说,每秒有300子帧,这使得每一介质帧有10个子帧。如果 每一帧中有480行像素,那么每一子帧中的每一视频流分组将包含48行像素。在其它情况 中,视频流分组可能不包含整数个像素行。这对于每一介质帧的子帧数目不能被每一视频 帧的行数(亦称视频行)均分的其它视频帧大小而言是这样的。为了有效操作,每一视频 流分组通常必须包含整数个像素,即便它未必包含整数个像素行。如果每个像素均大于一 个字节,或者如果它们具有如图12所示的分组格式,那么这是非常重要的。图11A-11E中示出了如上所述的用于实现示例性视频数据描述符字段的操作所 采用的格式和内容。在图11A-11E中,视频数据格式描述符字段包含具有16位无符号整数 形式的2字节,用于说明当前分组的当前流中像素数据内每一像素的格式。不同的视频流 分组可能使用不同的像素数据格式,即视频数据格式描述符中使用不同的值,同样,流(显 示区域)可以在工作过程中(on-the-fly)改变其数据格式。像素数据格式应该符合按照 客户机能力分组定义的至少一个客户机有效格式分组。只有在当前分组的像素格式暗含在 特定视频流的使用期内,不再继续使用不变的格式的时候,视频数据格式描述符才定义当 前分组的像素格式。图11A至11D说明视频数据格式描述符是如何编码的。正如这些图中所使用的那 样,并且在这个实施例中,当位[15:13]等于‘000’时,如图11A所示,那么所述视频分组括 单色像素阵列,其中每一像素的位数由视频数据格式描述符字的位3至位0定义。通常保留 位11至4以便将来使用或者用于其它应用,并且在这种情况下被设置为零。当位[15:13] 换成等于值‘001’时,如图11B所示,那么所述视频分组括一个彩色像素阵列,其中每一个 像素都通过色彩映射(调色板)来指定一种颜色。在这种情况下,视频数据格式描述符字 的位5至0定义每一像素的位数,并且位11至6通常被保留下来以供将来使用或应用,并 且这些位被设置为等于零。当位[15:13]换成等于值‘010’时,如图11C所示,那么所述视 频分组括彩色像素阵列,其中每一像素红色的位数由位11至8定义,每一像素绿色的位数 由7至4位定义,并且每一像素蓝色的位数由位3至0来定义。在这种情况下,每一像素中 位数的总数是红色、绿色和蓝色所使用的位数和。然而,当位[15:13]换成等于值或字串‘011’时,如图11D所示,那么视频分组括 具有4:2:2的YCbCr格式的带有亮度和色度信息的一个视频数据阵列,其中每一像素亮度 ⑴的位数由位11至8定义,Cb分量的位数由位7至4定义,Cr分量的位数由位3至0定 义。每一像素中位数总数是红色、绿色和蓝色所使用的位数和。Cb和Cr分量是以Y分量一 半的速率发送。另外,这个分组的像素数据部分中的视频采样被组织为Cbn、Yn、Crn、Yn+l、 Cbn+2、Yn+2、Crn+2、Yn+3,...,其中 Cbn 和 Crn 与 Yn 和 Yn+1 相关联,并且 Cbn+2 和 Crn+2 与Yn+2和Yn+3相关联等等。Yn、Yn+l、Yn+2和Yn+3是单个行中从左至右的四个连续像素的亮度值。如果在视 频流分组所定位的窗口的一行中存在有奇数个像素(X右沿-X左沿+1),那么对应于每一行 中最后像素的Y值后面将跟随有下一行第一像素的Cb值,并且不发送该行中最后像素的Cr值。建议使用Y Cb Cr格式的窗口具有偶数个像素的宽度。分组中的像素数据应该包含偶 数个像素。在像素数据的最后像素对应于视频流分组报头中指定的窗口里的行的最后像素 的情况下,即,当像素数据中最后像素的X位置等于X右沿时,像素数据可以包含奇数或者 偶数个像素。当位[15:13]换成等于‘100’时,那么视频分组括一个间隔(Bayer)像素阵列,其 中每一像素的位数由视频数据格式描述符字的位3至0定义。像素组图案由位5和4定 义,如图11E所示。像素数据的顺序可以是水平或者垂直的,处于行或列中的像素可以按 照向前或向后的顺序来发送,并且由位8至6来定义。位11至9应该被设置为零。间隔 (Bayer)格式中像素组内的四个像素的组类似于在一些显示技术中经常称作耽搁像素的情 况。然而,在间隔(Bayer)格式中的一个像素只是该像素组拼接(mosaic)图案中四个彩色 像素中的一个。对于图中示出的所有五个格式来说,指定为“P”的位12说明像素数据采样是打包 的像素数据,还是字节对准的像素数据。这个字段中的值‘0’表明像素数据字段中的每一 像素都与MDD接口字节边界字节对准。值‘1’表明对像素数据中每一像素内的每一像素和 每一颜色打包,从而相对于像素内的先前像素或色彩没有未使用位。图12更加具体地示出 了字节对准的像素格式和打包的像素数据格式之间的差别,其中可以清楚地看到字节对准 数据留有数据子帧的未使用部分,这与打包像素格式中未留有未使用部分的情况相对。用于特定显示窗的介质帧的第一个视频流分组中的第一个像素会进入由X左沿 和Y顶沿定义的流窗口的左上角,而所接收的下一像素则放置在同一行的下一像素位置, 等等。在介质帧的该第一个分组中,X起始值通常等于X左沿,而Y起始值通常等于Y顶沿。 在对应于同一屏幕窗口的后续分组中,通常将X和Y起始值设置为屏幕窗口中该像素的位 置,该像素位置通常跟随在在先前子帧中传输的视频流分组中发送的最后一个像素之后。4.音频流分组音频流分组携带将通过客户机音频系统播放的或者用于独立的音频呈现设备的 音频数据。可以把不同的音频数据流分配给音响系统中独立的音频通道,例如左前、右前、 中央、左后和右后,这取决于正使用的音频系统的类型。为包含增强的空间声信号处理的耳 机提供全部音频通道。客户机使用客户机能力分组的音频通道能力和音频采样速率字段来 表明接收音频流分组的能力。图13中说明音频流分组的格式。如图13所示,在一个实施例中将这种类型的分组构造为具有分组长度、分组类 型、bClient ID、音频通道ID、保留1、音频采样计数、每个采样的位及其打包、音频采样速 率、参数CRC、数字音频数据和音频数据CRC字段。在一个实施例中,通常将这种类型的分组 标识为类型32分组。bClient ID字段包含为客户机ID保留的2字节信息,如先前使用的那样。保留1 字段包含被保留下来以备将来之用的2字节,并且在这里配置为将所有位设置为零。每个采样的位及其打包字段包含具有8位无符号整数形式的1个字节,用于说明 音频数据的打包格式。通常采用的格式是使用位4至0来定义每一 PCM音频采样的位数。 然后,位5说明数字音频数据采样是否被打包。图14中示出了已打包音频采样和字节对准 音频采样之间的差异,这里使用10-位采样。值‘0’表明数字音频数据字段中的每一 PCM音 频采样与MDDI接口字节边界字节对准,并且值‘1’表明每一连续PCM音频采样被相对于先前音频采样而打包。通常只有当位4至0(每一 PCM音频采样的位数)定义的值不是8的 倍数时,这一位才是有效的。位7至6被保留以供将来使用,并且通常设置为零。5.保留的流分组在一个实施例中,根据遇到的各种应用的要求,分组类型1至15、18至31和33至 55为待定义的保留的流分组,以供将来版本或者分组协议变化之用。与其它技术相比,这是 使MDD接口更加灵活并且面对不断变化的技术和系统设计依然十分有用的一部分。6.用户定义的流分组保留称为类型56至63的8个数据流类型,以便用于专有的应用,这些数据流类型 可以由设备制造商来定义以便与MDDI链路一同使用。这些分组被称为用户定义的流分组。 这种分组可以用于任何目的,但主机和客户机只有在非常了解或者知道这种使用结果的情 况下才应该采用这种分组。将对这些分组类型的流参数和数据的具体定义留给实现这种分 组类型或者探寻其用途的具体设备制造商。用户定义的流分组的某些示例性用途为传送测 试参数和测试结果、工厂校准数据和专有的特殊数据。图15中示出了用于一个实施例的用 户定义的流分组的格式。如图15所示,将这种类型的分组构造为具有分组长度(2字节)、 分组类型、bClient ID号、流参数、参数CRC、流数据和流数据CRC字段。7.色彩映射分组色彩映射分组说明用于向客户机呈现色彩的色彩映射查找表的内容。某些应用可 能要求比单个分组能够传输的数据量更大的色彩映射。在这种情况下,通过使用如下所述 的偏移和长度字段,可以传送多个色彩映射分组,每个色彩映射分组均具有色彩映射的不 同子集。图16示出了一个实施例中的色彩映射分组的格式。如图16所示,将这种类型的 分组构造为具有分组长度、分组类型、hClient ID、色彩映射项目计数、色彩映射偏移、参数 CRC、色彩映射数据和数据CRC字段。在一个实施例中,通常将这种类型的分组标识为类型 64分组(视频数据格式和色彩映射分组),如分组类型字段(2字节)中所说明的那样。客 户机使用客户机能力分组中的色彩映射大小和色彩映射宽度字段来表明接收色彩映射分 组的能力。8.反向链路封装分组在一个示例性的实施例中,使用反向链路封装分组沿反向传送数据。发送一个正 向链路分组,并且大约在这个分组的中部改变MDDI链路操作或者让它转向(传送方向),从 而能够沿反向发送分组。图17示出一个实施例中的反向链路封装分组的格式。如图17所 示,将这种类型的分组构造为具有分组长度、分组类型、hCLient ID、反向链路标志、反向速 率除数、转向(Turn-Around) 1长度、转向2长度、参数CRC、全零1、转向1、反向数据分组、转 向2和全零2。在一个实施例中,通常将这种类型的分组标识为类型65分组。对于外部模 式来说,每一主机必须能够生成这个分组并且接收数据,每一客户机必须能够接收并且向 主机发送数据。这个分组的实现方式对于内部模式来说是可选的,但是反向链路封装分组 用于主机接收来自客户机的数据。
当发送反向链路封装分组时,MDDI链路控制器按照特定方式运行。MDD接口具有 始终由作为链路控制器的主机驱动的选通信号。主机表现得就好像它正在为反向链路封装 分组的转向和反向数据分组部分的每一位传输零。所述主机在两个转向期间并且在分配给 反向数据分组的期间,在每一位的边界处翻转(toggle)MDDI选通信号。也就是说,从全零1字段开始到全零2字段结束,主机翻转MDDI Stb0 (这与传输全零数据的行为相同。)所述主机禁用其MDDI数据信号线路驱动器,并且通常确保在转向1字段的最后一位之前它们是完全禁用的,然后,在转向2字段期间重新启用其线路驱动器,并且通常确保 在转向2字段的最后一位之前它们是完全启用的。所述客户机读取转向长度参数,并且在 转向1字段的最后一位之后,立即向主机驱动数据信号。也就是说,如下文以及其它地方的 分组内容描述中说明的那样,在MDDI选通脉冲的某些上升沿处,所述客户机把新数据按照 时钟输入(clock into)链路中。客户机使用分组长度和转向长度参数来了解其可以用来 向主机发送分组的时间长度。当没有数据要发送到主机时,客户机可以发送填充符分组或 者把数据线驱动至零状态。如果数据线被驱动为零,那么所述主机将其解释为具有零长度 (不是一个有效长度)的分组,并且在当前反向链路封装分组期间,主机不再接收来自客户 机的任何分组。在一个实施例中,可以利用客户机请求和状态分组的反向链路请求字段通知主机 所述客户机在反向链路封装分组中需要把数据送回到主机的字节数。主机试图通过在反向 链路封装分组中分配至少该字节数来允许所述请求。主机可以在子帧中发送一个以上的反 向链路封装分组。客户机几乎可以在任何时候发送客户机请求和状态分组,所述主机将把 反向链路请求参数解释为一个子帧中请求的字节总数。9.客户机能力分组主机必须知道与之通信的客户机(显示器)的能力,以便按照通常最优或者所需 要的方式来配置主机至客户机的链路。建议在获得正向链路同步之后,显示器把客户机能 力分组发送给主机。当由主机使用反向链路封装分组中的反向链路标志来请求时,应该考 虑这种分组的传输。客户机能力分组用来通知主机客户机的能力。对于外部模式来说,每 一主机必须能够接收这个分组,而每一客户机必须能够发送这个分组以便完全地利用这一 接口和协议。这个分组的实现方式对于内部模式而言是可选的,这是由于在这种情况下,如 显示器、键盘或其他输入/输出设备之类的客户机的能力应在制造的时候或者装配到某些 类型的单个部件或单元时,就应该已经被明确定义并且为主机所知。图18中示出了一个实施例中客户机能力分组的格式。如图18所示,对于本实施 例,将这种类型的分组构造为具有分组长度、分组类型、保留cClient ID,协议版本、最小协 议版本、数据速率能力,接口类型能力,可选显示器数目,保留1,位图宽度、位图高度、显示 窗宽度,显示窗高度,色彩映射大小,色彩映射RGB宽度,RGB能力,单色能力、保留2,Y Cr Cb能力、间隔(Bayer)能力,阿尔法光标图像平面,客户机特征能力、最大视频帧速率,最小 视频帧速率,最小子帧速率,音频缓冲区深度,音频通道能力,音频采用速率能力,音频采样 分辨率,麦克风音频采样速率,麦克风采样速率能力,键盘数据格式,指示设备数据格式,内 容保护类型,制造商名称,产品代码,保留3,序号,制造星期,制造年份,以及CRC字段。在一 个示例性的实施例中,通常将这种类型的分组标识为类型66分组。10.键盘数据分组键盘数据分组用来从客户机设备向主机发送键盘数据。无线(或者有线)键盘可 以与各种显示器或者音频设备结合使用,包括但不限于头带视频显示器/音频呈现设备。 键盘数据分组把从几个已知的类似键盘的设备收到的键盘数据中继至主机。这个分组还可 以在正向链路上使用以便向键盘发送数据。客户机使用客户机能力分组中的键盘数据字段来表明发送和接收键盘数据分组的能力。图19中示出了键盘数据分组的格式,并且包含来自或者用于键盘的可变字节数 量的信息。如图19所示,将这种类型的分组构造为具有分组长度、分组类型、bClient ID、 键盘数据格式、键盘数据和CRC字段。在这里,通常将这种类型的分组标识为类型67分组。所述bClient ID是一个保留字段,如前所述,并且对分组的所有字节执行CRC。键 盘数据格式字段包含用于描述键盘数据格式的2字节值。位6至0应该与客户机能力分组 中的键盘数据格式字段相同。这个值不等于127。位15至7被保留以供将来使用,因此目 前将它们设置为零。11.指示设备数据分组指示设备数据分组用作一种用来将来自无线鼠标或者其它指示设备的位置信息 从客户机发送给主机的方法、结构或手段。还可以使用这个分组在正向链路上将数据发送 给指示设备。图20中示出了指示设备数据分组的示例性格式,并且该分组格式包含来自或 者用于指示设备的可变字节数的信息。如图20所示,将这种类型的分组构造为具有分组长 度、分组类型、bClient ID,指示设备格式、指示设备数据和CRC字段。在一个示例性的实施 例中,通常在1个字节的类型字段中,将这种类型的分组标识为类型68分组。12.链路关闭分组将链路关闭分组从主机发送到客户机,作为一种用于表明MDDI数据和选通脉冲 将被关闭,并且进入低功耗“休眠”状态的方法和手段。在将静态位图从移动通信设备发送 到显示器之后,或者当暂时没有进一步的信息需要从主机传送到客户机时,这个分组对关 闭链路并且节省功率十分有用。当主机再次发送分组时,恢复正常操作。休眠之后发送的 第一分组是子帧报头分组。图21中示出了客户机状态分组的格式。如图21所示,将这种 类型的分组构造为具有分组长度、分组类型和CRC和全零字段。在一个实施例中,通常在1 个字节的类型字段中将这种类型的分组标识为类型69分组,并且使用3字节的预选固定长 度。分组长度字段用2个字节来指明该分组中不包括分组长度字段的字节数。在一个 实施例中,该分组的分组长度依赖于发送链路关闭分组时有效的接口类型或链路模式。因 此,典型的分组长度如下对于类型1模式,为20字节(分组中总共22字节);对于类型2 模式,为36字节(分组中总共38字节);对于类型3模式,为68字节(分组中总共70字 节);对于类型4模式,为132字节(分组中总共134字节)。全零字段使用可变数量的字节,以保证MDDI_Data处于逻辑零电平的时间长得足 以使客户机在禁用主机线路驱动器之前能够仅仅使用MDDI_Stb开始恢复时钟。全零字段 的长度依赖于发送链路关闭分组时有效的接口类型或链路模式。对于任何接口类型设定, 全零字段的长度意在MDDI_Stb上产生64个脉冲。因此,各种接口类型的全零字段如下对 于类型1,为16字节;对于类型2,为32字节;对于类型3,为64字节;对于类型4,为128字 节。CRC字段使 用2个字节,其包含从分组长度到分组类型的字节的16位CRC。在低功率休眠状态下,在全零字段的最后一位后第16至第48个MDDI_Stb周期或 脉冲后开始,将所述MDDI_DataO驱动器禁用为高阻状态。对于类型2、类型3或类型4链 路而言,在禁用MDDI_DataO驱动器的同时,MDDI_Datal至MDDI_DataPwr7信号也被置于高阻抗状态。如其它地方讨论的那样,主机或者客户机都可以让MDDI链路从休眠状态中“唤 醒”,这是本发明的关键性进步和优势。在全零字段的定义中已经描述过,MDDI_Stb在链路关闭分组的CRC字段的MSB后 的64个周期时翻转,以便于及时关闭客户机控制器。一个周期是从低到高的跃迁,后面跟 着从高到低的跃迁,或从高到低的跃迁,后面跟着从低到高的跃迁。在发送全零字段之后, 禁用主机中的MDDI_Stb驱动器。13.客户机请求和状态分组
主机需要来自客户机的少量信息,以便使其可以按照总体来说最优的方式来配置 主机至客户机的链路。建议客户机向主机每一子帧发送一个客户机状态分组。客户机应该 把这个分组作为反向链路封装分组中的第一个分组来发送,以便确保将该分组可靠地发送 至主机。当由主机使用反向链路封装分组中的反向链路标志来请求该分组时,也可实现该 分组的转送。客户机请求和状态分组可用于向主机报告错误和状态。对于外部模式操作而 言,每个主机都应该能够接收该分组,并且每个客户机应该能够发送该分组,以便恰当和优 化地使用该MDD接口协议。还建议对于内部操作,即内部主机和内部客户机,应当支持该 分组,但这不是必须的。图22中示出了客户机请求和状态分组的格式。如图22所示,将这种类型的分组 构造为具有分组长度、分组类型、cClient ID,反向链路请求、能力变化、客户机忙、CRC错误 计数和CRC字段。在1个字节的类型字段中,通常将这种类型的分组标识为类型70分组, 并且使用12个字节的预选固定长度。所述反向链路请求字段可以用来通知主机所述客户机在反向链路封装分组中需 要的字节数目,以便其把数据发送回主机。主机应该试图通过在反向链路封装分组中分配 至少这个数目的字节来允许所述请求。主机可以在子帧中发送一个以上的反向链路封装分 组以便接纳数据。客户机可以在任何时候发送客户机请求和状态分组,并且所述主机可将 该反向链路请求参数解释为一个子帧中请求的字节总数。下文示出如何将反向链路数据送 回至主机的其它细节和具体实例。14.位块传送分组位块传送分组提供了用于沿任意方向滚动显示器区域的方法。具有这一能力的显 示器将在客户机能力分组的显示器特征能力指示符字段的位0中报告所述能力。图23中 示出了一个实施例的位块传送分组的格式。如图23所示,将这种类型的分组构造为具有分 组长度、分组类型、hClient ID、左上X值、左上Y值、窗口宽度、窗口高度、窗口 X移动、窗口 Y移动和CRC字段。通常将这种类型的分组标识为类型71分组,并且使用15个字节的预选 固定长度。这些字段用来说明待移动的窗口左上角的坐标的X和Y值,待移动的窗口的宽度 和高度,以及窗口将要分别水平并且垂直移动的像素数目。后两个字段的正值使得窗口将 向下向右移动,而负值让窗口向上向左移动。15.位图区域填充分组位图区域填充分组提供了很容易地把显示区域初始化为单色的手段、结构或方 法。具有这一能力的显示器将在客户机能力分组的客户机特征能力指示符字段的位1中报 告所述能力。图24中示出了位图区域填充分组的格式的一个实施例。如图24所示,在这种情况下,将这种类型的分组构造为具有分组长度、分组类型、hClient ID、左上X值、左上Y 值、窗口宽度、窗口高度、数据格式描述符、像素区域填充值和CRC字段。在1个字节的类型 字段中,通常将这种类型的分组标识为类型72分组,并且使用17个字节的预选固定长度。16.位案填充分组位案填充分组提供了很容易地把显示区域初始化为预选图案的手段和结构。具有这一能力的显示器将在客户机能力分组的客户机特征能力指示符字段的位2中报告 所述能力。填充图案的左上角与待填充的窗口的左上角对准,除非水平或垂直图案偏移为 非零。如果待填充的窗口比填充图案更宽或者更高,那么可以多次水平或者垂直地重复所 述图案以便填充窗口。根据需要将最后重复的图案的右侧或底部截断。如果窗口比填充图 案小,那么可以截断填充图案的右侧或者底部以便适应所述窗口。如果水平图案偏移为非零,那么在窗口左边和该左边加上该水平图案偏移之间的 像素用该图案最右侧的像素填充。该水平图案偏移将小于该图案的宽度。类似地,如果垂 直图案偏移为非零,则在该窗口顶边和该顶边加上垂直图案偏移之间的像素用该图案的最 下侧的像素填充。该垂直图案偏移小于该图案高度。图25中示出了位案填充分组的格式的一个实施例。如图25所示,将这种类 型的分组构造为具有分组长度、分组类型、hClient ID、左上X值、左上Y值、窗口宽度、窗口 高度、图案宽度、图案高度、水平图案偏移、垂直图案偏移、数据格式描述符、参数CRC、图案 像素数据和像素数据CRC字段。在1个字节类型字段中,通常将这种类型的分组标识为类 型73分组。17.通信链路数据通道分组通信链路数据通道分组提供了用于使如PDA的这种具有高级计算能力的客户机 与如蜂窝电话或者无线数据端口设备的这种无线收发器通信的结构、手段或方法。在这种 情况下,所述MDDI链路充当通信设备和具有移动式显示器的计算设备之间的便利高速接 口,其中这种分组在设备的操作系统的数据链路层传送数据。例如,如果网页浏览器、电子 邮件客户机或者整个PDA被嵌入移动式显示器中,就可以使用这个分组。具有这一能力的 显示器将在客户机能力分组的客户机特征能力指示符字段的位3中报告所述能力。图26中示出了通信链路数据通道分组的一个实施例的格式。如图26所示,将这 种类型的分组构造为具有分组长度、分组类型、hClient ID、参数CRC、通信链路数据和通信 数据CRC字段。在一个实施例中,在类型字段中,通常将这种类型的分组标识为类型74分 组。18.接口类型切换请求分组接口类型切换请求分组提供了一种手段、方法或结构,其使得主机能够请求客户 机或者显示器从现有或者当前模式切换至类型1 (串行)、类型2 (2位并行)、类型3 (4位并 行)或者类型4(8位并行)模式。在主机请求特定模式以前,它应该通过检查客户机能力 分组的显示器特征能力指示符字段的位6和7,来确认客户机能够工作在所期望的模式下。 图27中示出了接口类型切换请求分组格式的一个实施例。如图27所示,将这种类型的分 组构造为具有分组长度、分组类型、接口类型、保留1和CRC字段。通常将这种类型的分组 标识为类型75分组,并且使用4字节的预选固定长度。19.接口类型确认分组
接口类型确认分组由客户机发送,并提供使得客户机能够确认接收到接口类型切 换请求分组的手段、方法和结构。所请求的模式,即类型1(串行)、类型2(2位并行)、类 型3 (4位并行)或者类型4 (8位并行)模式,作为这个分组中的一个参数返回给主机。图 28中示出了接口类型确认分组的一个实施例的格式。如图28所示,将这种类型的分组构造 为具有分组长度、分组类型、cClient ID、接口类型、保留1和CRC字段。通常将这种类型的 分组标识为类型76分组,并且使用4字节的预选固定长度。20.执行类型切换分组 执行类型切换分组是用于使主机命令客户机切换至这个分组中指定的模式的一 种手段、结构或方法。这个模式与接口类型切换请求分组和接口类型确认分组先前请求并 且确认的模式相同。在发送这个分组之后,主机和客户机应该切换到达成一致的模式。客 户机可能在模式改变期间失去并且重新获得链路同步。图29中示出了执行类型切换分组 的一个实施例的格式。如图29所示,将这种类型的分组构造为具有分组长度、分组类型、分 组类型、保留1和CRC字段。在1个字节的类型字段中,通常将这种类型的分组标识为类型 77分组,并且使用4字节的预选固定长度。21.正向音频通道启用分组这个分组提供使得主机能够启用或者禁用客户机中的音频通道的结构、方法或手 段。这一能力十分有用,因为在主机没有音频输出时,客户机(如显示器)可以使音频放大 器或者类似电路元件断电以便节省功率。仅仅使用音频流的存在与否作为指示符显然较难 实现。客户机系统上电时的缺省状态是启用所有音频通道。图30中示出了正向音频通道 启用分组的一个实施例的格式。如图30所示,将这种类型的分组构造为具有分组长度、分 组类型、hClient ID、音频通道启用掩码和CRC字段。在1个字节的类型字段中,通常将这 种类型的分组标识为类型78分组,并且使用4字节的预选固定长度。22.反向音频采样速率分组这个分组使得主机能够启用或者禁用反向链路音频通道,并且设置这一流的音频 数据采样速率。所述主机选择在客户机能力分组中被定义为有效的采样速率。如果主机选 择无效的采样速率,那么客户机不会向主机发送音频流,并且在客户机错误报告分组中可 向主机发送适当的错误、错误值、或错误信号。主机可以通过把采样速率设置为值255来禁 用反向链路音频流。当客户机系统最初上电或者连接时假定的缺省状态为禁用反向链路音 频流。图31中示出了反向音频采样速率分组的一个实施例的格式。如图31所示,将这种类 型的分组构造为具有分组长度、分组类型、hClient ID、音频采样速率、保留1和CRC字段。 通常将这种类型的分组标识为类型79分组,并且使用4字节的预选固定长度。23.数字内容保护开销分组这个分组提供了一种使得主机和客户机能够交换与正使用的数字内容保护方法 相关的消息的结构、方法或手段。目前设想了两种类型的内容保护,数字传输内容保护 (DTCP)或者高带宽数字内容保护系统(HDCP),并且为将来可替代的保护方案名称保留了 空间。所使用的方法由这个分组中的内容保护类型参数说明。图32中示出了数字内容保 护开销分组的一个实施例格式。如图32所示,将这种类型的分组构造为具有分组长度、分 组类型、bClient ID、内容保护类型、内容保护开销消息和CRC字段。通常将这种类型的分 组标识为类型80分组。
24.透明色彩启用分组
透明色彩启用分组是一种用来说明在显示器中哪些色彩是透明的,并且启用或者 禁用利用透明色彩来显示图像的结构、方法或手段。具有这一能力的显示器在客户机能力 分组的客户机特征能力指示符字段的位4中报告该能力。当具有透明色彩值的像素被写入 位图时,色彩不会从先前值发生变化。图33中示出了透明色彩启用分组的格式。如图33所 示,将这种类型的分组构造为具有分组长度、分组类型、hClient ID、透明色彩启用、保留1、 阿尔法光标标识符、数据格式描述符、透明像素值和CRC字段。在1个字节的类型字段中, 通常将这种类型的分组标识为类型81分组,并且使用10个字节的预选固定长度。25.往返行程延迟测量分组往返行程延迟测量分组提供了一种用来测量从主机到客户机(显示器)的传播延 迟加上从客户机(显示器)回到主机的延迟的结构、方法或手段。这一测量固有地包括线 路驱动器和接收器以及互联子系统中存在的延迟。这一测量用来设置上文大体描述的反向 链路封装分组中的转向延迟和反向链路速率除数参数。当MDDI链路以用于特定应用的最 大速度运行时,这种分组是最有用的。可以在类型1模式下以较低数据速率发送分组,从而 增加往返形成延迟测量的范围。所述MDDI_Stb信号的行为是如同在如下字段发送全零数 据两个保护时间、全零和测量周期。这样做使得MDDI_Stb以一半的数据速率翻转,因此可 以在测量周期中在客户机里将MDDI_Stb用作周期性的时钟。在一个实施例中,客户机通常通过客户机能力分组的客户机特征能力指示符字段 中的位18来指示支持往返行程延迟测量分组的能力。建议所有客户机都支持往返行程延 迟测量,但主机也可能基于最大电缆延迟和最大驱动器和接收器延迟来获知最差情况下的 往返行程延迟。主机还可在内部模式下预先获MDDI链路的往返行程延迟,这是因为这是使 用该接口的设备的已知设计要素(导线长度、电路类型和特性,等等)中的一个方面。图34中示出了往返行程延迟测量分组的格式。如图34所示,在一个实施例中,将 这种类型的分组构造为具有分组长度、分组类型、hClient ID、参数CRC、保护时间1、测量周 期、全零和保护时间2字段。通常将这种类型的分组标识为类型82分组,并且使用159位 的预选固定长度。图35中示出了在往返行程延迟测量分组期间发生的事件的时序。在图35中,主机 发送往返行程延迟测量分组,这通过其后跟随有全零和保护时间1字段的参数CRC和选通 对准字段的出现来示出。在所述分组到达客户机显示器设备或者处理电路以前,延迟3502 发生。当客户机收到所述分组时,客户机在尽可能准确到实际的测量周期的开始时刻传输 0Xff、0Xff、和30个字节的0x0模式(pattern),其中该测量周期开始是由客户机确定的。 客户机开始发送这一序列的实际时间距从主机的角度看的测量周期的开始有延迟。这一延 迟量基本上是所述分组用来通过线路驱动器和接收器以及互联子系统(电缆、导线)进行 传送所花费的时间。对于把该模式从客户机传送回到主机来说,经历了类似的延迟量3504。为了准确地确定往返于客户机的信号的往返行程延迟时间,主机对测量周期开始 之后出现的正向链路位时间周期的数目进行计数,直到检测到0xff、0xff、和30个字节的 0x0序列的开头到达为止。这一信息用来确定往返信号从主机传递至客户机并且再返回的 时间量。然后,将这一数量的一半左右归因于到达客户机的单向信号通道所产生的延迟。在两个保护时间期间,主机和客户机都将线路驱动到逻辑零电平,以保持MDDI_DATA线路处于所定义的状态。在两个保护时间期间,主机和客户机的启用和禁用时间使得 MDDI_Data信号对于任何有效的往返行程延迟时间都处于有效低电平。26.正向链路偏离校准分组正向链路偏离校准分组允许客户机或 者显示器根据所述MDDI_Stb信号来自己校 准MDDI_Data信号的传播延迟差异。在没有延迟偏离补偿的情况下,最大数据速率通常是 受限的以解决这些延迟中潜在的最坏情况下的变化。通常只有当正向链路数据速率被配置 成50Mbps左右或者更低的速率时,才发送这个分组。在发送这个分组以便校准显示器之 后,数据速率可以逐级提高至50Mbps以上。如果在偏离校准过程期间数据速率被设置得过 高,那么显示器有可能同步到一个该位周期的假信号(alias)上,这可以令延迟偏离补偿 被设置为偏离一个以上的位时间,从而导致数据时钟错误。在发送正向链路偏离校准分组 之前,选择接口的最高数据速率类型或者最大可能性的接口类型,从而校准所有存在的数 据位。图56中示出了正向链路偏离校准分组格式的一个实施例。如图56所示,将这种 类型的分组构造为具有分组长度(2字节)、分组类型、hClient ID、参数CRC、全零、校准数 据序列和CRC字段。在类型字段中,通常将这种类型的分组标识为类型82分组,并且在一 个实施例中具有515的预选长度。虚拟控制面板虚拟控制面板(VCP)的使用允许主机设置客户机中的某些用户控制。通过允许由 主机来调节这些参数,客户机中的用户界面得以简化,这是因为可以通过主机软件而不是 通过客户机中的一个或多个微处理器来生成允许用户调节诸如音量或显示亮度之类的参 数的屏幕画面。主机具有读取客户机中的参数设置,并且确定每一控制的有效值范围的能 力。客户机具有向主机返回其所能调节的控制参数的报告的能力。通常指定的控制代码(VCP代码)和相关联的数据值被用于说明客户机中的控制 和设置。MDDI规范中的VCP代码被扩展为16位,以便在分组定义中保持正确的数据字段对 准,并且将来支持补充值,所述补充值对于这一接口或者将来的增强是唯一的。27.请求VCP特征分组请求VCP特征分组提供了一种使主机请求具体控制参数或者所有有效控制参数 的当前设置的手段、机制或方法。通常,客户机利用VCP特征应答分组中适当的信息来响应 VCP分组。在一个实施例中,客户机使用客户机能力分组中的客户机特征能力指示符字段的 位20来表明支持请求VCP特征分组的能力。图69中示出了一个实施例中请求VCP特征分组的格式。如图69所示,将这种类 型的分组构造为具有分组长度、分组类型、hClientID、MCCS VCP代码和CRC字段。在一个 实施例中,通常将这种类型的分组标识为类型128,这是在2字节的类型字段中表明的。分 组长度说明分组中不包括分组长度字段的字节总数,并且对于这种类型的分组而言,该分 组长度通常被固定在8字节的长度。所述hClient ID字段被保留以供未来实现中客户机ID使用并通常设置为零。所 述MCCS VCP代码字段包括2字节的信息,用于说明MCCS VCP控制代码参数。0至255的 范围内的值令VCP特征应答分组以单个项返回,该单个表项为在对应于指定的MCCS代码的 VCP特征应答列表中的表项。为65535 (Oxffff)的MCCS VCP代码用于请求一个具有VCP特征应答列表的VCP特征应答分组,所述VCP特征应答列表包含由客户机支持的每个控制的 特征应答列表项。对于这个字段而言,256至65534的值被保留以供将来使用并且目前没有 使用。28. VCP特征应答分组 VCP特征应答分组提供了一种使客户机利用具体控制参数或者所有有效控制参数 的当前设置来响应主机请求的手段、机制或方法。总体而言,客户机响应于请求VCP特征分 组而发送所述VCP特征应答分组。这个分组对确定具体参数的当前设置,确定具体控制的 有效范围,确定客户机是否支持具体的控制或者确定由客户机支持的控制集合十分有用。 如果发送涉及客户机中没有实现的具体控制的请求VCP特征,那么利用与包含适当错误代 码的未实现控制相对应的单个VCP特征应答列表项来返回VCP特征应答分组。在一个实施 例中,所述客户机使用客户机能力分组的客户机特征能力指示符字段的位20来表明支持 VCP特征应答分组的能力。图70中示出了一个实施例中的VCP特征应答分组的格式。如图70所示,将这种 类型的分组构造为具有分组长度、分组类型、cClientID、MCCS版本、应答序号、VCP特征应 答列表和CRC字段。在一个实施例中,通常将这种类型的分组标识为类型129,如在2字节 的类型字段中表明的那样。所述cClient ID字段包含保留给客户机ID的信息。这个字段被保留以供将 来使用并且通常设置为零。MCCS版本字段包含2字节的信息,用于说明由客户机实现的 VESAMCCS规范的版本。2字节的应答序号字段包含说明由客户机返回的VCP特征应答分组的序号的信息 或者数据。所述客户机,响应于具有值为65535的MCCS控制代码的请求VCP特征分组,返 回一个或多个VCP特征应答分组。所述客户机可以经由多个VCP特征应答分组扩展特征应 答列表。在这种情况下,客户机向每一连续分组分配序号,并且响应单个请求VCP特征分组 而发送的VCP特征应答分组的序号是从零开始并且每次加1。最后的VCP特征应答分组中 的最后一个VCP特征列表项应该包含等于Oxffff的MCCS VCP控制代码值,以便确定所述 分组是最后一个并且包含返回的分组组的最高序号。如果响应于请求VCP特征分组只发送 了一个VCP特征应答分组,那么该单个分组中的应答序号就为零,并且VCP特征应答列表包 含具有等于Oxffff的MCCS VCP控制代码的记录。列表中特征数目字段包含2字节,用于说明该分组的VCP特征应答列表中的VCP 特征列表项的数目,而所述VCP特征应答列表字段则是包含一个或多个VCP特征应答列表 项的一组字节。图71中示出了一个实施例中单个VCP特征应答列表项的格式。如图71所示,每一 VCP特征应答列表项的长度是12字节,并且包括MCCS VCP代 码、结果代码、最大值和当前值字段。2字节的MCCS VCP代码字段包含说明与这一列表项相 关联的MCCS VCP控制代码参数的数据或者信息。对于本实施例,只是在VESA MCCS规范版 本2和后来版本中定义的控制代码值被认为是有效的。2字节的结果代码字段包含用于说 明错误代码的信息,所述错误代码与关于所指定的MCCS VCP控制的信息请求相关。这个字 段中的值‘0’意味着没有错误,而值‘1’则意味着指定的控制未在客户机中实现。这个字 段的其它值2至65535目前被保留以便将来使用以及用于实现所述领域设想的其它应用, 但是现在不使用。
4字节的最大值字段包含32位无符号整数,用于说明可以设置为指定的MCCS控制 的最大可能值。如果所请求的控制没有在客户机中实现,就将这一值设置为零。如果返回值 在长度上小于32位(4字节),就把所述值换算为32位整数,将最高有效(未使用)字节设 置为零。4字节的当前值字段包含用于说明指定的MCCS VCP连续(C)或者不连续(NC)控 制的当前值的信息。如果所请求的控制没有在客户机中实现,或者实现了所述控制但是是 表(T)数据类型,就将这一值设置为零。如果就每一 VESA MCCS规范而言,返回值在长度上 小于32位(4字节),就把所述值换算为32位整数,将最高有效(未使用)字节设置为零。29.设置VCP特征分组设置VCP特征分组提供用于使主机为客户机中连续和不连续的控制设置VCP控制 值的手段、机制或者方法。在一个实施例中,所述客户机使用客户机能力分组的客户机特征 能力指示符字段的位13来表明支持设置VCP特征分组的能力。图72中示出了一个实施例中设置VCP特征分组的格式。如图72所示,将这种类 型的分组构造为具有分组长度、分组类型、hClientID、MCCS VCP代码、列表中值的数量、控 制值列表和CRC字段。通常将这种类型的分组标识为类型130,如2字节的类型字段中所示 那样,且该类型的分组不包括分组长度字段是20字节长。所述hClient ID字段再次使用2字节值来说明或者充当客户机ID。将这个字段 保留下来以供将来使用并且目前将其设置为零。所述MCCS VCP代码字段使用2字节的信 息或者值来说明要调节的MCCS VCP控制代码参数。所述2字节的列表中值的数量字段包 含用于说明控制值列表中存在的16位值的数目的信息或者值。所述控制值列表通常包含 一项,除非MCCS控制代码涉及客户机中的表。在不涉及表的控制的情况下,所述控制值列 表将包含一个值,该值用于说明将要写入由MCCS VCP代码字段指定的控制参数的新值。对 于涉及表的控制来说,控制值列表中数据的格式是由指定的MCCSVCP代码的参数描述来指 定的。如果所述列表包含大于一个字节的值,那么首先传输最低有效字节,这与其它地方定 义的方法相一致。最后,2字节的CRC字段包含分组中所有字节的16位CRC,其中包括分组 长度在内。30.请求有效参数分组请求有效参数分组用作请求该客户机返回有效参数应答分组的手段或者机制,该 有效参数应答分组包含由所指定的不连续(NC)或者表(T)控制支持的一参数列表。这个分 组只应当指定不连续的控制或者涉及客户机中的表的控制,而不指定用于指定所有控制的 值为65535 (Oxffff)的MCCS VCP代码值。如果指定了不支持或者无效的MCCS VCP代码, 就在有效参数应答分组中返回适当的错误值。在一个实施例中,所述客户机使用客户机能 力分组的客户机特征能力指示符字段的位20来表明支持请求有效参数分组的能力。图73中示出了一个实施例中的请求有效参数分组的格式。如图73所示,将这种类 型的分组构造为具有分组长度、分组类型、hClientID、MCCS VCP代码和CRC字段。在一个 实施例中,通常将这种类型的分组标识为类型131,如在2字节的类型字段中表明的那样。2字节分组 长度字段中表明的分组长度通常被设置为具有分组中的字节总数,但 不包括分组长度字段的8个字节。所述hClient ID再一次指定客户机ID,但是正如对于本 领域普通技术人员显而易见的那样,目前被保留下来以供将来之用,并且被设置为零。2字 节MCCSVCP代码字段包含用于说明待查询的不连续的MCCS VCP控制代码参数的值。这个字段中的值应该对应于客户机中实现的不连续的控制。值256至65535 (Oxffff)通常被保 留下来或者被认为是无效的,并且被认为是错误响应中未实现的控制。31.有效参数应答分组 有效参数应答分组是响应于请求有效参数分组而发送的。它用作识别不连续的 MCCS VCP控制或者用于返回表的内容的控制的有效设置的手段、方法或机制。如果所述控 制涉及客户机中的表,那么VCP参数应答列表仅仅包含被请求的顺序表值的具体列表。如 果所述表的内容无法正好放进单个有效参数应答分组,就可以由客户机发送具有顺序的应 答序号的多个分组。在一个实施例中,客户机使用客户机能力分组的客户机特征能力指示 符字段的位20来表明支持有效参数应答分组的能力。主机可以按照以下方式请求表的内容主机发送一个包含必要或者需要的参数的 设置VCP特征分组,如读/写参数、LUT偏移和RGB选择;然后由主机发送用于说明所需控制 的请求有效参数分组;然后客户机返回包含该表数据的一个或多个有效参数应答分组。这 一操作序列执行与MCCS操作模型中描述的表读取功能相似的功能。如果客户机不支持具体的客户机参数,那么在一个实施例中,这个分组的相应字 段将包含值255。对于客户机中使用的参数来说,相应的字段应该包含客户机中的参数值。图74中示出了用于一个实施例的有效参数应答分组的格式。如图74所示,将这 种类型的分组构造为具有分组长度、分组类型、cClientID、MCCS VCP代码、响应代码、应答 序号、列表中值的数量、VCP参数应答列表和CRC字段。对于一个实施例而言,通常将这种 类型的分组标识为类型132,如在2字节的类型字段中表明的那样。所述cClient ID字段被保留给将来的客户机ID,正如根据上文讨论可以获知的 那样,而3字节的MCCS VCP代码分组则包含用于说明由这个分组描述的不连续MCCS VCP 控制代码参数的值。如果请求有效参数分组指定了无效的MCCS VCP控制代码,那么用响应 代码字段中的适当值来指定这个字段中同样的无效参数值。如果所述MCCS控制代码是无 效的,那么VCP参数应答列表将具有零长度。所述响应代码字段包含2字节的信息或者值,它说明与请求相关的响应的属性, 所述请求为关于所指定的MCCS VCP控制的信息的请求。如果这个字段中的值等于0,那么 认为对于该数据类型而言不存在错误,并且发送了序列中的最后的有效参数应答分组,该 分组具有最高应答序号。如果这个字段中的值等于1,那么认为不存在错误,但是将要发送 具有更高序号的其它有效参数应答分组。如果这个字段中的值等于2,那么认为所指定的控 制在客户机中没有实现。如果这个字段中的值等于3,那么所指定的控制不是不连续控制 (它是一个连续控制且始终具有从零到其最大值的所有值的有效集合)。等于4至65535 的这个字段的值被保留下来以供将来使用并且通常不使用。2字节的应答序号字段指定由客户机返回的有效参数应答分组的序号。所述客户 机,响应于一个请求有效参数分组,返回一个或多个有效参数应答分组。所述客户机可以将 所述VCP参数应答列扩展到整个多个有效参数应答分组中。在后一情况下,客户机将向每 一连续的分组分配序号,并且在除序列中最后一个分组之外的所有分组中,把响应代码设 置为1。序列中最后的有效参数应答分组将具有最高的应答序号,并且所述响应代码包含的 值为0。2字节的列表中值的数量字段说明所述VCP参数应答列表中存在的16位值的数目。如果所述响应代码不等于零,那么列表中值的数量的参数是零。所述VCP参数应答列表字段包含一列O至32760的2字节值,用于表明由MCCS控制代码字段指定的不连续控制的 有效值集合。在VESAMCCS规范中给出了不连续控制代码的定义。最后,在这个实施例中, 所述CRC字段包含分组中所有字节的16位CRC,其中包括分组长度在内。可缩放视频流图像所述MDD接口或者协议机制、结构、手段或者方法对可缩放视频流图像提供支持, 它允许主机向客户机发送与原始图像相比按比例放大或缩小的图像,并且所述可缩放图像 (the scaled image)被复制到主图像缓冲器。对可缩放视频流(scaled video stream)的 功能以及相关联的协议支持的概述在其他地方给出。支持可缩放视频流的能力被定义在响 应于请求特定状态分组而发送的可缩放视频流能力分组内或者由其定义。32.可缩放视频流能力分组可缩放视频流能力分组定义了客户机中的或者由其使用的可缩放视频流源图像 的特性。图75中总体上示出了可缩放视频流能力分组的格式。如图75所示,在一个实施 例中,可缩放视频流能力分组被构造为具有分组长度、分组类型、cClient ID、最大流数、源 最大X大小、源最大Y大小、RGB能力、单色能力、保留1、Y Cr Cb能力、保留2和CRC字段。 在一个实施例中,分组长度被选择为固定的20字节,如在长度字段中所示,其包括2字节的 cClient ID字段和CRC字段,其中cClient ID字段被保留以供客户机ID之用,否则被设置 为零。在一个实施例中,所述客户机使用有效状态应答列表分组中有效参数应答列表内的 参数值143来表明其支持可缩放视频流能力分组的能力。2字节的最大流数字段包含用于标识可以一次分配的同步可缩放视频流的最大数 目的值。在一个实施例中,如果可缩放视频流的最大数目已被分配,那么客户机应该拒绝分 配可缩放视频流的请求。如果分配了小于最大数目的可缩放视频流,那么客户机还可以基 于客户机中的其它资源限制来拒绝分配请求。源最大X大小以及Y大小字段(2字节)分别指定以像素数量表示可缩放视频流 源图像的最大宽度和高度的值。RGB能力字段使用一些值来指定可以按照RGB格式显示的分辨率的位数。如果可 缩放视频流无法使用RGB格式,那么这一值被设置为等于零。所述RGB能力字包括三个独 立的无符号值位3至0定义每一像素中蓝色(蓝色强度)的最大位数,位7至4定义每一 像素中绿色(绿色强度)的最大位数,位11至8定义每一像素中红色(红色强度)的最大 位数,而位15至12被保留下来以供今后用于将来的能力定义,通常设置为零。1字节的单色能力字段包含用来说明可以按照单色格式显示的分辨率的位数的 值。如果可缩放视频流无法使用单色格式,那么这一值是零。位7至4被保留以供将来使 用,并且因此对于当前应用而言应该设置为零(‘0’),当然该值可以随时间而改变,如同本 领域技术人员将理解的那样。位3至0定义每一像素中可以存在的灰度级的最大位数。这 四位能够说明每一像素包括1至15位。如果所述值是零,那么可缩放视频流不支持所述单 色格式。保留1字段(在这里是1字节)被保留以供将来用于提供与可缩放视频流分组信 息或者数据相关的值。因此,目前,这个字段中的所有位都被设置为逻辑‘0’。这个字段的 一个目的在于让所有后续2字节字段与16位字地址对准,让4字节字段与32位字地址对准。2字节的Y Cb Cr能力字段包含用于说明可以按照Y Cb Cr格式显示的分辨率的 位数的值。如果可缩放视频流无法使用Y Cb Cr格式,那么这一值是零。所述Y Cb Cr能 力字包括三个独立的无符号值位3至0定义了用于说明Cr采样的最大位数;位7至4定 义了用于说明Cb采样的最大位数;位11至8定义了用于说明Y采样的最大位数;位15至 12被保留以供将来使用并且通常设置为零。 1字节的能力位字段包含8位无符号整数,它包含一组用于说明与可缩放视频流 相关联的能力的标志。所述标志定义如下位0覆盖了可缩放视频流分组中的像素数据能 够为打包格式的情况。在先前图12中示出了打包的和字节对准的像素数据的实例。位1 被保留以供将来使用并且被设置为零;位2也被保留供将来使用并且设置为零;位3覆盖 了可缩放视频流能够按照色彩映射数据格式指定的情况。用于可缩放视频流的色彩映射表 与用于主要图像缓冲器和所述阿尔法光标图像平面的色彩映射表相同。使用其它地方描述 的色彩映射分组可配置所述色彩映射;并且位7至4被保留以供将来使用并且通常设置为 零。保留2字段(在这里是1字节)被保留以供将来用于提供与可缩放视频流分组信 息或者数据相关的值。因此,目前,这个字段中的所有位都被设置为逻辑‘0’。这个字段的 一个目的在于让所有后续2字节字段与16位字地址对准,让4字节字段与32位字地址对 准。33.可缩放视频流建立分组可缩放视频流建立分组用来定义可缩放视频流的参数,并且客户机使用所述信息 来分配内部存储器以便缓存并且缩放所述图像。通过利用发送其中X图像大小和Y图像大 小字段为零的分组,可以解除对流的分配。解除分配的可缩放视频流稍后可以利用相同的 或者不同的流参数来重新分配。在一个实施例中,客户机使用有效状态应答列表分组的有 效参数应答列表中的参数值143,并且通过使用可缩放视频流能力分组的最大流数字段中 的非零值,来表明其支持可缩放视频流建立分组的能力。图76总体示出了可缩放视频流建立分组的格式。如图76所示,在一个实施例中, 可缩放视频流建立分组被构造为具有分组长度、分组类型、hClient ID、流ID、可视数据格 式描述符、像素数据属性、X左沿、Y顶沿、X右沿、Y底沿、X图像大小、Y图像大小和CRC字 段。2字节的分组长度字段说明了分组中不包括分组长度字段的字节总数。在一个实 施例中,这个分组的分组长度固定为24。2字节的分组类型字段使用值136将所述分组标 识为可缩放视频流设置分组。2字节的hClient ID字段被保留以供将来使用,并且暂时通 常以逻辑零值设置所有位,或者知道协议用户确定了将要使用的ID值,正如将会了解的情 况。流ID字段使用2字节说明流ID的唯一标识符。这一值是由主机分配的,并且在 从零到客户机能力分组中指定的最大流ID值的范围内变化。所述主机必须小心管理流ID 值的使用,以便确保每一激活的流被分配有唯一的值,并且确保不再激活的流被解除分配 或者重新分配。在一个实施例中,视频数据格式描述符使用2字节说明当前分组的当前流中像素数据的每一像素的格式。像素数据格式必须符合在阿尔法光标图像能力分组中所定义的阿 尔法光标图像平面的至少一个有效格式。所述视频数据格式描述符只定义当前分组的像素 格式,而不暗含在特定视频流的使用期间将会持续使用不变的格式。图11示出了视频数据 格式描述符是如何编码的一个实施例,以及以上针对其他分组的讨论。
在一个实施例中,2字节的像素数据属性字段具有的值可解释如下位1和0选择 像素数据将要被路由至的显示器。对于比特值11或者00,把像素数据显示给两个眼睛,对 于比特值10,只把像素数据路由到左眼,对于比特值01,只把数据路由到右眼。位2表明像素数据处于隔行格式。当位2是0时,像素数据处于标准逐行格式。当 从一行前进到下一行时,行号(像素Y坐标)加1。当位2是1时像素数据处于隔行格式。 当从一行前进到下一行时,行号(像素Y坐标)加2。位3表明像素数据处于交替像素格式。这与位2允许的标准隔行模式相似,但是 这里的隔行是垂直的而不是水平的。当位3是0-时像素数据处于标准逐行像素格式。当 接收到每一连续像素时,列号(像素X坐标)加1。位3是1-时,像素数据处于交替像素格 式。当接收到每一像素时,列号(像素X坐标)加2。位4表明像素数据涉及显示器还是照相机。当位4是0-时,像素数据被送入显示 帧缓冲器或者从中送出。当位4是1-时,像素数据被送入照相机或者从中送出。位5被保 留供将来使用并且由此通常设置为零。位7和6是显示器更新位,它用于说明将要写入像素数据的帧缓冲器。帧更新位 的效果在其他地方作了更加详细的描述。当位[7:6]为01时,像素数据被写入离线图像缓 冲器。当位[7:6]为00时,像素数据被写入用于刷新显示器的图像缓冲器。当位[7:6]为 11时,像素数据被写入所有图像缓冲器。如果位[7:6]为10,则视作无效值。这些位当前 被保留供将来之用。在这种情况下,像素数据被忽略并且不写入任何图像缓冲器。位8至15被保留供将来使用,并且通常设置为逻辑零电平或值。34.可缩放视频流确认分组可缩放视频流确认分组允许客户机确认接收到可缩放视频流设置分组。所述客户 机经由有效状态应答列表分组的有效参数应答列表中的参数值143并且经由可缩放视频 流能力分组的最大流数字段中的非零值来表明其支持可缩放视频流确认分组的能力。图77示出了可缩放视频流确认分组的格式。如图77所示,在一个实施例中,将可 缩放视频流确认分组构造成具有分组长度分组、分组类型、cClient ID、流ID、ACK代码和 CRC字段。2字节的分组长度说明了分组中不包括分组长度字段的字节总数,且对于这个分 组类型而言,分组长度值是10,而分组类型137将该分组标识为可缩放视频流确认分组。2字节的cClient ID字段-被被保留供将来使用,并且通常设置为零。2字节的流 ID字段说明了流ID的唯一标识符。这与可缩放视频流设置分组中由主机分配的值相同。2字节的确认代码字段提供了包含一个代码的值,该代码用于描述试图更新指定 的可缩放视频流的结果。在一个实施例中,所述代码按如下方式定义0-流分配尝试成功。1-流解除分配尝试成功。2-对一个已经分配了的流ID的分配尝试无效。3-对一个已经解除分配的流ID的解除分配尝试无效。
4-客户机不支持可缩放视频流5-流参数与客户机能力不一致。6-流ID值大于客户机允许的最大值。
7-客户机没有足够资源可以用来分配指定的流。2字节的CRC字段包含了该分组中包括分组长度在内的所有字节的CRC。35.可缩放视频流分组可缩放视频流分组用来传输与特定的可缩放视频流相关联的像素数据。这个分组 涉及的区域大小是由可缩放视频流设置分组定义的。所述客户机经由有效状态应答列表分 组的有效参数应答列表中的参数值143,并且经由可缩放视频流确认分组的确认代码字段 中的成功的可缩放视频流分配响应,来表明其支持可缩放视频流分组的能力。图78示出了可缩放视频流分组的一个实施例的格式。如图78所示,将可缩放视 频流分组构造为具有分组长度、分组类型、hClient ID、流ID、参数CRC、像素计数、像素数据 和像素数据CRC字段。2字节的分组类型字段使用值18将该分组标识为可缩放视频流分 组。hClient ID字段是为客户机ID保留的,并且通常设置为零。如前所述,2字节的流ID 字段说明了流ID的唯一标识符。这一值是在可缩放视频流设置分组中由主机指定的,并且 在可缩放视频流确认分组中被确认。2字节的像素计数字段说明了像素数据字段中像素数目。2字节的参数CRC字段 具有从分组长度到像素计数的所有字节的CRC。如果这一 CRC未能通过校验,就丢弃整个分 组。2字节的像素数据字段包含将要缩放并随后被显示的原始视频信息。数据是按照由视 频数据格式描述符字段所述的方式来进行格式化的。按照前面定义的方式每次传输一行所 述数据。2字节的像素数据CRC字段包含只对像素数据的CRC。如果这一 CRC未能通过校 验,那么所述像素数据仍可被使用,不过CRC错误计数增加。36.请求特定状态分组请求特定状态分组为主机提供了用于请求客户机按照这个分组中指定的方式把 能力或者状态分组送回到主机的手段、机制或方法。客户机在下一个反向链路封装分组中 返回指定类型的分组。如果所述客户机具有响应该请求特定状态分组的能力,那么客户机 将设置分组客户机能力分组中的客户机特征能力字段中的位17。客户机可使用分组客户机 能力分组的客户机特征能力字段的位21来表明其支持请求特定状态分组的能力。图79示出了请求特定状态分组的一个实施例的格式。分组如图79所示,将请求特 定状态分组构造为具有分组长度、分组类型、hClientID、状态分组ID和CRC字段。分组长 度字段说明了分组中不包括分组长度字段的字节总数,并且对于这个分组类型而言,分组 长度通常固定为值10。分组类型138分组把所述分组标识为请求特定状态分组。hClient ID (2字节)字段被保留以供将来客户机ID使用,并且现在设置为零,而2字节的状态分组 ID字段说明了客户机将要发送到主机的能力或者状态分组的类型。典型的分组类型为66-由客户机发送分组客户机能力分组。133-由客户机发送阿尔法光标图像能力分组。139-发送有效状态应答列表分组,用于标识客户机能够发送的能力和状态分组的 准确类型。
140-由客户机发送分组处理延迟参数分组。141-由客户机发送个人分组客户机能力分组。142-由客户机发送客户机错误报告分组。143-由客户机发送可缩放视频流能力分组。144-由客户机发送客户机标识分组。分组类型56至63可以用于特定于制造商能力和状态标识符。CRC字段包含包括分组长度在内的分组中所有字节的CRC。37.有效状态应答列表分组有效状态应答列表分组提供了使得主机具有客户机有能力对其做出响应的一系 列状态和能力分组的结构、手段或方法。客户机能够使用分组客户机能力分组中的客户机 特征能力字段的位21来表明其支持有效状态应答列表分组的能力。图80示出了有效状态应答列表分组的一个实施例的格式。如图80所示,将有效 状态应答列表分组构造为具有分组长度、分组类型、cClient ID、列表中值的数量、有效参 数应答列表和CRC字段。这一类型的分组的分组长度通常固定为数值10,并且类型值139 将该分组标识为有效状态应答分组。cClient ID字段被保留供将来用作客户机ID,并通常 设置为零。2字节的列表中值的数量字段说明了随后的有效参数应答列表中项目的数目。有效参数应答列表字段包含2字节参数的列表,其用于说明客户机可以发送到主 机的能力或者状态分组的类型。如果客户机已经表明它可以响应请求特定状态分组(利用 分组客户机能力分组中的客户机特征能力字段的位21),那么它能够发送至少分组客户机 能力分组(分组类型=66)和有效状态应答列表分组(分组类型=139)。可由客户机发送 并且可包括在该列表中的分组类型以及本实施例中其各自分配目的是66-分组客户机能力分组。I33-阿尔法光标图像能力分组。139-有效状态应答列表分组,用于标识客户机能够发送的能力和状态分组的准确类型。140-分组处理延迟参数分组。141-个人显示器能力分组。142-客户机错误报告分组。143-可缩放视频流能力分组。144-客户机标识分组。145-其他显示器能力分组。分组类型56至63可用于特定于制造商能力和状态标识符。CRC字段包含分组包括分组长度在内分组中所有字节的CRC。38.分组处理延迟参数分组分组处理延迟参数分组提供一组参数来允许主机计算完成与特定分组类型的接 收相关联的处理需要的时间。由主机发送的某些命令无法由客户机在零时间内完成。主机 可 以轮询客户机请求和状态分组中的状态位,以便确定某些功能是否已经由客户机完成, 或者主机可以使用由客户机在分组处理延迟参数分组中返回的参数来计算完成时间。所述 客户机能够利用有效状态应答列表分组中有效参数应答列表中的参数值140来表明其支持分组处理延迟参数分组的能力。图81A总体示出了分组处理延迟参数分组的一个实施例的格式。如图81A所示, 将分组处理延迟参数分组构造为具有分组长度、分组类型、cClient ID、列表项数、延迟参 数应答列表和CRC字段。这个分组类型的分组长度通常固定为数值10,并且类型值140把 所述分组标识为分组处理延迟参数分组。cClient ID字段被保留以供将来用作客户机ID, 并且通常设置为零。2字节的列表项数说明了随后有效参数应答列表中项目的数目。延迟参数应答列表字段是一个或多个延迟参数列表项的列表。图81B示出了单 个延迟参数列表项的一个实施例的格式,其中示出了延迟分组类型、像素延迟、水平像素延 迟、垂直像素延迟和固定延迟字段。 每一延迟参数列表项在长度上通常限定为6字节,并且按如下定义。2字节的延迟 分组类型字段说明了随后延迟参数应用的分组类型。像素延迟字段(1字节)包括延迟值 索引(index)。将从表中读取的值乘以该分组的目的字段中的像素总数。该像素总数是由 该分组定位的位图的目的区域的宽度乘高度。1字节的水平像素延迟字段包含作为延迟值 表(与DPVL相同的表)的索引的值。将从表中读取的这个值乘以分组中目的字段中的宽 度(以像素为单位)。1字节的垂直像素延迟字段包含作为延迟值表(通常使用与DPVL相 同的表)的索引的值。将从表中读取的该值乘以分组目的字段中的高度(以像素为单位)。固定延迟字段使用1字节作为延迟值表(与DPVL相同的表)的索引。从所述表 中读取的该值是固定延迟参数,其表示处理与分组中指定的任何参数值无关的分组所需的 时间。总延迟,或分组处理完成的时间延迟可根据如下关系加以确定延迟=(分组处理延迟(像素延迟)·像素总数)+(分组处理延迟(水平像素延迟)·宽度)+(分组处理延迟(垂直像素延迟)·高度)+分组处理延迟(固定延迟)对于某些分组来说,不使用总像素数、宽度或者高度,这是因为在相应的分组中没 有引用这些参数。在这些情况下,相应的像素延迟参数通常设置为零。39.个人显示器能力分组个人显示器能力分组提供一组参数,用于描述诸如头戴显示器或者显示器眼镜的 个人显示器设备的能力。这使得主机能够按照客户机的具体能力来自定义显示信息。另一 方面,客户机通过使用有效状态应答列表分组的有效参数应答列表中的相应参数来表明其 能够发送个人显示器能力分组的能力。图82示出了个人显示器能力分组的一个实施例的格式。如图82所示,将个人显 示器能力分组构造为具有分组长度、分组类型、cClientID、所述子像素布局、像素形状、水 平视场、垂直视场、可视轴交叉、左/右图像、透明度(see through)、最大亮度、光学能力、 最小IPD、最大IPD、视场曲率点列表和CRC字段。在一个实施例中,该分组长度固定为68。 分组类型值141将分组标识为个人显示器能力分组。cClient ID字段被保留以供将来使 用,并且现在通常设置为零。子像素布局字段使用以下值来说明子像素自上而下并且从左到右的物理布局,其 中使用0表明子像素布局并未定义;使用1表明红色、绿色、蓝色条纹;使用2表明蓝色、 绿色、红色条纹;使用3表明具有2X2子像素排列的四个像素,该排列为红色处于顶部左侧,蓝色处于底部右侧以及两个绿色子像素,其中一个绿色子像素位于底部左侧,另一个位 于顶部右侧;使用4来表明具有2X2的子像素排列的四个像素,该排列包括红色处于底部 左侧、蓝色处于顶部右侧以及两个绿色子像素,其中一个位于顶部左侧,另一个处于底部右 侧;使用5来表明Δ (Delta)(三元组);使用6来表明以红色、绿色和蓝色重叠(例如,利 用场序色彩的LCOS显示)的马赛克;并且值7至255通常被保留供将来之用。像素形状字段使用以下值说明了由特定配置的子像素组成的每一像素的形状,其 中使用0来表明子像素形状未定义;使用1表明圆形;使用2表明正方形;使用3表明矩 形;使用4来表明卵形;使用5来表明椭圆形;并且值6至255被保留以供将来用于表明所 需要的形状,正如本领域普通技术人员理解的那样。1字节的水平视场(HFOV)字段说明了以0. 5度递增的水平视场(例如,如果HFOV是30度,那么其值是60)。如果其值是零,那么不指定HF0V。1字节的垂直视场(VFOV)字段说明了以0.5度递增的垂直视场(例如,如果VFOV 是30度,那么其值是60)。如果其值是零,那么不指定VF0V。1字节的视轴交叉字段说明了以0.01屈光度(1/m)递增的视轴交叉(例如,如果 视轴交叉是2. 22米,那么其值是45)。如果其值是零,视轴交叉未指定。1字节的左/右图像重叠字段说明了左右图像重叠百分比。图像重叠的容许范围 的百分比是1到100。值101到255是无效的并且通常不使用。如果其值是零,那么不指定
图像重叠。1字节的透明度(see through)字段说明了图像的透明度百分比。透明度的容许 范围的百分比是0到100。值101到254是无效的并且将不会使用。如果其值是255,那么 透明度百分比就未指定。1字节的最大亮度字段说明了以20尼特递增的最大亮度(例如, 如果最大亮度是100尼特,那么其值是5)。如果其值是零,那么最大亮度就未被指定。2字节的光学能力标志字段-包含说明显示器光学能力的各种字段。通常按照如 下情况分配这些位的值位15至5被保留供将来之用,通常设置为零。位4选择眼镜聚焦调节,且0值意味着显示器不具有眼镜聚焦调节。1值意味着显 示器具有眼镜聚焦调节。位3至2按照如下情况选择双目功能数值0意味着显示器是双目的,并且只可 以显示2维(2D)图像;数值1意味着显示器是双目的,并且可以显示3维(3D)图像;数值 2-意味着所述显示器是单目的,而数值3被保留供将来之用。位1至0选择左右视场曲率对称性,数值0-值意味着视场曲率没有定义。如果这 个字段是零,那么除了点C3以外的从Al至E5的所有视场曲率值设置为零,点C3指定显示 器的焦距,或者其被设置为零以便表明焦距没有被指定。数值1-意味着左右显示器具有相 同对称性。数值2-意味着左右显示器在垂直轴(列C)上互为镜像。数值3被保留以供将 来使用。1字节的最小瞳孔间距(IPD)字段用于以毫米(mm)为单位来指定最小瞳孔间距。 如果其值是零,那么最小瞳孔间距没有被指定。1字节的最大瞳孔间距(IPD)用于以毫米 (mm)为单位来指定最大瞳孔间距。如果其值是零,那么最大瞳孔间距没有被指定。视场曲率点列表字段包含一列25个2字节的参数,用于在1到65535的范围以千分之一的屈光度(1/m)为单位来指定焦距(例如,1是0. 001屈光度,并且65535是65. 535屈光度)。视场曲率点列表中的25个元素被标记为Al至E5,如图83所示。所述点应在显 示器的激活区域上均勻分布。列C对应于显示器的纵轴,行3对应于显示器的横轴。列A 和E分别对应于显示器的左右沿。并且行1和5分别对应于显示器的顶部和底沿。列表中 25 个点的顺序是:A1, Bi, Cl, Dl, El, A2, B2, C2, D2, E2, A3, B3, C3, D3, E3, A4, B4, C4, D4, E4, A5, B5, C5, D5, E5。CRC字段包含分组中包括分组长度在内的所有字节的CRC。40.客户机错误报告分组客户机错误报告分组充当用于允许客户机向主机提供一列操作错误的机制或者 手段。作为从主机接收到某些命令的结果,客户机可以检测其正常操作情况下的各种各样 的错误。这些错误的实例包括客户机已经得到命令在其不支持的模式中操作;所述客户 机可能已经接收到包含某些参数的分组,而这些参数超出客户机能力或者范围;所述客户 机可能得到命令按照不正确的序列进入一种模式。所述客户机错误报告分组可以用来检测 正常操作期间的错误,但是对系统设计员和集成商最有用的是在主机和客户机系统的开发 和集成过程中诊断问题。所述客户机使用有效状态应答列表分组的有效参数应答列表中的 参数值142来表明其发送显示器错误报告分组的能力。图84A示出了客户机错误报告数据的一个实施例的格式。如图84A所示,将客户 机错误报告数据构造为具有分组长度、分组类型、cClient ID、列表项数、错误代码列表和 CRC字段。分组类型值142将一个分组标识为客户机错误报告分组。cClient ID字段被保 留供将来使用,并现在通常设置为零。列表项数(2字节)字段说明了随后的错误代码列表 中项目的数目。错误代码列表字段(这里8个字节)是一个包含一个或多个错误报告列表 项的列表。图87B示出了单个错误报告列表项的格式。在一个实施例中,如图87B所示,每一错误报告列表项在长度上正好是4字节,并 且在一个实施例中,其具有这样的结构,包括用于说明所报告的错误类型的2字节显示器 错误代码字段,用于说明与由客户机错误代码分组定义的错误有关的更加详细的细节的2 字节错误子代码字段。每一客户机错误代码的具体定义由客户机的制造商定义。不必为每 一显示器错误代码定义错误子代码,并且在错误子代码未被定义的情况下,所述值被设置 为零。每一错误子代码的具体定义由客户机的制造商定义。41.客户机标识分组客户机标识分组允许客户机响应于请求特定状态分组来返回标识数据。在一个实 施例中,客户机使用有效状态应答列表分组的有效参数应答列表中的参数值144来表明发 送客户机标识分组的能力。能够通过读取来自客户机的这些数据,而确定客户机设备的制 造商名称和型号,对于主机而言是十分有用的。所述信息可以用来确定客户机是否具有分 组客户机能力分组中无法描述的特殊能力。大概存在两种可能的方法、手段或机制用于从 客户机读取识别信息。一种是通过使用分组客户机能力分组来实现,该分组客户机能力分 组包含的字段类似于基本EDID结构中的那些字段。另一个方法是通过使用包含比分组客 户机能力分组中类似字段更加丰富的信息集合的客户机标识分组。它允许主机识别没有被 分配3字符EISA代码的制造商,并且允许序号包含字母数字字符。图85示出了客户机标识分组的一个实施例的格式。如图85所示,将客户机标识分组构造为具有分组长度、分组类型、cClient ID、制造星期、制造年份、制造商名称长度、 产品名称长度、序号长度、制造商名称字符串、序号字符串和CRC字段。 2字节的分组类型字段包含用于把分组标识为客户机标识分组的值。在一个实施 例中,将这一值选择为144。所述cClient ID字段(2字节)也被保留以供将来用于客户机 ID,并且通常设置为零。CRC字段(2字节)包含包括分组长度在内的分组中的所有字节的 16 位 CRC。1字节的制造星期字段包含用于定义显示器制造的星期的值。在至少一个实施例 中,如果客户机支持这个字段,那么这一值在1到53的范围之内。如果客户机不支持这个 字段,那么通常将其设置为零。1字节的制造年份字段包含用于定义客户机(显示器)制造 的年份的值。这一值是从作为起点的1990年的偏离值,当然也可以使用其它基准年。这个 字段可以表示1991到2245范围内的年份。例如,2003年对应于制造年份值13。如果客户 机不支持这个字段,那么通常将其设置为零。制造商名称长度、产品名称长度以及序号长度字段均包含2字节的值,分别用于 说明包括任何空终止符或者空填充字符的制造商名称字符串字段的长度,包括任何空终止 符或空填充字符的产品名称字符串字段的长度,以及包括任何空终止符或者空填充字符的 序号字符串字段的长度。制造商名称字符串、产品名称字符串以及序号字符串字段均包含分别由制造商名 称、产品名称和序号的长度字段指定的可变字节数,且包含ASCII字符串,分别用于说明制 造商、产品名称以及显示器字母数字序号。这些字符串的每个均由至少一个空字符来终止。42.可选(alternate)显示器能力分组可选显示器能力分组表明连接于MDDI客户机控制器的可选显示器的能力。该分 组是响应于请求特定状态分组而发送的。当被提示时,客户机设备为所支持的每个可选显 示器发送可选显示器能力分组。所述客户机能够经由有效状态应答列表分组的有效参数应 答列表中的参数值145来表明其发送可选显示器能力分组的能力。对于按照内部模式操作的MDDI系统来说,具有一个以上连接至MDDI客户机控制 器的显示器是非常普遍的。一个示例性应用是移动电话在翻盖内部具有较大显示器而在外 部具有较小显示器。内部模式的客户机不必返回可选显示器能力分组,原因有二。其一,在 维护期间,主机可能已经被编程或得知这些能力,因为,它们用在公共设备或外壳中。其二, 由于合而为一,客户机不能很容易地与到主机的连接断开或分离开,主机可以包含客户机 能力的硬编码副本,或者,至少知道它们不随客户机的变化而改变,否则就可能会发生这种 情况。客户机能力分组的可选显示器数目字段用来报告所连接的一个以上的显示器,并 且可选显示器能力分组报告每一可选显示器的能力。所述视频流分组在像素数据属性字段 中包含4位以便访问客户机设备中的每一可选显示器。图89示出了可选显示器能力分组的一个实施例的格式。如图86所示,将可选显示 器能力分组构造为具有分组长度、分组类型、cClientID、可选显示器号、保留1、位图宽度、 位图高度、显示器窗口宽度、显示器窗口高度、色彩映射RGB宽度、RGB能力、单色能力、保留 2、Y Cb Cr能力、显示器特征能力、保留3和CRC字段。分组类型值145将一个分组标识为 可选显示器能力分组。cClient ID字段被保留供将来客户机ID使用,并通常设置为零。
可选显示器号字段使用1字节,用0到15范围内的整数表明可选显示器的身份。 第一可选显示器通常指定为0号,而其它可选显示器用唯一可选显示器号的值来标识,且 最大值是可选显示器总数减去1。不应该使用大于可选显示器总数减去1的值。例如具有 主显示器和连接至MDDI客户机的主叫ID显示器的移动电话具有一个可选显示器,因此主 叫ID显示器的可选显示器号是零,并且显示器能力分组的可选显示器数目字段的值为1。保留1字段(1字节)被保留供将来之用。这个字段中的所有位都设置为零。这 个字段的目的在于让所有后续2字节字段与16位字地址对准,让4字节字段与32位字地 址对准。位图宽度字段使用2字节来说明以像素个数表示的位图宽度。位图高度字段使用 2字节来说明以像素个数表示的位图高度。显示窗宽度字段使用2字节来说明以像素个数 表示的显示窗宽度。显示窗高度字段使用 2字节来说明以像素个数表示的显示窗高度。色彩映射RGB宽度字段使用2字节来说明可以按照色彩映射(调色板)显示模式 显示的红色、绿色和蓝色色彩分量的位数。每个色彩分量(红色、绿色和蓝色)最多可以使 用8位。即便在色彩映射分组中发送每一色彩分量的8位,也仅仅使用在这个字段中定义 的每一色彩分量的最低有效位的位数。如果显示器客户机无法使用色彩映射(调色板)格 式,那么这一值是零。所述色彩映射RGB宽度字包括三个独立的无符号值位3至0定义每一像素中蓝色的最大位数,且数值0至8被认为是有效的。位7 至4定义每一像素中绿色的最大位数,且数值0至8被认为是有效的。位11至8定义每一 像素中红色的最大位数,且数值0至8被认为是有效的。当位14至12被保留供将来使用 并且通常设置为零。位15用于表明客户机接受打包或未打包格式的色彩映射像素数据的 能力。当位15被设置为逻辑1电平时,它表明客户机能够接受打包或未打包格式的色彩映 射像素数据。如果位15被设置为逻辑0电平,它表明客户机只能接受未打包格式的色彩映 射像素数据。RGB能力字段使用2字节来说明可以按照RGB格式显示的分辨率的位数。在一个 实施例中,如果客户机无法使用RGB格式,那么这一值是零。所述RGB能力字包括三个独立 的无符号值位3至0定义每一像素中蓝色(蓝色强度)的最大位数。位7至4定义每一 像素中绿色(绿色强度)的最大位数。位11至8定义每一像素中红色(红色强度)的最 大位数。位14至12被保留供将来使用并且设置为零。位15用于表明客户机接受打包或 未打包格式的RGB像素数据的能力。当位15被设置为逻辑1电平时,它表明客户机能够接 受打包或未打包格式的RGB像素数据。如果位15被设置为逻辑0电平,它表明客户机只能 接受未打包格式色彩映射像素数据。1字节的单色能力字段包含用来指定可以按照单色格式显示的分辨率的位数的值 或信息。如果客户机无法使用单色格式,那么这一值是零。位6至4被保留供将来使用并 且通常设置为零。位3至0定义每一像素中可以存在的灰度级的最大位数。这四位能够指 定每一像素包括1至15位。如果所述值是零,那么客户机不支持所述单色格式。当位7被 设置为1时,它表明客户机能够接受打包或未打包的单色像素数据。如果位7被设置为0, 它表明客户机只能接受未打包格式的单色像素数据。保留2字段是为将来之用保留的1字节宽的字段,并且通常将这个字段中的所有 位都应设置为零。在一个实施例中,这个字段的目的在于让所有后续2字节字段与16位字地址对准,让4字节字段与32位字地址对准。2字节的Y Cb Cr能力字段说明了可以按照Y Cb Cr格式显示的分辨率的位数。 如果客户机无法使用Y Cb Cr格式,那么这一值是零。所述Y Cb Cr能力字包括三个独立 的无符号值位3至0定义用于说明Cb采样的最大位数。位7至4定义用于说明Cr采样 的最大位数。位11至8定义用于说明Y采样的最大位数。位14至12被保留供将来使用 并且设置为零。当位15被设置为1时,它表明客户机能够接受打包或未打包的Y Cb Cr像 素数据。如果位15被设置为0,它表明客户机只能接受未打包格式的Y Cb Cr像素数据。
2字节的Bayer能力字段说明能够以Bayer格式传送的分辨率的位数、像素组和像 素顺序。如果客户机不能使用间隔格式,那么这个值被置为零。Bayer能力字段由以下值组 成位3至0定义每个像素中存在的强度的最大位数;位5至4定义所需要的像素组图案; 位8至6定义用于所需要的像素顺序;位14至9被保留供将来使用并且设置为零。当位15 被设置为1时,它表明客户机能够接受打包或未打包的Bayer像素数据。如果位15被设置 为0,它表明客户机只能接受未打包格式的Bayer像素数据。2字节的CRC字段包含包括分组长度在内的分组中所有字节的16位CRC。43.寄存器访问分组寄存器访问分组向主机或者客户机提供用于访问MDDI链路对端的配置和状态寄 存器的手段、机制或方法。这些寄存器对于每个显示器或设备控制器而言很可能是唯一的。 这些寄存器已存在于许多显示器中,它们要求设置配置、操作模式并且具有其它有益的和 必需的设置。所述寄存器访问分组允许MDDI主机或者客户机对寄存器进行写操作,并且使 用MDDI链路请求读取寄存器。当主机或者客户机请求读取寄存器时,对端应该通过以相同 的分组类型发送寄存器数据,并且通过利用读/写信息字段来表明这是从特定寄存器读取 的数据而作为响应。寄存器访问分组可以用来通过指定大于1的寄存器计数来读取或者写 入多个寄存器。客户机使用分组客户机能力分组的客户机特征能力字段的位22表明支持 寄存器访问分组的能力。图87示出寄存器访问分组的一个实施例的格式。如图87所示,将寄存器访问分 组构造为具有分组长度、分组类型、bClient ID、读/写标志、寄存器地址、参数CRC、寄存 器数据列表和寄存器数据CRC字段。分组类型值146将一个分组标识为寄存器访问分组。 bClient ID字段被保留供将来之用,并且通常设置为零。2字节的读/写标志字段将这个特定分组说明为写、读或者对读的响应,并且提供 这些数据值的计数。位15至14用作读/写标志。如果位[15:14]为00,那么该分组包含待写入由寄 存器地址字段寻址的寄存器的数据。待写入指定寄存器的分组含在寄存器数据列表字段 中。如果位[15:14]为10,那么这是从由寄存器地址字段寻址的一个或多个寄存器请求数 据。如果位[15:14]为11分组,那么这个分组响应于具有位15:14的读/写标志设置为10 的寄存器访问分组而包含所请求的数据。寄存器地址字段包含对应于第一寄存器数据列表 项的寄存器地址,而寄存器数据列表字段包含从所述一个或多个地址中读取的数据。如果 位[15:14]位01,则这一值被保留以供将来使用并且不在此时使用,但本领域技术人员将 会明白如何对为了应用而采用它。位13:0使用14位无符号整数来说明将于寄存器数据列表字段中传送的32位寄存器数据项的数目。如果分组位15:14等于“00”,那么位13:0指定32-位寄存器数据项的 数目,该寄存器数据项包含在寄存器数据列表字段,且待写入从寄存器地址字段指定的寄 存器开始的寄存器中。如果分组位15 14是“ 10”,那么位13 0指定接收设备发送至请求读 取该寄存器的设备的32-位寄存器数据项的数目。该分组中的寄存器数据列表字段应该不 包含项目并且长度是零。位15:14等于“11”,那么位13:0分组指定已经从寄存器中读出的 包含在寄存器数据列表字段中的寄存器数据项的数目。目前,位15:14不会被设置为等于 “01”,这被视为无效值,否则被保留以供将来指定或使用。寄存器地址字段使用4字节来表明待将要被写入或者将要从中读取的寄存器的 地址。为了对地址小于32位的寄存器寻址,高位应被设置为零。2字节的参数CRC字段包含从分组长度到寄存器地址在分组所有字节的CRC。如 果该CRC未能通过校验,则丢弃整个分组。寄存器数据列表字段包含待写入客户机寄存器的一列4字节寄存器数据值,或已 经从客户机设备寄存器中读取的值。2字节的寄存器数据CRC字段包含只对寄存器数据列表的CRC。如果该CRC未能 通过校验,则寄存器数据仍可使用,不过CRC错误计数将递增。D.分组 CRCCRC字段出现在分组的结尾,有时出现在分组中的某些更关键的参数之后,这些参 数具有明显较大数据字段,从而增大了传送期间出错的可能性。在具有两个CRC字段的分 组中,当只有一个CRC被使用时,CRC生成器在第一 CRC之后被重新初始化,因此跟随长数 据字段的CRC计算不受分组开始时的参数影响。在一个示例性的实施例中,用于CRC计算的多项式为CRC-16或者X16+X15+X2+X0。 图36说明可用于实现本发明的CRC生成器和校验器3600的示例性实现方式。在图36中, CRC寄存器3602正好在传送被输入到Tx_MDDI_Data_Before_CRC (发送在CRC之前的MDDI 数据)线路上的分组的第一位之前被初始化为值0x0001,然后分组的字节首先从LSB开始 被移入寄存器。应注意的是,该图中的寄存器位数对应于所使用的多项式的阶数,而不是由 MDDI使用的位的位置。CRC寄存器沿单向移位更加有效,这使得CRC位15出现在MDDI CRC 字段的位位置0处,CRC寄存器位14出现在MDDICRC字段位位置1处等等,直到到达MDDI 位位置14。举例来说,如果客户机请求和状态分组的分组内容是OxOOOc、0x0046、0x000、 0x0400,0x00,0x0000 (或者表示为一个字节序列0x0c,0x00,0x46,0x00,0x00,0x00, 0x00,0x04,0x00,0x00,0x00,0x00),并且使用多路复用器3604和3606以及与非(NAND)门 3608的输入来提交(submit),Tx_MDDI_Data_With_CRC (发送具有CRC的MDDI数据)线路 上输出的最终CRC是0Xd9aa (或者表示为一个序列Oxaa,0xd9序列)。当CRC生成器和校验器3600被配置成CRC校验器时,在Rx_MDDI_Data (接收MDDI 数据)线路上接收的CRC被输入至多路复用器3604和NAND门3608,并且使用或非(NOR) 门3610、异或(XOR)门3612和与(AND)门3614逐位与CRC寄存器中发现的值进行比较。 如果存在任何错误,如AND门3614输出的那样,那么针对包含CRC错 误的每个分组,通过把 门3614的输出连接至寄存器3602的输入,CRC增加一次。应注意的是,图36中示出的示例 性电路可以输出给定CHECK_CRC_NOW(现在校验CRC)窗口内一个以上的CRC错误信号(参见图37B)。因此,所述CRC错误计数器通常只对在CHECK_CRC_NOW激活的每一间隔内的第 一个CRC错误事例计数。如果被配置成CRC生成器,那么在与分组末尾对齐的时刻,将CRC 按照时钟从所述CRC寄存器输出。
图37A和37B中以图形方式说明输入和输出信号以及使能信号的时序。图37A 用 Gen_Reset (生成复位)、Check_CRC_Now (现在校验 CRC)、Generate_CRC_Now(现在生 成 CRC)和 Sending_MDDI_Data(发送 MDDI 数据)信号的状态以及 Tx_MDDI_Data_Before_ CRC (发送CRC之前的MDDI数据)和Tx_MDDI_Data_With_CRC (发送具有CRC的MDDI数据) 信号的状态(0或者1)示出了 CRC的生成和数据的分组的传输。图37B中以Gen_Reset、 Check_CRC_Now、Generate_CRC_Now 和 Sending_MDDI_Data 信号以及 Rx_MDDI_Data(接收 MDDI数据)和CRC_Err0r (CRC错误)信号的状态示出了数据的分组的接收和CRC值的校 验。E.分组CRC的错误代码重载(overload)每当在主机和客户机之间只传送数据的分组和CRC时,其中不容纳错误代码。唯 一的错误是失去同步。否则,必须等待链路因缺乏良好的数据传送路径或者流水线而超时, 然后重置所述链路并且继续进行。但是,这样做既耗时效率又低。针对一个实施例中的使用,已经开发了这样一种新技术,其中分组的CRC部分用 来传送错误代码信息。这在图65中大体上示出。也就是说,由处理数据传送的处理器或设 备生成一个或多个错误代码,其表明通信处理或者链路内可能出现的特定预定错误或者缺 陷。遇到错误时,使用分组的CRC位来生成并且传送适当的错误代码。也就是说,利用所 需要的错误代码来重载或者重写所述CRC值,该所需的错误代码可以在接收端由用于监视 CRC字段值的错误监视器或者校验器检测到。对于错误代码与CRC值因为某些原因而相匹 配的情况,传送错误码的补码以便防止混淆。在一个实施例中,为了提供稳固(robust)的错误警告和检测系统,使用一系列分 组、通常是所有分组传送若干次错误代码,这些分组是在已经检测到错误之后才被传送或 者发送的。这种情况将一直出现,直到从系统中清除产生错误的条件时为止,此时传送正常 的CRC位,而不用另一个值来重载。重载CRC值的这种技术对系统错误提供非常快的响应,同时使用了最小量的额外 位或字段。如图66所示,利用错误检测器或者检测模块6602示出了 CRC重写机制或者装置 6600,它能够形成先前描述或者了解的其它电路的一部分,用于检测通信链路或者过程内 错误的存在或出现。可以形成为其它电路的一部分或者使用诸如查阅表来储存预选错误消 息的技术的错误代码生成器或者模块6604生成一个或多个错误代码,以表明已经检测到 的出现的特定的预定错误或者缺陷。易于理解的是,设备6602和6604根据需要可以形成为 单个电路或者设备,或者作为用于其它已知处理器和元件的被编程的步骤序列的一部分。示出的CRC值比较器或者比较模块6606,用于检查所选择的一个或多个错误代码 是否与被传送的CRC值相同。如果是,就利用代码补码生成器或者生成模块或设备来提供 错误代码的补码,以免错误代码被误认为是原来的CRC模式(pattern)或者值,从而使检测 方案混淆或者使其复杂。然后,错误代码选择器或者选择模块元件或设备6610选择期望插 入或者重写的错误代码,或者它们各自的补码,这视情况而定。错误代码CRC重写器或者重写机制或者模块6612是一种设备,用于接收数据流、分组和待插入的期望的代码,并且重写相应的或者适当的CRC值,以便把期望的错误代码传送至接收设备。如上所述,可以使用一系列分组多次传送错误代码,因此重写器6612可以在处理 或者调用来自先前元件或者其它已知存储单元的这些代码期间,利用存储器储存元件来保 存代码的副本,其中这些存储单元根据需要或期望用于储存或者保留它们的值。图67A和67B中更加详细地示出了图66的重写机制实现的总体处理的实现。在 67A中,在步骤6702,在通信数据或者过程中检测到一个或多个错误,并且在步骤6704,选 择错误代码来表明这一条件。同时,或者在适当点,在步骤6706校验待更换的CRC值,并且 在步骤6708将其与需要的错误代码进行比较。如早先讨论的那样,这一比较的结果是确定 所需要的代码或者其它代表值是否与当前CRC值相同。如果是,那么处理进行到步骤6712, 把所述补码或者在某些情况下根据需要是其它代表值,选为代码来插入。一旦在步骤6710 和6714中确定了将会插入什么样的错误代码或者值,就选择这个适当的代码以便插入。为 了清楚起见,把这些步骤作为独立的步骤示出,但是它通常表现为基于步骤6708判定的输 出所作的单一选择。最后,在步骤6716,在CRC位置中重写这些适当值,以便与作为所述过 程的目标的分组一起传送。在分组接收侧,如图67B所示,在步骤6722中监视分组CRC值。通常,所述CRC值 由系统内的一个或多个过程监视,以便确定数据传送中的错误是否已经出现,并且确定是 否请求重新传送一个或多个分组,或是禁止进一步操作等等,其中一些上文已经讨论过了。 作为这种监视的一部分,还可以使用所述信息与已知的或者预选错误码或者代表值进行比 较,并检测错误的出现。或者,也可以实现独立的错误检测过程和监视器。如果好像存在这 样一个代码,就在步骤6724提取它或者标注它,以便进一步处理。在步骤6726中可以确定 这是实际代码还是补码,在这种情况下,将附加步骤6728用来把所述值转换为所需要的代 码值。不论是哪种情况,在步骤6730最终提取的代码、补码或者其它恢复值都可用于从已 传输的代码中检测已经出现了哪些错误。V.链路休眠MDDI链路可以快速进入休眠状态,并且快速从休眠中苏醒。由于MDDI链路能够非 常快速地再次苏醒以便使用,因而这种响应允许通信系统和设备强制MDDI链路经常进入 休眠以降低功耗。在一个实施例中,当外部模式的客户机第一次从休眠中苏醒时,它以数据 速率以及选通脉冲时序进行如此操作,其中选通脉冲时序与IMbps的速率一致,也就是说, MDDI_Stb对应以500kHz的速率翻转。一旦客户机的特性已经被主机发现或者其特性已经 传递到主机,那么主机通产可以以从IMbps到客户机能够运行的最大速率之间的任意速率 唤醒链路。内部模式的客户机能够以主机和客户机双方均可运行的任意速率苏醒。这通常 也适用于内部模式客户机第一次苏醒。在一个实施例中,当链路从休眠中苏醒时,主机和客户机交换脉冲序列。使用低速 线路接收器可检测到这些脉冲,该低速线路接收器仅消耗差分接收器以最大链路运行速度 接收信号所需的电流的一部分。主机或者客户机都能够唤醒链路,从而唤醒协议被设计成 能够处理主机和客户机同时试图进行唤醒时出现的可能的竞争。在休眠状态期间,MDDI_Data和MDDI_Stb差分驱动器被禁用并且跨在所有差分对 上的差分电压为零电压。在从休眠苏醒期间用于检测脉冲序列的差分线路接收器具有有意的电压偏移。在一个实施例中,这些接收器中逻辑1和逻辑O电平之间的阈值近似为125mV。 这使得未驱动的差分线对在链路苏醒序列期间将被视为逻辑零电平。为了进入休眠状态,主机在链路关闭分组的CRC之后发送64个MDDI_Stb周期。 主机禁用CRC之后的在15至56个MDDI_Stb周期(包括输出禁用传播延迟)的范围内主 机的MDDI_DataO输出。主机在链路关闭分组的CRC之后且在其发起唤醒序列之前发送64 个MDDI_Stb周期。在一个实施例中,主机发起的唤醒被定义为主机在MDDI_DataO达到有 效逻辑1电平之后且在驱动MDDI_Stb上的脉冲之前必须等待100纳秒。在一个实施例中, 客户机在链路关闭分组的CRC之后且在将等待MDDI_DataO驱动到逻辑1电平以试图唤醒 主机之前需要等待至少60个MDDI_Stb周期。为了从休眠状态中“苏醒”,需要执行几个动作和过程。当客户 机,这里是显示器, 需要来自主机的数据或通信、服务时,客户机将MDDI_DataO线路驱动到逻辑1状态且持续 大约70到1000微秒,而MDDI_Stb处于非激活状态,且在MDDI_Stb变为激活状态之后仍保 持MDDI_DataO被驱动为逻辑1电平大约70个MDDI_Stb周期(在60到80的范围上),但 也可根据需要使用其他时段。然后客户机通过将MDDI_DataO驱动器置为高阻状态而禁用 MDDI_DataO 驱动器。如果在休眠期间MDDI_Stb处于激活状态,尽管这不太可能,那么客户机只能将 MDDI_DataO驱动到逻辑1状态大约70个MDDI_Stb周期(在60到80的范围上)。这一动 作使得主机启动和重启在正向链路(208)上的数据业务并询问客户机的状态。主机必须检测请求脉冲的出现并开始启动序列,即,先将MDDI_Stb驱动为逻辑0 电平和将MDDI_DataO驱动为逻辑高电平达至少lOOnsec。然后,在翻转MDDI_Stb的同时, 继续将MDDI_DataO驱动为逻辑1电平且持续150个MDDI_Stb周期(在140到160的范围 上),并将MDDI_DataO驱动为逻辑0电平且持续50个MDDI_Stb周期(在40到60的范围 上)。如果客户机检测到MDDI_DataO处于逻辑1状态多于80个MDDI_Stb周期,那么客户 机不应发送服务请求。当客户机检测到MDDI_DataO处于逻辑1电平达60至80个MDDI_ Stb周期时,那么客户机搜索主机将MDDI_DataO驱动为逻辑0电平达50个MDDI_Stb周期 的间隔。在主机将MDDI_DataO驱动到逻辑0电平且持续50个MDDI_Stb周期的时间后,主 机随后开始在链路上发送分组。发送的第一个分组是子帧报头分组。在MDDI_DataO处于 逻辑0电平达50周期间隔的40个MDDI_Stb周期后,客户机开始寻找子帧报头分组。以下 进一步讨论与休眠处理和启动序列相关的世界选择属性和时间间隔容差。(参见以下的图 68A-C)主机可通过首先启用MDDI_Stb而发起唤醒,并同时将其驱动至逻辑0电平。直至 脉冲按照如下所述方式输出,MDDI_Stb才被驱动至逻辑1电平。在MDDI_Stb达到有效逻辑 0电平后,主机启用MDDI_DataO并同时将其驱动到逻辑1电平。直到如下所述MDDI_DataO 被驱动到逻辑0电平且持续50个MDDI_Stb脉冲的间隔时,MDDI_DataO才应被驱动到逻辑 0电平。主机应该在MDDI_DataO达到逻辑1电平之后且在驱动MDDI_Stb上脉冲之前等待 至少100纳秒。当考虑到最差情况的输出启用延迟时,出现这种时序关系。这基本确保了 客户机在其MDDI_Stb接收器由被主机驱动的MDDI_DataO上的逻辑1电平唤醒之后有充足 的时间来完全启用该MDDI_Stb接收器。图38示出了在没有竞争的情况下典型服务请求事件3800的处理步骤的实例,其中为了说明的方便,使用字母A、B、C、D、Ε、F和G来标记所述事件。所述过程在点A处开 始,此时主机向客户机设备发送链路关闭分组,以便通知它所述链路将转变为低功率休眠 状态。在下一步,通过禁用MDDI_DataO驱动器并且把MDDI_Stb驱动器设置为逻辑0,所述 主机进入低功率休眠状态,如B点处所示。通过高阻抗偏置网络将MDDI_DataO驱动为逻辑 0电平。在某时间段之后,客户机通过把MDDI_DataO驱动至逻辑1电平来向主机发送服务 请求,如点C处所示那样。所述主机仍然使用高阻抗偏置网络来维持(asserts)逻辑0电 平,但是客户机中的驱动器强制所述线路进入逻辑1电平。在50微秒内,所述主机识别这 一服务请求脉冲,并且通过启用其驱动器在MDDI_DataO上维持逻辑1,如点D处所示。然 后,客户机停止试图维持服务请求脉冲的努力,并且所述客户机将其驱动器置于高阻状态, 如点E处所示。主机把MDDI_DataO驱动至逻辑0电平且持续50微秒,如点F处所示,并且 按照与MDDI_DataO上的逻辑0电平相一致的方式来生成MDDI_Stb。在MDDI_DataO处于逻 辑0电平达40个MDDI_Stb周期后,客户机开始寻找子帧报头分组。在把MDDI_DataO置于 逻辑0电平并且驱动MDDI_Stb 50微秒之后,所述主机开始通过发送子帧报头分组在正向 链路上传输数据,如点G所示。图39中说明类似的实例,其中在已经开始链路重启序列之后维持(assert)服务 请求,并且也使用字母A、B、C、D、E、F和G来标记所述事件。这代表来自客户机的请求脉冲 或者信号非常接近破坏子帧报头分组的最坏情况。所述过程在点A处开始,此时主机向客 户机设备再次发送链路关闭分组,通知它所述链路将转变到低功率休眠状态。在下一步,所 述主机通过禁用MDDI_DataO驱动器并 且把MDDI_Stb驱动器设置为逻辑0电平,而进入低 功率休眠状态,如B点处所示。如前所述,通过高阻抗偏置网络将MDDI_DataO驱动为逻辑 0电平。经过一段时间以后,主机通过把MDDI_DataO驱动为逻辑1电平且持续150微秒来 开始所述链路重启序列,如点C处所示。在链路重启序列开始之后且在经过50微秒之前, 所述显示器还维持MDDI_DataO为1达70微秒的持续时间,如点D处所示。发生这种情况 是因为显示器需要向主机请求服务并且尚未识别出所述主机已开始链路重启序列。然后, 客户机不再试图维持服务请求脉冲,并且所述客户机将其驱动器置于高阻状态,如点E处 所示。主机继续把MDDI_DataO驱动至逻辑1电平。主机把MDDI_DataO驱动至逻辑0电平 且持续50微秒,如点F所示,并且按照与MDDI_DataO上为逻辑0电平相一致的方式来生成 MDDI_Stb。在把MDDI_DataO维持到逻辑0电平并且驱动MDDI_Stb达50微秒之后,所述主 机通过发送子帧报头分组开始在正向链路上传输数据,如点G所示。根据上面的讨论,人们可以看出作为唤醒序列的一部分,先前解决方案涉及让主 机经历两个状态。对于第一状态来说,主机把MDDI_DataO信号驱动为高且持续150微秒, 然后把MDDI_DataO信号驱动为低且持续50微秒,同时激活MDDI_Stb线路,然后开始传输 MDDI分组。就使用MDDI装置和方法可获得的数据速率而言,这一过程可很好地用于提高 现有技术水平。然而,如前所述,就减少对条件的响应时间或能够更快选择下一步骤或过程 (即,简化处理或元件的能力)而言,始终要求更快的速度。申请人:已经发现了一种新的创新方法来唤醒处理和时序,其中主机使用基于时钟 周期的时序进行信号翻转(toggle)。按照这一配置,在主机于唤醒序列开始时把MDDI_ DataO信号驱动为高之后,所述主机从0至10微秒开始翻转MDDI_Stb,并且直到信号被驱 动为低才等待。在唤醒序列期间,主机翻转MDDI_Stb,就好象MDDI_DataO信号始终处于逻辑O电平。这样做有效地把时间概念从客户机侧去除,并且对于这些周期而言,主机从最初 两个状态的150微秒和50微秒时间段改变为针对这些时间段的150个时钟周期和50个时
钟周期。现在,主机负责把该数据线驱动为高,并且在10个时钟周期内开始传输选通信号,就好像所述数据线是零。在主机已经把数据线驱动为高且持续150个时钟周期之后,主 机把数据线驱动为低并持续50个时钟周期,同时继续传输选通信号。在主机已经完成这两 个过程之后,主机可以开始传输第一子帧报头分组。在客户机侧,现在,客户机实现方式可以使用所生成的时钟计算数据线首先为高、 然后为低的时钟周期的数目。在驱动为高状态的数据线上需要存在的时钟周期数目是150, 在驱动为低状态的数据线上的时钟周期数目是50。这意味着对于正确的唤醒序列来说,客 户机应该能够对数据线处于高状态的至少150个连续时钟周期,及其后跟随的数据线处于 低状态的至少50个连续时钟周期进行计数。一旦这两个条件得到满足,客户机就可以开始 搜索第一子帧的唯一字。把这一模式中的中断用作把计数器返回初始状态的基础,其中客 户机再次寻找数据线处于高状态的最初150个连续时钟周期。如先前所讨论的那样,基于主机的从休眠中唤醒的本发明的客户机实现方式,除 了没有强制时钟速率起始于IMbps以外,非常类似于初次启动的情况。相反,可以将时钟速 率设置为从任何先前速率重新开始,该先前速率为通信链路进入休眠时处于激活状态的速 率。如果主机如上所述开始传输选通信号,那么客户机应该能够再次对数据线处于高状态 的至少150个连续时钟周期,和其后跟随的数据线处于低状态的至少50个连续时钟周期进 行计数。一旦已经符合这两个条件,客户机就可以开始搜索唯一字。基于客户机的从休眠中唤醒的本发明的客户机实现方式,除了它通过让客户机驱 动数据线来启动之外,与基于主机的唤醒相似。客户机可以在没有时钟的情况下异步地驱 动数据线来唤醒主机设备。一旦主机识别出所述数据线被客户机驱动为高状态,它就可以 开始其唤醒序列。客户机可以对开始时或者在其唤醒过程期间的主机生成的时钟周期的数 目进行计数。一旦客户机数出数据线处于高状态的70个连续时钟周期,它就可以停止将数 据线驱动为高状态。在这一刻,主机也应该已经把数据线驱动为高状态。于是客户机可以 对数据线处于高状态的另外80个连续时钟周期进行计数,以便使数据线处于高状态的时 钟周期达到150个,并且因此能寻找数据线处于低状态的50个时钟周期。一旦符合这三个 条件,客户机就可以开始寻找唯一字。这种唤醒处理的新实现方式的优势在于它不需要时间测量设备。无论它是振荡 器、电容器放电电路还是其它这种已知的设备,客户机不再需要这种外部设备来确定启动 条件。当在客户机设备板上实现控制器、计数器等等的时候,这样做节省资金和电路面 积。虽然对于主机而言,未必象对于客户机那样有益,但是就用于核心电路的超高密度逻辑 (VHDL)而言,这一技术应该也能够简化所述主机。使用数据和选通线路作为唤醒通知和测 量源的功耗也非常低,这是因为不需要为核心元件运行任何外部电路,以使其等待基于主 机的唤醒。所使用的周期或者时钟周期的数目是示例性的,还可以使用其它周期,这对于本 领域普通技术人员是显而易见的。这种唤醒处理的新实现方式的优势在于它不需要时间测量设备。无论它是振荡 器、电容器放电电路还是其它这种已知的设备,客户机不再需要这种外部设备来确定启动条件。当实现控制器、计数器等等的时候,这样做节省资金和电路面积,因此节省客户机设 备板上的面积。虽然对于主机而言,未必象对于客户机那样有益,但就用于核心电路的超高 密度逻辑(VHDL)而言,这一技术应该也能够简化所述主机。使用数据和选通线路作为唤醒 通知和测量源时的功耗也非常低,这是因为核心元件等待基于主机的唤醒不需要任何外部 电路。为了阐明并且举例说明这一新技术的操作,图68A、68B和68C中示出了 MDD 1_ DataO、MDDI_Stb和相对于所述时钟周期的各种操作的时序。图68A中示出了在没有竞争的情况下典型主机启动的唤醒的处理步骤的实例,其 中为了便于说明,也使用字母A、B、C、D、E、F和G来标记所述事件。所述过程在点A处开 始,此时主机向客户机设备发送链路关闭分组以便通知它所述链路将转变到低功率休眠状 态。在下一步中,B点处,主机翻转(toggle)MDDI_Stb且持续翻转约64个周期(根据系统 设计需要),以便在停止MDDI_Stb翻转之前允许客户机的处理完成,其停止客户机设备中 的已恢复时钟。主机最初也把MDDI_DataO设置为逻辑0电平,然后在CRC之后,在16 48 个周期的范围内(通常包括输出禁用传播延迟)禁用MDDI_DataO输出。这可能需要在CRC 后的48周期之后,并且在下一阶段(C)之前的某时,把客户机中的MDDI_DataO和MDDI_Stb 的高速接收器置于低功率状态。在链路关闭分组的CRC之后的第48个MDDI_Stb周期的上 升沿之后的任意时刻,客户机将其MDDI_DataO和MDDI_Stb的高速接收器置于休眠。所建 议的是,在链路关闭分组的CRC之后的第64个MDDI_Stb周期的上升沿之前,客户机将其 MDDI_DataO和MDDI_Stb的高速接收器置于休眠。通过禁用MDDI_DataO和MDDI_Stb驱动器并且把主机控制器置于低功率休眠状 态,所述主机在点C或者步骤C进入低功率休眠状态。还可以根据需要把MDDI_Stb驱动器 设置为逻辑0电平(使用高阻抗偏置网络)或者设置为在休眠期间连续翻转。所述客户机 也处于低功率电平的休眠状态。在某一段时间之后,所述主机通过启用MDDI_DataO和MDDI_Stb驱动器输出,在点 D开始链路重启序列。所述主机把MDDI_DataO驱动为逻辑1电平,并且把MDDI_Stb驱动至 逻辑0电平,且其持续时间与驱动器完全启用它们各自的输出所应占用的时间一样长。在 这些输出达到所需要的逻辑电平之后,并且在驱动MMDI_Stb上的脉冲之前,主机通常等待 200纳秒左右。这样,客户机有时间准备接收。当主机驱动器被启用并且MDDI_DataO被驱动为逻辑1电平时,主机开始翻转 MDDI_Stb且使其持续翻转150个MDDI_Stb周期,如点E处所示。主机把MDDI_DataO驱动 至逻辑0电平且持续50个周期,如点F所示,并且在MDDI_DataO处于逻辑0电平达40个 MDDI_Stb周期之久后,客户机开始寻找子帧报头分组。主机通过发送子帧报头分组开始在 正向链路上传输数据,如点G所示。图68B中说明在没有竞争的情况下典型客户机启动的唤醒的处理步骤的实例,其 中为了便于说明,也使用字母A、B、C、D、E、F、G、H和I来标记所述事件。如前所述,所述过 程在点A处开始,此时主机向客户机发送链路关闭分组,通知它所述链路将转变为低功率 状态。
在B点,主机翻转MDDI_Stb且持续翻转64个周期(根据系统设计需要),以便允 许在停止MDDI_Stb翻转之前完成客户机处理,这一信号用于停止客户机设备中的已恢复时钟。主机最初也把MDDI_DataO设置为逻辑0电平,然后在CRC之后,在16至48个周期 (通常包括输出禁用传播延迟)的范围内,禁用MDDI_DataO输出。在CRC后的48个周期之 后,并且在下一阶段(C)之前的某时,需要把客户机中的MDDI_DataO和MDDI_Stb的高速接 收器置于低功率状态中。通过禁用MDDI_DataO和MDDI_Stb驱动器并且把主机控制器置于低功率休眠状 态,所述主机在点C或者步骤C进入低功率休眠状态。还可以根据需要把MDDI_Stb驱动器 设置为逻辑0电平(使用高阻抗偏置网络)或者设置为在休眠期间继续翻转。所述客户机 也处于低功率电平休眠状态。在某一时间段之后,客户机通过启用MDDI_Stb接收器并且启用在MDDI_Stb接收 器中的一个偏移,在点D开始链路重启序列,以便确保在主机启用其MDDI_Stb驱动之前,在 客户机中所接收的MDDI_Stb的版本的状态是逻辑0电平。根据需要,可能需要客户机稍微 超前于启用接收器时启用该偏移(offset),以便确保接收到有效的差分信号并且防止错误 信号。客户机启用MDDI_DataO驱动器,同时把MDDI_DataO线路驱动至逻辑1电平。如果 启动偏移和标准MDDI_DataO差分接收器的时间为200纳秒,则可以同时启用MDDI_DataO 和 ffl)DI_Stb。在约1毫秒内,在点E处,主机识别来自客户机的服务请求脉冲,并且主机通过启 用MDDI_DataO和MDDI_Stb驱动器输出来开始链路重启序列。所述主机把MDDI_DataO驱 动为逻辑1电平,并把MDDI_Stb驱动至逻辑0电平,且其持续时间与驱动器启用它们各自 的输出所应占用的时间一样长。在这些输出达到所需要的逻辑电平之后,并且在驱动MMDI_ Stb上的脉冲之前,主机通常等待200纳秒左右。这样,客户机就有时间准备接收。当主机驱动器被启用并且MDDI_DataO被驱动为逻辑1电平时,主机在MDDI_Stb 上输出脉冲且持续150个MDDI_Stb周期的持续时间,如点F处所示。当客户机识别出MDDI_ Stb上的第一个脉冲时,它禁用其MDDI_Stb接收器中的偏移(offset)。客户机继续把MDDI_ DataO驱动至逻辑1电平且持续70个MDDI_Stb周期,并且在点G禁用其MDDI_DataO驱动 器。客户机继续把MDDI_DataO驱动至逻辑1电平且持续80个额外的MDDI_Stb脉冲,并且 在点H将MDDI_DataO驱动至逻辑零电平。如点G和H处所示,主机把MDDI_DataO驱动至逻辑0电平且持续50个周期,并且 客户机在MDDI_DataO处于逻辑0电平达40个MDDI_Stb周期后,客户机开始寻找子帧报头 分组。在将MDDI_Stb驱动达50个周期后,主机通过发送子帧报头分组开始在正向链路上 传输数据,如点I所示。图68C中说明具有来自客户机的竞争,也就是客户机也希望唤醒所述链路的典型 主机启动的唤醒的处理步骤的实例。为了便于说明,也使用字母A、B、C、D、E、F、G、H和I 来标记所述事件。如前所述,所述过程在点A处开始,此时主机向客户机设备发送链路关闭 分组,以便通知客户机所述链路将转变到低功率状态,然后进行到B点,在点B处MDDI_Stb 被翻转且持续翻转约64个周期(或者根据系统设计需要),以便允许由客户机执行的处理 完成,然后进行到点C,此时所述主机通过禁用MDDI_DataO和MDDI_Stb驱动器并且把主机 控制器置于低功率休眠状态来进入低功率休眠状态。在某时间段之后,所述主机通过启用 MDDI_DataO和MDDI_Stb驱动器输出在点D开始链路重启序列,并且开始翻转MDDI_Stb且 使其持续翻转150个MDDI_Stb周期的持续时间,如点E处所示。
在点E之后的多达70个MDDI_Stb周期处,在这里为点F,客户机还没有识别到主 机正在把MDDI_DataO驱动至逻辑1电平,因此客户机也把MDDI_DataO驱动至逻辑1电平。 出现这种情况是因为客户机需要请求服务,但是没有识别到其正在试图与之通信的主机已 经开始链路重启序列。在点G,客户机停止驱动MDDI_DataO,并且通过禁用其输出将其驱动 器置于高阻状态。所述主机继续把MDDI_DataO驱动至逻辑1电平且使其持续80个附加周 期。主机把MDDI_DataO驱动至逻辑0电平且使其持续50个周期,如点H所示,并且客 户机在MDDI_DataO处于逻辑0电平达40个MDDI_Stb周期之久后,该客户机开始寻找子帧 报头分组。主机通过发送子帧报头分组开始在正向链路上传输数据,如点I所示。VI.接口电气规范在一个示例性的实施例中,使用数据选通信号或者DATA-STB格式对非归零(NRZ) 格式的数据进行编码,这样就将时钟信息嵌入数据和选通信号中。所述时钟可以在没有复 杂的锁相环的情况下加以恢复。数据由双向差分链路承载,这通常是使用有线线路电缆来 实现的,当然如前所述也可以使用其它导线、印刷线路或者传送元件。选通信号(STB)是在 仅由主机驱动的单向链路上承载的。每当存在背靠背(back-to-back)状态,0或1时,即数 据线或者信号上保持不变时,选通信号将值翻转(0或者1)。图40中以图形形式示出了如何使用DATA-STB (数据-选通)编码来传输如位 “1110001011”的数据序列的实例。在图40中,DATA(数据)信号4002显示在信号时序图 的顶行上,并且STB(选通)信号4004显示在第二行上,根据适当的需要(公共起点)二 者每次都对准。随着时间推移,当DATA线路4002 (信号)上出现的状态发生改变时,那么 STB线路4004 (信号)保持先前状态,从而,DATA信号的第一个‘ 1,状态与STB信号的第一 个‘0’状态也就是它的起始值相互关联。然而,如果DATA信号的状态、电平不改变时,那么 STB信号翻转至相对状态,即在本实例中为‘1,状态,如同图40中DATA提供又一 ‘1,值的 情况那样。也就是说,每个位周期在DATA和STB之间有并且只有一个转变。因此,当DATA 信号保持在‘1’时,STB信号再次转变,此时为‘0’,并且在DATA信号的电平改变为‘0’时, STB保持这一电平。当DATA信号保持在‘1’时,STB信号翻转至相反状态,即当前实例中的 ‘ 1’,以及随着DATA信号改变或者保持电平或者值,STB信号保持或者转变,等等。收到这些信号时,对DATA和STB信号执行异或(X0R)运算以便产生时钟信号 4006,该时钟信号显示在时序图的底部,以便与所需要的数据和选通信号相比较。图41中 示出了一电路实例,该电路可用于在主机处根据输入数据生成DATA和STB输出或者信号, 然后在客户机处根据DATA和STB信号恢复或者重获数据。在图41中,传输部分4100用来生成并且经由中间信号路径4102传输原始DATA 和STB信号,而接收部分4120用来接收信号并且恢复数据。如图41所示,为了从主机向客 户机传送数据,把DATA信号输入到两个D型触发器电路元件4104和4106,并且输入时钟信 号以便触发所述电路。然后,使用两个差分线路驱动器4108和4110 (电压模式)把两个触 发电路的输出(Q)分别分为MDDI_DataO+、MDDI_DataO-和MDDI_Stb+、MDDI_Stb-的信号差 分对。三输入同或(XN0R)门、电路或逻辑元件4112被连接以便接收DATA以及两个触发器 的输出,并且生成用于向第二触发器提供数据输入的输出,这第二触发器则生成所述MDDI_ Stb+、MDDI_Stb-信号。为方便起见,在XN0R门上画了一个反相泡泡,以便表明它有效地使生成选通信号的触发器的Q输出反相。在图41的接收部分4120中,由两个差分线路接收器4122和4124中的每一个接 收MDDI_DataO+、MDDI_DataO-和MDDI_Stb+、MDDI_Stb_信号,差分线路接收器根据差分信 号生成单端输出。然后,放大器的输出被输入至双输入异或(X0R)门、电路或逻辑元件4126 的每一输入端,所述逻辑元件4126用于产生时钟信号。所述时钟信号用来触发两个D型触 发器电路4128和4130中的每一个,所述D型触发器电路用于通过延迟元件4132接收DATA 信号的延迟版本,所述D型触发器之一(4128)生成数据‘0’值,而另一个(4130)生成数据 ‘1’值。所述时钟还具有来自X0R逻辑的独立输出。由于时钟信息被分配给DATA和STB线 路,所以状态之间的信号转变均慢于一半的时钟速率。由于使用DATA和STB信号的异或处 理来再现时钟,所以与直接经由单根专用数据线发送时钟信号的情况相比,系统实际上容 许在输入数据和时钟之间存在两倍的偏离量。MDDI数据对,MDDI_Stb+和MDDI_Stb_信号,采用差分模式工作,以便最大程度上 免除噪声的负面影响。差分对中的每一个都是利用传送信号的电缆或者导线的特性阻抗来 并联端接(parallelterminated)的。通常,所有的并联终端电阻都驻留在客户机设备中。 这近似于正向业务(从主机向客户机发送数据)的差分接收器,但其在电缆或其他导线或 传送元件的驱动端部是用于反向业务的(从客户机向主机发送数据)。对于反向业务,信号 由客户机驱动,由主机处的高阻抗接收器反射,并在客户机处端接。这避免了对于将增加电 流消耗的双终端电阻的需要。其也工作在大于电缆往复行程延迟的倒数的数据速率上。所 述MDDI_Stb+和MDDI_Stb-导线或信号只由主机驱动。图42中示出了作为本发明的MDDI接口一部分,可以用来实现传送信号的驱动器、 接收器和终端电阻的元件的示例性配置。这一示例性接口使用低压检测,在这里是200mV, 具有小于1伏的电压摆幅和低功耗。每个信号对的驱动器具有一个差分电流输出。当接收 MDDI分组时,该MDDI_Data和MDDI_Stb对使用传统的差分接收器且电压阈值为零伏。在休 眠状态,驱动器输出被禁用,并且并联终端电阻将每个信号对上的电压上拉到零伏。在休眠 期间,在MDDI_DataO对上的专用接收器具有正125mV的偏移输入阈值,该阈值使得休眠线 路接收器将未驱动信号对解释未逻辑零电平。有时,主机或客户机同时将差分对驱动到逻辑1电平或逻辑0电平,以便确保当 数据流方向改变时(从主机到客户机或从客户机到主机)在该差分对上的逻辑电平有效。 输出电压范围和输出规范仍然应满足驱动到相同逻辑电平的同时驱动输出。在一些系统 中,还必须将小电流驱动到端接的差分对中,以在休眠期间的特定时刻和链路从休眠状态 被唤醒时创建的小偏移电压。在这些情况下,启用的偏移电流偏置驱动的电流电平表示为 iESD-and-Ex"内部ESD 二极管和差分接收器输入,其中IESD-and-Kx ^ lUA ; ITx_Hi_z_在高阻态的差 分驱动器输出,其中ITx-Hi-z ^ luA ; Iexternal_ESD-通过外部ESD保护二极管的泄漏,其中通常
I external-ESD < 3 以 A。图47示出了这些泄漏电流中的每一种。在所有泄漏都同时出现时,上拉和下拉电 路必须达到上述最差情况的泄漏条件下的最小的差分电压。对于没有外部ESD保护二极管 的内部模式,总泄漏是< 4 u A,对于具有外部ESD保护的外部模式,总泄漏是< 10 u A。表Vlla-VIId描述了对于一个示例性实施例,差分线路驱动器和线路接收器的电 气参数和特性。在功能上,驱动器将输入端上的逻辑电平直接传送到正输出端,并且将所述输入端的反相传送到负输出端。从输入端到输出端的延迟与以差分方式驱动的差分线路很 好地匹配。在大多数实现中,输出端上的电压摆幅小于输入端上的摆幅,从而使得功耗和电 磁辐射最小化。在一个实施例中,最小电压摆幅大约为0.5V。然而,其他值也是可用的,正 如本领域技术人员所公知的那样,并且发明人考虑到在一些实施例中根据设计约束条件还 可以是更小的值。差分线路接收器具有与高速电压比较器相同的特性。在图41中,没有泡泡的输入 端是正输入端,而有泡泡的输入端是负输入端。如果大于0,那么输出端 是逻辑1。用于描述它的另一方式是具有非常大(事实上无限的)增益,输出端钳 制在逻辑 0和1电压电平的差分放大器。不同对之间的延迟偏离应被最小化,以便以最高的速度来操作差分传输系统。表 Vila主机发射机电气规范 注意事项1 最大升降时间要么是在一个差分对上发送一位的间隔的30%,要么
caAcaalodllg
s 注意事项1 最大升降时间要么是在一个差分对上发送一位的间隔的30%,要么 是lOOnsec,取二者中的较小者。表VIIc客户机接收器电气规范
〔0594:1
〔0595表VIId〔0596柱角接收器电气规范
〔0597:1 在图42中,主机控制器4202和客户机或者显示器控制器4204经由通信链路4206 传送分组。主机控制器采用一系列三个驱动器4210、4212和4214来接收待传送的主机 DATA和STB信号,并且接收待传送的客户机数据信号,而客户机采用三个驱动器4230、4232 和4234。负责主机DATA传递的驱动器(4212)采用使能信号输入端以便通常只有当需要从 主机向客户机传送时,才允许激活通信链路。由于STB信号是作为数据传送的一部分来形 成的,所以对于该驱动器(4212)而言没有采用附加使能信号。客户机DATA和STB接收器 (4132,4230)驱动器中每一个的输入端都具有分别跨接(paceaccross)在其上的终端阻抗 或电阻4218和4220。客户机控制器中的驱动器4234用于准备从客户机传送到主机的数据 信号,其中输入侧的驱动器4214处理这些数据。专用接收器(驱动器)4216和4236与DATA线路耦合或连接,并产生或使用先前 所讨论的125mV的电压偏移,作为其他地方所讨论的休眠控制的一部分。该偏移使得休眠 线路接收器将未驱动信号对解释为逻辑0电平。上述驱动器和阻抗可以作为分立元件或者作为电路模块的一部分来形成,或者作 为专用集成电路(ASIC)来形成,该专用集成电路充当更节省成本的编码器或者解码器方案。可以很容易看出使用标记为H0ST_Pwr和H0ST_Gnd的信号经由一对导线从主机 设备向客户机设备或者显示器传送功率。信号的H0ST_Gnd部分充当客户机设备的基准地 和电源返回路径或者信号。H0ST_Pwr信号充当客户机设备的电源,该电源由主机设备驱动。 在示例性的配置中,对于低功率应用,所述客户机设备被允许使用最多500mA。可以从便携 式电源提供H0ST_Pwr信号,例如但不局限于驻留在主机设备的锂离子类型的电池或者电 池组,并且相对于H0ST_Gnd可以在3. 2到4. 3伏的范围内。VII.时序特性A. _既述图43a、43b和43c分别示出的步骤和信号电平由主机或客户机使用,以进入休眠 状态(不请求、预期或需要服务)和为客户机获得来自主机的服务。在图43a、43b和43c 中,所示出的第一部分信号示出了从主机传送的链路关闭分组,然后使用高阻抗偏置电路 把数据线驱动为逻辑0状态。已经禁用其驱动器的客户机或者主机不传送数据。由于在链 路关闭分组期间MDDI_Stb是激活的,所以可以在底部看见MDDI_Stb信号线路的一系列选 通脉冲。当主机把偏置电路和逻辑驱动至零时,一旦这一分组结束,逻辑电平就变成0。这 种情况代表从主机传送的最后信号或者来自主机的服务结束,并且这可能发生在过去的任 意时刻,而且这被包括以便示出服务在先中止以及在服务开始前的信号状态。如果需要的 话,可以发送这样的信号,只是为了把通信链路重置为适当的状态,而无需一个已经由这一主机设备进行的‘已知’的在先通信。如图43a所示,并且如上针对链路关闭分组所讨论的那样,在低功率休眠状态下, 在链路关闭分组中的全零字段的最后一位后的第16个至第48个MDDI_Stb周期或脉冲后 开始,MDDI_DataO驱动器被禁用而进入高阻抗状态。对于类型2、类型3或类型4链路,在 MDDI_DataO驱动器被禁用的同时,MDDI_Datal至MDDI_DataPwr7信号也被置入高阻抗状 态。在全零字段的定义中已经描述过,在链路关闭分组的CRC字段的MSB后的64个周期(或 者,根据系统设计所希望的那样),MDDI_Stb翻转,从而能够完成客户机的处理和客户机控 制器中的有序关闭。一个周期是一次低到高转换,后面接着一次高到低转换,或者是一次高 到低转换,后面接着一次低到高转换。在发送全零字段后,主机中的MDDI_DataO和MDDI_ Stb驱动器被禁用,主机进入低功率休眠状态。在一段时间后,启用MDDI_DataO和MDDI_Stb 线路或驱动器输出,主机开始如图43b和43c所示的链路重启序列,并开始翻转MDDI_Stb, 作为主机或客户机发起的唤醒请求的一部分。如图43b所示,在用于MDDI_DataO和MDDI_Stb的驱动器的输出信号被禁用的情 况下经过一段时间以后,主机通过将其MDDI_Stb驱动器启用时间段tstb_data_enbl,启动服务 或从休眠中唤醒,在此时间段内,线路被驱动为逻辑零电平,直到它被完全启用然后启用其 MDDI_DataO驱动器为止。在MDDI_DataO达到高或逻辑1电平后(经过时间段t。lient_stotup 发生),主机将MDDI_Stb维持在逻辑零电平。在时间段t。lient_startup结束时,主机翻转MDDI_ Stb信号或线路。在时间段t,estart_high内,主机将MDDI_DataO线路驱动为高,即逻辑1电平, 而客户机不驱动MDDI_DataO,然后,在时间段内,将MDDI_DataO线路驱动为低,即 逻辑零电平。此后,第一前向业务与子帧报头分组一起开始,然后,传输前向业务分组。在 时段tmtw-^和后续的子帧报头分组期间,MDDI_Stb信号是激活的。如图43c所示,在用于MDDI_DataO和MDDI_Stb的驱动器的输出信号被禁用的情 况下经过一段时间后,通过在主机启用其MDDI_Stb驱动器之前在时间段tstb_data_enbl内启用 MDDI_Stb接收器中的偏移或输出信号,客户机发出服务请求或从休眠中唤醒。然后,客户 机启用其MDDI_DataO驱动器持续时间段th。st_dete。t,在此期间,在主机开始MDDI_Stb翻转之 前,线路被驱动至逻辑零电平。在主机检测到所述请求之前,可能会经过或者需要一定量的时间,这段时间表示 为“th。st-dete。t”,此后,主机将MDDI_Stb保持在逻辑零电平达时间段tstb_stotup来做出响应, 然后,主机在时间段t,estart_high内将MDDI_DataO驱动到逻辑1或高电平,从而开始用链路启 动序列翻转MDDI_Stb。当客户机发现MDDI_Stb上的第一脉冲时,它禁用其MDDI_Stb接收 器中的偏移。客户机继续将MDDI_DataO驱动到逻辑1电平或时间段t。lient_dete。t,直到它检 测到主机驱动该线路为止。在这一刻,客户机不再维持(de-assert)所述请求,并且禁用其 MDDI_DataO驱动器,因此来自客户机的输出也进入0逻辑电平,主机驱动MDDI_DataO。如 前所述,在时间段“trestot-high”内,主机继续把MDDI DataO驱动为逻辑‘ 1,电平,此后,主机 把MDDI_DataO线路驱动至低并且持续“trestot-lOT”时间段,此后,第一正向业务以子帧报头 分组开始。在t,est‘lOT时间段期间以及后续子帧报头分组期间,所述MDDI_Stb信号是处于 激活状态的。表VIII示出了上述各种时间段的长度的代表时间或处理时间段,以及示例性的
77最小和最大数据速率之间的关系,其中:tb,t = T. , f~^,其中Link Data Rate是单
Link Data Rate~ ~
个数据对的位速率。表VIII 本领域技术人员将易于理解,图41和42中举例说明的各个元件的功能是众所周 知的,并且通过图43a、43b和43c中的时序图确认图42中元件的功能。把图42中示出的 串联的终端电阻和休眠电阻的细节从图41省略,这是因为对于描述如何执行数据-选通编 码并且根据它恢复时钟而言,所述信息是不必要的。B.数据-选通时序正向链路表IX-1中示出了在正向链路上从主机驱动器输出端传送数据的切换特性。表IX 用表格形式对照发生的某些信号转变的典型时间给出了所需要的最小和最大值。例如,从 数据值(‘0’或者‘1’的输出)的开始到结束发生转变(称为ttdd_(h。st_。utput)的DataO到 DataO转变)的典型时间长度是ttbit,而最小时间大约为ttbit_0.5纳秒,而最大时间大约 为ttbit+0. 5纳秒。图44中说明DataO、其它数据线(DataX)和选通线路(Stb)上的转变 之间的相对间隔,其中示出了 DataO至选通、选通至选通、选通至DataO、DataO至非DataO、 非DataO至非DataO、非DataO至选通以及选通至非DataO的转变间隔,将其分别称为
ttds-(host-output)、ttss-(host-output)、ttsd-(host-output)、ttddx-(host-output)、ttdxdx-(host-output)、ttdxs-(host-output)以^^ ^tsdx-(host-output) °表ix-l 表IX-2中示出了用于在正向链路上传送同一信号的客户机接收器输入的典型 MDDI时序要求。由于除了时间延迟之外讨论的是相同的信号,所以不需要新的附图来举例 说明各个标记的信号特性或者意义,正如本领域技术人员将理解的那样。表IX-2 图45和46分别说明当主机禁用或启用主驱动器时作为响应存在的延迟。在主机 传送某些分组的情况下,诸如反向链路封装分组或者往返行程延迟测量分组,主机在所需 分组被传送之后,禁用所述线路驱动器,所需分组例如为图45中举例说明的已经传送的参 数CRC、选通对准以及全零分组。然而,如图45所示,所述线路的状态不必即刻从‘0’切换 至所需要的高位值,尽管这是利用现有某些控制或电路元件就能够实现的,而是要经历被 称为主机驱动器禁用延迟周期的时间段来做出响应。虽然这种切换事实上可以立即进行, 从而使此时间段在长度上是0纳秒(nsec),但是它也可以很容易地延续更长的周期,即作 为需要的最大周期长度的10纳秒,这是在保护时间1或者转向1分组周期期间进行的。参见图46,当主机驱动器被启用以便传送诸如反向链路封装分组或者往返行程延 迟测量分组这样的分组时,人们会看到信号电平发生改变。在这里,在保护时间2或者转向 2分组周期之后,主机驱动器被启用并且开始驱动电平(在这里是‘0’),在经历称为主机驱 动器启用延迟周期的时间段后接近或者达到该值,该主机驱动器启用延迟周期是在第一分 组被发送之前,在驱动器重新启用周期期间出现的。客户机设备的驱动器和信号传送出现类似的过程,这里的客户机为显示器。下面, 表X中示出了这些周期的长度的通用准则以及它们各自的关系。表X
81 C.主机和客户机输出启用和禁用时间图48中示出了相对于反向链路封装分组结构和周期的主机和客户机输出启用和 禁用时间或操作的切换特性和相对时序关系。驱动器输出功能或操作标为th。st__ble,代表 主机输出启用时间;t
host-disable, 代表主机输出禁用时间;t
client-enable' 代表客户机输出启用时 间;t。limt_disable,代表客户机输出禁用时间。下面讨论特定信号转换的典型时间。这些操作 的最小周期将是0纳秒,典型值或最大值是根据采用该接口的系统设计而确定的,量级可 能是8纳秒或更多。下面的表XI示出了这些周期(主机和客户机启用/禁用时间)的长度及其各自
关系的一般指导方针。 经由MDDI链路传送的分组通常以大约300Mbps或更大的速率,如400Mbps,被非 常快速地传递,当然需要的时候肯定也能支持更低的速率。对于目前可以购买到的(经济 的)通用微处理器等等而言,这种类型的总线或者传送链路的速度太高以至无法控制。因 此,用于实现这种类型的信号传送的实际实现方式在于利用可编程状态机来解析输入分组 流以便产生被传送或被重定向至它们应该去的适当的音频-视频子系统的分组。这种设备 是公知的,并且使用通常专用于有限数目的操作、功能或者状态的电路,以便实现所需要的 高速度或者超高速操作。可以将通用控制器、处理器或者处理元件用于更适当地作用于或者操纵具有较低 速度要求的某些信息,诸如控制或者状态分组。收到那些分组(控制、状态或者其它预定义 分组)时,状态机应该让它们经由数据缓冲器或者类似处理元件传递至通用处理器,从而 能够对所述分组进行操作以便提供所需要的结果(效果),同时音频和视觉分组被传送到 其适当目的地以便进行动作。如果将来,制造出来微处理器或者其它通用控制器、处理器 或者处理元件能够实现更高数据速率的处理能力,那么还可以使用这种设备的软件控制来 实现下面讨论的状态或者状态机,所述设备通常作为诸如储存在存储元件或者介质上的程 序。在一些实施例中,所述通用处理器功能可以利用处理能力或者多余的周期来实 现,所述处理能力或者多余的周期可以从计算机应用中的微处理器(CPU)或者控制器、处 理器、数字信号处理器(DSP)、专用电路或者无线设备中发现的ASIC得到,其实现的方式非 常类似于某些调制解调器或者图像处理器利用计算机中发现的CPU的处理能力来执行某 些功能,并且减少硬件的复杂性和成本。然而,这种周期的共享或者使用会给处理速度、时 序或者这种元件的整个操作带来消极影响,因此在许多应用中,专用电路或元件更适合于 这种通用处理。为了能够在显示器(微型显示器)上观看图像数据,或者可靠地接收由主机设备 发送的所有分组,所述客户机信号处理与正向链路通道时序同步。也就是说,到达客户机 和客户机电路的信号在时间上基本上要同步,以便正确进行信号处理。图49中说明可以 实现这种同步的信号处理步骤或者方法实现的状态的高级图表。在图49中示出用于状态 机4900的可能正向链路同步“状态”被分类为一个“异步帧状态”4904,两个“获得同步状 态” 4902和4906以及三个“同步中状态” 4908、4910和4912。如开始步骤或者状态4902所示,诸如呈现设备之类的显示器或者客户机以预选 “非同步(no sync)”状态开始,并且搜索检测到的第一子帧报头分组中的唯一字。应当注 意,这种非同步状态表示选择类型1接口时的最小通信设置或者“后退(fall-back) ”设置。 当在搜索期间发现所述唯一字时,客户机保存子帧长度字段。在处理这一第一帧时不对CRC 位进行校验,或者直到获得同步为止才校验。如果这一子帧长度是零,那么同步状态处理因 此继续进行至状态4904,在这里标记为“异步帧(async frame) ”状态,这表明还没有实现 同步。在图49中,在处理中把这一步骤标记为具有cond 3,或者条件3。另外,如果帧长大 于零,那么同步状态处理进行到状态4906,其中接口状态被设定为“发现一个同步帧”。在 图49中,把处理中的这一步骤标记为具有cond 5,或者条件5。另外,如果对于帧长度大于 零的帧,状态机看到帧报头分组并且确定具有良好的CRC,那么处理进行到“发现一个同步 帧”状态。在图49中,将其标记为符合conde,或者条件6。
在系统处于除“非同步”之外的状态的每一种情况下,当确定了子帧报头分组有良 好的CRC结果,接口状态改变为“同步中”状态4908。在图49中,把处理中的这一步骤标记 为符合cond 1,或者条件1。另一方面,如果任何分组中的CRC不正确,那么同步状态处理 继续进行或者返回到“非同步帧”状态的接口状态4902。在图49的状态图中,将处理中的 这一部分标记为符合cond 2,或者条件2。B.同步获得时间所述接口可以被配置成在判定失去同步之前允许特定数量的“同步错误”,并且返 回到“非同步帧”状态。在图49中,一旦状态机已经达到“同步中状态”并且未发现错误,那 么它将连续地遇到cond 1的结果,并且保持在“同步中”状态。然而,一旦检测到一个cond 2结果,那么处理过程把状态改变为“一个同步错误(one-sync-error)”状态4910。在这一 刻,如果处理过程检测到又一 cond 1的结果,那么状态机返回到“同步中”状态,否则它遇 到又一 cond 2的结果,并且移动到“两个同步错误”状态4912。此外,如果cond 1发生,那 么处理把状态机返回至“同步中”状态。否则,遇到又一 cond 2,并且状态机返回到“非同 步”状态。还可以理解的是,如果接口遇到“链路关闭分组”,那么这将让链路终止数据传送 并且返回到“非同步帧”状态,就像没有什么可以与之同步似的,在图49所示的状态图中, 将其称为符合cond 4。应该理解的是,有可能存在唯一字的重复“错误副本(falsecopy) ”,它可能出现在 子帧内的某个固定位置处。在那些情况下,状态机极其不可能与这个子帧同步,这是因为进 行处理时为了使MDD处理进行到“同步中”状态,子帧报头分组上的CRC也必须是有效的。子帧报头分组中的子帧长度可以被设置为零,以表明在链路关闭,并且将MDD接 口设置在或者配置为空闲的休眠状态之前,主机只传输一个子帧。在这种情况下,客户机在 检测到子帧报头分组之后必须立即经由正向链路接收分组,这是因为在链路转变至空闲状 态以前只发送了一个子帧。在正常的或者典型的操作中,子帧长度是非零的,并且客户机只 处理正向链路分组,而所述接口处于在图49中统一显示为“同步中”状态的那些状态。外部模式的客户机设备可连接到主机,而主机已正在发送正向链路序列。在这种 情况下,客户机必须同步到主机。客户机同步到正向链路信号所需的时间随着子帧大小和 正向链路数据速率而改变。当子帧尺寸较大时,在正向链路中检测到作为所述随机数据或 者更多随机数据一部分的唯一字的“错误副本”的可能性较大。同时,当正向链路数据速率 较慢时,从错误检测中恢复的能力更低,而执行这一操作所花费的时间更长。对于一个或多个实施例而言,所推荐的或理解的是,MDDI主机应当执行一些附加 步骤,以确保在它停止前向链路传输而进入低功率模式或完全关闭链路之前MDDI反向链 路是稳定的。可能会出现这样一个问题如果主机使用的往返行程延迟的测量值不正确,这可 能会导致后面从客户机接收所有反向数据传输流失败,即便前向链路看起来是良好的。当 客户机与前向链路不同步时,或者,由于极端的环境温度变化导致差分驱动器和接收器的 传播时延产生相应大变化而影响往返行程延迟,如果主机发送往返行程延迟测量分组,就 会发生这种现象。间歇性的线缆或接头接触故障也可能会使客户机暂时失去同步然后再次 获得同步,在此期间,它可能收不到往返行程延迟测量分组。后续的反向链路分组无法被主 机正确地解码。
可能发生的另一类问题是如果客户机暂时失去同步,那么,在客户机能够重新获 取同步之前,主机发送链路关闭分组。在客户机无法进入休眠状态时,主机将处于休眠状 态,因为它没有收到链路关闭分组和没有时钟,因为链路处于休眠状态。可用于克服这些问题的一种技术或实施例是在将链路置入休眠状态前,使主机 确保客户机与前向链路同步。如果MDDI主机无法做到这一点或者没有这样的机会,例如, 当其没电或由于在工作期间出现线缆、导体或接头分开、断开或断连接而造成链路中断或 故障时,那么,主机在开始往返行程延迟测量过程或发送反向链路封装分组之前应当先尽 量确保客户机是同步的。主机可以观察客户机发送的客户机请求和状态分组中的CRC错误计数字段,以确 定前向链路的完整性。主机从客户机请求该分组。但是,如果有主要的链路故障或中断,该 请求将很可能得不到响应,因为客户机无法正确地对该分组进行解码,或者可能根本无法 收到它。使用反向链路封装分组中发送的客户机请求和状态分组对CRC错误计数的请求充 当第一完整性检查,相当于第一道纺线。此外,主机可以发送一个往返行程延迟测量分组, 以确认关于客户机失去同步的假设是否有效。如果客户机不对往返行程延迟测量分组做出 响应,主机可以得出客户机失去同步的结论,然后就可以启动使其恢复同步的处理。一旦主机得出主机很可能与前向链路失去同步的结论,它就在试图发送填充符分 组之外的任何分组之前等待,直到下一子帧报头。这样做的目的在于,使客户机有足够的时 间去检测或寻找子帧报头分组中包含的唯一字。此后,主机可以假设,客户机已经自身复 位,因为它没有在正确的位置发现唯一字。在这一刻,主机可以在子帧报头分组后面跟一个 往返行程延迟测量分组。如果客户机仍不对往返行程延迟测量分组做出正确响应,则主机 可以重复执行再同步过程。正确的响应是,客户机在往返行程延迟测量分组中,将指定的序 列回送给主机。如果没有收到该序列,接收反向链路封装分组中的反向数据将失败。这种 性质的继续失败可能表明一些其他系统错误,这必须以其他方式解决,故在此时刻不是链 路同步的一部分。但是,如果在成功的往返行程延迟测量分组中主机仍看到被破坏的数据,或在反 向链路封装分组中没有响应,它应当通过重新发送一个往返行程延迟测量分组,来确认反 向数据采样是正确的。如果数次尝试之后这还不成功,对于一个实施例,所建议的是,主机 通过增加反向速率除数值,来降低反向数据速率。在将MDDI链路置入休眠状态之前,主机应当执行上述的链路故障检测和链路再 同步步骤。这通常可以确保,在链路稍后重新启动时执行的往返行程延迟测量分组是成功 的。如果主机没有理由怀疑链路故障,并且客户机报告了对反向链路封装分组和零个前向 链路CRC错误的正确响应,那么,主机可以假定,一切工作或运转正常(例如,没有链路故 障),并继续功率下调/休眠过程。主机可以测试同步的另一种方式是让主机发送往返行程延迟测量分组,并确认 来自客户机的正确响应。如果主机收到正确的响应,则可以合理地假定,客户机正在成功地 解释前向链路分组。C.初始化如前所述,在“启动”时,主机配置正向链路以便以低于最小要求或者需要的1Mbps 的数据速率工作,或者就以此速率工作,并且针对给定应用适当地配置子帧长度和介质帧速率。也就是说,正反链路都使用类型1接口开始工作。当主机确定客户机显示器(或者 其它类型的客户机设备)的能力或者所需要的配置时,通常只是临时使用这些参数。所述 主机经由正向链路发送或者传送子帧报头分组,其后跟随有反向链路封装分组,该分组将 请求标志的位‘0’设置为值一(1),以便请求显示器或者客户机以客户机能力分组来响应。 一旦显示器在(或者与)正向链路上获得同步,它就经由反向链路或者通道发送客户机能 力分组和客户机请求和状态分组。主机检查客户机能力分组的内容,以便出于最优考虑或者所需要的性能级别,确 定如何重新配置链路。主机检查协议版本和最小协议版本字段以便确认所述主机和客户机 使用了彼此兼容的协议版本。所述协议版本通常是保存为客户机能力分组的开头两个参 数,因此即使协议的其它元素不兼容或者不能完全理解为兼容,也可以确定兼容性。在内部模式下,主机能够提前知道客户机参数,而无需接收到客户机能力分组。链 路可以按照使主机和客户机都能工作的任何数据速率重新启动。在很多实施例中,系统设 计者很可能选择以可实现的最高数据速率来启动链路,以加快数据传输,但是,这不是必须 的,并且在很多情况下也不需要使用这种方式。对于内部模式操作来说,在链路从休眠状态 重启期间使用的选通脉冲的频率通常与该预期速率一致。D. CRC 处理对于所有分组类型来说,分组处理器状态机确保CRC校验器被适当或正确地控 制。当检测到CRC比较产生了一个或多个错误时,还增加CRC错误计数器,并且在被处理的 每一子帧开始时重置所述CRC计数器。E.可选失去同步校验虽然上述系列步骤或者状态能够产生更高数据速率或者吞吐速度,但是申请人已 经发现还可以使用其它的替换设置或者条件的改变来有效地实现甚至更高的数据速率或 者吞吐量,其中客户机使用这些条件来声明与主机失去同步。本发明新的实施例具有相同 的基本结构,但是改变状态的条件发生了变化。另外,实现新的计数器以便有助于进行子帧 同步检查。相对于图63给出了这些步骤和条件,该图示出用于建立方法或者状态机的操作 的一系列状态和条件。为了清楚,只示出了“获得同步状态”和“同步中状态”部分。另外, 由于得到的状态与状态机本身基本上是相同的,所以它们使用相同的编号。然而,改变状态 (和状态机操作)的条件多少有些改变,因此为了使两个图都清楚,全部进行重新编号(1, 2,3,4,5和6相对于61,62,63,64,和65),以便于识别差异。由于在这一讨论中不考虑异步 帧状态,所以在这个图中有一个状态(4904)和条件(6)不再使用。在图63中,所述系统或者客户机(用于显示或者呈现)从预选“非同步”状态4902 中的状态机5000开始,这与图49相同。从非同步条件4902改变状态的第一次状态改变是 在发现同步模式的条件64下进行的。假定子帧报头的CRC也在这个分组上传递(符合条 件61),分组处理器状态机的状态可以改变为同步中状态4908。同步错误也就是条件62将 让状态机切换至状态4910,并且当第二次出现这个条件时切换至状态4912。然而,已经发 现MDDI分组的任何CRC失败都将让状态机移出同步中状态4908,进入一个同步错误状态 4910。任何MDDI分组的又一 CRC失败会导致移到两个同步失败状态4912。利用正确的CRC 值解码的分组将导致状态机返回同步中状态4908。发生了变化的地方是利用了 CRC值或者对‘每一’分组的CRC确定。也就是说,要
8让状态机注意(look at)每一分组的CRC值以便确定失去同步,而不是只观察子帧报头分 组。在这一结构或者过程中,不是使用唯一字和仅仅使用子帧报头CRC值来确定失去同步。这种新的接口实现方式允许MDD接口链路更加快速地识别同步失败,从而同样更 加迅速地从中恢复。为了使这种系统更加稳固,客户机还应该添加或利用子帧计数器。于是,在信号中 唯一字预期到达或者出现时,客户机检查唯一字的存在。如果唯一字没有在正确时间出现, 那么客户机可以更加快速地识别出同步失败已经出现,这种识别出同步失败的速度要比它 必须等待几(在这里是三)个分组时间或者周期快的多,且其中所述分组要比子帧长度大 得多。如果对唯一字的测试表明它未出现,换言之,时序是不正确的,那么客户机立即声明 链路失去同步,并且移到非同步状态。检查正确的唯一字出现的过程向状态机添加了条件 65(Cond65),说明唯一字不正确。如果期望在客户机上接收到子帧分组但是不相配,那么客 户机可以立即进入非同步状态4902,从而节省等待多个同步错误(条件62)的附加时间,该 多个错误同步通常是通过状态4910和4912而遇到的。这种改变使用附加计数器或者客户机核心中的计数功能来对子帧长度计数。在一 个实施例中,使用递减计数功能,如果计数器期满,就中断目前正处理的任何分组的传送, 以便检查子帧唯一字。作为选择,所述计数器也可以递增计数,将所述计数与所需要的最大 或者特定需要值相比,在这个值对应的时刻校验当前分组。这一过程保护客户机不用对客 户机上不正确地接收的长度特别长的分组解码。如果子帧长度计数器需要中断正被解码的 某些其它分组,那么由于分组不应跨越子帧边界,所以可以确定已经失去同步。IX.分组处理对于状态机接收的上述每个类型的分组来说,它进行特定的处理步骤或者系列步 骤来实现接口的操作。通常按照下面表XII列出的示例性处理过程来处理正向链路分组。表XII X.降低反向链路数据速率发明人已经观察到用于主机链路控制器的某些参数可以按照特定的方式进行调 节或者配置,以便实现最大或更优化(规模)的反向链路数据速率,这是非常需要的。例 如,在用于传送反向链路封装分组的反向数据分组字段期间,MDDI_Stb信号对进行翻转 (toggle)从而以正向链路数据速率的一半产生周期性的数据时钟。出现这种情况是因为在 好像MDDI_DataO正在发送全零的情况下,所述主机链路控制器生成对应于MDDI_DataO信 号的MDDI_Stb信号。MDDI_Stb信号从主机被传送至客户机,在客户机中将它用来生成时 钟信号以便从客户机传送反向链路数据,反向数据借此被送回主机。图50中示出了在采用 MDDI的系统中在正向和反向路径上的信号传送和处理遇到的典型延迟量。在图50中,在 Stb+/"生成、电缆传送至客户机、客户机接收器、时钟生成、信号时钟、DataOV"生成、电缆 传送至主机和主机接收器级的处理部分附近,分别示出了一系列延迟值,即1. 5纳秒、8. 0 纳秒、2. 5纳秒、2. 0纳秒、1. 0纳秒、1. 5纳秒、8. 0纳秒以及2. 5纳秒。根据正向链路数据速率以及遇到的信号处理延迟,可能需要MDDI_Stb信号上一 周期以上的时间来用于“往返行程”效应或者完成一组事件,这导致了时间或者周期量的不 期望的消耗。为了防止这一问题的发生,反向速率除数使反向链路上的一位时间得以跨越 MDDI_Stb信号的多个周期。这意味着反向链路数据速率小于正向链路速率。应该注意的是,通过所述接口的信号延迟的实际长度随着每一特定主机-客户机 系统或者使用的硬件不同而有所不同。尽管不是必需的,但是通过使用往返行程延迟测量 分组来测量系统中的实际延迟,由此将反向速率除数设置为最佳值,每一系统通常可以更 好地运行。主机可以支持较简单但以低速度运行的基本数据采样,或者也可支持较复杂但 支持更高反向数据速率的高级数据采样。同样,也考虑了支持这两种方法的客户机能力。往返行程延迟是通过让主机把往返行程延迟测量分组发送至客户机来测量的。客 户机通过在该分组中称为测量周期字段的预选测量窗内或者在这个预选测量窗期间里,把 一个1序列发送回主机,以响应这个分组。先前描述了这一测量的详细时序。往返行程延迟用来确定可以对反向链路数据安全采样的速率。往返行程延迟测量包括确定、检测在测量周期字段开始和在主机接收到来自客户 机的0xff、0xff、0x00响应序列这个时间段开始之间出现的正向链路数据时钟间隔的数 目,或者对其进行计数。应注意的是,有可能在测量计数即将增加以前的一小部分正向链路 时钟周期,收到来自客户机的响应。如果将这一未修改的值用来计算反向速率除数,那么它 会导致由于不可靠的数据采样而在反向链路上产生位错误。图51中说明这种情况的一个 实例,其中按照图形方式示出了代表主机处MDDI_Data、主机处MDDI_Stb、主机内部的正向 链路数据时钟以及延迟计数的信号。在图51中,在延迟计数即将从6增加到7之前的一部 分正向链路时钟周期,从客户机收到响应序列。如果把延迟假定为6,那么主机将刚好转变 之后或者可能在位转变当中对反向数据采样。这样做会导致主机处采样错误。为此,测量 出的延迟在用来计算反向速率除数以前,通常应该加1。反向速率除数是主机对反向链路数据采样以前应该等待的MDDI_Stb周期数目。 由于MDDI_Stb是以正向链路速率一半来周期性循环的,所以正确的往返行程延迟测量结 果需要除以2,然后进位舍入至下一整数。这一关系表示为公式是 对于给定实例来说,它变为 如果用于这一实例的往返行程延迟测量结果是7而不是6,那么反向速率除数也等于4。

所述反向链路数据由主机在反向链路时钟的上升沿时刻采样。主机和客户机(显 示器)中都存在计数器或者类似已知的电路或设备用来生成反向链路时钟。计数器被初始 化,因此反向链路时钟的第一上升沿出现在反向链路封装分组的反向链路分组字段的第一 位开始处。在图52A中说明用于以下给出的实例的情况。所述计数器在MDDI_Stb信号每 一上升沿增加1,并且计数数目一直增加直到反向链路封装分组中的反向速率除数参数设 定该计数返回(wrap around)零。由于MDDI_Stb信号是以正向链路速率的一半来翻转的, 所以反向链路速率是正向链路速率的一半除以反向速率除数。例如,如果正向链路速率是 200Mbps,而反向速率除数是4,那么反向链路数据速率可以表示为 图52中示出了反向链路封装分组中的MDDI_DataO和MDDI_Stb信号线的时序的 实例,其中用于举例说明的分组参数具有如下值分组长度=1024(0x0400) 转向1长度=1分组类型=65(0x41)转向2长度=1反向链路标志=0反向速率除数=2参数CRC = 0xdb43全零是 0x00
分组长度和参数CRC字段之间的分组数据是0x00,0x04,0x41,0x00,0x02,0x01,0x01,0x43,Oxdb,0x00,......从客户机返回的第一反向链路分组是具有分组长度7和分组类型70的客户机请 求和状态分组。这个分组从字节值0x07,0x00,0x46,……等等开始。然而,图52中只可以 看到第一字节(0x07)。在图中这个第一反向链路分组时间上移动了一个反向链路时钟周 期,以便举例说明实际的反向链路延迟。把主机至客户机往返行程延迟为零的理想波形显 示为虚线轨迹。传送参数CRC字段的MS字节,CRC的前面是分组类型,然后是全零字段。当来自主 机的数据改变电平时,来自主机的选通从一切换至零,并且回到一,从而形成较宽的脉冲。 当数据变为零时,选通信号以更高速率切换,只有数据线上的数据改变导致在对准字段的 末尾附近产生改变。对于图中其余部分而言,由于数据信号具有固定0或1电平且延续若 干时间周期,所以选通信号以所述更高速率切换,并且这种转变落在脉冲图案(沿)上。主机的反向链路时钟处于零,直到转向1周期结束为止,此时时钟开始支持反向 链路分组。图中较低部分的箭头表示数据采样的时刻,正如从公开内容的其余部分可明显 看出的那样。图中示出正传送的分组字段的第一字节(在这里是11000000)在转向1之后 开始出现,并且线路电平因为主机驱动器被禁用而稳定。在数据信号的虚线中可以看出第 一位的传递(passage)中的延迟,并且正如位三所看到的那样。在图53中可以看到基于正向链路数据速率的反向速率除数的典型值。实际的反 向速率除数是作为往返行程链路测量结果而确定的,以便确保正确的反向链路操作。第一 区域5302对应于安全操作区域,第二区域5304对应于边缘性能区域,而第三区域5306则 表明大不可能正确工作的设置。在正向或者反向链路上利用所述接口类型设置中的任意设置工作的时候,往返行 程延迟测量和反向速率除数设置是相同的,这是因为它们是根据实际时钟周期而不是传输 或者接收的位数来表示并且操作的。通常,最大可能的反向速率除数是能够用类型I接口在往返行程测量分组的测量 窗口中发送的位数的一半,或者,对于该例子 也可以采用一种先进的反向数据采样方法作为一种使反向位时间小于往返行程 延迟的选择。对于这种技术,主机仅仅测量往返行程延迟,但也可以确定来自客户机的响应 相对于具有零延迟的客户机和链路“理想”位边界的相位。知道了客户机设备响应的相位, 主机就可以确定对来自客户机的反向数据进行采样的较安全时间。往返行程延迟测量向客 户机指示反向数据的第一位相对于反向数据分组字段开始的位置。图52B中的示意图给出了先进反向数据采样的一个实施例。图中将具有零往返行 程延迟的理想反向数据信号显示为点线波形。3.5和4个1 01 Stb周期之间的实际往返 行程延迟可以被观测为实线波形和理想波形之间的延迟差值。这与用往返行程延迟测量分 组测量的延迟相同,是等于7个正向链路位时间的测量往返行程延迟值。在本实施例中,反 向数据位是2个MDDI_Stb脉冲长,即4个正向链路位时间,相当于等于2的反向速率除数。对于先进的反向数据采样,使用预选的反向速率除数2、而不像其他地方那样计算它,是很 便利的。这看起来是针对先进反向数据采样的基本上最佳的选择,因为使用上述的传统测 量可以很容易地确定理想的采样点。反向数据的理想采样点可以通过如下方式很容易地进行计算将总往返行程延迟 的提示信号除以每个反向位的前向链路时钟数目或每个反向位的往返行程延迟以前向链 路时钟为模。然后,减去1或2,得到远离数据转换的一个安全点。在本例中,7mod 4 = 3, 所以,3-1 = 2或3-2 = 1。安全采样点是1个或2个正向链路位时间,从零往返行程延迟 的“理想”位边界边沿开始。该图示出的采样点在从理想位边界开始的2个正向链路位时 间处,如该时序图底部的一系列垂直箭头所示。第一采样点是测量往返行程延迟后的第一 理想位边界加上安全采样的偏移量。在本例中,往返行程延迟测量是7,所以,下一理想位边 界处于第8个位时间,然后对于安全采样点加1或2,所以,第一位应当在反向数据分组字段 开始后的9个或10个正向链路位时间进行采样。XI.转向和保护时间反向链路封装分组中的转向1字段使主机驱动器禁用和客户机驱动器启用有时 间同时进行。往返行程延迟测量分组中的保护时间1字段使主机和客户机能重叠,所以,客 户机驱动器能够在主机接口驱动器禁用之前启用。反向链路封装分组中的转向2字段使得 前一字段中的数据在主机驱动器启用之前能够从客户机完全发送出去。保护时间2字段提 供一个时间值或周期,以使客户机和主机驱动器能够在逻辑零电平同时驱动。保护时间1 和保护时间2字段通常以不能调节的预置长度或者预选长度值来填充。根据正在使用的接 口硬件,可以使用经验数据来获得这些值并且在某些情况下调节它们以便改善操作。转向1有几个因素有助于确定转向1的长度,这些因素是正向链路数据速率、主机中 MDDI_Data驱动器的最大禁用时间和客户机驱动器的启用时间(通常与主机禁用时间相 同)。选择转向1字段的长度为24*tBIT。(表XI)转向1字段的正向链路字节数的长度用 接口类型因子(InterfaceTypeFactor)确定,并且用以下关系计算 其中接口类型因子对于类型1为1,对于类型2为2,对于类型3为4,对于类型4 为8。转向 2确定通常用于转向2的时间长度的因素是通信链路的往返行程延迟、客户机中 MDDI_Data驱动器的最大禁用时间以及主机驱动器的启用时间(被指定为与客户机驱动器 禁用时间相同)。最大主机驱动器启用时间和客户机驱动器禁用时间在中给出。往返行程 延迟的测量单位是tBIT。以转向2字段的正向链路字节数指定的最小长度根据以下关系计 算 例如,往返行程延迟为10个正向链路时钟的类型3前向链路通常使用量级如下的 转向2延迟 XII.可选反向链路时序虽然使用上述的时序和保护带(guard band)能够实现高数据传送速率接口, 但是本发明的发明人已经发现了一种技术,通过改变反向时序发现(reverse timing discovery)来提供短于往返行程时间的反向位长。如上所述,反向链路时序的先前方式被如此配置,即,从反向时序分组的保护时间 1的最后位开始计数时钟周期的数目,直到在10时钟的上升沿对第一位进行采样为止。这 就是用于给MDD接口的输入和输出进行定时的时钟信号。于是,反向速率除数的计算由以
下等式给出 这样做提供了等于往返行程延迟的位宽度,由此能够得到非常可靠的反向链路。 然而,已经说明了反向链路能够更快地运行,或者以更高数据传送速率运行,这是发明人希 望利用的。本发明新的技术允许利用接口的附加能力来达到更高速度。这是通过让主机对时钟周期数目进行计数,直到对一个1完成采样来实现的,但 是在反向时序分组期间,主机在上升沿和下降沿上均对数据线采样。这样做允许主机选择 反向位内的最有用的甚至最佳采样点,以便确保所述位是稳定的。也就是说,发现最有用的 或者最佳的上升沿来对反向业务的反向封装分组上的数据进行采样。最佳采样点取决于反 向链路除数和是在上升沿还是下降沿检测到第一个1。新的时序方法允许主机只寻找在反 向链路时序内由客户机发送的OxFFOxFF 0x00模式的第一沿,以便确定在反向封装分组中 的什么地方采样。在图64中说明到达的反向位并且该位将如何寻找各种反向速率除数的实例,以 及从保护时间1的最后位开始已经出现的时钟周期数目。在图64中可以看出,如果第一沿 出现在上升和下降沿(标记为上升/下降)之间,那么对于反向速率除数为1的最佳采样 点,即该最佳采样点是标记为‘b’的时钟周期沿,因为它是反向位周期内出现的唯一上升 沿。对于反向速率除数为2的情况来说,由于周期沿‘c’比‘b’更接近位沿,所以最佳采样 点可能仍是时钟周期前沿‘b’。对于反向速率除数为4的情况来说,最佳采样点可能是时钟 周期沿‘d’,因为它更加接近其值可能已经稳定的反向位的后沿。回到图64,然而,如果第一沿出现在下降和上升沿(标记为下降/上升)之间,那 么对于反向速率除数为1的最佳采样点是采样点时钟周期沿‘a’,因为这是反向位时间周 期内出现的唯一上升沿。对于反向速率除数为2的情况来说,最佳采样点是沿‘b’,并且对 于反向速率除数为4的情况来说,最佳采样点是沿‘c’。可以看出,由于最佳采样点应该是最靠近中部的上升沿,所以随着反向速率除数 越来越大,最佳采样点变得更便于确定或者选择。
主机使用这一技术可以找到在数据线上观察到的时序分组的上升数据沿之前的 上升时钟沿的数目。因此,基于所述沿是出现在上升和下降沿之间还是下降和上升沿之间, 以及反向速率除数是什么,有多少附加时钟周期要添加到计数器,就可做出决定,以便合理 地确保所述位的采样始终尽可能靠近中部。—旦主机已经选择或者确定时钟周期的数目,它就可以利用客户机来“调查 (explore)”各种反向速率除数,以便确定特定反向速率除数是否能用。所述主机(和客户 机)可以以除数1启动,并且校验从客户机接收的反向状态分组的CRC,以便确定这一反向 速率是否能够正确地传送数据。如果CRC被破坏,那么有可能存在采样错误,主机可以增大 反向速率除数,并试图再次请求状态分组。如果第二次请求的分组被破坏,那么可以再次增 大除数,并且再次进行请求。如果这个分组被正确地解码,那么这一反向速率除数可以用于 所有将来的反向分组。这一方法是有效的并且是有用的,因为自从初始的往返行程时序估算开始反向时 序不应该发生改变。如果正向链路是稳定的,那么即使存在反向链路故障,客户机也应该继 续对正向链路分组解码。当然,由于这一方法不确保反向链路是理想的,所以设置所述链路 的反向链路除数仍是主机的职责。另外,所述除数将主要取决于用于生成10时钟的时钟质 量。如果该时钟具有很大的抖动量,那么存在采样误差的可能性更大。这一错误概率随着 往返行程延迟中的时钟周期量的增加而增加。这种实现方式看来似乎最适用于类型1的反向数据,但是对类型2到类型4的反 向数据来说可能会出现问题,这是由于数据线之间的偏离可能过大,以至于无法以最适用 于仅仅一个数据对的速率运行所述链路。然而,即使是采用类型2至类型4进行操作,所述 数据速率也许不需要降低到先前方法。如果在每一数据线上重复该方法以便选择理想的或 者最佳时钟采样位置,那么这种方法也可能起到最好的作用。如果对于每个数据对来说,它 们处于相同的采样时间,那么这种方法能够继续工作。如果它们处于不同的采样周期,那么 可以使用两个不同的方式。第一种是为每个数据点选择所需要的或更优化的采样位置,即 使对于每一数据对而言该采样位置并不同。于是,所述主机能够在对来自所述数据对集合 的所有位进行采样之后重构数据流类型2是两位,类型3是四位而类型4是八位。对于主 机而言,另一个选项是增大反向速率除数,从而使每一数据对的数据位可以在相同的时钟 沿采样。XIII.链路延迟和偏离的效应正向链路上MDDI_Data对和MDDI_Stb之间的延迟偏离会限制可能的最大数据速 率,除非采用延迟偏离补偿。产生时序偏离的延迟差异起因于以下概述的控制器逻辑、线路 驱动器和接收器以及电缆和连接器。A.由偏离限制的链路时序分析(MDDI类型1)1.类型1链路的延迟和偏离实例图57中示出了类似于图41所示的,用于支持类型1接口链路的典型接口电路。在 图57中,为MDDI类型1的正向链路的多个处理或接口级的每个示出了传播延迟和偏离的 示例性值或者典型值。MDDI_Stb和MDDI_DataO之间的延迟中的偏离导致输出时钟的占空 比(duty-cycle)扭曲。使用触发器5728、5732的接收器触发器(RXFF)级的D输入端的数 据在时钟沿之后稍微改变,从而该数据能够被可靠地采样。所述图示出了两个级联延迟线5732a和5732b,其利用产生这一时序关系来解决两个不同问题。在实际实现方式中,可以 将它们合并成单个延迟元件。图58示出了用于经由所述接口进行示例性信号处理的类型1链路上的数据、Stb 和时钟恢复时序。通常明显的总延迟偏离出现或者来自如下级中偏离的总和具有触发器5704、 5706的发射器触发器(TXFF);具有驱动器5708、5710的发射器驱动器(TXDRVR);电缆 (CABLE) 5702 ;具有接收器5722、5724的接收器线路接收器(RXRCVR)以及接收器X0R逻辑 (RXX0R)。延迟15732a应该匹配或者超过RXX0R级的X0R门5736的延迟,通过如下关系可 确定该延迟t PD—min(延迟 d ^ t PD-mas(xoE)最好符合这一要求,以便接收器触发器5728、5732的D输入端不会在其时钟输入 以前改变。如果RXFF的保持时间是零,那么这是有效的。延迟2(Delay2)的目的或功能在于按照如下关系来补偿RXFF触发器的保持时 间t PD_min(延迟 2) = t h(rxff)在许多系统中,这个值将是零,因为保持时间是零,在这种情况下,延迟2的最大 延迟当然也是零。接收器X0R级中偏离的最坏情况是数据_迟到/选通_提早这种情况,其中延迟 1处于最大值,而来自X0R门的时钟输出按照如下关系尽可能早地到达t 偏离—max(RXX0R) — tPD—max(Delayl)_tPD—min(X0R)在这种情况下,数据可以在两个位周期n和n+1之间改变,且改变时刻非常接近位 n+1被按照时钟打入接收器触发器的时刻。MDDI类型1链路的最大数据速率(最小位周期)是MDDI链路中通过所有驱动 器、电缆和接收器而遇到的最大偏离加上设置到RXFF级中的总计数据的函数。链路中直到 RXRCVR级输出端的总延迟偏离可以表示为t 偏离—max(LlNK) 一 t 偏离—max(TXFF)+t 偏离-max(TXDRVR)+t 偏离—max(电缆)+t 偏离—max (RXRCVR)其中“线缆”代表多种导体或互联或线和相应的延迟,并且最小位周期由下式给 出t 位—min — t 偏离—max(链路)+2 tB—TP4+tAsy腿etry+t 偏离-max(RxxoR)+tjitter—host+tpD—max(Delay2)+tsu(RXFF)在图57所示的实例中,对于外部模式,= lOOOpsec,并且最小位周期 可以表示为t位-min = 1000+2 125+625+125+200+0+100 = 2300psec 或者近似表示为 434Mbps。 在图57所示的实例中,对于内部模式,t{ss_max(es) = 500pSec,并且最小位周期可以表示 为t 位-min = 500+2 125+625+125+200+0+100 = 1800psec 或者近似表示为 555Mbps。B. MDDI类型2、类型3和类型4的链路时序分析在图59中示出了类似于图41和57中示出的典型接口电路,用于支持类型2、3、和 4 的接口 链路。在 TXFF (5904)、TXDRVR (5908)、RXRCVCR(5922)和 RXFF (5932,5928,5930) 级中使用附加元件,以便支持附加信号处理。在图59中,为MDDI类型2正向链路的多个处
96理或接口级的每个示出了传播延迟和偏离的示例性值或者典型值。除影响输出时钟占空比 (duty-cycle)的MDDI_Stb和MDDI_DataO之间的延迟中的偏离以外,在这两个信号和其它 MDDI数据信号之间也存在偏离。由触发器5928和5930组成的接收器触发器B (RXFFB)级的 D输入端的数据,在时钟沿之后稍微改变,从而能够可靠地对该数据进行采样。如果MDDI_ Datal比MDDI_Stb或者MDDI_DataO提早到达,那么MDDI_Datal应被延迟,以便至少以延 迟偏离量来对MDDI_Datal进行采样。为了实现这些,使用延迟3 (Delay3)延迟线来延迟数 据。如果MDDI_Datal比MDDI_Stb和MDDI_DataO晚到,并且它也通过延迟3来延迟,那么 MDDI_Datal改变处的点被移动至更接近下一时钟沿。这一过程决定了 MDDI类型2、类型3 或者类型4链路的数据速率的上限。图60A、60B和60C中示出了两个数据信号和MDDI_Stb 相对于彼此的时序或者偏离关系的某些示例性的不同可能性。当MDDI DataX尽早到达时,为了在RXFFB中可靠地对数据采样,按照如下关系来 设置延迟^PD-min(Delay3) ^ t 偏离—max (L;[NK)+tH(RXFFB)+tpD—max (X0R)最大链路速度由允许的最小位周期确定。当MDDI_DataX尽可能晚到达时,该速度 最受影响。在这种情况下,允许的最小周期时间通过如下等式给出t 位—min — t 偏离-max(LINK)+tpD—max(Delay3)+tsu(RXFFB)_tpD—min(X0R)于是,链路速度的上限为^PD-rnax(Delay3) 一 ^PD-min(Delay3)并且在该假定下t 位—min(lower—bound) — 2 t 偏离—max(LiNK)+tPD—max(X0R)+tsu(RXFFB)+tH(RXFFB)在上文给出的实例中,最小位周期的下限通过如下关系给出t位_min(lower_b_d) = 2 (1000+2 125+625+200)+1500+100+0 = 5750psec,这大约 是 174Mbps。这比可以用于类型1链路的最大数据速率慢得多。MDDI的自动延迟偏离补偿能 力明显降低了延迟偏离对最大链路速率因子的影响,仅仅是有效数据建立的边缘。MDDI DataO和MDDI Stb之间的校准偏离是^SKEW-max (calibrated) — 2 ^TAP-SPACING-max并且最小位周期是tBIT_min_calibrated — tSKEff_max(calibrated) +2 *tB-Tp4+tAsy—etry+tjitter_host+tSKEff_max(EXANri+EXXoE) +tSU(EXF
F)其中,“TB”或tB代表从一个位边界到最小输出电平的信号抖动。非对称仅仅表示 差分接收器内部延迟的非对称特性。“TP4”关联于或有效地定义用于电气表征和测试目的, 作为客户机差分线路驱动器和接收器的连接或接口(客户机中MDDI控制器设备的管脚)。 对于系统剩余部分的链路,它代表一个便利的或预定的点,据此测量和表征信号延迟。在一
个实施例中,对于内部模式而言,在TP4处参数Tb的最大值通过关系 tDifferential-Skew-TP4-DRVR-EXT
=0.3 tBIT来定义,对于客户机发射机的内部模式来说,是
tDifferential-Skew-TP4-DRVR-INT —
0. 6 tBIT ;对于客户机接收器的外部模式来说,是tB_TP4_KOT_EXT = 0. 051 tBIT+175ps。标记TP4仅仅用于对接口和链路中不同的测试点(TP)进行编号。在一个实施 例中,对于内部模式和外部模式该测试点定义成相同。存在一个相应的“TP0”测试点,用于或关联于一个主机中MDDI控制器设备的连接或接口管脚,该主机包含差分线路驱动器 和接收器。在本实施例中,对于主机接收器而言,对于内部模式,TP0处的参数\的最大 值由关系 tB_TP0_ECVE_INT = 0. 051 □ tBIT+50ps 来定义,对于外部模式,关系为 tB_TP0_KCVK_EXT = 0. 051 □ tBIT+175ps ;对于主机发射机,关系为 tB_TP0 = 0. 102 □ tBIT。在图59 给出的示例中,tSKEff_max(Data0_stb_Caliberated) = 300psec,而最小位周期是tBIT_min_calibrated = 300+2 125+625+200+175+100 = 1650psec,这大约是 606Mbps。当MDDI_Datal尽早到达时,为了在RXFFB中可靠地对数据采样,将关联的可编程 延迟调整到最佳设定,精度为一个抽头,为安全起见,增加附加的抽头延迟。最大的链路速 度取决于最小的允许位时段。当MDDI_Datal尽晚到达时,影响最大。在这种情况下,最小 允许循环时间为^BIT-min-Datal-calibrated 一 2 ^TAP-Spacing-max+2 tTA_Tp4其中,“TA”或tA表示从位边界到中间交叉的信号抖动。在图59给出的示例中,基于采样MDDI_Datal的最小位时段的下限是tBIT_min_Datal_calibrated = 2 150+2 125 = 550psec在一个实施例中,对于内部模式而言,主机中的延迟偏离、延迟非对称性和时钟抖 动的典型总延迟时间定义成tAsy—erty_TXFF+tAsy—etry_TXDVE+tskew_TXFF+tskew_TXDEVE+tjitter_h0St 一0. 467 (tBIT_150ps)对于外部模式为tAsy—erty_TXFF+tAsy—etry_TXDVE+tskew_TXFF+tskew_TXDEVE+tjitter_h0St 一0. TBD (tBIT_150TBDps)对于内部模式而言,客户机中的延迟偏离、延迟非对称性和建立时间的典型总延 迟时间(tB_TP4)定义成tAsy腿erty—RXRCVR+tAsy腿etry-RXX0R+tSkew-RXRCVR+tSkew-RXX0R+tsetup—RXFF 一 ^07 (tBIT~150ps)对于外部模式,为tAsy腿erty—RXRCVR+tAsy腿etry-RXX0R+tSkew-RXRCVR+tSkew-RXX0R+tsetup—RXFF 一 TBD (tBIT~TBDps)其中,项TBD是用于未来待定值的一个灵活位置保持标记,其取决于外部模式连 接的多种公知特性和操作要求。XIV.物理层互连描述可用于实现本发明的接口的物理连接可以使用能够购买到的零件来实现,诸如 在主机侧,可以是由Hirose Electric Company Ltd.制造的零件号为3260-8S2 (01)的 零件,并且在客户机设备侧,可以是由Hirose Electric Company Ltd.制造的零件号为 3240-8P-C的零件。表XIII中列出了供类型1/类型2接口使用的这种连接器的示例性接 口引脚分配或者“引脚引出线”,并且在图61中举例说明。表XIII 所述屏蔽与主机接口中的H0ST_Gnd相连,并且电缆中的屏蔽地线与客户机连接 器的屏蔽相连。然而,这个屏蔽和地线不与客户机内部的电路地相连。选择或者设计互连元件或设备,以便使其足够小以用于移动通信和计算设备,如 PDA和无线电话,或者便携式游戏设备,而在与相关设备尺寸的比较中不会超出或者显得不 美观。任何连接器和电缆都应该在典型用电设备环境下足够耐用,并且尺寸要小,对电缆而 言更是如此,并且成本相对要低。传送元件应该支持作为差分NRZ数据的数据和选通信号, 对于类型1和类型2而言,该差分NRZ数据具有高达450Mbps左右的传送速率,而对于8位 并行类型4的版本而言,具有高达3. 6Gbps的传送速率。对于内部模式应用来说,同样对于所使用的导线没有连接器,或者这种连接元件 倾向于小型化。一个实例为零插入力“插座”,用于接受插入主机或者客户机设备的集成电 路或元件。另一实例是主机和客户机驻留在具有各种互联导线的印刷电路板上的情况,并 且具有从外壳中伸出的“引脚”或触点,这些引脚或触点被焊接至用于集成电路互联的导线 上。XV.操作图54A和54B中示出了使用本发明实施例的接口操作期间,在处理数据和分组的时候进行的通用步骤的概况,并且图55中示出了处理所述分组的接口装置的概况。在这些 图中,所述过程在步骤5402开始,确定客户机和主机是否使用通信路径(在这里是电缆) 连接。这可以通过主机使用软件或者硬件来周期性轮询而进行,所述软件或硬件用于检测 在主机的输入端是否存在连接器、电缆或者信号(例如USB接口),或者这也通过其它已知 的技术进行。如果没有客户机连接至主机,那么根据应用,它只可以进入某个预定长度的等 待状态,进入休眠模式,或者处于非激活状态以便等待将来使用,这会要求用户采取行动来 重新激活主机。例如,当主机驻留在计算机类型的设备上时,用户可能必须点击屏幕图标或 者请求程序,从而激活主机处理以寻找客户机。此外,仅仅插入USB类型连接就可以激活主 机处理,这取决于主机或者驻留主机软件的能力和配置。一旦客户机与主机相连,或者反过来,或者客户机被检测为存在,那么在步骤5404 和5406,客户机或者主机发送适当的请求服务分组。在步骤5404,客户机可以发送客户机 服务请求或者状态分组。应注意的是,如上所述,所述链路先前可能已经关闭或者处于休眠 模式,因此随后的未必是通信链路的完整初始化。一旦通信链路是同步的,并且主机试图与 客户机通信,客户机就也向主机提供客户机能力分组,如步骤5408。主机现在可以开始确定 客户机能够支持的支持类型,包括传送速率。通常,在步骤5410,主机和客户机还议定待使用的服务模式的类型(速率/速 度),例如类型1、类型2等等。一旦服务类型被建立,主机就能开始传送信息。另外,主机可 以与其它信号处理并行地使用往返行程延迟测量分组来优化通信链路的时序,如步骤5411 所示。如前所述,所有传送从步骤5412示出的正在传送的子帧报头分组开始,继之为在 步骤5414示出的正在传送的数据类型和填充符分组,在这里数据类型是视频和音频流分 组。所述音频和视频数据已经预先预备好或者映射到分组中,并且根据需要或者期望插入 填充符分组以便填充介质帧所需要的位数。主机能发送如正向音频通道启用分组的分组来 激活音响设备。另外,在步骤5416中,主机能使用上述其它分组类型来传送命令和信息,在 这里显示为色彩映射、位块传送或者其它分组的传送。此外,所述主机和客户机能使用适当 的分组交换涉及键盘或者指示设备的数据。在操作期间,多个不同事件之一会出现,这将导致主机或者客户机需要不同的数 据速率或者不同的接口模式类型。例如,用于传递数据的计算机或者其它设备可能在处理 数据的过程中遇到装载条件(loading conditions),所述条件导致分组的预备或者呈现速 度减慢。接收数据的客户机有可能从专用交流电源换成更加有限的电池电源,并且在有限 的功率设定下,可能不能迅速地传送数据,容易地处理命令,也无法使用同一分辨率或者色 彩浓度。或者,限制条件也可能减少或者消失,从而允许设备以更高的速率传送数据。这更 加需要做出请求以改变为更高传送速率模式。如果这些或者其它类型的已知条件出现或者改变,主机或者客户机会检测到它们 并且试图重新协商议定接口模式。这一点在步骤5420中示出,其中所述主机向客户机发送 接口类型切换请求分组以请求切换到另一模式,所述客户机发送接口类型确认分组,以便 确认寻求改变,并且所述主机发送执行类型切换分组以便改变为指定的模式。虽然不要求有特定的处理顺序,但是所述客户机和主机还可以交换涉及某些数据 的分组,这些数据是要发送给主要与客户机连接的指示设备、键盘或其它用户类型输入设
100备的,或者是从这些设备中收到的数据,当然这些元件还可以存在于主机一侧。这些分组通 常使用通用处理器类型的元件而非状态机来处理(5502)。另外,上述某些命令也由通用处 理器(5504,5508)处理。在主机和客户机间已经交换了数据和命令之后,在某一点,就是否传送附加数据 或者主机或客户机是否要停止为所述传送提供的服务而做出决定。这在步骤5422中示出。 如果所述链路将进入休眠状态或者完全关闭,那么主机向客户机发送链路关闭分组,并且 两侧终止传送数据。使用先前相对于主机和客户机控制器讨论的驱动器和接收器来传送在上述操作 处理中传送的分组。这些线路驱动器以及其它逻辑元件与上述状态机和通用处理器相连, 如图55的概述所示。在图55中,状态机5502和通用处理器5504和5508可以进一步与未 示出的其它元件相连,如专用USB接口、存储器元件或驻留在与它们相互作用的链路控制 器外部的其它部件,包括但不限于数据源和用于观看显示器设备的视频控制芯片。处理器和状态机提供对驱动器的启用和禁用控制,正如上文就保护时间等等所讨 论的那样,以便确保有效建立或终止通信链路,并且传送分组。XVI显示器帧缓冲器与计算机图形相比,视频数据的缓存要求对于运动视频图像是不同的。像素数据 经常储存在客户机的本地帧缓冲器中,因此客户机上的图像能本地刷新。在显示全运动视频(每一介质帧中显示器中几乎每一像素都要改变)时,通常优 选在一个帧缓冲器中储存正在输入的像素数据,而从第二帧缓冲器中刷新显示器上的图 像。可以用两个以上的显示缓冲器来消除可视假象(visible artifact),如下所述。当已 经在一个帧缓冲器中接收了整个图像时,就可以交换缓冲器的角色,将最新接收的图像用 于刷新所述显示器,并且将图像的下一帧填充另一个缓冲器。图88A中示出了这一概念,其 中通过把显示器更新位设置为“01”来把像素数据写入离线图像缓冲器。在其它应用中,所述主机只需要更新小部分图像,而不必重新绘制整个图像。在这 种情况下,需要把新的像素直接写入用于刷新显示器的缓冲器,如图88B中所示。在具有较小视频窗口的固定图像的应用中,把固定图像写入两个缓冲器(显示器 更新位等于“11”)是最容易的,如图88C所示,并且随后通过把显示器更新位设置为“01” 把运动图像像素写入离线缓冲器。如下规则描述了缓冲器指针的有益操纵,同时把新的信息写入客户机并且刷新 显示器。存在三个缓冲器指针current_fill (当前填充)指向当前正在由MDDI链路 上的数据填充的缓冲器;just_filled(刚刚填充)指向最近被填充的缓冲器;being_ displayed(正在显示)指向目前正用于刷新显示器的缓冲器。所有三个缓冲器指针可以包 含从0到N-1的值,其中N是显示器缓冲器的数目,而N彡2。对缓冲器指针的运算是对N 取模(mod N),例如,当 N = 3 并且 current_fill = 2 时,±曾力口 current_fill 让 current, fill被设置为0。在N = 2的简单情况下,just_filled始终是Current_fill的补码。在每 一 MDDI介质帧边界上(子帧计数字段的子帧报头分组等于零)按照指定的顺序来执行如 下操作将just_filled设置为等于current_fill,并且设置current_fill等于current_
fill+loMDDI视频流分组按照如下结构或方法来更新缓冲器当显示器更新位等于‘01,
101时,把像素数据写入由currentfill指定的缓冲器;当显示器更新位等于‘00’时,把像素 数据写入由just_filled指定的缓冲器;当显示器更新位等于“11”时,把像素数据写入所 有缓冲器。由being—displayed指针指定的缓冲器来刷新显示器。在显示器刷新一个帧刷 新时元(印och)中的最后像素之后并且在它开始刷新下一帧刷新时期中的第一像素以前, 显示器更新处理执行把beingjefreshecK正在刷新)设置为等于just_filled的操作。所述视频流分组包含一对显示器更新位,说明将写入像素数据的帧缓冲器。所述 客户机能力分组具有三个附加位,其表明客户机中所支持的显示器更新位的组合。在许多 情况下,计算机生成的图像需要基于用户输入递增地刷新,或者根据从计算机网络接收的 信息来导出。显示器更新位组合“00”和“11”通过让像素数据写入正在显示的帧缓冲器或 者写入两个帧缓冲器来支持这一操作模式。当支持视频图像时,图89说明当显示器更新位等于“01”,且经由MDDI链路传输 视频数据时,如何使用一对帧缓冲器来显示视频图像。在MDDI链路上检测到介质帧边界之 后,在当前正刷新的帧的刷新处理完成时,显示器刷新处理将开始从下一帧缓冲器刷新。涉及图89的一个重要假设是图像是作为像素的连续流从主机接收的,所述像素 的连续流是按照客户机从帧缓冲器读取像素以便刷新显示器的顺序来传输的(通常从左 上开始,逐行读取,直到屏幕的右下角)。在显示器刷新和图像传送操作涉及相同的帧缓冲 器的情况下,这是重要的细节。显示器刷新帧速率需要大于图像传送帧速率,以免显示出部分图像。图90示出了 在显示器刷新速率较慢情况下,也就是说,显示器刷新比图像传送慢的情况下,图像碎片是 如何出现的。在包含计算机图形图像和运动视频图像的组合的图像中,视频像素数据可能占据 小部分介质帧。在显示器刷新操作和图像传送涉及相同的帧缓冲器的情况下,这是十分重 要的。这些情况通过图91中的交叉影线的阴影示出,其中从缓冲器中读取以便刷新显示器 的像素可能是两帧以前写入缓冲器的像素,或者它们可以对应于正要被写入同一帧缓冲器 的帧。客户机中使用三个帧缓冲器来解决访问帧缓冲器的小窗口竞争问题,如图92所
7J\ o然而,如果显示器刷新速率小于MDDI链路上的介质帧速率,那么仍存在问题,如 图93所示。运动视频图像使用单个缓冲器多少存在问题,如图94所示。当显示器刷新快于图 像传送到缓冲器中时,正刷新的图像有时将显示正写入的帧的上部,而图像的较低部分则 是先前传送的帧。当显示器刷新快于图像传送(优选操作模式)时,示出类似分裂图像的 帧的情况将更加频繁地出现。XVII.延迟倌表分组处理延迟参数分组使用表查找功能来计算所预测的延迟,以便处理客户机中 的某些命令。表中的值按照对数方式增加,以便提供动态范围非常宽的延迟值。在下面的 表XX中可以找出用于实现本发明实施例的延迟值的示例性表,相应的索引与延迟值对照。表XX
102 通过将指定参数作为表的索引进行表格查找来计算延迟。这意味着延迟等于分组 处理表(索引)。例如如果来自延迟参数列表项的参数之一是等于134的8位值,那么延 迟等于分组处理表(134),S卩,16微秒。值255表明无法通过计算确定命令完成时间,主机 必须检查客户机请求和状态分组中的图形繁忙标志或者MCCS VCP控制参数B7h。在某些情况下,把这一延迟乘以目标图像的高度、宽度或者像素数目,并且将其加 到其它延迟上去,以计算整个分组处理延迟。XVIII多客户机支持当前协议版本看起来无法直接支持多个客户机设备。然而,大部分分组包含保留 的客户机ID字段,该客户机ID可用于对具有多个客户机的系统中的特定客户机设备进行 寻址。目前,对于许多应用来说,这一客户机ID或者这些客户机ID被设置为零。所述子帧 报头分组还包含用于表明主机是否支持多个客户机系统的字段。因此,存在这样一种方式, 其中在MDD接口或者协议的未来应用中有可能将多个客户机设备连接起来并进行寻址,以 便帮助系统设计师规划将来与多个客户机主机和客户机的兼容性。在具有多个客户机的系统中,把客户机经由客户机的串级链(Daisy-chained)或 者使用集线器连接至主机,如图95所示,或者使用如图96所示的这些技术的组合将客户机 连接至主机都是十分有益的。XVIII.附录除了上面讨论的用于实现本发明实施例的体系结构和协议的格式、结构和内容以 外,在这里对某些分组类型提供了更加详细的字段内容或操作。在这里给出这些内容是为了进一步阐明它们各自的用途或操作,以便使本领域技术人员更加易于理解以及将本发明 用于各种应用。在这里只讨论没有讨论过的少数几个字段。另外,这些字段是相对于上文 给出的实施例以示例性的定义和值给出的。然而,不应该把这些值看作是对本发明的限制, 而是它们代表实现这些接口和协议有用的一个或多个实施例,并且无需一起或者同时实施 所有的实施例。其它实施例也可以采用其它值以便实现所需要的数据或数据速率传送结果 的呈现,正如本领域技术人员将理解的那样。
A.关于视频流分组在一个实施例中,像素数据属性字段(2字节)具有如下解释的一系列位值。位1 和0选择如何路由该显示器像素数据。对于位值‘11’来说,向或为两只眼睛显示数据,对 于位值‘10’来说,只把数据路由至左眼,而对于位值‘01’来说,只把数据路由至右眼,而对 于位值‘00’来说,把数据路由至可选显示器,正如下面讨论的由位8至11所指定的那样。位2表明是否以隔行的格式提供像素数据,值‘0’意味着像素数据处于标准的逐 行格式,从一行前进至下一行时,行号(像素Y坐标)加1。当这一位具有值‘1’时,像素数 据处于隔行的格式,并且从一行前进到下一行时,行号加2。位3表明像素数据处于交替像 素格式。这与位2启用的标准隔行模式相似,但是这里的隔行是垂直的而不是水平的。当 位3是‘0’时,像素数据处于标准的逐个像素格式,当接收到每一连续像素时,列号(像素X 坐标)加1。当位3是‘1’时,像素数据处于交替像素格式,接收到每一像素时,列号加2。位4表明像素数据涉及显示器还是照相机,S卩,其中数据被传送至无线电话或者 类似设备甚至便携式计算机或如上所述的其它设备的内部显示器,或者从这些设备中传送 出来,或者数据被传送到嵌入或者直接耦合到所述设备的照相机或者从该照相机中传送出 来。当位4是‘0’时,像素数据正传送到显示器帧缓冲器或者从中传送出来。当位4是‘1’ 时,像素数据被传送到某些类型的照相机或者视频设备或者从中传送出来,这种设备是所 属领域众所周知的。位5用来表明何时像素分组含显示器中下一连续行的像素。当位5被设置为等于 ‘1’时,被认为是这样的情况。当位5被设置为‘1’时,那么X左沿、Y顶沿、X右沿、Y底沿、 X起始和Y起始参数不被定义并且被客户机忽略。当位15被设置为逻辑1电平时,它表明 该分组中的像素数据是所述图像中最后一行像素的像素数据。客户机能力分组的客户机特 征能力标识符字段的位8表明支持该特征。位7和6是显示器更新位,用于说明将写入像素数据的帧缓冲器。其它地方讨论 了更加具体的效果。对于位值‘01’来说,像素数据被写入离线图像缓冲器中。对于位值 ‘00’来说,像素数据被写入用于刷新显示器的图像缓冲器中。对于位值‘11’来说,像素数 据被写入所有图像缓冲器中。所述位值或者组合‘10’被当做无效值或者指定,并且像素数 据被忽略,而不被写入任何图像缓冲器。这一值可能对于所述接口的将来应用具有用途。位8至11形成4位无符号整数,用于说明要将要把像素数据路由到的可选显示器 或者显示器位置。位0和1被设置为等于00,以便使显示器客户机把位8至11解释为可选 显示器号。如果位0和1不等于00,那么位8至11被设置为零。位12至14被保留以供将来使用并且通常应设定为逻辑零。所讨论的位15与位 5结合使用,并且将位15设置位逻辑1表明像素数据段中像素的行是数据帧中的最后一行 像素。位5设置为逻辑1的下一个视频流分组对应于下一个视频帧的第一行像素。
2字节的X起始和Y起始字段指定像素数据字段中第一像素的点(X起始,Y起始) 的绝对X和Y坐标。2字节的X左沿和Y顶沿字段指定由像素数据字段填充的屏幕窗口的 左沿的X坐标以及顶沿的Y坐标,而X右沿和Y底沿字段则指定正在更新的窗口的右沿的 X坐标以及底沿的Y坐标。像素计数字段(2字节)指定以下像素数据字段中的像素数目。
参数CRC字段(2字节)包含从分组长度到像素计数的所有字节的CRC。如果这一 CRC未能通过校验,就丢弃整个分组。所述像素数据字段包含将被显示的原始视频信息,并且按照视频数据格式描述符 字段描述的方式格式化。如同其它地方讨论的那样,数据每次传输一“行”。当像素数据属 性字段的位5设置为逻辑1电平时,像素数据字段刚好包含一行像素,且正在传输的第一个 像素对应于最左像素,而传输的最后一个像素对应于最右像素。像素数据CRC字段(2字节)只包含像素数据的16位CRC。如果这一值的CRC校 验失败,那么像素数据仍可使用,但是CRC错误计数增加。B.关于音频流分组在一个实施例中,音频通道ID字段(1字节)使用8位无符号整数值来标识特定音 频通道,其中客户机设备把音频数据发送至该通道。物理音频通道通过这个字段按照值0, 1,2,3,4,5,6或者7被指定或者映射到物理通道,这些值分别表明左前、右前、左后、右后、 前方中心、超低音扬声器、环绕左以及环绕右通道。音频通道ID值254表明数字音频采样 的单个流被发送给左前和右前通道。这样做简化了一些应用的通信,如将立体声耳机用于 语音通信的应用,对PDA使用的生产力改进的应用,或者简单用户接口生成报警声的其它 应用。在从8至253和255的范围内的ID字段值目前被保留,以便在新设计需要附加标记 的情况下使用,正如本领域技术人员可预见的那样。保留1字段(1字节)通常被保留以备将来之用,并且将这个字段中的所有位都设 置为零。这个字段的一个功能是让所有后续2字节字段与16位字地址对准,让4字节字段 与32位字地址对准。音频采样计数字段(2字节)指定这个分组中音频采样的数目。每个采样位数和打包字段包含1字节,用于说明音频数据的打包格式。在一个实 施例中,通常采用的格式是使用位4至0来定义每一 PCM音频采样的位数。然后,位5说明 所述数字音频数据采样是否被打包。如上所述,图12说明打包的音频采样和字节对准音频 采样之间的差异。位5的值‘0’表明数字音频数据字段中每一 PCM音频采样与接口的字节 边界是字节对准的,并且值‘1’表明每一连续PCM音频采样相对于先前音频采样被打包。通 常只有当位4至0 (每一 PCM音频采样的位数)中定义的值不是8的倍数时,这一位才是有 效的。位7至6被保留以供系统设计需要附加标识时使用,并且通常设置为零值。音频采样速率字段(1字节)指定音频PCM采样速率。所采用的格式分别是值 0时速率是8,000个采样每秒(sps),值1表明16,OOOsps,值2表明24,OOOsps,值3表 明 32,000sps,值 4 表明 40,000sps,值 5 表明 48,OOOsps,值 6 表明 11,025sps,值 7 表明 22,050sps并且值8表明44,IOOsps,而值9至255被保留供将来之用,因此它们目前被设 置为零。参数CRC字段(2字节)包含从分组长度到音频采样速率的所有字节的16位CRC。如果这一 CRC未能适当地通过校验,就丢弃整个分组。数字音频数据字段包含待播放的原 始音频采样,并且通常具有无符号整数的线性格式的形式。音频数据CRC字段(2字节)包 含只针对音频数据的16位CRC。如果这一 CRC未能通过校验,那么所述音频数据仍可被使 用,不过CRC错误计数增加。C.关于用户定义的流分组在一个实施例中,2字节的流ID号字段用来标识特定的用户定义的流。流参数和 流数据字段的内容通常由MDDI设备制造商定义。2字节的流参数CRC字段包含从分组长度 开始到音频编码字节的流参数的所有字节的16位CRC。如果这一 CRC未能通过校验,就丢 弃整个分组。如果MDD接口的最终应用不需要流参数和流参数CRC字段,即它们被看作可 选的,那么流参数和流参数CRC字段都可以被丢弃。2字节的流数据CRC字段包含只针对流 数据的CRC。如果这一 CRC未能适当地通过校验,那么流数据的使用是可选的,这取决于所 述应用的要求。流数据的使用随CRC的良好性而定,通常要求缓存流数据直到CRC被确认 为是良好的为止。如果CRC没有通过校验,那么所述CRC错误计数增加。D.关于色彩映射分组2字节的hClient ID字段包含为客户机ID保留的信息或值,如先前使用的那样。 由于这个字段通常被保留供将来之用,所以当前通过把这些位设置为‘0’来将其设置为零。2字节的色彩映射项目计数字段使用值来指定3-字节色彩映射项目的总数,这些项目包含在色彩映射数据字段中,或者指定存在于这个分组的色彩映射数据中的色彩映射 表的条目的总数。在这个实施例中,色彩映射数据中的字节数目是色彩映射项目计数的3 倍。色彩映射项目计数被设置为等于零以便不发送色彩映射数据。如果色彩映射大小是零, 那么色彩映射偏移值通常仍被发送,但是被显示器忽略。色彩映射偏移字段(4字节)指定 这个分组中色彩映射数据距客户机设备中的色彩映射表的开始的偏移量。2字节的参数CRC字段包含从分组长度到音频编码字节的所有字节的CRC。如果 这一 CRC未能通过校验,就丢弃整个分组。对于色彩映射数据字段来说,每一色彩映射位置的宽度是由色彩映射项大小字段 指定的,其中在一个实施例中,第一部分指定蓝色数值,第二部分指定绿色数值而第三部分 指定红色数值。色彩映射大小字段指定存在于色彩映射数据字段中的3字节色彩映射表项 的数目。如果单个色彩映射无法符合(fit into)视频数据格式和色彩映射分组,那么可以 通过发送多个分组来指定整个色彩映射,其中每一分组中具有不同色彩映射数据和色彩映 射偏移。每一色彩映射数据项中蓝色、绿色和红色的位数应该与显示器能力分组的色彩映 射RGB宽度字段指定的相同。2字节的色彩映射数据CRC字段只包含色彩映射数据的CRC。如果这一 CRC未能 通过校验,那么所述色彩映射数据仍可使用,但是CRC错误计数增加。每一色彩映射数据项将会按照如下的顺序传输蓝色、绿色、红色,每一分量的最 低有效位首先传输。将每一色彩映射项目的单个红色、绿色和蓝色分量打包,但是每一色彩 映射项目(蓝色分量的最低有效位)应该按字节对准。图100示出了具有6位蓝色、8位绿 色和7位红色的色彩映射数据项的实例。对于这一实例来说,色彩映射分组中的色彩映射 项大小等于21,而客户机能力分组的色彩映射RGB宽度字段等于0x0786。E.关于反向链路封装分组
参数CRC字段(2字节)包含从分组长度到转向长度的所有字节的16位CRC。如 果这一 CRC未能通过校验,就丢弃整个分组。在一个实施例中,反向链路标志字段(1字节)包含用于请求来自客户机的信息的 一组标志。如果位(例如位0)被设置为逻辑1电平,那么主机使用客户机能力分组从显示 器请求指定信息。如果所述位被设置为逻辑零电平,那么主机不需要来自客户机的信息。剩 余位(在这里是位1至7)被保留以供将来使用并且被设置为零。然而,还可以根据需要使 用更多位来设置用于反向链路的标志。 反向速率除数字段(1字节)指定与反向链路数据时钟相关而出现的MDDI_Stb周 期的数目。所述反向链路数据时钟等于正向链路数据时钟除以两倍的反向速率除数。反向 链路数据速率涉及反向链路数据时钟和反向链路上的接口类型。在一个实施例中,对于类 型1的接口来说,反向数据速率等于反向链路数据时钟,对于类型2、类型3和类型4的接口 来说,反向数据速率分别等于2倍、4倍和8倍的反向链路数据时钟。全零1字段包含一组字节,这里是8,通过将各个位设置成逻辑0电平可将全零1 字段设置为等于零,并且该字段可用来确保所有MDDI_Data信号在转向1字段期间禁用主 机线路驱动器之前能够处于逻辑零电平达足够的时间,以便允许客户机仅利用MDDI_Stb 开始恢复时钟。在一个实施例中,全零1字段的长度大于或等于电缆的往返行程延迟中的 正向链路字节传输次数的数目。转向1长度字段(1字节)指定分配给转向1的字节总数,用于建立第一转向周 期。在主机中的线路驱动器被禁用之前,转向1字段采用由转向1长度参数指定的字节数 目,以便允许启用客户机中的MDDI_Data线路驱动器。在转向1的位0期间,所述客户机启 用其MDDI_Data线路驱动器,并且主机禁用其输出端以便在转向1的最后位之前完全禁用 其输出端。MDDI_Stb信号表现得如同在整个转向1周期期间MDDI_DataO均处于逻辑0电 平。上面给出了转向1设置的更加完整的说明。反向数据分组字段包含一系列从客户机传送到主机的数据的分组。当客户机没有 数据要发送到主机时,客户机可发送填充分组或将MDDI_Data线路驱动到逻辑0状态或电 平。在本实施例中,如果MDDI_Data线路被驱动到0,主机则将其解释为具有0长度的分组 (不是有效长度),并且主机在当前反向链路封装分组期间将不再从客户机接收另外的分组。转向2长度字段(1字节)指定分配给转向2的字节总数,用于建立第二转向周期。 转向2的推荐长度是往返行程延迟加上主机启用其MDDI_Data驱动器所需的时间所需的字 节数。转向2长度值也可以大于最小所需或计算值,以使得能有足够的时间来处理主机中 的反向链路分组。转向2字段包括转向长度参数指定的字节数。主机在启用其MDDI_Data线路驱动 器之前在转向2期间等待至少往返行程延迟时间。主机启用其MDDI_Data线路驱动器,从 而它们在转向2的最后位之前通常完全启用,客户机禁用其输出,从而它们在转向2的最后 位之前通常完全禁用。转向2字段的目的是能够从客户机发送或传输自反向数据分组字段 开始的剩余数据量。考虑到不同系统实现该接口和分配的安全容限量方面的差异,有可能 的是,主机和客户机都未在转向2字段周期的某些部分期间将MDDI Data信号驱动到逻辑 零电平,如主机中的线路接收器所示。MDDI_Stb信号表现得如同MDDI_DataO基本上在整个转向2周期期间处于逻辑O电平。上面给出了转向2设置的描述。反向数据分组字段包含从客户机传送到主机的一系列数据分组。如前所述,发送 填充符分组以便填充其它分组类型未使用的剩余空间。全零2字段包含一组被设置为等于零值的字节( 在本实施例中为8个),这是通过 将这些位设置成逻辑0电平来实现的,并且该字段用来确保在跟随转向2字段启动了主机 线路驱动器之后,所有MDDI_Data信号能够处于零状态达足够的时间,以便客户机能够使 用MDDI_DataO和MDDI_Stb 二者开始恢复时钟。F.关于客户机能力分组如一个实施例所示,协议版本字段使用2字节来指定由客户机所使用的协议版 本。初始版本目前被设置为等于1,并且随着新版本的产生,该初始版本也会随时间而改变, 正如将会知道的那样,而最小协议版本字段使用2字节来指定客户机能采用或者解释的最 小协议版本。在这种情况下,0值也是有效值。数据速率能力字段(2字节)指定客户机在 接口的正向链路上的每个数据对上能接收的最大数据速率,并且以每秒百万位(Mbps)的 形式来指定。接口类型能力字段(1字节)指定正反链路上支持的接口类型。设置为“1” 的位表明支持指定的接口,而设置为“0”的位表明不支持该指定类型。主机和客户机应该 在正反向链路上至少支持类型1。不需要支持接口类型的相邻范围。例如,只支持接口中的 类型1和类型3而不支持类型3和类型4将是非常有效的。也不需要正反向链路使用相同 的接口类型来运行。然而,当链路从休眠中苏醒时,正反向链路应该在类型1模式开始运行 直到协商议定或选择出其他模式,或者主机和由客户机二者均同意使用其他模式为止。在一个实施例中,通过选择位0、位1或者位2表明支持的接口类型,以便分别选择 正向链路上的类型2 (2位)、类型3 (4位)或者类型4 (8位)模式,而位3、位4或位5则分 别选择反向链路上的类型2、类型3或者类型4模式;位6和7被保留并且通常设置为零。 位图宽度和高度字段(2字节)分别以像素为单位指定位图的宽度和高度。单色能力字段(1字节)用来指定可以按照单色格式显示的分辨率的位数。如果 显示器无法使用单色格式,那么这一值被设置为零。位7至4被保留以供将来使用,从而设 置为零。位3至0定义每一像素中可以存在的灰度级的最大位数。这四位能够为每一像素 指定值1至15。如果所述值是零,那么该显示器不支持所述单色格式。Bayer能力字段使用1个字节能够以Bayer格式传送的分辨率的位数、像素组和像 素顺序。如果客户机不能使用Bayer格式那么该值为零。Bayer能力字段由以下值构成位 3至0定义了每个像素中存在的强度的最大位数,而位5至4定义了必要的像素组模式,而 位8至6定义了必要的像素顺序;位14至9被保留以供将来使用并且同时通常设置为零。 位15设置为1时,表明客户机能够接受打包的或未打包格式的Bayer像素数据。如果位15 被设置为0,这表明客户机只能够接受未打包格式的Bayer像素数据。色彩映射能力字段(3字节)指定显示器色彩映射表中存在的表项的最大数目。如 果显示器无法使用色彩映射格式,那么这一值是零。RGB能力字段(2字节)指定可以按照RGB格式显示的分辨率的位数。如果显示器 无法使用RGB格式,那么这一值等于零。RGB能力字包括三个独立的无符号值,其中在每 一像素中,位3至0定义蓝色的最大位数,位7至4定义绿色的最大位数,而位11至8定义 红色的最大位数。目前,位14至12被保留以供将来使用并且通常设置为零。位15设置为1时,表明客户机能够接受打包的或未打包格式的RGB像素数据。如果位15被设置为逻辑 O电平,这表明客户机只能够接受未打包格式的RGB像素数据。Y Cr Cb能力字段(2字节)指定可以按照Y Cr Cb格式显示的分辨率的位数。如 果显示器无法使用Y Cr Cb格式,那么这一值被设置为等于零。所述Y Cr Cb能力字包括 三个独立的无符号值,其中位3至0定义Cb采样中的最大位数,位7至4定义Cr采样中 的最大位数,位11至8定义Y采样中的最大位数,而位15至12目前被保留供将来之用并 且被设置为零。客户机特征能力指示符字段使用4字节,它包含一组用于表明客户机中所支持的 特定特征的标志。设置为逻辑1电平的位表明支持所述能力,而设置为逻辑零电平的位表 明不支持所述能力。在一个实施例中,位0的值表明是否支持位图块传送分组(分组类型 71)。位1、2和3的值分别表明是否支持位图区域填充分组(分组类型72)、位案填充 分组(分组类型73)或者通信链路数据通道分组(分组类型74)。位4的值表明客户机是 否有能力使一种颜色透明,而位5和6的值分别表明客户机能否接受打包格式的视频数据 或 者音频数据,而位7的值表明客户机能否从照相机发送反向链路视频流。位8的值表明 客户机是否有能力接收全线路(full line)的像素数据并忽略如视频流分组的像素数据属 性字段的位5指定的显示器寻址,并且客户机还可使用像素数据属性字段的位15检测帧同 步或视频帧数据的末尾。位11和12的值分别表明客户机是正在与指示设备通信并且能发送和接收指示设 备数据的分组,还是正在与键盘通信并且能发送和接收键盘数据的分组。位13的值表明客 户机是否有能力通过支持VCP特征分组来设置一个或多个音频或视频参数,其中VCP特征 分组如请求VCP特征分组、VCP特征应答分组、设置VCP特征分组、请求有效参数分组和有 效参数应答分组。位14的值表明客户机是否有能力将像素数据写入离线显示器帧缓冲器。 如果该位的值被设置位逻辑1电平,那么显示器更新位(视频流分组的像素数据属性字段 的位7和6)可被设置为值“01”。位15的值表明客户机是否有能力将像素数据只写入当前正在用于刷新显示器图 像的显示器帧缓冲器。如果该位被设置为1,那么显示器更新位(视频流分组的像素数据属 性字段的位7和6)可被设置为值“00”。位16的值表明客户机有能力将来自单个视频流分 组的像素数据写入所以显示器帧缓冲器的情况。如果该位被设置为1,那么显示器更新位 (视频流分组的像素数据属性字段的位7和6)可被设置为值“11”。位17的值表明何时客户机有能力响应于请求特定状态分组,位18的值表明何时 客户机有能力响应于往复行程延迟测量分组,位19的值表明何时客户机有能力响应正向 链路偏离校准分组。位21的值表明何时客户机有能力解释请求特定状态分组,并利用有效状态应答 列表分组做出响应。如在其他地方所述,客户机表明有能力在有效状态应答列表分组的有 效参数应答列表字段中返回另外的状态。位22表明客户机是否有能力响应于寄存器访问分组。位9至10和位23至31表 明目前被保留供将来之用,或者用作对系统设计员有益的可选标记,并且通常被设置为等于零。显示器视频帧速率能力字段(1字节)指定以每秒帧数为单位的显示器的最大视频帧更新能力。主机可以选择以慢于该字段中指定的值的速率来更新所述图像。所述音频缓冲器深度字段(2字节)指定专用于每一音频流的显示器中的弹性缓 冲器的深度。
音频通道能力字段(2字节)包含一组标志,用于表明客户机或客户机连接设备支 持哪些音频通道。设置为1的位表明该通道是可支持的,而设置为零的位表明该通道是不 支持的。将位的位置分配给不同的通道,例如在一个实施例中,位位置0、1、2、3、4、5、6或者 7分别表明左前、右前、左后、右后、前方中心、超低音扬声器、环绕左以及环绕右通道。位8 至14目前保留以供将来使用并且通常设置为零。在一个实施例中,位15用于表明客户机 是否提供对正向音频通道启用分组的支持。如果是这种情况,位15被设置为逻辑1电平。 然而,如果作为正向音频通道启用分组的结果,客户机不能禁用音频通道,或者如果客户机 不支持任何音频能力,那么这一位被设置为逻辑0电平或值。用于正向链路的2字节的音频采样速率能力字段包含一组标志,用于表明客户机 设备的音频采样速率能力。因此,把位位置分配给不同速率,诸如位0、1、2、3、4、5、6、7和8 被分别分配给 8,000、16,000,24, 000,32, 000,40, 000,48, 000、11,025,22, 050 和 44,100 采 样数每秒(SPS),位9至15被保留以供将来使用或者根据需要用于可选速率,因此它们目前 被设置为‘0’。把这些位之一的位值被设置为‘1’表明可支持该特定的采样速率,而把该位 设置为‘0’表明该采样速率是不支持的。最小子帧速率字段(2字节)指定以每秒帧数为单位的最小子帧速率。最小子帧 速率保持足以读取显示器中的某些传感器或者指示设备的显示状态刷新速率。用于反向链路的2字节的麦克风采样速率能力字段包含一组标志,用于表明客户 机设备的麦克风的音频采样速率能力。出于利用MDDI的目的,客户机设备麦克风被配置 成最低限度支持最少8,000个采样每秒的速率。把用于这个字段的位位置分配给不同速 率,例如,其中位位置0、1、2、3、4、5、6、7和8分别用于代表8,000、16,000,24, 000,32, 000、 40,000,48, 000、11,025,22, 050和44,100采样数每秒(SPS),位9至15被保留以供将来使 用或者根据需要用于可选速率,因此它们目前被设置为‘0’。把这些位之一的位值设置为 ‘1’表明该特定的采样速率是支持的,而把该位设置为‘0’表明该采样速率是不支持的。如 果没有连接麦克风,那么麦克风采样速率能力位的每位均被设置为等于零。键盘数据格式字段(这里为1个字节)说明键盘是否连接到客户机系统以及所连 接的键盘的类型。在一个实施例中,由位6至0确立的值用于定义所连接的键盘的类型。 如果该值为零,则键盘类型被视作未知。当为1值时,键盘数据格式被认为是标准PS-2方 式。目前未使用2至125范围内的值,这些值被保留下来以供系统设计人员或接口公司 (incorporator)或产品开发商用来定义与MDD接口或相应的客户机或主机一同使用的特 定的键盘或输入设备。值126用于表明用户定义的键盘数据格式,而值127用于表明不能连 接到客户机的键盘。此外,位7能够用于表明键盘是否能够与客户机通信。该位的预期使 用是用于表明键盘使用无线链路与客户机通信的情况。如果位6至0表明键盘不能连接的 客户机,那么位7将被设置为0电平。因此,对于一个实施例而言,当位7的值是0时,键盘 和客户机不能通信,而如果位7的值是1,那么键盘和客户机已经确认它们能够彼此通信。指示设备数据格式字段(这里是1字节)说明了指示设备是否连接到客户机系统 以及所连接的指示设备的类型。在一个实施例中,由位6至0建立的值用于定义所连接的指示设备的类型。如果该值为零(O),则指示设备类型被视作未知。当为1值时,指示设备 数据格式被认为是标准PS-2方式。目前未使用2至125范围内的值,这些值被保留下来以 供系统设计人员或接口公司(incorporator)或产品开发商用来定义与MDD接口或相应的 客户机或主机一同使用的特定的指示设备或输入设备。值126用于表明用户定义的指示设 备数据格式,而值127用于表明不能连接到客户机的指示设备。此外,位7能够用于表明指 示设备是否能够与客户机通信。该位的预期使用是用于表明指示设备使用无线链路与客户 机通信的情况。如果位6至0表明指示设备不能连接的客户机,那么位7将被设置为0电 平。因此,对于一个实施例而言,当位7的值是0时,指示设备和客户机不能通信,而如果位 7的值是1,那么指示设备和客户机已经确认它们能够彼此通信。内容保护类型字段(2字节)包含一组标志,用于表明由显示器支持的数字内容保 护类型。目前,位位置0用来表明支持DTCP的情况,而位位置1用来表明支持HDCP的情况, 且位位置2至15被保留以供所需要的或可用的其他保护方案之用,因此它们目前被设置为 零。制造商名称字段(这里是2个字节)包括制造商的EISA 3_字符ID,并且按照与 VESA EDID规范中相同的方式将其打包成3个5-位的字符。字符“A”被表示为二进制的 00001,字符“Z”被表示为二进制的11010,而且所有“A”和“Z”之间的所有字母都被表示为 对应于“A”和“Z”之间的字母表顺序的顺序的二进制值。制造商名称的最高有效位未被使 用,并且通常设置为逻辑0,直到用于未来实现为止。例如,由字符串“XYZ”表示的制造商将 具有值为0x633a的制造商名称。如果客户机不支持该字段,那么其将被设置为0。产品代 码使用2个字节,来包含由显示器制造商分配的产品代码。如果客户机不支持该字段,那么 该字段将被设置为0。保留1、保留2和保留3字段(这里是2个字节)保留,以便将来用于透露信息。 这些字段中的所有位通常被设置为0。这些字段的目的现在是使得所有连续的2字节字段 与16位字地址对准,并且使得4字节字段与32位字地址对准。在该实施例中,序列号字段用4个字节来表明显示器的数字形式序号。如果客户 机不支持该字段,那么该字段将被设置为0。制造星期字段用1个字节,来定义该显示器的 制造星期。如果客户机支持该字段,那么该值在1-53的范围内。如果客户机不支持该字段, 那么该字段将被设置为0。制造年份字段是1个字节,其定义了该显示器的制造年份。该值 是距离1990年的偏移量。该字段表示的年份的范围是1991-2245。例如,2003年对应于值 为13的制造年份。如果客户机不支持该字段,那么该字段将被设置为0。CRC字段(这里为2字节)包含包括分组长度在内的分组中所有字节的一个16位 的CRC值。G.关于客户机请求和状态分组反向链路请求字段(3字节)指定了客户机在下一子帧中在反向链路上向主机发 送信息所需要的字节数目。CRC错误计数字段(1字节)表明自从介质帧开始以来已经出现有多少CRC错误。 发送子帧计数为零的子帧报头分组时,CRC计数重置。如果CRC错误的实际数目超出255, 那么这一值通常在255饱和。能力改变字段使用1字节来表明客户机能力的改变。如果用户连接诸如麦克风、键盘或者显示器之类的外围设备,或者出于其它原因,可能出现这种情况。当位[7:0]等于 0时,那么自从发送了上次的客户机能力分组以后,能力没有改变。然而,当位[7:0]等于1 至255时,能力已经改变。检查客户机能力分组,以便确定新的显示器特性。客户机繁忙字段使用2个字节,表明客户机正在执行特定的功能,尚未准备好接 受与该功能相关的其他分组。设置成逻辑1电平或值的位表示,客户机当前正在执行该特 定功能,客户机中的相关功能部件繁忙。如果客户机中的相关功能部件就绪,则将该位设为 逻辑0。对于客户机中不支持的所有功能,客户机应当返回繁忙状态(位设为1)。在一个实施例中,这些字节根据如下关系进行解释如果位0是“1”,则位图块传 送功能繁忙,如果位1是“1”,则位图区域填充功能繁忙,如果位2是“1”,则位图模式填充 功能繁忙。当前,位3至15预留将来用,如果将来分配这些位时,通常设为逻辑1电平或状 态,以表明繁忙状态。
H.关于位块传送分组窗口左上坐标X值和Y值字段均使用2字节来指定待移动的窗口左上角的坐标的 X和Y值。窗口宽度和高度字段均使用2字节用于说明待移动的窗口的宽度和高度。窗口 X移动和Y移动字段均使用2字节用于分别指定窗口水平和垂直移动的像素数目。通常,这 些坐标被如此配置,即,X的正值让窗口将向右侧移动,负值让其向左侧移动,而Y的正值让 窗口向下移动,且负值使其向上移动。I.关于位图区域填充分组窗口左上坐标X值和Y值字段均使用2字节用于说明待填充的窗口左上角坐标的 X和Y值。窗口宽度和高度字段(均2字节)用于说明待填充的窗口的宽度和高度。视频 数据格式描述符字段(2字节)指定像素区域填充值的格式。所述格式与视频流分组中的 同一字段相同。像素区域填充值字段(4字节)包含待填充到由上述字段指定的窗口中的 像素值。在视频数据格式描述符字段中指定了这一像素的格式。J.关于位案填充分组窗口左上坐标X值和Y值字段均使用2字节来指定待填充的窗口左上角坐标的X 和Y值。窗口宽度和高度字段(均2字节)用于说明待填充的窗口的宽度和高度。图案宽 度和图案高度字段(均2字节)分别用于说明填充图案的宽度和高度。水平图案偏移字段 (2字节)指定了距离待填充的指定窗口的左沿的像素数据图案的水平偏移。该值被指定为 小于图案宽度字段中的值。垂直图案偏移字段(2字节)指定了距离待填充的指定窗口的 顶沿的像素数据图案的垂直偏移。该值被指定为小于图案高度字段中的值。2字节的视频数据格式描述符字段指定像素区域填充值的格式。图11说明视频数 据格式描述符是如何编码的。所述格式与视频流分组中的同一字段相同。参数CRC字段(2字节)包含从分组长度到视频格式描述符的所有字节的CRC。如 果这一 CRC未能通过校验,就丢弃整个分组。图案像素数据字段包含原始视频信息,用于说 明以视频数据格式描述符指定的格式的填充图案。数据被打包为字节,并且每一行的第一 像素将按字节对准。所述填充图案数据每次传输一行。图案像素数据CRC字段(2字节) 包含只对图案像素数据的CRC。如果这一 CRC未能通过校验,那么所述图案像素数据仍可被 使用,但是CRC错误计数增加。K.通信链路数据通道分组
参数CRC字段(2字节)包含从分组长度到分组类型的所有字节的一个16-位CRC。 如果这一 CRC未能通过校验,就丢弃整个分组。通信链路数据字段包含来自通信信道的原始数据。这一数据仅仅被传递到显示器 中的计算设备上。通信链路数据CRC字段(2字节)包含只对通信链路数据的16-位CRC。如果这一 CRC未能通过校验,那么所述通信链路数据仍可使用或者仍是有用的,不过CRC错误计数增 加。L.关于接口类型切换请求分组所述接口类型字段(1字节)指定要使用的新的接口类型。这个字段中的值按照 以下方式指定接口类型。如果位7的值等于‘0’,那么类型切换请求是针对正向链路的,如 果等于‘ 1’,那么类型切换请求是针对反向链路的。位6至 3被保留以供将来使用并且通常 设置为零。位2至0用来定义将使用的接口类型,值1意味着切换至类型1模式,值2意味 着切换至类型2模式,值3意味着切换至类型3模式,而值4意味着切换至类型4模式。值 ‘0’以及5至7被保留以供将来可选模式或者模式组合的标记使用。M.关于接口类型确认分组接口类型字段(1字节)具有用于确认要使用的新的接口类型的值。这个字段中 的值按照以下方式指定接口类型。如果位7的值等于‘0’,那么类型切换请求是针对正向链 路的,或者,如果等于‘1’,那么类型切换请求是针对反向链路的。位位置6至3目前被保留 以便根据需要用于指明其它切换类型,并且通常设置为零。然而,位位置2至0用于定义将 使用的接口类型,其中值‘0’表示否定确认,或者所请求的切换无法执行,值‘1’、‘2’、‘3’ 和‘4’分别表示切换至类型1、类型2、类型3和类型4模式。值5至7被保留以便根据需 要用作模式的可选标记。N.关于执行类型切换分组1字节的接口类型字段表明要使用的新的接口类型。这个字段中存在的值通过首 先使用位7的值确定是对正向还是反向链路进行类型切换来指定接口类型。值‘0’表明类 型切换请求是针对正向链路的,而值‘1’表明类型切换请求是针对向反向链路的。位6至3 被保留以供将来使用并且通常设置为零值。然而,位2至0用来定义将使用的接口类型,值 1、2、3和4分别指定切换至类型1、类型2、类型3和类型4模式。这些位的值0以及5至7 的使用被保留以供将来使用。0.关于正向音频通道启用分组音频通道启用掩码字段(1字节)包含一组标志,用于表明哪些音频通道将会在客 户机中被启用。设置为1的位启用相应的通道,设置为零的位禁用相应的通道。位0至5 分别指明位于左前、右前、左后、右后、前方中心和超低音扬声器通道的通道0到通道5。位 7至6被保留以供将来使用,同时通常设置为零。P.关于反向音频采样速率分组音频采样速率字段(1字节)指定数字音频采样速率。把这个字段的值分配给 不同的速率,其中值0、1、2、3、4、5、6、7和8分别用于指明8,000,16, 000,24, 000,32, 000、 40,000,48, 000、11,025,22, 050和44,100采样数每秒(SPS),值9至254被保留以便根据
需要供可选速率使用,因此它们目前被设置为‘0’。值255用来禁用反向链路音频流。
采样格式字段(1字节)指定数字音频采样的格式。当位[1:0]等于‘0’时,数字 音频采样是线性格式的,当它们等于1时,数字音频采样是μ_律格式的,而当它们等于2 时,数字音频采样是A-律格式的。位[7:2]被保留以便根据需要可替代地用于指明音频格 式,并且通常设置为等于零。Q.关于数字内容保护开销分组 内容保护类型字段(1字节)指定所使用的数字内容保护方法。值‘0’表明数字 传输内容保护(DTCP),而值1表明高带宽数字内容保护系统(HDCP)。2至255的值范围目 前为被指定,而是被保留以便根据需要用于可选保护方案。内容保护开销消息字段是包含 在主机和客户机之间发送的内容保护消息的长度可变字段。R.关于透明色彩启用分组透明色彩启用字段(1字节)指定启用或者禁用透明色彩模式的情况。如果位0 等于0,那么透明色彩模式被禁用,如果等于1,那么透明色彩模式被启用,并且透明色彩通 过如下两个参数指定。这一字节的位1至7被保留以供将来使用并且通常设置为等于零。视频数据格式描述符字段(2字节)指定像素区域填充值的格式。图11说明视频 数据格式描述符是如何编码的。所述格式通常与视频流分组中的同一字段相同。像素区域填充值字段使用4字节分配给待填充到如上指定的窗口中的像素值。在 视频数据格式描述符字段中指定这一像素的格式。S.关于往返行程延迟测量分组2字节的分组长度字段指定了不包括分组长度字段的分组中的字节总数,并且在 一个实施例中选择159的固定长度。2字节的分组类型字段用值82标识该分组类型,其将 一个分组标识为往返行程延迟测量分组。如前一样,hClient ID字段被保留以供将来用作 Client ID,且通常被设为0。在一个实施例中,参数CRC字段(2字节)包含从分组长度到分组类型的所有字节 的16-位CRC。如果这一 CRC未能通过校验,就丢弃整个分组。保护时间1字段(这里是64字节)用来允许客户机中的MDDI_Data线路驱动器在 主机中的线路驱动器被禁用以前被启用。在保护时间1的位0期间,所述客户机启用MDDI_ Data线路驱动器,并且主机禁用其线路驱动器以便在保护时间1的最后位之前,该线路驱 动器被完全禁用。在保护时间1期间,主机和客户机在其未被禁用时都驱动逻辑零电平。该 字段的另一个目的是确保在禁用主机线路驱动器之前,所有MDDI_Data信号处于逻辑零 电平达足够的时间,以便允许客户机仅仅利用MDDI_Stb开始恢复时钟或时钟信号测量周期字段是64字节窗口,用于允许客户机以正向链路上使用的一半数据速 率利用0xff、0xff和30个字节的0x0来作出响应。这一数据速率对应于反向链路速率除 数为1的情况。客户机一旦发觉处于测量周期开始时,就立即返回这一响应。在测量周期 的第一位在主机处开始之后经过精确的链路往返行程延迟加上客户机的逻辑延迟的时刻, 主机接收来自客户机的这一响应。全零1字段(2字节)包含多个零,以便允许主机和客户机中的MDDI_Data线路驱 动器交迭,从而MDDI_Data总是被驱动。主机在保护时间2的位0期间启用MDDI_Data,而 客户机按照其在测量周期末尾的做法,也将信号驱动到逻辑0电平。保护时间2字段(64字节)中的值在往返行程延迟处于测量周期能够测量的最大值时,允许由客户机驱动的测量周期交迭。客户机在保护时间2的位O期间禁用其线路驱动器,而主机在保护时间2的最后一位之后立即启用其线路驱动器。在保护时间2期间,主 机和客户机二者在其未被禁用时都驱动逻辑O电平。该字段的另一目的是确保所有MDDI_ Data信号处于逻辑O电平达足够的时间,以便允许客户机在启用主机的线路驱动器之后, 使用MDDI_DataO和MDDI_Stb开始恢复时钟信号。T.关于正向链路偏离校准分组在一个实施例中,参数CRC字段(2字节)包含从分组长度到分组类型的所有字节 的16-位CRC。如果这一 CRC未能通过校验,就丢弃整个分组。全零1字段使用1个字节,确保在参数CRC字段结束时在MDDI_Stb上有转变。校准数据序列字段包含数据序列,用于让MDDI_Data信号在每一数据周期翻转。 校准数据序列字段的长度取决于上行链路上使用的接口。在处理校准数据序列期间,所述 MDDI主机控制器把所有MDDI_Data信号设置为等于选通信号。校准数据序列字段由客户 机显示器接收的时候,所述客户机时钟恢复电路应该只使用MDDI_Stb而不是MDDI_Stb与 MDDI_DataO的异或来恢复数据时钟。根据校准数据序列字段开始时MDDI_Stb信号的准确 相位,基于发送这个分组时正在使用的接口类型,校准数据序列通常将是如下情况之一类型1-(64 字节数据序列)Oxaa, Oxaa......,,或者 0x55,0x55......类型2- (128 字节数据序列)OxccjOxcc......或者 0x33,0x33......类型3- (256 字节数据序列)OxfO, OxfO......或者 OxOf,OxOf......类型4-(512 字节数据序列)Oxff,0x00,Oxff,0x00......或者 0x00,Oxff,0x00,
Oxff......图62A和62B中分别示出了类型1和类型2接口的可能的MDDI_Data和MDDI_Stb 波形的实例。XVII.结束语虽然已经描述了本发明的各种实施例,但是应该理解的是,仅仅是以举例方式来 给出它们,而不是限制性的。因此,本发明的广度和范围不应该受到上述任何示例性实施例 的限制,而是仅仅根据如下的权利要求书及其等效物来限定。
权利要求
在移动显示数字接口(MDDI)通信系统中为反向数据链路封装分组提供安全容限的方法,所述方法包括下列步骤用往返行程延迟测量分组计算主机和客户机之间的往返行程延迟;提供用于启用主机驱动器的第一预定时段;提供用于禁用客户机驱动器的第二预定时段;在所述反向数据链路封装分组中引入转向2字段长度,所述转向2字段长度大于计算出的往返行程延迟、所述第一预定时段和所述第二预定时段三者之和。
2.在移动显示数字接口(MDDI)通信系统中为反向数据链路封装分组提供安全容限的 系统,所述系统包括计算模块,用往返行程延迟测量分组计算主机和客户机之间的往返行程延迟; 第一预定时段提供模块,提供用于启用主机驱动器的第一预定时段; 第二预定时段提供模块,提供用于禁用客户机驱动器的第二预定时段; 引入模块,在所述反向数据链路封装分组中引入转向2字段长度,所述转向2字段长度 大于计算出的往返行程延迟、所述第一预定时段和所述第二预定时段三者之和。
3.计算机程序产品,包括 计算机可读介质,包括用于在移动显示数字接口(MDDI)通信系统中为反向数据链路封装分组提供安全容限 的代码,所述计算机代码包括计算代码,用往返行程延迟测量分组计算主机和客户机之间的往返行程延迟; 第一预定时段提供代码,提供用于启用主机驱动器的第一预定时段; 第二预定时段提供代码,提供用于禁用客户机驱动器的第二预定时段; 引入代码,在所述反向数据链路封装分组中引入转向2字段长度,所述转向2字段长度 大于计算出的往返行程延迟、所述第一预定时段和所述第二预定时段三者之和。
4.在移动显示数字接口(MDDI)通信系统中用于确保在反向链路封装分组传输期间所 有数据信号都得到驱动的方法,所述方法包括下列步骤在所述反向链路封装分组的转向1时段的最后一个比特之前,禁用主机的数据线驱动器;在所述反向链路封装分组的转向1时段开始时,启用客户机的线驱动器。
5.权利要求4的方法,还包括下列步骤在从所述反向链路封装分组的全零1字段开始到全零2字段结束之间的每个比特边界 处,都翻转选通信号。
6.权利要求4的方法,其中,所述转向1时段包括用于让所述主机的线驱动器禁用和所述客户机的线驱动器启用基本同时进行的时间段。
7.权利要求4的方法,其中,所述转向1时段包括大于计算出的往返行程延迟、主机驱动器禁用时间和客户机驱动器启用时间三者之和 的时间段。
8.在移动显示数字接口(MDDI)通信系统中用于确保在反向链路封装分组传输期间所 有数据信号都得到驱动的系统,所述方法包括下列步骤禁用模块,在所述反向链路封装分组的转向1时段的最后一个比特之前,禁用主机的 数据线驱动器;启用模块,在所述反向链路封装分组的转向1时段开始时,启用客户机的线驱动器。
9.权利要求8的系统,还包括翻转模块,在从所述反向链路封装分组的全零1字段开始到全零2字段结束之间的每 个比特边界处,都翻转选通信号。
10.权利要求8的系统,其中,所述转向1时段包括用于让所述主机的线驱动器禁用和所述客户机的线驱动器启用基本同时进行的时间段。
11.权利要求8的系统,其中,所述转向1时段包括大于计算出的往返行程延迟、主机驱动器禁用时间和客户机驱动器启用时间三者之和 的时间段。
12.权利要求8的系统,其中,所述转向1时段包括大于计算出的往返行程延迟、主机驱动器禁用时间和客户机驱动器启用时间三者之和 减去所述转向1时段持续时间的时间段。
13.计算机程序产品,包括 计算机可读介质,包括在移动显示数字接口(MDDI)通信系统中用于确保在反向链路封装分组传输期间所有 数据信号都得到驱动的代码,所述计算机代码包括禁用代码,在所述反向链路封装分组的转向1时段的最后一个比特之前,禁用主机的 数据线驱动器;启用代码,在所述反向链路封装分组的转向1时段开始时,启用客户机的线驱动器。
14.权利要求13的计算机程序产品,还包括翻转代码,在从所述反向链路封装分组的全零1字段开始到全零2字段结束之间的每 个比特边界处,都翻转选通信号。
15.权利要求13的计算机程序产品,其中,所述转向1时段包括用于让所述主机的线驱动器禁用和所述客户机的线驱动器启用基本同时进行的时间段。
16.权利要求13的计算机程序产品,其中,所述转向1时段包括大于计算出的往返行程延迟、主机驱动器禁用时间和客户机驱动器启用时间三者之和 的时间段。
17.在移动显示数字接口(MDDI)通信系统中用于确保在反向链路封装分组传输期间 所有数据信号都得到驱动的方法,所述方法包括下列步骤在所述反向链路封装分组的转向2时段的最后一个比特之前,禁用客户机的数据线驱 动器;在所述反向链路封装分组的转向2时段结束前,启用主机的线驱动器。
18.权利要求17的方法,其中,在从所述反向链路封装分组的全零1字段开始到全零2 字段结束之间的每个比特边界处,都翻转选通信号。
19.权利要求17的方法,其中,在转向2时段开始后再经过与所测量往返行程延迟相等的一段时间之后,启用所述主机的线驱动器。
20.在移动显示数字接口(MDDI)通信系统中用于确保在反向链路封装分组传输期间 所有数据信号都得到驱动的系统,所述方法包括下列步骤在所述反向链路封装分组的转向2时段的最后一个比特之前,禁用客户机的数据线驱 动器;在所述反向链路封装分组的转向2时段结束前,启用主机的线驱动器。
21.权利要求20的系统,其中,在从所述反向链路封装分组的全零1字段开始到全零2 字段结束之间的每个比特边界处,都翻转选通信号。
22.权利要求20的系统,其中,在转向2时段开始后再经过与所测量往返行程延迟相等 的一段时间后,启用所述主机的线驱动器。
23.计算机程序产品,包括 计算机可读介质,包括在移动显示数字接口(MDDI)通信系统中用于确保在反向链路封装分组传输期间所有 数据信号都得到驱动的代码,所述计算机代码包括禁用代码,在所述反向链路封装分组的转向2时段的最后一个比特之前,禁用客户机 的数据线驱动器;启用代码,在所述反向链路封装分组的转向2时段结束前,启用主机的线驱动器。
24.权利要求20的计算机程序产品,其中,在从所述反向链路封装分组的全零1字段开 始到全零2字段结束之间的每个比特边界处,都翻转选通信号。
25.权利要求20的计算机程序产品,其中,在转向2时段开始后再经过与所测量往返行 程延迟相等的一段时间后,启用所述主机的线驱动器。
26.在移动显示数字接口(MDDI)通信系统中用于在客户机设备中确保可靠时钟恢复 的方法,所述方法包括下列步骤在所述客户机设备中维持数据启用信号;使用选通信号和数据信号,在所述客户机设备中生成恢复时钟;接收由主机发出的全零1字段;在所述客户机设备中不维持数据启用信号;仅仅根据所述选通信号在所述客户机设备中生成恢复时钟。
27.权利要求26的方法,还包括下列步骤 由所述主机发送转向1字段。
28.在移动显示数字接口(MDDI)通信系统中用于在客户机设备中确保可靠时钟恢复 的系统,所述系统包括在所述客户机设备中维持数据启用信号的模块;使用选通信号和数据信号在所述客户机设备中生成恢复时钟的模块;接收由主机发出的全零1字段的模块;在所述客户机设备中不维持数据启用信号的模块;仅仅根据所述选通信号在所述客户机设备中生成恢复时钟的模块。
29.权利要求28的方法,还包括用于让所述主机发送转向1字段的模块。
30.计算机程序产品,包括 计算机可读介质,包括在移动显示数字接口(MDDI)通信系统中用于在客户机设备中进行可靠时钟恢复的代 码,所述计算机代码包括在所述客户机设备中维持数据启用信号的代码;使用选通信号和数据信号在所述客户机设备中生成恢复时钟的代码;让全零1字段由客户机接收和由主机发送的代码;在所述客户机设备中不维持数据启用信号的代码;仅仅根据所述选通信号在所述客户机设备中生成恢复时钟的代码。
31.权利要求30的计算机程序产品,还包括 由所述主机发送转向1字段。
32.在移动显示数字接口(MDDI)通信系统中用于在客户机设备中确保可靠时钟恢复 的方法,所述方法包括下列步骤仅仅根据选通信号在所述客户机设备中生成恢复时钟;主机发送转向2字段;接收由主机发送的全零2字段;在所述客户机设备中维持数据启用信号;根据选通信号和数据信号在所述客户机设备中生成恢复时钟。
33.在移动显示数字接口(MDDI)通信系统中用于在客户机设备中确保可靠时钟恢复 的系统,所述系统包括仅仅根据选通信号在所述客户机设备中生成恢复时钟的模块;让主机发送转向2字段的模块;接收由主机发送的全零2字段的模块;在所述客户机设备中维持数据启用信号的模块;根据选通信号和数据信号在所述客户机设备中生成恢复时钟的模块。
34.计算机程序产品,包括 计算机可读介质,包括在移动显示数字接口(MDDI)通信系统中用于在客户机设备中进行可靠时钟恢复的代 码,所述计算机代码包括仅仅根据选通信号在所述客户机设备中生成恢复时钟的代码;让主机发送转向2字段的代码;接收由主机发送的全零2字段的代码;在所述客户机设备中维持数据启用信号的代码;根据选通信号和数据信号在所述客户机设备中生成恢复时钟的代码。
35.在移动显示数字接口(MDDI)通信系统中用于验证链路同步的方法,所述方法包括 下列步骤从主机向客户机发送往返行程延迟测量分组;搜寻所述客户机对所发送往返行程延迟测量分组的预定响应。
36.权利要求35的方法,其中,所述预定响应包括正确的响应。
37.权利要求36的方法,还包括下列步骤 继续进行休眠过程。
38.权利要求35的方法,其中,所述搜寻步骤包括判断所述客户机是否已经对所述往返行程延迟测量分组做出了不正确响应。
39.权利要求38的方法,还包括下列步骤 启动再同步过程。
40.权利要求38的方法,还包括下列步骤 重发所述往返行程延迟测量分组。
41.权利要求40的方法,还包括下列步骤 所述主机降低反向数据速率。
42.权利要求38的方法,其中,不正确的响应包括没有响应。
43.在移动显示数字接口(MDDI)通信系统中用于验证链路同步的系统,所述系统包括发送模块,用于从主机向客户机发送往返行程延迟测量分组; 搜寻模块,用于搜寻所述客户机对所发送往返行程延迟测量分组的预定响应。
44.权利要求43的系统,其中,所述预定响应包括正确的响应。
45.权利要求44的系统,还包括 用于继续进行休眠过程的模块。
46.权利要求43的系统,其中,所述搜寻模块包括用于判断所述客户机是否已经对所述往返行程延迟测量分组做出了不正确响应的模块。
47.权利要求46的系统,还包括 用于启动再同步过程的模块。
48.权利要求46的系统,还包括用于重发所述往返行程延迟测量分组的模块。
49.权利要求48的系统,还包括 用于降低反向数据速率的模块。
50.权利要求46的系统,其中,不正确的响应包括没有响应。
51.计算机程序产品,包括 计算机可读介质,包括在移动显示数字接口(MDDI)通信系统中用于验证链路同步的代码,所述计算机代码 包括发送代码,用于从主机向客户机发送往返行程延迟测量分组; 搜索代码,用于搜寻所述客户机对所发送往返行程延迟测量分组的预定响应。
52.权利要求51的计算机程序产品,其中,所述预定响应包括正确的响应。
53.权利要求52的计算机程序产品,还包括 用于继续进行休眠过程的代码。
54.权利要求51的计算机程序产品,其中,用于搜寻预定响应的代码包括用于判断所述客户机是否已经对所述往返行程延迟测量分组做出了不正确响应的代码。
55.权利要求54的计算机程序产品,还包括 用于启动再同步过程的代码。
56.权利要求54的计算机程序产品,还包括 用于重发所述往返行程延迟测量分组的代码。
57.权利要求56的计算机程序产品,还包括 用于让所述主机降低反向数据速率的代码。
58.权利要求54的计算机程序产品,其中,不正确的响应包括没有响应。
全文摘要
一种数据接口,其使用链接在一起的分组结构来经由通信路径在主机和客户机之间传送数字数据,所述分组结构链接起来而形成用于传递数字控制和呈现数据的预选集合的通信协议。所述信号协议由链路控制器使用,所述链路控制器被配置成生成、传输并且接收形成通信协议的分组,并且使数字数据形成为一种或多种类型的数据分组,其中至少一个链路控制器驻留在主机设备中并且通过通信路径耦合至客户机。所述接口经由短程“串行”类型的数据链路提供划算的、低功率、双向、高速数据传送机制,这使其能够利用那些特别适用于将诸如可佩带的微型显示器的显示器元件连接到便携式计算机以及无线通信设备的小型连接器和细软电缆来实现。
文档编号G06F15/16GK101867516SQ20101018325
公开日2010年10月20日 申请日期2004年12月8日 优先权日2003年12月8日
发明者乔恩·詹姆斯·安德森, 乔治·A·威利, 布赖恩·斯蒂尔, 沙尚克·谢卡尔 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1