高数据速率接口设备和方法

文档序号:7948446阅读:448来源:国知局
专利名称:高数据速率接口设备和方法
技术领域
此揭示案中的本发明实施例涉及数字信号协议、过程、方法步骤和包括集成电路和一个或一个以上电子组件的用于以高数据速率在主机装置与客户机装置之间通信或传递信号的的设备。更具体地说,本揭示案涉及一种用于使用具有内部和外部装置应用的低功率高数据速率传递机构将多媒体和其它类型的数字信号从主机或控制器装置传递到客户机装置以呈现或显示给最终用户的技术。
背景技术
近几年来,计算机、电子游戏相关产品和各种视频技术(例如数字多用途光盘DVD和高清晰度VCR)已经得到显著进步以便将越来越高分辨率的静止、视频、视频点播和图形图像(甚至在包括一些类型的文本时)呈现给此类装备的最终用户。这些进步又要求使用更高分辨率的电子观看装置,例如高清晰度视频监视器、高清晰度电视(HDTV)监视器或专业图像投影元件。此类视觉图像与(例如)在使用光盘(Compact Disc,CD)类型的声音再现、DVD、环绕声和其它也具有相关音频信号输出的装置时所具有的高清晰度或高质量音频数据的结合被用于为最终用户创造更逼真、内容丰富或真实的多媒体体验。
另外,已经为了对最终用户进行纯音频表现而开发了高度灵活机动、高质量的音响系统和音乐输送机构,例如MP3播放器。这已经导致现在习惯于且期待高质量或优质输出的商业电子装置(从计算机到电视和甚至电话)的典型用户的期望越来越大。此外,现在为来自例如电视或电影制片厂和体育俱乐部或机构的内容提供者的图像播放(延迟或实时的)提出了各种便携式装置和无线接收器。
在涉及电子产品的典型视频呈现场景中,通常使用现有技术以可最贴切地称为缓慢或中等的大约每秒1到数十千位的速率来传递视频数据。接着将此数据缓存或存储在瞬时或较长期的存储器装置中,以用于在所需的观看装置上进行延迟的(稍后)播放。举例来说,可使用常驻在具有调制解调器或其它类型的因特网连接装置的计算机上的程序而“越过”或使用因特网来传递图像,以接收或传输适用于数字地表现图像的数据。可使用例如配备有无线调制解调器的便携式计算机,或无线个人数据助理(PDA),或无线电话的无线装置来进行类似的传递。
一旦接收到,就将数据本地地存储在存储器元件、电路或装置中以供播放,所述存储器元件、电路或装置可例如随机存取存储器(RAM)或闪存,包括内部或外部存储装置,例如小尺寸硬盘驱动器。视数据量和图像分辨率而定,可相对较快地开始播放,或在较长期的延迟后进行呈现。即,在一些情况下,图像呈现允许对于不要求很多数据的非常小或低分辨率图像的某种程度的实时播放,或使用某种类型的缓冲,使得在一小段延迟后,一些材料被呈现而更多的材料正被传递。假如传递链路中无中断,或没有来自其它系统或用户的对所使用传递信道的干扰,那么一旦呈现开始,所述传递对于观看装置的最终用户来说就是相当透明的。当然,在多个用户共享单个通信路径(例如有线因特网连接)的情况下,传递可被中断或比需要的慢。
通常使用几种众所周知的技术中的一种来压缩用于创建静止图像或运动视频的数据以加快数据在通信链路上的传递,所述已知技术可为例如由联合图像专家组(JPEG)、运动图片专家组(MPEG)和媒体、计算机和通信行业中其它众所周知的标准组织或公司所规定的那些技术。这允许通过使用较小数目的位传递给定量的信息来更快地传递图像或数据。
一旦将数据传递到“本地”装置,例如具有存储机构(例如存储器或磁性或光学存储元件)的计算机,或传递到其它接收装置,结果信息被解压缩(或使用特殊解码播放器来播放),且根据需要解码,且基于对应的可用呈现分辨率和控制元件来为适当的呈现作准备。举例来说,根据X乘以Y像素的屏幕分辨率来说,典型的计算机视频分辨率的范围通常从低至480×640像素,经过600×800到1024×1024,尽管根据期望或需要,多种其它分辨率通常也是可能的。
图像呈现还受到图像内容和给定视频控制器根据某些预定义的颜色等级或色深度(用于产生颜色的每像素位数)和亮度来操纵图像的能力和所利用的任何额外开销位的影响。举例来说,尽管可能碰到其它值,但典型的计算机呈现将会用从每像素约8到32或更多数目的位中的任何每像素位数来表现各种颜色(阴影和色调)。
从上述值中我们可了解,在从最低到最高典型分辨率和色深度的范围上,给定屏幕图像将要求分别传递从2.45兆位(Mb)到约33.55Mb中任何数量的数据。当以每秒30帧的速率观看视频或运动类型图像时,所需的数据的量约为每秒73.7到1,006兆位数据(Mbps),或约为9.21到125.75兆字节/秒(MBps)。另外,可能期望结合图像来呈现音频数据(例如用于多媒体呈现),或作为单独的高分辨率音频呈现(例如CD质量的音乐)来呈现音频数据。还可利用处理交互式命令、控制或信号的额外信号。这些选项中的每一者都添加甚至更多的要传递的数据。此外,涉及HDTV和电影录像的较新的传输技术可添加更多数据和控制信息,在任何情况下,当期望将高质量或高分辨率图像数据和高质量音频信息或数据信号传递给最终用户以创造内容丰富的体验时,在呈现元件与经配置以提供这种类型的数据的源或主机装置之间都需要高数据传递速率链路。
约115千字节/秒(KBps)或920千位/秒(Kbps)的数据速率可由一些现代串行接口常规地处理。例如USB串行接口的其它接口可适应以高达12MBps的速率进行数据传递,且专门的高速传递(例如那些经配置成使用电气电子工程师协会(IEEE)1394标准的高速传递)可以大约100到400MBps的速率进行。遗憾地是,这些速率未达到上文所论述的所需高数据速率,预期所述高数据速率将配合未来的无线数据装置和用于提供高分辨率的、内容丰富的输出信号的其它服务一起使用以驱动便携式视频显示器或音频装置。这包括用于商务和其它呈现的计算机、游戏装置等等。另外,这些接口要求使用相当大量的主机或系统及客户机软件来操作。它们的软件协议栈还会产生不合乎需要的大量开销,尤其是在考虑移动无线装置或电话应用的情况下。此类装置具有严格的存储器和功率消耗限制,以及负担已经很重的计算能力。此外,这些接口中的一些利用笨重的电缆(其太重且不满足高度以美观为着眼点的移动应用),复杂的连接器(其增加成本),或仅仅消耗太多的功率。
存在其它已知接口,例如模拟视频图形适配器(Analog Video Graphics Adapter,AVGA)、数字视频交互(DVI)或千兆位视频接口(GVIF)接口。这些接口中的前两者是并行类型接口,其以更高传递速率处理数据,但也利用较重的电缆且消耗大量的功率,大约几瓦。这些特征都不服从与便携式消费性电子装置一起使用的需要。甚至第三种接口也消耗太多功率且使用昂贵或笨重的连接器。
对于上述接口中的一些和与固定安装计算机装备的数据传递相关的其它极高速率的数据系统/协议或传递机构来说,存在另一主要缺点。为了适应所需的数据传递速率,还需要相当大量的功率和/或在高电流电平下的操作。这大大减少了此类技术对高度移动的消费性导向的产品的有用性。
通常,为了使用例如光纤类型连接件和传递元件的替代物来适应此类数据传递速率,还需要若干额外转换器和元件,其会引入比真正的商用消费性导向的产品所需要的复杂性和成本多得多的复杂性和成本。除光学系统到目前为止通常较昂贵的特性之外,它们的功率要求和复杂性阻止了在轻重量、低功率、便携式应用中的一般使用。
在本行业中对于便携式、无线或移动应用所缺乏的是为高度灵活机动的最终用户提供高质量呈现体验(不管是基于音频、视频还是基于多媒体的)的技术。即,当使用便携式计算机、无线电话、PDA或其它高度移动通信装置或设备时,当前所使用的视频和音频呈现系统或装置完全不能以所需的高质量等级来提供输出。通常,所察觉到的有所欠缺的质量是由于不能获得需要用来传递高质量呈现数据的高数据速率而导致。这可包括传递到更有效的、高级的或功能强大的外部装置以呈现给最终用户,或在主机与在例如计算机、游戏机和无线装置(例如移动电话)的便携式装置内的客户机之间传递。
在此后者情况下,在添加越来越高分辨率的内部视频屏幕和其它专用输入和/或输出装置和连接件到如所谓的第三代电话的无线装置及到所谓的膝上型计算机方面已经取得了较大的进步。然而,内部数据总线和连接件可包括跨越旋转铰链或铰链状结构或滑动接触结构,所述结构将视频屏幕或其它元件安装或连接到主壳体,主机和/或各种其它控制元件和输出组件位于所述主壳体处。这些总线和连接件通常是高带宽或高处理量接口。使用现有技术来构造高处理量数据传递接口是非常困难的,在(例如)无线电话上可能需要多达90个导体或更多导体来达到所需的处理量。当前的解决方案通常涉及利用具有相对较高信号电平的并行类型接口,这可导致连接的成本更高、更不可靠且可能产生会干扰装置功能的辐射。这提出了很多要克服的在制造、成本和可靠性方面的具有挑战性的问题。
还可在固定位置设备上发现此类问题和要求,在所述固定位置设备处,(例如)通信或计算类型装置被添加到电器和其它消费性装置以提供高级的数据处理能力、因特网和数据传递连接或内嵌娱乐功能。另一实例将为飞机和公共汽车,其中个别视频和音频呈现屏幕安装在座椅靠背中。然而,在这些情形下,使主存储元件、处理元件或通信控制元件位于离具有互连链路或信道的用于呈现信息的可见屏幕或音频输出端一段距离处通常是较为方便、有效且容易使用的。如上文所论述,此链路将需要处理相当大量的数据以达到所需的处理量。
因此,需要新的传递机构来增加在提供数据的主机装置与向最终用户呈现输出的客户机显示装置或元件之间的数据处理量。
申请人已经在2001年12月14日申请的序号为10/020,520的美国专利申请案(现在为2004年7月6日颁发给Zou等人的第6,760,772号美国专利)和2002年9月6日申请的序号为10/236,657的美国专利申请案中提出了此类新颖传递机构,所述两个美国专利申请案都题为“Generating And Implementing A Communication Protocol And Interface ForHigh Data Rate Signal Transfer”,两者都转让给本发明的受让人且以引用的方式并入本文中。同样,2004年6月2日申请了题为“Generating and Implementing a Signal Protocol andInterface for Higher Data Rates”的序号为10/860,116的美国专利申请案。那些申请案中所论述的技术可大大提高高速数据信号中大量数据的传递速率。然而,对不断增加的数据速率(尤其与视频呈现有关)的需求持续增长。即使具有数据信号技术方面的其它正在进行的开发,仍然需要争取获得更快的传递速率、改进的通信链路效率和更强大的通信链路。因此,不断需要开发增加主机与客户机装置之间的数据处理量所需的新的或改进的传递机构。

发明内容
此项技术中存在的上述缺点和其它缺点由本发明的实施例来解决,在本发明中,开发了新的协议和数据传递装置、方法和机构以用于以高数据速率在主机装置与接收客户机装置之间传递数据。
本发明的实施例针对用于经由通信路径在主机装置与客户机装置之间以高速率传递数字数据的移动数据数字接口(MDDI),其利用复数个或一连串包结构以形成用于在主机与客户机装置之间传送一组预选数字控制与呈现数据的通信协议。信号通信协议或链路层由主机或客户机链路控制器、接收器或驱动器的物理层使用。位于主机装置中的至少一个链路控制器或驱动器通过通信路径或链路耦联到客户机装置,且经配置以产生、传输并接收形成通信协议的包,且将数字呈现数据形成为一种或一种以上类型的数据包。接口提供在主机与客户机之间的双向信息传递,所述主机和客户机可位于共用整体壳体或支撑结构内。
除可容易地建构在数字互补金属氧化物半导体(CMOS)芯片上的差动驱动器和接收器之外,实施在性质上通常完全是数字式的,需要少数几个(如6个)信号且可在几乎任何对系统设计者来说方便的数据速率下操作。简单的物理和链路层协议使集成变得容易,且此简单性加上休眠状态使便携式系统能够具有非常低的系统功率消耗。
为了有助于使用和接受,所述接口对装置成本增加非常少的部分;将允许消耗非常少的功率,同时能够使用标准电池电压经由所述接口来对显示器供电;且可适应具有可放入口袋的形状因素的装置。所述接口可按比例缩放以支持超过HDTV的分辨率;支持同时的立体声视频和显示装置的7.1音频;对任何屏幕区域执行条件更新;且支持两个方向上的多种数据类型。
在本发明实施例的其他方面,至少一个客户机链路控制器、接收器、装置或驱动器安置在客户机装置中且通过通信路径或链路耦联到主机装置。客户机链路控制器还经配置以产生、传输并接收形成通信协议的包,且将数字呈现数据形成为一种或一种以上类型的数据包。通常,主机或链路控制器利用状态机来处理在命令或某些类型的信号预备和查询处理中所使用的数据包,但可使用更缓慢的通用处理器来操纵数据和通信协议中所使用的某些较不复杂的包。主机控制器包含一个或一个以上差分线驱动器;而客户机接收器包含耦联到通信路径的一个或一个以上差分线接收器。
包在传送于主机和客户机装置之间的具有预定义的固定长度的媒体帧内集中到一起,其中媒体帧具有预定数目的具有不同的可变长度的包。所述包中的每一者都包含一包长度字段、一个或一个以上包数据字段和一循环冗余校验字段。子帧标头包传递于或位于从主机链路控制器传递其它包的开始。一个或一个以上视频流类型的包和音频流类型的包由通信协议分别用来在前向链路上将视频类型数据和音频类型数据从主机传递到客户机以呈现给客户机装置用户。一个或一个以上反向链路封装类型的包由通信协议用来将数据从客户机装置传递到主机链路控制器。这些传递在一些实施例中包括将数据从具有至少一个MDDI装置的内部控制器传递到内部视频屏幕。其它实施例包括传递到内部声音系统,和从包括操纵杆和复杂键盘的各种输入装置传递到内部主机装置。
填充符类型的包由主机链路控制器产生以占据前向链路传输的不具有数据的时期。复数个其它包由通信协议用来传递视频信息。此类包包括色彩图(Color Map)、位图块传递(Bitmap Block Transfer)、位图区域填充(Bitmap Area Fill)、位案填充和透明色启用型(Transparent Color Enable type)包。用户定义流类型的包由通信协议用来传递接口-用户定义的数据。键盘数据和指示装置数据类型的包由通信协议用来将数据传递到与所述客户机装置相关的用户输入装置或从所述用户输入装置传递数据。链路关闭类型的包由通信协议用来终止数据经由所述通信路径在任一方向上的传递。
产生显示器功率状态包以提供用于在例如显示器的客户机未被使用或处于当前有效使用中时将特定显示器控制器硬件置于低功率状态的结构、装置或方法,以便最小化系统功率消耗或对系统资源的消耗。在一个实施例中,客户机使用客户机能力包的客户机特征能力指示符字段(Client Feature Capability Indicators field)的位9来指示响应于显示器功率状态包的能力。
显示器功率状态包的一个实施例的格式,此类型的包经构造成具有包长度、包类型、hClient ID、功率状态和循环冗余校验(CRC)字段。在2字节类型的字段中通常将此类型的包标识为类型75(Type 75)包。2字节的hClient ID字段含有为客户机ID保留的信息或值。功率状态字段指定了用于根据某些预选位的值而将特定显示器置于指定功率状态的信息。2字节的CRC字段指定或含有包中的所有字节(包括包长度字段)的CRC。
通信路径通常包含或利用具有一连串四个或四个以上导体和一屏蔽物的电缆。另外,可根据需要使用印刷线路或导体,其中一些线路或导体位于柔性衬底上。
主机链路控制器从客户机装置请求显示能力信息,以便确定所述客户机能够通过所述接口接受什么类型的数据和数据速率。客户机链路控制器使用至少一个客户机能力类型的包来将显示或呈现能力传送到主机链路控制器。通信协议使用多个传递模式,其中每一模式允许在给定时段期间并行地传递不同的最大数目的位的数据,可通过主机与客户机链路控制器之间的协商来选择每个模式。这些传递模式在传递数据期间可动态地调节,且用在前向链路上的模式无需与用在反向链路上的模式相同。
本发明的一些实施例的其它方面,主机装置包含无线通信装置,例如无线电话、无线PDA、或其中设置有无线调制解调器的便携式计算机。典型的客户机装置包含便携式视频显示器(例如微显示装置)和/或便携式音频呈现系统。此外,主机可使用存储装置或元件来存储将被传递以呈现给客户机装置用户的呈现数据或多媒体数据。
在一些实施例的其它方面,主机装置包含控制器或通信链路控制装置,其中如下文所述的驱动器位于例如无线通信装置的便携式电子装置内,所述无线通信装置可例如无线电话、无线PDA或便携式计算机。此配置中的典型客户机装置包含客户机电路或集成电路或模块,其耦联到主机且位于同一装置内,且耦联到例如用于移动电话的高分辨率屏幕的内部视频显示器,和/或便携式音频呈现系统,或者某类型的输入系统或装置。


下文参看附图详细描述本发明的各个实施例的进一步特征和优势以及结构和操作。在附图中,相似参考数字通常指示相同、功能上类似和/或结构上类似的元件或处理步骤。
图1A说明本发明实施例可在其中操作的基本环境,包括使用与便携式计算机或其它数据处理装置结合的微显示装置或投影仪。
图1B说明本发明实施例可在其中操作的基本环境,包括使用微显示装置或投影仪,和结合无线收发器来使用的音频呈现元件。
图2A说明本发明实施例可在其中操作的基本环境,包括使用用于便携式计算机中的内部显示器或音频呈现装置。
图2B说明本发明实施例可在其中操作的基本环境,包括使用用于无线收发器中的内部显示器或音频呈现元件。
图3说明具有主机与客户机通信或连接的MDDI的总体概念。
图4说明适用于实现从客户机装置到主机装置的数据传递的包的结构。
图5说明对于类型1接口的MDDI链路控制器的使用和经由物理数据链路导体在主机与客户机之间传送的信号类型。
图6说明对于类型2、3和4接口的MDDI链路控制器的使用和经由物理数据链路导体在主机与客户机之间传送的信号的类型。
图7说明用于建构接口协议的帧和子帧的结构。
图8说明用于建构接口协议的包的一般结构。
图9说明子帧标头包的格式。
图10说明填充符包的格式和内容。
图11说明视频流包的格式。
图12A-12E说明图11中所使用的视频数据格式描述符的格式和内容。
图13说明数据的压缩和未压缩格式的使用。
图14说明音频流包的格式。
图15说明数据的字节对齐和压缩的PCM格式的使用。
图16说明用户定义流包的格式。
图17说明色彩图包的格式。
图18说明反向链路封装包的格式。
图19说明客户机能力包的格式。
图20说明键盘数据包的格式。
图21说明指示装置数据包的格式。
图22说明链路关闭包的格式。
图23说明客户机请求与状态包的格式。
图24A说明位图块传递包的格式。
图24B说明对实施本发明的实施例有用的示范性光栅操作的数据流。
图25说明位图区域填充包的格式。
图26说明位案填充包的格式。
图27说明读取帧缓冲包的格式。
图28说明显示器功率状态包的格式。
图29说明执行类型切换包的格式。
图30说明前向音频信道启用包的格式。
图31说明反向音频采样率包的格式。
图32说明数字内容保护开销包的格式。
图33说明透明色和遮罩设置包的格式。
图34说明往返延迟测量包的格式。
图35说明在往返延迟测量包期间的事件的时序。
图36说明对实施本发明有用的CRC产生器和校验器的样本实施方案。
图37A说明在发送数据包时图36的设备的CRC信号的时序。
图37B说明在接收数据包时图36的设备的CRC信号的时序。
图38A和38B说明与标准差动接收器相比的特殊低功率差动接收器的示范性特性。
图39A说明不具有争用的典型服务请求的处理步骤。
图39B说明在链路重启动序列已经开始后确立的典型服务请求的处理步骤,与链路启动竞争。
图39A中说明了不具有争用的典型客户机服务请求事件3800的处理步骤的实例,图39B中说明了类似的实例,其中在链路重启动序列已经开始后确立服务请求,且使用所述再次标记事件。
图40说明如何可使用DATA-STB编码来传输数据序列。
图41说明适用于从主机处的输入数据产生DATA和STB信号且然后在客户机处恢复所述数据的电路。
图42A说明用于传递适用于实施一个实施例的信号的驱动器和端接。
图42B说明差动电流模式驱动器的方框图。
图43A-43C说明由客户机用来从主机获取服务且由主机用来提供此类服务的步骤和信号电平。
图44说明在Data0、其它数据线(DataX)和选通线(Stb)上的转变之间的相对间距。
图45说明当主机在传递包后禁用主机驱动器时可发生的响应延迟的出现。
图46说明在主机启用主机驱动器以传递包时可发生的响应延迟的出现。
图47说明泄漏电流分析。
图48说明主机和客户机输出启用和禁用时间的转换特征和相对时序关系。
图49说明可使用状态机借以实施同步的信号处理步骤和条件的高等级图。
图50说明利用MDDI的系统中的前向和反向路径上的信号处理所遇到的延迟的典型量。
图51说明边际往返延迟测量。
图52A说明反向链路数据速率变化。
图52B说明高级反向数据采样的实例。
图53说明反向速率除数比前向链路数据速率的值的图形表示。
图54A和54B说明在接口的操作中所采取的步骤。
图55说明接口设备处理包的概观。
图56说明前向链路包的格式。
图57说明类型1链路接口中的传播延迟和偏斜的典型值。
图58说明用于通过接口的示范性信号处理的在类型1链路上的数据、Stb和时钟恢复时序。
图59说明类型2、类型3或类型4链路接口中的传播延迟和偏斜的典型值。
图60A、60B和60C说明两个数据信号和MDDI_Stb相对于彼此的时序的不同可能性,分别为理想、早和晚。
图61说明用于通过接口的示范性信号处理的具有延迟偏斜补偿电路的典型类型2前向链路。
图62A和62B分别说明类型1和类型2接口两者的可能MDDI_Data和MDDI_Stb波形。
图63说明可使用状态机借以实施同步的替代信号处理步骤和条件的高等级图。
图64说明一连串时钟循环与各个反向链路包的位和除数值的时序之间的示范性相对时序。
图65说明示范性错误代码传递处理。
图66说明对错误代码传递处理有用的设备。
图67A说明用于代码过载的错误代码传递处理。
图67B说明用于代码接受的错误代码传递处理。
图68A说明用于主机起始的唤醒(host initiated wake-up)的处理步骤。
图68B说明用于客户机起始的唤醒的处理步骤。
图68C说明具有争用的主机和客户机起始的唤醒的处理步骤。
图69说明请求虚拟控制面板(VCP)特征包的格式。
图70说明VCP特征回复包的格式。
图71说明VCP特征回复列表的格式。
图72说明设定VCP特征包的格式。
图73说明请求有效参数包的格式。
图74说明有效参数回复包的格式。
图75说明按比例缩放的视频流能力包的格式。
图76说明按比例缩放的视频流设置包的格式。
图77说明按比例缩放的视频流确认包的格式。
图78说明按比例缩放的视频流包的格式。
图79说明请求特定状态包的格式。
图80说明有效状态回复列表包的格式。
图81说明个人显示器能力包的格式。
图82说明场曲率点列表中的要素。
图83说明客户机错误报告包的格式。
图84说明错误报告列表项目的格式。
图85说明客户机标识包的格式。
图86说明替代显示器能力包的格式。
图87说明寄存器存取包的格式。
图88A-88C说明使用两个显示缓冲器来减少可见假象。
图89说明显示刷新比图像传递快的情况下的两个缓冲器。
图90说明显示刷新比图像传递慢的情况下的两个缓冲器。
图91说明显示刷新比图像传递快得多的情况下的两个缓冲器。
图92说明显示刷新比图像传递快的情况下的三个缓冲器。
图93说明显示刷新比图像传递慢的情况下的三个缓冲器。
图94说明显示刷新比图像传递快的情况下的一个缓冲器。
图95说明经由雏菊链(daisy-chain)和集线器的主机-客户机连接。
图96说明经由集线器与雏菊链的组合而连接的客户机装置。
图97说明色彩图。
图98说明在数据传递配置中使用一个以上客户机。
图99说明在具有两个客户机的传输线上使用无端接短截线的应用。
具体实施例方式
I.概观本发明的一般目的是提供一种MDDI,如下文所论述,其导致或提供节约成本的、低功率消耗的传递机构,所述传递机构使用“串行”类型的数据链路或信道来启用在主机装置与客户机装置(例如显示元件)之间经由短距离通信链路的高速或极高速的数据传递。此机构适合于具有微型连接器和薄柔性电缆的实施方案,所述微型连接器和薄柔性电缆尤其适用于将内部(在壳体或支撑框架内部)显示器或输出元件或装置或输入装置连接到中央控制器或通信元件或装置。另外,此连接机构对于将例如可佩戴微显示器(护目镜或投影仪)的外部显示元件或装置或其它类型的视觉、听觉、触觉信息呈现装置连接到便携式计算机、无线通信装置或娱乐装置非常有用。
尽管术语移动和显示与协议的命名相关,但应了解,这只是为了方便,考虑到具有处理接口和协议的所属领域的技术人员容易理解的标准名称。因为其将与视频电子标准协会(VESA)标准和所述标准的各种应用有关。然而,在查看下文所呈现的实施例后,将容易了解很多非移动和非显示有关的应用将从此协议、所得接口结构或传递机构的应用受益,且不希望MDDI标签暗含对本发明或其各个实施例的性质或有用性的任何限制。
本发明的实施例的优势在于为数据传递提供一种技术,其复杂性低、成本低、具有高可靠性、在使用环境内相当合适、且非常鲁棒(robust),同时保持非常灵活。
本发明的实施例可在多种情形下用来将来自产生、操纵(例如用于传递到特定装置)、或以另外的方式处理、或存储数据的主机或源装置的通常用于音频、视频或多媒体应用的大量数据以高速率通信或传递到客户机或接收装置,例如视频显示或投影元件、音频扬声器或其它呈现装置。下文所论述的典型应用是将数据从便携式计算机或无线电话或调制解调器传递到视觉显示装置,例如小型视频屏幕或可佩戴微显示器设备(例如采取含有小投影透镜和屏幕的护目镜或头盔的形式),或将数据从主机传递到此类组件内的客户机装置。即,从处理器或控制器到内部屏幕或其它呈现元件,以及从利用客户机的各种内部(或外部)输入装置到位于内部的(共同位于同一装置壳体或支撑结构内)主机,或通过电缆或导体连接到主机。
MDDI的特征或属性使得它们独立于特定的显示或呈现技术。这是一种与数据的内部结构和所属机构实施的数据或命令的功能方面无关的用于以高速率传递数据的高度灵活的机构。这允许所传递的数据包的时序经调节以适合于特定客户机装置的特质,例如用于某些装置的特殊显示要求,或满足一些视听(A-V)系统的组合音频与视频的要求,或用于某些例如操纵杆、触摸板等等的输入装置。只要遵循选定协议,接口就是与显示元件或客户机装置非常无关的(display element or client device agnostic)。另外,总计的串行链路数据或数据速率可在若干数量级上变化,这允许通信系统或主机装置设计者优化成本、功率要求、客户机装置复杂性和客户机装置更新速率。
提供数据接口主要用于在“有线”信号链路或小电缆上传递大量高速率数据。然而,一些应用还可利用无线链路,包括基于光学的链路,只要其经配置以使用为接口协议开发的相同包和数据结构,且可以足够低的功率消耗或复杂性来承受所需等级的传递以保持实用。
II.环境在图1A和1B中可见典型的应用,其中展示便携式或膝上型计算机100和无线电话或PDA装置102分别与显示装置104和106以及音频再现系统108和112通信数据。另外,图1A展示到较大显示器或屏幕114或图像投影仪116的潜在连接,为了清楚起见,其仅在一个图中展示,但也可连接到无线装置102。无线装置可在当前接收数据或先前已经将某一量的多媒体类型数据存储在存储器元件或装置中以供稍后的呈现,以便被无线装置的最终用户观看到和/或听到。由于典型的无线装置大多数时候用于语音和简单的文本通信,所以其具有相当小的显示屏幕和简单的音频系统(扬声器)以向装置102的用户传送信息。
计算机100具有大得多的屏幕,但仍没有足够的外部声音系统,且仍达不到例如高清晰度电视或电影屏幕的其它多媒体呈现装置的标准。出于说明的目的而使用计算机100,且其它类型的处理器、互动式电子游戏或消费性电子装置也可与本发明一起使用。计算机100可利用(但不限于或不受限于)无线调制解调器或其它用于无线通信的内嵌装置,或计算机100可根据需要使用电缆或无线链路连接到此类装置。
这使更复杂或“丰富”的数据的呈现成为不够有用或不够有趣的体验。因此,业界正在开发其它的机构和装置来将信息呈现给最终用户且提供最小程度的所需乐趣或积极体验。
如先前在上文所论述,几种类型的显示装置已经被开发或当前正被开发以用于将信息呈现给装置100的最终用户。举例来说,一个或一个以上公司已经开发了多组可佩戴护目镜,其在装置用户的眼睛前方投射图像以提供可见显示。当正确地定位时,此类装置有效地“投射”虚拟图像(如由用户的眼睛所察觉),所述虚拟图像比提供可见输出的元件大得多。即,非常小的投影元件允许用户的眼睛“看见”比典型的液晶显示器(LCD)屏幕和其类似物的可能显示规模大得多的规模的图像。对更大虚拟屏幕图像的使用还允许使用具有比通过更有限制的LCD屏幕显示器所能获得的分辨率高得多的分辨率的图像。其它显示装置可包括(但不限于)小LCD屏幕或各种平板显示元件、用于将图像投射在表面上的投影透镜和显示器驱动器等等。
还可能存在连接到用于将输出呈现给另一用户的无线装置102或计算机100或与无线装置102或计算机100的使用相关,或连接到又将信号传递到其它地方或存储信号的另一装置的额外元件。举例来说,数据可存储在闪存中,以光学形式(例如通过使用可写入CD媒体)存储,或存储在磁性媒体上,例如存储在磁带记录器和类似装置中,以供随后使用。
另外,现在很多无线装置和计算机具有内嵌MP3音乐解码能力,以及其它先进的声音解码器和系统。一般来说,便携式计算机利用CD和DVD播放能力,且一些便携式计算机具有小型专用闪存读取器,以用于接收预记录的音频文件。伴随此类能力而来的问题在于数字音乐文件或许可提供高度增加的特征丰富的体验,但只有在解码和播放过程可满足要求时才能实现。对于数字视频文件也是如此。
为了帮助声音再现,图1A中展示外部扬声器114,其还可伴随有额外元件,例如超重低音炮(sub-woofer),或用于前和后声音投射的“环绕声”扬声器。同时,将扬声器或耳机108指示为内嵌于图1B的微显示装置106的支撑框架或机构内。如将知晓,可使用其它音频或声音再现元件,包括功率放大或声音成形装置。
在任一情况下,如上文所论述,当希望在一个或一个以上通信链路110上将高质量或高分辨率图像数据和高质量音频信息或数据信号从数据源传递到最终用户时,需要高数据速率。即,如先前所论述,传递链路100无疑是数据通信中的潜在瓶颈,且限制系统性能,因为当前的传递机构达不到通常所需的高数据速率。如上文举例论述,对于例如1024×1024像素的较高图像分辨率(具有每像素24-32位的色深度且以30fps的数据速率)来说,数据速率可接近超过755Mbps或更多的速率。另外,可将此类图像呈现为多媒体呈现的一部分,所述多媒体呈现包括音频数据和处理互动式游戏或通信的潜在的额外信号,或各种命令、控制或信号,从而进一步增加数量或数据和数据速率。
同样清楚的是,建立数据链路需要较少电缆或互连,这意味着与显示器相关的移动装置更容易使用,且更有可能被更多用户所采用。这在共同使用多个装置来建立完整的视听体验的情况下尤其正确,且在显示器和音频输出装置的质量等级增加时更尤其正确。
与视频屏幕和其它输出或输入装置中的上述和其它改进中的很多有关的另一典型应用可在图1C和1D中看到,其中展示便携式或膝上型计算机130和无线电话或PDA装置140分别与“内部”显示装置134和144以及音频再现系统136和146通信数据。
在图2A和图2B中,将整体电子装置或产品的小剖视截面用于展示装置的一个部分中的一个或一个以上内部主机和控制器的位置,其中一般化通信链路(此处分别为138和148)越过当今电子行业中到处使用的一些已知类型的旋转接头将所述内部主机和控制器连接到具有对应客户机的视频显示元件或屏幕。我们可看到,这些传递中所涉及的数据量要求较大数目的导体来组成链路138和148。因为并行的类型或可用于传递此类数据的其它已知接口技术,估计此类通信链路接近90个或更多个导体,以便满足当今对在此类装置上利用先进的颜色和图形接口、显示元件的日益增长的需要。
遗憾地,就每单位时间需要被传递的数据的原始量来说,且就制造可靠的节约成本的物理传递机构来说,更高的数据速率超越了可用于传递数据的当前技术的能力。
需要的是用于在呈现元件与数据源之间以适合于数据传递链路或通信路径的较高速率传递数据的技术、结构、装置或方法,其允许始终如一的低(较低)功率、轻重量,和尽可能简单且经济的布缆结构。申请人已经开发了一种新的技术或方法和设备以达到这些和其它目的以允许一系列移动、便携式或甚至固定位置装置以非常高的数据速率将数据传递到所需显示器、微显示器或音频传递元件,同时维持所需的低功率消耗和复杂性。
III.高速率数字数据接口系统结构为了创建并有效地利用新的装置接口,已经制定了信号协议和系统结构,其使用低功率信号提供非常高的数据传递速率。所述协议基于包和常见帧结构,或链接在一起以形成用于传送一组预选数据或数据类型以及强加于接口上的命令或操作结构的协议的结构。
A.概观由MDDI链路连接或通过MDDI链路通信的装置称为主机和客户机,其中客户机通常为某一类型的显示装置,尽管也预期有其它输出和输入装置。从主机到显示器的数据在前向方向(称为前向业务或链路)上行进,且当由主机启用时,从客户机到主机的数据在反向方向(反向业务或链路)上行进。这在图3中所示的基础配置中得以说明。在图3中,使用双向通信信道206将主机202连接到客户机204,双向通信信道206被说明成包含前向链路208和反向链路210。然而,这些信道由一组共同的导体形成,其数据传递在前向或反向链路操作之间有效地转换。这允许大大减少导体的数量,从而立即解决了在(例如)移动电子装置的低功率环境中进行高速数据传递的当前方法所面临的很多问题中的一个问题。
如其它地方所论述,主机包含可从使用本发明受益的几种类型的装置中的一种。举例来说,主机202可为呈手持、膝上型或类似的移动计算装置形式的便携式计算机。主机202还可为PDA、寻呼装置或很多无线电话或调制解调器中的一者。或者,主机202可为便携式娱乐或呈现装置,例如便携式DVD或CD播放器,或游戏装置。
此外,主机可作为需要与客户机的高速通信链路的多种其它广泛使用或计划的商业产品中的主机装置或控制元件而存在。举例来说,主机可用于以高速率将数据从视频记录装置传递到基于存储器的客户机以实现改进的响应,或传递到较大的高分辨率屏幕以用于呈现。例如并入板上库存或计算系统(onboard inventory or computing system)和/或到其它家用装置的蓝牙连接的冰箱的设备当以因特网或蓝牙连接的模式操作时可具有改进的显示能力,或在电子计算机或控制系统(主机)位于机壳中其它地方时可对室内显示器(in-the-door display)(客户机)和键盘或扫描器(客户机)具有降低的布线要求。一般来说,所属领域的技术人员将了解,多种现代电子装置和设备可从此接口的使用以及通过利用新近添加的或现存的连接器或电缆中可用的有限数目的导体来翻新较老装置使其具有以更高数据速率输送信息的能力而受益。
同时,客户机204可包含适用于将信息呈现给最终用户,或将来自用户的信息提供给主机的多种装置。例如并入护目镜或眼镜中的微显示器、建立到帽子或头盔中的投影装置、建立到车辆中(例如车窗或挡风玻璃中)的小屏幕或甚至全息照相元件、或用于呈现高质量声音或音乐的各种扬声器、耳机或声音系统。其它呈现装置包括用于呈现会议的或电影和电视图像的信息的投影仪或投影装置。另一实例将为使用触控板或触摸敏感装置、语音识别输入装置、安全扫描仪、和诸如此类的装置,其可能被要求在除来自用户的触摸或声音之外具有很少实际“输入”的情况下传递来自装置或系统用户的相当大量的信息。另外,用于计算机的对接站(docking station)和用于无线电话的车载套件或台式套件(desk-top kit)和支架可充当到最终用户或到其它装置和装备的接口装置,且使用客户机(输出或输入装置,例如鼠标)或主机来参与数据的传递,尤其在涉及高速网络的情况下。
然而,所属领域的技术人员将容易认识到本发明并非限于这些装置,存在很多市场上有售的及被建议使用的用以在存储和输送方面或在播放时的呈现方面向最终用户提供高质量的图像和声音的其它装置。本发明适用于增加各种元件或装置之间的数据处理量以适应实现所需用户体验所需要的高数据速率。
发明性MDDI和通信信号协议可用于简化装置或装置外壳或结构内的主机处理器、控制器、或电路组件(例如)和显示器之间的互连(称为内部模式),以便减少这些连接的成本或复杂性和相关的功率和控制要求或限制,且改进可靠性,而不仅仅是用于到外部元件、装置或装备的连接或用于外部元件、装置或装备的连接(称为外部模式)。
由此接口结构使用的每一信号对上的总计的串行链路数据速率可在若干数量级上变化,这允许系统或装置设计者容易地为给定应用或目的而优化成本、功率、实施复杂性和显示更新速率。MDDI的属性独立于显示器或其它呈现装置(目标客户机)技术。可容易地调节通过接口传递的数据包的时序以适合例如显示装置、声音系统、存储器和控制元件的特定客户机的特质,或视听系统的组合时序要求。虽然这使具有一种有非常小功率消耗的系统成为可能,但并不为了至少在一定程度上利用MDDI协议而要求各种客户机具有帧缓冲器。
B.接口类型MDDI被构想为针对在通信和计算机行业中发现的至少四个且潜在更多的稍微不同的物理接口类型。这些物理类型简单地标记为类型1、类型2、类型3和类型4,尽管所属领域的技术人员可根据标签或名称所用于的特定应用或标签或名称与其相关的行业来应用其它标签或名称。举例来说,与更复杂的多媒体系统相比,简单的音频系统使用较少的连接,且可以不同方式标注例如“信道”的特征,等等。
类型1接口被配置成6线,或其它类型的导体或导电元件,使其适合移动或无线电话、PDA、电子游戏和便携式媒体播放器(例如CD播放器或MP3播放器)的接口和用于类似类型的电子消费性技术上的类似装置。在一个实施例中,可将接口配置成8线(导体)接口,其更适合膝上型计算机,笔记本计算机或桌上型个人计算机和不需要快速的数据更新且不具有内嵌MDDI链路控制器的类似装置或应用。此接口类型还可通过对额外的两线通用串行总线(USB)接口的使用来区分,所述USB接口在适应在大多数个人计算机上发现的现存操作系统或软件支持中极其有用。
类型2、类型3和类型4接口适合高性能客户机或装置且使用具有额外双绞线类型导体的更大更复杂的布缆来为数据信号提供适当的屏蔽和低损耗传递。
类型1接口传送信号,所述信号可包含显示、音频、控制和有限信令信息,且通常用于移动客户机或不需要高分辨率全速率视频数据的客户机装置。类型1接口可容易地支持30fps速率下的超级视频图形阵列(SVGA)分辨率外加5.1信道音频,且在最小配置中可总共仅使用三个线对,两对用于数据传输且一对用于功率传递。此类型的接口主要希望用于例如移动无线装置的装置,其中通常在此类装置内没有可用于连接和信号传递的USB主机。在此配置中,移动无线装置为MDDI主机装置,且充当“主控机”,其控制源自主机的通信链路,主机通常将数据发送到客户机(前向业务或链路)以供呈现、显示或播放。
在此接口中,主机通过将特殊命令或包类型发送到客户机来使得能够在主机处从客户机接受通信数据(反向业务或链路),所述特殊命令或包类型允许客户机在规定的持续时间中接管总线(链路)并将数据作为反向包发送到主机。这在图4中得以说明,其中将称为封装包(下文论述)的一种类型的包用于适应在传递链路上的反向包的传递,从而创建反向链路。分派给主机以轮询客户机以获得数据的时间间隔由主机预定,且基于每个特定应用的要求。此类型的半双工双向数据传递在无法将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模式的切换或重配置操作。
主机通常可能使用合适的链路层协议(下文进一步论述),且在通常任何时间使操作逐步减速或再次重配置到较缓慢模式以节省功率,或逐步加速到较快模式以支持较高速度的传递,例如用于较高分辨率的显示内容。举例来说,当系统从例如电池的电源转换到AC电源时,或当显示媒体的源转换到更低或更高分辨率格式时,主机可改变接口类型,或这些或其它条件或事件的组合可被视为改变接口类型或传递模式的依据。
系统还可能在一个方向上使用一种模式通信数据,且在另一方向上使用另一模式通信数据。举例来说,类型4接口模式可用于以高速率将数据传递到显示器,而当将数据从例如键盘或指示装置的外设传递到主机装置时使用类型1模式。所属领域的技术人员将了解,主机和客户机可以不同速率通信传出数据。
通常,MDDI协议的用户可区分“外部”模式与“内部”模式。外部模式描述使用协议和接口将一个装置中的主机连接到所述装置外的客户机,所述客户机距主机多达约2米左右。在此情形下,主机也可将功率发送到外部客户机,使得两个装置都可在移动环境下容易地操作。内部模式描述当将主机连接到包含在同一装置内的客户机时的情形(例如位于某一种类的共用外壳或支撑框架或结构内)。一实例将为在无线电话或其它无线装置或便携式计算机或游戏装置内的应用,其中客户机为显示器或显示器驱动器,或例如键盘或触控板的输入装置,或声音系统,且主机为中央控制器、图形引擎或CPU元件。与外部模式应用相对比,由于在内部模式应用中客户机距离主机近得多,所以在此类配置中通常不论述对到客户机的电力连接的要求。
C.物理接口结构图5和6中展示用于在主机与客户机装置之间建立通信的装置或链路控制器的一般安置。在图5和6中,展示了安装在主机装置202中的MDDI链路控制器402和502,且展示了安装在客户机装置204中的MDDI链路控制器404和504。如前所述,主机202使用包含一系列导体的双向通信信道406而连接到客户机204。如下文所论述,主机和客户机链路控制器两者都可通过使用单电路设计而制造成集成电路,其可经设定、调节或编程以作为主机控制器(驱动器)或客户机控制器(接收器)来进行响应。此因单电路装置的较大规模制造而实现了较低成本。
在图6中,展示了安装在主机装置202′中的MDDI链路控制器502,且展示了安装在客户机装置204′中的MDDI链路控制器504。如前所述,使用包含一系列导体的双向通信信道506将主机202′连接到客户机204′。如前所论述,主机和客户机链路控制器两者都可通过使用单电路设计来制造。
图5和6中还说明了经由MDDI链路或所使用的物理导体在主机与客户机(例如显示装置)之间传送的信号。如图5和6中所见,用于通过MDDI传递数据的主路径或机构使用标记为MDDI_Data0+/-和MDDI_Stb+/-的数据信号。这些信号中的每一者都是经由电缆中的差动线对传递的低电压数据信号。对于在接口上发送的每个位来说,在MDDI_Data0对或MDDI_Stb对上仅存在一个转变。这是基于电压而不是基于电流的传递机构,因此静态电流消耗几乎为零。主机将MDDI_Stb信号驱动到客户机显示器。
虽然数据可在MDDI_Data对上在前向和反向两个方向上流动,即,其为双向传递路径,但主机是数据链路的主控机或控制器。以差动模式来操作MDDI_Data0和MDDI_Stb信号路径以使抗扰性最大化。这些线上的信号的数据速率由主机所发送的时钟的速率来确定,且可在从约1kbps到多达400Mbps或更大的范围内变化。
类型2接口含有除类型1的数据对以外的一个额外数据对或导体或路径,称为MDDI_Data1+/-。类型3接口含有除类型2接口的数据对以外的两个额外数据对或信号路径,称为MDDI_Data2+/-和MDDI_Data3+/-。类型4接口含有除类型3接口的数据对以外的另外四个数据对或信号路径,分别称为MDDI_Data4+/-、MDDI_Data5+/-、MDDI_Data6+/-和MDDI_Data7+/-。在上述接口配置的每一者中,主机都可通过使用标明为HOST_Pwr和HOST_Gnd的线对或信号来将功率发送到客户机或显示器。如下文进一步论述,当使用会利用比在其它模式下可用或存在的导体更少的导体的接口“类型”时,如果需要,那么在一些配置中功率传递也可在MDDI_Data4+/-、MDDI_Data5+/-、MDDI_Data6+/-或MDDI_Data7+/-导体上进行。通常对于外部模式使用此功率传递,对于内部模式通常不需要如此传递,尽管一些应用可能不同。
下文,在表I中根据接口类型说明在各种模式下经由MDDI链路在主机与客户机(显示器)之间传送的信号的汇总。
表I

还应注意,通常对于外部模式提供用于从主机进行传递的HOST_Pwr/Gnd连接。如所属领域的技术人员将明了,内部应用或操作模式通常具有直接从其它内部电源汲取功率的客户机,且不使用MDDI来控制功率分配,因此此处不进一步详细论述此类分配。然而,如所属领域的技术人员将了解,使功率通过MDDI来分配以允许(例如)某些种类的功率控制、同步或互连便利性当然是可能的。
通常用于建构上述结构和操作的布缆标称长度约为1.5米,通常为2米或更少,且含有具有多股导线的三条双绞线。尽管,导线尺寸不限于特定尺寸,但应满足最大总端到端电阻、每英尺最大电容、每对的阻抗、和串扰方面的电气规格或限制。
将箔屏蔽覆盖物包覆或以另外的方式形成在全部(此处为三)组或群组的双绞线和作为额外排扰线(drain wire)的排扰线上。如此项技术中众所周知的,双绞线和屏蔽排扰导体在客户机连接器中端接,同时屏蔽物连接到客户机的屏蔽物,且存在覆盖整个电缆的绝缘层。导线可配对为HOST_Gnd与HOST_Pwr;MDDI_Stb+与MDDI_Stb-;MDDI_Data0+与MDDI_Data0-;MDDI_Data1+与MDDI_Data1-;等等。然而,如此项技术中将了解,视特定应用而定,可使用多种导体和布缆来实施本发明的实施例。举例来说,在一些应用中可使用较重的外部涂层或甚至金属层来保护电缆,而较薄较扁的导电带类型结构可能非常适合于其它应用。
如下文进一步论述,当在“内部模式”中用作用于传递数据的内部连接或互连模式、装置、协议、设备或技术时,有可能一个以上客户机可连接到单个主机装置。对于内部模式操作来说,可允许具有此类型的配置。然而,在此情形下,仅一个客户机可经配置成或能够驱动用于MDDI接口的信号,MDDI数据信号回到主机。在此情况下,其它客户机将仅充当来自主机的信号的接收器且不充当MDDI数据信号的源或驱动器。
用于使用多个客户机与单个主机的一个应用处于视频或可见显示面板的区域中,例如无线装置(如便携式电话)上的LCD面板。很多此类无线装置都设计有两个LCD面板,其中一者用于信息或图片的较大的主要或主显示,而较小的一者通常是在主要或主显示不在使用时用于指示电话状态、呼叫者ID、时刻或其它功能,例如在电话处于等待通话接到所述电话或者等待电话用户激活传出呼叫的待机或被动模式中的情况下。
此处每个LCD面板都将含有或连接到MDDI客户机,MDDI客户机连接到MDDI主机。主LCD面板将能够将包发送回到主机,但次LCD面板将仅接收来自主机的包。由于这是内部模式应用,所以次面板能够将其能力或状态发送回到主机不是必不可少的,因为主机将已经预先知晓客户机装置的特征。
图98中展示在数据传递配置中使用一个以上客户机(在此情况下两个客户机)的实例。在图98中,主机9800分别通过导体、电缆或总线9802和9804连接到客户机9806和9808。每个MDDI_Data与MDDI_Stb对都像本说明书中其它地方所论述那样起作用,且能够使用具有下文所论述的包和传递关系和机制的所揭示的发明性信号协议来以高速率传递数据,以及传送某些命令或设置,或请求来自客户机的信息以确定其呈现能力,等等。在此实施例中,客户机9806与某类型的LCD显示装置或面板相关、形成为所述LCD显示装置或面板的一部分或形成于所述LCD显示装置或面板上、或连接到所述LCD显示装置或面板,所述LCD显示装置或面板充当利用所说明的主机或主机与客户机的某一类型的电器、设备或装置的“主”或主要显示面板。另一方面,客户机9808形成为某一类型的LCD显示装置或面板的一部分或形成于所述LCD显示装置或面板上,或连接到所述LCD显示装置或面板,所述LCD显示装置或面板充当利用所说明的主机或主机与客户机的某一装置的“主”或主要显示面板。
应容易了解,所述两个显示元件或装置不需要相同或甚至不需要为同一类型或性质的,只需要是用途为所需的两个单独的显示装置。举例来说,根据需要,它们可能为不同类型的LCD面板,或一者可为基于LCD的显示元件,而另一者使用从CRT管到生物发光的另一类型显示技术。在图98中,每个客户机被展示为分别经由另一总线或另一组导体9810和9812通信,以将信息和/或命令或控制信息或信号传递到各别的显示元件或面板。如所陈述,客户机可形成为用于建构面板控制器9814和9816的电路的一部分,或以另外的方式固定到面板区域上或中的电路、导体或元件,或形成为面板区域上或中的电路、导体或元件的一部分。
如所属领域的技术人员将明了,存在用于将此类客户机置于面板上的几种可能情况,其是通过在形成面板的电路或元件时形成用于其它元件的适当晶体管,或是通过稍后附接电路模块或类似物。另外,在一些应用中,客户机本身和面板控制器可为单独元件,或在其它应用中,客户机本身和面板控制器可被视为或生产为单个模块或集成电路组件、装置或元件。定位于跨越面板的物理阵列中的像素或图像显示元件接着形成在图中被称为LCD面板的部分,这两个面板中的一者充当主要或主LCD面板,而另一者充当次、额外或辅助面板(可为冗余所需的备用面板)。因此,我们有了相关联的主(或主要)客户机与次客户机。在任何给定时间或时间段,仅一个客户机通信信息或将信号传递回到主机。否则,主机不会准确地知晓信息是源自不同客户机或源自哪一客户机。根据需要,协议的进一步版本可以某一方式使用客户机ID或标识名称来适应更为改进的对客户机的控制或客户机之间的转换。如此处所呈现,包中存在很多保留的ID部分。通常,对次面板的使用此时不要求或利用同一类型的返回信号或与主机的通信。然而,本发明不排除根据需要(例如)在某些时间段中,响应于命令或在故障模式下或在类似情况下控制或改变主或次地位。另外,当针对内部操作模式而进行这种控制或改变时,通常预先知晓显示元件的特征,且完全不需要在次显示器方面的反向链路信息通信,除非所述次显示器可被选为新的主显示器,在这种情况下,先前的主显示器不再在所述模式下使用。
D.数据类型和速率为了达到用于全范围的用户体验和应用的有用接口,MDDI为多种客户机和显示信息,音频变频器,键盘,指示装置和可集成到移动通信、计算或显示装置中或与移动通信、计算或显示装置协同工作的很多其它输入或输出装置,以及控制信息和其组合提供支持。MDDI经设计成能够使用最小数目的电缆或导体来适应在前向或反向链路方向上在主机与客户机之间来回移动的多种潜在类型的数据流。支持等时流和异步流(更新)两者。可能有数据类型的很多组合,只要总计数据速率小于或等于最大所需MDDI链路速率,所述最大所需MDDI链路速率受最大串行速率和所使用的数据对的数目限制。这些可包括(但不限于)下文在表II和III中所列出的那些项目。
表II

表III

接口不是固定的而是可扩展的,使得其可支持包括用户定义数据的多种信息“类型”的传递,以实现未来的系统灵活性。要适应的数据的特定实例为全动视频,其采取全屏或部分屏幕位图字段或压缩视频的形式;用于保存电力并降低实施成本的低速率的静态位图;多种分辨率或速率下的PCM或压缩音频数据;指示装置位置和选择,和用于尚未定义的能力的用户可定义数据。也可与控制或状态信息一起传递此类数据以检测装置能力或设定操作参数。
本发明的实施例推进了在数据传递中使用的技术,其包括(但不限于)观看电影(视频显示和音频);使用具有有限个人浏览(图形显示,有时与视频和音频组合)的个人计算机;在PC、游戏机或个人装置上玩电子游戏(动画显示或合成视频和音频);使用采取视频电话(双向低速率视频和音频)、用于拍摄静止数字图片的相机或用于拍摄数字视频图像的便携式摄像机(camcorder)的形式的装置进行因特网“冲浪”;使用对接至投影仪以进行展示或对接至连接到视频监视器、键盘和鼠标的桌上型对接站的电话、计算机或PDA;和用于利用包括无线指示装置和键盘数据的手机、智能电话或PDA的生产率提高或娱乐用途。
在经由通常配置为有线线路或电缆类型链路的通信或传递链路提供大量A-V类型数据方面,呈现如下文所论述的高速数据接口。然而,将容易明了,可调节信号结构、协议、时序或传递机构来提供采取光学或无线媒体形式的链路,如果所述链路可维持所需等级的数据传递的话。
MDDI信号将已知为共用帧速率(Common Frame Rate,CFR)的概念用于基本信号协议或结构。使用共用帧速率背后的想法是通过以可用于导出多个流的时钟或帧时序的速率发送子帧标头包来为同时的等时数据流提供同步脉冲。发送子帧标头包的速率是共用帧速率。客户机装置可将此共用帧速率用作时间参考。低CFR通过减少传输子帧标头的开销来增加信道效率。另一方面,高CFR减少等待时间,且允许使用用于音频样本的较小弹性数据缓冲。本发明性接口的CFR可被动态地编程且可被设定为适合于特定应用中所使用的等时流的很多值中的一者。即,根据需要,将CF值选择为最适合给定客户机和主机配置。
表IV中展示最有可能与(例如用于视频或微显示器的)应用一起使用的等时数据流的每子帧通常所需要的字节数(其可调节或可编程)。
表IV

使用简单的可编程M/N计数器结构可容易地获得每子帧的字节的分数数量。举例来说,通过传递2个各自后接一个含有26个字节的子帧的含有27个字节的子帧来实现每子帧26-2/3字节的数量。可选择较小的CFR来产生每子帧的整数数目个字节。然而,一般来说,与较大音频样本FIFO缓冲器所需要的面积相比,在硬件中建构简单的M/N计数器应在用于建构本发明的部分或所有实施例的集成电路芯片或电子模块内要求较少面积。
可说明不同的数据传递速率和数据类型的影响的示范性应用是卡拉OK系统(Karaoke system)。对于卡拉OK来说,其为最终用户随着音乐视频节目而歌唱的系统。歌词显示在屏幕上的某处(通常在屏幕的底部),因此用户知晓要唱的词语,且粗略地知晓歌唱的时机。此应用要求进行不频繁图形更新的视频显示,且将用户的语音与立体声音频流混合。
如果假定300Hz的共用帧速率,那么每个子帧将由以下部分组成在前向链路上到达客户机的92,160个字节的视频内容和588个字节的音频内容(基于147个16位样本,立体声);和从麦克风发送回到移动卡拉OK机的平均26.67(26-2/3)字节的语音。在主机与客户机(可能为头戴式显示器)之间发送异步包。这包括以三十分之一秒的间隔或周期用歌词文本更新的底部四分之一屏幕高度,和在歌词文本不更新时在子帧中发送其它杂项控制和状态命令。
表V展示对于卡拉OK实例来说如何在子帧内分派数据。将所使用的总速率选择为约279Mbps。280Mbps的稍高速率可允许传递另外的每子帧约400字节的数据,从而允许使用临时的控制和状态消息。
表V

III.(继续)高速率数字数据接口系统结构E.链路层使用MDDI高速串行数据信号传递的数据由一个接一个链接的时间多路复用包的流组成。即使在传输装置没有数据要发送时,MDDI链路控制器通常也自动发送填充符包,从而维持包流。对简单的包结构的使用确保了视频和音频信号或数据流的可靠的等时时序。
包的群组包含在被称为子帧的信号要素或结构内,且子帧群组包含在被称为媒体帧的信号要素或结构内。视各别大小和数据传递用途而定,子帧含有一个或一个以上包,且媒体帧包含一个或一个以上子帧。由此处所呈现的实施例使用的协议所提供的最大子帧约为232-1或4,294,967,295个字节,且最大媒体帧大小则变成约216-1或65,535个子帧。
如下文所论述,特殊的子帧标头包含有出现在每个子帧的开始的唯一标识符。所述标识符还用于在主机与客户机之间的通信起始时获取客户机装置处的帧时序。下文更详细地论述链路时序获取。
通常,当显示全运动视频时,将显示屏幕每媒体帧更新一次。显示帧速率与媒体帧速率相同。视所需应用而定,链路协议支持在整个显示器上的全动视频,或仅仅是由静态图像围绕的一小块全动视频内容区域。在一些低功率移动应用(例如观看网页或电子邮件)中,显示屏幕可能只需要被偶尔地更新。在那些情形下,传输单个子帧且接着关闭或停用链路以使功率消耗最小化是有利的。接口还支持例如立体视觉的效果,且处理图形基元。
子帧使系统能够周期性地传输高优先级包。这允许同时的等时流与最小量的数据缓冲并存。这是实施例向显示过程提供的一个优势,允许多个数据流(视频、语音、控制、状态、指示装置数据等的高速通信)实质上共享一共用信道。其使用相对较少的信号来传递信息。其还允许对于显示技术专用的动作存在,例如用于CRT监视器的水平同步脉冲和消隐间隔,或允许其它对于客户机技术专用的动作存在。
F.链路控制器将图5和6中所示的MDDI链路控制器制造或组装成一种除用于接收MDDI数据和选通信号的差动线接收器之外完全数字的实施方案。然而,甚至差动线驱动器和接收器也可与链路控制器建构在同一数字集成电路中,例如在制造CMOS类型IC时。不需要将模拟功能或锁相回路(PLL)用于位恢复或建构链路控制器的硬件。除含有用于链路同步的状态机的客户机接口之外,主机和客户机链路控制器含有非常类似的功能。因此,本发明的实施例提供了能够创建可配置为主机或客户机的单个控制器设计或电路的实际优势,从而总体上可降低链路控制器的制造成本。
IV.接口链路协议A.帧结构图7中说明用于建构用于包传递的前向链路通信的信号协议或帧结构。如图7中所示,将信息或数字数据分组成已知为包的要素。多个包又集中到一起以形成被称为“子帧”的单位,且多个子帧又集中到一起以形成“媒体”帧。为了控制帧的形成和子帧的传递,每个子帧都以被称为子帧标头包(SHP)的经特别预定义的包开始。
主机装置选择要用于给定传递的数据速率。主机装置可基于主机的最大传递能力或由主机从源检索到的数据,和客户机或数据被传递到的其它装置的最大能力两者来动态地改变此速率。
设计成或能够与MDDI或发明性信号协议一起工作的接收客户机装置能够由主机来查询以确定其可使用的最大或当前最大的数据传递速率,或可使用的默认较缓慢的最小速率,以及可用数据类型和支持的特性。如下文进一步论述,可使用客户机能力包(CCP)来传递此信息。客户机显示装置能够以预选最小数据速率或在最小数据速率范围内使用接口来传递数据或与其它装置通信,且主机将使用此范围内的数据速率来执行查询以确定客户机装置的全部能力。
可在状态包中将定义位图性质和客户机的视频帧速率能力的其它状态信息传递到主机,以使得主机可在任何系统限制下将接口配置得尽可能地有效或最佳或合意。
当在当前子帧中无(更多)数据包要传递时,或当主机不能以足以跟上为前向链路选择的数据传输速率的速率传递时,主机发送填充符包。由于每个子帧都以子帧标头包开始,所以前一子帧的末端含有正好填充所述前一子帧的包(最可能是填充符包)。在缺乏用于数据承载包本身的空间的情况下,填充符包将最可能为子帧中的最后一个包,或位于下一先前子帧的末端且在子帧标头包之前。确保子帧中保留有用于要在子帧内传输的每个包的足够空间是主机装置中控制操作的任务。同时,一旦主机装置起始数据包的发送,主机就必须能够在帧内成功地完成所述大小的包,而不引起数据欠载运行情况。
在实施例的一个方面中,子帧传输具有两个模式。一个模式是周期性子帧模式,或周期性时序时间点(periodic timing epoch),用于传输现场视频和音频流。在此模式下,将子帧长度定义为非零。第二模式为异步或非周期性模式,其中帧用于在新信息可用时向客户机提供位图数据。通过在子帧标头包中将子帧长度设定为零来定义此模式。当使用周期性模式时,当客户机已经与前向链路帧结构同步时,子帧包接收可开始。这对应于根据下文关于图49或图63而论述的状态图所定义的“同步”状态。在异步非周期性子帧模式下,在接收到第一子帧标头包后,接收开始。
B.总体包结构下文呈现由实施例建构的用于制定通信或信号协议或用于传递数据的方法或装置的包的格式或结构,应记住,接口是可扩展的且可根据需要添加额外的包结构。根据包在接口中的功能,即,它们传递的或与之相关的命令、信息、值或数据,而将包标记为或划分为不同的“包类型”。因此,每个包类型都表示用于操纵被传递的包和数据的给定包的预定义包结构。如将容易明了,包可具有预选长度或具有可变或可根据其各别功能而动态地改变的长度。包还可具有不同名称,尽管仍实现同一功能,如在被接受到一标准中的期间协议改变时会发生的。将各个包中所使用的字节或字节值配置成多位(8位或16位)无符号整数。表VI-1到表VI-4中展示与包的“类型”名称一起使用的包的汇总(以类型次序列出)。
为了便于说明和理解,每个表都代表总体包结构内的包的一般“类型”。这些分组不对本发明暗示或表达任何限制或其它影响,且可根据需要以很多其它方式来组织所述包。还应注意被视为有效的包的传递方向。
表VI-1链路控制包

表VI-2基本媒体流包

表VI-3客户机状态和控制包

表VI-4高级图形和显示包

从此正文内的其它论述中清楚可见的是,子帧标头、填充符、反向封装、链路关闭、客户机能力和客户机请求与状态包中的每一者都被视为对于外部模式操作的通信接口的很多实施例非常重要或甚至是所述实施例中所需要的。然而,反向封装、链路关闭、客户机能力和客户机请求与状态包可被或更可能被视为对于内部模式操作来说可选的。这产生了又一类型的MDDI协议,其允许用一组减少的通信包以非常高的速度来通信数据,且对应地简化控制和时序。
包具有共同的基本结构或总体的一组最少字段,其包含包长度字段、包类型字段、数据字节字段和CRC字段,这在图8中说明。如图8中所示,包长度字段含有呈多位或多字节值的形式的信息,其指定包中的位的总数目,或包的在包长度字段与CRC字段之间的长度。在一个实施例中,包长度字段含有指定包长度的16位或2字节宽的无符号整数。包类型字段是另一多位字段,其标明包含在包内的信息的类型。在示范性实施例中,此为采取16位无符号整数的形式的16位或2字节宽的值,且将这些数据类型指定为显示器能力、切换、视频或音频流、状态等等。
第三字段为数据字节字段,其含有作为包的一部分的在主机与客户机装置之间传递或发送的位或数据。根据被传递的数据的特定类型来特定地为每个包类型定义数据的格式,且数据的格式可分为一连串额外字段,其每一者都具有其自己的格式要求。即,每个包类型都将具有用于此部分或字段的经定义的格式。最后一个字段为CRC字段,其含有根据数据字节、包类型和包长度字段而计算出的16位循环冗余校验结果,CRC字段用于证实包中的信息的完整性。换句话说,根据除CRC字段本身之外的整个包来计算。客户机通常保持检测到的CRC错误的总计数,并在客户机请求与状态包(进一步参见下文)中将此计数报告回到主机。
通常,设计这些字段宽度和组织来保持在偶数字节边界上对齐的2字节字段和在4字节边界上对齐的4字节字段。这允许在主机和客户机的或与主机和客户机相关的主要存储空间中容易地建立包结构,而不违背在大多数或通常使用的处理器或控制电路中所遇到的数据类型对齐规则。
在包传递期间,以首先传输最低有效位(LSB)开始且以最后传输最高有效位(MSB)结束来传输字段。以先传输最低有效字节来传输长度多于一个字节的参数,这导致长度大于8位的参数以与首先传输LSB的较短参数相同的位传输模式进行传输。通常以数据字段在下文的随后部分中定义的次序来传输每个包的数据字段,其中首先传输所列出的第一字段,且最后传输所描述的最后字段。MDDI_Data0信号路径上的数据与在多个模式(类型1、类型2、类型3或类型4)中的任一者下的接口上传输的字节的位“0”对齐。
如电子技术中传统上所进行,当操纵用于显示器的数据时,首先按行,接着按列来传输用于像素阵列的数据。换句话说,按首先传输最左端的像素,且最后传输最右端的像素的次序传输出现在位图中的同一行中的所有像素。在传输行中的最右端的像素后,接着序列中的下一像素为下一行的最左端的像素。对于大多数显示器来说,通常按从上到下的次序来传输像素行,尽管可根据需要提供其它配置。此外,在处理位图时,常规途径(本文中遵循其)是通过将位图的左上角标记为位置或偏移量“0,0”来定义参考点。X和Y坐标用于定义或确定位图中的位置,当分别接近位图的右部和下部时值会增加。第一行和第一列(图像的左上角)以索引值0开始。如由显示器的用户所看到的,X坐标的量值朝向图像的右侧而增加,且Y坐标的量值朝向图像的下部而增加。
显示窗是位图的可见部分,是位图中可被用户在物理显示媒体上看到的像素部分。通常的情况是显示窗与位图具有相同大小。显示窗的左上角总是显示位图像素位置“0,0”。显示窗的宽度对应于位图的X轴,且此实施例的显示窗宽度小于或等于对应位图的宽度。窗的高度对应于位图的Y轴,且此实施例的显示窗高度小于或等于对应位图的高度。显示窗本身在协议中是不可编址的,因为仅将其定义为位图的可见部分。
位图与显示窗之间的关系在计算机、电子技术、因特网通信和其它与电子有关的技术中是众所周知的。因此,此处不提供对这些原理的进一步论述或说明。
C.包定义1.子帧标头包子帧标头包是每个子帧的第一个包,且具有如图9中所说明的基本结构。子帧标头包用于主机-客户机同步,每个主机应能够产生此包,而每个客户机应能够接收并解译此包。如可在图9中的一个实施例中看到,将此类型的包构造为具有包长度、包类型、唯一字、保留1、子帧长度、协议版本、子帧计数和媒体帧计数字段(通常按照所述次序)。在一个实施例中,此类型的包通常被标识为类型15359(0x3bff十六进制)包且使用20字节的预选固定长度,不包括包长度字段。
包类型字段和唯一字字段每一者都使用2字节值(16位无符号整数)。这两个字段的4字节组合共同形成了具有良好自相关性的32位唯一字。在一个实施例中,实际唯一字为0x005a3bff,其中较低16个位首先作为包类型而传输,且然后传输最高有效的16个位。
保留1字段含有2个字节(其为用于未来使用的保留空间),且通常在此时配置成所有位都设定为0。此字段的一个目的是致使随后的2字节字段与16位字地址对齐,且致使4字节字段与32位字地址对齐。保留最低有效字节以指示主机是否能够寻址多个客户机装置。保留此字节的0值以指示主机仅能够对单个客户机装置进行操作。
子帧长度字段含有4个字节的信息或值,其指定每子帧的字节数目。在一个实施例中,可将此字段的长度设定为等于0以指示在将链路关闭到闲置状态下之前主机将仅传输一个子帧。当从一个子帧转变到下一子帧时,此字段中的值可“在运行中”动态地改变。为了在同步脉冲中作出微小的时序调节以适应等时数据流,此能力是有用的。如果子帧标头包的CRC为无效,那么链路控制器应使用先前的已知为良好的子帧标头包的子帧长度来估计当前子帧的长度。
协议版本字段含有2个字节,其指定主机所使用的协议版本。可将协议版本字段设定为“0”以指定正被使用的协议的第一或当前版本。此值将随着新的版本被创建而随时间改变,且对于一些版本字段来说此值已经被升级到值“1”。如将知晓,版本值将可能或通常遵循涵盖例如MDDI的接口的已批准标准文档的当前版本编号。
子帧计数字段含有2个字节,其指定序列编号,所述序列编号指示从媒体帧的开始以来已经传输的子帧的数目。媒体帧的第一子帧具有子帧计数0。媒体帧的最后子帧具有值n-1,其中n为每媒体帧的子帧的数目。除媒体帧的第一子帧(其将具有计数0)之外,子帧计数字段的值等于在前一子帧包中发送的子帧计数加1。注意,如果将子帧长度设定为等于0(指示非周期性子帧),那么子帧计数也被设定为等于0。
媒体帧计数字段含有4个字节(32位无符号整数),其指定序列编号,所述序列编号指示从所传递的当前媒体项目或数据的开始以来已经传输的媒体帧的数目。媒体项目的第一媒体帧具有媒体帧计数0。媒体帧计数恰好在每个媒体帧的第一子帧之前递增,且在使用最大媒体帧计数(例如,媒体帧数目23-1=4,294,967,295)后绕回0。通常,主机可在任何时间使媒体帧计数值复位以适合最终应用的需要。
2.填充符包填充符包是当在前向或反向链路上无其它信息可用来被发送时传递到客户机装置或从客户机装置传递的包。建议填充符包具有最小长度,以便允许具有在需要时发送其它包的最大灵活性。就在子帧或反向链路封装包(见下文)的末端处,链路控制器设定填充符包的大小以填充剩余的空间以维持包完整性。填充符包可用于当主机或客户机都没有信息用来发送或交换时维持链路上的时序。每个主机和客户机都需要能够发送并接收此包以有效地利用接口。
图10中展示填充符包的格式和内容的示范性实施例。如图10中所示,将此类型的包构造为具有包长度、包类型、填充符字节和CRC字段。在一个实施例中,通常将此类型的包标识为类型0,这在2字节类型字段中指示。填充符字节字段中的位或字节包含可变数目的全零位值以允许填充符包具有所需长度。最小填充符包在此字段中不含有字节。即,包仅由包长度、包类型和CRC组成,且在一个实施例中使用6个字节的预选固定长度或包长度值4。对于包中的所有字节(包括包长度,它在某些其它包类型中可能被排除)确定CRC值。
3.视频流包视频流包运载视频数据以更新显示装置的通常矩形的区域。此区域的大小可如单个像素那样小或如整个显示器那样大。可能存在同时显示的几乎无限数目的流,但受系统资源限制,因为显示一个流所需的所有上下文都包含在视频流包内。图11中展示视频流包的一个实施例的格式(视频数据格式描述符)。如图11中所见,在一个实施例中,将此类型的包构造为具有包长度(2个字节)、包类型、bClient ID、视频数据描述符、像素显示属性、X左边缘、Y上边缘、X右边缘、Y下边缘、X和Y开始、像素计数、参数CRC、像素数据和像素数据CRC字段。通常将此类型的包标识为类型16,这在2字节类型字段中指示。在一个实施例中,客户机使用客户机能力包的红-绿-蓝(RGB)、单色和Y Cr Cb能力字段来指示接收视频流包的能力。
在一个实施例中,bClient ID字段含有为客户机ID而保留的2个字节的信息。由于这是新近开发的通信协议,所以实际客户机ID尚未知晓或充分传达。因此,通常将此字段中的位设定为等于0,直到知晓此类ID值为止,那时,可插入或使用所述ID值,如所属领域的技术人员将明了。相同的过程对于下文所论述的客户机ID字段来说通常也将是正确的。
图12A-12E中展示用于实现如上文所提及的示范性视频数据描述符字段的操作所使用的格式和内容。在图12A-12E中,视频数据格式描述符字段含有采取16位无符号整数的形式的2个字节,其指定当前包中的当前流中的像素数据字段中的每个像素的格式。不同的视频流包可能使用不同的像素数据格式,即,在视频数据格式描述符中使用不同值,且类似地,流(显示器的区域)可在运行中改变其数据格式。像素数据格式应遵照如客户机能力包中所定义的客户机的有效格式中的至少一者。视频数据格式描述符仅定义当前包的像素格式,其并不暗示不变的格式将在特定视频流的寿命中连续被使用。
图12A到12D说明如何编码视频数据格式描述符。如这些图中所使用,且在此实施例中,当位[15:13]等于“000”时(如图12A中所示),视频数据由单色像素阵列组成,其中每像素的位数目由视频数据格式描述符字的第3到0位来定义。位11到4通常为未来的用途或应用而保留且在此情形下被设定为0。当位[15:13]代替地等于值“001”时(如图12B中所示),视频数据就由彩色像素阵列组成,所述彩色像素每一者都通过色彩图(调色板)来指定色彩。在此情形下,视频数据格式描述符字的位5到0定义每像素的位的数目,且位11到6通常为未来的使用或应用而保留且被设定为等于0。当位[15:13]代替地等于值“010”时(如图12C中所示),视频数据就由彩色像素阵列组成,其中每红色像素的位数目由位11到8来定义,每绿色像素的位数目由位7到4来定义,且每蓝色像素的位数目由位3到0来定义。在此情形下,每个像素中的位的总数目为用于红色、绿色和蓝色的位的数目的总和。
然而,当位[15:13]代替地等于值或串“011”时(如图12D中所示),视频数据就由具有亮度和色度信息的呈4:2:2 YCbCr格式的视频数据阵列组成,其中每像素的亮度(Y)的位数目由位11到8来定义,Cb分量的位数目由位7到4来定义,且Cr分量的位数目由位3到0来定义。每个像素中的位的总数目为用于红色、绿色和蓝色的位的数目的总和。发送Cb和Cr分量的速率是发送Y的速率的一半。另外,将此包的像素数据部分中的视频样本组织为如下Cbn、Yn、Crn、Yn+1、Cbn+2、Yn+2、Crn+2、Yn+3、…,其中Cbn和Crn与Yn和Yn+1相关,且Cbn+2和Crn+2与Yn+2和Yn+3相关,等等。
Yn、Yn+1、Yn+2和Yn+3是单个行中从左到右的四个连续像素的亮度值。如果由视频流包参考的窗中的一行中存在奇数个像素(X右边缘-X左边缘+1),那么对应于每个行中的最后一个像素的Y值将后接下一行的第一个像素的Cb值,且不发送所述行中的最后一个像素的Cr值。建议使用Y Cb Cr格式的窗具有为偶数个像素的宽度。包中的像素数据字段应含有偶数个像素。在像素数据字段的最后一个像素对应于在视频流包标头中指定的窗中的一行的最后一个像素的情况下,即当像素数据字段中的最后一个像素的X位置等于X右边缘时,像素数据字段可含有奇数或偶数个像素。
当位[15:13]代替地等于值“100”时,视频数据就由拜耳像素(Bayer pixel)阵列组成,其中每像素的位数目由视频数据格式描述符字的位3到0来定义。如图12E中所示,像素组图案字段由位5到4来定义。像素数据的次序可以是水平的或垂直的,且行或列中的像素可以前向或后向次序来发送且由位8到6来定义。应将位11到9设定为0。呈拜耳格式的像素组中的四个像素的组类似于在一些显示技术中通常称为单个像素的单元。然而,呈拜耳格式的一个像素仅是像素组镶嵌图案的四个有色像素中的一者。
对于图中所示的所有五种格式来说,标明为“P”的位12指定像素数据样本是否为压缩的或字节对齐的像素数据。此字段中的值“0”指示像素数据字段中的每个像素都是与MDDI字节边界字节对齐的。值“1”指示像素数据字段中的每个像素和每个像素内的每个色彩都相对于像素内的前一像素或色彩被压缩而不留下未使用的位。图13中更详细地展示了字节对齐的数据格式与压缩像素的数据格式之间的差异,其中可清楚地看到字节对齐的数据可留下数据子帧的未使用部分,而压缩像素格式则不会。
4.音频流包音频流包运载要通过客户机的音频系统播放的或用于独立音频呈现装置的音频数据。视所使用的音频系统的类型而定,可为声音系统中的单独音频信道(例如左前、右前、中间、左后和右后)分派不同的音频数据流。为含有增强的空间-声学信号处理的头戴式耳机提供全部音频信道。客户机使用客户机能力包的音频信道能力和音频采样率字段来指示接收音频流包的能力。图14中说明音频流包的格式。
如图14中所示,在一个实施例中,将此类型的包构造为具有包长度、包类型、bClientID、音频信道ID、保留1、音频样本计数、每样本位和压缩、音频采样率、参数CRC、数字音频数据和音频数据CRC字段。在一个实施例中,通常将此类型的包标识为类型32包。
如先前所使用,bClient ID字段含有为客户机ID保留的2个字节的信息。保留1字段含有2个字节,其为未来的用途而保留,且通常在此时配置成所有位设定为0。
每样本位和压缩字段含有采取8位无符号整数的形式的1个字节,其指定音频数据的压缩格式。通常使用的格式是位4到0定义每PCM音频样本的位数目。接着位5指定数字音频数据样本是否被压缩。图15中说明压缩的与字节对齐的音频样本(此处使用10位样本)之间的差异。值“0”指示数字音频数据字段中的每个PCM音频样本都与MDDI字节边界字节对齐,且值“1”指示每个连续的PCM音频样本都相对于前一音频样本而压缩。此位通常仅在位4到0中所定义的值(每PCM音频样本的位的数目)不是8的倍数时有效。位7到6为未来的用途而保留且通常被设定为值0。
5.保留流包在一个实施例中,根据所遇到的各种应用所需要,将包类型1到15、18到31和33到55保留用于将为包协议的未来版本或变化定义的流包。同样,这是使MDDI与其它技术相比在面对不断变化的技术和系统设计时更灵活且有用的一部分。
6.用户定义流包将已知为类型56到63的8种数据流类型保留用于可由设备制造商定义以与MDDI链路一起使用的专有应用。这些类型已知为用户定义流包。此类包可用于任何目的,但主机和客户机应仅在非常了解或知晓此类使用的结果的情形下使用此类包。这些包类型的流参数和数据的特定定义留给建构此类包类型或寻求使用它们的特定设备制造商或接口设计者来进行。用户定义流包的一些示范性用途是传达测试参数和测试结果、工厂校准数据和专有特殊用途数据。图16中说明如一个实施例中所使用的用户定义流包的格式。如图16中所示,将此类型的包构造为具有包长度(2字节)、包类型、bClient ID编号、流参数、参数CRC、流数据和流数据CRC字段。
7.色彩图包色彩图包指定用于为客户机呈现色彩的色彩图查找表的内容。一些应用可能需要大于可在单个包中传输的数据的量的色彩图。在这些情况下,可使用下文所述的偏移量和长度字段来传递多个色彩图包,其每一者都具有色彩图的不同子集。图17中说明一个实施例中的色彩图包的格式。如图17中所示,将此类型的包构造为具有包长度、包类型、hClient ID、色彩图项目计数、色彩图偏移量、参数CRC、色彩图数据和数据CRC字段。在一个实施例中,通常将此类型的包标识为如包类型字段(2个字节)中所指定的类型64包(视频数据格式和色彩图包)。客户机使用客户机能力包的色彩图大小和色彩图宽度字段来指示接收色彩图包的能力。
8.反向链路封装包在示范性实施例中,使用反向链路封装包在反向方向上传递数据。发送前向链路包且MDDI链路操作(传递方向)在此包的中间改变或转向,使得可在反向方向上发送包。在图18中说明一个实施例中的反向链路封装包的格式。如图187中所示,将此类型的包构造为具有包长度、包类型、hClient ID、反向链路旗标、反向速率除数、转向1长度、转向2长度、参数CRC、全零1、转向1、反向数据包、转向2和全零2字段。在一个实施例中,通常将此类型的包标识为类型65包。对于外部模式来说,每个主机必须能够产生此包并接收数据,且每个客户机必须能够接收数据并将数据发送到主机,以便有效地利用所需协议和所得速度。此包的实施方案对于内部模式来说是可选的,但反向链路封装包供主机使用以从客户机接收数据。
MDDI链路控制器在发送反向链路封装包时以特殊的方式工作。MDDI具有选通信号,其通常总是由作为链路的控制器的主机来驱动。对于反向链路封装包的转向部分和反向数据包部分的每个位,主机像其在传输0那样工作。主机在两个转向时间期间且在为反向数据包分派的时间期间在每个位边界处切换MDDI_Strobe信号。即,主机在从全零1字段的开始到全零2字段的末端期间切换MDDI_Stb。(这是像其传输全零数据一样的行为)。
主机禁用其MDDI数据信号线驱动器且通常确保它们在转向1字段的最后一个位之前已经完全禁用,且接着在转向2字段期间重新启用其线驱动器,且通常确保所述驱动器在转向2字段的最后一个位之前已经完全重新启用。在转向1字段中的最后一个位后,客户机立即读取转向长度参数并向主机驱动数据信号。即,如下文和其它地方的包内容描述中所指定,客户机在MDDI选通信号的某些上升沿将新数据同步到链路中。客户机使用包长度和转向长度参数来知晓其可用于将包发送到主机的时间长度。当客户机没有数据要发送到主机时,客户机可发送填充符包或将数据线驱动到零状态。如果将数据线驱动到零,那么主机将此解译为具有零长度(非有效长度)的包,且在当前反向链路封装包的持续时间期间,主机不再从客户机接受包。
在一个实施例中,客户机请求与状态包的反向链路请求字段可用于通知主机客户机在反向链路封装包中所需用来将数据发送回到主机的字节数目。主机试图通过在反向链路封装包中分派至少所述数目的字节来准许所述请求。主机可在子帧中发送一个以上反向链路封装包。客户机可在几乎任何时间发送客户机请求与状态包,且主机会将反向链路请求参数解译为在一个子帧中所请求的字节的总数目。
9.客户机能力包主机需要知晓其正与之通信的客户机(显示器)的能力,以便以大体上最佳或所需的方式来配置主机到客户机链路。建议显示器在获取前向链路同步后将客户机能力包发送到主机。当由主机使用反向链路封装包中的反向链路旗标来请求时,此类包的传输被视为需要的。客户机能力包用于通知主机客户机的能力。对于外部模式来说,每个主机应能够接收此包,且每个客户机应能够发送此包以完全利用此接口和协议。此包的实施对于内部模式来说是可选的,因为在此情形下,客户机(例如显示器、键盘或其它输入/输出装置)的能力在制造或组装成单个组件或某一类型的单元时应已经很好地定义并为主机所知晓。
图19中说明一个实施例中的客户机能力包的格式。如图19中所示,对于此实施例来说,将此类型的包构造为具有包长度、包类型、cClientID、协议版本、最小协议版本、预校准数据速率能力、接口类型能力、Alt显示器的数目、后校准数据速率能力、位图宽度、位图高度、显示窗宽度、显示窗高度、色彩图大小、色彩图RGB宽度、RGB能力、单色能力、保留1、Y Cr Cb能力、拜耳能力、保留2、客户机特征能力、最大视频帧速率、最小视频帧速率、最小子帧速率、音频缓冲深度、音频信道能力、音频采样率能力、音频样本分辨率、Mic(麦克风)采样分辨率、麦克风采样率能力、键盘数据格式、指示装置数据格式、内容保护类型、Mfr(制造商)名称、产品码、保留3、序列号、制造周、制造年和CRC字段。在示范性实施例中,通常将此类型的包标识为类型66包。
10.键盘数据包键盘数据包用于将键盘数据从客户机装置发送到主机。无线(或有线)键盘可结合各种显示器或音频装置而使用,包括(但不限于)头戴式视频显示器/音频呈现装置。键盘数据包将从几个已知的键盘类装置中的一者接收倒的键盘数据中继到主机。此包还可在前向链路上用于将数据发送到键盘。客户机使用客户机能力包中的键盘数据字段来指示发送和接收键盘数据包的能力。
键盘数据包的格式在图20中展示,且含有来自键盘或用于键盘的可变字节数目的信息。如图20中所示,将此类型的包构造为具有包长度、包类型、bClient ID、键盘数据格式、键盘数据和CRC字段。此处,通常将此类型的包标识为类型67包。
如前所述,bClient ID为保留字段,且对包的所有字节执行CRC。键盘数据格式字段含有2字节值,其描述键盘数据格式。位6到0应与客户机能力包中的键盘数据格式字段相同。此值不等于127。位15到7为未来的用途而保留,且因此当前被设定为0。
11.指示装置数据包指示装置数据包用作将来自无线鼠标或其它指示装置的位置信息从客户机发送到主机的方法、结构或装置。还可使用此包在前向链路上将数据发送到指示装置。指示装置数据包的示范性格式在图21中展示,且含有来自指示装置或用于指示装置的可变字节数目的信息。如图21中所示,将此类型的包构造成具有包长度、包类型、bClient ID、指示装置格式、指示装置数据和CRC字段。在示范性实施例中,通常在1字节类型字段中将此类型的包标识为类型68包。
12.链路关闭包将链路关闭包从主机发送到客户机,作为指示MDDI数据和选通将关闭并进入低功耗“休眠”状态的方法或装置。此包对在将静态位图从移动通信装置发送到显示器后或在暂时没有进一步信息要从主机传递到客户机时关闭链路并节约功率有用。当主机再次发送包时,重新开始正常操作。休眠后发送的第一个包是子帧标头包。图22中展示一个实施例的客户机状态包的格式。如图22中所示,将此类型的包构造为具有包长度、包类型、CRC和全零字段。在一个实施例中,通常在1字节类型字段中将此类型的包标识为类型69包。
包长度字段使用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。
在低功率休眠状态下,在全零字段的最后一个位后,MDDI_Data0驱动器被禁用到高阻抗状态,所述高阻抗状态在第16个MDDI_Stb循环或脉冲后开始到第48个MDDI_Stb循环或脉冲。对于类型2、类型3或类型4链路,在MDDI_Data0驱动器被禁用的同时,MDDI_Data1到MDDI_DataPwr7信号也被置于高阻抗状态。如其它地方所述,主机或客户机都可致使MDDI链路从休眠状态“醒来”,这是本发明的关键进步和优势。
如全零字段的定义中所描述,MDDI_Stb在链路关闭包的CRC字段的MSB后切换64个循环以便于客户机控制器中的有序关闭。一个循环是低到高转变接以高到低转变,或高到低转变接以低到高转变。在发送全零字段后,禁用主机中的MDDI_Stb驱动器。
13.客户机请求与状态包主机需要来自客户机的少量信息以使得主机可以大体上最佳的方式来配置主机到客户机链路。建议客户机对于每个子帧将一个客户机请求与状态包发送到主机。通常建议客户机将此包作为反向链路封装包中的第一个包来发送以确保其被可靠地递送到主机。此包的转发还在由主机使用反向链路封装包中的反向链路旗标来请求时实现。客户机请求与状态包用于将错误和状态报告给主机。对于外部模式操作来说,每个主机都应能够接收此包,且每个客户机都应能够发送此包,以便合适地或最佳地使用MDDI协议。虽然还建议内部操作(即内部主机和内部客户机)应存在对此包的支持,但这不是必须的。
图23中展示客户机请求与状态包的格式。如图23中所示,将此类型的包构造成具有包长度、包类型、cClient ID、反向链路请求、能力改变、客户机忙、CRC错误计数和CRC字段。此类型的包通常在1字节类型字段中标识为类型70包,且通常使用12个字节的预选固定长度。
反向链路请求字段可用于通知主机客户机在反向链路封装包中所需用来将数据发送回到主机的字节的数目。主机应试图通过在反向链路封装包中分派至少所述数目的字节来准许所述请求。主机可在一子帧中发送一个以上反向链路封装包,以便容纳数据。客户机可在任何时间发送客户机请求与状态包,且主机会将反向链路请求参数解译为在一个子帧中所请求的字节总数。下文展示如何将反向链路数据发送回到主机的额外细节和特定实例。
14.位图块传递包位图块传递包提供在任何方向上卷动显示区域的装置、结构或方法,其通常通过将像素块从一个矩形区域复制到另一个矩形区域。具有此能力的客户机将在客户机能力包的显示特征能力指示符字段的位0中报告所述能力。图24中展示位图块传递包的一个实施例的格式。如图24中所示,将此类型的包构造成具有包长度、包类型、hClient ID、像素数据属性、光栅操作、左上X值、左上Y值、窗宽度、窗高度、窗X移动、窗Y移动和CRC字段。此类型的包通常被标识为类型71包,且在一个实施例中使用15个字节的预选固定长度。如其它地方所论述,2字节hClient ID字段含有为客户机ID保留的信息或值。由于此字段通常为未来用途而保留,所以通常通过将位设定到逻辑0电平来将当前值设定为0,尽管也可将其设定为其它值或由所属领域的技术人员用来传递所需信息。
在一个实施例中,2字节像素数据属性字段具有指定将在何处更新像素数据的值,其中位1和0选择像素数据将被更新的显示器。如果客户机中的主显示器不支持立体图像,那么客户机可在位组合01、10或11中的一者的情况下影响主显示器中的像素数据。建议将值11用于编址客户机中不支持立体显示能力的主显示器。当位[1:0]具有值11(双逻辑1)时,在左眼和右眼的帧缓冲器中更新像素数据,如果位[1:0]具有值10(逻辑1,逻辑0),那么仅在左眼的帧缓冲器中更新像素数据。当位[1:0]具有值01(逻辑0,逻辑1)时,仅在右眼的帧缓冲器中更新像素数据。当位[1:0]具有值00(双逻辑0)时,那么在由下面的位8到11指定的替代显示器的帧缓冲器中更新像素数据。
在一个实施例中,像素数据属性字段的位2指定左眼或右眼的缓冲器是否为此操作的图像的源。位2仅在位[1:0]不等于00时适用,这通常被实施以表示当图像的目的地是替代显示器中的一者时其不支持来自主要图像缓冲器的源数据。位2用于在左与右眼帧缓冲器之间区别或指定数据源。当位2等于0时,左眼帧缓冲器就为数据源,但当位2等于1时,右眼帧缓冲器就为数据源。
像素数据属性字段的位3指定用于刷新显示器的缓冲器或脱机图像缓冲器是否将为此操作的图像的源。如果替代显示器利用脱机图像缓冲器,那么位3也可应用到替代显示器。然而,当图像的目的地为替代显示器时,此不支持来自主要图像缓冲器的源数据,或反之亦然。当位3等于值0或逻辑0电平时,用于刷新显示器的图像缓冲器为数据源。当位3等于值1或逻辑1电平时,脱机图像缓冲器为数据源。
像素数据属性字段的位7或6充当显示更新位,其指定将被更新或写入像素数据的帧缓冲器。稍后更详细地描述帧更新位的作用。当位[7:6]为“01”(逻辑0,逻辑1)时,将像素数据写入到脱机图像缓冲器。当位[7:6]为“00”(双逻辑0)时,将像素数据写入到用于刷新显示器的图像缓冲器。当位[7:6]为“11”(双逻辑1)时,将像素数据写入到所有的图像缓冲器。如果位[7:6]为“10”,那么将此视为无效值。这些位当前被保留以供未来使用。在此情形下,忽略整个命令且不更新帧缓冲器。
像素数据属性字段的位11到8形成4位无符号整数,其指定了将更新像素数据的替代显示器或替代客户机位置。将位0和1设定为等于值00(双逻辑0),以便使客户机将位11到8解译为替代显示器编号。如果1和0不等于00,那么通常将位8到11设定为等于逻辑0值或电平。位4到5和12到15被保留以供未来使用且通常被设定为逻辑0电平或值。
在一个实施例中,2字节光栅操作字段指定如何组合源和目的位置中的像素以形成要写入到目的图像位置的新像素值。光栅操作定义如何将帧缓冲器中的等大小的源区域和目的区域合并成一目的区域。图24B中说明光栅操作中的数据的处理流程。如果客户机不支持如客户机能力包中所指定的光栅操作字段,那么主机通常发送此包并使位3到0等于3,且客户机忽略位3到0。
在一个实施例中,通过使用位3到0或将它们设定为等于下文的表VII中所示的值中的一者以选择展示在所述值旁的对应操作来将位3到0用于指定实际光栅操作。即,第一列中所列出的每一指定位[3:0]都导致在第二列中所指定的操作,且此处进一步在第三列中加以定义以进行解释。
表VII

位9到8用于指定当目的像素与透明色有关时是否写入到目的位置。客户机能力包的客户机特征能力指示符字段的位4指示客户机是否支持透明色和透明遮罩能力。类似地,替代显示器能力包的显示器特征能力指示符字段的位4指示指定替代显示器是否支持透明色和透明遮罩能力。当不支持透明色和透明遮罩时,光栅操作就像位[9:8]被设定为00那样起作用。无论客户机装置是否支持光栅操作,由位[9:8]指定的操作都适用。如果客户机不支持光栅操作,那么被考虑用于由位[9:8]定义的操作的所得目的像素值就仅等于源像素值。此行为与位[3:0]设定为3时一样。
当位[9:8]的值等于00时,就不使用透明色。将所得目的像素写入到目的像素位置,而不考虑透明色或透明遮罩的值,透明色由透明色和遮罩设置包来定义。等于01的位[5:4]的值当前为未来用途而保留且通常不使用,尽管所属领域的技术人员可用其来建立有关用途。当位[5:4]的值等于10时,如果通过光栅操作,将源像素与透明遮罩进行AND运算所计算出的所得目的像素等于透明色,那么不将所得像素写入到目的像素位置。否则,将所得像素写入到目的像素位置。当位[9:8]的值等于11时,如果通过光栅操作计算出的所得目的像素等于透明色,那么将所得像素写入到目的像素位置。否则,不将所得像素写入到目的像素位置。
位15到10和位7到4为未来用途而保留,且因此通常被设定为等于逻辑0值或电平。
剩余的字段用于指定要移动的窗的左上角的坐标的X和Y值、要移动的窗的宽度和高度、和将窗分别水平和垂直移动的像素数。分别地,后两个字段的正值致使窗向右且向下移动,且负值致使移动向左和向上。CRC字段(此处2个字节)含有包括包长度字段的包中的所有字节的16位CRC。
15.位图区域填充包位图区域填充包提供用于将显示器的区域容易地初始化为单个色彩的装置、结构或方法。具有此能力的显示器将在客户机能力包的客户机特征能力指示符字段的位1中报告所述能力。图25中展示位图区域填充包的格式的一个实施例。如图25中所示,在此情况下,将此类型的包构造为具有包长度、包类型、hClient ID、视频数据格式描述符、像素数据属性、光栅操作、左上X值、左上Y值、窗宽度、窗高度、像素区域填充值和CRC字段。通常在2字节类型字段中将此类型的包标识为类型72包。
如其它地方所论述,2字节hClient ID字段含有为客户机ID保留的信息或值。由于此字段通常为未来用途而保留,所以通常通过将所述位设定到逻辑0电平来将当前值设定为0,尽管其也可设定为其它值或由所属领域的技术人员用来传递所需信息。
在此实施例中使用2个字节的视频数据格式描述符字段指定像素区域填充值的格式。所述格式与视频流包(上文对其进行论述和说明)中的相同字段相同。像素区域填充值字段(4个字节)含有要填充到由此包中的参数指定的窗中的像素值。在视频数据格式描述符字段中指定此像素的格式。像素区域填充值的像素格式的实例与早先所示的那些相同。如果选择Y Cb Cr格式,那么透明色和透明遮罩应包括完全如所示的像素1和2Cb、像素1Y、像素1和2Cr和像素2Y的子字段。为透明色值而分派的字节的数目由视频数据格式描述符字段来确定。
像素数据属性和光栅操作字段的作用类似于上文所论述的位图块传递包中的相同字段,且在下文进一步详细叙述。
剩余的字段用于指定要移动的窗的左上角的坐标的X和Y值。窗左上坐标X值和Y值字段各使用2个字节,以指定要填充的窗的左上角的坐标的X和Y值。窗宽度和高度字段(每者2个字节)指定要填充的窗的宽度和高度。CRC字段(此处2个字节)含有包括包长度字段的包中的所有字节的16位CRC。
16.位案填充包位案填充包提供了将显示器的区域容易地初始化为预选图案的装置或结构。具有此能力的客户机将在客户机能力包的客户机特征能力字段的位2中报告所述能力。填充图案的左上角与要填充的窗的左上角对齐,除非水平或垂直图案偏移量为非零。如果要填充的窗比填充图案宽或高,那么图案可水平地或垂直地重复若干次以填充所述窗。根据需要截去最后一个重复图案的右部或下部。如果窗小于填充图案,那么可截去填充图案的右侧或下部以适合所述窗。
如果水平图案偏移量为非零,那么窗的左侧与左侧加上水平图案偏移量之间的像素以图案的最右部的像素来填充。水平图案偏移量将小于图案宽度。类似地,如果垂直图案偏移量为非零,那么窗的上侧与所述侧的上部加上垂直图案偏移量之间的像素以图案的最下部像素来填充。垂直图案偏移量将小于图案高度。
图26中展示位案填充包的格式的一个实施例。如图26中所示,将此类型的包构造为具有包长度、包类型、hClient ID、视频数据格式描述符、像素数据属性、光栅操作、左上X值、左上Y值、窗宽度、窗高度、图案宽度、图案高度、水平图案偏移量、垂直图案偏移量、参数CRC、图案像素数据和像素数据CRC字段。在一些实施例中,通常在1字节类型字段中将此类型的包标识为类型73包。
如其它地方所论述,2字节hClient ID字段含有为客户机ID保留的信息或值。由于此字段通常为未来用途而保留,所以通常通过将所述位设定为逻辑0电平来将当前值设定为零。
2字节视频数据格式描述符字段指定像素区域填充值的格式。图11说明如何编码视频数据格式描述符字段。所述格式与视频流包中的相同字段相同。
像素数据属性和光栅操作字段的作用类似于上文所论述的位图块传递包中的相同字段,且在下文进一步详细叙述。
位案填充包的剩余字段用于指定要填充的窗的左上角的坐标的X和Y值、要填充的窗的宽度和高度、要用作填充图案的图案宽度和高度、以及像素数据图案的分别从要填充的指定窗的左边缘和上边缘偏移的水平和垂直偏移量。图案CRC字段(此处2个字节)含有从包长度字段到视频格式描述符字段的包中的所有字节的16位CRC。如果此CRC校验失败,那么整个包都应被丢弃。图案像素数据CRC字段含有仅图案像素数据字段的16位CRC。如果此CRC校验失败,那么图案像素数据仍可使用,但CRC错误计数将递增。图案像素数据字段含有原始视频信息,其指定采取由视频数据格式描述符指定的格式的填充图案。
17.读取帧缓冲包读取帧缓冲包提供用于选择、确定或指定要经由反向链路传输回到主机的客户机中的帧缓冲器的矩形区域的结构、装置或方法。返回的像素数据的格式采取显示器的原生格式,且所述格式通常在经由反向链路发送到主机的视频流包的数据格式描述符字段中指定。返回到主机的像素数据是来自当前被显示的图像缓冲器。客户机通常使用按需要量的反向链路封装包中的很多视频流包以返回由读取帧缓冲包指定的显示区域。具有此能力的客户机可如此指示或使用客户机能力包的客户机特征能力指示符字段的位3来报告所述能力。
图27中展示读取帧缓冲包的实施例的格式。如图27中所示,将此类型的包构造成具有包长度、包类型、hClient ID、显示数据属性、X左边缘、Y上边缘、X右边缘、Y下边缘和CRC字段。在一个实施例中,通常在类型字段中将此类型的包标识为类型74包。
2字节的包长度字段指定包中的不包括包长度字段的字节的总数目。在一个实施例中,将此包长度固定为16。如先前所使用,2字节hClient ID字段含有为客户机ID保留的信息或值。由于此字段通常为未来用途而保留,所以通过将所述位设定为“0”(逻辑0电平或状态)来将当前值设定为零,尽管其也可由所属领域的技术人员用来传递所需信息。
在一个实施例中,2字节显示数据属性字段具有指定将在何处读取像素数据的值,其中位0选择将从其读取像素数据的帧缓冲器。当位0等于值0(逻辑0)时,从由下文的位8到11指定的替代显示器的帧缓冲器读取像素数据。当位0等于值1(逻辑1)时,从主显示器的帧缓冲器读取像素数据。
在一个实施例中,显示数据属性字段的位2指定用于左眼或右眼帧缓冲器的缓冲器是否为要读取的数据的源。通常,仅当主显示器支持立体图像时位2可适用。当位2等于0(逻辑0电平)时,左眼帧缓冲器为数据源,但当位2等于1(逻辑1电平)时,右眼帧缓冲器就为数据源。
显示数据属性字段的位3指定用于刷新显示器的缓冲器或脱机图像缓冲器是否将是用于此操作的图像的源。如果替代显示器利用脱机图像缓冲器,那么位3也可应用到替代显示器。然而,当图像的目的地为替代显示器时,此不支持来自主要图像缓冲器的源数据,或反之亦然。当位3等于值0或逻辑0电平时,用于刷新显示器的图像缓冲器为数据源。当位3等于值1或逻辑1电平时,脱机图像缓冲器为数据源。
显示数据属性字段的位11到8指定将被读取像素数据的显示器或替代客户机位置。将位0设定为等于值0(逻辑0),以便使客户机将位11到8解译为替代显示器编号。如果位0不等于0,那么通常将位8到11设定为等于逻辑0值或电平。位1、4到7和12到15为未来用途而保留,且通常设定为逻辑0电平或0值。
在一个实施例中,2字节的X左边缘字段和Y上边缘字段指定了由像素数据字段填充的屏幕窗的左边缘的X坐标和上边缘的Y坐标,而X右边缘字段和Y下边缘字段指定了被更新的窗的右边缘的X坐标和下边缘的Y坐标。
在一个实施例中,2字节的CRC字段指定或含有包括包长度字段的包中的所有字节的CRC。
18.显示器功率状态包显示器功率状态包提供用于在例如显示器的客户机未被使用或未处于当前有效使用中时将特定客户机控制的或与客户机有关的、连接的,或控制器硬件置于低功率状态的结构、装置或方法,以便使系统功率消耗或对系统资源的消耗最小化。此类型的包对于将接口或接口结构和协议应用到外部模式配置或操作最有用。在此类应用中,外部装置更有可能是在例如电池的有限功率源上操作,或具有其它功率限制和考虑,例如有限空间中的过热等等,使得在休止或非使用时期需要最小操作条件。在一个实施例中,客户机使用客户机能力包的客户机特征能力指示符字段的位9来指示响应显示器功率状态包的能力。
图28中展示显示器功率状态包的一个实施例的格式。如图28中所示,在一个实施例,将此类型的包构造为具有包长度、包类型、hClient ID、功率状态和CRC字段。此类型的包通常在2字节类型字段中标识为类型75包,且使用8个字节的预选固定长度。如先前所使用,2字节hClient ID字段含有为客户机ID保留的信息或值。由于此字段通常为未来用途而保留,所以通过将所述位设定为“0”(逻辑0电平或状态)来将当前值设定为0,尽管其也可由所属领域的技术人员用来传递所需信息。
功率状态字段(此处2个字节)指定了用于将与例如显示器的客户机相关的特定装置、硬件或设备置于指定功率状态的信息。当用于显示器时,此字段的位0指定包应用于主要显示器还是应用于替代显示器。如果位0等于1,那么包应用于主要显示器。如果位0等于0,那么包应用于由位11到8指定的替代显示器。位1为未来用途而保留且通常设定为0。
功率状态字段的位3到2指定了由位11到8和位0选择的显示器的功率状态。当位[3:2]具有值“00”时,所选显示器不点亮,且应消耗最小量的功率,且在此状态期间,不保证帧缓冲器的内容被保留。当位[3:2]具有值“01”时,所选显示器不点亮且消耗相对最小量的功率,且在此状态期间保证帧缓冲器的内容被保留。显示器在此状态下可能比在状态00下消耗更多功率。客户机可使用客户机能力包的客户机特征能力指示符字段的位10来指示支持状态01的能力。当功率状态字段的位[3:2]具有值“10”时,所选显示器点亮且显示来自其相关帧缓冲器的图像。位[3:2]的值“11”是用于未来用途的保留值或状态,且未使用。
所属领域的技术人员将认识到,虽然对显示器应用最有用,但本发明并非将此包的用途仅限于显示器,且可能存在可能需要或期望与其它硬件元件有关的功率控制的其它应用、配置或情形,其中MDDI与所述硬件元件一起使用,或客户机对所述硬件元件进行控制或通信。如将了解,在这些情形下,上文所揭示的位可具有类似的功能,但可为激活此类元件中的主要和次要元件,或设定功率水平等等。
在一个实施例中,功率状态字段的位11到8形成4位无符号整数,其指定了所述功率状态所应用于的替代显示器。将位0设定为逻辑0值,以便使客户机将位11到8解译为替代显示器编号。如果位0等于1,那么位11到8为0。
位7到4和位15到12为未来用途而保留,且对于当前应用或设计来说通常设定为逻辑0电平或值。
2字节CRC字段指定或含有包括包长度字段的包中的所有字节的CRC。
下文在表VIII中呈现通常由接口结构或协议支持的显示器功率状态的汇总。如可看到,客户机特征能力位10和9的各种组合被用于建立、设置或触发所需功率状态中的各状态。在给定行和列位置中出现的标志指示了对于客户机特征能力指示符位的所述组合来说在所述列的上部指定的显示器功率状态受到支持。可以看到,表VIII的第一和第三行指示了当客户机不具有支持显示器功率状态包的能力时,仅允许功率状态“10”。尽管显示器功率状态不能发送到显示器,但单个标志指示了显示器处于“总是打开”状态且不能通过使用这组位来置于低功率状态。
表VIII

19.执行类型切换包执行类型切换包是供主机使用以便命令客户机切换到此包中所指定的模式的装置、结构或方法。此模式将是如客户机能力包中所述的由客户机支持的接口类型设置中的一者。在发送此包后,主机和客户机应立刻转换到指定的前向和反向链路接口类型。图29中展示执行类型切换包的一个实施例的格式。支持除类型1之外的接口类型的主机和客户机应提供对此包的支持。通常建议主机在马上要发送执行类型切换包之前读取客户机请求与状态包以确认客户机是与主机同步的。
如图29中所示,在一个实施例中,将此类型的包构造为具有包长度、包类型、接口类型、保留1、延迟填充符和CRC字段。通常在2字节类型字段中将此类型的包标识为类型77包。
在一个实施例中,接口类型字段使用1字节值来确认将用于链路的新接口类型。此字段中的值按以下方式来指定或表示接口类型。位2到0定义将在前向链路上使用的接口类型,其中值1表示或指定到类型1模式的切换;值2表示或指定到类型2模式的切换;值3表示或指定到类型3模式的切换;且值4表示或指定到类型4模式的切换。位5到3定义要在反向链路上使用的接口类型,其中值1表示或指定到类型1模式的切换;值2表示或指定到类型2模式的切换;值3表示或指定到类型3模式的切换;且值4表示或指定到类型4模式的切换。位0、5到7的值当前为未来用途而保留。
已将延迟填充符字段创建为用于允许客户机系统具有足够的时间来准备或被配置以在紧接在执行接口类型切换包后的包的开始时转换成使用新的接口类型或用于使用新接口类型的设置。此字段含有一组字节或8位值,其都被设定为或等于逻辑0电平或值。选择此字段中所使用的字节的数目,使得其导致此字段具有等于64个MDDI_Stb循环的长度。延迟填充符字段的长度基于前向链路的接口类型设置,所述长度对于类型1前向链路接口类型来说将为16个字节,对于类型2接口类型来说将为32个字节,对于类型3接口类型来说将为64个字节,且当指定或使用类型4前向链路接口类型时将为128个字节。
保留1字段(此处为1个字节)被保留以在未来用于传递信息。通常将此字段中的所有位都设定为逻辑0电平。此类字段的目的当前是致使所有随后的2字节字段都与16位字地址对齐,且致使4字节字段与32位字地址对齐。CRC字段(此处为2个字节)含有包括包长度字段的包中的所有字节的16位CRC。
20.前向音频信道启用包此包提供使主机启用或禁用客户机中的音频信道的结构、方法或装置。此能力的用途是客户机(例如显示器)可断开音频放大器或类似的电路元件的电源以在主机不输出音频时节省功率。仅仅将音频流的存在与否用作指示符来隐含地实施这一能力会困难得多。当客户机系统被加电时的默认状态是所有的音频信道都启用。图30中展示前向音频信道启用包的一个实施例的格式。如图30中所示,将此类型的包构造为具有包长度、包类型、hClient ID、音频信道启用掩码和CRC字段。此类型的包通常在1字节类型字段中标识为类型78包,且使用4个字节的预选固定长度。
21.反向音频采样率包此类型的包提供了允许主机启用或禁用客户机中的音频信道的结构、方法或装置。此能力的用途是客户机可断开音频放大器的电源以在主机不输出音频时节省功率。使用音频流的存在与否来隐含地实施这一能力会困难得多。当客户机系统被加电或连接到主机时,默认状态是所有的音频信道都启用。连接到主机和客户机的音频系统应准备好或能够在客户机接收到前向音频信道启用包后在约100msec或更少时间内以所希望或所需方式输出音频信号,所述前向音频信道启用包的音频信道启用掩码字段中的位的至少一个位已经完成从0到1状态或值的转变。客户机通过使用为客户机能力包的音频信道能力字段的位15设定的值来指示响应前向音频信道启用包的能力。
此包允许主机启用或禁用反向链路音频信道,且设定音频流的音频数据采样率。主机选择在客户机能力包中定义为有效的采样率。如果主机选择无效的采样率,那么客户机不会将音频流发送到主机,且可在客户机错误报告包中将适当的错误、错误值或错误信号发送到主机。主机可通过将采样率设定为值255来禁用反向链路音频流。当客户机系统最初被加电或连接时所采取的默认状态是反向链路音频流被禁用。图31中展示反向音频采样率包的一个实施例的格式。如图31中所示,将此类型的包构造为具有包长度、包类型、hClient ID、音频采样率、保留1和CRC字段。此类型的包通常被标识为类型79包,且使用4个字节的预选固定长度。
22.数字内容保护开销包此包提供允许主机和客户机交换与所使用的数字内容保护方法有关的消息的结构、方法或装置。当前设想了两种类型的内容保护,数字传输内容保护(DTCP)或高带宽数字内容保护(HDCP)系统,同时为未来的替代保护方案名称保留了空间。所使用的方法由此包中的内容保护类型参数来指定。图32中展示数字内容保护开销包的实施例的格式。如图32中所示,将此类型的包构造为具有包长度、包类型、bClient ID、内容保护类型、内容保护开销消息和CRC字段。通常将此类型的包标识为类型80包。
23.透明色和遮罩设置包透明色和遮罩设置包是用于指定哪一种色彩为透明的且启用或禁用用于显示图像的透明色的结构、方法或装置。在一个实施例中,具有此能力的客户机或显示器将使用客户机能力包的客户机特征能力字段的位4来报告所述能力。当将具有透明色的值的像素写入到位图时,所述色彩不从先前的值改变。图33中展示透明色启用包的格式。如图33中所示,在一个实施例中,将此类型的包构造为具有包长度、包类型、hClient ID、显示数据属性、保留1、数据格式描述符、透明色值、透明遮罩值和CRC字段。此类型的包通常在1字节类型字段中标识为类型81包,且使用16个字节的预选固定长度。
hClient ID字段被保留用于未来的实施方案中的客户机ID,且通常被设定为零值(逻辑0位)。
在一个实施例中,2字节显示数据属性字段具有指定透明像素色将应用在何处的值,其中位0选择透明像素色将应用于的显示器。当位0等于值0(逻辑0)时,透明像素色应用到由下面的位8到11指定的替代显示器。当位0等于值1(逻辑1)时,透明像素色应用到主显示器。
在一个实施例中,位1选择或指定透明色或遮罩字段是含有透明色还是透明遮罩。当位0等于0(逻辑0)时,透明色或遮罩字段含有要在随后的光栅操作中或在解码视频流包或按比例缩放的视频流包时使用的透明色值。当位0等于1(逻辑1)时,透明色或遮罩字段含有要在随后的光栅操作中或在解码视频流包或按比例缩放的视频流包时使用的透明遮罩值。
显示数据属性字段的位11到8指定了透明像素色将应用于的显示器或替代客户机位置。将位0设定为等于值0(逻辑0),以便使客户机将位11到8解译为替代显示器编号。如果位0不等于0,那么位8到11通常设定为等于逻辑0值或电平,且被忽略。
显示数据属性字段的位7到2和位15到12为未来用途而保留且通常被设定为逻辑0电平或零值。
2个字节的保留1字段为未来用途而保留。通常将此字段中的所有位设定为0(逻辑0电平或状态)。在一个实施例中,此字段的一个目的是致使所有随后的2字节字段都与16位字地址对齐,且致使4字节字段与32位字地址对齐。
在一个实施例中,透明色启用包的视频数据格式描述符字段使用2个字节来指定透明色值的格式。图11说明如何编码视频数据格式描述符。所述格式通常与视频流包中的相同字段相同。
在一个实施例中,透明色值字段用于指定或分派几个字节(在此实例中,指定为包的长度减12(用于非“值”字段)且除以2(以与透明遮罩字段共享))以用于将用作随后的光栅操作中或在解码视频流包或按比例缩放的视频流包时的透明色的值的像素值。在视频数据格式描述符字段中指定此值的格式。透明色的像素格式的实例与早先所示的那些相同。如果选择Y Cb Cr格式,那么透明色和透明遮罩通常包括完全如早先所示的像素1和2Cb、像素1Y、像素1和2Cr和像素2Y的子字段。为透明色值分派的字节的数目由视频数据格式描述符字段来确定。
在一个实施例中,透明色遮罩值字段用于指定或分派几个字节(在此实例中,指定为包的长度减12(用于非“值”字段)且除以2(以与透明遮罩字段共享))以用于将用作随后的光栅操作中或在解码视频流包或按比例缩放的视频流包时的透明遮罩的像素值。此值的格式与在视频数据格式描述符字段中所指定的透明色值的格式相同。为此字段分派的字节的数目由视频数据格式描述符字段来确定。此字段的长度与透明色值字段的长度相同。
在一个实施例中,透明色或遮罩值字段使用或分派4个字节以用于将用作如由显示数据属性字段的位1指定的透明色或透明遮罩的值的像素值。在视频数据格式描述符字段中指定此像素的格式。
CRC字段使用2个字节来包含或表示包括包长度字段的包中的所有字节的CRC。
24.往返延迟测量包往返延迟测量包提供用于测量从主机到客户机(显示器)的传播延迟加上从客户机(显示器)回到主机的延迟的结构、方法或装置。此测量固有地包括存在于线驱动器和接收器以及互连子系统中的延迟。此测量用于在上文大体描述的反向链路封装包中设定往返延迟和反向链路速率除数参数。当MDDI链路以特定应用所希望的最大速度运行时,此包最有用。可在类型1模式下且以较低数据速率发送所述包,以便增加往返延迟测量的范围。MDDI_Stb信号像在以下字段两个保护时间(guard time)、全零和测量周期期间发送全零数据那样起作用。这导致MDDI_Stb以数据速率的一半速率来切换,使得其可在测量周期期间用作客户机中的周期性时钟。
在一个实施例中,客户机通常通过使用客户机能力包的客户机特征能力指示符字段的位18来指示支持往返延迟测量包的能力。建议所有客户机都支持往返延迟测量,但主机有可能基于最大电缆延迟且基于最大驱动器和接收器延迟来知晓最坏情况往返延迟。主机也可预先知晓用于内部模式的MDDI链路的往返延迟,因为这是接口用于其中的装置的已知设计要素(导体长度、电路类型和特征等等)的一方面。
图34中展示往返延迟测量包的格式。如图34中所示,在一个实施例中,将此类型的包构造为具有包长度、包类型、hClient ID、参数CRC、保护时间1、测量周期、全零和保护时间2字段。此类型的包通常被标识为类型82包,且使用200个位的预选固定长度。
图35中说明在往返延迟测量包期间发生的事件的时序。在图35中,主机传输往返延迟测量包,它由参数CRC和选通对齐字段接着是全零1和保护时间1字段的存在来展示。在包到达客户机显示装置或处理电路之前,发生延迟3502。当客户机接收到包时,客户机在如由客户机确定的测量周期的开始时尽可能精确地传输0xff、0xff和30个字节的0x00模式。从主机的观点来看,客户机开始传输此序列的实际时间被从测量周期的开始延迟。此延迟的量实质上是包通过线驱动器和接收器以及互连子系统(电缆、导体)传播所花的时间。所述模式从客户机传播回到主机会引起类似量的延迟3504。
为了准确地确定传送到客户机并从客户机传送回的信号的往返延迟时间,主机计数在测量周期开始后直至0xff、0xff和30个字节的0x00序列的开始在到达时被检测到为止所发生的前向链路位时间周期的数目。此信息用于确定往返信号从主机传送到客户机并再返回所需的时间量。当使用类型2到4的反向链路或模式时,在数据速率和往返延迟偏斜大得足以不同程度地影响每个位的到达时间的情况下,主机测量并保存所有MDDI_Data对的往返延迟值。
在两个保护时间期间,主机和客户机两者都将线驱动到逻辑0电平,以使MDDI_Data线保持在所定义的状态。在两个保护时间期间,主机和客户机的启用和禁用时间使得MDDI_Data信号对于任何有效往返延迟时间总是处于有效低电平。
在两个保护时间期间,主机和客户机两者都将线驱动到逻辑0电平,以使MDDI_DATA线保持在所定义的状态。在两个保护时间期间,主机和客户机的启用和禁用时间使得MDDI_Data信号对于任何有效往返延迟时间都处于有效低电平。
25.前向链路偏斜校准包在一个实施例中,前向链路偏斜校准包允许客户机或显示器就MDDI_Data信号相对于MDDI_Stb信号的传播延迟中的差异而校准其自身。在无延迟偏斜补偿的情况下,最大数据速率通常受限于对这些延迟中的潜在最坏情况变化的估计。通常,建议仅在前向链路数据速率被配置为约50Mbps或更低的速率时发送此包。在发送此包以校准显示器后,数据速率可提高到50Mbps以上。如果在偏斜校准过程期间将数据速率设定得太高,客户机就可能与位周期的伪信号同步,这可能导致延迟偏斜补偿设定偏离一个以上位时间,从而导致错误的数据时序。在发送前向链路偏斜校准包之前选择接口的最高数据速率类型或最可能接口类型,以便校准所有的现存数据位。客户机通过使用客户机能力包的客户机特征能力指示符字段的位19来指示支持前向链路偏斜校准包的能力。
在执行偏斜校准之前,主机发送数据的速率不会比由客户机能力包的预校准数据速率能力字段指定的速率快。然而,在执行校准之后,主机发送数据的速率可高达由后校准数据速率能力字段所定义的速率。建议主机以规则的时间间隔来发送前向链路偏斜校准包以校正由于温度变化的缘故而导致的不同信号对之间的相对延迟的变化。
图56中展示前向链路偏斜校准包的格式的一个实施例。如图56中所示,将此类型的包构造为具有包长度(2个字节)、包类型、hClient ID、参数CRC、全零1、校准数据序列和全零2字段。通常在类型字段中将此类型的包标识为类型83包。
虚拟控制面板VCP的使用允许主机在客户机中设定某些用户控制。通过允许这些参数由主机来调节,客户机中的用户界面可简化,因为可由主机软件而不是由客户机中的一个或一个以上微处理器来产生允许用户调节例如音量或显示器亮度的参数的屏幕。主机具有读取客户机中的参数设置和确定每个控制的有效值范围的能力。客户机通常具有将哪些控制参数可被调节的信息报告回主机的能力。
控制代码(VCP代码)和一般地指定的相关数据值被用于指定客户机中的控制和设置。将MDDI规格中的VCP代码扩充到16个位,以保存包定义中的合适的数据字段对齐,且在将来支持只有此接口或未来增强接口才有的补充值。
26.请求VCP特征包请求VCP特征包提供了供主机请求特定控制参数或所有有效控制参数的当前设置的装置、机构或方法。通常主机用VCP特征回复包中的适当信息来响应VCP包。在一个实施例中,客户机通过使用客户机能力包的客户机特征能力指示符字段的位13来指示支持请求VCP特征包的能力。
图69中展示一个实施例中的请求VCP特征包的格式。如图69中所见,将此类型的包构造为具有包长度、包类型、hClient ID、显示器选择器、监视器控制命令集(MCCS)VCP代码、和CRC字段。在一个实施例中通常将此类型的包标识为类型128,其在2字节类型字段中指示。包长度(指定包中的不包括包长度字段的字节总数)对于此类型的包来说通常固定在10字节的长度。
hClient ID字段被保留以用作未来实施方案中的客户机ID且通常被设定为0。
在一个实施例中,VCP特征回复包中的2字节显示器选择器字段指定了应用VCP包的显示器。显示器选择器字段的位0选择VCP包所应用于的显示器。当位0等于0时,VCP包应用到由下面的位11到8指定的替代显示器。另一方面,如果位0等于1(逻辑1电平),那么VCP包应用到主显示器。当前将显示器选择器字段的位7到1保留用于未来用途,且通常将之设定为等于零值,或将所述位设定在逻辑0电平。
显示器选择器字段的位11到8使用4位无符号整数值来指定VCP包将应用于的替代显示器。当显示器选择器字段的位0等于0(逻辑0电平)时,客户机将位11到8解译为替代显示器编号。如果位0不等于0,那么位11到8被设定为0且将被忽略。位15到12保留用于未来的用途且通常被设定为零值,或每个位都被设定为逻辑0电平。
在一个实施例中,MCCS VCP代码字段包含2个字节的信息,其指定MCCS VCP控制代码参数。在0到255的范围内的值导致返回一个VCP特征回复包,其中在VCP特征回复列表中具有对应于指定MCCS代码的单个项目。为65535(0xffff)的MCCS VCP代码请求VCP特征回复包,其中VCP特征回复列表含有用于由客户机支持的每个控制的特征回复列表项目。此字段的256到65534的值为未来的用途而保留且目前未使用。
2字节的CRC字段含有包括包长度字段的包中的所有字节的CRC。
27.VCP特征回复包VCP特征回复包提供供客户机用特定控制参数或所有有效控制参数的当前设置来响应主机请求的装置、机构或方法。通常,客户机响应于请求VCP特征包而发送VCP特征回复包。此包对于确定特定参数的当前设置、确定特定控制的有效范围、确定特定控制是否被客户机支持或确定被客户机支持的控制组来说有用。如果发送了引用未在客户机中实施的特定控制的请求VCP特征,那么返回VCP特征回复包,其中具有对应于未实施控制的单个VCP特征回复列表项目,其含有适当的错误代码。在一个实施例中,客户机通过使用客户机能力包的客户机特征能力字段的位13来指示支持VCP特征回复包的能力。
图70中展示一个实施例中的VCP特征回复包的格式。如图70中所见,将此类型的包构造为具有包长度、包类型、cClient ID、显示器选择器、MCCS版本、回复序列编号、VCP特征回复列表和CRC字段。如2字节类型字段中所指示,在一个实施例中通常将此类型的包标识为类型129。
cClient ID字段含有为客户机ID保留的信息。此字段为未来的用途而保留且通常被设定为0。
在一个实施例中,VCP特征回复包中的2字节显示器选择器字段标明了VCP包所应用于的显示器。显示器选择器字段的位0选择VCP包所应用于的显示器。当位0等于0,那么VCP包应用到由下面的位11到8指定的替代显示器。另一方面,如果位0等于1(逻辑1电平),那么VCP包应用到主显示器。显示器选择器字段的位7到1当前为未来的用途而保留,且通常被设定为等于零值,或所述位被设定为逻辑0电平。
显示器选择器字段的位11到8使用4位无符号整数值来指定VCP包将应用于的替代显示器。当显示器选择器字段的位0等于0(逻辑0电平)时,客户机将位11到8解译为替代显示器编号。如果位0不等于0,那么位11到8被设定为0且将被忽略。位15到12为未来的用途而保留且通常被设定为零值,或每个位都被设定为逻辑0电平。
MCCS版本字段含有2个字节的信息,其指定由客户机实施的VESA MCCS规格的版本。
VCP特征回复包中的2字节回复序列编号字段含有指定由客户机返回的VCP特征回复包的序列编号的信息或数据。客户机响应于具有MCCS控制代码值65535的请求VCP特征包而返回一个或一个以上VCP特征回复包。客户机可经由多个VCP特征回复包传播或传递特征回复列表。在此情况下,客户机应将序列编号或标识符分配给每个连续的包,且响应于单个请求VCP特征包而发送VCP特征回复包的序列编号通常以0开始且递增1。最后一个VCP特征回复包中的最后一个VCP特征回复列表项目应含有等于0xffff的MCCS VCP控制代码值,以标识所述包为最后一者且含有所返回的包群组的最高序列编号。如果响应于请求VCP特征包仅发送一个VCP特征回复包,那么所述单个包中的回复序列编号通常被设定为0,且VCP特征回复列表含有MCCS VCP代码等于0xffff的VCP特征回复列表项目。当MCCS VCP控制代码等于0xffff时,将VCP特征回复列表项目包中的最大值和当前值字段(图71)设定为0。
列表字段中的特征数目含有2个字节,其指定在此包中的VCP特征回复列表中的VCP特征回复列表项目的数目,而VCP特征回复列表字段是含有一个或一个以上VCP特征回复列表项目的字节群组。图71中展示一个实施例中的单个VCP特征回复列表项目的格式。
如图71中所示,每个VCP特征回复列表项目的长度都为12个字节,且包含MCCSVCP代码、结果代码、最大值和当前值字段。2字节的MCCS VCP代码字段含有指定与此列表项目相关的MCCS VCP控制代码参数的数据或信息。对于此实施例来说,仅在VESA MCCS规格版本2及以后版本中定义的控制代码值被视为有效。2字节的结果代码字段含有指定错误代码的信息,所述错误代码与对关于所指定的MCCS VCP控制的信息的请求有关。此字段中的值“0”表示没有错误,而值“1”表示所指定控制未在客户机中实施。此字段的其它值2到65535当前为未来的使用和此项技术所期望的其它应用的实施而保留,但现在不使用。
4字节的最大值字段指定了所指定MCCS控制可设定成的最大可能值。如果所请求的控制未在客户机中实施,那么将此值设定为0。如果返回的值的长度小于32个位(4个字节),那么将所述值计算成32位整数,同时使最高有效(未使用的)字节设定为0。4字节的当前值字段含有指定所指定MCCS VCP连续(C)或不连续(NC)控制的当前值的信息。如果所请求的控制未在客户机中实施,或虽然控制被实施但为表(T)数据类型,那么将此值设定为0。如果返回的值的每VESA MCCS规格的长度小于32个位(4个字节),那么将所述值计算成32位整数,同时使最高有效(未使用的)字节设定为0。如果指定的MCCS VCP代码对应于不连续控制或表数据类型,那么将最大值字段设定或选择为0。
28.设定VCP特征包设定VCP特征包提供了供主机设定客户机中的连续和不连续控制两者的VCP控制值的装置、机构或方法,在一个实施例中,客户机通过使用客户机能力包的客户机特征能力字段的位13来指示支持设定VCP特征包的能力。
图72中展示一个实施例中的设定VCP特征包的格式。如图72中所见,将此类型的包构造成具有包长度、包类型、hClient ID、显示器选择器、MCCS VCP代码、列表中值数目、控制值列表和CRC字段。如2字节类型字段中所指示,此类型的包通常标识为类型130,长度为20个字节(不包括包长度字段)。
在一个实施例中,hClient ID字段再次使用2字节值来指定或充当客户机ID。此字段为未来的用途而保留且当前被设定为零值。
在一个实施例中,设定VCP特征包中的2字节显示器选择器字段标明在何处应用VCP包。显示器选择器字段的位0选择VCP包所应用于的显示器。当位0等于0时,VCP包应用到由下面的位11到8指定的替代显示器。另一方面,如果位0等于1(逻辑1电平),那么VCP包应用到主显示器。显示器选择器字段的位7到1当前为未来的用途而保留,且通常被设定为等于零值,或将所述位设定为逻辑0电平。
显示器选择器字段的位11到8指定了VCP包将应用于的替代显示器。当显示器选择器字段的位0等于0(逻辑0电平)时,客户机将位11到8解译为替代显示器编号。如果位0不等于0,那么位11到8被设定为0且将被忽略。位15到12为未来的用途而保留且通常被设定为零值,或每个位都被设定为逻辑0电平。
设定VCP特征包的MCCS VCP代码字段使用2个字节的信息或值来指定要调节的MCCS VCP控制代码参数。列表字段中的2字节的值数目(Number of Values)含有指定存在于控制值列表中的16位值的数目的信息或值。控制值列表通常将含有一个项目,除非MCCS控制代码与客户机中的表有关。在非表相关控制的情况下,控制值列表将含有一值,其指定要写入到由MCCS VCP代码字段指定的控制参数的新值。对于表相关控制来说,控制值列表中的数据的格式由所指定MCCS VCP代码的参数描述来指定。如果列表含有比一个字节大的值,那么首先传输最低有效字节,这符合其它地方所定义的方法。最后,2字节的CRC字段含有包括包长度字段的包中的所有字节的16位CRC。
29.请求有效参数包请求有效参数包用作可用于请求客户机返回含有由指定NC或表(T)控制支持的参数列表的有效参数回复包的装置或结构。此包应仅指定不连续控制或与客户机中的表有关的控制,且不指定用以指定所有控制的为65535(0xffff)的MCCS VCP代码值。如果指定了未支持或无效MCCS VCP代码,那么在有效参数回复包中返回适当的错误值。在一个实施例中,客户机通过使用显示器能力包的客户机特征能力字段的位13来指示支持请求有效参数包的能力。
图73中展示一个实施例中的请求有效参数包的格式。如图73中所见,将此类型的包构造为具有包长度、包类型、hClient ID、显示器选择器、MCCS VCP代码和CRC字段。如2字节类型字段中所指示,在一个实施例中通常将此类型的包标识为类型131。
如2字节的包长度字段中所指示的包长度通常被设定为具有包中的字节的总数目,但不包括包长度字段的长度8。hClient ID同样指定客户机ID,但如所属领域的技术人员所明了,当前为未来的用途而保留,且被设定为零值或逻辑0电平。
在一个实施例中,请求有效参数包的2字节的显示器选择器字段标明在何处应用VCP包。显示器选择器字段的位0选择VCP包所应用到的显示器。当位0等于0时,VCP包应用到由下面的位11到8指定的替代显示器。另一方面,如果位0等于1(逻辑1电平),那么VCP包应用到主显示器。显示器选择器字段的位7到1当前为未来的用途而保留且通常被设定为等于零值,或所述位被设定为逻辑0电平。
显示器选择器字段的位11到8指定VCP包将应用到的替代显示器。当显示器选择器字段的位0等于0(逻辑0电平)时,客户机将位11到8解译为替代显示器编号。如果位0不等于0,那么位11到8被设定为0且将被忽略。位15到12为未来的用途而保留且通常被设定为零值,或每个位都被设定为逻辑0电平。
请求有效参数包的2字节的MCCS VCP代码字段含有指定要被查询的不连续MCCSVCP控制代码参数的值。此字段中的值应对应于在客户机中实施的不连续控制。值256到65535(0xffff)通常被保留且被视为无效,且被视为错误响应中的未实施控制。CRC字段(此处为2个字节)含有包括包长度字段的包中的所有字节的CRC。
30.有效参数回复包响应于请求有效参数包而发送有效参数回复包。其用作标识不连续MCCS VCP控制或返回表的内容的控制的有效设置的装置、方法或结构。如果控制与客户机中的表有关,那么VCP参数回复列表仅含有被请求的顺序表值的特定列表。如果表的内容不能容纳于单个有效参数回复包中,那么客户机可发送具有顺序回复序列编号的多个包。在一个实施例中,客户机通过使用客户机能力包的客户机特征能力字段的位13来指示支持有效参数回复包的能力。
主机可能以以下方式来请求表的内容主机发送设定VCP特征包,其含有必要或所需参数,例如读取/写入参数、查找表(LUT)偏移量和RGB选择;接着主机发送指定所需控制的请求有效参数包;接着客户机返回含有表数据的一个或一个以上有效参数回复包。此操作序列执行与MCCS操作模型中所述的表读取功能类似的功能。
如果客户机不支持特定客户机参数,那么在一个实施例中,此包的对应字段将含有值255。对于客户机中所使用的参数来说,对应字段应含有客户机中的参数的值。
图74中展示一个实施例的有效参数回复包的格式。如图74中所见,将此类型的包构造为具有包长度、包类型、cClient ID、显示器选择器、MCCS VCP代码、响应代码、回复序列编号、列表中的值数目、VCP参数回复列表和CRC字段。如2字节类型字段中所指示,对于一个实施例来说通常将此类型的包标识为类型132。
如从上文的论述中已知,cClient ID字段为未来的客户机ID而保留。
在一个实施例中,2字节显示器选择器字段含有关于在何处应用VCP包的信息。显示器选择器字段的位0选择VCP包所应用到的显示器。如果位0等于0,那么VCP包应用到由下面的位11到8指定的替代显示器。另一方面,如果位0等于1(逻辑1电平),那么VCP包应用到主显示器。显示器选择器字段的位7到1当前为未米的用途而保留,且通常被设定为等于零值,或所述位被设定为逻辑0电平。
显示器选择器字段的位11到8指定VCP包将应用到的替代显示器。当位0等于0(逻辑0电平)时,客户机将位11到8解译为替代显示器编号。如果位0不等于0,那么位11到8被设定为0且将被忽略。位15到12为未来的用途而保留且通常被设定为零值,或每个位都被设定为逻辑0电平。
在一个实施例中,3字节的MCCS VCP代码包含有指定由此包描述的不连续MCCSVCP控制代码参数的值。如果无效MCCS VCP控制代码由请求有效参数包指定,那么将在此字段中用响应代码字段中的适当值指定相同无效参数值。如果MCCS控制代码无效,那么VCP参数回复列表将具有零长度。
响应代码字段含有2个字节的信息或值,其指定与对关于所指定MCCS VCP控制的信息的请求有关的响应的性质。如果此字段中的值等于0,那么认为此数据类型中不存在错误,且发送序列中的最后一个有效参数回复包,其具有最高回复序列编号。如果此字段中的值等于1,那么认为不存在错误,但将发送具有较高序列编号的其它有效参数回复包。如果此字段中的值等于2,那么认为所指定控制未在客户机中实施。如果此字段的值等于3,那么所指定控制不是不连续控制(其为连续控制,其总是具有从0到其最大值的所有值的一有效组)。此字段的等于4到65535的值为未来的用途而保留且通常不使用。
2字节的回复序列编号字段指定由客户机返回的有效参数回复包的序列编号。客户机响应于请求有效参数包而返回一个或一个以上有效参数回复包。客户机可经由多个有效参数回复包而传播VCP参数回复列表。在此后者情况下,客户机会将序列编号分配给每个连续包,且在序列中的除最后一个包之外的所有包中将响应代码设定为1。序列中的最后一个有效参数回复包将具有最高回复序列编号,且响应代码含有值0。
列表字段中的2字节的值数目指定存在于VCP参数回复列表中的16位值的数目。如果响应代码不等于0,那么列表参数中的值的数目为0。VCP参数回复列表字段含有0到32760个2字节值的列表,所述值指示由MCCS控制代码字段指定的不连续控制的有效值组。在VESA MCCS规格中指定不连续控制代码的定义。最后,在此实施例中,CRC字段含有包括包长度字段的包中的所有字节的16位CRC。
按比例缩放的视频流图像MDDI或协议机制、结构、装置或方法提供对按比例缩放的视频流图像的支持,其允许主机将图像发送到客户机,所述图像按比例缩放得比原始图像更大或更小,且将按比例缩放的图像复制到主要图像缓冲器。其它地方提供按比例缩放的视频流功能性和相关协议支持的概观。由按比例缩放的视频流能力包或在按比例缩放的视频流能力包内定义用于支持按比例缩放的视频流的能力,响应于请求特定状态包而发送按比例缩放的视频流能力包。
下文所论述的按比例缩放的视频流包的标头与标头含有显示图像所必需的整个上下文的较简单视频流包稍有不同。按比例缩放的视频流包使用设置包来定义源和目的窗大小和位置参数,且使用单独的按比例缩放的视频流包来传输像素数据。客户机分派与每个流相关的内部存储器以存储来自设置包的流参数和与每个流相关的像素数据的一部分。每个流所需要的存储装置的量将取决于源和目的图像的大小以及设置包中所指定的值而变化。出于此原因,协议被设计成允许客户机为与每个按比例缩放的视频流相关的存储器分配实施动态存储器分派。
将视频流发送到具有程序源的天然大小的显示器且使显示器以适合于特定终端应用的方式按比例缩放并定位图像是有用的。多个视频图像的实时按比例缩放的实施十分复杂,使得对此特征的支持在客户机中是可选的。
31.按比例缩放的视频流能力包按比例缩放的视频流能力包定义了客户机中或由客户机使用的按比例缩放的视频流源图像的特征。图75中大体上展示按比例缩放的视频流能力包的格式。如图75中所见,在一个实施例中,将按比例缩放的视频流能力包构造为具有包长度、包类型、cClient ID、流的最大数目、源最大X尺寸、源最大Y尺寸、RGB能力、单色能力、保留1、Y Cr Cb能力、保留2和CRC字段。在一个实施例中,如长度字段中所示,将包长度选为固定的20个字节,包括2字节的cClient ID字段(其保留用于客户机ID,否则设定为0)和CRC字段。在一个实施例中,客户机通过使用有效状态回复列表包的有效参数回复列表中的参数值143来指示支持按比例缩放的视频流能力包的能力。
2字节的流的最大数目字段含有用于标识一次可分派的同时的按比例缩放的视频流的最大数目的值。在一个实施例中,如果已经分派了最大数目的按比例缩放的视频流,那么客户机应拒绝对分派按比例缩放的视频流的请求。如果分配了少于最大数目的按比例缩放的视频流,那么客户机也可基于客户机中的其它资源限制而拒绝分派请求。
源最大X尺寸和Y尺寸字段(2个字节)分别指定表达为若干个像素的按比例缩放的视频流源图像的最大宽度和高度的值。
RGB能力字段使用若干值来指定可以RGB格式显示的分辨率的位的数目。如果按比例缩放的视频流不能使用RGB格式,那么将此值设定为等于0。RGB能力字由三个单独的无符号值组成,其中位3到0定义每个像素中蓝色的位的最大数目(蓝色强度),位7到4定义每个像素中绿色的位的最大数目(绿色强度),且位11到8定义每个像素中红色的位的最大数目(红色强度),而位15到12被保留用于在未来的能力定义中的未来用途,且通常被设定为0。
1字节单色能力字段含有指定可以单色格式显示的分辨率的位的数目的值。如果按比例缩放的视频流不能使用单色格式,那么将此值设定为0。位7到4为未来的用途而保留且因此对于当前应用来说应被设定为零(“0”),尽管这可随着时间的经过而改变,如所属领域的技术人员所了解。位3到0定义了可存在于每个像素中的灰度级的位的最大数目。这四个位使指定每个像素由1到15个位组成成为可能。如果值为0,那么按比例缩放的视频流不支持单色格式。
保留1字段(此处为1个字节)为提供与按比例缩放的视频流包信息或数据有关的值的未来用途而保留。因此,当前,将此字段中的所有位都设定为逻辑“0”。此字段的一个目的是致使所有随后2字节字段都与16位字地址对齐,且致使4字节字段与32位字地址对齐。
2字节的Y Cb Cr能力字段含有若干值,其指定可以Y Cb Cr格式显示的分辨率的位的数目。如果按比例缩放的视频流不能使用Y Cb Cr格式,那么此值为0。Y Cb Cr能力字由三个单独的无符号值组成,其中位3到0定义指定Cr样本的位的最大数目;位7到4定义指定Cb样本的位的最大数目;位11到8定义指定Y样本的位的最大数目,且位15到12为未来的用途而保留,且通常被设定为0。
1字节的能力位字段含有一组旗标,其指定与按比例缩放的视频流相关的能力。如下定义旗标位0涵盖可采取压缩格式的按比例缩放的视频流包中的像素数据。早先在图13中展示压缩的和字节对齐的像素数据的实例。位1为未来的用途而保留且通常被设定为0;位2也为未来的用途而保留且被设定为0;位3涵盖可以色彩图数据格式指定的按比例缩放的视频流。将与用于主要图像缓冲器和α光标图像平面(alpha-cursor imageplane)的色彩图表相同的色彩图表用于按比例缩放的视频流。将色彩图配置成使用其它地方所述的色彩图包;且位7到4为末来的用途而保留且通常被设定为0。
保留2字段(此处为1个字节)为提供与按比例缩放的视频流包信息或数据有关的值的未来用途而保留。因此,当前,将此字段中的所有位都设定为逻辑“0”。此字段的一个目的是致使所有随后2字节字段都与16位字地址对齐,且致使4字节字段与32位字地址对齐。
32.按比例缩放的视频流设置包按比例缩放的视频流设置包提供用于定义按比例缩放的视频流的参数的装置、结构或方法,且客户机使用所述信息来分派用于缓冲和按比例缩放图像的内部存储器。可通过发送X图像尺寸和Y图像尺寸字段等于0的此包来解除流的分派。已经解除分派的按比例缩放的视频流稍后可以相同或不同的流参数予以重新分派。在一个实施例中,客户机通过使用有效状态回复列表包的有效参数回复列表中的参数值143,且通过使用按比例缩放的视频流能力包的流的最大数目字段中的非零值来指示支持按比例缩放的视频流设置包的能力。
图76中大体上展示按比例缩放的视频流设置包的格式。如图76中所见,在一个实施例中,将按比例缩放的视频流设置包构造为具有包长度、包类型、hClient、流ID、视频数据格式描述符、像素数据属性、X左边缘、Y上边缘、X右边缘、Y下边缘、X图像尺寸、Y图像尺寸和CRC字段。
2字节的包长度字段指定了不包括包长度字段的包中的字节的总数目。在一个实施例中,将此包长度固定为24。2字节的包类型字段将值136用于将包标识为按比例缩放的视频流设置包。如将知晓,2字节的hClient ID字段被保留用于作为客户机ID的未来用途,且当前或直到协议用户确定要使用何ID值为止通常被设定为所有位都处于逻辑0值。
流ID字段使用2个字节来指定流ID的唯一标识符。此值由主机分配且值的范围从0到客户机能力包中所指定的最大流ID值。主机必须谨慎地管理流ID值的使用以确保每个有效流都分配到唯一值,且不再有效的流被解除分派或重新分配。
在一个实施例中,视频数据格式描述符字段使用2个字节来指定当前包中的当前流中的像素数据中的每个像素的格式。像素数据格式应遵照如可在α光标图像能力包中定义的α光标图像平面或通常将在上文所论述的其它包内定义的其它预定义图像图案的有效格式中的至少一者。视频数据格式描述符仅定义当前包的像素格式,且不暗示将在特定视频流的寿命中一直使用某格式。图12说明如何编码视频数据格式描述符的实施例,且如上文对于其它包所论述。
举例来说,如图12A到12D中所见,且用于一个实施例中,当位[15:13]等于“000”时,视频数据就由单色像素阵列组成,其中每像素的位的数目由视频数据格式描述符字的位3到0未定义。位11到4通常为未来的用途或应用而保留,且在此情形下被设定为0。当位[15:13]代替地等于值“001”时,视频数据就由彩色像素阵列组成,彩色像素的每一者都通过色彩图(调色板)来指定一种色彩。在此情形下,视频数据格式描述符字的位5到0定义每像素的位的数目,且位11到6通常为未来的用途或应用而保留且被设定为等于0。当位[15:13]代替地等于值“010”时,视频数据就由色彩像素阵列组成,其中每红色像素的位的数目由位11到8来定义,每绿色像素的位的数目由位7到4来定义,且每蓝色像素的位的数目由位3到0来定义。在此情形下,每个像素中的位的总数目是用于红色、绿色和蓝色的位的数目的总和。
然而,如图12D中所示,当位[15:13]代替地等于值或串“011”时,视频数据就由具有亮度和色度信息的采取4:2:2 YCbCr格式的视频数据阵列组成,其中亮度(Y)的每像素的位数目由位11到8定义,Cb分量的位数目由位7到4定义,且Cr分量的位数目由位3到0定义。每个像素中的位的总数目为用于红色、绿色和蓝色的位的数目的总和。发送Cb和Cr分量的速率是发送Y的速率的一半。另外,此包的像素数据部分中的视频样本被组织如下Cbn、Yn、Crn、Yn+1、Cbn+2、Yn+2、Crn+2、Yn+3、…,其中Cbn和Crn与Yn和Yn+1相关,且Cbn+2和Crn+2与Yn+2和Yn+3相关,等等。Yn、Yn+1、Yn+2和Yn+3为单个行中从左到右的四个连续像素的亮度值。
对于上文所论述的所有四个格式来说。在图中标明为“P”的位12指定像素数据样本是否为压缩,或字节对齐的像素数据。此字段中的值“0”指示像素数据字段中的每个像素都与MDDI字节边界字节对齐。值“1”指示像素数据字段中的每个像素和每个像素内的每个色彩都相对于像素内的先前像素或色彩而压缩,从而不留下未使用位。
在一个实施例中,2字节的像素数据属性字段具有被如下解译的值,其中位1和0为未来的用途而保留,通常目前被设定为逻辑0,且位2指示像素数据是否采取交错格式。当位2为0时,像素数据就采取标准渐进格式。当从一个行前进到下一行时,行编号(像素Y坐标)递增1。当位2为1时,像素数据就采取交错格式。当从一个行前进到下一行时,行编号(像素Y坐标)递增2。
在一个实施例中,位3指示像素数据是否采取交替像素格式。这类似于由位2启用的标准交错模式,但交错是垂直的而非水平的。当位3为0时,像素数据被产生且置于标准渐进格式。当每个连续像素被接收到时,列编号(像素X坐标)递增1。当位3为1时,像素数据被产生且置于交替像素格式中。当每个像素被接收到时,列编号(像素X坐标)递增2。
位4到15也为未来的用途而保留,且对于当前应用或设计来说,通常被设定为逻辑0电平或值。
33.按比例缩放的视频流确认包按比例缩放的视频流确认包允许客户机确认接收到按比例缩放的视频流设置包。客户机可经由有效状态回复列表包的有效参数回复列表中的参数值143且经由按比例缩放的视频流能力包的流的最大数目字段中的非零值来指示支持按比例缩放的视频流确认包的能力。
图77中大体上展示按比例缩放的视频流确认包的格式。如图77中所见,在一个实施例中,将按比例缩放的视频流确认包构造为具有包长度、包类型、cClient、流ID、ACK代码和CRC字段。2字节的包长度字段用于指定除包长度字段之外的字节的总数目,对于此包类型来说具有值10,而为137的包类型将包标识为按比例缩放的视频流确认包。
2字节的cClient ID字段为未来用于客户机ID而保留,且通常被设定为0。2字节的流ID字段指定流ID的唯一标识符。这个值与由主机在按比例缩放的视频流设置包中分配的值相同。
2字节的Ack代码字段提供若干值,所述值含有描述试图更新所指定按比例缩放的视频流的结果的代码。在一个实施例中,将所述代码定义如下0-流分派试图成功。
1-流解除分派试图成功。
2-分派已经被分派的流ID的无效试图。
3-解除分派已经被解除分派的流ID的无效试图。
4-客户机不支持按比例缩放的视频流5-流参数与客户机的能力不一致。
6-流ID值大于客户机允许的最大值。
7-客户机中没有足够的资源可用来分派所指定流。
2字节的CRC字段含有包括包长度字段的包中的所有字节的CRC。
34.按比例缩放的视频流包按比例缩放的视频流包用于传输与特定按比例缩放的视频流相关的像素数据。此包参考的区域大小由按比例缩放的视频流设置包来定义。客户机可通过使用有效状态回复列表包的有效参数回复列表中的参数值143且使用按比例缩放的视频流确认包的Ack代码字段中的成功的按比例缩放的视频流分派响应来指示支持按比例缩放的视频流包的能力。
图78中大体上展示按比例缩放的视频流包的一个实施例的格式。如图78中所见,将按比例缩放的视频流包构造为具有包长度、包类型、hClient ID、流ID、像素数据属性、像素计数、参数CRC、像素数据和像素数据CRC字段。2字节的包类型字段使用值18来将包标识为按比例缩放的视频流包。hClient ID字段为客户机ID而保留,且通常被设定为0。如前所述,2字节的流ID字段指定流ID的唯一标识符。此值由主机在按比例缩放的视频流设置包中指定,且在按比例缩放的视频流确认包中证实。
在一个实施例中,2字节的像素数据属性字段具有指定像素数据路由和显示器更新或缓冲位置的值。在一个实施例中,如下解译这些值位1和0选择像素数据要投送到的显示器。对于位值“11”或“00”来说,像素数据显示给双眼,对于位值“10”来说,像素数据仅投送到左眼,且对于位值“01”来说,像素数据仅投送到右眼。
位7和6是指定像素数据要写入到的帧缓冲器的显示器更新位。在其它地方更详细地描述帧更新位的效应。当位[7:6]为“01”时,将像素数据写入到脱机图像缓冲器。当位[7:6]为“00”时,将像素数据写入到用于刷新显示器的图像缓冲器。当位[7:6]为“11”时,将像素数据写入到所有的图像缓冲器。如果位[7:6]为“10”,那么将此视为无效值。这些位当前为未来的用途而保留。在此情形下,像素数据将被忽略且不写入到图像缓冲器的任何一者。位15到14和11到8为未来的用途而保留且通常被设定为逻辑0电平或值。
在一个实施例中,位[13:12]或13和12用于指定当目的像素与透明色和透明遮罩有关时是否写入到目的位置。当位[13:12]等于值00时,就不使用透明色。将所得目的像素写入到目的像素位置,而不考虑透明色或透明遮罩的值。透明色由透明色和遮罩设置包来定义。位[13:12]的值01为未来的用途而保留,且通常不用作或不视为有效状态。当位[13:12]等于值10时,将目的像素写入到目的位置,除非以透明遮罩与源图像像素进行AND运算后等于透明色,在此情况下,不将所得像素写入到目的像素位置。当位[13:12]等于值11时,不将目的像素写入到目的像素位置,除非以透明遮罩与源图像像素进行AND运算后等于透明色,在此情况下,将所得像素写入到目的像素位置。
2字节的像素计数字段指定下面的像素数据字段中的像素的数目。2字节的参数CRC字段具有从包长度字段到像素计数字段的所有字节的CRC。如果此CRC校验失败,那么整个包都被丢弃。2字节的像素数据字段含有要被按比例缩放且接着被显示的原始视频信息。以由视频数据格式描述符字段描述的方式来对数据进行格式化。如先前所定义,一次一行地传输数据。
2字节的像素数据CRC字段仅含有像素数据的CRC。如果此CRC校验失败,那么像素数据仍可使用,但CRC错误计数递增。
35.请求特定状态包请求特定状态包提供了供主机请求客户机如此包中所指定地将能力或状态包发送回到主机的装置、机构或方法。客户机在下一反向链路封装包中返回指定类型的包。如果客户机具有响应请求特定状态包的能力,那么客户机通常将设定客户机能力包的客户机特征能力字段中的位17。主机用来确定客户机可返回或传递的状态包的所有类型的便利方法是使用在其它地方所述的有效状态回复列表包。客户机可通过使用客户机能力包的客户机特征能力字段的位21来指示以有效状态回复列表包进行响应的能力。
图79中大体上展示请求特定状态包的一个实施例的格式。如图79中所见,将请求特定状态包构造为具有包长度、包类型、hClient ID、状态包ID和CRC字段。包长度字段指定不包括包长度字段的包中的字节的总数目,且对于此包类型来说通常固定为值10。包类型138将包标识为请求特定状态包。hClient ID字段(2个字节)为未来用于客户机ID而保留,且目前被设定为0,而2字节的状态包ID字段指定了客户机将要发送到主机的能力或状态包的类型。典型的包类型为66-客户机能力包由客户机发送。
133-α光标图像能力包由客户机发送。
139-有效状态回复列表包被发送,其标识客户机可发送的能力和状态包的确切类型。
141-个人客户机能力包由客户机发送。
142-客户机错误报告包由客户机发送。
143-按比例缩放的视频流能力包由客户机发送。
144-客户机标识包由客户机发送。
包类型56到63可用于制造商特有的能力和状态标识符。
CRC字段同样含有包括包长度字段的包中的所有字节的CRC。
36.有效状态回复列表包有效状态回复列表包为主机提供了获得客户机有能力返回的状态和能力包的列表的结构、装置或方法。客户机可通过使用客户机能力包的客户机特征能力字段的位21来指示支持有效状态回复列表包的能力。
图80中大体上展示有效状态回复列表包的一个实施例的格式。如图80中所见,将有效状态回复列表包构造为具有包长度、包类型、cClient ID、列表中的值数目、有效参数回复列表和CRC字段。通常将此类型的包的包长度固定为值10,且类型值139将包标识为有效状态回复包。cClient ID字段为未来用作客户机ID而保留,且通常被设定为0。2字节的列表中的值数目字段指定了下面的有效参数回复列表中的项目的数目。
有效参数回复列表字段含有指定客户机可发送到主机的能力或状态包的类型的2字节参数的列表。如果客户机已经(使用客户机能力包中的客户机特征能力字段的位21)指示其可响应请求特定状态包,那么客户机能够至少发送客户机能力包(包类型=66)和有效状态回复列表包(包类型=139)。可由客户机发送且可包括在此列表中的包类型以及它们的出于一个实施例的目的的各自分配为66-客户机能力包。
133-α光标图像能力包。
139-有效状态回复列表包,其标识客户机可发送的能力和状态包的确切类型。
141-个人显示器能力包。
142-客户机错误报告包。
143-按比例缩放的视频流能力包。
144-客户机标识包。
145-替代显示器能力包。
包类型56到63可用于制造商特有的能力和状态标识符。
CRC字段含有包括包长度字段的包中的所有字节的CRC。
37.个人显示器能力包个人显示器能力包提供一组参数,其描述个人显示装置(例如头戴式显示器或显示眼镜)的能力。这使主机能够根据客户机的特定能力而定制显示信息。另一方面,客户机通过使用有效状态回复列表包的有效参数回复列表中的对应参数来指示发送个人显示器能力包的能力。
图81中大体上展示个人显示器能力包的一个实施例的格式。如图81中所见,将个人显示器能力包构造为具有包长度、包类型、cClient ID、子像素布局、像素形状、水平视场、垂直视场、视轴交叉、左/右图像、穿透(See Through)、最大亮度、光学能力、最小IPD、最大IPD、曲率场的点列表和CRC字段。在一个实施例中,将包长度字段值固定为68。包类型值141将包标识为个人显示器能力包。cClient ID字段为未来的用途而保留且目前通常被设定为0。
在一个实施例中,子像素布局字段指定从上到下且从左到右的子像素的物理布局,通过使用值0来指示子像素布局未被定义;使用值1来指示红、绿、蓝条纹;使用值2来指示蓝、绿、红条纹;使用值3来指示四元像素,其具有2×2子像素配置,其中红色在左上、蓝色在右下,以及两个绿色子像素,一者在左下且另一者在右上;使用值4来指示四元像素,其具有2×2子像素配置,其中红色在左下、蓝色在右上,以及两个绿色子像素,一者在左上且另一者在右下;使用值5来指示δ(三元组(Triad));使用值6来指示红色、绿色和蓝色重叠的镶嵌图案(例如具有场序色彩的LCOS显示器);且值7到255通常为未来的用途而保留。
在一个实施例中,像素形状字段指定由特定配置子像素组成的每个像素的形状,通过使用值0来指示子像素形状未被定义;使用值1来指示圆形;使用值2来指示正方形;使用值3来指示矩形;使用值4来指示卵形;使用值5来指示椭圆形;且如所属领域的技术人员可了解,值6到255为未来用于指示所需形状而保留。
在一个实施例中,1字节的水平视场(HFOV)字段以0.5度增量为单位指定水平视场(例如,如果HFOV为30度,那么此值为60)。如果此值为0,那么未指定HFOV。
在一个实施例中,1字节的垂直视场(VFOV)字段以0.5度增量为单位指定垂直视场(例如,如果VFOV为30度,那么此值为60)。如果此值为0,那么未指定VFOV。
在一个实施例中,1字节的视轴交叉字段以0.01屈光度(l/m)增量为单位指定了视轴交叉(例如,如果视轴交叉为2.22米,那么此值为45)。如果此值为0,那么未指定视轴交叉。
在一个实施例中,1字节的左/右图像叠加字段指定了左和右图像的叠加百分率。以百分率计的图像叠加的允许范围为1到100。101到255的值是无效的且通常不使用。如果此值为0,那么未指定图像叠加。
在一个实施例中,1字节的穿透字段指定图像的穿透百分率。以百分率计的穿透的允许范围是0到100。101到254的值是无效的且不使用。如果此值为255,那么不指定穿透百分率。1字节的最大亮度字段以20尼特增量为单位指定最大亮度(例如,如果最大亮度为100尼特,那么此值为5)。如果此值为0,那么未指定最大亮度。
在一个实施例中,2字节的光学能力旗标字段含有指定显示器的光学能力的各种字段。通常在分配这些位值时将位15到5保留用于未来的用途且通常将其设定为逻辑0状态。位4选择眼镜焦点调节,其中值“0”表示显示器不具有眼镜焦点调节,且值“1”表示显示器具有眼镜焦点调节。位3到2根据以下原则来选择双目功能值0表示显示器为双目的且仅可显示2维(2D)图像;值1表示显示器为双目的且可显示3维(3D)图像;2表示显示器为单目的,且3为未来的用途而保留。位1到0选择左右场曲率对称性,其中值0表示场曲率不被定义。如果此场为0,那么来自A1到E5的所有场曲率值都被设定为0,点C3除外,点C3指定显示器的焦距或被设定为0以指示未指定焦距。值1表示具有相同对称性的左和右显示器;值2表示左和右显示器在垂直轴(列C)上镜像;且值3为未来的用途而保留。
在一个实施例中,1字节的瞳孔间距(IPD)最小字段指定以毫米(mm)计的最小瞳孔间距。如果此值为0,那么未指定最小瞳孔间距。1字节的瞳孔间距(IPD)最大字段指定以毫米(mm)计的最大瞳孔间距。如果此值为0,那么未指定最大瞳孔间距。
场曲率的点列表字段含有25个2字节参数的列表,所述参数指定了以屈光度(l/m)的干分之一(例如1为0.001屈光度且65535为65.535屈光度)计的具有1到65535的范围的焦距。如图82中所示,将场曲率的点列表中的25个要素标记为A1到E5。所述点将在显示器的有效区域上均匀地分布。列C对应于显示器的垂直轴,且行3对应于显示器的水平轴。列A和E分别对应于显示器的左和右边缘。且行1和5分别对应于显示器的上和下边缘。此列表中的25个点的次序为A1、B1、C1、D1、E1、A2、B2、C2、D2、E2、A3、B3、C3、D3、E3、A4、B4、C4、D4、E4、A5、B5、C5、D5、E5。
CRC字段含有包括包长度字段的包中的所有字节的CRC。
38.客户机错误报告包客户机错误报告包充当用于允许客户机向主机提供操作错误列表的机构或装置。由于从主机接收某些命令,客户机可在其正常操作期间检测到多种错误。这些错误的实例包括可能命令客户机以其不支持的模式操作,客户机可能接收到含有超出范围或在客户机的能力之外的某些参数的包,可能已命令客户机以不适当的序列进入一模式。客户机错误报告包可用于在正常操作期间检测错误,但对于系统设计者和集成者诊断主机和客户机系统的开发和集成中的问题最为有用。客户机通过使用有效状态回复列表包的有效参数回复列表中的参数值142来指示其发送客户机错误报告包的能力。
图83大体上展示客户机错误报告包的一个实施例的格式。如图83中所见,将客户机错误报告包构造为具有包长度、包类型、cClient ID、列表项目的数目、错误代码列表和CRC字段。包类型值142将包标识为客户机错误报告包。cClient ID字段为未来的用途而保留且目前通常被设定为0。列表项目的数目字段(2个字节)指定了随后的错误代码列表中的项目的数目。错误代码列表字段(此处为8个字节)是含有一个或一个以上错误报告列表项目的列表。图84中展示单个错误报告列表项目的格式。
在一个实施例中,如图84中所示,每个错误报告列表项目的长度正好为4个字节,且在一个实施例中具有一结构,其包含2字节的显示器错误代码字段,其指定被报告的错误的类型;2字节的错误子代码字段,其指定了关于由客户机错误代码包定义的错误的更大程度的细节。每个客户机错误代码的具体定义由客户机的制造商来定义。不必针对每一显示器错误代码而定义错误子代码,且在没有定义错误子代码的那些情况下,将值设定为0。每个错误子代码的具体定义由客户机的制造商来定义。
39.客户机标识包客户机标识包允许客户机响应于请求特定状态包而返回标识数据。在一个实施例中,客户机通过使用有效状态回复列表包的有效参数回复列表中的参数值144来指示发送客户机标识包的能力。对主机来说,能够通过从客户机阅读此数据来确定客户机装置制造商名称和型号很有用。所述信息可用来确定客户机是否具有在客户机能力包中不能描述的特殊能力。潜在地具有两种用于从客户机读取标识信息的方法、装置或机构。一种是通过使用客户机能力包,其含有类似于基础EDID结构中的那些字段的字段。另一种方法是通过使用客户机标识包,其含有与客户机能力包中的类似字段相比更丰富的一组信息。这允许主机识别尚未被分配有3字符EISA代码的制造商,且允许序列号含有字母数字式字符。
图85中大体上展示客户机标识包的一个实施例的格式。如图85中所见,将客户机标识包构造为具有包长度、包类型、cClient ID、制造周、制造年、制造商名称的长度、产品名称的长度、序列号的长度、制造商名称串、产品名称串、序列号串和CRC字段。
2字节的包类型字段含有将包标识为客户机标识包的值。在一个实施例中将此值选择为144。cClient ID字段(2个字节)同样为未来用于客户机ID而保留,且通常被设定为0。CRC字段(2个字节)含有包括包长度字段的包中的所有字节的16位CRC。
1字节的制造周字段含有定义显示器的制造的周的值。在至少一个实施例中,如果客户机支持,那么此值的范围为1到53。如果客户机不支持此字段,那么通常将其设定为0。1字节的制造年字段含有定义客户机(显示器)的制造年的值。此值为以1990年作为起点的偏移量,尽管可使用其它基准年。此字段可表达1991到2245的范围内的年份。实例2003年对应于制造年值13。如果客户机不支持此字段,应将其设定为值0。
制造商名称的长度、产品名称的长度和序列号的长度字段每一者都含有2字节值,其分别指定了包含任何无效终止和无效填充字符的制造商名称串字段的长度;包括任何无效终止和无效填充字符的产品名称串字段的长度;和包括任何无效终止和无效填充字符的序列号串字段的长度。
制造商名称串、产品名称串和序列号串字段每一者都含有分别由制造商名称长度、产品名称长度和序号长度字段指定的可变数目的字节,其含有分别指定制造商、产品名称和显示器的字母数字式序列号的ASCII串。这些串中的每一者都由至少一个无效字符来终止。
40.替代显示器能力包替代显示器能力包用作指示附接到MDDI客户机控制器的替代显示器的能力的装置、结构或方法。响应于请求特定状态包而发送替代显示器能力包。当受到提示时,客户机装置对于所支持的每个替代显示器发送替代显示器能力包。如果客户机具有一个以上替代显示器,那么客户机应响应于单个请求特定状态包而发送、产生或提供多个替代显示器能力包(一个替代显示器能力包用于一个显示器),尽管一些配置可根据需要使用多个请求特定状态包(虽然这不是很有效率)。客户机可基于替代显示器编号字段的值而以可称为“非循序次序”的次序发送替代显示器能力包。客户机可经由有效状态回复列表包的有效参数回复列表中的参数值145来指示发送替代显示器能力包的能力。
对于在内部模式下操作的MDDI系统来说,具有一个以上连接到MDDI客户机控制器的显示器可能是常见的。一个实例应用是在翻盖的内侧上具有大显示器且在外侧上具有较小显示器的移动电话。出于两个潜在原因,返回替代显示器能力包对内部模式客户机来说是不必要的。第一,主机可能已经在制造期间被编程和以其他方式被通知了所述能力,因为它们是用于共同的装置或外壳中。第二,由于两者的组装的缘故,客户机不能容易地从与主机的连接断开或分开,且主机可含有客户机能力的硬编码的副本,或至少知晓它们不会如原本可能发生的那样随客户机的变化而变化。
客户机能力包的替代显示器的数目字段用于报告一个以上显示器被附接,且替代显示器能力包报告每个替代显示器的能力。视频流包在像素数据属性字段中含有4个位以编址在客户机装置中的每个替代显示器。
图89中大体上展示替代显示器能力包的一个实施例的格式。如图86中所见,将替代显示器能力包构造为具有包长度、包类型、cClient ID、替代显示器编号、保留1、位图宽度、位图高度、显示窗宽度、显示窗高度、色彩图RGB宽度、RGB能力、单色能力、保留2、Y Cb Cr能力、拜耳能力、保留3、显示器特征能力和CRC字段。包类型值145将包标识为替代显示器能力包。cClient ID字段当前为了未来用于客户机ID而保留且通常被设定为零值(通常通过将所述位设定为逻辑0电平)。
替代显示器编号字段使用1个字节来指示替代显示器的身份,其为在0到15范围内的整数。通常将第一替代显示器标明为编号0,且用唯一的替代显示器编号值来标识其它替代显示器,其中所使用的最大值为替代显示器的总数减1。不使用大于替代显示器的总数减1的值。实例具有主显示器和连接到MDDI客户机的呼叫者ID显示器的移动电话具有一个替代显示器,因此呼叫者ID显示器的替代显示器编号为0,且客户机能力包的替代显示器数目字段具有值1。
保留1字段(1个字节)为未来的用途而保留。因此,此字段中的所有位当前都被设定为等于0或处于逻辑0电平,在一个实施例中,使此字段出现在包中的一个目的是致使所有随后的2字节字段与16位字地址对齐,且致使4字节字段与32位字地址对齐。
位图宽度字段使用2个字节,其指定表达为若干像素的位图的宽度。位图高度字段使用2个字节,其指定表达为若干像素的位图的高度。显示窗宽度字段使用2个字节,其指定表达为若干像素的显示窗的宽度。显示窗高度字段使用2个字节,其指定表达为若干像素的显示窗的高度。
色彩图RGB宽度字段使用2个字节,其指定可在色彩图(调色板)显示模式下显示的红、绿和蓝色分量的位的数目。对于每个色彩分量(红、绿和蓝),可使用最多8个位。尽管在色彩图包中发送每个色彩分量的8个位,但仅使用在此字段中定义的每个色彩分量的所述数目的最低有效位。如果显示器客户机不能使用色彩图(调色板)格式,那么此值为0。色彩图RGB宽度字由三个单独的无符号值组成位3到0定义每个像素中的蓝色的位的最大数目,其中值0到8被认为有效。位7到4定义每个像素中的绿色的位的最大数目,其中值0到8被认为有效。位11到8定义每个像素中红色的位的最大数目,其中值0到8被认为有效。位14到12为未来的用途而保留,且通常被设定为0。位15用于指示客户机的接受采取压缩或未压缩的格式的色彩图像素数据的能力。当将位15设定为逻辑1电平时,这指示客户机可接受采取压缩或未压缩格式的色彩图像素数据。如果将位15设定为逻辑0,那么这指示客户机仅能接受采取未压缩格式的色彩图像素数据。
RGB能力字段使用2个字节来指定可以RGB格式显示的分辨率的位的数目。在一个实施例中,如果客户机不能使用RGB格式,那么将此值设定为等于0。RGB能力字由三个单独的无符号值组成位3到0定义每个像素中的蓝色的位的最大数目(蓝色强度),位7到4定义每个像素中绿色的位的最大数目(绿色强度),且位11到8定义每个像素中红色的位的最大数目(红色强度)。位14到12为未来的用途而保留且被设定为0。位15用于指示客户机的接受采取压缩或未压缩的格式的RGB像素数据的能力。当将位15设定为逻辑1电平时,这指示客户机可接受采取压缩或未压缩格式的RGB像素数据。如果将位15设定为逻辑0,那么这指示客户机仅可接受采取未压缩格式的RGB像素数据。
1字节的单色能力字段含有指定可以单色格式显示的分辨率的位的数目的值或信息。如果客户机不能使用单色格式,那么将此值设定为等于0。位6到4为未来的用途而保留且通常被设定为0。位3到0定义可在每个像素中存在的灰度级的位的最大数目。这四个位使指定每个像素由1到15个位组成成为可能。如果值为0,那么客户机不支持单色格式。位7在设定为1时指示客户机可接受采取压缩或未压缩格式的单色像素数据。如果将位7设定为0,那么这指示客户机仅可接受采取未压缩格式的单色像素数据。
保留2字段是为未来的用途而保留的1字节宽字段,且通常使此字段中的所有位都设定为逻辑0电平。在一个实施例中,使此字段出现在包中的一个目的是致使随后的2字节字段与16位字地址对齐,且致使4字节字段与32位字地址对齐。
2字节的Y Cb Cr能力字段指定可以Y Cb Cr格式显示的分辨率的位的数目。如果客户机不能使用Y Cb Cr格式,那么此值为0。Y Cb Cr能力字由三个单独的无符号值组成位3到0定义了指定Cb样本的位的最大数目,位7到4定义了指定Cr样本的位的最大数目,位11到8定义了指定Y样本的位的最大数目,且位14到12为未来的用途而保留且设定为0。位15在设定为1时指示客户机可接受采取压缩或未压缩格式的Y Cb Cr像素数据。如果将位15设定为0,那么这指示客户机仅可接受采取未压缩格式的Y Cb Cr像素数据。
2字节的拜耳能力字段指定了可以拜耳格式传递的分辨率的位的数目、像素群组和像素次序。如果客户机不能使用拜耳格式,那么将此值设定为0。拜耳能力字段由以下值组成位3到0定义每个像素中存在的强度的位的最大数目,位5到4定义可能需要的像素群组图案。位8到6定义需要的像素次序,且位14到9为未来的用途而保留且被设定为0。位15在设定为1时指示客户机可接受采取压缩或未压缩格式的拜耳像素数据。如果将位15设定为0,那么这指示客户机仅可接受采取未压缩格式的拜耳像素数据。
保留3字段(此处为2个字节)为未来的用途而保留。因此,通常将此字段中的所有位都设定为或等于逻辑0电平或0值。在一个实施例中,使此字段出现在包中的当前目的是致使随后的2字节字段与16位字地址对齐,且致使4字节字段与32位字地址对齐。
显示器特征能力指示符字段(此处使用4个字节)含有一组旗标,其指示替代显示器中的特定特征是否被支持。设定为1的位指示了特定或预设能力被支持,且设定为0的位指示所述能力不被支持。
在一个实施例中,显示器特征能力字段使用4个字节,其含有指示替代显示器中的被支持的特定特征的一组旗标。设定为逻辑1电平的位指示能力被支持,而设定为逻辑0电平的位指示能力不被支持。在一个实施例中,位0的值指示位图块传递包(包类型71)是否被支持。位1、2和3的值分别指示位图区域填充包(包类型72)、位案填充包(包类型73)或读取帧缓冲包(包类型74)是否被支持。位4的值指示替代显示器是否具有使用透明色启用包来使一个色彩透明的能力。
在此实施例中,显示器特征能力字段的位10的值指示替代显示器是否具有支持显示器功率状态01的能力。使用上文所述的显示器功率状态包的功率状态字段的位[3:2]来设定显示器功率状态。显示器功率状态01是所选显示器不点亮且消耗最小量的功率(如果有的话)的状态,且帧缓冲的内容在此状态期间通常得到保证或合理地确保得到保持。
显示器特征能力字段的位13的值指示替代显示器是否具有通过支持VCP特征包来设定一个或一个以上视频参数的能力,所述VCP特征包为请求VCP特征包、VCP特征回复包、设定VCP特征包、请求有效参数包和有效参数回复包。位14的值指示替代显示器是否具有将像素数据写入到脱机显示器帧缓冲器中的能力,这在图88A中说明。如果将此位设定为逻辑1电平,那么显示器更新位(视频流包的像素数据属性字段的位7和6)可被设定为值“01”。
显示器特征能力字段的位15的值指示了替代显示器何时具有将像素数据仅写入到当前用于刷新显示器图像的显示器帧缓冲器中的能力,这在图88B中说明。如果将此位设定为逻辑1,那么显示器更新位(视频流包的像素数据属性字段的位7和6)可被设定为值“00”。位16的值指示替代显示器何时具有将来自单个视频流包的像素数据写入到所有显示器帧缓冲器中的能力,这在图88C中说明。如果将此位设定为等于逻辑1电平,那么显示器更新位(视频流包的像素数据属性字段的位7和6)可被设定为值“11”。
在一个实施例中,显示器特征能力字段的位21的值指示替代显示器何时具有使用位图块传递包(包类型71)、位图区域填充包(包类型72)和位案填充包(包类型73)的光栅操作字段的能力(如果如此字段中的位0、1和2所指定,这些包由替代显示器支持)。在一个实施例中,如果位21具有逻辑0电平或值,且包被支持,那么替代显示器并不具有使用光栅操作字段的能力,且替代显示器通常仅具有复制或写入到由这些包指定的像素位置的能力。
在一个实施例中,显示器特征能力字段的位9到5、11、12、20到17和31到22当前为未来的用途或对系统设计者有用的替代标志而保留,且通常被设定为等于零值或逻辑0电平。
在一个实施例中,2字节的CRC字段含有包括包长度字段的包中的所有字节的16位CRC。
41.寄存器存取包寄存器存取包为主机或客户机提供了存取MDDI链路的相对端中的配置和状态寄存器的装置、机构或方法。所述寄存器对于每个显示器或装置控制器来说可能是唯一的。这些寄存器已经存在于很多需要设置配置、操作模式的显示器中,且具有其它有用且必要的设置。寄存器存取包允许MDDI主机或客户机通过使用MDDI链路既写入到寄存器又请求读取寄存器。当主机或客户机请求读取寄存器时,相对端应通过发送具有同一包类型的寄存器数据,且通过使用读取/写入信息字段而指示这是从特定寄存器读取的数据来响应。寄存器存取包可用于通过指定大于1的寄存器计数来读取或写入多个寄存器。客户机通过使用客户机能力包的客户机特征能力字段的位22来指示支持寄存器存取包的能力。客户机将使用封装包来发送寄存器存取包,因此呈现了表现为嵌套的包的配置或结构。
图87中大体上展示寄存器存取包的一个实施例的格式。如图87中所见,将寄存器存取包构造为具有包长度、包类型、bClient ID、读取/写入信息、寄存器地址、参数CRC、寄存器数据列表和寄存器数据CRC字段。包类型值146将包标识为寄存器存取包。bClicntID字段为未来的用途而保留且目前通常被设定为0。
在一个实施例中,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指定已经从寄存器读取的包含在寄存器数据列表字段中的32位寄存器数据的数目。当前不将位15:14设定为等于“01”,其被当作无效值“01”,且以另外的方式保留用于未来的标志或用途。
寄存器地址字段使用4个字节来指示要被写入或从其读取的寄存器地址。对于寻址地址信息小于32个位的寄存器来说,将高位设定为0。
2字节参数CRC字段含有从包长度字段到寄存器地址字段的所有字节的CRC。如果此CRC校验失败,那么整个包被丢弃。
寄存器数据列表字段含有要写入到客户机寄存器的4字节寄存器数据值或从客户机装置寄存器读取的值的列表。
2字节的寄存器数据CRC字段仅含有寄存器数据列表的CRC。如果此CRC校验失败,那么寄存器数据仍可使用,但CRC错误计数递增。
D.包CRCCRC字段出现在包的末端且有时出现在可具有显著较大的数据字段且因此在传递期间具有加大的错误可能性的包中的某些更重要的参数后。在具有两个CRC字段的包中,CRC产生器(当仅使用一个时)在第一CRC后重新初始化,使得长数据字段后的CRC计算不受包开始时的参数影响。
含有多个位错误的包产生良好CRC的可能性极小。在具有错误的包上检测到良好CRC的概率在含有很多错误的非常长的包上接近7.6×10-6。在设计上,MDDI链路将具有非常低的或零错误率。意图将CRC用于监视链路的可用状态,且不意图检测特定包上的错误以确定包是否应被重发。
在示范性实施例中,用于CRC计算的多项式已知为CRC-16或X16+X15+X2+X0。图36中展示对实施本发明有用的CRC产生器和校验器3600的样本实施方案。在图36中,刚好在传递在Tx_MDDI_Data_Before_CRC线上输入的包的第一位之前,将CRC寄存器3602初始化到值0x0001,接着将包的字节(先从LSB开始)移位到寄存器中。注意,此图中的寄存器位数目对应于所使用的多项式的次数,而不是由MDDI使用的位位置。在单个方向上移位CRC寄存器更有效,且这导致使CRC位15出现在MDDI CRC字段的位位置0且CRC寄存器位14出现在MDDI CRC字段位位置1中,等等,直到到达MDDI位位置14为止。
举例来说,如果客户机请求与状态包的包内容为0x000c、0x0046、0x000、0x0400、0x00、0x00、0x0000(或表示为字节序列0x0c、0x00、0x46、0x00、0x00、0x00、0x00、0x04、0x00、0x00、0x00、0x00),且使用多路复用器3604和3606以及与门3608的输入来提交,Tx_MDDI_Data_With_CRC线上的所得CRC输出为0xd9aa(或表示为序列0xaa、0xd9)。
当将CRC产生器和校验器3600配置为CRC校验器时,在Rx_MDDI_Data线上接收到的CRC被输入到多路复用器3604和异或(XOR)门3612,且通过使用或非门3610、与门3608和与门3614而逐位与在CRC寄存器中发现的值相比较。如果存在任何错误,如由与门3614所输出,那么通过将门3614的输出连接到寄存器3602的输入,对于含有CRC错误的每个包,CRC都递增一次。注意,图36的图中所示的实例电路可在给定的CHECK_CRC_NOW窗(见图37B)内输出一个以上CRC错误信号。因此,CRC错误计数器通常仅计数CHECK_CRC_NOW有效的每个间隔内的第一CRC错误实例。如果配置为CRC产生器,那么CRC在与包的结束一致的时间时从CRC寄存器中时钟输出。
图37A和37B中用图形说明输入和输出信号以及启用信号的时序。图37A中用Gen_Reset、Check_CRC_Now、Generate_CRC_Now和Sending_MDDI_Data信号,连同Tx_MDDI_Data_Before_CRC和Tx_MDDI_Data_With_CRC信号的状态(0或1)来展示CRC的产生和数据包的传输。图37B中用Gen_Reset、Check_CRC_Now、Generate_CRC_Now和Sending_MDDI_Data信号,连同Rx_MDDI_Data和CRC错误信号的状态来展示数据包的接收和CRC值的校验。
E.用于包CRC的错误代码过载当仅数据包和CRC在主机与客户机之间传递时,没有错误代码被供应。唯一的错误是同步的损失。否则,必须等待链路从缺乏良好的数据传递路径或管线超时,且接着使链路复位并继续进行。遗憾地,这很费时间且效率有些低。
为了用于一个实施例中,已经开发了新的技术,其中包的CRC部分用于传递错误代码信息。这在图65中大体上展示。即,一个或一个以上错误代码由处理器或处理数据传递的装置产生,其指示可能发生在通信处理或链路内的特定预定义错误或缺陷。当遇到错误时,适当的错误代码被产生且使用用于包的CRC的位来传递。即,CRC值被过载或重写了所需的错误代码,其可由监视CRC字段的值的错误监视器或校验器在接收端上检测到。对于错误代码出于某一原因而与CRC值匹配的那些情况来说,传递错误的补码以防止混淆。
在一个实施例中,为了提供稳定的错误警告和检测系统,可使用在已经检测到错误后传递或发送的一连串包(通常是全部)来传递几次错误代码。这持续进行直到产生错误的情况从系统清除时为止,在所述时间处,传递常规的CRC位,而不过载另一值。
此过载CRC值的技术提供了对系统错误的快得多的响应,同时使用最小量的额外位或字段。
如图66中所示,展示了使用错误检测器或检测装置6602的CRC重写机构或装置6600,6602可形成先前描述或知晓的其它电路的一部分,检测通信链路或过程内的错误的出现或存在。可形成为其它电路的一部分或使用例如查找表的技术来存储预选错误消息的错误代码产生器或装置6604产生一个或一个以上错误代码以指示已经被检测为发生的特定预定义错误或缺陷。容易理解,装置6602和6604可根据需要形成为单个电路或装置,或形成为其它已知处理器或元件的经编程的步骤序列的一部分。
展示了CRC值比较器或比较装置6606,其用于校验以了解所选错误代码是否与被传递的CRC值相同。如果是那种情况,那么将补码产生器或产生装置或装置用于提供错误代码的补码以便不被误认为原始CRC模式或值并不使检测方案混淆或复杂化。错误代码选择器或选择装置元件或装置6610接着选择其希望插入或重写的错误代码或值,或酌情选择它们各别的补码。错误代码CRC重写器或重写机构或装置6612是接收数据流、包和要插入的所需代码,且重写对应的或适当的CRC值,以便将所需错误代码传递到接收装置的装置。
如所提及,可使用一连串包来传递几次错误代码,因此重写器6612可利用存储器存储元件,以便在处理期间保存代码的副本,或从可用于根据需要或根据期望存储或保存代码的值的先前的元件或其它已知存储位置再调用这些代码。
在图67A和67B中更详细地展示了图66的重写机构实施的一般处理。在图67A中,在步骤6702中在通信数据或过程中检测到错误(一个或一个以上),且在步骤6704中选择错误代码以指示此情况。同时,或在适当的时间点处,要替换的CRC值在步骤6706中被校验,且在步骤6708中与所需错误代码进行比较。如先前所论述,这一比较的结果是确定了所需代码或其它代表值是否将与现在的CRC值相同。如果相同,那么处理进行到步骤6712,其中根据需要将补码或在一些情况下另一代表值选为要插入的代码。一旦在步骤6710和6714中确定什么错误代码或值要被插入,就选择所述适当的代码供插入。为了清楚起见,将这些步骤说明为单独的,但这些步骤通常表示基于步骤6708决策的输出的单个选择。最终,在步骤6716中,在CRC位置中重写适当的值以与所述过程所针对的包一起传递。
如图67B中所示,在包接收侧上,在步骤6722中监视包CRC值。通常,CRC值由系统内的一个或一个以上过程监视以确定数据传递中的错误是否已经发生且是否要请求重发所述包,或禁止进一步的操作等等,其中的一些在上文已论述。作为此类监视的一部分,所述信息还可被用于将值与已知或预选错误代码或代表值进行比较,并检测错误的存在。或者,可实施单独的错误检测过程和监视。如果代码表现为存在,那么在步骤6724中其被提取或以另外的方式被记录,以用于进一步处理。可在步骤6726中作出关于这是否为实际代码或补码的确定,在补码的情况下,可将额外步骤6728用于将所述值转译为所需的代码值。在任一种情况下,在步骤6730中,接着所得的所提取代码、补码或其它恢复的值可用于从经传输的代码中检测已经发生什么错误。
V.链路休眠MDDI链路可快速地进入休眠状态且快速地从休眠中醒来。此响应性允许通信系统或装置频繁地迫使MDDI链路进入休眠以减少功率消耗,因为MDDI链路可非常快速地再次唤醒以供使用。在一个实施例中,当外部模式客户机第一次从休眠中唤醒时,其以某数据速率且通过与1兆位/秒速率一致的选通脉冲时序这样做,即,MDDI_Stb对应该以500kHz的速率切换。一旦客户机的特征已经被主机发现或传送到主机,那么主机可以从1兆位/秒到客户机可以其操作的最大速率的大体上任何速率来唤醒链路。内部模式客户机可以主机和客户机可以其操作的任何速率唤醒。这也大体上可应用于内部模式客户机第一次唤醒。
在一个实施例中,当链路从休眠中唤醒时,主机和客户机交换脉冲序列。可使用低速线接收器来检测这些脉冲,所述低速线接收器仅消耗差分接收器以最大链路操作速度来接收信号所需的电流的一小部分。主机或客户机都可唤醒链路,因此唤醒协议被设计成可处理主机和客户机两者同时试图进行唤醒时会发生的可能的争用。
在休眠状态期间,MDDI_Data和MDDI_Stb差分驱动器在高阻抗状态下禁用,且当链路处于或保持在休眠中时,所有差分对上的差分电压都为0伏。差分线接收器用于检测在从休眠中醒来期间具有有意的电压偏移量的脉冲序列。在一个实施例中,这些接收器中的逻辑1与逻辑0电平之间的阈值近似为125mV。这导致未驱动的差分对在链路唤醒序列期间被视为逻辑0电平。然而,如所属领域的技术人员将了解,由差分驱动器驱动的正常逻辑1电平仍然由具有125mV偏移量的差分接收器解译为逻辑1电平。图38中展示与具有零输入偏移量的标准差分接收器相比的具有125mV偏移量的特殊低功率差分接收器的特性的实例。波形不代表典型MDDI信号,而是其仅呈现于此处以阐明或说明两种类型的差分接收器之间的差异。
为了进入休眠状态,主机在链路关闭包的CRC后发送64个MDDI_Stb循环。主机在CRC后的16到56个MDDI_Stb循环(包括输出禁用传播延迟)的范围内禁用主机的MDDI_Data0输出。在主机起始唤醒序列前,主机完成对链路关闭包的CRC后的64个MDDI_Stb循环的发送。在一个实施例中,将主机起始的唤醒定义为在驱动MDDI_Stb上的脉冲前,主机在MDDI_Data0达到有效的逻辑1电平后必须等待至少100nsec。在一个实施例中,在客户机将MDDI_Data0驱动到逻辑1电平以试图唤醒主机前,客户机在链路关闭包的CRC后等待至少60个MDDI_Stb循环。
为了从休眠状态中“唤醒”,进行几个动作或过程。当客户机(此处为显示器)需要来自主机的数据或通信、服务时,客户机通过将MDDI_Data0线驱动到逻辑1状态并持续约70到1000μsec来产生请求脉冲,同时MDDI_Stb无效,且在MDDI_Stb变成有效后保持MDDI_Data0驱动到逻辑1电平并持续约70个MDDI_Stb循环(在60到80的范围内),尽管可根据需要使用其它周期。客户机接着通过将MDDI_Data0驱动器置于高阻抗状态来禁用MDDI_Data0驱动器。
如果MDDI_Stb在休眠期间有效(尽管不太可能),那么客户机可仅将MDDI_Data0驱动到逻辑1状态并持续约70个MDDI_Stb循环(在60到80的范围内)。此动作导致主机启动或重启动前向链路(208)上的数据通信,且为了客户机的状态而轮询客户机。
主机应检测来自客户机的请求脉冲的存在(使用具有+125mV偏移量的低功率差分接收器),且开始首先将MDDI_Stb驱动到逻辑0电平且将MDDI_Data0驱动到逻辑高电平并持续至少约200nsec的启动序列。且接着在切换MDDI_Stb的同时,继续将MDDI_Data0驱动到逻辑1电平并持续约150个MDDI_Stb循环(140到160的范围),且驱动到逻辑0并持续约50个MDDI_Stb循环。如果客户机检测到MDDI_Data0在多于80个MDDI_Stb循环中处于逻辑1状态,那么客户机不应发送服务请求脉冲。如果客户机已经检测到MDDI_Data0在60到80个MDDI_Stb循环中处于逻辑1电平,那么客户机开始搜索主机将MDDI_Data0驱动到逻辑0电平并持续50个MDDI_Stb循环的时间间隔。在主机将MDDI_Data0驱动到逻辑0电平并持续50个MDDI_Stb循环的持续时间后,接着主机开始在链路上发送包。发送的第一个包为子帧标头包。在MDDI_Data0在50个循环间隔中的40个MDDI_Stb循环中处于逻辑0电平后,客户机开始寻找子帧标头包。下文进一步论述与休眠处理和启动序列有关的时间间隔的时间和容限的选择的性质。(见下文的图68A-C。)主机可通过首先启用MDDI_Stb并同时将其驱动到逻辑0电平来起始唤醒。直到如下文所述输出脉冲为止,MDDI_Stb不应被驱动到逻辑1电平。在MDDI_Stb达到逻辑0电平后,主机启用MDDI_Data0并同时将其驱动到逻辑1电平。如下文所述,在唤醒过程期间,直到MDDI_Data0被驱动到逻辑0电平并持续50个MDDI_Stb脉冲的时间间隔的时间间隔为止,MDDI_Data0不应被驱动到逻辑0电平。在驱动MDDI_Stb上的脉冲前,主机应在MDDI_Data0达到有效逻辑1电平后等待至少200nsec。当考虑到最坏情况输出启用延迟时,产生此时序关系。这实质上保证了客户机在被由主机驱动的MDDI_Data0上的逻辑1电平唤醒后,具有足够的时间来完全启用其MDDI_Stb接收器。
图39A中说明不具有争用的典型客户机服务请求事件3800的处理步骤的实例,其中为了说明的方便,使用字母A、B、C、D、E、F和G来标记所述事件。过程开始于点A,此时主机将链路关闭包发送给客户机装置以通知客户机装置链路将转变到低功率休眠状态。在下一步骤中,如点B处所示,主机通过禁用MDDI_Data0驱动器且将MDDI_Stb驱动器设定为逻辑0来进入低功率休眠状态。MDDI_Data0由高阻抗偏压网络驱动到逻辑0电平。如点C处所见,在某一段时间后,客户机通过将MDDI_Data0驱动到逻辑1电平来将服务请求脉冲发送到主机。主机仍使用高阻抗偏压网络来确立逻辑0电平,但客户机中的驱动器迫使线达到逻辑1电平。如点D处所见,在50μsec内,主机识别服务请求脉冲,并通过启用其驱动器来确立MDDI_Data0上的逻辑1电平。接着,如点E处所见,客户机停止试图确立服务请求脉冲,且客户机将其驱动器置于高阻抗状态。如点F处所见,主机将MDDI_Data0驱动到逻辑0电平并持续50μsec,且还开始以与MDDI_Data0上的逻辑0电平一致的方式产生MDDI_Stb。在MDDI_Data0在40个MDDI_Stb循环中处于逻辑0电平后,客户机开始寻找子帧标头包。如点G处所示,在将MDDI_Data0确立为逻辑0电平且驱动MDDI_Stb50μsec后,主机开始通过发送子帧标头包来在前向链路上传递数据。
图39B中说明类似实例,其中在链路重启动序列已经开始后确立服务请求,且再次使用字母A、B、C、D、E、F和G来标记事件。这表示最坏情况方案,其中来自客户机的请求脉冲或信号最接近于破坏子帧标头包。所述过程开始于点A,此时主机再次将链路关闭包发送给客户机装置,以通知客户机装置所述链路将转变到低功率休眠状态。在下一步骤中,如点B处所示,主机通过禁用MDDI_Data0驱动器且将MDDI_Stb驱动器设定为逻辑0电平来进入低功率休眠状态。如前所述,MDDI_Data0由高阻抗偏压网络驱动到逻辑0电平。如点C处所见,在一段时间后,主机通过将MDDI_Data0驱动到逻辑1电平并持续150μsec来开始链路重启动序列。如点D处所见,在链路重启动序列开始后过去50μsec之前,显示器还确立MDDI_Data0并持续70μsec的持续时间。这种情况发生是因为显示器需要从主机请求服务且没有识别到主机已经开始链路重启动序列。接着,如点E处所见,客户机停止试图确立服务请求脉冲,且客户机将其驱动器置于高阻抗状态。主机继续将MDDI_Data0驱动到逻辑1电平。如点F处所示,主机将MDDI_Data0驱动到逻辑0电平并持续50μsec,且还开始以与MDDI_Data0上的逻辑0电平一致的方式产生MDDI_Stb。如点G处所示,在将MDDI_Data0确立为逻辑0电平且驱动MDDI_Stb50μsec后,主机开始通过发送子帧标头包来在前向链路上传递数据。
根据上文的论述,可了解前面所涉及的解决方案使主机经历作为唤醒序列的部分的两种状态。对于第一种状态来说,主机将MDDI_Data0信号驱动到高并持续150μs,且接着将MDDI_Data0信号驱动到低并持续50μs,同时激活MDDI_Stb线,且接着开始传输MDDI包。此过程适用于在使用MDDI装置和方法可达到的数据速率方面提高此项技术的发展状态。然而,如先前所陈述,在减少对情况的响应时间或能够更快速地选择下一步骤或过程方面的更快速度是简化处理或元件的能力,且总是需要的。
申请人已经发现了用于唤醒其中主机将基于时钟循环的时序用于信号切换的处理和时序的新的发明性途径。在此配置中,在唤醒序列开始时,在主机将MDDI_Data0信号驱动到高后,主机开始从0到10μsec切换MDDI_Stb,且不会等待直到信号被驱动到低为止。在唤醒序列期间,主机切换MDDI_Stb,好像MDDI_Data0信号总是处于逻辑0电平那样。这有效地将时间的概念从客户机侧去除,且主机从前两个状态的前述150μs和50μs周期改变到用于这些周期的150个时钟循环和50个时钟循环。
主机现在负责将数据线驱动到高,且在10个时钟循环内开始传输选通信号,好像数据线为0那样。在主机已经将数据线驱动到高并持续150个时钟循环后,主机将数据线驱动到低并持续50个时钟循环,同时继续传输选通信号。在主机完成这两个过程后,主机可开始传输第一子帧标头包。
在客户机侧上,客户机实施方案现在可使用所产生的时钟来计算数据线首先为高且接着为低的时钟循环的数目。数据线被驱动到高状态下需要发生的时钟循环的数目为150且数据线被驱动到低状态下需要发生的时钟循环的数目为50。这意味着对于合适的唤醒序列,客户机应能够计数到数据线为高的至少150个连续时钟循环,接着是数据线为低的至少50个连续时钟循环。一旦满足这两种情况,客户机就可开始搜索第一子帧的唯一字。将此模式的中断用作使计数器返回初始状态的依据,在初始状态中,客户机再次寻找数据线为高的最初150个连续时钟循环。
本发明的用于基于主机的从休眠中唤醒的客户机实施方案非常类似于初始启动情况,差别是不会迫使时钟速率以1兆位/秒开始(如先前所论述)。代替地,可将时钟速率设定为以通信链路进入休眠时有效的任何先前速率来重新开始。如果主机开始如上文所述传输选通信号,那么客户机应能够再次计数数据线为高的至少150个连续时钟循环,接着是数据线为低的至少50个连续时钟循环。一旦满足这两种情况,客户机就可开始搜索唯一字。
本发明的用于基于客户机的从休眠中唤醒的客户机实施方案类似于基于主机的唤醒,差别是其通过使客户机驱动数据线来开始。客户机可在不具有时钟的情况下异步地驱动数据线以唤醒主机装置。一旦主机识别到数据线由客户机驱动到高,主机就可开始其唤醒序列。客户机可计数通过主机启动或在其唤醒过程期间产生的时钟循环的数目。一旦客户机计数到数据为高的70个连续时钟循环,客户机就可停止将数据线驱动到高。此时,主机应已经也将数据线驱动到高。接着,客户机可计数数据线为高的另外80个连续时钟循环,以达到数据线为高的150个时钟循环,且可接着寻找数据线为低的50个时钟循环。一旦已经满足这三种情况,客户机就可开始寻找唯一字。
此新的唤醒处理的实施方案的优势是其不需要时间测量装置。不管这是振荡器,还是电容器放电电路,还是其它类似已知装置,客户机都不再需要此类外部装置来确定启动情况。这当在客户机装置板上实施控制器、计数器等等时节约了金钱和电路面积。虽然这对客户机来说可能不是同样有利的,但对主机来说,此技术还应在用于核心电路的极高密度逻辑(Very High Density Logic,VHDL)方面潜在地简化主机。将数据和选通线用作唤醒通知和测量源的功率消耗也将较低,因为不必为了等待基于主机的唤醒的核心元件运行外部电路。如所属领域的技术人员将了解,所使用的循环或时钟周期的数目是示范性的且可使用其它周期。
此新的唤醒处理的实施方案的优势是其不需要时间测量装置。不管这是振荡器,还是电容器放电电路,还是其它类似已知装置,客户机都不再需要此类外部装置来确定启动情况。这当在客户机装置板上实施控制器、计数器等等时节约了金钱和电路面积。虽然这对客户机来说可能不是同样有利的,但对主机来说,此技术还应在用于核心电路的VHDL方面潜在地简化主机。将数据和选通线用作唤醒通知和测量源的功率消耗也将较低,因为不必为了等待基于主机的唤醒的核心元件运行外部电路。
为了阐明并说明此新技术的操作,图68A、68B和68C中展示MDDI_Data0、MDDI_Stb的时序,和与时钟循环有关的各种操作。
图68A中说明不具有争用的典型主机启始的唤醒的处理步骤的实例,其中为了说明的方便,再次使用字母A、B、C、D、E、F和G来标记所述事件。过程开始于点A,此时主机将链路关闭包发送给客户机装置以通知客户机装置链路将转变到低功率休眠状态。在下一步骤中,点B,主机在约64个循环中(或根据系统设计的需要)切换MDDI_Stb,以允许客户机的处理在使MDDI_Stb停止切换(这停止客户机装置中的经恢复的时钟)之前完成。主机还将MDDI_Data0初始地设定为逻辑0电平,且接着在CRC后的16到48个循环(通常包括输出禁用传播延迟)的范围内禁用MDDI_Data0输出。可能需要在CRC后的48个循环后且在下一阶段(C)之前的某时将客户机中的用于MDDI_Data0和MDDI_Stb的高速接收器置于低功率状态。在链路关闭包的CRC后的第48个MDDI_Stb循环的上升沿后的任何时间,客户机将其用于MDDI_Data0和MDDI_Stb的高速接收器置于休眠状态。建议在链路关闭包的CRC后的第64个MDDI_Stb循环的上升沿之前,客户机将其用于MDDI_Data0和MDDI_Stb的高速接收器置于休眠状态。
在点或步骤C处,主机通过禁用MDDI_Data0和MDDI_Stb驱动器且将主机控制器置于低功率休眠状态来进入低功率休眠状态。根据需要,也可将MDDI_Stb驱动器设定为逻辑0电平(使用高阻抗偏压网络)或继续在休眠期间切换。客户机也可处于低功率级的休眠状态。
在某一段时间后,在点D处,主机通过启用MDDI_Data0和MDDI_Stb驱动器输出来开始链路重启动序列。主机在驱动器完全启用它们的各别输出应花费的时间中将MDDI_Data0驱动到逻辑1电平,且将MDDI_Stb驱动到逻辑0电平。在这些输出达到所需的逻辑电平(MDDI_Data0达到有效的逻辑1电平且MDDI_Stb达到有效的逻辑0电平)后,主机通常在驱动MDDI_Stb上的脉冲前等待约200毫微秒。这给客户机提供了时间以准备接收MDDI_Stb上的高速脉冲。客户机首先使用具有+125mV输入偏移电压的低功率差分接收器来检测唤醒脉冲。
如点E处所示,在主机驱动器被启用且MDDI_Data0被驱动到逻辑1电平的情况下,主机开始在150个MDDI_Stb循环的持续时间中切换MDDI_Stb。如点F处所示,主机将MDDI_Data0驱动到逻辑0电平并持续50个周期,且在MDDI_Data0在40个MDDI_Stb循环中处于逻辑0电平后,客户机开始寻找子帧标头包。如点G处所示,主机开始通过发送子帧标头包来在前向链路上传输数据。
图68B中说明不具有争用的典型客户机启始的唤醒的处理步骤的实例,其中为了说明的方便,再次使用字母A、B、C、D、E、F、G、H和I来标记所述事件。如前所述,过程开始于点A,此时主机发送链路关闭包以通知客户机链路将转变到低功率状态。
在点B处,主机在约64个循环中(或根据系统设计的需要)切换MDDI_Stb,以允许客户机的处理在使MDDI_Stb停止切换(这停止了客户机装置中的经恢复的时钟)之前完成。主机还将MDDI_Data0初始地设定为逻辑0电平,且接着在CRC后的16到48个循环(通常包括输出禁用传播延迟)的范围内禁用MDDI_Data0输出。可能需要在CRC后的48个循环后且在下一阶段(C)之前的某时将客户机中的用于MDDI_Data0和MDDI_Stb的高速接收器置于低功率状态。
在点或步骤C处,主机通过禁用MDDI_Data0和MDDI_Stb驱动器且将主机控制器置于低功率休眠状态来进入低功率休眠状态。根据需要,也可将MDDI_Stb驱动器设定为逻辑0电平(使用高阻抗偏压网络)或继续在休眠期间切换。客户机也可处于低功率级的休眠状态。
在某一段时间后,在点D处,在主机启用其MDDI_Stb驱动器前,客户机通过启用MDDI_Stb接收器,且还启用MDDI_Stb接收器中的偏移量以保证客户机中的MDDI_Stb的接收到的版本的状态为逻辑0电平,而开始链路重启动序列。根据需要,将需要客户机在启用接收器前立即启用偏移量以确保接收到有效差分信号且禁止错误的信号。客户机启用MDDI_Data0驱动器,同时将MDDI_Data0线驱动到逻辑1电平。如果启用偏移量和启用标准MDDI_Stb差分接收器的时间小于200nsec,那么允许同时启用MDDI_Data0和MDDI_Stb。
在约1msec内,点E处,主机识别来自客户机的服务请求脉冲,且主机通过启用MDDI_Data0和MDDI_Stb驱动器输出来开始链路重启动序列。主机在驱动器启用它们的各别输出应花费的时间中将MDDI_Data0驱动到逻辑1电平,且将MDDI_Stb驱动到逻辑0电平。在这些输出达到所需的逻辑电平后,主机通常在驱动MDDI_Stb上的脉冲前等待约200毫微秒。这给客户机提供了时间以准备接收。
如点F处所见,在主机驱动器被启用且MDDI_Data0被驱动到逻辑1电平的情况下,主机开始输出MDDI_Stb上的脉冲并持续150个MDDI_Stb循环的持续时间。当客户机识别到MDDI_Stb上的第一脉冲时,客户机禁用其MDDI_Stb接收器中的偏移量。客户机继续在70个MDDI_Stb循环中将MDDI_Data0驱动到逻辑1电平,且在点G处禁用其MDDI_Data0驱动器。主机继续在80个额外MDDI_Stb循环的持续时间中将MDDI_Data0驱动到逻辑1电平,且在点H处将MDDI_Data0驱动到逻辑0电平。
如点G和H处所见,主机将MDDI_Data0驱动到逻辑0电平并持续50个循环,且在MDDI_Data0在40个MDDI_Stb循环中处于逻辑0电平后,客户机开始寻找子帧标头包。如点I处所示,在50个循环的持续时间中驱动MDDI_Stb后,主机开始通过发送子帧标头包来在前向链路上传输数据。
图68C中说明具有来自客户机的争用(即客户机也想要唤醒链路)的典型的主机启始的唤醒的处理步骤的实例。为了说明的方便,再次使用字母A、B、C、D、E、F、G、H和I来标记事件。如前所述,过程开始于点A,此时主机发送链路关闭包以通知客户机链路将转变到低功率状态,过程进行到点B,此时将MDDI_Stb切换约64个循环(或根据系统设计的需要)以允许客户机的处理完成,且接着进行到点C,此时通过禁用MDDI_Data0和MDDI_Stb驱动器且将主机控制器置于低功率休眠状态,主机进入低功率休眠状态。在某一段时间后,在点D处,通过启用MDDI_Data0和MDDI_Stb驱动器输出,主机开始链路重启动序列,且如点E处所见,主机开始在150个MDDI_Stb循环的持续时间中切换MDDI_Stb。
在点E后的多达70个MDDI_Stb循环处(此处为点F),客户机尚未识别到主机正将MDDI_Data0驱动到逻辑1电平,因此客户机也将MDDI_Data0驱动到逻辑1电平。这是因为客户机希望请求服务,但没有识别到其正尝试与之通信的主机已经开始了链路重启动序列而发生。在点G处,客户机停止驱动MDDI_Data0,且通过禁用其驱动器的输出来将其驱动器置于高阻抗状态。主机继续将MDDI_Data0驱动到逻辑1电平并持续80个额外循环。
如点H处所示,主机将MDDI_Data0驱动到逻辑0电平并持续50个循环,且在MDDI_Data0在40个MDDI_Stb循环中处于逻辑0电平后,客户机开始寻找子帧标头包。如点I处所示,主机开始通过发送子帧标头包来在前向链路上传输数据。
VI.接口电气规范在示范性实施例中,使用数据-选通信号或DATA-STB格式来编码不归零(NRZ)格式的数据,这允许将时钟信息嵌入数据和选通信号中。可在不具有复杂的锁相回路电路的情况下恢复时钟。如先前所陈述,在通常使用有线线路电缆来建构的双向差分链路上运载数据,尽管可使用其它导体、印刷线路或传递元件。在仅由主机驱动的单向链路上运载选通信号(STB)。当存在背靠背状态(back-to-back state)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信号保持此电平或值(“0”)。当DATA信号保持在“1”时,STB信号切换到相对的状态或当前实例中的“1”,且当DATA信号改变或保持电平或值时,发生诸如此类的情况。
在接收到这些信号,对DATA和STB信号执行异或(XOR)运算以产生时钟信号4006,将其展示在时序图的底部,以与所需的数据和选通信号进行相对比较。图41中展示可用于在主机处从输入数据产生DATA和STB输出或信号,且接着在客户机处从DATA和STB信号恢复或取回数据的电路的实例。
如果DATA上发生状态改变,那么STB保持其先前状态。然而,如果DATA不改变,那么STB切换到相对的状态。换句话说,在DATA与STB之间,存在MDDI_Data0+/-的路径且在每位循环中总是存在一个且仅一个转变。在链路的接收端处,通过执行DATA和STB的异或运算来产生时钟信号(图40中的CLK信号)。对数据-选通编码的使用具有优于使用数据和时钟的常规系统的优势,因为与使用数据和时钟的系统相比,经数据-选通编码的信号对延迟偏斜的容许度大约是两倍。MDDI_Stb+/-中的偏斜可由通过主机和客户机中的驱动器和接收器的路径延迟中的差异以及通过MDDI_Data0+/-和MDDI_Stb+/-的连接的延迟中的差异导致。下文更详细地论述受MDDI_Data0+/-和MDDI_Stb+/-路径中的偏斜和其它缺陷影响的时序的定量分析。
对于类型2、类型3和类型4模式来说,MDDI_Data0+/-和MDDI_Stb+/-以与类型1相同的方式来操作,这些类型都具有在每位循环中具有一个且仅一个转变的性质。其它MDDI_Data信号以与MDDI_Data0相同的速率和相位来传送数据。客户机中的从MDDI_Data0+/-和MDDI_Stb+/-的异或运算而产生的经恢复的时钟也用于对MDDI_Data1+/-到MDDI_Data7+/-进行采样。
图41中说明可用于从输入数据产生DATA和STB且接着从DATA和STB恢复输入数据的示范性电路。在图41中,将传输部分4100用于产生原始DATA和STB信号并在中间信号路径4102上传输原始DATA和STB信号,而将接收部分4120用于接收信号并恢复数据。如图41中所示,为了将数据从主机传递到客户机,将DATA信号连同用于触发电路的时钟信号一起输入到两个D型触发电路元件4104和4106。接着,使用两个差分线驱动器4108和4110(电压模式)将两个触发电路输出(Q)分别分成一对差分信号MDDI_Data0+,MDDI_Data0-和MDDI_Stb+,MDDI_Stb-。三输入异或非(XNOR)门、电路或逻辑元件4112经连接以接收DATA和两个触发器的输出,并产生输出,所述输出为第二触发器提供数据输入,第二触发器又产生MDDI_Stb+、MDDI_Stb-信号。为了方便起见,XNOR门具有反相圈(inversion bubble)以指示其有效地将触发器的Q输出反相而产生选通信号在图41的接收部分4120中,MDDI_Data0+,MDDI_Data0-和MDDI_Stb+,MDDI_Stb-信号由从差分信号产生单输出的两个差分线接收器4122和4124中的每一者接收。接着,将放大器的输出输入到产生时钟信号的两输入XOR门、电路或逻辑元件4126的输入端的每一者。所述时钟信号用于触发两个D型触发电路4128和4130中的每一者,所述两个D型触发电路4128和4130接收通过延迟元件4132的DATA信号的经延迟版本,所述两个D型触发电路4128和4130中的一者(4128)产生数据“0”值,且另一者(4130)产生数据“1”值。时钟也具有与XOR逻辑无关的输出。由于时钟信息分布在DATA与STB线之间,所以在状态之间的信号转变都不快于时钟速率的一半。由于使用对DATA和STB信号的异或处理来再现时钟,所以与经由单个专用数据线直接发送时钟信号的情形相比,系统可有效地容许所输入数据与时钟之间的大约两倍量的偏斜。
图41或图57中所说明的数据恢复电路中的延迟元件比通常用于常规时钟数据通信链路的同步数据捕获电路在实施方面更有挑战性,但数据选通编码允许大约两倍的数据速率,而无须使用延迟偏斜校准。数据恢复电路的元件的关键性传播延迟较容易达到,因为它们与同一电路中的其它延迟有关。这可在常规电路(例如在I/O pad电路中具有简单的逻辑元件)中容易地建构,因为仅有必要产生比某路径上的延迟长的一些路径的延迟。
以差分模式来操作MDDI数据对,MDDI Stb+和MDDI Stb-信号,以使对噪声的不利影响的抗扰性最大化。每个差分对都并行端接,同时将电缆或导体的特性阻抗用于传递信号。通常,所有的并行端接都位于客户机装置中。对于前向通信量(从主机发送到客户机的数据),其接近差分接收器,但对于反向通信量(从客户机发送到主机的数据),其在电缆或其它导体或传递元件的驱动端处。对于反向通信量来说,信号由客户机驱动,由主机处的高阻抗接收器反映且在客户机处终止。如其它地方所述,可以大于电缆中的往返延迟的倒数的数据速率来传递或发送反向数据或经由反向链路的数据。MDDI_Stb+和MDDI_Stb-导体或信号仅由主机来驱动。
图42A中展示可用于实现用于传递作为发明性MDDI的一部分的信号的驱动器、接收器和端接的元件的示范性配置。此示范性接口使用低电压感应,此处为200mV,具有小于1伏的功率摆动和低功率消耗。每个信号对的驱动器具有差分电流输出。当接收MDDI包时,MDDI_Data和MDDI_Stb对使用具有为0伏的差分电压阈值的常规差分接收器。在休眠状态下,驱动器输出被禁用,且并行端接电阻将每个信号对上的差分电压拉到0伏。在休眠期间,MDDI_Data0对上的特殊接收器具有为正125mV的偏移输入差分电压阈值,这导致休眠线接收器将未驱动的信号对解译为逻辑0电平。
将差分对的差分电压定义为正(+)信号上的电压减去负(-)信号上的电压所得的差。差分对信号的名称以“+”或“-”结束,其分别指示所述对的正或负信号。将差分对的驱动器的输出电流定义为从正(+)输出端中流出的电流。经过差分驱动器的负(-)输出端的电流与经过同一差分驱动器的正(+)输出端的电流总是在量值上相等但在方向上相反。
图42B中展示可用于实施本发明的一些实施例的差分电流模式驱动器的实例方框示意图。经转换的差分输出级将电流源路由到正或负驱动器输出端。0.35伏的电压源将相对于接地端测量到的输出电压总是保持在0.35伏或更大。
有时,主机或客户机可同时将差分对驱动到逻辑1电平或逻辑0电平,以在数据流的方向改变(从主机-到-客户机或客户机-到-主机)时保证在对上的有效逻辑电平。通过将同时驱动的输出驱动到同一逻辑电平,仍满足输出电压范围和输出规范。在一些系统中,可能有必要将小电流驱动到端接的差分对中以在休眠期间的某些时间及在链路从休眠状态中唤醒时产生小的偏移电压。在那些情形下,启用的偏移电流偏压电路驱动若干电流电平,其被称为IESD-and-Rx——内部ESD二极管和差分接收器输入,其中通常IESD-and-Rx≤1μA;ITx-Hi-Z——处于高阻抗状态的差分驱动器输出,其中通常ITx-Hi-Z≤1μA;及Iexternal-ESD——通过外部ESD保护二极管的泄漏电流,其中通常Iexternal-ESD≤3μA。
图47中说明这些泄漏电流中的每一者。上拉和下拉电路必须在所有都同时发生时的上文所述的最坏情况泄漏条件下达到最小差分电压。对于不具有外部ESD保护二极管的内部模式来说,总泄漏≤4μA,且对于具有外部ESD保护的外部模式来说,总泄漏≤10μA。
在表IXa-IXd中针对一个示范性实施例描述差分线驱动器和线接收器的电气参数和特性。功能上,驱动器将输入端上的逻辑电平直接传递到正输出端,且将输入的反量传递到负输出端。从输入端到输出端的延迟与差分地驱动的差分线完全匹配,在大多数实施方案中,输出端上的电压摆动小于输入端上的摆动,以使功率消耗和电磁发射最小化。在一个实施例中,存在约0.5V的最小电压摆动。然而,如所属领域的技术人员将知晓,可使用其它值,且发明者在一些实施例中根据设计限制而考虑更小的值。
差分线接收器与高速电压比较器具有相同的特性。在图41中,不具有圈的输入端为正输入端,且具有圈的输入端为负输入端。如果(Vinput+)-(Vinput-)大于0,那么输出为逻辑1。描述此的另一种方式是具有非常大(实际上无穷大)的增益同时输出在逻辑0和1电压电平处被截断的差分放大器。
不同对之间的延迟偏斜应被最小化以便以最高可能速度来操作差分传输系统。
表IXa主机发射器电气规范

注释1最大上升和下降时间为在一个差分对上传输一个位的时间间隔的30%或100nsec,使用其中较小者。
表IXb客户机发射器电气规范

注释1最大上升和下降时间为在一个差分对上传输一个位的时间间隔的30%或100nsec,使用其中较小者。
注释2指定了最小客户机驱动器阻抗,因为驱动器阻抗与TP4处的100ohm差分端接电阻并联,这影响了当客户机将数据发送给主机时的总电缆端接阻抗。
表IXc客户机接收器电气规范

表IXd主机接收器电气规范

在图42中,展示了主机控制器4202和客户机或显示器控制器4204在通信链路4206上传递包。主机控制器利用一连串三个驱动器4210、4212和4214来接收要传递的主机DATA和STB信号,且接收要传递的客户机数据信号,而客户机利用三个驱动器4230、4232和4234。负责传送主机DATA的驱动器(4212)利用启用信号输入以通常仅在需要从主机到客户机的传递时允许激活通信链路。由于将STB信号形成为数据传递的一部分,所以所述驱动器(4212)不利用额外的启用信号。客户机DATA和STB接收器(4132、4230)中的每一者的输入端都具有分别跨接于其上的端接阻抗或电阻4218和4220。客户机控制器中的驱动器4234用于准备从客户机传递到主机的数据信号,其中位于输入侧上的驱动器4214处理所述数据。
作为其它地方所论述的休眠控制的一部分,特殊接收器(驱动器)4216和4236耦联或连接到DATA线,并产生或使用先前所论述的125mV的电压偏移量。所述偏移量导致休眠线接收器将未驱动的信号对解译为逻辑0电平。
上述驱动器和阻抗可形成为离散组件或形成为电路模块的一部分,或专用集成电路(ASIC),其充当更节省成本的编码器或解码器解决方案。
可容易看到,使用在一对导体上的标记为HOST_Pwr和HOST_Gnd的信号将功率从主机装置传递到客户机装置或显示器。信号的HOST_Gnd部分充当参考地,和客户机装置的电源返回路径或信号。HOST_Pwr信号充当客户机装置电源,其由主机装置驱动。在示范性配置中,对于低功率应用来说,允许客户机装置汲取多达500mA的电流。可从便携式电源(例如但不限于位于主机装置处的锂离子型电池或电池组)提供HOST_Pwr信号,且相对于HOST_Gnd,所述信号的电压范围可从3.2伏到4.3伏。
VII.时序特性A.概观图43A、43B和43C中分别说明用于通过主机或客户机启始而进入休眠状态(无服务被请求、需要或要求)和从主机获取用于客户机的服务的步骤和信号电平。在图43A、43B和43C中,所说明的信号的第一部分展示了从主机传递链路关闭包和接着使用高阻抗偏压电路将数据线驱动到逻辑0状态。客户机或主机(其驱动器被禁用)不传输数据。可在底部看到MDDI_Stb信号线的一连串选通脉冲,因为MDDI_Stb在链路关闭包期间是有效的。一旦此包结束,随着主机将偏压电路和逻辑驱动到0,逻辑电平就改变到0。这表示来自主机的最后信号传递或服务的终止,且可能发生在过去的任何时间,且被包括以展示服务的先前停止和服务开始之前的信号状态。如果需要,在此主机装置未进行“已知”的先前通信的情况下,例如可发送信号以仅将通信链路复位到合适的状态。
如图43A中所示,且如上文对于链路关闭包所论述,在低功率休眠状态下,MDDI_Data0驱动器被禁用到高阻抗状态,所述禁用在链路关闭包中的全零字段的最后一个位后的第16到第48个MDDI_Stb循环或脉冲后开始。对于类型2、类型3或类型4链路来说,MDDI_Data1到MDDI_DataPwr7信号在MDDI_Data0驱动器被禁用的同时也被置于高阻抗状态。如全零字段的定义中所述,MDDI_Stb在链路关闭包的CRC字段的MSB后的64个循环(或根据系统设计的需要)中切换,以允许客户机的处理完成并促进客户机控制器中的有序关闭。一个循环是低到高转变接以高到低转变,或高到低转变接以低到高转变。在发送全零字段后,主机中的MDDI_Stb和MDDI_Data0驱动器被禁用,且主机进入低功率休眠状态。在某一段时间后,如图43b和43c中所示,通过启用MDDI_Data0和MDDI_Stb线或驱动器输出,主机开始链路重启动序列,且开始切换MDDI_Stb,以作为主机或客户机启始的唤醒请求的一部分。
如图43B中所示,在来自用于MDDI_Data0和MDDI_Stb的驱动器的信号输出被禁用的状态下经过某一段时间后,主机通过在标明为tstb-dagta-enbl的一段时间(在其中线被驱动到逻辑0电平)中启用其MDDI_Stb驱动器,直到其被完全启用,且接着启用其MDDI_Data0驱动器来启始服务或从休眠中唤醒。在MDDI_Data0达到高或逻辑1电平(这发生在标明为tclient-startup的一段时间上)后,主机使MDDI_Stb保持在逻辑0电平。在tclient-startup周期结束时,主机接着切换MDDI_Stb信号或线。在标明为trestart-high的周期中,主机将MDDI_Data0线驱动到高(逻辑1电平),而客户机不驱动MDDI_Data0,且接着在标明为trestart-low的周期中,主机将MDDI_Data0线驱动到低或到逻辑0电平。此后,第一前向通信以子帧标头包开始,且接着传递前向通信包。MDDI_Stb信号在trestart-low周期和随后的子帧标头包期间有效。
如图43C中所示,在来自用于MDDI_Data0和MDDI_Stb的驱动器的信号输出被禁用的某一段时间后,在主机启用其MDDI_Stb驱动器前,客户机通过在如上文所论述的标明为tstb-dagta-enbl的一段时间中启用MDDI_Stb接收器或输出信号中的偏移量来启始服务请求或从休眠中唤醒。接着,在主机开始MDDI_Stb切换前,客户机在标明为thost-detect的一段时间中启用其MDDI_Data0驱动器,在此段时间期间,线被驱动到逻辑0电平。
在主机在thost-detect期间检测到请求前会经过某一量的时间或可能需要某一量的时间,在此时间后,在主机开始在trestart-high周期期间通过将MDDI_Data0驱动到逻辑1或高电平来开始以链路启动序列切换MDDI_Stb前,主机通过使MDDI_Stb在标明为tstb-startup的周期中保持在逻辑0电平来响应。当客户机识别到MDDI_Stb上的第一个脉冲时,客户机禁用其MDDI_Stb接收器中的偏移量。客户机继续在标明为tclient-detect的周期中将MDDI_Data0驱动到逻辑1电平,直到客户机检测到主机驱动所述线。此时,客户机将请求解除确立,并禁用其MDDI_Data0驱动器,使得来自客户机的输出再次变为逻辑0电平,且主机驱动MDDI_Data0。如前所述,主机继续在trestart-high周期中将MDDI_Data0驱动到逻辑1电平,且接着在trestart-low周期中将MDDI_Data0线驱动到低,此后,以子帧标头包开始第一前向通信。MDDI_Stb信号在trestart-low周期和随后的子帧标头包期间有效。
表X展示了上文所论述的各种周期的长度的代表性时间或处理周期,和与示范性最小和最大数据速率的关系,其中tbit=1Link_Data_Rate,]]>其中Link_Data_Rate为单个数据对的位速率。
表X

所属领域的技术人员将容易了解,图41和42中所说明的个别元件的功能是众所周知的,且图42A中的元件的功能由图43A、43B和43C中的时序图证实。有关图42A中所示的串联端接和休眠电阻器的细节从图41中省略,因为所述信息对于描述如何执行数据-选通编码并从其恢复时钟来说是不必要的。
B.数据-选通时序前向链路表XI-1中展示了在前向链路上从主机驱动器输出端传递数据的转换特性。表XI呈现了某些信号转变的所需的最小和最大时间以及典型时间的表格形式。举例来说,从数据值(“0”或“1”的输出)的开始到结束的转变(Data0到Data0的转变)的典型时间长度(称为ttdd-(host-output))为ttbit,而最小时间约为ttbit-0.5nsec,且最大时间约为ttbit+0.5nsec。图44中说明Data0、其它数据线(DataX)和选通线(Stb)上的转变之间的相对间距,其中展示了Data0到Strobe、Strobe到Strobe、Strobe到Data0、Data0到非Data0、非Data0到非Data0、非Data0到Strobe和Strobe到非Data0的转变,其分别被称为ttds-(host-output)、ttss-(host-output)、ttsd-(host-output)、ttddx-(host-output)、ttdxdx-(host-output)、ttdxs-(host-output)和ttsdx-(host-output)。
表XI-1

表XI-2中展示在前向链路上传递数据的相同信号的客户机接收器输入的典型MDDI时序要求。由于论述相同信号但时间被延迟,所以如所属领域的技术人员将了解,不需要新的图来说明各个标记的信号特性或意义。
表XI-2

图45和46分别说明在主机禁用或启用主机驱动器时可发生的响应延迟的存在。在主机转发某些包(例如反向链路封装包或往返延迟测量包)的情况下,主机在所需包(例如已被传递的图45中所说明的参数CRC、选通对齐和全零包)被转发后禁用线驱动器。然而,如图45中所示,线的状态不一定瞬时地从“0”转换到所需的较高值(尽管这是在存在某些控制或电路元件时潜在地可达到的),而是要花费被称为主机驱动器禁用延迟周期的一段时间来响应。虽然其实际上可立即发生,使得此时间周期的长度为0毫微秒(nsec),但其更容易延长到某一较长的周期,其中10nsec为所需的最大周期长度,其在保护时间1或转向1包周期期间发生。
观察图46,可以看到当主机驱动器被启用以传递例如反向链路封装包或往返延迟测量包的包时所经历的信号电平变化。此处,在保护时间2或转向2包周期后,主机驱动器被启用且开始驱动电平(此处为“0”),在经过被称为主机驱动器启用延迟周期的一段时间后接近或达到所述值,主机驱动器启用延迟周期发生在发送第一个包之前在驱动器重启用周期期间。
客户机装置(此处为显示器)的驱动器和信号传递发生类似的过程。下文在表XII中展示这些周期的长度和这些周期各自的关系的一般准则。
表XII

C.主机和客户机输出启用和禁用时间图48中展示与反向链路封装包结构和周期有关的主机和客户机输出启用和禁用时间和操作的转换特性和相对时序关系。将驱动器输出功能或操作标记为thost-enable为主机输出启用时间;thost-disable为主机输出禁用时间;tclient-enable为客户机输出启用时间;和tclient-disable为客户机输出禁用时间。下义论述某些信号转变的典型时间。这些操作的最小周期将为0毫微秒,其中根据利用所述接口的系统设计而确定的典型或最大值可能约为8毫微秒或更大。
下文在表XIII中展示这些周期(主机和客户机启用/禁用时间)的长度和这些周期的各别关系的一般准则。
表XIII

VIII.链路控制的实施方案(链路控制器操作)
A.状态机包处理器通常以约300兆位/秒或更大(例如400兆位/秒)的速率来非常快速地分发在MDDI链路上传递的包(尽管根据需要无疑也可应用更低速率)。对于当前市场上可购得的(经济的)通用微处理器和类似物来说,此类型的总线或传递链路速度太大以致于无法控制。因此,实现此类型的信号传递的实用实施方案是利用可编程的状态机来解析输入包流,以产生被传递或重定向到期望到达的适当视听子系统的包。此类装置众所周知,且使用通常专用于有限数目的操作、功能或状态的电路来达到所需的高速或极高速的操作。
通用控制器、处理器或处理元件可用于更适当地对具有较低速度要求的例如控制或状态包的一些信息起作用或进行操纵。当接收到那些包(控制、状态或其它预定义包)时,建议状态机通过数据缓冲器或类似的处理元件将那些包传送到通用处理器,以便可根据所述包进行动作以提供所需的结果(效应),同时将视听内容包传递到它们的适当目的地以供操作。如果在将来,微处理器或其它通用控制器、处理器或处理元件被制造成达到更高数据速率处理能力,那么还可通过使用对此类装置的软件控制(通常作为存储在存储元件或媒体上的程序)来实施下文所论述的状态或状态机。
在一些实施例中,可通过以与某些调制解调器或图形处理器利用计算机中的CPU的处理能力来执行一些功能并减少硬件复杂性和成本几乎相同的方式利用计算机应用中的微处理器(CPU)或在无线装置中的控制器、处理器、数字信号处理器(DSP)、专门电路或ASIC的可用处理能力或过剩处理循环来实现所述通用处理器功能。然而,此循环共享或利用可不利地影响此类元件的处理速度、时序或总体操作,所以在很多应用中,宁愿将专用电路或元件用于此一般处理。
为了使图像数据在显示器(微显示器)上被观看到,或可靠地接收由主机装置发送的所有的包,客户机信号处理与前向链路信道时序同步。即,到达客户机和客户机电路处的信号需要实质上时间同步,以便可进行适当的信号处理。图49的说明中呈现了一个实施例的由信号达到的状态的高等级图。在图49中,展示了状态机4900的可能的前向链路同步“状态”被分类为一个ASYNC FRAMES STATE 4904、两个ACQUIRING SYNCSTATES 4902和4906、以及三个IN-SYNC STATES 4908、4910和4912。
如由起始步骤或状态4902所示,显示器或客户机(例如呈现装置)在预选的“不同步”状态下启动,且搜索检测到的第一子帧标头包中的唯一字。应注意,此不同步状态表示了在其中选择类型1接口的最小通信设置或“低效运行”设置。当在搜索期间发现唯一字时,客户机保存子帧长度字段。在对此第一帧的处理中不进行CRC位的校验,或直到获得同步为止才进行校验。如果此子帧长度为0,那么同步状态处理相应地进入此处被标记为“异步帧”状态的状态4904,所述“异步帧”状态指示尚未达到同步。在图49中,将处理中的此步骤标记为遭遇到cond 3或条件3。另外,如果帧长度大于0,那么同步状态处理进入状态4906,在其中将接口状态设定为“发现一个同步帧”。在图49中,将处理中的此步骤标记为遭遇到cond 5或条件5。另外,如果状态机发现帧标头包且帧长度大于0时CRC判定通过,那么处理进入“发现一个同步帧”状态。在图49中,将此标记为满足cond 6,或条件6。
在系统处于除“不同步”之外的状态的每一种情形下,如果检测到CRC校验通过的包,那么接口状态改变到“同步”状态4908。在图49中,将处理中的此步骤标记为遭遇到的cond 1,或条件1。另一方面,如果任一包中的CRC都不正确,那么同步状态处理进入或返回到“NO SYNC FRAME(无同步帧)”状态的接口状态4902。在图49的状态图中,将处理的此部分标记为遭遇cond 2,或条件2。
B.同步的获得时间接口可经配置以在决定同步丧失并返回到“NO SYNC FRAME”状态之前容忍某一数目的“同步错误”。在图49中,一旦状态机已经达到“IN-SYNC STATE(同步状态)”且没有发现错误,那么状态机继续遭遇cond 1结果,并保持在“IN-SYNC”状态。然而,一旦检测到一个cond 2结果,那么所述处理将状态改变到“一个同步错误”状态4910。此时,如果处理导致检测到另一cond 1结果,那么状态机返回到“同步”状态,否则状态机遭遇另一cond 2结果,并移动到“TWO-SYNC-ERRORS(两个同步错误)”状态4912。同样,如果cond 1发生,那么处理将状态机返回到“IN-SYNC”状态。否则,遭遇另一cond 2,且状态机返回到“不同步”状态。还可了解,如果接口遇到“链路关闭包”,那么这将致使链路终止数据传递并返回到“无同步帧”状态,因为没有与之同步的东西,这在图49的状态图中称为满足cond 4,或条件4。
应了解,可能存在唯一字的重复的“假副本”,其可出现在子帧内的某一固定位置处。在所述情形下,状态机与子帧同步是高度不可能的,因为当进行处理以使MDDI处理进入“IN SYNC”状态时,子帧标头包上的CRC也必须有效。
可将子帧标头包中的子帧长度设定为0,以指示主机在链路关闭前将仅传输一个子帧,且将MDDI置于或配置到闲置休眠状态。在此情况下,客户机在检测到子帧标头包后必须立即在前向链路上接收包,因为在链路转变到闲置状态前仅发送单个子帧,在正常或典型操作中,子帧长度为非零且客户机仅当接口处于在图49中统一展示为“IN-SYNC”状态的那些状态下时才处理前向链路包。
当主机已经传输前向链路数据序列时,外部模式客户机装置可附接到主机。在此情形下,客户机必须与主机同步。客户机与前向链路信号同步所需的时间可取决于子帧大小和前向链路数据速率而变化。当子帧大小较大时,检测到作为前向链路中的随机或更随机数据的一部分的唯一字的“假副本”的可能性较大。同时,当前向链路数据速率较慢时,从虚假检测中恢复的能力较低,且这样做所花的时间较长。
对于一个或一个以上实施例来说,建议或应了解,MDDI主机应执行某些额外步骤以确保在主机停止前向链路传输以转到低功率模式或完全关闭链路前,MDDI反向链路是稳定的。
可能发生的一个问题是,如果主机使用往返延迟值的不正确测量结果,那么这可能致使来自客户机的所有的随后接收到的反向数据传输失败,即使前向链路看起来是良好的。如果主机在客户机未与前向链路同步时试图发送往返延迟测量包,或由于急剧的周围温度变化而导致会影响往返延迟的差分驱动器和接收器的传播延迟的对应的较大变化,上述问题就可能发生。间歇的电缆或连接件接触故障也可导致客户机暂时丧失同步且接着重新获得同步,在此时间期间,客户机可能错过接收往返延迟测量包。随后的反向链路包将不能被主机正确地解码。
可能发生的另一种类型的问题是,如果客户机暂时丧失同步且主机在客户机能够重新获得同步前发送链路关闭包,主机将处于休眠状态,而客户机不能够进入休眠状态,因为客户机没有接收到链路关闭包且不具有时钟,因为链路处于休眠状态。
对解决此类问题有用的一种技术或实施例是使主机确保在将链路置于休眠状态前,客户机与前向链路同步。如果MDDI主机不能够这样做或不具有这样的机会,例如当主机断电或链路由于操作期间发生的电缆、导体或连接件分离、中断或断开的缘故而突然地中断或发生故障,那么主机应在开始往返延迟测量过程或发送反向链路封装包前,首先尝试确保客户机是同步的。
主机可观察由客户机发送的客户机请求与状态包中的CRC错误计数字段以确定前向链路完整性。主机向客户机请求此包。然而,在主要链路发生故障或中断的事件中,此请求将很可能不被答复,因为客户机将不能够正确地解码所述包或甚至可能根本无法接收所述包。使用在反向链路封装包中发送的客户机请求与状态包对CRC错误计数的请求充当第一次完整性校验,作为一种第一道防线。另外,主机可发送往返延迟测量包来证实关于客户机已经不再同步的假定是有效的还是无效的。如果客户机不对往返延迟测量包做出响应,那么主机将得出客户机不同步的结论且可接着开始使其重新同步的过程。
通常建议主机通过将反向链路封装包周期性地发送到客户机来持续监视客户机中的CRC错误计数,在所述反向链路封装包中将反向链路旗标字段的位1设定为1以要求客户机将客户机请求与状态包返回给主机。
一旦主机得出客户机很可能已经丧失了与前向链路的同步的结论,那么主机在等到下一子帧标头之前将发送填充符包而不试图发送填充符包以外的任何其它包。这样做是为了使客户机具有足够的时间来检测或寻找包含在子帧标头包中的一个唯一字。此后,主机可假定客户机已经使自身复位,因为客户机不可能在正确的位置找到唯一字。此时,主机可在子帧标头包后发送往返延迟测量包。如果客户机仍不正确地对往返延迟测量包做出响应,那么主机可重复进行重新同步过程。正确的响应是客户机在往返延迟测量包的测量周期中将指定的序列发送回到主机。如果没有接收到此序列,那么在反向链路封装包中接收反向数据的试图将失败。此性质的连续失败可指示必须以某种其它方式解决的某种其它系统错误,且其不是此时的链路同步所关注的部分。
然而,如果在成功的往返延迟测量包后,主机仍在反向链路封装包中发现破坏的数据或无响应,那么建议主机通过重新发送往返延迟测量包来证实反向数据采样是正确的。如果在几次尝试后都不成功,那么在一个实施例中,建议主机通过增加反向速率除数值来减少反向数据速率。
建议主机在将MDDI链路置于休眠状态前,执行链路故障检测和可能地上文所述的链路重新同步步骤。这通常将确保在以后重启动链路时执行的往返延迟测量包的传递是成功的。如果主机没有理由怀疑有链路故障,且客户机报告了对反向链路封装包的正确响应和零前向链路CRC错误,那么主机可假定一切都相应地或适当地操作或起作用(例如,无链路故障)且继续进行功率下降/休眠过程。
主机可测试同步的另一种方式是主机发送往返延迟测量包并证实来自客户机的合适响应。如果主机接收到合适的响应,那么主机有理由假定客户机可成功地解译前向链路包。
C.初始化如先前所陈述,在“启动”时,主机配置前向链路以要求的或所需的最小数据速率1兆位/秒或低于所述数据速率来操作,且针对给定应用适当地配置子帧长度和媒体帧速率。即,前向和反向链路两者都使用类型1接口来开始操作。通常,这些参数将仅在主机确定客户机显示器(或其它类型的客户机装置)的能力或所需配置时被暂时使用。主机在前向链路上发送或传递子帧标头包,接着发送反向链路封装包,所述反向链路封装包的请求旗标的位“0”被设定为值1(1),以便请求显示器或客户机以客户机能力包作出响应。一旦显示器获得前向链路上(或与前向链路)的同步,显示器就在反向链路或信道上发送客户机能力包和客户机请求与状态包。
主机检查客户机能力包的内容,以便确定如何为了获得最佳或所需水平的性能而重新配置链路。主机检查协议版本和最小协议版本字段以证实主机和客户机使用了彼此兼容的协议版本。协议版本通常总是客户机能力包的前两个参数,以使得即使在协议的其它要素可能不兼容或未被完全理解为兼容时,也可确定兼容性。
在内部模式下,主机可事先知晓客户机的参数,而不必接收客户机能力包。链路可以主机和客户机两者都可以其操作的任何数据速率来启动。在很多实施例中,系统设计者将很可能选择以最大可达到数据速率来启动链路以加速数据传递,然而,这是不被要求的且在很多情形下不可使用。对于内部模式操作来说,在链路从休眠序列重启动期间所使用的选通脉冲的频率通常将与此所需速率一致。
D.CRC处理对于所有的包类型来说,包处理器状态机确保CRC校验器被适当地或正确地控制。当CRC比较导致检测到一个或一个以上错误时,包处理器状态机还使CRC错误计数器递增,且在被处理的每个子帧的开始时使CRC计数器复位。
E.替代性同步丧失校验虽然上述一连串步骤或状态可用以产生较高数据速率或处理速度,但申请人已经发现可有效地将客户机用来宣布与主机同步丧失的条件的替代性配置或改变用来达到更高的数据速率或处理量。新的发明性实施例具有相同的基本结构,但用于改变状态的条件发生改变。另外,建构新的计数器以辅助对子帧同步进行校验。关于图63而呈现这些步骤和条件,图63说明了可用于建立所述方法或状态机的操作的一系列状态和条件。为了清楚起见,仅展示“ACQUIRING-SYNC STATES(获取同步状态)”和“IN-SYNC STATES”部分。另外,由于所得状态大体上相同(如状态机本身那样),所以它们使用相同编号。然而,用于改变状态(和状态机操作)的条件稍微改变,所以为了清楚起见,所有的条件都在两个图中重新编号(1、2、3、4、5和6,对61、62、63、64和65),以方便识别差异。由于在此论述中不考虑ASYNC FRAME状态,所以图中不再使用一个状态(4904)和条件(6)。
在图63中,如在图49中那样,系统或客户机(用于显示或呈现)以状态机5000处于预选的“不同步”状态4902而开始。用于使状态从不同步条件4902改变的第一次状态改变是在条件64时,其为发现同步模式。假定对此包的子帧标头的CRC也已通过(满足条件61),那么包处理器状态机的状态可改变到同步状态4908。一次同步错误(条件62)将致使状态机变换为状态4910,而第二次同步错误将使其变换为状态4912。然而,已经发现,MDDI包的任何CRC失败都将致使状态机离开同步状态4908,进入一个同步错误状态4910。任一MDDI包的另一次CRC失败将导致进入两次同步失败状态4912。解码后具有正确CRC值的包将致使状态机返回到同步状态4908。
所改变的是利用了“每个”包的CRC值或确定。即,使状态机查看每个包的CRC值以确定同步的丧失,而不是仅仅观察子帧标头包。在此配置或过程中,不使用唯一字和仅仅子帧标头CRC值来确定同步丧失。
此新的接口实施方案允许MDDI链路更加快速地识别同步故障,且因此也更快地从同步故障中恢复。
为了使此系统更坚固,客户机还应添加或利用子帧计数器。接着,客户机在预期唯一字会到达或出现在信号中的时间时检查唯一字的存在。如果唯一字不在正确的时间出现,那么与客户机必须等待几个(此处三个)包时间或周期(大于子帧长度)的情况相比,客户机可更加快速地识别同步故障已经发生。如果对唯一字的测试指示其不存在,换句话说,时序不正确,那么客户机可立即宣布链路丧失同步且进入不同步状态。检查合适的唯一字的存在与否的过程将条件65(cond 65)(既,唯一字是不正确的)添加到状态机。如果预期在客户机上接收到子帧包而事实上并非如此,那么客户机可立即进入不同步状态4902,从而节约了等待在状态4910和4912中来回移动时通常会遇到的多个同步错误(条件62)的额外时间。
此改变使用客户机核心中的额外计数器或计数功能来计数子帧长度。在一个实施例中,使用递减计数功能,且如果计数器计数截止,那么中断当前被处理的任一包的传递以检查子帧唯一字。或者,计数器可递增计数,同时将计数与所需的最大或特定所需值进行比较,在到达所述最大或特定所需值时检查当前包。此过程使客户机免于解码在客户机上不正确地接收到的具有格外长的包长度的包。如果子帧长度计数器需要中断正被解码的某个其它包,那么可确定同步丧失,因为不应有包越过子帧边界。
IX.包处理对于状态机接收到的上文所论述的每种类型的包来说,要进行特定的处理步骤或一连串步骤以实施接口的操作。通常根据下文在表XIV中列出的示范性处理来处理前向链路包。
表XIV


X.减小反向链路数据速率发明者已经观察到,可以某一方式来调节或配置用于主机链路控制器的某些参数,以便达到非常需要的最大或更优化(按比例缩放)的反向链路数据速率。举例来说,在用于传递反向链路封装包的反向数据包字段的时间期间,MDDI_Stb信号对以前向链路数据速率的一半来切换以创建周期性数据时钟。这会发生的原因是主机链路控制器产生对应于MDDI_Data0信号的MDDI_Stb信号,就像其发送全零那样。MDDI_Stb信号从主机传递到客户机,在客户机处,MDDI_Stb信号用于产生时钟信号,其用以从客户机传递反向链路数据,通过其将反向数据发送回到主机。图50中展示利用MDDI的系统中的前向和反向路径上的信号传递和处理所遇到的典型延迟量的说明。在图50中,展示了分别接近Stb+/-产生、电缆传递到客户机、客户机接收器、时钟产生、信号定时、Data0+/-产生、电缆传递到主机和主机接收器级的处理部分的一系列延迟值1.5nsec、8.0nsec、2.5nsec、2.0nsec、1.0nsec、1.5nsec、8.0nsec和2.5nsec。
取决于所遇到的前向链路数据速率和信号处理延迟,此“往返”效应或事件组的完成可能需要比MDDI_Stb信号上的一个循环更多的时间,这导致消耗不恰当的时间量或循环。为了回避此问题,反向速率除数(Reverse Rate Divisor)使得反向链路上的一个位时间有可能持续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信号的每个上升沿处递增,且直到计数值绕回为止的计数的数目由反向链路封装包中的反向速率除数参数来设定。由于MDDI_Stb信号以前向链路速率的一半来切换,所以反向链路速率是前向链路速率的一半除以反向速率除数所得的商。举例来说,如果前向速率为200兆位/秒,且反向速率除数为4,那么反向链路数据速率表达为 图52中展示一实例,其展示反向链路封装包中的MDDI_Data0和MDDI_Stb信号线的时序,其中用于说明的包参数具有以下值包长度=1024(0x0400) 转向1长度=1包类型=65(0x41) 转向2长度=1反向链路旗标=0反向速率除数=2参数CRC=0xdb43全零为0x00包长度字段与参数CRC字段之间的包数据为0x00、0x04、0x41、0x00、0x02、0x01、0x01、0x43、0xdb、0x00、...
从客户机返回的第一个反向链路包是具有包长度7和包类型70的客户机请求与状态包。此包以字节值0x07、0x00、0x46、...等等开始。然而,仅第一字节(0x07)在图52中可见。此第一反向链路包在图中被时间移位了将近一个反向链路时钟周期以说明实际反向链路延迟。将具有为零的主机到客户机往返延迟的理想波形展示为虚线轨迹。
传递参数CRC字段的MS字节,其之前为包类型字段,之后为全零字段。随着来自主机的数据改变电平,来自主机的选通信号从1转换到0且回到1,从而形成较宽的脉冲。当数据变为0时,选通信号以较高速率转换,仅数据线上的数据变化会导致在对齐字段的末端附近的变化。对于图的剩余部分,由于数据信号在较长的时间周期中为固定的0或1电平的缘故,选通信号以较高速率转换,且变换在脉冲模式(沿)上下降。
当启动时钟以适应反向链路包时,主机的反向链路时钟处于0,直到转向1周期的结束为止。如将从本揭示内容的剩余部分中明了的,在图的下部中的箭头指示何时对数据进行采样。被传递的包字段的第一个字节(此处为11000000)被展示为在转向1字段后开始,且线电平从主机驱动器被禁用开始已经稳定。可在数据信号的虚线中看到第一个位(以及对于位3可见)的传递的延迟。
在图53中,可观察到基于前向链路数据速率的反向速率除数的典型值。根据往返链路测量而确定实际反向速率除数以保证合适的反向链路操作。第一区域5302对应于安全操作区域,第二区域5304对应于边际性能区域,而第三区域5306指示不可能适当地起作用的设置。
当在前向或反向链路上用接口类型设置中的任一者操作时,往返延迟测量和反向速率除数设置是相同的,因为它们是根据实际时钟周期的单位,而不是被传输或接收的位的数目来表达且操作的。
通常,最大可能的反向速率除数是可使用类型I接口来在往返延迟测量包的测量窗中发送的位的数目的一半,或对于本实例为 也可将高级的反向数据采样方法用作允许反向位时间小于往返延迟的替代方法。对于此技术,主机不仅测量往返延迟,而且可确定来自客户机的响应相对于具有零延迟的客户机和链路的‘理想’位边界的相位。通过知晓客户机装置响应的相位,主机可确定从客户机采样反向数据位的相对较安全的时间。往返延迟测量向主机指示了反向数据的第一个位相对于反向数据包字段的开始的位置。
图52B中以图形的形式说明高级反向数据采样的实例的一个实施例。将具有零往返延迟的理想反向数据信号展示为虚线波形。可观察到作为实线波形与理想波形之间的延迟差异的实际往返延迟,其在3.5与4个MDDI_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字段提供时间值或周期,其允许客户机驱动器和主机驱动器同时以逻辑0电平驱动。通常在不想要调节的长度中用预设或预选值来填充保护时间1和保护时间2字段。取决于所使用的接口硬件,这些值可使用经验数据来产生且在一些情况下被调节以改进操作。
转向1若干因数会影响转向1长度的确定,且这些因数是前向链路数据速率、主机中的MDDI_Data驱动器的最大禁用时间和客户机驱动器的启用时间(其通常与主机禁用时间相同)。将转向1字段的长度选择为24tBIT(表XIII)。通过使用接口类型因数来确定作为前向链路字节数目的转向1字段的长度,且通过使用以下关系来计算 其中接口类型因数对于类型1来说为1,对于类型2来说为2,对于类型3来说为4且对于类型4来说为8。
转向2确定通常用于转向2的时间长度的因数为通信链路的往返延迟、客户机中的MDDI_Data驱动器的最大禁用时间和主机驱动器的启用时间(其被指定为与客户机驱动器禁用时间相同)。在其它地方指定了最大主机驱动器启用时间和客户机驱动器禁用时间。往返延迟以tBIT为单位来测量。根据以下关系来计算转向2字段的以前向链路字节数指定的最小长度 举例来说,具有10个前向链路时钟的往返延迟的类型3前向链路通常使用约为以下值的转向2延迟 XII.替代反向链路时序虽然上文所论述的时序和保护带的使用可用以实现高数据传递速率接口,但发明者已经发现了一种通过改变反向时序发现来允许短于往返时间的反向位长度的技术。
如上文所呈现,反向链路定时的先前方法经配置以使得从反向时序包的保护时间1的最后一个位开始直到在IO时钟的上升沿上采样的第一个位为止计数时钟循环的数目。那是用于对MDDI的输入和输出进行计时的时钟信号。这样就给出对反向速率除数的计算 这提供等于往返延迟的位宽度,其导致非常可靠的反向链路。然而,已经展示了反向链路能够更快地或以更高的数据传递速率运行,这是发明者想要利用的。新的发明性技术允许利用额外的接口能力来达到更高的速度。
这通过使主机计数时钟循环的数目直到采样到1为止来实现,但其中主机在反向时序包期间在上升和下降沿两者上对数据线进行采样。这允许主机在反向位内检取最有用或甚至最佳采样点以确保所述位是稳定的。即,发现反向通信反向封装包中的可在其上采样数据的最有用或最佳上升沿。最佳采样点取决于反向链路除数和是否在上升沿或下降沿上检测到第一个1。新的计时方法允许主机仅寻找由客户机发送的用于反向链路时序的0xFF 0xFF 0x00模式的第一个边沿,以确定在反向封装包的何处进行采样。
图64中说明到达的反向位和所述位如何寻找各种反向速率除数的实例,以及自保护时间1的最后一个位起出现的时钟循环数。在图64中,可看到,如果第一沿出现在上升与下降沿(标记为上升/下降)之间,对于(例如)反向速率除数1的最佳采样点(最佳采样点为标记为‘b’的时钟循环边沿)是出现在反向位的周期内的唯一上升沿。对于反向速率除数2来说,最佳采样点可能仍然为时钟循环前沿‘b’,因为循环边沿‘c’比‘b’更接近位边沿。对于反向速率除数4来说,最佳采样点可能为时钟循环边沿‘d’,因为其更接近反向位的后沿,在此处值可能已经稳定。
回到图64,然而,如果第一沿出现在下降沿与上升沿(标记为下降/上升)之间,那么(例如)反向速率除数1的最佳采样点为采样点时钟循环边沿‘a’,因为那是反向位时间周期内的唯一上升沿。对于反向速率除数2来说,最佳采样点为边沿‘b’,且对于反向速率除数4来说,最佳采样点为边沿‘c’。
可看到,随着反向速率除数变得越来越大,最佳采样点变得更容易确定或选择,因为其应为最接近中间的上升沿。
主机可使用此技术来在在数据线上观察到时序包数据的上升数据沿前发现上升时钟沿的数目。接着主机可基于边沿是否出现在上升与下降沿之间或下降与上升沿之间且基于反向速率除数是什么来决定将多少额外时钟循环添加到计数器,以合理地确保总是在尽可能接近中间处对所述位进行采样。
一旦主机已经选择或确定了时钟循环的数目,其可将各种反向速率除数用于客户机来确定特定反向速率除数是否将起作用。主机(和客户机)可以除数1开始,并校验从客户机接收到的反向状态包的CRC,以确定此反向速率是否可适当地用于数据传递。如果CRC破坏,那么可能存在采样错误,且主机可增加反向速率除数并尝试再次请求状态包。如果第二次请求的包破坏,那么可再次增加除数并再次作出请求。如果此包被正确地解码,那么此反向速率除数可用于所有未来的反向包。
此方法是有效的且有用的,因为反向时序不应从初始往返时序估计发生改变。如果前向链路是稳定的,那么客户机应继续解码前向链路包,即使存在反向链路故障。当然,为链路设定反向链路除数仍然是主机的责任,因为此方法不保证完美的反向链路。另外,所述除数将主要取决于用于产生IO时钟的时钟的质量。如果所述时钟具有大量的抖动,那么存在发生采样错误的较大可能性。此错误概率随着往返延迟中的时钟循环的量的增加而增加。
此实施方案看起来对于类型1反向数据最起作用,但对于类型2到类型4反向数据来说可能会导致问题,因为数据线之间的偏斜可能太大,以致不能以对仅一个数据对最起作用的速率来运行链路。然而,即使将类型2到类型4用于操作,数据速率也可能不需要减少到先前方法的水平。此方法在被复制到每个数据线以选择理想或最佳时钟采样位置时也可最起作用。如果对于每个数据对来说它们都处于同一采样时间,那么此方法将继续起作用。如果它们处于不同的采样周期,那么可使用两种不同的途径。第一种途径是为每个数据点选择所需或更佳的采样位置,即使其对于每个数据对来说都不是相同的。接着,主机可在采样来自一组数据对的所有的位对于类型2来说两个位、对于类型3来说四个位且对于类型4来说八个位之后重构数据流。另一种选择是使主机增加反向速率除数,使得可在相同时钟边沿对每个数据对的数据位进行采样。
XIII.链路延迟和偏斜的效应前向链路上MDDI_Data对与MDDI_Stb之间的延迟偏斜可限制最大可能的数据速率,除非使用延迟偏斜补偿。如下文概述,导致时序偏斜的延迟差异是归因于控制器逻辑、线驱动器和接收器以及电缆和连接器。
A.受偏斜限制的链路时序分析(MDDI类型1)
1.类型1链路的延迟和偏斜实例图57中展示与图41中展示的接口电路类似的典型接口电路,其用于适应类型1接口链路。在图57中,针对MDDI类型1前向链路的几个处理级或接口级中的每一者展示了传播延迟和偏斜的示范或典型值。如图58中所示,MDDI_Stb与MDDI_Data0之间的延迟偏斜导致输出时钟的工作循环失真。在一些情况下,这导致到RXFF级的设置时间非常小。使用触发器5728、5732的接收器触发器(RXFF)级的D输入端处的数据在时钟边沿后稍稍改变,使得可以可靠地对其进行采样。此图展示了两个级联延迟线5732a和5732b,其用于解决与创建此时序关系有关的两个不同问题。在实际的实施方案中,这些级联延迟线可组合成单个延迟元件。
图58中说明了用于通过接口的示范性信号处理的在类型1链路上的Data、Stb和时钟恢复时序。
显著的总延迟偏斜通常源自或来自以下级中的偏斜的总和具有触发器5704、5706的发射器触发器(TXFF);具有驱动器5708、5710的发射器驱动器(TXDRVR);CABLE(电缆)5702;具有接收器5722、5724的接收器线接收器(RXRCVR);和接收器异或逻辑(RXXOR)。延迟1 5732a应匹配或超过RXXOR级中的异或门5736的延迟,这由以下关系来确定tPD-min(延迟1)≥tPD-max(XOR)希望满足此要求,以使得接收器触发器5728、5732的D输入不在其时钟输入之前改变。如果RXFF的保持时间为0,那么这是有效的。
延迟2的用途或功能是根据以下关系来补偿RXFF触发器的保持时间tPD-min(延迟2)=tH(RXFF)在很多系统中,这将为0,因为保持时间为0,且理所当然地在那种情况下,延迟2的最大延迟也可为0。
对接收器异或级中的偏斜的最坏情况贡献是出现在数据迟/选通早的情况下,其中延迟1处于最大值,且来自异或门的时钟输出根据以下关系尽可能早地来到tSKEW-max(RXXOR)=tPD-max(延迟1)-tPD-min(XOR)在这种情形下,数据可在两个位周期,n与n+1之间改变,非常接近于位n+1被计时到接收器触发器中的时间。
MDDI类型1链路的最大数据速率(最小位周期)是在MDDI链路中的所有驱动器、电缆和接收器中遇到的最大偏斜加上设置到RXFF级中的总数据的函数。链路中直到RXRCVR级的输出端的总延迟偏斜可表达为tSKEW-max(LINK)=tSKEW-max(TXFF)+tSKEW-max(TXDRVR)+tSKEW-max(CABLE)+tSKEW-max(RXRCVR),其中“电缆”表示多种导体或互连或线路和对应的延迟,且最小位周期给出为tBIT-min=tSKEW-max(LINK)+2·tB-TP4+t不对称+tSKEW-max(RXXOR)+t抖动-主机+tPD-max(延迟2)+tSU(RXFF)在图57中所示的实例中,对于外部模式来说,tSKEW-max(LINK)=1000psec且最小位周期可表达为tBIT-min=1000+2·125+625+125+200+0+100=2300psec,或陈述为近似434兆位/秒。在图57中所示的实例中,对于内部模式来说,tSKEW-max(LINK)=500psec且最小位周期可表达为tBIT-min=500+2·125+625+125+200+0+100=1800psec或陈述为近似555兆位/秒。
如果主机使用延迟偏斜校准包,那么存在对主机装置中的延迟不对称、延迟偏斜和时钟抖动的额外要求,其由具有偏斜校准的主机的最大延迟不对称和时钟抖动要求定义,为t不对称-TXFF+t不对称-TXDRVR+t抖动-主机≤1000ps,且对具有偏斜校准的主机的最大延迟偏斜要求t偏斜-TXFF+t偏斜-TXDRVR≤1000ps。
B.MDDI类型2、3和4的链路时序分析图59中展示与图41和57中所示的接口电路类似的典型接口电路以用于适应类型2、3和4接口链路。在TXFF(5904)、TXDRVR(5908)、RXRCVCR(5922)和RXFF(5932、5928、5930)级中使用额外元件以适应额外信号处理。在图59中,展示了MDDI类型2前向链路的几个处理或接口级中的每一者的传播延迟和偏斜的示范或典型值。除了会影响输出时钟的工作循环的MDDI_Stb与MDDI_Data0之间的延迟偏斜之外,还存在在这两个信号和其他MDDI_Data信号之间的偏斜。由触发器5928和5930组成的接收器触发器B(RXFFB)级的D输入端处的数据恰好在时钟边沿后改变,因此可以可靠地对其进行采样。如果MDDI_Data1早于MDDI_Stb或MDDI_Data0而到达,那么MDDI_Data1应至少被延迟所述延迟偏斜的量才被采样。为了实现此,使用延迟3延迟线来延迟数据。如果MDDI_Data1迟于MDDI_Stb和MDDI_Data0而到达,且其也由延迟3来延迟,那么MDDI_Data1发生改变的点移近下一时钟边沿处。此过程确定MDDI类型2、3或4链路的数据速率的上限。图60A、60B和60C中说明了两个数据信号和MDDI_Stb相对于彼此的时序或偏斜关系的一些示范性的不同可能性。
为了在MDDI_DataX尽可能早地到达时在RXFFB中可靠地采样数据,根据以下关系来设定延迟3tPD-min(延迟3)≥tSKEW-max(LINK)+tH(RXFFB)+tPD-max(XOR)由最小的允许位周期来确定最大链路速度。当MDDI_DataX尽可能迟地到达时,这是最受影响的,在那种情况下,最小允许循环时间给出为tBIT-min=tSKEW-max(LINK)+tPD-max(延迟3)+tSU(RXFFB)-tPD-min(XOR)那么链路速度的上界为tPD-max(延迟3)=tPD-min(延迟3)且给出以下假定tBIT-min(下界)=2·tSKEW-max(LINK)+tPD-max(XOR)+tSU(RXFFB)+tH(RXFFB)在上文所给出的实例中,最小位周期的下界由以下关系来给出tBIT-min(下界)=2·(1000+2·125+625+200)+1500+100+0=5750psec其近似于174兆位/秒。
这比可用于类型1链路的最大数据速率慢得多。MDDI的自动延迟偏斜补偿能力显著减少了延迟偏斜对仅在有效数据设置的边缘上的最大链路速率因数的影响。
MDDI_Data0与MDDI_Stb之间的经校准的偏斜为tSKEW-max(经校准)=2·tTAP-SPACING-max,且最小位周期为tBIT-min-经校准=tSKEW-max(经校准)+2·tB-TP4+t不对称+t抖动-主机+tSKEW-max(RXAND+RXXOR)+tSU(RXFF)其中“TB”或tB表示从位边界到最小输出电平的信号抖动。不对称仅仅指差分接收器中或差分接收器的内部延迟的不对称性质。“TP4”与客户机的差分线驱动器和接收器的连接或接口(客户机中的MDDI控制器装置的插脚)相关,或出于电气表征和测试目的而被有效地定义为客户机的差分线驱动器和接收器的连接或接口(客户机中的MDDI控制器装置的插脚)。其表示一便利或预定点,从所述点,信号延迟可被测量且其表征了系统的所有其余部分中的链路。在一个实施例中,TP4处的参数tB的最大值由以下关系来定义对于客户机发射器来说,在外部模式下,t差分-偏斜-TP4-DRVR-EXT=0.3·tBIT,且在内部模式下,t差分-偏斜-TP4-DRVR-INT=0.6·tBIT;且对于客户机接收器来说,在外部模式下,tB-TP4-RCVR-EXT=0.051·tBIT+175ps。
标签TP4仅仅在对接口和链路中的各个测试点(TP)进行编号的过程中有用。在一个实施例中,对于内部和外部模式两者来说,将此测试点位置定义为相同。存在用于含有差分线驱动器和接收器的主机中的MDDI控制器装置的连接或接口插脚的或与其相关的对应“TP0”测试点。在此实施例中,TP0处的参数TB的最大值由以下关系来定义对于主机接收器来说,在内部模式下,tB-TP0-RCVR-INT=0.051·tBIT+50ps且在外部模式下,tB-TP0-RCVR-EXT=0.051·tBIT+175ps;且对于主机发射器来说,tB-TP0=0.102·tBIT。
在图59中所示的实例中,tSKEW-max(Data0-Stb-经校准)=300psec且最小位周期为tBIT-min-经校准=300+2·125+625+200+175+100=1650psec其近似于606兆位/秒。
为了在MDDI_Data1尽可能早地到达时在RXFFB中可靠地采样数据,将相关的可编程延迟调节到具有一个抽头的精确度的最佳设置,且为了安全而添加额外的抽头延迟。最大链路速度由最小允许位周期来确定。当MDDI_Data1尽可能迟地到达时,这最受影响。在那种情况下,最小允许循环时间为tBIT-min-Data1-经校准=2·tTAP-Spacing-max+2·tTA-TP4,其中“TA”或tA表示从位边界到中心交叉的信号抖动。
在图59中给出的实例中,基于采样MDDI_Data1的最小位周期的下界为tBIT-min-Data1-经校准=2·150+2·125=550psec在一个实施例中,在内部模式下,主机发射器中的延迟偏斜、延迟不对称和时钟抖动的典型总延迟时间将被定义为t不对称-TXFF+t不对称-TXDRVR+t偏斜-TXFF+t偏斜-TXDRVR+t抖动-主机=0.467·(tBIT-150ps),且在外部模式下,定义为t不对称-TXFF+t不对称-TXDRVR+t偏斜-TXFF+t偏斜-TXDRVR+t抖动-主机=0.TBD·(tBIT-150TBDps)而在内部模式下,客户机装置中的延迟偏斜、延迟不对称和设置时间的典型总延迟时间为t不对称-RXRCVR+t不对称-RXXOR+t偏斜-RXRCVR+t偏斜-RXXOR+t设置-RXFF=0.307·(tBIT-150ps),且在外部模式下t不对称-RXRCVR+t不对称-RXXOR+t偏斜-RXRCVR+t偏斜-RXXOR+t设置-RXFF=0.TBD·(tBIT-TBDps),其中项TBD是用于未来的待确定值的灵活的占位标签,所述待确定值将取决于外部模式连接的各种普遍了解的特征和操作要求。
图61中展示具有延迟偏斜补偿电路的类似于图59的接口电路的MDDI类型2前向链路的实施例的典型接口电路。在RXRCVCR级后使用了额外元件,即,可选延迟元件6102和6104,以及分别耦联到与门6112和6114的校准输入驱动器6106和6108,与门6112和6114的输出端又连接到异或门6116。如图所示,异或门616又向RXFFA级提供输入。这些元件用于适应额外的信号处理。驱动器6108和6106允许对信号路径的校准,而延迟元件6102和6104分别允许将可选量的延迟注入或用于驱动器5724和5924的输出的信号传递路径。
在此实例中,将可变延迟6102和6104用于精细调节数据和选通信号的相对到达时间。对齐这些信号的到达时间可允许接收器中的D触发器(5728、5730、5928、5930)的输入端处的数据被预先设置好。当客户机装置接收到前向链路偏斜校准包的校准数据序列字段时,简单的状态机可检查所有的差分对信号上的同时转变,以确定最佳的可调节延迟设置。状态机可使用逐次逼近算法来调节可变延迟以发现可安全地采样数据的点,且接着朝向最安全的设置将延迟调节一个抽头以确保可靠操作(此在MDDI_Stb路径上将为少一个抽头且在MDDI_Data路径上为多一个抽头)。为了促进此,校准数据序列字段含有在所有的差分对上的较大数目的同时转变。
在图61中给出的实例中,基于采样MDDI_Data1的最小位周期的下界为tBIT-min-Data1-经校准=2·150+2·125=550psec这与MDDI_Data1的未校准的链路时序相比是重要的改进。然而,如在上文的实例中可见,延迟偏斜校准的链路上的最大数据速率的一个潜在决定性因素通常将受到匹配MDDI_Stb与MDDI_Data0之间的延迟的能力的限制。存在很多对此处所述的偏斜补偿结构的可能改进,例如图61中提供对延迟5的精细调节。
当利用延迟偏斜补偿时,通常存在在主机驱动器的输出端处允许或可允许的差分偏斜量的上限。这在上文针对内部和外部模式两者而予以定义。如果不具有此限制或约束,那么对于以非常低的数据速率操作的主机装置来说,在客户机装置中将存在可能需要校正的极大范围的差分偏斜量。由于偏斜补偿的主要用途是减少延迟偏斜以允许装置以较高速度操作,延迟偏斜的最大限制通常由使用延迟偏斜补偿的主机的系统或装置设计者来指定。客户机装置中所使用的偏斜补偿的总量是以下三个参数的总和。主机驱动器输出端处的最大差分偏斜,其为图61中的TXFF+TXDRVR级的最大延迟偏斜;从TP0到TP4的互连子系统中的最大差分偏斜,其为图61中的CABLE级的最大延迟偏斜;和客户机中的在差分接收器输入端与数据采样电路之间的最大差分偏斜。此后一参数是从图61中的RXRCVR级的输入端到RXFFA和RXFFB级的输入端的最大延迟偏斜。
XIV.物理层互连描述可通过使用商业上可购得的零件来实现可用于建构根据本发明的接口的物理连接,所述零件例如由Hirose Electric Company Ltd.制造的编号为3260-8S2(01)的零件(在主机侧上),和由Hirose Electric Company Ltd.制造的编号为3240-8P-C的零件(在客户机装置侧上)。在表XV中列出了配合类型1/类型2接口一起使用的此类连接器的示范性接口插脚分配或“插脚引线”(pinout)。
表XV

屏蔽连接到主机接口中的HOST_Gnd,且电缆中的屏蔽排扰线连接到客户机连接器的屏蔽。然而,屏蔽和排扰线不连接到客户机内的电路接地端。
选择或设计互连元件或装置,以便足够小以与移动通信和计算装置(例如PDA和无线电话或便携式游戏装置)一起使用,而不会与相对装置尺寸相比显得突兀或缺乏美感。任何连接器和布线都应足够耐用,以在典型的消费性环境下使用,且允许较小尺寸(尤其对于布线来说)和相对较低的成本。传递元件应适应作为差分NRZ数据的数据和选通信号,所述差分NRZ数据具有对于类型1和类型2来说高达约450兆位/秒且对于8位并行类型4版本来说高达3.6千兆位/秒的传递速率。
对于内部模式应用来说,不存在在相同意义下的用于所使用的导体的连接器,或者此类连接元件趋向于非常小型化。一个实例是用于容纳罩住主机或客户机装置的集成电路或元件的零插入力“插槽”。另一实例是主机和客户机位于具有各种互连导体的印刷电路板上,且具有从被焊接的外壳延伸到用于互连集成电路的导体上的接点的“插脚”或接点。
当考虑连接两个客户机(例如对于先前所论述的内部模式来说)时,为了更适当的数据传递和通信,应注意到布线、连接和主客户机的放置方面的某些因素。连接客户机的连接或电缆形成本质上由如图99中所说明的配置中所说明的无端接短截线组成的传输线。在图88中,展示主机9902通过导体9904而连接,导体9904分支为两个短截线,此处为短截线1和短截线2,其从主机馈送或传递信号到分别在位置B和A处的客户机。同样,仅为了说明的目的而不是作为对本发明的任何实施例或应用的限制,此处将客户机展示为LCD控制器或LCD显示元件或面板的一部分、连接到LCD控制器或LCD显示元件或面板、与LCD控制器或LCD显示元件或面板相关或以另外的方式与LCD控制器或LCD显示元件或面板通信。当这两个客户机装置在内部模式下连接时,在MDDI_Data对上既接收也发射且与端接电阻(阻抗)在一起的主客户机装置应定位或连接在电缆的“末端”,此处在图99中将所述“末端”指定为“位置A”,且长度L短截线1小于或等于长度L短截线2。接着将另一客户机(或在一些情况下为多个客户机)定位或连接到在所述末端与主机之间的中间位置的电缆的分支的“末端”,此处在图99中将所述“末端”指定为“位置B”。接着,图99大体上展示了所属领域的技术人员如何定义此类传输线短截线以用于实施例。利用本发明各种实施例的设备或技术的人员应通过限制传输线中的短截线的长度以大体上确保信号质量满足任何约束或要求以维持适当的高速操作和零(或最小)错误通信,同时考虑到驱动器输出信号的最小上升时间和传输线的速度因素来建构此类配置。
XV.操作图54A和54B中展示了在使用本发明的实施例的接口的操作期间,在处理数据和包过程中所进行的一般步骤的概述,且图55中展示用于处理包的接口设备的概观。在这些图中,过程以对客户机和主机是否使用通信路径(此处为电缆)来连接的确定而开始于步骤5402。这可通过使用主机的周期性轮询、使用检测在主机的输入端(例如对于USB接口所见)的连接器或电缆或信号的存在的软件或硬件,或其它已知技术来进行。如果不存在连接到主机的客户机,那么其可简单地进入具有某一预定长度(取决于应用)的等待状态、进入休眠模式或被停用以等候可能要求用户采取行动以重新激活主机的未来用途。举例来说,当主机位于计算机类型装置上时,用户可能必须点击屏幕图标或请求激活主机处理的程序,以寻找客户机。同样,取决于主机或常驻主机软件的能力和配置,USB类型连接的简单插入可激活主机处理。
一旦客户机连接到主机,或反之,或被检测为存在,在步骤5404和5406中,客户机或主机就发送适当的请求服务的包。在步骤5404中,客户机可发送客户机服务请求或状态包。应注意,如上文所论述,链路可能已经先前就关闭或处于休眠模式,因此这可能不是对接着的通信链路的完整初始化。一旦通信链路经同步且主机尝试与客户机通信,客户机还向主机提供客户机能力包,如在步骤5408中。现在,主机可开始确定客户机可提供的支持的类型,包括传递速率。
通常,在步骤5410中,主机和客户机还协商要使用的服务模式的类型(速率/速度),例如类型1、类型2等等。一旦确立了服务类型,主机就可开始传递信息。另外,如步骤5411中所示,主机可使用往返延迟测量包来优化与其它信号处理并行的通信链路的时序。
如先前所陈述,所有的传递都以子帧标头包开始,在步骤5412中展示了它的传递,接着是数据的类型,此处为视频和音频流包和填充符包,在步骤5414中展示了它们的传递。音频和视频数据将已经预先准备好或映射到包中,且将填充符包根据需要或期望插入以填充媒体帧的所需数目的位。主机可发送例如前向音频信道启用包的包以激活音效装置。另外,主机可使用上文所论述的其它包类型来传递命令和信息,此处在步骤5416中展示为传递色彩图包、位图块传递包或其它包。此外,主机和客户机可使用适当的包来交换与键盘或指示装置有关的数据。
在操作期间,可能发生会导致主机或客户机需要不同的数据速率或接口模式类型的若干不同事件中的一者。举例来说,通信数据的计算机或其它装置可能在处理数据的过程中遇到载入情况,其导致对包的准备或呈现的减缓。接收数据的客户机装置可从专用AC电源改变到更受限制的电池电源,且在更受限制的功率设置下,不能同样快速地传递数据,同样容易地处理命令,或不能使用相同等级的分辨率或色彩深度。或者,限制性条件可被缓和或消失,从而允许任一装置以更高速率来传递数据。这是更合乎需要的,可请求改变到更高传递速率的模式。
如果这些或其它类型的已知条件发生或改变,那么主机或客户机可检测它们并尝试重新协商接口模式。这在步骤5420中展示,其中主机向请求切换到另一模式的客户机发送接口类型切换请求包,客户机发送证实寻求改变的接口类型确认包,且主机发送执行类型切换包以作出到指定模式的改变。
虽然不要求特定的处理次序,客户机与主机也可交换与期望用于指示装置、键盘或其它主要与客户机相关的用户型输入装置或从其接收的数据有关的包,虽然此类元件也可存在于主机侧上。通常使用通用处理器型元件而非状态机(5502)来处理这些包。另外,上文论述的某些命令也将由通用处理器(5504、5508)来处理。
在主机与客户机之间已交换了数据和命令之后,在某个时间点,作出关于是否将传递额外数据,或主机或客户机是否将停止进行传递的决定。此在步骤5422中展示。如果链路将进入休眠状态或完全被关闭,那么主机将链路关闭包发送到客户机,且两侧都终止数据传递。
将使用先前关于主机控制器和客户机控制器论述的驱动器和接收器来传递在以上操作处理中传递的包。这些线驱动器和其它逻辑元件连接到上文论述的状态机和通用处理器,如在图55的概观中所说明。在图55中,状态机5502和通用处理器5504和5508可进一步连接到未图示的其它元件,例如专用USB接口、存储元件或位于与它们互动的链路控制器外部的其它组件,包括(但不限于)数据源和用于视图显示装置的视频控制芯片。
处理器和状态机对上文关于保护时间等等所论述的驱动器的启用和禁用提供控制,以确保通信链路的有效建立或终止以及包传递。
XVI.显示帧缓冲器与计算机图形相比,对于移动视频图像的视频数据缓冲要求是不同的。像素数据最常存储在客户机中的本地帧缓冲器中,因此可在本地刷新客户机上的图像。
当正显示全动视频(几乎显示器中的每个像素都逐媒体帧发生变化)时,通常优选地将传入像素数据存储在一个帧缓冲器中,而同时从另一帧缓冲器刷新显示器上的图像。可使用两个以上显示缓冲器来消除可见假象(如下文所述)。当已在一个帧缓冲器中接收到整个图像时,就可交换缓冲器的角色,且接着将新接收到的图像用于刷新显示器且另一缓冲器由图像的下一个帧填充。此概念在图88A中说明,其中通过将显示器更新位设定为“01”而将像素数据写入到脱机图像缓冲器中。
在其它应用中,主机仅需要更新图像的一小部分而无须重新绘制整个图像。在此情形下,需要将新像素直接写入到正用于刷新显示器的缓冲器中,如图88B中详细说明。
在具有固定图像以及小视频窗的应用中,将固定图像写入到两个缓冲器中(显示器更新位等于“11”)(如图88C所示),且随后通过将显示器更新位设定为“01”而将运动图像的像素写入到脱机缓冲器中是最容易的。
下列规则描述了在同时将新信息写入到客户机且刷新显示器时对缓冲器指针的有用操纵。存在三个缓冲器指针current_fill指示当前正由在MDDI链路上的数据填充的缓冲器。Just_filled指示最近被填充的缓冲器。being_displayed指示当前正用于刷新显示器的缓冲器。所有三个缓冲器指针可含有从0到N-1的值,其中N是显示缓冲器的数目,且N≥2。缓冲器指针的计算方法是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+1。
MDDI视频流包根据以下结构或方法来更新缓冲器当显示器更新位等于“01”时,将像素数据写入到由current_fill指定的缓冲器;当显示器更新位等于“00”时,将像素数据写入到由just_filled指定的缓冲器;且当显示器更新位等于“11”时,将像素数据写入到所有缓冲器。从由being_displayed指针指定的缓冲器刷新显示器。在显示器刷新单帧刷新时期中的最后一个像素之后且在其开始刷新下一个帧刷新时期中的第一个像素之前,显示器刷新过程执行将being_refreshed设定为等于just_filled的操作。
具有像素数据属性字段的包含有一对显示器更新位,其指定应写入像素数据的帧缓冲器。客户机能力包具有三个额外位,其指示在客户机中支持显示器更新位的哪些组合。在一些情况下,计算机产生的图像需要基于用户输入来递增地更新或从自计算机网络接收到的信息导出。显示更新位的组合“00”和“11”通过使像素数据被写入到正被显示的帧缓冲器或两个帧缓冲器中来支持此操作模式。
当适应视频图像时,图89说明了经由MDDI链路传输视频数据时在显示器更新位等于“01”的情况下如何通过使用一对帧缓冲器来显示视频图像。在MDDI链路上检测到媒体帧边界之后,显示器刷新过程将在完成了当前正刷新的帧的刷新过程时开始从下一个帧缓冲器开始刷新。
与图89有关的一个重要假设是从主机处接收图像,其为以与客户机用于从帧缓冲器读取像素以刷新显示器的次序相同的次序(通常从左上逐行读取到屏幕的右下角)来传输的连续像素流。在其中显示器刷新和图像传递操作引用相同帧缓冲器的情况下,这是一个重要细节。
显示器刷新帧速率有必要大于图像传递帧速率,以避免显示部分图像。图90展示如何由于较慢显示器刷新速率(即,显示器刷新比图像传递慢)而发生图像分裂。
在含有计算机图形图像和运动视频图片的组合的图像中,视频像素数据可能占据媒体帧的一小部分。在显示器刷新操作和图像传递引用相同帧缓冲器的情形下,这可能是重要的。这些情形由图91中的交叉影线阴影展示,其中从缓冲器读取以刷新显示器的像素可能是在两个帧之前写入到缓冲器的像素,或其可对应于即刻写入到相同帧缓冲器的帧。
在客户机中使用三个帧缓冲器将解决用于存取帧缓冲器的较小争用窗的问题(如图92展示)。
然而,如果显示器刷新速率小于MDDI链路上的媒体帧速率,那么仍存在问题(如图93所示)。
将单个缓冲器用于运动视频图像会导致某些问题(如图94所示)。当显示器刷新速率比到缓冲器的图像传递速率快时,正被刷新的图像有时将展示正写入的帧的上部分且图像的下部分将为先前所传递的帧。当显示器刷新速率比图像传递速率快时(优选的操作模式),将更频繁地发生展示类似分割图像的帧的例子。
XVII.多客户机支持当前协议版本看似未直接支持多客户机装置。然而,大多数包含有保留的客户机ID字段,其可用于在具有多个客户机的系统中寻址特定客户机装置。当前,对于许多应用,此客户机ID或这些客户机ID被设定为零。子帧标头包还含有指示主机是否支持多客户机系统的字段。因此,存在一种方式,其中可能在MDDI或协议的将来应用中连接并寻址多个客户机装置,以有助于系统设计者计划将来与多客户机主机和客户机的兼容性来。
在具有多个客户机的系统中,客户机通过使用客户机菊花链或使用网络集线器(如图95所示)或使用这些技术的组合(如图96所示)而连接到主机是有用的。主机显示特定错误消息来管理所连接的客户机也可为有用的,例如当一个或一个以上想获得地址0的客户机被连接时的错误消息,在多客户机系统的情况下不应如此,因为此类显示器希望成为或被设定作为仅有的客户机而进行操作。
XIII.附录除了上文针对各种包(其用于实施用于本发明实施例的结构和协议)而论述的格式、结构和内容之外,在此处针对某些包类型提供更详细的字段内容或操作。此处提供这些内容以进一步阐明其各别用途或操作,以使得所属领域的技术人员能更易理解并将本发明用于多种应用。此处仅进一步论述了尚未论述的少数字段。另外,关于上文提供的实施例提供了这些字段的示范性定义和值。然而,不应将此类值当作对本发明的限制,而是将其视为表示可用于实施接口和协议的一个或一个以上实施例,且并非需要一起或同时实践所有实施例。在其它实施例中可使用其它值以获得希望的数据呈现或数据速率传递结果,如所属领域的技术人员将理解。
A.视频流包在一个实施例中,像素数据属性字段(此处为2个字节)具有一连串位值,其可被解译如下。位1和0选择如何投送显示器像素数据。对于位值“11”,向双眼显示像素数据;对于位值“10”,仅将像素数据投送到左眼;且对于位值“01”,仅将像素数据投送到右眼;且对于位值“00”,将像素数据投送到替代显示器,其可由位8到11指定(如下文论述)。如果在客户机中或由客户机使用或操作的主要显示器不支持某种形式的立体图像或成像,那么显示器无法有效移植这些命令以得到所希望的效果。在此情形或配置中,客户机应将像素数据投送到主要显示器而不管位值或任何位组合“01”、“10”或“11”,这是由于显示器将不实施所导致的命令或控制。所述实施例建议但不要求将值“11”用来寻址那些不支持立体显示能力的客户机中的主要显示器。
位2指示是否以交错格式展现像素数据,其中值“0”意指像素数据为标准渐进格式,且在从一行前进到下一行时使行编号(像素Y坐标)递增1。当此位具有值“1”时,像素数据为交错格式,且当从一行前进到下一行时使行编号递增2。位3指示像素数据为交替像素格式。此类似于由位2启用的标准交错模式,但交错是垂直的而并非水平的。当位3是“0”时,像素数据为标准渐进格式,且当接收到每个连续像素时使列编号(像素X坐标)递增1。当位3足“1”时,像素数据为交替像素格式,且当接收到每个像素时使列编号递增2。
位4指示像素数据是否与显示器或相机有关,如数据被传递到无线电话或类似装置或甚至便携式计算机的内部显示器或如上文论述的此类其它装置或从其传递的情况,或数据被传递到内嵌到装置中或直接耦联到装置的相机中或从其传递的情况。当位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用于指定像素数据将投送到的替代显示器或显示器位置。将位0和1设定为等于“00”,以便使显示器客户机将位8到11解译为替代显示器编号。如果位0和1不等于“00”,那么将位8到11设定为逻辑0电平。
位13到12用于在目的像素与透明色和透明遮罩有关时指定是否将其写入到目的位置。对于值为00(双逻辑0电平)位[13:12],就不使用透明色彩。将所得的目的像素写入到目的像素位置而不考虑透明色或透明遮罩的值。透明色由透明色启用包(在别处描述)定义。位[13:12]的值01(逻辑0,逻辑1电平)表示或为当前被搁置以供将来使用的保留值且通常不被使用。当位[13:12]具有值10(逻辑1,逻辑0电平)时,将所得目的像素写入到目的像素位置,除非将源图像像素与透明遮罩进行逻辑AND运算的结果等于透明色,那么不将所得像素写入到目的像素位置。当位[13:12]具有值11(双逻辑1)时,不将所得目的像素写入到目的像素位置,除非将源图像像素与透明遮罩进行逻辑AND运算的结果等于透明色,在此情况下将所得像素写入到目的像素位置。
保留位14以供将来使用,且通常将其设定为逻辑0电平。如已论述,将位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音频样本的位数目)不是八的倍数时才有效。保留位7到6以供在系统设计需要额外标识时使用,且通常将其设定为值0。
音频采样率字段(1个字节)指定音频PCM采样率。所采用的格式为值0指示8000样本/秒(sps)的速率,值1指示16000sps,值2指示24000sps,值3指示32000sps,值4指示40000sps,值5指示48000sps,值6指示11025sps,值7指示22050sps,且值8指示44100sps,保留值9到255以供将来使用,因此当前将其设定为零。
参数CRC字段(2个字节)含有从包长度字段到音频采样率字段的所有字节的16位CRC。如果此CRC未能正确通过校验,那么丢弃整个包。数字音频数据字段含有待播放的原始音频样本,且通常具有作为无符号整数的线性格式的形式。音频数据CRC字段(2个字节)仅含有音频数据字段的16位CRC。如果此CRC校验失败,那么仍可使用音频数据字段,但使CRC错误计数递增。
C.用户定义流包在一个实施例中,2字节的流ID编号字段用于标识特定用户定义流。流参数和流数据字段的内容通常由MDDI设备制造商定义。2字节的流参数CRC字段含有从包长度字段到音频编码字节的流参数的所有字节的16位CRC。如果此CRC校验失败,那么丢弃整个包。在MDDI的最终应用不需要时,流参数和流参数CRC字段两者可被丢弃,也就是说,可将其认为是可选的。2字节的流数据CRC字段仅含有流数据字段的CRC。如果此CRC未能正确通过校验,那么对流数据字段的使用是可选的,此取决于应用要求。视CRC良好与否而使用流数据通常要求缓冲流数据直到确定CRC为良好为止。如果CRC未通过校验,那么使CRC错误计数递增。
D.色彩图包2字节的hClient ID字段含有为客户机ID而保留的信息或值,如先前所使用。由于通常保留此字段以供将来使用,因而通过将所述位设定为“0”而将当前值设定为零。
2字节的色彩图项目计数字段使用若干值来指定包含在色彩图数据字段中的3字节色彩图项目的总数目或存在于此包中的色彩图数据字段中的色彩图表项目的总数目。在此实施例中,色彩图数据字段中的字节数目是色彩图项目计数的3倍。将色彩图项目计数设定为等于零以不发送任何色彩图数据。如果色彩图大小为零,那么通常仍发送色彩图偏移量值但其会被显示器忽略。色彩图偏移量字段(4个字节)指定了此包中的色彩图数据从客户机装置中的色彩图表的开始的偏移量。
2字节的参数CRC字段含有从包长度字段到音频编码字节的所有字节的CRC。如果此CRC校验失败,那么丢弃整个包。
对于色彩图数据字段,每个色彩图位置的宽度由色彩图项目大小字段指定,其中在一个实施例中,第一部分指定蓝色量级,第二部分指定绿色量级,且第三部分指定红色量级。色彩图大小字段指定了存在于色彩图数据字段中的3字节色彩图表项目的数目。如果单一色彩图不能容纳于一个视频数据格式和色彩图包中,那么可通过发送在每个包中具有不同色彩图数据字段和色彩图偏移量字段的多个包来指定整个色彩图。每个色彩图数据项目中的蓝色、绿色和红色的位数目通常与在显示器能力包的色彩图RGB宽度字段中所指定的相同。
2字节的色彩图数据CRC字段仅含有色彩图数据字段的CRC。如果此CRC校验失败,那么仍可使用色彩图数据字段,但使CRC错误计数递增。
将以下列次序来传输每个色彩图数据项目蓝色、绿色、红色,其中最先传输每个分量的最低有效位。压缩每个色彩图项目的个别红色、绿色和蓝色分量,但每个色彩图项目(蓝色分量的最低有效位)应被字节对齐。图97说明具有6位蓝色、8位绿色和7位红色的色彩图数据项目的实例。对于此实例,色彩图包中的色彩图项目大小等于21,且客户机能力包的色彩图RGB宽度字段等于0x0786。
E.反向链路封装包参数CRC字段(2个字节)含有从包长度字段到转向长度字段的所有字节的16位CRC。如果此CRC校验失败,那么丢弃整个包。
在一个实施例中,反向链路旗标字段(1个字节)含有一组旗标以请求来自客户机的信息且指定反向链路类型。如果将位(举例来说,位0)设定为逻辑1电平,那么主机请求来自客户机的指定信息,但如果将所述位设定为逻辑0电平,那么主机不需要来自客户机的信息。位0用于在主机需要客户机能力包时加以指示,所述包通常在反向数据包字段中由客户机发送到主机。位1用于在主机需要客户机请求和状态包时加以指示,所述包通常在反向数据包字段中由客户机发送到主机。保留剩余位(此处为位2到7)以供将来使用,且将其设定为零。然而,可根据需要使用更多位以设定用于反向链路的旗标。
反向速率除数字段(1个字节)指定了关于反向链路数据时钟而发生的MDDI_Stb循环的数目。反向链路数据时钟等于前向链路数据时钟除以两倍的反向速率除数。反向链路数据速率与反向链路数据时钟和反向链路上的接口类型有关。在此实施例中,对于类型1接口,反向数据速率等于反向链路数据时钟,对于类型2、类型3和类型4接口,反向数据速率分别等于反向链路数据时钟的两倍、四倍和八倍。
全零1字段含有一组字节(此处为8个),通过将所述位设定为逻辑0电平而将其设定为等于零值,且其用于确保所有MDDI_Data信号在足够的时间中处于逻辑0电平以允许客户机在转向1字段期间禁用主机线驱动器之前通过仅使用MDDI_Stb而开始恢复时钟。在一个实施例中,全零1字段的长度大于或等于电缆的往返延迟中的前向链路字节传输时间数。
转向1长度字段(1个字节)指定了为转向1字段分派的字节总数目,从而建立第一转向周期。转向1字段采用由转向1长度参数指定的字节数目,所述字节经分派以允许在禁用主机中的线驱动器之前启用客户机中的MDDI_Data线驱动器。客户机在转向1的位0期间启用其MDDI_Data线驱动器,且主机禁用其输出以便在转向1的最后一位之前被完全禁用。在整个转向1周期期间,MDDI_Stb信号表现得如同MDDI_Data0处于逻辑0电平一般。上文给出了转向1字段的设置的更完整描述。
反向数据包字段含有从客户机传递到主机的一连串数据包。在没有数据要发送到主机时,客户机可发送填充符包或将MDDI_Data线驱动到逻辑零状态或电平。在此实施例中,如果MDDI_Data线被驱动为零,那么主机会将此解译为具有零长度(不是有效长度)的包,且主机在当前反向链路封装包的持续时间中将不接受来自客户机的任何额外包。
转向2长度字段(1个字节)指定了为转向2分派的字节总数目,以用于建立第二转向周期。转向2字段的推荐长度为往返延迟所需的字节数目加上主机启用其MDDI_Data驱动器所需的时间。转向2长度也可为比最小所需值或计算值大的值,以允许有足够的时间在主机中处理反向链路包。
转向2字段由被转向长度参数指定的字节数目构成。主机在转向2期间启用其MDDI_Data线驱动器之前至少等待往返延迟时间。主机启用其MDDI_Data线驱动器,以使得其在转向2的最后一个位之前大体上被完全启用,且客户机禁用其输出,以使得其在转向2的最后一位之前大体上被完全禁用。转向2字段的用途在于允许从客户机处传输或传递来自反向数据包字段的其余数据量。由于实施所述接口的不同系统和所分派的安全裕度的量的变化,在转向2字段周期的某些部分期间,主机或客户机可能都不将MDDI_Data信号驱动到逻辑0电平,如在主机中或主机处的线接收器处所见。在大体上整个转向2周期期间,MDDI_Stb信号表现得如同MDDI_Data0处于逻辑0电平。上文给出转向2字段的设置的描述。
反向数据包字段含有从客户机传递到主机的一连串数据包。如早先陈述,发送填充符包以填充未由其它包类型使用的剩余空间。
全零2字段含有一组字节(此实施例中为8个),通过将所述位设定为逻辑0电平而将其设定为等于零值,且其用于确保所有MDDI_Data信号在足够的时间中处于逻辑0电平以允许客户机在转向2字段之后启用主机线驱动器之后通过使用MDDI_Data0和MDDI_Stb两者来开始恢复时钟。
F.客户机能力包如针对一个实施例所说明,协议版本字段使用2个字节来指定客户机使用的协议版本。初始版本当前被设定为等于1,且将随着时间推移当新版本产生(如将知晓)时改变,而最小协议版本字段使用2个字节来指定客户机可利用或解译的最小协议版本。在这个情况下,零值也是有效值。预校准数据速率能力字段(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为保留的,且此时一般设定为零。
在一个实施例中,客户机能力包的替代显示器数目字段使用1个字节(其值可在0到16的范围中变化,其中17到255的值通常为未来的用途而保留且不使用)以指示或报告附接了一个以上显示器,且替代显示器能力包报告每一替代显示器的能力。替代显示器编号字段使用1个字节来指示替代显示器的身份,其中第一替代显示器通常被标明为编号0且其它替代显示器被标识为具有唯一的替代显示器编号值,其中使用的最大值为替代显示器的总数目减1(在从0值开始之后)。
后校准数据速率能力字段在一个实施例中使用2个字节来指定客户机在执行前向链路偏斜校准之后可在前向链路MDDI链路上的每一数据对上接收的最大数据速率。这个速率也被指定为每秒的兆位(Mbps)的数目。如果客户机装置不支持前向链路偏斜校准包,那么将这个字段设定为等于零值。
位图宽度和高度字段(此处各自为2个字节)分别指定以像素计的位图的宽度和高度。显示窗宽度字段使用2个字节来指定表示为像素数目的显示窗的宽度。显示窗高度字段使用2个字节来指定表示为像素数目的显示窗的高度。
色彩图大小字段使用4个字节来指定存在于客户机中的色彩图表中的表项目的最大数目。如果客户机不能使用色彩图格式,那么将此值设定为等于0。
色彩图RGB宽度字段使用2个字节,其指定在色彩图(调色板)显示模式中可显示的红色、绿色和蓝色色彩分量的位的数目。针对每一色彩分量(红色、绿色和蓝色)可使用最多8个位。即使在色彩图包中发送每一色彩分量的8个位,但仅使用在此字段中定义的每一色彩分量的所述数目的最低有效位。如果显示器客户机不能使用色彩图(调色板)格式,那么此值为0。
RGB能力字段(2个字节)指定了可以RGB格式显示的分辨率的位的数目。如果显示器不能使用RGB格式,那么此值等于0。RGB能力字由三个单独的无符号值组成,其中位3到0定义每个像素中的蓝色的位的最大数目,位7到4定义每个像素中绿色的位的最大数目,且位11到8定义每个像素中红色的位的最大数目。当前,位14到12为未来的用途而保留且一般被设定为0。位14到12为未来的用途而保留且一般被设定为0。位15在被设定为逻辑1电平时指示客户机可接受采取压缩或未压缩格式的RGB像素数据。如果将位15设定为逻辑0电平,那么这指示客户机仅可接受采取未压缩格式的RGB像素数据。
单色能力字段(1个字节)在一个实施例中用于指定可以单色格式显示的分辨率的位的数目。如果显示器不能使用单色格式,那么将此值设定为0。位7到4为未来的用途而保留且因此被设定为0。位3到0定义对于每个像素来说可存在的灰度级的位的最大数目。这四个位使得为每个像素指定1到15的值成为可能。如果值为0,那么显示器不支持单色格式。
Y Cr Cb能力字段(2个字节)指定可以Y Cr Cb格式显示的分辨率的位的数目。如果显示器不能使用Y Cr Cb格式,那么将此值设定为等于0。Y Cr Cb能力字由三个单独的无符号值组成,其中位3到0定义Cb样本中的位的最大数目,位7到4定义Cr样本中的位的最大数目,位11到8定义Y样本中的位的最大数目,且当前将位15到12为未来的用途而保留且设定为0。
拜耳能力字段使用1个字节来指定可以拜耳格式传递的分辨率的位的数目、像素群组和像素次序。如果客户机不能使用拜耳格式,那么此值为0。拜耳能力字段由以下值组成位3到0定义存在于每个像素中的强度的位的最大数目,同时位5到4定义需要的像素群组图案,同时位8到6定义需要的像素次序;其中位14到9为未来的用途而保留且现在一般被设定为0。位15在被设定为逻辑1电平时指示客户机可接受采取压缩或未压缩格式的拜耳像素数据。如果将位15设定为0,那么这指示客户机仅可接受采取未压缩格式的拜耳像素数据。
在一个实施例中,客户机特征能力字段在一个实施例中使用4个字节,其含有指示客户机中的被支持的特定特征的一组旗标。设定为逻辑1电平的位指示能力被支持,而设定为逻辑0电平的位指示能力不被支持。在一个实施例中,位0的值指示位图块传递包(包类型71)是否被支持。位1、2和3的值分别指示位图区域填充包(包类型72)、位案填充包(包类型73)或读取帧缓冲包(包类型74)是否被支持。位4的值指示客户机是否具有支持透明色和遮罩设置包的能力,而位5和6的值分别指示客户机是否可接受未压缩或压缩格式的音频数据,且位7的值指示客户机是否可发送来自照相机的反向链路视频流。位8的值指示客户机是否具有接收完整的一行像素数据和忽略由视频流包的像素数据属性字段的位5指定的显示器寻址的能力,且客户机也可使用像素数据属性字段的位15来检测帧同步或视频帧数据的结束。
位9的值指示客户机是否具有解译请求特定状态包和用有效状态回复列表包做出响应的能力。如上文所述,客户机可指示在有效状态回复列表包的有效参数回复列表字段中返回额外状态的能力。位10的值指示客户机是否具有支持显示器功率状态01的能力。使用上文所述的显示器功率状态包的功率状态字段的位[3:2]来设定显示器功率状态。显示器功率状态01是所选显示器不点亮且消耗最小量的功率(如果有的话)的状态,且帧缓冲的内容在此状态期间通常可保证得到保持。
位11和12的值分别指示在何时客户机与指示装置通信并可发送和接收指示装置数据包,或与键盘通信并可发送和接收键盘数据包。位13的值指示客户机是否具有通过支持VCP特征包来设定一个或一个以上音频或视频参数的能力,所述VCP特征包为请求VCP特征包、VCP特征回复包、设定VCP特征包、请求有效参数包和有效参数回复包。位14的值指示客户机是否具有将像素数据写入到脱机显示器帧缓冲器中的能力,这在图88A中说明。如果将此位设定为逻辑1电平,那么显示器更新位(视频流包的像素数据属性字段的位7和6)可被设定为值“01”。
位15的值指示客户机在何时具有将像素数据仅写入到当前用于刷新显示器图像的显示器帧缓冲器中的能力,这在图88B中说明。如果将此位设定为逻辑1,那么显示器更新位(视频流包的像素数据属性字段的位7和6)可被设定为值“00”。位16的值指示在何时客户机具有将来自单个视频流包的像素数据写入到所有显示器帧缓冲器中的能力,这在图88C中说明。如果将此位设定为等于逻辑1电平,那么显示器更新位(视频流包的像素数据属性字段的位7和6)可被设定为值“11”。
在一个实施例中,位17的值指示在何时客户机具有响应于请求特定状态包的能力,位18的值指示在何时客户机具有响应于往返延迟测量包的能力,且位19的值指示在何时客户机具有响应于前向链路偏斜校准包的能力。在一个实施例中,位20的值指示在何时客户机具有响应于显示器功率状态包的能力。
在一个实施例中,位21的值指示在何时客户机具有使用位图块传递包(包类型71)、位图区域填充包(包类型72)和位案填充包(包类型73)(如果这些包如由位0、1和2或此字段指定而由客户机支持)的光栅操作字段的能力。在一个实施例中,如果位21具有逻辑0电平或值,且包被支持,那么客户机并不具有使用光栅操作字段的能力,且客户机仅具有复制或写入到由这些包指定的像素位置的能力。
位22的值指示客户机是否具有响应于寄存器存取包的能力。位23到31当前被保留用于未来的用途或对于系统设计者有用的替代标识,且通常被设定为等于零值或逻辑0电平。
最小子帧速率字段(2个字节)指定最小子帧速率(帧/秒)。最小子帧速率将客户机状态更新速率保持为足以读取客户机中的某些传感器或指示装置。
音频缓冲器深度(2个字节)指定了显示器中专用于每一音频流的弹性缓冲器的深度。
在此实施例中使用2个字节的音频信道能力字段含有一组旗标,其指示客户机或客户机所连接的装置支持那些音频信道。设定为1的位指示信道被支持,且设定为0的位指示所述信道不被支持。位位置被分配给不同的信道,例如在一个实施例中,位位置0、1、2、3、4、5、6和7分别指示左前、右前、左后、右后、前中、超重低音、环绕左和环绕右信道。位8到14当前为未来的用途而保留且通常被设定为0。在一个实施例中,位15用于指示客户机是否对前向音频信道启用包提供支持。如果情况是这样,那么位15被设定为逻辑1电平。然而,如果客户机由于前向音频信道启用包而不能够禁用音频信道,或如果客户机不支持任何音频能力,那么将这个位设定为逻辑0电平或值。
针对前向链路的2字节的音频采样率能力字段含有一组旗标以指示客户机装置的音频采样率能力。位位置被相应地分配到不同的速率,例如位0、1、2、3、4、5、6、7和8分别被分配到8000、16000、24000、32000、40000、48000、11025、22050和44100样本/秒(SPS),其中根据需要位9到15被保留用于未来用途或替代速率,因此其当前设定为“0”。将这些位中的一者的位值设定为“1”指示特定的采样率被支持,且将所述位设定为“0”指示所述采样率不被支持。
针对前向链路的2字节的音频采样分辨率字段指定了在音频流包中发送到客户机的每个音频样本的位的数目。
针对反向链路的2字节的麦克风音频采样分辨率字段指定了由麦克风在音频流包中发送到主机的每个音频样本的位的数目。
针对反向链路的2字节的麦克风采样率能力字段含有一组旗标,所述旗标指示客户机装置中的麦克风的音频采样率能力。出于MDDI的目的,客户机装置麦克风经配置以最少支持至少8000样本/秒的速率。此字段的位位置被分配给不同的速率,其中位位置0、1、2、3、4、5、6、7和8(例如)分别用于表示8000、16000、24000、32000、40000、48000、11025、22050和44100样本每秒(SPS),其中位9到15被保留用于未来用途或根据需要的其它速率,因此其当前设定为“0”。将这些位中的一者的位值设定为“1”指示特定的采样率被支持,且将所述位设定为“0”指示所述采样率不被支持。如果没有连接麦克风,那么麦克风采样率能力位的每一位均被设定为等于0。
键盘数据格式字段(此处为1个字节)指定键盘是否连接到客户机系统和连接的键盘的类型。在一个实施例中,位6到0所建立的值用于定义连接的键盘的类型。如果值为零(0),那么将键盘类型视为未知。对于值1,将键盘数据格式视为标准PS-2型。当前未使用在2到125范围内的值,其被保留以供系统设计者和接口集成者或产品开发者使用以定义与MDDI以及相应的客户机或主机一起使用的特定键盘或输入装置。值126用于指示键盘数据格式为用户定义的,而值127用于指示键盘不能连接到此客户机。另外,位7可用于指示键盘是否可与客户机通信。此位的预期用途是指示何时键盘可通过使用无线链路而与客户机通信。如果位6到0指示键盘不能连接到客户机,那么位7将被设定为0电平。因此,对于一个实施例,当位7的值为0时,键盘与客户机不能通信,而如果位7的值为1,那么键盘与客户机已确认其可相互通信。
指示装置数据格式字段(此处为1个字节)指定指示装置是否连接到客户机系统和连接的指示装置的类型。在一个实施例中,位6到0所建立的值用于定义连接的指示装置的类型。如果值为零(0),那么将指示装置类型视为未知。对于值1,将指示装置数据格式视为标准PS-2型。当前未使用在2到125范围内的值,其被保留以供系统设计者和接口集成者或产品开发者使用以定义与MDDI以及相应的客户机或主机一起使用的特定指示装置或输入装置。值126用于指示指示装置数据格式为用户定义的,而值127用于指示指示装置不能连接到此客户机。另外,位7可用于指示指示装置是否可与客户机通信。此位的预期用途是指示何时键盘可通过使用无线链路而与客户机通信。如果位6到0指示指示装置不能连接到客户机,那么位7将被设定为0电平。因此,对于一个实施例,当位7的值为0时,指示装置与客户机不能通信,而如果位7的值为1,那么指示装置与客户机已确认其可相互通信。
内容保护类型字段(2个字节)含有指示由显示器支持的数字内容保护的类型的一组旗标。当前,位位置0用于指示何时支持DTCP,且位位置1用于指示何时支持HDCP,其中位位置2到15被保留用于期望的或可用的其它保护方案,因此其当前设定为0。
制造商名称字段(此处为2个字节)含有制造商的EISA 3字符ID,其以与VESA EDID规范中相同的方式压缩成三个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电平或值的位指示客户机当前正在执行特定功能且客户机中的有关功能为忙的。如果客户机中的有关功能为准备好的,那么将所述位设定为逻辑零。客户机应针对客户机中不支持的所有功能返回忙状态(位设定为1)。
在一个实施例中,根据以下关系来解译这些位。如果位0是“1”,那么位图块传递功能是忙的,而如果位1是“1”,那么位图区域填充功能是忙的,且如果位2为“1”,那么位案填充功能是忙的。同时,如果位3是“1”,那么图形子系统正忙于执行需要使用客户机中的帧缓冲器的操作。需要使用帧缓冲器的其它图形功能只有在此位设定为逻辑1时才可开始。
当前,位4到15被保留用于将来的用途,且通常被设定为逻辑1电平或状态以指示忙状态(倘若将来这些位被分配使用)。
H.位图块传递包窗左上坐标X值和Y值字段各自使用2个字节来指定要移动的窗的左上角的坐标的X和Y值。窗宽度和高度字段各自使用2个字节以指定要移动的窗的宽度和高度。窗X移动和Y移动字段各自使用2个字节来指定窗分别将水平和垂直移动的像素数。通常,这些坐标被配置成使得X的正值引起窗向右移动,且负值引起向左移动,而Y的正值引起窗向下移动,且负值引起向上移动。
I.位图区域填充包在一个实施例中,2字节的像素数据属性字段具有指定将在何处更新像素数据的值,其中位1和0选择将要更新像素数据的显示器。如果客户机中的主显示器不支持立体图像,那么客户机可针对位组合01、10或11中的一者而影响主显示器中的像素数据。建议使用值11来寻址客户机中不支持立体显示能力的主显示器。当位[1:0]具有值11(逻辑1,逻辑1)时,在左眼和右眼两者的帧缓冲器中更新像素数据,如果位[1:0]具有值10(逻辑1,逻辑0),那么只在左眼的帧缓冲器中更新像素数据。当位[1:0]具有值01(逻辑0,逻辑1)时,那么只在右眼的帧缓冲器中更新像素数据。当位[1:0]具有值00(两个逻辑0)时,在由以下位8到11指定的替代显示器的帧缓冲器中更新像素数据。
在一个实施例中,像素数据属性字段的位4指定用于左眼或右眼的缓冲器是否为用于此操作的图像源。位4只在位[1:0]不等于00时适用,其通常经实施以意指当图像的目的地是替代显示器中的一者时,此不支持源数据来自主图像缓冲器。位4用于在左眼和右眼帧缓冲器之间区分或指定数据源。位4的应用也限制在客户机支持指定显示器上的光栅操作(此由客户机能力包的客户机特征能力指示符字段的位21或替代显示器能力包的显示器特征能力指示符字段的位21指示)的时候。当被使用时,如果位4等于0(逻辑0电平),那么左眼帧缓冲器是数据源,但当位2等于1(逻辑1电平)时,右眼帧缓冲器就是数据源。
像素数据属性字段的位5指定是用于刷新显示器的缓冲器还是脱机图像缓冲器将为用于光栅操作的输入以作为此操作的目的图像。位5还可在替代显示器利用脱机图像缓冲器时应用于替代显示器。然而,当图像的目的地是替代显示器时,此不支持源数据来自主图像缓冲器,或反之亦然。当被使用时,如果位5等于值0或逻辑0电平,那么用于刷新显示器的图像缓冲器是数据源。当位5等于值1或逻辑1电平时,脱机图像缓冲器是数据源。
像素数据属性字段的位7和6充当显示器更新位,其指定应更新或写入像素数据的帧缓冲器。上文更详细地描述帧更新位的作用。当位[7:6]为“01”(逻辑0,逻辑1)时,将像素数据写入到脱机图像缓冲器。当位[7:6]为“00”(两个逻辑0)时,将像素数据写入到用于刷新显示器的图像缓冲器。当位[7:6]为“11”(两个逻辑1)时,将像素数据写入到所有图像缓冲器。如果位[7:6]为“10”,那么将此当作无效值。当前保留这些位以供将来使用。在此情形下,忽略整个命令,且不更新任何帧缓冲器。
像素数据属性字段的位11到8指定了要更新像素数据处的替代显示器或替代客户机位置。将位0和1设定为等于值00(两个逻辑0),以便使客户机将位11到8解译为替代显示器编号。如果位1和0不等于00,那么通常将位8到11设定为等于逻辑0值或电平。保留位2和3以及12到15以供将来使用,且通常将其设定为逻辑0电平或值。
在一个实施例中,2字节的光栅操作字段指定如何组合源位置和目的位置中的像素以形成待写入到目的图像位置的新像素值。光栅操作定义如何将帧缓冲器中的两个大小相等的不同矩形区域合并在一起。目的图像区域也是所述合并在一起的两个图像中的一者。所述两个图像中的另一者被称为源图像。如果客户机不支持光栅操作字段(如在客户机能力包中所指定),那么主机通常以将位3到0设定为等于3来发送这个包,且客户端忽略位3到0。
在一个实施例中,将位3到0用于通过使用和设定这些位为等于下文表VII中所示的值之一来选择在那个值旁所示的相应操作而指定实际光栅操作。也就是说,第一列中所列举的每个指定位[3:0]值导致第二列中所指定的操作,且为了说明起见在第三列中进一步予以定义。
表XVI

位9到8用于在目的像素与透明色彩有关时指定是否将其写入到目的位置。客户机能力包的客户机特征能力指示符字段的位4指示客户机是否支持透明色彩和透明遮罩能力。类似地,替代显示器能力包的显示器特征能力指示符字段的位4指示所指定替代显示器是否支持透明色彩和透明遮罩能力。当不支持透明色彩和透明遮罩时,光栅操作就如同将位[9:8]设定为00时那样运作。无论客户机装置是否支持光栅操作,由位[9:8]指定的操作都适用。如果客户机不支持光栅操作,那么为由位[9:8]定义的操作而考虑的所得目的像素值只等于源像素值。此行为与使位[3:0]设定为3时相同。
当位[9:8]的值等于00时,就不使用透明色彩。将所得目的像素写入到目的像素位置而不考虑透明色彩或透明遮罩的值。由透明色彩和遮罩设置包定义透明色彩。当前保留等于01的位[5:4]的值以供将来使用且其通常不被使用。当位[5:4]的值等于10时,如果由光栅操作(将源像素和透明遮罩进行AND运算)计算出的所得目的像素等于透明色彩,那么不将所得像素写入到目的像素位置。否则,将其写入到目的像素位置。当位[9:8]的值等于11时,如果由光栅操作计算出的所得目的像素等于透明色彩,那么将所得像素写入到目的像素位置。否则,不将所得像素写入到目的像素位置。
保留位15到10以及7到4以供将来用途,且因此其通常被设定为等于逻辑0值或电平。
保留位15到10以及7到4以供将来用途,且因此其通常被设定为等于逻辑0值或电平。
J.位案填充包在一个实施例中,位案填充包中的窗左上坐标X值和Y值字段各自使用2个字段来指定待填充的窗的左上角的坐标的X和Y值。窗宽度和高度字段(各自为2个字节)指定待填充的窗的宽度和高度。图案宽度和图案高度字段(各自为2个字节)分别指定填充图案的宽度和高度。水平图案偏移量字段(2个字节)指定了像素数据图案从待填充的指定窗的左边缘的水平偏移量。指定的值应小于图案宽度字段中的值。垂直图案偏移量字段(2个字节)指定了像素数据图案从待填充的指定窗的上边缘的垂直偏移量。指定的值应小于图案高度字段中的值。
在一个实施例中,2字节的像素数据属性字段具有指定将在何处更新像素数据的值,其中位1和0选择将更新像素数据的显示器。如果客户机中的主显示器不支持立体图像,那么客户机可针对位组合01、10或11中的一者而影响主显示器中的像素数据。建议使用值11来寻址客户机中的不支持立体显示能力的主显示器。当位[1:0]具有值11(逻辑1,逻辑1)时,在左眼和右眼两者的帧缓冲器中更新像素数据,如果位[1:0]具有值10(逻辑1,逻辑0),那么只在左眼的帧缓冲器中更新像素数据。当位[1:0]具有值01(逻辑0,逻辑1)时,那么只在右眼的帧缓冲器中更新像素数据。当位[1:0]具有值00(两个逻辑0)时,在由以下位8到11指定的替代显示器的帧缓冲器中更新像素数据。
保留位3到2以供将来使用,且应将其设定为零。
位4指定是用于左眼还是用于右眼的缓冲器为光栅操作的输入以作为此操作的目的图像。位4只在位[1:0]不等于00时适用,意指当图像目的地是替代显示器中的一者时,不支持源数据来自主图像缓冲器。位4通常也只在客户机支持指定显示器上的光栅操作(此由客户机能力包的客户机特征能力指示符字段的位21或替代显示器能力包的显示器特征能力指示符字段的位21指示)时适用。当位4等于0时,左眼帧缓冲器是数据源,且当位4等于1时,右眼帧缓冲器是数据源。
位5指定是用于刷新显示器的缓冲器还是脱机图像缓冲器充当光栅操作的输入以作为此操作的目的图像。位5还可在替代显示器利用脱机图像缓冲器时应用于替代显示器。当图像的目的地是替代显示器中的一者时,不支持源数据来自主图像缓冲器,或反之亦然。当位5等于0时,用于刷新显示器的图像缓冲器是数据源,且当位5等于1时,脱机图像缓冲器是数据源。
像素数据属性字段的位7和6充当显示器更新位,其指定应更新或写入像素数据的帧缓冲器。上文更详细地描述帧更新位的作用。当位[7:6]为“01”(逻辑0,逻辑1)时,将像素数据更新到脱机图像缓冲器。当位[7:6]为“00”(两个逻辑0)时,将像素数据写入到用于刷新显示器的图像缓冲器。当位[7:6]为“11”(两个逻辑1)时,在所有图像缓冲器中更新像素数据。如果位[7:6]为“10”,那么将此当作无效值。当前保留这些位以供将来使用。在此情形下,忽略整个命令,且不更新任何帧缓冲器。
像素数据属性字段的位11到8指定将要更新像素数据的显示器或替代客户机位置。将位0和1设定为等于值00(两个逻辑0),以便使客户机将位11到8解译为替代显示器编号。如果位1和0不等于00,那么通常将位8到11设定为等于逻辑0值或电平。保留位3和2以及12到15以供将来使用,且通常将其设定为逻辑0电平或值。
在一个实施例中,2字节的光栅操作字段指定如何组合源位置和目的位置中的像素以形成待写入到目的图像位置的新像素值。光栅操作定义如何将帧缓冲器中的两个大小相等的不同矩形区域合并在一起。目的图像区域也是所述合并在一起的两个图像中的一者。所述两个图像中的另一者被称为源图像。如果客户机不支持光栅操作字段(如在客户机能力包中所指定),那么主机通常发送其中位3到0等于3的这个包,且客户端忽略位3到0。
在一个实施例中,将位3到0用于通过使用或设定这些位为等于下文表VII中所示的值之一来选择在那个值旁所示的相应操作而指定实际光栅操作。即,第一列中所列举的每个指定位[3:0]值导致第二列中所指定的操作,且为了说明起见在第三列中进一步予以定义。
表XVII

位9到8用于在目的像素与透明色彩有关时指定是否将其写入到目的位置。客户机能力包的客户机特征能力指示符字段的位4指示客户机是否支持透明色彩和透明遮罩能力。类似地,替代显示器能力包的显示器特征能力指示符字段的位4指示指定替代显示器是否支持透明色彩和透明遮罩能力。当不支持透明色彩和透明遮罩时,光栅操作就如同将位[9:8]设定为00时那样运作。无论客户机装置是否支持光栅操作,由位[9:8]指定的操作都适用。如果客户机不支持光栅操作,那么为由位[9:8]定义的操作而考虑的所得目的像素值只等于源像素值。此行为与使位[3:0]设定为3时相同。
当位[9:8]的值等于00时,就不使用透明色彩。将所得目的像素写入到目的像素位置而不考虑透明色彩或透明遮罩的值。由透明色彩和遮罩设置包定义透明色彩。当前保留等于01的位[5:4]的值以供将来使用且,虽然所属领域的技术人员可为其建立相关用途,但通常不被使用。当位[5:4]的值等于10时,如果由光栅操作(将源像素和透明遮罩进行AND运算)计算出的所得目的像素等于透明色彩,那么不将所得像素写入到目的像素位置。否则,将其写入到目的像素位置。当位[9:8]的值等于11时,如果由光栅操作计算出的所得目的像素等于透明色彩,那么将所得像素写入到目的像素位置。否则,不将所得像素写入到目的像素位置。
保留位15到10以及7到4以供将来使用,且因此通常将其设定为等于逻辑0值或电平。
在一个实施例中,位案填充包中的2字节的参数CRC字段含有从包长度字段到视频格式描述符字段的所有字节的CRC。如果此CRC校验失败,那么丢弃整个包。图案像素数据字段含有原始视频信息,所述原始视频信息指定了具有由视频数据格式描述符字段指定的格式的填充图案。将数据压缩成若干字节,且应字节对齐每行的第一个像素。以一次一行的方式来传输填充图案数据。用于位案填充包的图案像素数据CRC字段使用2个字节,其仅含有图案像素数据字段的CRC。如果此CRC校验失败,那么图案像素数据仍可使用,但CRC错误计数将递增。
K.前向音频信道启用包音频信道启用掩码字段(1个字节)含有一组旗标,所述旗标指示将在客户机中启用哪些音频信道。设定为1的位会启用相应信道,且设定为0的位会禁用相应信道。位0到5标明信道0到5,所述信道分别寻址左前、右前、左后、右后、前中和超重低音信道。保留位6和7以供将来使用,且同时通常将其设定为等于零。
L.反向音频采样率包音频采样率字段(1个字节)指定数字音频采样率。此字段的值被分配给不同速率,其中值0、1、2、3、4、5、6、7和8分别用于指明8000、16000、24000、32000、40000、48000、11025、22050和44100样本/秒(SPS),保留值9到254以用于替代速率(如需要),因此当前将其设定为“0”。值255用于禁用反向链路音频流。
样本格式字段(1个字节)指定数字音频样本的格式。当位[1:0]等于“0”时,数字音频样本为线性格式,当其等于1时,数字音频样本为μ法则格式,且当其等于2时,数字音频样本为A法则格式。保留位[7:2]以用于指明音频格式方面的替代用途(如需要),且通常将其设定为等于零。
M.数字内容保护开销包内容保护型字段(1个字节)指定使用的数字内容保护方法。值“0”指示数字传输内容保护(DTCP),而值“1”指示高带宽数字内容保护系统(HDCP)。当前未对2到255的值范围加以指定,而是将其保留用于替代保护机制(如需要)。内容保护开销消息字段是可变长度字段,其含有在主机与客户机之间发送的内容保护消息。
N.往返延迟测量包2字节的包长度字段指定了不包括包长度字段的包中的字节总数目,且在一个实施例,其经选择而具有159的固定长度。以值82识别此包类型的2字节的包类型字段将包识别为往返延迟测量包。hClient ID字段如前述那样被保留以供将来用作客户机ID,且通常被设定为零。
在一个实施例中,参数CRC字段(2个字节)含有从包长度字段到包类型字段的所有字节的16位CRC。如果此CRC校验失败,那么丢弃整个包。
保护时间1字段(此处为64字节)用于在禁用主机中的线驱动器之前允许启用客户机中的MDDI_Data线驱动器。客户机在保护时间1的位0期间启用其MDDI_Data线驱动器,且主机禁用其线驱动器,以便在保护时间1的最后一位之前被完全禁用。主机和客户机在不被禁用时都在保护时间1期间驱动逻辑0电平。此字段的另一用途在于确保所有MDDI_Data信号在足够的时间中处于逻辑0电平,以允许在禁用主机的线驱动器之前客户机仅通过使用MDDI_Stb来开始恢复时钟或时钟信号。
测量周期字段为64字节的窗口,其用于允许客户机以前向链路上所使用的数据速率的一半速率用两个字节的0xff和30字节的0x00来做出响应。此数据速率对应于反向链路速率除数1。客户机在察觉到测量周期开始时立即返回此响应。来自客户机的此响应将正好在主机处的测量周期的第一位开始之后在经过链路的往返延迟加上客户机中的逻辑延迟后在主机处被接收到。
全零1字段(2个字节)含有若干个0以允许主机和客户机中的MDDI_Data线驱动器重叠,以使得MDDI_Data一直被驱动。主机在全零1字段的位0期间启用MDDI_Data线驱动器,且客户机也继续将所述信号驱动为逻辑0电平,如同在测量周期末端那样。
保护时间2字段(64个字节)中的值在往返延迟为可在测量周期中测量的最大量时允许由客户机驱动的测量周期的叠加。客户机在保护时间2的位0期间禁用其线驱动器,且主机在保护时间2的最后一位之后立即启用其线驱动器。主机和客户机在不被禁用时都在保护时间2期间驱动逻辑0电平。此字段的另一用途在于确保所有MDDI_Data信号在足够的时间中处于逻辑0电平,以允许在启用主机的线驱动器之后客户机使用MDDI_Data0和MDDI_Stb两者来开始恢复时钟信号。
O.前向链路偏斜校准包在一个实施例中,参数CRC字段(2个字节)含有从包长度字段到包类型字段的所有字节的16位CRC。如果此CRC校验失败,那么丢弃整个包。
全零1字段使用8个字节来确保在校准数据序列字段的开始在MDDI_Stb上将存在转变。一般来说,这些字节采用等于零的8位无符号整数。其还为客户机核心逻辑提供足够的时间以将时钟恢复电路的模式从使用MDDI_0和MDDI_Stb的异或运算结果改变到仅使用MDDI_Stb或MDDI_Stb信号作为恢复时钟。
校准数据序列字段含有引起MDDI_Data信号在每个数据周期处切换的数据序列。校准数据序列字段的长度由在前向链路上使用的接口确定。在处理校准数据序列期间,MDDI主机控制器将所有MDDI_Data信号设定为等于选通信号。在校准数据序列字段正由客户机接收时,客户机时钟恢复电路应仅使用MDDI_Stb而并非MDDI_Stb XORMDDI_Data0来恢复数据时钟。取决于在校准数据序列字段开始处的MDDI_Stb信号的准确相位,校准数据序列将通常基于发送此包时所使用的接口类型而为以下一者类型1-(64字节数据序列)0xaa,0xaa...或0x55,0x55...
类型2-(128字节数据序列)0xcc,0xcc...或0x33,0x33...类型3-(256字节数据序列)0xf0,0xf0...或0x0f,0x0f...类型4-(512字节数据序列)0xff,0x00,0xff,0x00...或0x00,0xff,0x00,0xff...
全零2字段使用8个字节来为客户机核心逻辑提供足够的时间以将时钟恢复电路的模式改变回到原始状态,即,从使用MDDI_Stb信号作为恢复时钟改变到使用MDDI_0和MDDI_Stb的异或结果。一般来说,这些字节采用等于零的8位无符号整数。
类型1和类型2接口的可能的MDDI_Data和MDDI_Stb波形的实例分别在图62A和图62B中展示。
XIX.结论尽管上文已描述了本发明的各种实施例,但应了解仅以实例方式来呈现本发明的各种实施例而无限制性。因此,本发明的广度和范围不应由上述示范性实施例中的任一者来限制,而仅根据所附权利要求书和其等效物来界定。
权利要求
1.一种用于在一通信路径上在一主机装置与一客户机装置之间以一高速率传递数字呈现数据的数字数据接口,其包含复数个包结构,其链接在一起以形成一用于在所述通信路径上在一主机与一客户机之间通信一组预选数字控制和呈现数据的通信协议;和至少一个链路控制器,其驻存于所述主机装置中、通过所述通信路径耦联到所述客户机,所述链路控制器经配置以产生、发射并接收形成所述通信协议的包,且将呈现数据形成为一种或一种以上类型的数据包。
2.根据权利要求1所述的接口,其进一步包含所述包在媒体帧内集中到一起,所述媒体帧在所述主机与所述客户机之间传递并具有一预定义的固定长度,其中一预定数目的所述包具有不同且可变的长度。
3.根据权利要求1所述的接口,其进一步包含一子帧标头包,其位于从所述主机传递的包的开始处。
4.根据权利要求1所述的接口,其进一步包含一显示器功率状态包,以将与特定客户机有关的硬件置于一低功率状态。
5.根据权利要求1所述的接口,其中所述链路控制器为一主机链路控制器,且进一步包含驻存于所述客户机装置中通过所述通信路径耦联到所述主机的的至少一个客户机链路控制器,其经配置以产生、发射并接收形成所述通信协议的包,且将数字呈现数据形成为一种或一种以上类型的数据包。
6.根据权利要求2所述的接口,其进一步包含复数个传递模式,每一者都允许在一给定的时间周期中并行传递不同最大数目的数据位,其中每个模式都可通过所述主机链路驱动器与所述客户机链路驱动器之间的协商来选择;和其中在传递数据期间,可在所述模式之间动态地调节所述传递模式。
7.根据权利要求1所述的接口,其进一步包含一由所述主机传输到所述客户机的链路关闭类型包以终止在所述通信路径上沿任一方向的数据传递。
8.根据权利要求1所述的接口,其进一步包含供所述客户机将所述主机从一休眠状态中唤醒的装置。
9.一种在一通信路径上在一主机装置与一客户机装置之间以一高速率来传递数字数据以呈现给一用户的方法,其包含产生复数个预定义包结构中的一者或一者以上,并将它们链接在一起以形成一预定义通信协议;使用所述通信协议在所述通信路径上在所述主机装置与所述客户机装置之间通信一组预选数字控制和呈现数据;通过所述通信路径将驻存于所述主机装置中的至少一个主机链路控制器耦联到所述客户机装置,所述主机链路控制器经配置以产生、发射并接收形成所述通信协议的包,且将数字呈现数据形成为一种或一种以上类型的数据包;和使用所述链路控制器在所述通信路径上以包的形式传递数据。
10.根据权利要求9所述的方法,其进一步包含在媒体帧内将所述包集中到一起以在所述主机与所述客户机之间通信,所述媒体帧具有一预定义的固定长度,其中一预定数目的所述包具有不同且可变的长度。
11.根据权利要求9所述的方法,其进一步包含以一子帧标头类型包来开始从所述主机的包传递。
12.根据权利要求9所述的方法,其进一步包含通过驻存于所述客户机装置中通过所述通信路径耦联到所述主机装置的至少一个客户机链路控制器来产生、发射并接收形成所述通信协议的包。
13.根据权利要求12所述的方法,其进一步包含在主机链路驱动器与客户机链路驱动器之间协商在每个方向上使用复数个传递模式中的一者,每一模式都允许在一给定的时间周期中并行传递不同最大数目的数据位;和在传递数据期间,在所述传递模式之间动态地调节。
14.根据权利要求9所述的方法,其进一步包含使用一由所述主机传输到所述客户机的链路关闭类型包来终止在所述通信路径上沿任一方向的数据传递。
15.根据权利要求9所述的方法,其进一步包含通过与所述客户机的通信来将所述主机从一休眠状态唤醒。
16.根据权利要求9所述的方法,其进一步包含产生一显示器功率状态包以将特定客户机硬件置于一低功率状态。
17.一种用于在一通信路径上在一主机装置与一客户机装置之间以一高速率传递数字数据以呈现给一用户的设备,其包含至少一个主机链路控制器,其安置在所述主机装置中以用于产生复数个预定义包结构中的一者或一者以上并将它们链接在一起以形成一预定义的通信协议,且用于使用所述通信协议在所述通信路径上在所述主机装置与所述客户机装置之间通信一组预选数字控制和呈现数据;至少一个客户机控制器,其安置在所述客户机装置中且通过所述通信路径耦联到所述主机链路控制器;和每个链路控制器都经配置以产生、发射并接收形成所述通信协议的包,且将数字呈现数据形成为一种或一种以上类型的数据包。
18.根据权利要求17所述的设备,其中所述主机控制器包含一状态机。
19.根据权利要求17所述的设备,其中所述主机控制器包含一通用信号处理器。
20.根据权利要求17所述的设备,其进一步包含一在从所述主机的包传递的开始处的子帧标头类型包。
21.根据权利要求17所述的设备,其中所述主机控制器包含一个或一个以上差分线驱动器;且所述客户机接收器包含一个或一个以上耦联到所述通信路径的差分线接收器。
22.根据权利要求17所述的设备,其中所述主机链路控制器和所述客户机链路控制器经配置以在每个方向上使用复数个传递模式中的一者,每一模式都允许在一给定时间周期中并行传递不同最大数目的数据位;且能够在传递数据期间在所述传递模式之间动态地调节。
23.根据权利要求17所述的设备,其中所述主机控制器经配置以向所述客户机装置传输一链路关闭类型包,以用于终止所述通信路径上的沿任一方向的数据传递。
24.根据权利要求17所述的设备,其中所述主机控制器经配置以产生一显示器功率状态包以将特定显示器控制器硬件置于一低功率状态。
25.一种计算机程序产品,其在一用于在一通信路径上在一主机装置与一客户机装置之间以一高速率来传递数字数据以呈现给一用户的电子系统中使用,所述计算机程序产品包含一计算机可用媒体,其具有在所述媒体中实施以致使在计算机系统上执行一应用程序的计算机可读程序代码装置,所述计算机可读程序代码装置包含一计算机可读第一程序代码装置,其用于致使所述计算机系统产生复数个预定义包结构中的一者或一者以上并将它们链接在一起以形成一预定义通信协议;一计算机可读第二程序代码装置,其用于致使所述计算机系统使用所述通信协议在所述通信路径上在所述主机装置与所述客户机装置之间通信一组预选数字控制和呈现数据;一计算机可读第三程序代码装置,其用于致使所述计算机系统将安置在所述主机装置中的至少一个主机链路控制器通过所述通信路径耦联到安置在所述客户机装置中的至少一个客户机控制器,所述链路控制器经配置以产生、发射并接收形成所述通信协议的包,且将数字呈现数据形成为一种或一种以上类型的数据包;和一计算机可读第四程序代码装置,其用于致使所述计算机系统使用所述链路控制器在所述通信路径上以包的形式传递数据。
26.根据权利要求25所述的计算机程序产品,其包含一计算机可读程序代码装置,其用于致使所述计算机系统产生预定义的包结构并将它们链接在一起以形成一预定义通信协议。
27.一种用于在一通信路径上在一主机装置与一客户机装置之间以一高速率传递数字数据以呈现给一用户的设备,其包含用于产生复数个预定义包结构中的一者或一者以上并将它们链接在一起以形成一预定义通信协议的装置;用于使用所述通信协议在所述通信路径上在所述主机装置与所述客户机装置之间通信一组预选数字控制和呈现数据的装置;用于通过所述通信路径来耦联至少两个链路控制器的装置,所述主机和所述客户机中的每一者中各有一个链路控制器,且每个链路控制器都经配置以产生、发射并接收形成所述通信协议的包,且将数字呈现数据形成为一种或一种以上类型的数据包;和用于使用所述链路控制器在所述通信路径上以包的形式传递数据的装置。
28.根据权利要求27所述的设备,其进一步包含用于以一子帧标头类型包来开始从所述主机的包传递的装置。
29.根据权利要求27所述的设备,其进一步包含用于包含产生一经配置以将特定硬件置于一低功率状态的显示器功率状态包的装置。
30.根据权利要求27所述的设备,其进一步包含用于通过一主机链路控制器从所述客户机请求显示器能力信息以便确定所述客户机能够通过所述接口适应什么类型的数据和数据速率的装置。
31.一种在一用于在一通信路径上在一主机装置与一客户机装置之间以一高速率传递数字数据的电子系统中使用的处理器,所述处理器经配置以产生复数个预定义包结构中的一者或一者以上,并将它们链接在一起以形成一预定义通信协议;将数字呈现数据形成为一种或一种以上类型的数据包;使用所述通信协议在所述通信路径上在所述主机装置与所述客户机装置之间通信一组预选数字控制和呈现数据;且在所述通信路径上以包的形式传递数据。
32.一种用于在一在一通信路径上在一主机装置与一客户机装置之间以一高速率传递数字数据的电子系统中获得同步的状态机,所述状态机经配置以具有至少一个异步帧状态同步状态、至少两个获取同步状态同步状态和至少三个同步状态同步状态。
33.一种用于在一在一通信路径上在一主机装置与一客户机装置之间以一高速率传递数字数据的电子系统中获得同步的状态机,所述状态机经配置以具有至少一个获取同步状态同步状态和至少两个同步状态同步状态。
全文摘要
一种用于经由一通信路径在一主机与一客户机之间传递数字数据的数据接口,其使用链接在一起的包结构以形成一用于传送一组预选数字控制与呈现数据的通信协议。信号协议由链路控制器使用,所述链路控制器经配置以产生、传输并接收形成所述通信协议的包,且将数字数据形成为一种或一种以上类型的数据包,其中所述链路控制器中的至少一者位于所述主机装置中且通过所述通信路径耦联到所述客户机。所述接口提供一经由一短距“串行”类型数据链路的有成本效益的、低功率的、双向高速数据传递机构,这使其适合用于采用微型连接器和薄柔性电缆的实施方案,所述微型连接器和薄柔性电缆尤其适用于将例如可佩戴微显示器的显示元件连接到便携式计算机和无线通信装置。
文档编号H04M1/725GK1993948SQ200580026195
公开日2007年7月4日 申请日期2005年6月3日 优先权日2004年6月4日
发明者乔恩·詹姆斯·安德森, 布赖恩·斯蒂尔, 乔治·A·威利, 沙尚克·谢卡尔 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1