高数据速率接口的制作方法

文档序号:7608910阅读:189来源:国知局
专利名称:高数据速率接口的制作方法
技术领域
本申请的发明实施例涉及在主机设备与客户机设备之间以高数据速率通信或者传输数字信号的数字信号协议和处理。特别是,本申请涉及利用具有内部和外部设备应用的低功率高数据速率传输机制,把多媒体和其它类型数字信号从主机或控制器设备传输给向终端用户显现或显示的客户机设备的技术。
背景技术
计算机、电子游戏类产品和各种视频技术(例如,DVD和高分辨率VCD)近几年已经得到显著的进步,从而向这种设备的终端用户提供了日益增加更高分辨率照片、视频、视频点播和图形图像(即使包括某些类型的文本)的显现。这种进步又推动(批准)使用更高分辨率电子观看设备,比如高分辨率视频监视器、HDTV监视器、或者专业图像投影元件。这种可视图像与高分辨率或高质量音频数据的组合,比如当使用CD类型声音重放、DVD、环绕音和具有关联的音频信号输出的其它装置时,被用来建立用于终端用户的更逼真、内容丰富或真实多媒体的感受。此外,高移动、高质量音频系统和音乐传送机制,如MP3播放机已经被开发,用于仅向终端用户显现音频。这导致目前习惯并期待高级或优质输出的,从计算机到电视机、甚至到电话机的商业电子装置的典型用户的增加的期待。
在包括电子产品的典型的视频显现方案中,通常使用最好被称作低速或中速的速率的当前技术传输视频数据,该速率大约为每秒1至10千比特(kilobit)。该数据随后在瞬时或更长期存储装置中缓存或存储,用于延迟(稍后)在预期观看装置上显示播放。例如,可以“越过”或者使用互联网传送图像,以接收或者传送在数字显现图像时有用的数据,在使用互联网传送图像时,利用了驻留在具有调制解调器或者其它类型互联网连接装置的计算机上的程序。类似传送也可以使用无线装置(比如,装备有无线调制解调器的便携计算机,或无线个人数据助理(PDA),或者无线电话)发生(进行)。
一旦接收,数据就在存储器元件、电路或者设备,比如RAM或闪存中本地存储,这些存储部件包括内部或者外部存储装置,比如用于回放的小型硬驱。依据数据量和图像分辨率,可以比较快地回放,或者更长延时地显现。也就是,在某些情况下,图像显现对于不需要更多数据的非常小或低分辨率图像,考虑了实时回放的某些等级,或者使用了某些类型的缓存,所以在小的延迟之后,某些材料被显现,而某些材料正在传送。如果传送链路没有中断,或者没有从其它系统或者用户的相对于正在使用的传送信道的干扰,一旦显现开始,则传送对于观看装置的终端用户是适当透明的。当然,当多用户共享单个通信路径如有线互联网连接时,传送可以中断或者使传送速率低于预期值。
用来建立静止图像或活动图像的数据经常使用若干公知技术之一来压缩,以加快数据经由通信链路的传送,这些技术比如是联合图像专家组(JPEG)、活动图像专家组(MPEG)和媒体、计算机和通信行业中的其它已知标准组织或公司规定的技术。这允许通过使用传送给定信息量的更少数量的比特,更快传输图像和数据。
一旦数据被传送给“本地”装置,如具有存储机构(比如存储器,或磁存储元件或光存储元件)的计算机,或者传送给其它接收装置,就解压缩(或使用特殊解码播放器播放)合成信息,并且根据需要解码,以及根据相应可用显现分辨率和控制元件准备适当显现。例如,依据X乘Y像素的屏幕分辨率的典型的计算机视频分辨率,其范围通常从低的480×640像素,经由600×800到1024×1024,尽管或者根据期望或者根据需要各种其它分辨率通常也是可能的。
图像显现还受到图像内容和给定的视频控制器能力的影响,该控制器根据某些预定颜色级或颜色浓度(用来生成颜色的每像素比特)和强度以及被利用的任何附加开销比特来操控图像。例如,尽管会遇到其它值,典型计算机显现应当预测大约从每像素8到32或者更多比特,去显现各种颜色(阴影和色度)。
从上述值,可以看到给定的屏幕图像将需要分别传送从2.45兆比特(Mb)到33.55Mb数据,这经历了从最低到最高典型分辨率和浓度的范围。当以每秒30帧速率观看视频或活动类型图像时,所需的数据量约为每秒73.7至1006兆比特数据(Mbps),或者约为每秒9.21至125.75兆比特。此外,人们可以期待呈现与图像结合的音频数据,比如用于多媒体显现,或者作为分离的高分辨率音频显现如CD质量音乐。处理交互命令、控制、或信号的附加信号也可以被使用。这些选项的每一个添加甚至更多的待传送数据。此外,包括高分辨率(HD)电视和电影记录的较新传输技术可以添加甚至更多数据和控制信息。在任何情况下,当希望把高质量或高分辨率图像数据和高质量音频信息或数据信号传送给终端用户,以建立内容丰富的感受时,在显现元件与配置提供这种类型数据的信源或者主机装置之间需要一条高数据传输速率链路。
约为每秒115千字节(KBps)或920千比特(Kbps)的数据速率可以通过某些调制解调器串行接口常规地处置。其它接口比如USB串行接口可按照12MBps高的速率提供数据传送,并且专用高速传输,如使用电气和电子工程师协会(IEEE)1394标准配置的那些接口,可以以约为100至400MBps的速率发生。遗憾的是,这些速率达不到上述的预期高数据速率,即达不到期待用于将来无线数据装置和其它装置的数据速率,这些装置提供高分辨率、内容丰富的输出信号,以驱动便携视频显示器或音频装置。这包括商用计算机和其它显现、游戏装置等等。此外,这些接口需要使用相当数量的主机或系统和客户机软件进行操作。它们的软件协议栈还建立不受欢迎的大量开销,特别是在考虑移动无线装置或者电话应用时。这样的装置具有若干存储和功率消耗限制,并且已经负担计算容量的重任。此外,这些接口的某些利用笨重的缆线(对于移动应用来说,这样过重并且不美观)和复杂的连接器(这增加成本,或只是消耗太多功率)。
存在其它的已知接口,比如模拟视频图形适配器(VGA),数字视频交互(DVI)或者Gigabit视频接口(GVIF)接口。这些中的前两个是以更高传送速率处理数据的并行类接口,但是也利用了笨重的缆线并消耗大量功率(约为几瓦)。这些特征都不适合于便携用户电子装置使用。甚至第三个接口也消耗过多功率并使用昂贵或笨重的连接器。
至于上述接口的某些,以及其它甚高速数据系统/协议或者与固定安装的计算机设备的数据传输相关联的传输机制,存在另一主要缺点。提供预期数据传输速率还需要大量的功率和/或以大电流电平操作。这极大地降低了这种技术用于高移动用户定向产品的有效性。
一般来说,使用诸如称作光缆型连接器和传输元件的替代来提供这种数据传输速率也需要多个附加变换器和元件,这较之真实的商业用户定向产品的预期,引入了更多的复杂性和成本。除了光系统的一般的昂贵特性之外,它们的功率要求和复杂性阻止了轻便、低功率、便携应用的一般使用。
便携、无线或移动应用工业中所缺的是向高移动终端用户提供高质量显现感受的技术,不论它是基于音频的、视频的、还是多媒体的。也就是,当使用便携计算机、无线电话、PDA或者其它高移动通信装置或设备时,所使用的当前视频和音频显现系统或装置不可能以预期高质量电平传输输出。感觉质量不够经常是未获得传输高质量显现数据所需的高数据速率的结果。这可以包括传送给更有效、高级或装载特征的外部装置,以显现给终端用户;或者在主机与便携装置如计算机、游戏机和无线装置(如移动电话)内部的客户机之间的传输。
在后一种情况中,在以下方面取得了极大进展增加越来越高的分辨率的内部视频屏,其它特定输入和/输出装置,以及连接所谓第三代电话机的无线装置、所谓膝上型计算机的连接器。然而,内部数据总线和连接可以包括经由旋转或滑动铰链或者铰链型结构的桥接,它连接或者安装到主机壳的视频屏幕或其它元件,其中主机壳内装有主机和/或各种其它控制元件和输出部件。利用现有技术构建高吞吐量数据传输接口是非常困难的,作为一个实例,现有技术可能需要高达90条或更多条导线,在无线电话机上实现预期吞吐量。这提出了需要解决的许多制造、成本限制和可靠性询问的问题。
这些问题和要求还可以在固定位置安装时看到,在安装时,通信或者计算机装置(作为一个实例)被添加设备和其它用户装置来提供高级数据容量、互联网和数据传输连接,或者内装游戏。另一个实例可以是飞机和公交车,各视频和音频显现屏幕被安装在座椅靠背上。然而,在此情况下,具有主存储器、处理或通信控制元件通常是更加便利、有效和容易使用的,其中,该控制元件与具有互连链路或信道的用于信息显现的可视屏幕或音频输出相距一段距离。该链路将需要处理大量数据以实现上述的预期吞吐量。
因此,新传输机制需要在提供数据的主机装置与显现输出给终端用户的客户显示装置或元件之间增加数据吞吐量。
在名为“生成和实施用于高数据速率信号传输的通信协议和接口”的美国专利申请10/020,520和10/236,657中,提出了现在准许的这种新传输机制的应用,该申请转让给本发明的受让人并在此作为参考引用。名为“生成和实施用于更高数据速率的信号协议和接口”的美国专利申请10/860,116也公开了这样的应用。这些申请中讨论的技术极大地提高了高速数据信号中大量数据的传输速率。然而,不断增加数据速率的需求,特别涉及视频显现的数据速率的需求持续增长。甚至对于数字信号技术的其它发展,仍然存需要争取甚至更快的传输速率,改善的通信链路效率和更强大的通信链路。因此,存在一种开发新的或改善的传输机制(需要在主机与客户机装置之间增加数据吞吐量)的持续需要。

发明内容
本发明的实施例解决了现有技术中存在的上述和其它缺点,其中本发明开发了在主机装置与接收客户机装置之间以高数据速率传输数据的新协议和数据传输装置、方法和机制。
本发明的实施例针对经由通信路径在主机装置与客户机装置之间高速传输数字数据的移动数据数字接口(MDDI),该通信路径利用链接在一起的多个或一系列分组结构形成通信协议,以便在主机与客户机装置之间通信(传递)数字控制和显现数据的预选集。信号通信协议或链路层由主机或客户链路控制器的物理层使用。位于主机装置中的至少一个链路控制器经由通信路径或链路连接客户机装置,并且被配置为生成、发射和接收构成通信协议的分组,并使数字显现数据形成一种或多种数据分组。接口提供信息在主机与客户机之间的双向传输,接口可以位于公用的整体机壳或者支撑结构内。
除了可以在数字CMOS芯片上容易实施的不同驱动器和接收器外,实际上都是数字实施的,该实施需要少量的如6个信号,并且几乎以方便系统设计员的任何数据速率运行。简单的物理和链路层协议使得本发明容易集成,并且该简易型加休眠状态使得便携系统具有非常低的系统功率消耗。
为了有助于使用和接受,接口将增加很少的装置成本,这将允许非常少的功率消耗,同时能够使用标准电池电压经由接口为显示器提供电源,并且可以提供具有袖珍形状因子的装置。该接口可以缩放支持除HDTV以外的分辨率,支持同时把立体视频和7.1音频输出给显示装置,执行对任何屏幕区域的条件更新,并且支持两个方向的多数据类型。
在本发明实施例的再一方面,至少一个客户机链路控制器或客户机接收器被设置在客户机装置中,并经由通信路径和链路连接主机装置。客户机链路控制器还被配置成生成、发射和接收构成通信协议的分组,并使数字显现数据形成一种或多种数据分组。主机或链路控制器通常利用状态机,处理命令中使用的或者某些类型信号准备和查询处理中使用的数据分组,但是可以使用较慢的通用处理器处理数据和某些用于通信协议的不复杂的分组。主机控制器包括一个或多个差分线路驱动器;而客户机接收机包括连接到通信路径的一个或多个差分线路接收器。
分组被成组在媒体帧内,所述媒体帧在主机与客户装置之间通信并具有预定的固定长度,包括具有不同可变长度的预定数量的分组。分组分别包括分组长度字段,一个或多个分组数据字段,和循环冗余校验字段。子帧报头分组从来自主机链路控制器的其它分组的传输开始被传输或定位。一个或多个视频流型分组和音频流型分组被通信协议用来把视频型数据和音频型数据经由前向链路分别从主机传送给客户机,用于显现给客户装置用户。一个或多个反向链路封装型分组被通信协议用来把来自客户机装置的数据传送给主机链路控制器。某些实施例的这些传输包括数据从具有至少一个MDDI的内部控制器到内部视频屏幕的传输。其它实施例包括到内部声音系统的传输,以及从包括控制杆和复杂键盘的各种输入装置向内部主机装置的传输。
填充型分组由主机链路控制器生成,以占据没有数据的前向链路传输的周期。多个其它分组被通信协议用来传输视频信息。这样的分组包括彩色图(Color Map)、比特块传输(Bit Block Transfer)、位图区域填充(Bitmap Area Fill)、位案填充(Bitmap PatternFill),和透明色启用型分组(Transparent Color Enable typepackage)。通信协议使用用户定义流型分组传输接口用户定义数据。键盘数据和指向装置数据型分组被通信协议用来向或从关联所述客户装置的输入装置传输数据。链路关闭型分组(Link Shutdown typepacket)被通信协议用来终止在所述通信路径任何一个方向上的数据传输。
通信路径通常包括或者利用具有一系列四个或更多个导线和防护层的缆线。此外,需要时,也可以使用印刷线或者导线,某些被设置于软质基底上。
主机链路控制器向客户机装置请求显示能力信息,以便确定客户机经由所述接口能够适应什么类型的数据和什么数据速率。客户链路控制器使用至少一个客户能力型分组把通信显示或显现能力传递给主机链路控制器。多传输模式被通信协议使用,每个模式允许在给定时间周期并行传输不同的最大数量的数据比特,每种模式可通过在主机与客户链路控制器之间协商选择。在数据传送期间,可动态调整这些传输模式,并且当前向链路使用了该模式时,相同模式不需要在反向链路上使用。
在本发明的某些实施例的其它方面,主机装置包括无线通信装置,比如无线电话机,无线PDA,或者具有设置在其内的无线调制解调器的便携计算机。典型的客户机装置包括便携视频显示器如微显示器装置,和/或便携音频显现系统。此外,主机可以使用存储装置或元件存储待传输的并将显现给客户机装置用户的显现或多媒体数据。
在某些实施例的其它方面,主机装置包括具有如下所述的驱动器的控制器或通信链路控制装置,该驱动器位于便携电子装置(如无线通信装置,如无线电话机、无线PDA,或便携计算机)内。该配置中的典型客户机装置包括连接主机并位于相同装置内的,和连接到例如移动电话的高分辨率屏幕的外部视频显示器的,客户机电路或集成电路或模块,和/或便携音频显现系统,或者可选的某些类型的输入系统或装置。


下面参考附图详细说明本发明的其它特征和优点,以及本发明各种实施例的结构和操作。在附图中,相同的参考标记一般指示相同的、功能相似和/或结构相似的元件或者处理步骤,并且用参考标记的最左边数字指示元件第一次出现的附图。
图1A图示了本发明可以工作的基本环境,包括使用与便携计算机或者其它数据处理装置结合的微显示装置或者投影仪;图1B图示了本发明可以工作的基本环境,包括使用与无线收发信机结合使用的微显示装置或者投影仪和音频显现元件;图1C图示了本发明可以工作的基本环境,包括使用在便携计算机中使用的内部显示器或音频显现装置;图1D图示了本发明可以工作的基本环境,包括使用在无线收发信机中使用的内部显示器或音频显现元件;图2图示了与主机和客户机互连的移动数字数据接口的整个概念;图3图示了可用于实现从客户机装置到主机装置的数据传输的分组的结构;图4图示了MDDI链路控制器的使用和经由用于类型1接口的物理数据链路导线在主机与客户机之间传递的信号类型;图5图示了MDDI链路控制器的使用和经由用于类型2、3、4接口的物理数据链路导线在主机与客户机之间传递的信号类型;图6图示了用来实施接口协议的帧和子帧的结构;图7图示了用来实施接口协议的分组的普通结构;图8图示了子帧报头分组的格式;图9图示了填充分组的格式和内容;图10图示了视频流分组的格式;
图11A-图11E图示了用于图10中所用的视频数据格式描述符的格式和内容;图12图示了数据的打包和解包格式的使用;图13图示了音频流分组的格式;图14图示了数据的字节对准和打包PCM格式的使用;图15图示了用户定义流分组的格式;图16图示了彩色图分组的格式;图17图示了反向链路封装分组的格式;图18图示了客户机能力分组的格式;图19图示了键盘数据分组的格式;图20图示了指向装置数据分组的格式;图21图示了链路关闭分组的格式;图22图示了客户机请求和状态分组的格式;图23图示了比特块传输分组的格式;图24图示了位图区域填充分组的格式;图25图示了位案填充分组的格式;图26图示了通信链路数据信道分组的格式;图27图示了接口型切换请求分组的格式;图28图示了接口型确认分组的格式;图29图示了执行型切换分组的格式;图30图示了前向音频声道使能分组的格式;图31图示了反向音频采样速率分组的格式;图32图示了数字内容保护开销分组的格式;图33图示了透明色启用分组的格式;图34图示了往返延迟测量分组的格式;图35图示了在往返延迟测量分组期间的事件的定时;图36图示了CRC产生器的采样实施以及可用于实施本发明的检验器;图37A图示了当发送数据分组时,用于图36的设备的CRC信号的定时;图37B图示了当接收数据分组时,用于图36的设备的CRC信号的定时;图38图示了没有争用的典型业务请求的处理步骤;图39图示了在链路重新启动序列开始之后,声称与链路启动竞争的典型业务请求的处理步骤;图40图示了使用DATA-STB编码如何可以发射数据序列;图41图示了用来在主机上依据输入信号生成DATA和STB信号和在客户机上恢复数据的电路;图42图示了用来实现一个实施例的驱动器和终止电阻器;图43图示了客户机保护来自主机的业务以及主机提供这种业务所利用的步骤和信号电平;图44图示了Data0、其它数据线(DataX)和选通线(Stb)的过渡之间的相对间隔;图45图示了响应时延迟的出现,该响应可以发生在传输分组之后主机停用主机驱动器时;图46图示了响应时延迟的出现,该响应可以发生在主机使主机驱动器传输分组时;图47图示了传送的数据的定时与选通脉冲的前沿及后沿之间的主机接收器输入的关系;图48图示了反向数据定时引发的交换特征和相应客户机输出延迟;图49图示了使用状态机可以实现同步的信号处理步骤和条件的高级图;图50图示了为了在利用MDDI的系统中的前向和反向路径上的信号处理所遇到的典型延迟量;图51图示了边缘往返延迟测量;图52图示了反向链路数据速率改变;图53图示了反向速率除数对前向链路数据速率的值的图形表示;图54A和图54B图示了在接口操作中承担的步骤;图55图示了接口设备处理分组的概述;图56图示了前向链路分组的格式;图57图示了在类型1的链路接口中传播延迟和偏斜(skew)的典型值;图58图示了类型1链路上的数据、Stb和时钟恢复定时,该类型1链路用于经由接口的典型信号处理;图59图示了类型2、类型3或类型4链路接口中的传播延迟和偏斜的典型值;图60A、图60B和图60C图示了彼此相关的两个数据信号和MDDI_Stb的分别为理想的、在前的、在后的定时的不同可能性;图61图示了供类型-1/类型2使用的接口插头分配的典型连接器;图62A和62B图示了分别用于类型1和类型2接口的可能MDDI_Data和MDDI_Stb波形;图63图示了可以使用状态机实现同步的替代信号处理步骤和条件的高级图;图64图示了时钟周期系列与不同反向链路分组比特的定时和除数值之间的典型相关定时;图65图示了典型误码传输处理;图66图示了可用于误码传输处理的设备;图67A图示了用于码过载的纠错码传输处理;图68A图示了主机发起唤醒的处理步骤;图68B图示了客户机发起唤醒的处理步骤;图68C图示了主机和客户机通过争用发起唤醒的处理步骤;图69图示了请求VCP特征分组的格式;图70图示了VCP特征答复分组的格式;图71图示了VCP特征答复列表的格式;图72图示了设置VCP特征分组的格式;图73图示了请求有效参数分组的格式;图74图示了有效参数答复分组的格式;图75图示了α光标图像能力分组的格式;图76图示了α光标透明度映像分组的格式;图77图示了α光标图像偏移分组的格式;图78图示了α光标视频流分组的格式;图78图示了成比例的视频流能力分组的格式;
图80图示了成比例的视频流设置分组的格式;图81图示了成比例视频流确认分组的格式;图82图示了成比例视频流分组的格式;图83图示了请求特定状态分组的格式;图84图示了有效状态答复列表分组的格式;图85A图示了分组处理延迟参数分组的格式;图85B图示了延迟参数列表项的格式;图86图示了个人显示器能力分组的格式;图87A图示了客户机误差报告分组的格式;图88图示了客户机标识分组的格式;图89图示了替代显示能力分组的格式;图90图示了注册接入分组的格式;图91A-91C图示了使用两个显示缓存器降低人为影响;图92图示了具有比图像传输更快的显示刷新的两个缓存器;图93图示了具有比图像传输更慢的显示刷新的两个缓存器;图94图示了具有比图像传输快得多的显示刷新的两个缓存器;图95图示了具有比图像传输更快的显示刷新的三个缓存器;图96图示了具有比图像传输更慢的显示刷新的三个缓存器;图98图示了经由菊花链和集线器的主机客户机连接;图99图示了经由集线器和菊花链的组合连接的客户机装置;图100图示了彩色图。
具体实施例方式
1.概述本发明的一般目的是提供如下所述的移动显示数字接口(MDDI),得到或提供成本效益型低功耗的传输机制,该机制能够利用“串行”型数据链路或信道,在主机装置与客户机装置(比如显示器元件)之间经由短距离通信链路进行高或甚高速数据传输。该机制适合于用小型连接器和薄软性缆线实施,该缆线特别适用于把(机壳或支撑框架)内部显示元件或者输入装置连接到中央控制器,或把外部显示元件或装置比如耐磨型微显示器(护目镜显示器或投影仪)连接到便携计算机、无线通信装置或娱乐装置上。
尽管术语移动和显示与协议的命名相关联,但是应当理解,这仅仅是为了便于工作于接口和协议领域的熟练技术人员容易理解标准名称。然而,当审阅以下所述实施例之后,应当理解,许多与非移动和非显示有关的应用将受益于该协议的应用和所得到的接口结构,并且MDDI标记不打算包含对本发明或者其各种实施例的本质和有效性的任何限制。
本发明实施例的优点是,提供了一种复杂度低、成本低、可靠性高、很好适应使用环境、非常强健,同时又保持非常灵活的数据传输技术。
本发明的实施例可以用于传递或传输大量数据的各种情况,将通常用于音频、视频或者多媒体应用的大量数据,从生成或存储数据的主机或者信源装置,以高速率传送给客户机显示器或者显现装置。下面讨论的典型应用是,把来自便携计算机或无线电话或调制解调器的数据传输给视觉显示装置如小视频屏幕或耐磨型微显示设备(比如采取包含小投影透镜和屏幕的护目镜或头盔的形状),或者将来自主机的数据传送给这种部件内的客户机装置。也就是,从处理器到内部屏幕或其它显现元件,以及从利用客户机的各种内部或外部输入装置到位于内部(被布置在相同装置机壳或支撑结构内)的主机。
MDDI的属性或特征是,使它们不依赖特定的显示或显现技术。这是一种高速率传输数据的高灵活性机制,不考虑数据的内部结构,也不考虑它实施的数据或命令的功能方面。这允许正在传送的数据分组的定时被调整成适合于特定客户机装置的特性,比如某些装置的独特的显示期望,或者被调整成满足某些A-V系统或某些输入元件(比如控制杆,触摸垫等等)的组合音频和视频的需求。接口是实际显示元件或者未知的客户装置,只要它们遵守所选协议。此外,聚集的串行链路数据,或数据速率可以变化几个量级,以允许通信系统或者主机设计员最佳化成本、功率需求、客户机装置复杂度和客户机装置更新速率。
提供数据接口主要是用于经由“有线”信号链路或者小缆线传送大量高速率数据。然而,某些应用也可以有无线链路的优点,包括基于光的链路,如果它被配置成使用为接口协议开发的相同分组和数据结构,并且可以以实际保留的足够低的功率消耗或者复杂度来支持传输的预期电平。
II.环境典型应用可以参见图1A和图1B,其中便携或膝上型计算机100和无线电话或PDA装置102被显示为分别与显示装置104和106以及音频重放系统108和112通信。此外,图1A显示了对大显示器或屏幕114或图像投影仪116的潜在连接,为了清楚起见,仅显示在一幅图中,但是它也能够连接无线装置102。无线装置可以当前接收数据,或已经在前把某些量的多媒体类型数据存储到存储器元件或装置中,用于以后由无线装置的终端用户观看和/或收听。由于典型的无线装置在大多数时间用于话音和简单文本通信,因此具有相当小的显示屏幕和简单的音频系统(扬声器)用来向装置102的用户传送信息。
计算机100具有比较大的屏幕,但是仍然具有不适当的外部声音系统,并且仍然不符合其它多媒体显现装置如高清晰电视机或电影屏幕的要求。计算机100用于图示的目的,其它类型的处理器、交互视频游戏机或消费者电子装置也可以供本发明使用。计算机100可以利用(但是不限于)无线调制解调器,或内置于用于无线通信的装置中的其它装置,或者按照需要,使用缆线或者无线链路连接这样的装置。
这使得更复杂或“丰富的”数据的显现不足以到达有用的或愉快的感受。因此业界正在开发向终端用户显现信息的其它机制和装置,并提供预期的愉快或积极感受的最低水平。
如上所述,若干种显示装置已经或者目前正在开发,以便把信息显现给装置100的终端用户。例如,一个或多个公司已经开发了耐磨护目镜,其把图像投射在装置用户眼睛的前端以呈现可视显示。当目前定位的这种装置有效投射虚像时,如用户眼睛感知的那样,该虚像比提供可视输出的元件大得多。也就是,非常小的投射元件允许用户的眼睛“看到”比用典型LCD屏幕和类似屏幕能够看到的尺寸大得多的图像。更大虚屏幕图像的使用还允许使用比利用更有限的LCD屏幕的可能的显示的分辨率更高分辨率图像。其它显示装置可以包括(但不限于)小LCD屏幕或平面显示元件,投射透镜和显示驱动器等,以用于在表面透射图像。
这里还存在连接到无线装置102或计算机100或者与它们的使用关联的附加元件,以向另一用户显现输出,该附加元件或者连接到传输信号到别处或者存储信号的另一装置。例如,数据可以以光形式存储在闪存中(例如使用可写CD媒介),或把数据存储在磁介质如在磁带记录器和类似装置上,供以后使用。
此外,许多无线装置和计算现在具有内置的MP3音乐解码能力,以及其他先进的声音解码器和系统。便携计算机把利用CD和DVD播放能力作为一般规则,并且某些便携计算机具有用于接收预录制音频文件的小型专用闪存读取器。具有这种能力的问题是,数字音乐文件准许大量增加特征丰富感受,但条件是,解码和播放处理能够保持步调一致。同样能正确的保持数字视频文件。
为了有助于声音重放,外部扬声器114被显示在图1A中,还可以伴随附加元件如次低音扩音器,或者前后声音辐射的“环绕音”扬声器。与此同时,扬声器或者耳机108被显示为装入图1B的微显示装置106的支撑框架或机构内。正如将要知道的那样,也可以使用其它音频或声音重放元件,包括功率放大或声音整形装置。
在任何情况中,如上所述,当希望把高质量或高分辨率图像和高质量音频信息或者数据信号从数据源,经由一条或多条通信链路110传送给终端用户时,需要高数据速率。也就是,传输链路110显然是上述的数据通信中的潜在瓶颈,并限制了系统性能,这是因为目前的传输机制不能实现典型预期的高数据速率。如上所述,对于比如1024×1024像素的更高图像分辨率,具有每像素24-32比特的颜色浓度和30fps的数据速率,该数据速率可以接近超过755Mbps或更多的速率。此外,这种图像可以被呈现为多媒体显现的部分,从而提高了数据质量和数据速率,该多媒体显现包括音频数据和处理交互游戏或通信的潜在的附加信号,或者各种命令、控制或者信号。
显然,更少的用于建立数据链路所需的缆线和互连意味着,与显示器关联的移动装置更容易使用,并且更有可能被更大用户基采用。这在多个装置共同用来建立全视听感受时是特别可靠的,特别在显示和音频输出装置的质量水平增加时。
涉及上述和其它的视频屏幕和其它输出或输入装置中的改进的另外典型应用可以参见图1C和图1D,其中便携或者膝上型计算机130和无线电话机或PDA装置140被显示为与“内部”显示装置134和144以及声音重放系统136和146分别通信数据。
在图1C和图1D中,整个电子装置或产品的小剪切部分用来显示装置的一部分中的一个或多个内部主机和控制器的位置,该装置具有通用通信链路138和148,经由目前电子行业使用的某些公知类型的旋转接头,分别将主机和控制器连接到具有相应客户机的视频显示元件或屏幕上。人们可以看到,这些传输中包含的数据量需要大量的导线,包括链路138和148。据估计,这类通信链路接近90条或更多条导线,以便满足在这种装置上利用先进的颜色和图形接口、显示元件的今日增长的需要,因为并行或其它已知接口技术可用来传输这种数据。
遗憾的是,更高数据速率超过可用于传输数据的当前技术。根据每单位时间需要传送的原始数据量,并根据制造可靠性成本效益物理传输机制。
所需要的是,对于显现元件与数据源之间的数据传输链路或通信路径以更高速率传输数据的技术,以便尽可能相容地提供低功率、轻重量、简单和经济的布线结构。申请人已经开发了新技术或方法和设备,以实现这些和其它目的,允许一批移动、便携或者甚至固定位置的装置以非常高数据速率把数据传输给预期显示器、微显示器或音频传输元件,同时保持预期的低功率消耗和复杂度。
III.高速率数字数据接口系统结构为了建立和有效利用新装置接口,已经制定了利用低功率信号提供非常高数据传输速率的信号协议和系统结构。该协议基于分组和公共帧结构,或基于链接在一起形成协议的结构,以将预选的数据集或数据类型与加到接口上的命令或操作结构一起通信(传输)。
A.概述经由MDDI链路连接或通信的装置被称作主机和客户机,客户机通常是某种类型的显示装置,尽管也可以考虑其它输出和输入装置。从主机到显示器的数据沿前向方向传播(称为前向业务或链路),并且从客户机到主机的数据沿反向方向传播(反向业务或链路),像通过主机启动一样。这在图2所示的基本配置中示出。在图2中,主机202利用双向通信信道206(被显示为,包括前向链路208和反向链路210)连接客户机204。然而,这些信道通过一组公用导线构成,其数据传输在前向或反向链接操作之间被有效切换。这允许极大降低导线数量,直接解决了当前方案所面临的许多问题之一,即在低功率环境如移动电子装置中的高速数据传送。
如上所述,主机包括可以受益于使用本发明的一种或多种装置。例如,主机202可以是手提式、膝上型便携计算机,或者类似的移动计算装置。它还可以是个人数据助理(PDA)、寻呼装置、或许多无线电话或调制解调器之一。作为选择,主机202可以是便携娱乐或者显现装置,如便携DVD或CD播放机,或游戏装置。
此外,主机可以属于各种其它广泛使用或者规划的商业产品中的主机装置或控制元件,它们与客户机共同需要高速通信链路。例如,主机可以用来高速传送数据,将数据从记录装置传送给改善响应的基于存储的客户机,或者传送给用于显现的高分辨率大屏幕。包括机载机器的电器如电冰箱,或者计算系统和/或对其它家用装置的蓝牙连接,当以互联网或蓝牙连接模式操作时可以具有改善的显示能力,或者减少了室内显示器(客户机)、键盘或扫描仪(客户机)的布线需要,同时使电子计算机或控制系统(主机)位于机壳的其它地方。总之,本领域熟练技术人员将会明白各种各样的现代电子装置和电器,可以受益于这些接口的使用,以及更新较旧的装置的能力,即利用有限数量的导线(该导线可以通过新添加得到,或者是现存连接器或者电缆),更新较旧的装置,使其具有信息的较高数据速率传输。
同时,客户机204可以包括可用来向终端用户呈现信息或者从用户向主机显现信息的各种装置。例如,包括在护目镜或者眼镜中的微显示器,做成帽子或者头盔的投射装置,小屏幕或者甚至制成车辆如车窗或挡风玻璃的全息元件,或者各种扬声器,头戴耳机,或者显现高质量声音或音乐的声音系统。其它显现装置包括用来显现会议或电影和电视图像信息的投影仪或投影装置。另一实施例将是使用触摸板或敏感装置、语音识别输入装置、安全扫描仪等,它们可以被要求传输来自装置或者系统用户的大信息量,具有不同于来自用户触摸或声音的小的实际“输入”。此外,计算机的对接台、车辆工具箱、桌式工具箱和无线电话的支架可以充当到终端用户或其它装置和设备的接口装置,并且利用客户机(输出或输入装置比如mice)或者主机来协助数据传输,特别是涉及高速网络的数据传输。
然而,本领域熟练技术人员将容易认识到,本发明不限于这些装置,市场上有许多其它装置也可以使用,这些装置打算在存储和传递方面或播放显现方面提供给终端用户高质量图像和声音。本发明在增加各种元件或装置之间的数据吞吐量,以适应实现预期用户感受所需的高数据速率方面是有用的。
本发明的MDD接口和通信信号协议可以被用来简化主机处理器、控制器、或电路部件(例如)、或装置或装置机壳或结构(称作内部模式)内的显示器之间的互连,以便减少成本或复杂性以及关联的功率和控制需要或这些连接的约束,并改善可靠性,而不是仅仅用于连接或者用于外部元件、装置、或者设备(称作外部模式)。
该接口结构使用的每个信号对的集合串行链路数据可以改变量级的许多等级,这允许系统或者装置设计者容易地使成本、功率、实施复杂性和显示更新速率最佳,以用于给定应用或目的。MDDI的属性不依赖于显示器或其它显现装置(目标客户机)技术。经由接口传输的数据分组的定时可以被容易地调整,以适应特定客户机如显示装置、声音系统、存储器和控制元件的特性,或者适应视听系统的组合定时需求。尽管这能够使系统具有非常小的功率消耗,但这不是各种客户机为了以至少某个电平利用MDDI协议而具有帧缓存器的需求。
B.接口类型MDD接口预期致力于至少四个,或许更多的与通信和计算行业中发现的略微不同的物理接口。这些被简单地标注为类型1、类型2、类型3和类型4,尽管本领域的熟练技术人员可以依据它们使用的特定应用或者它们关联的行业的特定应用,采用其它标记或者标志。例如,简单的音频系统使用比复杂多媒体系统更少量连接,并且可以不同地参考诸如“信道”的特征。
类型1接口被配置为6线,或者其它类型的导线或传导元件的接口,使得它适合于移动或无线电话、PDA、电子游戏机、便携媒体播放器,比如CD播放器,或MP3播放器,和类似装置或类似类型电子用户技术所使用的装置。在一个实施例中,接口可以被配置为8线(导线)接口,它非常适合于膝上型、笔记本或桌式个人计算机和类似装置或应用,它们不需要快速数据更新并且没有内置的MDDI链路控制器。该类型接口还可以通过使用附加的两线通用串行总线(USB)接口来识别,这在适应大多数计算机上发现的现存操作系统或软件支持方面是极其有用的。
类型2、类型3和类型4接口适合于高性能客户机或装置,并使用具有附加双绞线型导线的更大更复杂布线来提供适当屏蔽以及数据信号的低损耗传输。
类型1接口传递的信号可以包括显示、音频、控制和有限的信令信息,并且该类型1接口通常用于不需要高分辨率全速率视频数据的移动客户机或客户机装置。类型1接口可以容易地支持30fps的SVGA分辨率加上5.1声道音频,并且在最小配置方面,可以仅使用总共三对线,其中两对线用于数据传输,一对线用于电源传送。该类型接口主要打算用于诸如移动无线装置的装置,其中USB主机通常不能在这样的装置中连接和传送信号。在该配置中,移动无线装置是MDDI主机装置,并且充当控制来自主机的通信链路的“主人”,它通常把数据发送给客户机(前向业务或链路)用于显现、显示或播放。
在该接口中,主机能够通过发送特定命令或分组类型给客户机,在主机上接收来自客户机(反向业务或链路)的通信数据,允许客户机在特定周期接管总线(链路),并把数据作为反向分组发送给主机。这在图3中示出,其中称作封装分组(以下讨论)的一种类型的分组用来提供传输链路上的反向分组的传输,从而建立反向链路。分配给主机用来查询数据的客户机的时间间隔由主机预先确定,并且基于每个特定应用的需要。该类型的半双工双向数据传输在USB端口不能用来传输来自客户机的信息和数据时,特别有利。
能够支持HDTV型或类似高分辨率的高性能显示器需要约为1.5Gbps速率数据流,以便支持全活动视频(full-motion video)。类型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模式被使用在当数据从外围设备比如键盘或指向装置传送给主机装置的时候。本领域熟练技术人员将会明白,主机和客户机可以以不同速率传送出局数据(outgoing data)。
通常MDDI协议的用户可以辨别“外部”模式与“内部”模式。外部模式描述协议的使用并且接口,以将一个装置中的主机连接到该装置之外的客户机,该客户机相距该装置或主机约为2米。在此情况中,主机还可以传送电源给外部客户机,使得两个装置都可以在移动环境中容易地操作。内部模式描述,当主机连接到包含在相同装置之内的客户机,比如位于某类(装置)的公用机壳或支撑框架或结构之内。一个实例将是在无线电话或其它无线装置内的应用,或者客户机是显示器或显示驱动器的便携计算机或游戏机,或输入装置如键盘或触摸板,或声音系统,并且主机是中央控制器、图形引擎或者CPU元件。由于在与外部模式应用相反的内部模式应用中,客户机位于更靠近主机的地方,因此在这种配置中通常不存在讨论电源连接到客户机的需要。
C.物理接口结构图4和图5显示了用来建立主机与客户机装置之间通信的装置或链路控制器的一般配置。在图4和图5中,MDDI链路控制器402和502被显示为安装在主机装置202中,MDDI链路控制器404和504被显示为安装在客户机装置204中。如上所述,主机202使用包括一系列导线的双向通信信道406连接到客户机204。如下讨论,主机和客户机链路控制器可以被制造为使用单个电路设计的集成电路,它可以被设置、调整或编程,以作为主机控制器(驱动器)或客户机控制器(接收器)来响应。这可以提供较低成本,因为可以大规模制造单个电路器件。
在图5中,MDDI链路控制器502被显示为安装在主机装置202’中,MDDI链路控制器504被显示为安装在客户机装置204’中。如上所述,主机202’使用包括一系列导线的双向通信信道506连接到客户机204’。如上所述,可以使用单个电路设计制造主机和客户机链路控制器。
图4和图5还显示了经由MDDI链路或使用物理导线,在主机与客户机(如显示装置)之间传递信号的情形。如图4和图5所示,经由MDDI传送数据的主路径或机制使用了被标注为MDDI_Data0+/-和MDDI_Stb+/-的数据信号。这些信号的每个是经由缆线中不同线对传送的低电压数据信号。在经由接口发送的每个比特的MDDI_Data0对或者MDDI_Stb对上,仅存在一个过渡。这是基于电压的传输机制,而不是基于电流,所以静态电流消耗接近零。主机驱动MDDI_Stb信号通知到客户机显示器。
尽管数据可以经由MDDI_Data对沿前向和反向方向流动,即它是双向传输路径,但是主机是数据链路的“主人”或控制器。MDDI_Data0和MDDI_Stb信号路径以不同模式操作以最大化抗扰性。这些线路上的信号数据速率由主机发送的时钟速率确定,并且在1kbps至400Mbps或以上都是可用的。
类型2接口包括类型1以外的一个附加数据对或导线或路径,它被称作MDDI_Data11+/-。类型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+/-导线上,按照某种配置提供电力传送。该电力传输通常用于外部模式,内部模式通常不需要,尽管某些应用可能不同。
表1根据接口类型显示了在主机与客户机(显示器)之间经由用于各种模式的MDDI链路传递的信号概述。
表1

请注意,用于主机传输的HOST_Pwr/Gnd连接通常是为了外部模式提供的。操作的内部应用或模式通常具有直接从其它内部资源提取电力的客户机,并且不利用MDDI控制电力分配,由于本领域熟练技术人员将会明白,所以这里不进一步讨论这种分配。然而,允许电路经由MDDI接口分配无疑是可能的,这例如正如本领域熟练技术人员将会明白的那样,允许某种电力分配、同步或者互连方便。
布线(敷设缆线)通常用来实现上述结构,并且通常作业长度约为1.5米(通常为2米或2米以下),并且包含三对双绞线导线,每对又包括多股30AWG线。在这三对双绞线上包裹或形成箔屏蔽覆盖,以作为附加的排流线(drain line)。双绞线和屏蔽排流导线终接于客户机连接器上,该连接器的屏蔽连接客户机屏蔽,并且这里有覆盖整个缆线的绝缘层,这是本领域众所周知的。导线被成对为HOST_Gnd与HOST_Pwr;MDDI_Stb+与MDDI_Stb-;MDDI_Data0+与MDDI_Data0-;MDDI_Data1+与MDDI_Data1-;等等。
D.数据类型和速率为了实现对全范围用户感受和应用的有用接口,移动数字数据接口(MDDI)提供对各种各样的客户机的支持和对显示信息、音频换能器、键盘、指向装置和许多输入或输出装置、连同控制信息及其组合的支持,这些输入输出装置可以与移动显示装置集成在一起或者与其协调工作。MDD接口被设计成能够利用最小数量的缆线或者导线,使各种潜在类型的数据流沿着前向或反向链路方向在主机与客户机之间流动。同步流和异步流(更新)都得到支持。许多数据类型的组合都是可能的,只要总数据速率小于或等于最大预期MDDI链路速率,这受限于所利用的串行速率和数据airs的数量。这些可以包括但是不限于,表II和表III所列的那些项。
表II

表III

接口不是固定的而是可扩展的,所以可以支持各种“类型”信息的传输,这些信息包括用户定义数据,以进一步使系统灵活。待提供的数据的特定实例是全活动视频,取全部或局部屏幕位图(bitmap)字段或压缩视频的格式;保存电力和降低实施成本的低速率静态位图;各种分辨率或速率的PCM或压缩音频数据;指向装置位置和选择,用于待定义的能力的用户可定义数据。这种数据还可以与控制或者状态信息一起传送,以检测装置能力或设置操作参数。
本发明实施例提升了数据传输中使用的技术,包括但不限于观看电影(视频显示和音频);以有限个人观察(图形显示,有时组合视频和音频)方式使用个人计算机;在PC、控制台或个人装置上玩视频游戏(活动图形显示,或合成视频和音频);使用视频电话(双向低速视频和音频)形式的装置、静止数字图像的摄像机,或者捕获数字视频图像的便携式摄像机,“冲浪”互联网;使用与提供显现的投影仪对接,或者与连接电视监视器、键盘和鼠标的台式对接台对接的电话机、计算机、或者PDA;利用包括无线指向装置和键盘数据的蜂窝电话、智能电话或者PDA,用于提高生产率或娱乐使用。
下面讨论的高速数据接口被展现为,经由通常被配置为金属线或缆线型链路的通信或传输链路提供大量A-V型数据。然而,人们将会明白,信号结构、协议、定时或传输机制也可以被调整为提供光或无线媒介形式的链路,如果可以支持数据传输的预期电平的话。
MDD接口信号利用被称之为用于基本信号协议或结构的公用帧速率(CFR)。使用公用帧速率之后的理想情况是,提供用于同时发生的同步数据流的同步脉冲。客户机装置可以把该公用帧速率用作时间参考。低CF速率通过降低发射子帧报头的开销,增加信道效率。另一方面,高CF速率降低等待时间,并允许更小的用于音频采样的弹性数据缓存器。本发明接口的CF速率是动态可编程的,并且可以按适合于特定应用中使用的同步流的许多值之一设置。也就是,CF值按需要选择,以便最适合给定的客户机和主机配置。
表IV显示了每个子帧通常需要的字节数量,该字节数量是可调整或可编程的,所述子帧用于最可能以诸如视频或微显示的应用方式使用的同步数据流。
表IV

利用简单的可编程M/N计算器结构,可以容易地获得每子帧字节的分数计数。例如,通过传送2个27字节的帧(每帧后面又有26字节的子帧),实现每CF 26-2/3字节的计数。可以选择更小的CF速率,以便产生整数的每子帧字节数。然而,一般来说,与较大的音频采样FIFO缓存器所需的区域相比,在用来实现本发明的部分或所有实施例的集成电路芯片或者电子模块内,用硬件实现简单M/N计数器将需要更少量区域。
显示不同数据传输速率和数据类型影响的典型应用是卡拉OK系统。卡拉OK系统是,终端用户或者用户与音乐视频程序一起演唱的系统。歌词通常被显示在屏幕的底部,所以用户知道大体与歌曲同步出现的要唱的歌词。该应用需要图形很少更新的视频显示,并利用立体声音频流混合用户语音或声音。
如果采用300Hz的公用帧速率,则每个子帧将包括经由前向链路到客户机显示装置的92160字节视频内容和588字节音频内容(基于立体声的147 16比特采样),和从麦克风回送给移动卡拉OK机器的26.67(26-2/3)字节的平均值。异步分组在主机与显示器之间传送,很有可能装有报头。这最多包括图形数据的768字节(四分之一屏幕高),以及用于杂项控制和状态命令的低于200字节的(若干)字节。
表V显示了数据被如何分配在卡拉OK实例的子帧内。把正在使用的总速率选择约为279Mbps。略高的280Mbps速率允许每子帧大约另外的400字节数据的传输,以允许临时控制和状态消息的使用。
表V

III.(继续)高速率数据接口系统结构E.链路层利用MDD接口高速串行数据信号传输的数据由时分复用的分组(数据包)流构成,分组流被一个接着另一个地链接。即使传送装置没有待发送的数据,MDDI链路控制器通常自动发送填充分组,由此维持分组流。但简单分组结构的使用确保视频和音频信号或数据流的可靠同步定时。
分组群(group)被包含在被称作子帧的信号元素或结构内,子帧群(group)被包含在称作媒体帧(media-frame)的信号元素或者结构内。子帧包含一个或多个分组,这依赖于它们的相应大小和数据传输的使用,并且媒体帧包含一个或多个子帧。由本实施例利用的协议所提供的最大子帧约为232-1或4,294,967,295字节,因而最大媒体帧大小变成约为216-1或65,535子帧。
一个特定子帧报头分组包含下面将讨论的在每个子帧开头出现的唯一的标识符。当在主机与客户机之间开始通信时,该标识符还用来在客户机装置上获取帧定时。
当显示全活动视频时,通常每个媒体帧更新一次显示屏幕。显示帧速率与媒体帧速率相同。链路协议支持整个屏幕上的全活动视频,或只支持由静态图像围绕的全活动视频内容的小范围,这取决于预期应用。在某些低功率移动应用中,比如观看web网页或者电子邮件中,显示屏幕仅仅需要偶尔更新。在这些情况中,发射单个子帧,然后关闭或失活(断开)链路以使功率消耗最小是有利的。该接口还支持诸如立体视觉的效果,并处理图形基元。
子帧允许系统按周期启动高优先级的分组传输。这允许利用最小数据缓存量使同时发生的同步流共存。这是提供显示处理的一个有利实施例,允许多个数据流(视频、话音、控制、状态、指向装置数据等的高速通信)基本上共享通信信道。它使用比较少的信号传送信息。还可以使特殊显示技术的动作存在,比如,水平同步脉冲和CRT监视器的消隐间隔,或者使其它客户特殊技术动作存在。
F.链路控制器图4和图5所示的MDDI控制器被制造或装配成,除用来接收MDDI数据和选通信号的差分线路接收器之外的全部数字设备。然而,甚至差分线路驱动器和接收器也可以与链路控制器一起实施在相同数字集成电路中,比如在制造CMOS型IC时。对于比特恢复或实施链路控制器的硬件时,不需要模拟功能或锁相环(PLL)。主机和客户机控制器除了包括用于链路同步的状态机的客户机接口之外,其余都包含非常类似的功能。因此,本发明实施例具有能够建立单个控制器设计或可以被配置为主机或客户机的电路的特定优点,这可以从整体上降低链路控制器的制造成本。
IV.接口链路协议A.帧结构用来实现分组传输的前向链路通信的帧结构或信号协议在图6中示出。如图6所示,信息或者数字数据被成组为称作分组的元素。多个分组又被集合在一起,形成所谓的“子帧”,并且多个子帧集合在一起形成“媒体”帧。为了控制帧的形成和子帧的传输,每个子帧始于被称作子帧报头分组(SHP)的特别预定的分组。
主机装置选择将用于给定传输的数据速率。主机装置可以动态改变该速率,这基于主机的最大传输能力,或主机从信源重新获得的数据,和客户机的最大能力;或者传输数据的其它装置可以动态改变该速率。
设计或者能够与MDDI一起工作的接收客户机装置,或发明的信号协议能够被主机查询,以确定可以使用的最大或者当前最大数据传输速率,或者可以使用默认的较慢最小速率,以及支持可使用的数据类型和特征。可以使用下文进一步讨论的客户机能力分组(DCP)传输该信息。客户机显示装置能够以预选的最小数据速率或者在最小数据速率范围之内,传送数据或者与使用接口的其它装置通信,并且主机将使用该范围内的数据速率执行查询,以确定客户机装置的全部能力。
定义位图特性和客户机视频帧速率能力的其它状态信息可以以状态分组传送给主机,以便主机可以按照任何系统约束内的实际和预期要求,有效或最佳配置接口。
当目前的子帧没有待传送的(更多)数据分组时,或者当主机不能以足以跟得上为前向链路选出的数据传输速率的速率进行传输时,主机发送填充分组。由于每个子帧始于子帧报头分组,因此在前子帧的尾部包括精确填充在前子帧的分组(很可能是填充分组)。在本身缺乏承载分组的数据空间的情况下,填充分组将最有可能是子帧中的最后分组,或者位于下一个在前子帧的尾部和在子帧报头分组之前。这是主机装置中控制操作的任务,以确保一个子帧内维持足够空间,以用于在该子帧内待发射的每个分组。同时,一旦主机装置启动数据分组的发送,则主机必需能够成功地在一帧内完成该大小的分组,而不会造成数据欠运行(under-run)条件。
在实施例的一个方面,子帧传输具有两种模式,一种模式是周期子帧模式,或周期定时时期(epoch),用来发送实况视频和音频流。在该模式中,子帧长度被定义为非零。第二模式是异步或非周期模式,其中只有当新信息可用时,帧才被用来向客户机提供位图。通过在子帧报头分组中把子帧长度设置为零,来定义该模式。当使用周期模式时,子帧分组接收可以在客户机已经同步前向链路帧结构时开始。这相当于下文参照图49或图63讨论的状态图定义的“同步中”。在异步非周期子帧模式中,在第一子帧报头分组被接收之后开始接收。
B.整体分组结构下文给出了用来制定由实施例实现的信令协议的分组格式或结构,请注意接口是可扩展的,并且可以按照愿望增加附加分组结构。分组在接口中根据它们的功能(即,它们传递的命令和数据)被标注为,或者被划分成不同的“分组类型”。因此,每个分组类型是指,在操控传送的分组和数据中使用的给定分组的预定分组结构。正如将容易明白的那样,分组可以具有预选长度,或者具有可变或动态可变长度,这取决于它们的相应功能。分组还可以有不同名称,尽管仍然实行相同的功能,这出现在接受标准期间改变协议的时候。各种分组中使用的字节或字节值被配置为多比特(8比特或16比特)无符号整数。与其“类型”指定一起利用的分组(按类型规则列出)的概述被显示在表VI-1至VI-4中。
每个表说明了便于图示和理解的整个分组结构内的分组一般“类型”。这些归类不会对本发明造成明示或暗示的限制或其它影响,并且可以按照预期的许多其它方式构成分组。表中还注释了分组传输被认为是有效的方向。
表VI-1链路控制分组

表VI-2基本媒体流分组

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

表VI-4高级图形和显示分组


从上述讨论中可以明白,尽管对于外部模式操作,反向封装分组、客户机能力分组和客户机请求和状态分组都被认为是重要的或者甚至是需要的,但是对于内部模式操作,它们可能被认为是任选的。这建立了另一种允许以甚高速数据通信的MDD接口协议,该数据通信利用了一组减小大小的分组和控制及定时的相应简化。
分组具有公用的基本结构或最小字段的总集,这些字段包括图7所示的,分组长度字段、分组类型字段、数据字节字段和CRC字段。如图7所示,分组长度字段包含取多比特或字节值的信息,它指定了分组中比特的总数,或者分组长度字段与CRC字段之间的长度。在一个实施例中,分组长度字段包含指明分组长度的16比特或2字节宽的无符号整数。分组类型字段是另一种多比特字段,指明了分组内包含的信息类型。在一个典型实施例中,这是16比特或2字节宽的值,取16比特无符号整数的形式,并且把这种数据类型指定为显示能力、切换、视频或音频流、状态等等。
第三字段是数据字节字段,包含在主机与客户机装置之间作为分组部分传送或者发送的比特或数据。根据传输数据的特定类型,专门为每个分组类型定义数据格式,并且可以将数据格式分成一系列附加字段,每个具有其自己的格式要求。也就是,每个分组类型将具有用于该部分或字段的定义格式。最后字段是CRC字段,包括计算数据字节、分组类型和分组长度字段的16比特循环冗余校验的结果,该CRC字段用来确定分组中信息的完整性。换言之,计算除CRC字段本身之外的整个分组。客户机通常保持CRC差错检测的总计数,并且在客户机请求和状态分组(进一步内容参见下文)中把该计数报告给主机。
通常,这些字段宽度和结构被设计成保持2字节字段定位在偶数字节边界上,以及保持4字节字段定位在4字节边界上。这允许分组结构容易地构造在主机和客户机的主存储器空间中或与其关联的主存储器空间中,而不违反大多数或者通常使用的处理器或者控制电路遇到的数据类型定位规则。
在分组传送期间,字段传输首先开始于最低有效位(LSB),并结束于最后发送的最高有效位(MSB)。长度大于一个字节的参数首先使用最小有效字节来传送,这导致为长度大于8比特的参数使用的比特传送模式相同于,为首先传送LSB的较短参数使用的比特传输模式。按照下文中定义数据字段的顺序传送的每个分组的数据字段,即首先传送所列的第一字段,并最后传送所述的最后字段。MDDI_Data0信号路径的数据对准类型1、类型2、类型3或类型4任何一个模式的接口上发射的字节的比特“0”。
当操纵显示的数据时,首先按行、然后按列传送像素阵列的数据,就像电子技术中传统做法一样。换言之,按照首先传送最左像素,最后传送最右像素的顺序传送出现在位图相同行中的所有像素。在行的最右像素被传送之后,序列中的下一个像素是下一行的最左像素。通常按照用于大多数显示的从顶到底的顺序传送像素的行,尽管可以按照需要提供其它配置。此外,在处理位图中,这里遵从的传统方案是,通过把位图的左上角标注为位置或偏移“0,0”,来定义参考点。当用来定义和确定位图中位置的X和Y坐标分别接近位图的右部和底部时,该坐标的值增加。第一行和第一列(图像的左上角)开始于零的索引值。X坐标的量度朝着显示器的用户观看的图像的右侧增加,Y坐标的量度朝着该图像的底部增加。
显示器窗口是位图的可视部分,是物理显示器媒体上的用户可以看见的位图中像素的部分。这经常是显示窗口和位图是相同尺寸的情况。显示窗口的左上角总是显示位图像素位置0,0。显示窗口的宽度对应于位图的X轴,显示窗口宽度将小于或者等于相应位图的宽度。窗口的高度对应于位图的Y轴,显示器窗口高度应当小于或等于相应位图的高度。在协议中显示器窗口本身不是可寻址的,因为它仅仅被定义为位图的可视部分。
位图与显示器窗口之间的关系在计算机、电子技术、互联网通信和其它电子有关技术中是众所周知的。因此此处将不对这些原理进一步进行讨论和阐述。
C.分组定义1.子帧报头分组子帧报头分组是每个子帧的第一分组,并且具有图8所示的基本结构。子帧报头分组用于主机-客户机同步,每个主机应当能够生成该分组,而每个客户机应当能够接收和中断该分组。正如图8中一个实施例可以看到的那样,该类型的分组被构成具有分组长度、分组类型、唯一字、保留的1、子帧长度、协议版本、子帧计数和媒体帧计数字段,并且通常为这样的顺序。在一个实施例中,该类型的分组通常被标识为类型15359(0x3bff十六进制)分组,并使用预选的20字节的固定长度,不包括分组长度字段。
分组类型字段和唯一字字段每个使用2字节值(16比特无符号整数)。这两个字段的4字节组合共同形成具有良好自相关的32比特唯一字。在一个实施例中,实际的唯一字是0x005a3bff,其中较低的16比特作为分组类型传送,然后传送最高有效16比特。
保留1字段包含2字节,这2个字节是将来使用的保留空间,并且这里通常被配置为所有比特被设置为0。该字段的一个目的是使后续2字节字段对准16比特字地址,并使4字节字段对准32比特字地址。最低有效字节被保留,以指示主机能够寻址多个客户机装置。保留零值,以指示主机能够与单个客户机装置一起操作。
子帧长度字段包含指定每子帧字节数的信息或值的4个字节。在一个实施例中,该字段长度可以被设置为等于零,指示在链路被关闭成为空闲状态之前,主机只传送一个子帧。当从一个子帧过渡到另一个子帧时,可以“实时”(“on-the-fly”)动态改变该字段中的值。该能力可用于在同步脉冲中进行监视器定时调整,以提供同步数据流。如果子帧报头分组的CRC不是有效的,则链路控制器应当使用已知良好的子帧报头分组的子帧长度来估算当前子帧的长度。
协议版本字段包含指定主机使用的协议版本的2个字节。协议版本字段被设置为“0”,指定使用的协议的第一或当前版本。当建立新版本时,该值将随时间改变。
子帧计数字段包含指定序号的2个字节,该序号指示自媒体帧开头以来已经传送的子帧的数量。媒体帧的第一子帧具有0的子帧计数。媒体帧的最后子帧具有n-1的值,其中n是每个媒体帧的子帧的数量。请注意,如果子帧长度被设置为等于零(指示非周期子帧),则子帧计数必须也被设置为等于零。
媒体帧计数字段包含指定序号的4个字节(32比特无符号整数),该序号指示从正在传送的当前媒体项(media item)或数据开头以来已经传送的媒体帧的数量。媒体项的第一媒体帧具有0的媒体帧计数。媒体帧计数正好在每个媒体帧的第一子帧之前递增,并且在使用最大媒体计数(例如,媒体帧数量232-1=4,294,967,295)之后限制回到零。主机通常可以在任何时间复位媒体帧计数值,以适应终端应用需要。
2.填充分组填充分组是当没有其它信息可用来在前向或者反向链路上发送时,向或者从客户机装置传送的分组。填充分组最好具有最小长度,以便在需要时允许发送其它分组的最大灵活性。在子帧或反向链路封装分组(参见下文)的最后,链路控制器设置填充分组的大小,以填充剩余空间,维持分组的完整性。当主机或者客户机没有待发送或要交换的信息时,填充分组可用来维持链路上的定时。每个主机和客户机能够发送和接收使接口有效使用的该分组。
图9显示了填充分组的格式和内容。如图9所示,该类型的分组被构造成具有分组长度、分组类型、填充字节和CRC字段。在一个实施例中,该类型分组通常被表示为在2字节类型字段中指示的类型0。填充字节字段中的比特和字节包括所有零比特值的变量数,以允许填充分组是预期长度。最小填充分组不包含该字段中的字节。也就是,分组仅仅由分组长度、分组类型和CRC组成,并且在一个实施例中,使用6字节的预选固定长度或者分组长度值4。CRC值为分组中包括分组长度的所有字节确定CRC值,它可以被排除在某些其它分组类型之中。
3.视频流分组视频流分组携带更新显示装置的典型矩形区域的视频数据。该区域的尺寸可以和单个像素一样小,或者和整个显示器一样大。这里有同时显示的几乎无限制数量的流,但是受系统资源限制,因为显示流所需的所有上下文被包含在视频流分组之内。图10显示了视频流分组(视频数据格式描述符)的一个实施例的格式。如图10所示,在一个实施例中,该类型分组被构成为具有分组长度(2字节),分组类型,b客户机ID,视频数据描述符,像素显示属性,X左边缘,Y顶边缘、X右边缘,Y底边缘,X和Y起始,像素计数,参数CRC,像素数据,和像素数据CRC字段。该类型分组通常被标识为在2字节类型字段中指示的类型16。在一个实施例中,客户机指示使用客户机能力分组的RGB、单色和Y Cr Cb能力字段接收视频流分组的能力。
在一个实施例中,b客户机ID字段包含为客户机ID保留的信息的2字节。由于这是最新开发的通信协议,因此实际客户机ID还未知或未充分传播。因此,该字段中的比特通常设置为等于零直至知道这种ID值,此时插入或使用该ID值,对本领域熟练技术人员来说这是显而易见的。相同处理对下面讨论的客户机ID字段成立。
上述的公用帧概念是最小化音频缓存器大小和降低等待时间的有效方式。然而,对于视频数据,它可能必须把一个视频帧的像素扩展在媒体帧内的多视频流分组上。单个视频流分组中的像素将不会精确地对应于显示器理想的矩形窗口,这也是非常有可能的。对于每秒30帧的示范视频帧速率,存在每秒300子帧,导致每个媒体帧10个子帧。如果每帧中存在像素的480行,则每个子帧中的每个视频流分组将包含48行像素。在其它情况中,视频流分组可以不包括整数行的像素。这对于其它视频帧大小也成立,其中每个媒体帧的子帧数量不平均划分成每个视频帧的行数量(还称为视频行)。每个视频流分组通常必须包含整数个像素,即使它可能不包含整数行的像素。如果每个像素大于一个字节,或者如果它们为图12所示的成组格式,则这是重要的。
为实现上述的示范视频数据描述符字段的操作而利用的格式和内容被显示在图11A-11E中。在图11A-11E中,视频数据格式描述符字段包含取16比特无符号整数形式的2个字节,并指定目前分组中目前流中像素数据中每个像素的格式。不同视频流分组可以使用不同像素数据格式是可能的,也就是,使用视频数据格式描述符中的不同值,并且类似地,流(显示的范围)可以实时(on the fly)改变它的数据格式。像素数据格式应当符合客户机能力分组中定义的客户机有效格式的至少一个。视频数据格式描述符定义目前分组的像素格式,该分组仅仅不暗示一个恒定格式将持续用于特定视频流的终生。
图11A至图11d显示了如何编码视频格式描述符。如图所示,在该实施例中,当比特[15:13]等于‘000’时(如图11A所示),视频数据由单色像素的阵列构成,其中由视频数据格式描述符字的比特3至0定义每个像素的比特数量。比特11至4通常留给将来使用,并且在该情况中被设置为零。当比特[15:13]改为等于‘001’时,如图11B所示,则视频数据由色彩像素阵列构成,每个色彩像素指定通过彩色图(调色板)颜色。在该情况中,视频数据格式描述符字的比特5至0定义每个像素的比特数量,并且比特11至6通常留给将来使用并且被设置等于零。当比特[15:13]改为等于‘010’时,如图11C所示,则视频数据由色彩像素的阵列组成,其中红色的每像素比特数量由比特11至8定义,绿色的每像素比特数量由比特7至4定义,蓝色的每像素比特数量由比特3至0定义。在此情况下,每像素中比特总数是用于红、绿、蓝的比特数量之和。
然而,当比特[15:13]改为等于‘011’时,如图11D所示,则视频数据由具有亮度和色度信息的4:2:2YCbCr格式的阵列构成,其中亮度(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值。最好使用YCbCr格式的窗口具有偶数个像素的宽度。分组中像素数据应当包含偶数个像素。在像素数据的最后像素对应于在视频流分组报头中定义的窗口中行的最后像素的情况中,即,当像素数据中最后像素的X位置等于X右边缘时,可以包含奇数或偶数个像素。
当比特[15:13]改为等于‘100’时,则视频数据由Bayer像素阵列构成,其中每像素比特数量由视频数据格式描述符字的比特3至0定义。像素组模式由图11E所示的比特5和4定义。像素数据的顺序可以是水平或垂直的,并且行或列中像素可以在前向或者向后顺序发送,并且被比特8至6定义。比特11至9应当被设置为零。Bayer格式的像素组中的四像素的组似乎在某些显示技术中经常被称作单像素。然而,Bayer格式中的一个像素只是像素组镶嵌模式的四个着色像素之一。
对于图中所示的所有五个格式,被指定为“P”的比特12说明像素数据采样是否成组,或者字节对准像素数据是否成组。该字段中‘0’的值指示像素数据字段中每个像素是与MDD接口字节边界对准的字节。‘1’的值指示,对照未留下未使用比特的像素内的在前像素或颜色,打包像素数据的每个像素内的每个像素和每个颜色。图12更详细显示了字节对准与打包像素数据格式之间的差异,其中可以看到字节对准数据可以留下数据子帧的未使用部分,这与没有留下未使用部分的打包像素格式相反。
特定显示窗口的媒体帧的第一视频流分组中的第一像素将进入由X左边缘和Y顶边缘定义的流窗口的左上角,并且接收的下一个像素置于相同行的下一个像素位置,等等。在媒体帧的该第一分组中,X起始值通常将等于X左边缘,Y起始值通常将等于Y顶边缘。在对应于相同屏幕窗口的后续分组中,X和Y起始值通常将被设置成屏幕窗口的像素位置,该屏幕窗口的像素位置通常将跟随在先前子帧中传送的视频流分组中发送的最后像素。
4.音频流分组音频流分组携带将经由客户机的音频系统播放或者用于独立音频显现装置的音频数据。可以为声音系统中分离的音频声道分配不同音频数据流,例如左前、右前、中央、左后和右后,这取决于使用的音频系统的类型。为包含增强的空间声学信号处理的耳机提供音频声道的全补充。客户机利用客户机能力分组的音频声道能力和音频采样速率字段,指示接收音频流分组的能力。图13示出了音频流分组的格式。
如图13所示,该类型分组在一个实施例中被构成具有分组长度字段,分组类型字段,b客户机ID字段,音频声道ID字段,保留1字段,音频采样计数字段,每采样和打包的比特字段,音频采样速率字段,参数CRC字段,数字音频数据字段和音频数据CRC字段。在一个实施例中,该类型分组通常被标识为Type32packet(类型32分组)。
b客户机ID字段包含为先前使用的客户机ID保留的2字节信息。保留1字段包含为将来使用保留的1字节,并且在该点被配置为所有比特被设置为零。
每采样和打包字段的比特包含取8比特无符号整数形式的1个字节,该字节指定音频数据的打包格式。通常利用的格式用于比特4至0,以定义每个PCM音频采样的比特数量。比特5随后指定数字音频数据采样是否被打包。图14中显示了打包与字节对准音频采样(这里使用10比特采样)之间的差异。‘0’的值指示数字音频数据字段中每个PCM音频采样是与MDDI接口字节边界字节对准的,并且‘1’指示每个连续PCM音频采样对照在前音频采样来打包。该比特通常在比特4至0中定义的值(每PCM音频采样的比特数量)不是8的倍数时才有效。比特7至6被保留用于将来使用,并且通常设定为零值。
5.保留的流分组在一个实施例中,分组类型1至15、18至31和33至55为定义用于分组协议的将来版本或者变型的流分组而保留,正如各种应用所遇到的那样。此外,较之其它技术,这是面对不断改变技术和系统设计,使MDD接口更灵活和有用的部分。
6.用户定义流分组八个数据流类型,被称之为类型56至63,为专有应用而保留,由设备制造商定义,以供MDDI链路使用。这些被称为用户定义流分组。这样的分组可以用于任何目的,但是在这种使用结果非常清楚的情况下,主机和客户机应当仅仅利用这种分组。流参数的特别定义和这些分组类型的数据被留给特定设备制造商,实施这种分组类型或者寻找它们的用途。用户定义流分组的某些典型用途是传送测试参数和测试结果、工厂校准数据和适当地特定使用数据。图15中示出了在一个实施例中使用的用户定义流分组的格式。如图15所示,此类型分组被构成具有分组长度字段(2字节)、分组类型字段、b客户机ID数字段、流参数字段、参数CRC字段、流数据字段和流数据CRC字段。
7.彩色图分组彩色图分组说明用来呈现客户机的色彩的彩色图查找表的内容。某些应用也许需要大于可以在单个分组中传送的数据量的彩色图。在这些情况下,通过使用下面所述的偏移和长度字段,可以传送多个彩色图分组,其每个彩色图分组具有彩色图的不同子集。图16示出了一个实施例中的彩色图分组的格式。如图16所示,该类型分组被构成具有分组长度字段、分组类型字段、h客户机ID字段、彩色图项目计数字段、彩色图偏移字段、参数CRC字段、彩色图数据字段和数据CRC字段。在一个实施例中,该类型分组通常被标识为类型64分组(视频数据格式和彩色图分组),如在分组类型字段(2字节)中指定的分组。客户机使用客户机能力分组的彩色图大小和彩色图宽度字段指示接收彩色图分组的能力。
8.反向链路封装分组在示范实施例中,在反向方向使用反向链路封装分组传送数据。前向链路分组被发送,并且MDDI链路操作(传送方向)被改变或者在该分组的中间转向,所以可以沿反向方向发送分组。图17显示了一个实施例中反向链路封装分组的格式。如图17所示,该类型分组被构造成具有分组长度字段、分组类型字段、h客户机ID字段、反向链路标志字段、反向速率除数(Divisor)字段、转向1长度字段、转向2长度字段、参数CRC字段、全零1字段、转向1字段、反向数据分组字段、转向2字段、全零2字段。在一个实施例中,该类型分组通常被标识为类型65分组。对于外部模型,每个主机必需能够生成该分组并接收数据,以及每个客户机必需能够接收和发送数据给主机。该分组的实施对于互联网模式是任意的。
MDDI链路控制器在发送反向链路封装分组的同时,以特定方式运转。MDD接口具有通常总被作为链路控制器的主机驱动的选通信号。该主机运转(行为)好像是正在传送零,以用于反向链路封装分组的转向和反向数据分组部分的每个比特。主机在两次转向时间期间和分配用于反向数据分组的时间期间,在每个比特边界上触发MDDI_选通信号。(这是相同行为,好像它正在传送全零数据)在转向1指定的时间周期期间,主机禁止它的MDDI数据信号线路驱动器,并且在转向2字段指定的时间周期之后的驱动器再使能字段期间,客户机再启动它的线路驱动器。在转向1字段的最后比特之后,客户机读取转向长度参数并朝着主机推送数据信号。也就是,客户机在MDDI选通的某些上升边缘上计时进入链路的新数据(如下面和别处的分组内容描述所述)。客户机使用分组长度和转向长度参数得知它能够发送分组给主机的时间长度。当客户机没有数据发送给主机时,它可以发送填充分组或者将数据线驱动到零状态。如果数据线被驱动到零,则主机把这解释为具有零长度(没有有效长度)的分组,并且主机在当前反向链路封装分组持续时间内,不接收来自客户机的任何另外分组。
在全零1字段期间,主机将MDDI_Data信号驱动到逻辑零电平,并且在转向2字段开始之前,也就是在全零2字段周期期间,客户机在至少一个反向链路时钟周期内把MDDI数据线驱动到逻辑零电平。这使得在转向1字段和转向2字段时间周期内,数据线处于确定的状态。如果客户机没有更多分组发送,则在把它们驱动到逻辑零电平之后,甚至停用数据线,因为休眠偏置电阻器(在别处讨论)以用于反向数据分组字段的余项(或者约为16个前向链路字节或者更多字节的持续时间)的逻辑零电平保持数据线。
在一个实施例中,客户机请求和状态分组的反向链路请求字段可以用来,将客户机在反向链路封装分组中需要反送数据分组给主机的字节数量通知给主机。主机试图通过在反向链路封装分组中分配至少该字节数量,同意该请求。主机可以在子帧中发送一个以上的反向链路封装分组。客户机可以在几乎任何时间发送客户机请求和状态分组,并且主机将把反向链路请求参数解释为一个子帧中请求的字节的总数。
9.客户机能力分组主机需要知道与之通信的客户机(显示器)的能力,以便以通常最佳或预期方式配置主机到客户机的链路。最好在获得前向链路同步之后,显示器向主机发送客户机能力分组。当主机使用反向链路封装分组中反向链路标志来请求时,这种分组的传输被认为是需要的。客户机能力分组被用来把客户机的能力通知给主机。对于外部模式,每个主机必需能够接收该分组,并且每个客户机必需能够发送该分组,以充分利用该接口和协议。该分组的实施对于互联网模式是任选的,因为该情况中的客户机(比如显示器)的能力在制造或装配成某种类型的单个部件或者单元的时候,已经被很好定义并且为主机所知。
图18显示了一个实施例中客户机能力分组的格式。如图18所示,该类型分组被构成具有分组长度、分组类型、c客户机ID、协议版本、Min协议版本、数据速率能力、接口类型能力、Alt显示器的数量、保留1、位图宽度、位图高度、显示器窗口宽度、显示器窗口高度。彩色图大小。彩色图RGB宽度、RGB能力、单色能力、保留2、YCrCb能力、Bayer能力、α光标像面、客户机特征能力、Max视频帧速率、Min视频帧速率、Min子帧速率、音频缓存深度。
音频声道能力、音频采样速率能力、音频采样分辨率、Mic采样分辨率、Mic采样速率能力、键盘数据格式、指向装置数据格式、内容保护类型、Mfr.名称、产品码、保留4、系列号、Mfr的星期、Mfr的年和CRC字段。在示范性实施例中,该类型分组通常被标识为类型66分组。
10.键盘数据分组键盘数据分组被用来把键盘数据从客户机装置发送给主机。无线(或有线)键盘可以与各种显示器或音频装置结合使用,包括但不限于头部安装的视频显示/音频显现装置。键盘数据分组把键盘数据从若干已知键盘类装置之一接收的键盘数据中继到主机。该分组还可以在前向链路用来把数据发送给键盘。客户机利用客户机能力分组中键盘数据字段指示发送和接收键盘数据分组的能力。
键盘数据分组的格式在图19中显示,并且包含来自或者用于键盘的信息字节的可用数量。如图19所示,该类型分组被构成具有分组长度、分组类型、b客户机ID、键盘数据格式、键盘数据和CRC字段。这里,该类型分组通常被标识为类型67分组。
b客户机ID是如前所述的保留字段,并且在分组的所有字节上执行CRC。键盘数据格式字段包含描述键盘数据格式的2字节值。比特6至0应当与客户机能力分组中键盘数据格式字段相同。该值不等于127。比特15至7被保留以供将来使用,因而当前被设置为零。
11.指向装置数据分组指向装置数据分组用来把来自无线鼠标或其它指向装置的位置信息从客户机发送给主机。还可以使用该分组在前向链路上把数据发送给指向装置。指向装置数据分组的典型格式在图20中示出,并且包含来自或者用于指向装置的信息的不同字节数量。如图20所示,该类型分组被构成具有分组长度字段、分组类型字段、b客户机ID字段、指向装置格式字段、指向装置数据字段和CRC字段。在一个示范实施例中,该类型分组通常在1字节类型字段中被标识为类型68分组。
12.链路关闭分组链路关闭分组从主机发送给客户机,以指示MDDI数据和选通将被关闭并且进入低功耗“休眠”状态。在静态位图从移动通信装置发送给显示器之后,或者当目前没有别的信息从主机传送给客户机时,该分组可用来关闭链路并保存电力。当主机再次发送分组时,恢复正常操作。休眠后发送的第一分组是子帧报头分组。客户机状态分组的格式在图21中示出。如图21所示,该类型分组被构成具有分组长度、分组类型、CRC字段和全零。在一个实施例中,该类型分组通常在1字节类型字段中被标识为类型69分组,并且使用3字节的预选固定长度。
在低功耗休眠状态中,MDDI_Data驱动器停用,进入高阻抗状态,并且MDDI_Data信号被推送到逻辑零状态,使用可以被客户机过激励的高阻抗偏置网络。接口使用的选通信号被设置为休眠状态中的逻辑零电平,以最小化功率消耗。主机或客户机可以造成MDDI链路从休眠状态中“唤醒”(如别处所述),这是本发明的关键进展和优点。
13.客户机请求和状态分组客户机需要来自客户机的少量信息,所以可以以一般的最佳方式配置主机到客户机的链路。客户机最好发送一个客户机请求和状态分组到主机每个子帧。客户机应当把该分组作为反向链路封装分组中第一分组发送,以确保它被可靠传送给主机。还可以在主机使用反向链路封装分组中反向链路标志请求时,实现该分组的转发。客户机请求和状态分组用来向主机报告误差和状态。每个主机应当能够接收该分组,并且每个客户机应当能够发送该分组,以便适当地或者最佳地利用MDD接口协议。
客户机请求和状态分组的格式在图22中示出。如图22所示,此类型分组被构造成具有分组长度字段、分组类型字段、c客户机ID字段、反向链路请求字段、能力改变字段、图形Bugs字段、CRC误差计数字段和CRC字段。该类型分组通常在1字节类型字段中被标识为类型70分组,并且通常使用12字节的预选固定长度。
反向链路请求字段可以用来把客户机需要在反向链路封装分组中反送数据给主机的字节数量通知给主机。主机应当试图通过在反向链路封装分组中分配至少该数量的分组,来同意该请求。主机可以在子帧中发送一个以上的反向链路封装分组,以便提供数据。客户机可以在任何时候发送客户机请求和状态分组,并且主机将把反向链路请求参数解释为一个子帧中请求的字节的总数。下面显示了反向链路数据如何反送给主机的附加细节和特定实例。
14.比特块传送分组比特块传送分组提供在任何方向滚动显示器区域的手段。具有此能力的显示器将用客户机能力分组的显示特征能力指示符字段的比特0报告能力。图23中显示了比特块传送分组的格式。如图23所示,该类型分组被构成具有分组长度字段、分组类型字段、h客户机ID字段、左上X值字段、左上Y值字段、窗口宽度字段、窗口高度字段、窗口X运动字段、窗口Y运动字段和CRC字段。该类型分组通常被标识为类型71分组,并且使用15字节的预选固定长度。
该字段用来详细说明待移动的窗口的左上角的坐标的X和Y值、待移动的窗口的宽度和高度、窗口将分别被水平和垂直移动的像素的数量。后面两个字段的正值造成窗口向右和向下移动,并且负值将造成分别向左和向上运动。
15.位图区域填充分组位图区域填充分组提供了容易把显示器的区域初始化成单色的手段。具有该能力的显示器将用客户机能力分组的客户机特征能力指示符字段的比特1报告这种能力。位图区域填充分组的格式在图24中示出。如图24所示,该类型分组被构成具有分组长度字段、分组类型字段、h客户机ID字段、左上X值字段、右上Y值字段、窗口宽度、窗口高度、数据格式描述符、像素区域填充值和CRC字段。该类型分组通常在1字节类型字段中被标识为类型72分组,并且使用17字节的预选固定长度。
16.位案填充分组位案填充分组提供把显示器区域容易地初始化成预选图案的手段。具有该能力的显示器将用客户机能力分组的客户机特征能力字段的比特2报告该能力。填充图案的左上角对准将被填充的窗口的左上角。如果待填充的窗口比填充图案宽或者高,则可以为了填充该窗口,水平或垂直重复图案多次。需要时,可以截去最后重复的图案的右或底部。如果窗口小于填充图案,则可以截去填充图案的右侧或底部,以适合该窗口。
位案填充分组的格式在图25中示出。如图25所示,该类型分组被构成具有分组长度字段、分组类型字段、h客户机ID字段、左上X值字段、左上Y值字段、窗口宽度字段、窗口高度字段、图案宽度字段、图案高度字段、数据格式描述符字段、参数CRC字段、图案像素数据字段和像素数据CRC字段。该类型分组通常在1字节类型字段中被标识为类型73分组。
17.通信链路数据信道分组通信链路数据信道分组提供具有高级计算能力的装置(比如PDA)与无线收发信机(比如蜂窝电话或无线数据端口装置)通信。在该情况中,MDDI链路正在充当通信装置与具有移动显示的计算装置之间的便利的高速接口。其中,该分组传递装置的操作系统的数据链路层上的数据。例如,如果web浏览器、电子邮件客户机或者整个PDA被造成一个移动显示器,则可以使用该分组。具有该能力的显示器将用客户机能力分组的客户机特征能力字段的比特3报告能力。
通信链路数据信道分组的格式被显示在图26中。如图26所示,该类型分组被构成具有分组长度字段、分组类型字段、h客户机ID字段、参数CRC字段、通信链路数据字段和通信数据CRC字段。该类型分组通常在类型字段中被标识为类型74分组。
18.接口类型切换请求分组接口类型切换请求分组能够使主机请求客户机或显示器从现存或者当前模式移动到类型1(串行)、类型2(2比特并行)、类型3(4-比特并行)或者类型4(8比特并行)模式。在主机请求特定模式之前,它应当通过检查客户机能力分组的显示特征能力指示符字段的比特6和7,确认客户机能够以预期模式操作。接口类型切换请求分组的格式被显示在图27中。如图27所示,该类型分组被构成具有分组长度字段、分组类型字段、接口类型字段、保留1字段、CRC字段。该类型分组通常被标识为类型75分组,并且使用4字节的预选固定长度。
19.接口类型确认分组客户机发送接口类型确认分组,以确认接口类型切换分组的接收。被请求模式、类型1(串行)、类型2(2比特并行)、类型3(4比特并行)、或类型4(8比特并行)模式作为该分组中的参数被返回给(回波返回)主机。接口类型确认分组被显示在图28中。如图28所示,该类型分组被构成具有分组长度字段、分组类型字段、c客户机ID字段、接口类型字段、保留1字段和CRC字段。该类型分组通常被标识为类型76分组,并且使用4字节的预选固定长度。
20.执行类型切换分组执行类型切换分组是主机命令客户机切换到该分组中指定的模式的手段。这是接口类型切换请求分组和接口类型确认分组先前请求和确认的相同模式。主机和客户机应当被切换到在发送分组后商定的模式。在模式改变期间,客户机可以丢失和再次获得链路同步。执行类型切换分组的格式被显示在图29中。如图29所示,该分组类型被构成具有分组长度字段、分组类型字段、保留1字段和CRC字段。该类型分组通常在1字节类型字段中被标识为类型77分组,并且使用4字节的预选固定长度。
21.前向音频声道使能(启用)分组该分组允许主机启用或停用客户机中的音频声道。该能力可用来使客户机(例如显示器)在主机没有要输出的音频时,断开音频放大器或者类似电路元件的电源以节省电力。利用作为标识符的音频流的出现或缺乏,简单地隐含实施显然是非常困难的。客户机系统加电(powered-up)的默认状态是启用所有音频声道。前向音频声道启用分组的格式被显示在图30中。如图30所示,该类型分组被构成具有分组长度字段、分组类型字段、h客户机ID字段、音频声道启用掩码字段和CRC字段。该类型分组通常在1字节类型字段中被标识为类型78分组,并使用4字节的预选固定长度。
22.反向音频采样速率分组该分组允许主机启用或停用反向链路音频声道,并设置该流的音频数据采样速率。主机选择定义在用户机能力分组中有效的采样速率。如果主机选择无效采样速率,则客户机将不发送音频流给主机,并且可以用客户机误差报告分组把适当的错误发送给主机。主机通过把采样速率设置为255的值,可以停用反向链路音频流。当客户机系统初始加电或者连接时,假设的默认状态是停用反向链路音频流。反向音频采样速率分组的格式在图31中示出。如图31所示。该类型分组被构造成具有分组长度字段、分组类型字段、h客户机ID字段、音频采样速率字段、保留1字段和CRC字段。该类型分组通常被标识为类型79分组,并且使用4字节的预选固定长度。
23.数字内容保护开销分组该分组允许主机和客户机交换关于正在使用的数字内容保护方法的消息。目前的两种内容保护都是可考虑的,数字传送内容保护(DTCP),或者高带宽数字内容保护系统(HDCP),并且具有为将来替代保护方案指定保留的空间。该分组中内容保护类型参数指定使用的方法。数字内容保护开销分组的格式被显示在图32中。如图32所示,该类型分组被构成具有分组长度字段、分组类型字段、b客户机ID字段、内容保护类型字段、内容保护开销消息字段和CRC字段。该类型分组通常被标识为类型80分组。
24.透明色彩启用分组透明色彩启用分组用来指定在显示器中颜色是透明的,并且启用或停用显示图像的透明色彩的使用。具有该能力的显示器将用客户机能力分组的客户机特征能力字段的比特4报告该能力。当具有透明色值的像素被写入位图时,色彩不能变化于在前值。透明色启用分组的格式在图33中示出。如图33所示,该类型分组被构成具有分组长度字段、分组类型字段、h客户机ID字段、透明色启用字段、保留1字段、α光标指示符字段、数据格式描述符字段、透明像素值字段和CRC字段。该类型分组通常用1字节类型字段标识为类型81分组,并且使用10字节的预选固定长度。
25.往返延迟测量分组往返延迟测量分组用来测量从主机到客户机(显示器)的传播延迟以及从客户机(显示器)返回到主机的延迟。该测量固有地包含存在于线路驱动器和接收器和一个互连子系统中的延迟。该测量用来在上述的反向链路封装分组中设置转向延迟和反向链路速率除数参数。在MDDI链路正在以打算用于特定应用的最大速率运行时,该分组最有用。MDDI_Stb信号被表现为,好像在以下字段期间发送全零数据保护时间、全零、测量周期。这使得MDDI_Stb以半数据速率触发,所以在测量周期期间,它可以用作客户机中的周期时钟。
在一个实施例中,客户机通常经过使用客户机能力分组的客户机特征能力指示符字段的比特18,指示支持往返延迟测量分组的能力。最好所有客户机都支持往返延迟测量,但是客户机根据最大缆线延迟、最大驱动器和接收器延迟知道最坏情况往返延迟是可能的。主机还可能预先知道用于内部模式中使用的MDDI链路的往返延迟,因为这是接口正在被使用的装置的已知设计元素(导线长度、电路类型和特征等等)的方面。
往返延迟测量分组的格式在图34中示出。如图34所示,在一个实施例中,该类型分组被构成具有分组长度、分组类型、h客户机ID、参数CRC、保护时间1、测量周期、全零和保护时间2。该类型分组被标识为类型82分组,并且使用533比特的预选固定长度。
在往返延迟测量分组期间发生的事件的定时被显示在图35中。在图35中,主机传送往返延迟测量分组,它被显示为是参数CRC和选通对准字段,其后是全零和保护时间1字段。延迟3502出现在分组到达客户机显示装置或处理电路之前。当客户机接收分组时,它正好在客户机确定的测量周期实际开始时刻,传送0xff、0xff和30个字节的0x0图案。从主机看,客户机开始传送该序列的实际时间是从测量周期开头开始延迟的。该延迟量基本上是分组经由线路驱动器和接收器以及互连子系统(缆线、导线)传播所用的时间。该图案从客户机返回到主机引发类似的延迟量3504。
为了精确确定信号向和从客户机传送的往返延迟时间,主机计算出现在测量周期开始之后直至0xff、0xff和30字节的0x0序列的开头一到达就被检测到时的前向链路比特时间周期的数量。该信息用来确定从主机向客户机传递和再次返回的往返信号的时间量。然而,该时间量的约一半归应于为信号到达客户机的单向通道的建立的延迟。
在保持MDDI_DATA线路在定义状态中的保护时间期间,主机和客户机都将线路驱动到逻辑零电平。休眠上拉和下拉电阻器(参见图42)在线路驱动器在主机和客户机中停用的时间间隔中,确保MDDI_Data信号保持在有效低电平上。
26.前向链路偏斜校准分组前向链路偏斜校准分组允许客户机或显示器校准它自己,即相对于MDDI_Stb信号,对MDDI_Data信号的传播延迟中的差异校准它自己。没有延迟偏斜补偿,最大数据速率通常被限制成解释这些延迟中的潜在最坏情况的变化。一般来说,当前向链路数据速率被配置到约为50Mbps或更低速率时,才发送该分组。如果在偏斜校准处理期间数据速率被设置得太高,则显示器可以同步到比特周期的伪信号,这可能造成延迟偏斜补偿设置被取消一个比特时间以上,导致错误数据计时。在发送前向链路偏斜校准分组之前,选择接口的最高数据速率类型或者最大可能接口类型。
前向链路偏斜校准分组的格式被显示在图56中。如图56所示,该类型分组被构成具有分组长度字段(2字节)、分组类型字段、参数CRC字段、校准数据序列字段和CRC字段。该类型分组通常在类型字段中被表示为类型83分组,并且具有515的预选长度。
虚控制面板虚控制面板(VCP)的使用允许主机在客户机中设置某些用户控制。通过允许这些参数被主机调整,客户机中的用户接口可以被简化,因为允许用户调整参数(如音量或者显示亮度)的屏幕可以由主机软件生成,而不是由客户机中一个或多个微处理器生成。主机具有读取客户机中参数设置并确定每个控制的有效值的范围的能力。客户机具有返向报告给可以调整控制参数的主机的能力。
控制码(VCP码)和一般指定的关联数据值被用来指定客户机中的控制和设置。MDDI规范中的VCP码被扩展到16比特,以确保分组定义中适当的数据字段对准,并且将来支持只有接口或者将来增强才有的互补值。
27.请求VCP特征分组请求VCP特征分组提供主机请求特定控制参数的当前设置或所有有效控制参数的手段、机制或方法。通常,客户机用VCP特征答复分组中的适当信息答复VCP分组。在一个实施例中,客户机使用客户机能力分组的客户机特征能力指示符字段的比特20,指示支持请求VCP特征分组的能力。
一个实施例中的请求VCP特征分组的格式在图69中显示。如图69所示,该类型分组被构成具有分组长度字段、分组类型字段、h客户机ID字段、MCCS VCP码字段,和CRC字段。该类型分组在一个实施例中通常被标识为类型128,其在2字节类型字段中指示。分组长度指定不包含分组长度字段的分组中字节总数,用于该类型分组的分组长度通常被固定在8字节长度上。
h客户机ID字段包含为客户机ID保留的16比特无符号整数。该字段留给将来使用并且通常被设置为零。MCCS VCP码字段包括指定MCCS VCP控制码参数的信息的2字节。0至255范围中的值造成VCP特征答复分组与对应于指定的MCCS码的VCP特征答复列表中的单个项一起返回。65535(0xffff)的MCCS VCP码请求具有VCP特征答复列表的VCP特征答复分组,其中VCP特征答复列表包含用于客户机支持的每个控制的特征答复列表项。用于该字段的256至65534的值留给将来使用并且目前不使用。
28.VCP特征答复分组VCP特征答复分组提供客户机用特定控制参数或所有有效控制参数的当前设置响应主机请求的手段、机制或方法。通常,客户机响应请求VCP特征分组发送VCP特征答复分组。该分组用来确定特定参数的当前设置,确定特定控制的有效范围,确定特定控制是否被客户机支持,或者确定客户机支持的控制的设置。如果发送涉及在客户机中未实施的特定控制的请求VCP特征,则VCP特征答复分组与对应于未实施的控制(包含适当误差码)的单个VCP特征答复列表项一起返回。在一个实施例中,客户机利用客户机能力分组的显示特征能力指示符字段的比特20,指示支持VCP特征答复分组的能力。
一个实施例中VCP特征答复分组的格式在图70中示出。如图70所示,该类型分组被构成具有分组长度字段,分组类型字段,c客户机ID字段,MCCS版本字段,答复序号字段,VCP特征答复列表字段和CRC字段。该类型分组在一个实施例中通常被标识为类型129,如在2字节类型字段中所指示的那样。
c客户机ID字段包含为客户机ID保留的信息。该字段被留在将来使用并且通常被设置为零。MCCS版本字段包含指定由客户机实施的VESA MCCS规范的版本的信息的2字节。
2字节答复序号字段包含指定由客户机返回的VCP特征答复分组的序号的信息或数据。客户机响应具有65535的MCCS控制码值的请求VCP特征分组,返回一个或多个VCP特征答复分组。客户机可以把特征答复列表扩展到多个VCP特征答复分组上。在此情况下,客户机把序号分配给每个连续分组,并且响应单个请求VCP特征分组发送的VCP特征答复分组的序号起始于零并递增1。最后VCP特征答复分组中最后VCP特征列表项应当包含标识分组是最后一个的等于0xffff的MCCSVCP控制码值,并包含返回的分组群的最高序号。如果响应请求VCP特征分组仅发送一个VCP特征答复分组,则在该单个分组中的答复序号为零,并且VCP特征答复列表包含具有等于0xffff的MCCS VCP控制码的记录。
列表字段中特征的数量包含指定VCP特征列表项的数量的2字节,该VCP特征列表项位于该分组中的VCP特征答复列表中,尽管VCP特征答复列表字段是一组字节,包含一个或多个VCP特征答复列表项。一个实施例中单个VCP特征答复列表项的格式在图71中示出。
如图71所示,每个VCP特征答复列表项为精确的12字节长度,并且包括MCCS VCP码字段、结果码字段、最大值字段和现值字段。2字节MCCS VCP码字段包含指定与该列表项关联的MCCS VCP控制码参数的数据或信息。只有VESA MCCS规范版本2和以后版本中定义的控制码值才被认为有效。2字节结果码字段包含指定涉及信息请求的误差码的信息,该信息请求与选定的MCCS VCP控制有关。该字段中的‘0’值是指没有误差,而‘1’值是指在客户机中不执行指定控制。2至65535的字段的其它值目前留给技术上考虑的其它应用的将来使用和实施,但是现在不使用。
4字节最大值字段包含32比特无符号整数,它指定可以设置选定MCCS控制的最大可能值。如果请求的控制未在客户机中实施,则该值被设置为零。如果返回的值在长度上小于32比特(4字节),则该值形成为留下被设置为零的最有效(未用)字节的32比特整数。4字节现值字段包含指定特定的MCCS VCP连续(C)或者不连续(NC)控制的现值的信息。如果请求的控制未在客户机中实施,或者如果实施控制但是是表(T)数据类型,则该值被设置到零。如果每个VESA MCCS规范的返回值长度小于32比特(4字节),则该值被形成为留下被设置为零的最有效(未用)字节的32比特整数。
29.设置VCP特征分组设置VCP特征分组提供主机在客户机中设置连续和不连续控制的VCP控制值的手段、机制或方法。在一个实施例中,客户机利用客户机能力分组的显示特征能力指示符字段的比特20,指示支持设置VCP特征分组的能力。
一个实施例中的设置VCP特征分组的格式在图72中显示。如图72所示,该类型分组被构成具有分组长度字段、分组类型字段、h客户机ID字段、MCCS VCP码字段、列表中值的数量字段、控制值列表字段和CRC字段。该类型分组通常被标识为类型130,如2字节类型字段中所指示的,是不算分组长度字段的20字节长。
h客户机ID字段再次使用2字节值指定或充当客户机ID。该字段留给将来使用,并且当前被设置为零。MCCS VCP码字段使用2字节信息或值来指定待调整的MCCS VCP控制码参数。列表字段中值的2字节数量包含指定存在于控制值列表中的16比特值的数量的信息或值。控制值列表将经常包含一项,除非MCCS控制码涉及客户机中的列表。在不涉及表的控制的情况中,控制值列表将包含一个值,该值指定写到控制参数上的新值,其中该控制参数由MCCS VCP码字段指定。对于涉及表的控制,控制值列表中数据的格式由指定的MCCS VCP码的参数说明指定。如果列表包含大于一个字节的值,则首先传送最低有效字节,这符合别处定义的方法。最后,2字节CRC字段包含分组中所有字节的16比特CRC,包含分组长度。
30.请求有效参数分组请求有效参数分组用作请求客户机返回有效参数答复分组(包含由指定的非连续(NC)或表(T)控制所支持的参数的列表)的手段或机制。该分组应当仅仅指定非连续控制或者涉及客户机中的表的控制,但是不指定65535(0xffff)的MCCS VCP码值来指定所有控制。如果不支持或者无效MCCS VCP码被指定,则在有效参数答复分组中返回适当误差值。在一个实施例中,客户机利用显示能力分组的显示特征能力指示符字段,指示支持请求有效参数分组的能力。
一个实施例中的请求有效参数分组的格式在图73中显示。如图73所示,该类型分组被构成具有分组长度字段,分组类型字段,h客户机ID字段,MCCS VCP码字段,CRC字段。该类型分组在一个实施例中通常被标识为类型131,如2字节类型字段中所指示的那样。
分组长度,如2字节分组长度字段中所指示的,它通常被设置为具有分组中字节的总数,不包括8的分组长度字段。h客户机ID再次指定客户机ID,但是目前留给将来使用,如本领域熟练技术人员知道的那样,该ID被设置为零。2字节MCCS VCP码字段包含指定待查询的非连续MCCS VCP控制码参数。该字段中的值应当对应于在客户机中实施的非连续控制。值256至65535(0xffff)通常被保留,或者认为有效,并且认为错误响应中的不执行的控制。
31.有效参数答复分组有效参数答复分组响应请求有效参数分组而发送。它用作标识用于非连续MCCS VCP控制或返回表的内容的控制的有效设置的手段、方法或机制。如果控制涉及客户机中的表,则VCP参数答复列表仅仅包含被请求的连续表值的特定列表。如果表的内容不适合单个有效参数答复分组,则客户机可以发送具有连续答复序号的多个分组。在一个实施例中,客户机利用显示能力分组的显示特征能力指示符字段的比特20,指示支持有效参数答复分组的能力。
主机可以以以下方式请求表中的内容主机发送设置VCP特征分组,该分组包含需要或预期参数,比如读/写参数,LUT偏移和RGB选择;然后由主机发送指定预期控制的请求有效参数分组;接着,客户机返回包含表数据的一个或多个有效参数答复分组。该操作的序列执行与MCCS操作模型中描述的表读功能类似的功能。
如果客户机不支持特定客户机参数,则在一个实施例中,该分组的相应字段将包含255的值。对于客户机中使用的参数,相应的字段应当包含客户机中参数的值。
用于一个实施例的有效参数答复分组的格式被显示在图74中。如图74所示,该类型分组被构成具有分组长度字段,分组类型字段,c客户机ID字段,MCCS VCP码字段,响应码字段,答复序号字段,列表中的数字值字段,VCP参数答复列表字段和CRC字段。该类型分组对于一个实施例通常被设置为类型132,如2字节类型字段中所指示的那样。
如从上述讨论所知,c客户机ID字段为将来客户机ID保留,而3字节MCCS VCP码分组包含指定由该分组描述的不连续MCCS VCP控制码参数的值。如果由请求有效参数分组指定无效MCCS VCP控制码,则将在该字段中利用响应码字段中适当值,选定相同的无效参数值。如果MCCS控制码是无效的,则VCP参数答复列表具有零长度。
响应码字段包含指定响应的特性的信息或值的2字节,所述响应涉及关于指定的MCCS VCP控制的信息的请求。如果该字段中的值等于0,则认为该数据类型没有差错出现,并发送序列中最后有效参数答复分组,它具有最高答复序号。如果该字段中的值等于1,则认为未出现差错,但是将发送具有较高序号的其它有效参数答复分组。如果该字段中的值等于2,则不认为在客户机中正在实施指定控制。如果该字段id中的值等于3,则指定的控制不是非连续控制(它是连续控制,总是具有从零到最大值的所有值的有效设置)。等于4至65535的该字段的值留给将来使用,并且通常不使用。
2字节答复序号字段指定由客户机返回的有效参数答复分组的序号。客户机响应请求有效参数分组,返回一个或多个有效参数答复分组。客户机可以把VCP参数答复列表扩展到多个有效参数答复分组上。在该后者情况中,客户机将把序号分配给每个连续分组,并在序列中的除了最后分组的所有分组中把响应码设置到1。序列中的最后有效参数答复分组将具有最高答复序号,并且响应码包含0值。
列表字段中值的2字节数量指定存在于VCP参数答复列表的16比特值的数量。如果响应码不等于零,则列表参数中值的数量为零。VCP参数答复列表字段包含0至327602-字节值的列表,它指示由MCCS控制码字段指定的非连续控制的有效值组。非连续控制码的标识在VESA MCCS规范中详细说明。最后,在该实施例中,CRC字段包含分组中所有字节的16比特CRC,包括分组长度字段。
α-光标图像经由通信链路通信数据的MDD接口和关联的发明协议和机制提供彼此重叠的多个像面,并且可以具有透明的可变等级。可以使用具有可变X-Y偏移地重叠图像实现硬件光标。下面提供了α光标功能的概述和有关的协议支持。α光标图像能力分组中定义了支持α光标图像分组的能力,它响应于请求特定状态分组而被发送。
32.α光标图像能力分组α光标图像能力分组用来定义客户机中α光标图像和关联的透明图的特征。在一个实施例中,客户机利用有效状态答复列表分组的有效参数答复列表中133的参数值,指示支持α光标图像能力分组的能力。分组长度字段中指定的分组长度被设置为用于一个实施例的20的固定值,不包括分组长度字段。
一个实施例的α光标图像能力分组的格式被显示在图75中。如图75所示,该类型分组被构成具有分组长度字段,分组类型字段,c客户机ID字段,α光标指示符字段,α光标位图宽度字段,α光标位图高度字段,RGB能力字段,单色能力字段,保留1字段,YCrCb能力字段,透明图Res字段,能力比特字段,和CRC字段。c客户机ID字段通常留给将来的客户机ID使用,并且当前被设置为零。
α光标标识符字段(2字节)包含标识特定α光标平面的值。如果客户机支持α光标图像平面,则α光标标识符具有0至n-1的有效范围。在一个实施例中,值n由显示器能力分组的α光标图面字段选定。客户机返回用于每个α光标像面的唯一α光标图像能力分组。
2字节α光标位图宽度字段值指定被表示为多个像素的α光标位像的宽度,而2字节α光标位图高度字段值指定被表示为多个像素的α光标位像的高度。
RGB能力字段使用2字节指定可以以RGB格式显示的分辨率的比特数。如果客户机不能使用RGB格式,则该值为零。RGB能力字由在一个实施例中实施的三个单独的值组成,使得比特3至0定义每个像素中蓝色(蓝色强度)比特的最大数量;比特7至4定义每个像素中绿色(绿色强度)比特的最大数量;比特11至8定义每个像素中红色(红色强度)的比特的最大值;比特15至12留给将来在展现RGB能力信息中使用,所以它们现在通常被设置为零。
1字节单色能力字段用来指定可以按单色格式显示的分辨率的比特数量。如果客户机不可能使用单色格式,则该值被设置为零。比特7至4留给将来使用,通常设置为零。比特3至0定义可以存在于每个像素的灰度级的最大比特数。这四个比特使得它能够指定每个像素由1至15比特组成。如果值为零,则客户机不支持单色格式。
1字节保留1字段包含通常留给将来使用的值,并由此使该字段中所有比特都设置为零。这将使得后续2字节字段对准16比特字地址,以及使4字节字段对准32比特字地址。
2字节Y Cb Cr能力字段包含指定可以按Y Cb Cr格式显示的分辨率的比特数量。如果客户机不能使用Y Cr Cb格式,则该值为零。通常在一个实施例中,Y Cb Cr能力字由三个单独值组成比特3至0定义指定Cr采样的最大比特数;比特7至4定义指定Cb采样的最大比特数;比特11至8定义指定Y采样的最大比特数;比特15至12保留以供将来显现Y Cb Cr能力信息或值时使用,但是目前设置为零。
1字节透明图分辨率字段包含指定α光标图像透明图的每个像素位置的比特(深度)数量的值或信息。该值范围为1至8。如果该值为零,则不支持用于该α光标图像缓存器(α光标标识符字段指定的缓存器)的透明图。
1字节能力比特字段提供包含一组标志的值或信息,指定与α光标图像缓存器关联的能力。在一个实施例中,定义该标志使得比特0用来选择将处于打包格式中的α光标视频流分组中的像素数据。比特1用来显示将处于打包格式中α光标透明分组中透明图数据。字节对准和打包透明图数据的实例在图76中显示。比特2用来显示α光标像面支持使用α光标图像偏移分组的图像偏移能力。比特3用来显示α光标像面可以支持彩色图数据格式。与用于主图像缓存器和缩放视频流的彩色图相同的彩色图表供α光标像面使用。使用在别处说明的彩色图分组来配置该彩色图。
比特7至4留给将来使用,因此通常被设置为零值或逻辑电平。
33.α光标透明图分组α光标透明图分组定义用于指定α光标像面的图像透明图的内容。某些应用可以需要透明图,它大于可以在单个分组中传送的数据量。在这些情况下,通过使用下面所述的透明图X和Y起点字段,可以发送多个α光标透明图分组,其每个具有透明图的不同子集。这些字段以和视频流分组的X起点和Y起点字段的相同方式操作。客户机使用由α光标图像能力分组的α光标标识符字段指定的每个特定α光标面的α光标图像能力分组的透明图分辨率字段,指示支持一个实施例中α光标透明图分组的能力。分组长度和客户机ID字段的操作如同上述其它分组的操作。在一个实施例中,分组类型字段中134的值用来把分组标识为α光标透明图分组。
用于一个实施例的α光标透明图分组的格式在图76中示出。如图76所示,该类型分组被构成具有分组长度字段,分组类型字段,h客户机ID字段,α光标标识符字段,透明图X起点字段,透明图Y起点字段,透明图分辨率字段,保留1字段,参数CRC字段,透明图媒体字段,透明图数据CRC字段。
2字节α光标标识符字段具有标识特定α光标平面的值。如果客户机支持n个α光标像面,则α光标标识符具有0至n-1的有效范围。
2字节透明图X和Y起点字段分别指定绝对X和Y坐标,其中点(透明图X起点,透明图Y起点)是以下透明图数据字段中的第一像素。
透明图分辨率字段(1字节)包含指定透明图的分辨率和是否打包数据的值。在该字段的一个实施例中,比特3至0定义存在于所有透明图表项的分辨率比特数量。有效值指定从1到8比特的宽度。值0和9至15被认为无效。该值应当匹配客户机在α光标图像能力分组中透明图分辨率字段中返回的值。比特6至4留给将来使用,因此此时通常被设置为逻辑零。该字节的比特7指定透明图数据是打包还是取字节对准形式。如果比特7等于‘1’,则透明图数据为打包形式,如果等于‘0’,则数据被字节对准。打包和字节对准透明图数据的实例被显示在别处。该比特的值必需匹配α光标图像能力分组的能力比特字段的比特1的值。
1字节保留1字段留给将来使用,因此该字段中所有比特通常被设置为等于逻辑零电平。该字段的一个目的是使所有后续2字节字段对准16比特字地址并且使4字节字段对准32比特字地址。
参数CRC字段包含从分组长度到保留1字段的所有字节的16比特CRC。如果该CRC不能校验,则整个分组被丢弃。
对于透明图数据字段,每个透明图位置在宽度上是1至8比特。如果单个透明图不能适合一个α光标透明图分组,则可以通过发送多个分组,指定整个透明图,其中每个分组具有不同透明图数据和透明图X和Y起点值。
2字节透明图数据CRC字段包含仅仅为透明图数据的16比特CRC。如果CRC不能校验,则仍然可以使用透明图数据,但是将递增CRC差错计数。
34.α光标图像偏移分组α光标图像偏移分组指定来自主显示器图像的左上角的光标的X和Y偏移。图77显示了α光标图像偏移分组的格式。如图77所示,在一个实施例中,α光标图像偏移分组被构成具有分组长度字段,分组类型字段,h客户机ID字段,α光标X偏移字段,α光标Y偏移字段,CRC字段。在一个实施例中,客户机利用α光标图像能力分组的能力比特字段的比特2来指示支持α光标图像偏移分组的能力,其中,α光标图像能力分组用于由α光标图像能力分组的α光标标识符字段指定的每个特定α光标平面。在一个实施例中,分组长度被固定在10,如2字节分组长度字段中所示。在一个实施例中,135的分组类型把分组标识为α光标图像偏移分组。
2字节α光标X和Y偏移字段包含分别指定最左列和顶行的水平和垂直偏移,所述偏移分别来自主图像的左侧和顶部的光标图像的像素。h客户机ID-2字节包含为客户机ID保留的16比特无符号整数。该字段留给将来使用并且将被设置为零。
35.α光标视频流分组α光标视频流分组携带视频数据以更新α光标像面的矩形区域。该区域的尺寸可以是与单个像素一样大或者与整个显示器一样大。α光标视频流分组的格式在图78中示出。如图78所示,在一个实施例中,α光标视频流分组被构成具有分组长度字段、分组类型字段、b客户机ID字段、视频数据格式属性字段、X左边缘字段、Y顶边缘字段、X右边缘字段、Y底边缘字段、X起点字段、Y起点字段、像素计数字段、参数Crc像素数据字段、像素数据CRC字段。在一个实施例中,客户机利用由α光标图像能力分组的α光标标识符分组指定的每个特定α光标平面的α光标图像能力分组,指示支持α光标视频流分组和它的关联参数的能力,并且分组类型字段中17的值指示一个分组或将其标识为是α光标视频流分组。h客户机ID字段(2字节)保留,用于将来作为客户机ID使用,同时通常将其设置为零,正如在该领域中将会很好理解那样。
2字节视频格式描述符字段包含指定当前分组中当前流中像素数据的每个像素的格式的信息或值。像素数据格式必需服从α光标图像能力分组中定义的α光标像面的至少一个有效格式。视频数据格式描述符字段包含仅定义当前分组的像素格式的值,该值并不是暗示恒定的格式将连续用于特定视频流的终生。图11示出了如何编码视频数据格式描述符。其格式如下在一个实施例中,当比特[15:13]是‘000’时,视频数据由单色像素的阵列构成,其中每像素比特数由视频数据格式描述符字的比特3至0定义。然后,把比特11至4被设置为零。当比特[15:13]是‘001’时,则视频数据由颜色像素的阵列组成,该颜色阵列分别经由彩色图(调色板)指定颜色。视频数据格式描述符字的比特5至0定义每像素的比特数,并且比特11至6被设置为零。当比特[15:13]是‘010’时,视频数据由行RGB格式的彩色像素的阵列组成,其中红色的每像素的比特数由比特11至8定义,绿色的每像素比特数由比特7至4定义,并且蓝色的每像素比特数由比特3至0定义。每个像素中比特总数是供红、绿、蓝使用的比特数之和。
当比特[15:13]是‘011’时,视频数据由具有亮度和色度信息的4:2:2 Y Cb Cr格式的视频数据阵列组成。亮度(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是单行中从左到右的四个连续像素的亮度值。颜色部分的排序与微软UYVYFOURCC格式相同。如果视频流分组引用的窗口的行(X右边缘-X左边缘+1)中存在奇数像素,则与每行中最后像素对应的Cb值后面紧跟的将是下一行的第一像素的Y值。
使用Y Cb Cr格式的窗口最好具有为偶数像素的宽度的窗口。分组中的像素数据应当包含偶数像素。在像素数据的最后像素对应视频流分组报头中指定的窗口中行的最后像素的情况中,即当像素数据中最后像素的X位置等于X右边缘时,它可以包含奇数或偶数个像素。
对于所有五种格式,比特12(在图中指定为“P”)指定是否打包像素数据采样。当比特12的值为‘0’时,像素数据字段中每个像素和每个像素内每种颜色与MDDI接口字节边界是字节对准的。当比特12的值为‘1’时,对照未留下未使用比特的在前像素或颜色,打包像素数据中每个像素和每个像素内的每种颜色。
在一个实施例中,像素数据属性字段(2字节)具有如下解释的一系列比特值。比特1和0选择如何发送显示器像素数据。对于‘11’数据的比特值,向双眼显示数据,对于比特值‘10’,仅把数据发送给左眼,对于比特值‘01’,仅把数据发送给右眼。
比特2指示像素数据是否以隔行扫描格式显现,‘0’的值意味着像素数据处于标准渐进格式,并且当从一行前进到下一行时,行号(像素Y坐标)递增1。当该比特具有‘1’值时,像素数据处于隔行扫描格式,并且当从一行前进到下一行时,行号递增2。比特3指示像素数据处于交替像素格式。这类似于由比特2启用的标准隔行扫描模式,但是隔行扫描是垂直的而不是水平的。当比特3是‘0’,像素数据处于标准渐进格式,并且列号在收到每个连续像素时(像素X坐标)递增1。当比特3是‘1’时,像素数据处于交替像素格式,并且列号在收到每个像素时递增2。
比特4指示像素数据是否涉及显示器或摄像机,其中向或从用于无线电话机或类似装置或甚至便携计算机或上述这种其它装置的内部显示器传送数据,或者向或从嵌入或者直接连接该装置的摄像机传送数据。当比特4是‘0’时,向或从显示器帧缓存器传送像素数据。当比特4是‘1’时,向或从摄像机或者某种类型的视频装置(这种装置是本领域公知的)传送像素数据。
比特5被保留,以用于MDD接口的将来使用或应用,因此通常被设置为零值或‘0’。
比特7和6是显示器更新比特,指定将写入像素数据的帧缓存器。更特别效果在别处讨论。对于‘01’的比特值,把像素数据写入脱机图像缓存器。对于‘00’比特值,把像素数据写入用来刷新显示器的图像缓存器。对于‘11’比特值,把像素数据写入所有图像缓存器。‘10’的比特值或组合被视为无效值,或者指定和像素数据不予理睬,并且不写入任何图像缓存器。该值具有接口的将来应用的用途。
比特8至15留给将来使用,因而通常被设置为零。
在一个实施例中,2字节X起点和Y起点字段指定像素数据字段中第一像素的点(X起点,Y起点)的绝对X和Y坐标。2字节X左边缘和Y顶边缘指定像素数据字段填充的α光标图像窗口的左边缘的X坐标和顶边缘的Y坐标,而X右边缘和Y底边缘字段指定更新的α光标图像窗口的右边缘的X坐标和底边缘的Y坐标。
像素计数字段(2字节)指定以下像素数据字段中像素的数量。
2字节参数CRC字段包含从分组长度到像素计数的所有字节的CRC。如果该CRC不能校验,则丢弃整个分组。
像素数据字段包含待显示的原始视频信息,并且按照视频数据格式描述符字段所述的方式安排该信息格式。正如别处讨论的那样,数据被每次一行地传送。
像素数据CRC字段(2字节)包含像素数据的16比特CRC。如果该值的CRC验证失败,则可以使用该像素数据,但是递增CRC误差计数。
缩放视频流图像MDD接口或协议机制或方法提供允许主机向客户机发送图像的缩放视频流图像(较之原始图像放大或缩小的图像)的支持,并且该缩放图像被复制到主图像缓存器。别处提供了缩放视频流功能和关联的协议支持的概述。缩放视频流能力分组定义了支持缩放视频流的能力,并响应答复特定状态分组而发送。
36.缩放视频流能力分组缩放视频流能力分组定义了客户机中或使用的缩放视频流源图像的特征。缩放视频流能力分组的格式通常被显示在图79中。如图79所示,在一个实施例中,缩放视频流能力分组被构成具有分组长度字段,分组类型字段,c客户机ID字段,流的最大数字段,源最大X尺寸字段,源最大Y尺寸字段,RGB能力字段,单色能力字段,保留1字段,Y Cr Cb能力字段,保留2字段,CRC字段。在一个实施例中分组长度被选择为固定的20字节,如长度字段所示,包括2字节c客户机ID字段(留给客户机ID使用并设置为零)和CRC字段。在一个实施例中,客户机利用有效状态答复列表分组的有效参数答复列表中143的参数值,指示支持缩放视频流能力分组的能力。
流字段的2字节最大数包含一个指定可以同时分配的同时缩放视频流的最大数的值。在一个实施例中,如果缩放视频流的最大数已经被分配,则客户机应当拒绝分配缩放视频流的请求。如果小于分配的缩放视频流的该最大数,则客户机也可以基于客户机中其它源限制,拒绝分配请求。
源最大X大小和Y大小字段(2字节)指定被表示为多个像素的缩放视频流源图像的最大宽度和高度的值。
RGB能力字段使用诸多值指定可以以RGB格式显示的分辨率的比特数量。如果缩放视频流不能使用RGB格式,则该值被设置为零。RGB能力字由三个单独的无符号值组成定义每个像素中蓝色(蓝色强度)的最大比特数的比特3至0,定义每个像素中绿色(绿色强度)的最大比特数的比特7至4,定义每个像素中红色(红色强度)的最大比特数的比特11至8,而比特15至12保留,供将来能力定义使用,并且通常被设置为零。
1字节单色能力字段包括指定可以以单色格式显示的分辨率的比特数的值。如果缩放视频流不能使用单色格式,则该值被设置为零。比特7至4留给将来使用,因此对于当前应用应当被设置为零(‘0’),尽管本领域熟练技术人员将会明白这可以随时间改变。比特3至0定义可以存在于每个像素中的灰度级的最大比特数。这四个比特使得它能够详细说明每个像素由1至15个比特组成。如果该值为零,则缩放视频流不支持单色格式。
保留1字段(这里是1字节)保留,以便将来在提供涉及缩放视频流分组信息或数据的值时使用。因此,该字段的所有比特目前都被设置为逻辑‘0’。该字段的一个目的是使所有后续2字节字段对准16比特字地址以及使4字节字段对准32比特字地址。
2字节Y Cb Cr能力字段包含指定可以以Y Cb Cr格式显示的分辨率的比特数的值。如果缩放视频流不能使用Y Cb Cr格式,则该值为零。Y Cb Cr能力字由三个单独的无符号值组成比特3至0,用于定义指定Cr采样的最大比特数;比特7至4,用于定义指定Cb采样的最大比特数;比特11至8,用于定义指定Y采样的最大比特数;以及比特15至12,留给将来使用,并通常设置为零。
1字节能力比特字段包含一组标志,用于指定与缩放视频流关联的能力。该标志被定义如下比特0包含可以分组格式的缩放视频流分组中的像素数据。分组和字节对准数据的实例被显示在图12中。比特1留给将来使用并且将被设置为零;比特2留给将来使用,并且将被设置为零;比特3包含可以按彩色图数据格式指定的缩放视频流。与用于主图像缓存器和α光标像面相同的彩色图表用于缩放视频流。彩色图使用在别处描述的彩色图分组来配置;比特7至4留给将来使用并且通常被设置为零。
保留2字段(这里是1字节)保留,以便在将来提供涉及缩放视频流分组信息或数据的值时使用。因此,该字段中所有比特目前被设置为逻辑‘0’。该字段的一个目的是使所有后续2字节字段对准16比特字地址,并使4字节字段对准32比特字地址。
37.缩放视频流设置分组缩放视频流设置分组用来定义缩放视频流的参数,并且客户机利用该信息分配图像的缓存和缩放的内部存储器。通过发送该分组与等于零的X图像大小和Y图像大小字段,可以解除流的分配。已经解除分配的缩放视频流随后可以用相同或不同流参数再分配。在一个实施例中,客户机利用有效状态答复列表分组的有效参数答复列表中143的参数值,并通过使用缩放视频流能力分组的流字段的最大数中的非零值,指示支持缩放视频流设置分组的能力。
缩放视频流设置分组的格式被一般地显示在图80中。如图80所示,在一个实施例中,缩放视频流设置分组被构成具有分组长度字段、分组类型字段、h客户机字段、流ID字段、可视数据格式描述符字段、像素数据属性字段、X左边缘字段、Y顶边缘字段、X右边缘字段、Y底边缘字段、X图像大小字段、Y图像大小字段和CRC字段。
2字节分组长度字段指定不包含分组长度字段的分组中字节总数。在一个实施例中,该分组长度被固定为24。2字节分组类型字段利用136的值把该分组标识为缩放视频流设置分组。2字节h客户机ID字段被保留以便将来用作客户机ID,并且通常被设置为目前的全零值,或者直至协议用户确定使用什么ID值,像人们所知的那样。
流ID字段使用2字节指定流ID的唯一标识符。该值由主机分配,并且将是从零到显示能力分组中指定的最大流ID值。主机必需仔细管理流ID值的使用,以确保每个有效流被分配唯一值,并且不再有效的流被解除分配或者再分配。
在一个实施例中,视频数据格式描述符字段利用2字节指定目前分组中目前流的像素数据的每个像素的格式。像素数据格式应当服从用于α光标图像能力分组中定义的α光标像面的至少一个有效格式。视频数据格式描述符仅仅定义用户目前分组的像素格式,并且不暗示恒定格式将持续用于特定视频流的生存期内。图11示出了视频数据格式描述符如何被编码的实施例,如用于其它分组的讨论。
2字节像素数据属性字段具有如下说明的值比特1和0选择像素数据应当被发送到的显示部分。
比特[1:0]=11或00-向双眼显示数据。
比特[1:0]=10-仅向左眼发送数据。
比特[1:0]=01-仅向右眼发送数据。
比特2指示像素数据是否处于隔行扫描格式。当比特2为0时,像素数据处于标准渐进格式;当从一行前进到下一行时,行数(像素Y坐标)应当递增1。当比特2为1时,像素数据处于隔行扫描格式;当从一行前进到下一行时,行号(像素Y坐标)应当递增2。
比特3指示像素数据是否处于替代的像素格式。这类似于由比特2使能的标准隔行扫描模式,但是该标准隔行扫描是垂直的而不是水平的。当比特3为0时,像素数据处于标准渐进格式;随着接收每个连续像素,列号(像素X坐标)将递增1。当比特3为1时,像素数据处于替代的像素格式;当接收每个像素时,列号(像素X坐标)将递增2。
比特4指示像素数据是否涉及显示器或摄像机。当比特4为0时,像素数据到达或来自显示器帧缓存器。当比特4是1时,像素数据到达或者来自摄像机。
比特5留给将来使用,并因此通常被设置为零。
比特7和6是显示器更新比特,用于指定将写入像素数据的帧缓存器。帧更新比特的效果在别处作了详细说明。当比特[7:6]是‘01’时,像素数据被写入脱机图像缓存器。当比特[7:6]是‘00’时,像素数据被写入图像缓存器,用来刷新显示器。当比特[7:6]是‘11’时,像素数据被写入所有图像缓存器。如果比特[7:6]是‘10’,则被视为无效值。这些比特目前留给将来使用。在此情况中,像素数据将不予理睬并且不写入任何图像缓存器。
比特8至15留给将来使用并且将被设置为零。
2字节X左边缘、Y顶边缘、X右边缘、Y底边缘字段分别指定左边缘的X坐标,顶边缘的Y坐标,右边缘的X坐标,和目的地图像的底边缘。2字节X图像大小和Y图像大小字段分别指定源图像的宽度和高度。此外,CRC字段包含分组中所有字节的CRC,包括分组长度。
38.缩放视频流确认分组缩放视频流确认分组允许客户机确认缩放视频流设置分组的接收。客户机将经由有效状态答复列表分组的有效参数答复列表中143的参数值,以及经由缩放视频流能力分组的流字段的最大数中的非零值,指示支持缩放视频流确认分组的能力。
缩放视频流确认分组的格式在图81中被一般显示。如图81所示,在一个实施例中,缩放视频流确认分组被构成具有分组长度字段、分组类型字段、C客户机字段、流ID字段、ACK码字段、CRC字段。2字节分组长度字段被用来指定具有用于该分组类型的10的值的,除分组长度字段之外的字节总数,而137的分组类型把该分组标识为缩放视频流确认分组。
2字节c客户机ID字段被保留,以便将来用于客户机ID,并且通常被设置为零。2字节流ID字段指定用于流ID的唯一标识符。这是主机在缩放视频流设置分组中分配的相同值。
2字节Ack码字段提供包含描述试图更新特定缩放视频流的结果的代码。在一个实施例中,代码定义如下0-流分配尝试成功。
1-流解分配尝试成功。
2-分配已经分配的流ID的无效尝试。
3-解除分配已经解分配的流ID的无效尝试。
4-客户机不支持缩放视频流。
5-流参数与客户机能力不相容。
6-流ID值大于客户机容许的最大值。
7-客户机中可用来分配指定流的不充足资源。
2字节CRC字段包含分组中所有字节的CRC,包括分组长度。
39.缩放视频流分组缩放视频流分组用来传送与指定缩放视频流关联的像素数据。该分组引用的区域的大小被缩放视频流设置分组定义。客户机将经由有效状态答复列表分组的有效参数答复列表中143的参数值,并利用缩放视频流确认分组的Ack代码字段中成功缩放视频流分配响应,指示支持缩放视频流分组的能力。
缩放视频流分组的一个实施例的格式被一般地显示在图82中。如图82所示,缩放视频流分组被构造成具有分组长度字段,分组类型字段,h客户机ID字段,流ID字段,参数CRC字段,像素计数字段,像素数据字段和像素数据CRC字段。2字节分组类型字段使用18的值把该分组标识为缩放视频流分组。h客户机ID字段为客户机ID而保留,并通常被设置为零。如前所述,2字节流ID字段指定用于流ID的唯一标识符。该值由主机在缩放视频流设置分组中指定,并在缩放视频流确认分组中确认。
2字节像素计数字段指定以下像素数据字段中像素的数量。2字节参数CRC字段具有从分组长度到像素计数的所有字节的CRC。如果该CRC不能校验,则整个分组应当被丢弃。2字节像素数据字段包含将先被缩放然后显示的行视频信息。数据按照视频数据格式描述符字段描述的方式被格式化。如上定义的那样,数据是一次一行传送的。
2字节像素数据CRC字段包含仅为像素数据的CRC。如果该CRC不能校验,则像素数据将仍然使用,但是CRC差错计数将被递增。
40.请求特定状态分组请求特定状态分组提供主机请求客户机将能力分组或状态分组回送给该分组中指定的主机的手段、机制或者方法。客户机返回下一个反向链路封装分组中指定类型的分组。如果客户机具有响应请求特定状态分组的能力,客户机将在客户机能力分组的客户机特征能力字段中设置比特17。客户机将利用客户机能力分组的客户机特征能力字段的比特21,指示它的支持请求特定状态分组的能力。
请求特定状态分组的一个实施例的格式被一般地显示在图83中。如图83所示,请求特定状态分组被构成具有分组长度字段、分组类型字段、h客户机ID字段、状态分组ID字段和CRC字段。
分组长度字段指定不包含分组长度字段的分组中字节总数,并且通常被固定为用于该分组类型的10的值。138的分组类型把该分组标识为请求特定状态分组。
h客户机ID字段(2字节)被保留以便将来用作客户机ID,并且现在被设置为零。
2字节状态分组ID字段指定客户机将要发送给主机的如下的能力分组或状态分组的类型66-客户机能力分组将由客户机发送。
133-α光标图像能力分组将被客户机发送。
139-发送有效状态答复列表分组,该分组标识客户机可以发送的能力和状态分组的精确类型。
140-分组处理延迟参数分组将由客户机发送。
141-个人显示器能力分组将由客户机发送。
142-显示器差错报告分组将由客户机发送。
143-缩放视频流能力分组将被客户机发送。
144-显示器标识分组将被客户机发送。
56至63-可以用于制造商专用能力和状态标识符。
CRC字段再次包含包括分组长度的分组中所有字节的CRC。
41.有效状态答复列表分组有效状态答复列表分组为主机提供客户机能响应的状态和能力列表。客户机可以利用客户机能力分组的客户机特征能力字段,指示支持有效状态答复列表分组的能力。
有效状态答复列表分组的一个实施例的格式被一般地显示在图84中。如图84所示,有效状态答复列表分组被构成具有分组长度字段、分组类型字段、c客户机ID字段、列表中值的数量字段、有效参数答复列表字段和CRC字段。用于该分组类型的分组长度通常被固定为10的值,并且139的类型值把该分组标识为有效状态答复分组。c客户机ID字段被保留以便将来用作客户机ID,并且通常被设置为零。列表字段中值的2字节数量指定以下有效参数答复列表中项目数。
有效参数答复列表字段包含2字节参数的列表,它指定客户机可以发送给主机的能力分组或状态分组的类型。如果客户机已经指示它可以响应请求特定状态分组(使用客户机能力分组中的客户机特征能力字段的比特21),则它至少能够发送客户机能力分组(分组类型=66)和有效状态答复列表分组(分组类型=139)。客户机可以发送并且可以被包含在该列表中的分组类型,与用于一个实施例目的它们相应的分配,是66-客户机能力分组。
133-α光标图像能力分组。
139-有效状态答复列表分组,它标识客户机可以发送的能力分组和状态分组的确切类型。
140-分组处理延迟参数分组。
141-个人显示器能力分组。
142-客户机差错报告分组。
143-缩放视频流能力分组。
144-客户机标识分组。
56至63-可以用于制造商专用能力和状态标识符。
CRC字段包含分组中包括分组长度的所有字节的CRC。
42.分组处理延迟参数分组分组处理延迟参数分组提供一组参数,以允许主机计算完成与特定分组类型的接收有关的处理所需的时间。主机发送的某些命令不能由客户机在零时间完成。主机可以查询显示器请求和状态分组中的状态比特,以确定客户机是否已经完成某些功能,或者主机可以使用客户机在分组处理延迟参数分组中返回的参数,计算完成时间。客户机将利用有效状态列表分组的有效参数答复列表,指示它的支持分组处理延迟参数分组的能力。
分组处理延迟参数分组的一个实施例的格式被一般地显示在图85A中。如图85A所示,分组处理延迟参数分组被构成具有分组长度字段、分组类型字段、c客户机ID字段、列表项(表项)数、延迟参数列表字段、CRC字段。该类型分组的分组长度通常被固定在10的值,并且140的类型值把该分组标识为分组处理延迟参数分组。c客户机ID字段被保留以便将来用作客户机ID,并且通常被设置为零。表项字段的2字节数指定以下有效参数答复列表中项目数。
延迟参数列表字段是包含一个或多个延迟参数表项的列表。单个延迟参数表项的一个实施例的格式在图85B中显示,其中显示了延迟的分组类型字段、像素延迟字段、水平像素延迟字段、垂直像素延迟字段和固定延迟字段。
每个延迟参数表项通常被限制到精确的6字节长度,并且被进一步定义如下延迟字段的2字节分组类型指定下列延迟参数应用的分组类型。
像素延迟字段(1字节)包括对延迟值的索引。从该表读出的值乘以该分组的目的地字段中像素的总数。像素总数是分组引用的位图的目的地区域的宽乘高。
1字节水平像素延迟字段包含对延迟值表(与DPVL相同的表)索引的值。从表中读出的值被分组的目的地字段(像素)宽度相乘。
1字节垂直像素延迟字段包含对延迟值表(与DPVL相同的表)索引的值。从表中读出的值被分组的目的地字段(像素)高度相乘。
固定延迟字段把1字节用作对延迟值表(与DPVL相同的表)索引。从表中读出的值是固定延迟参数,它代表处理不涉及分组中指定的任何参数值的分组所需的时间。总延迟或分组处理完成时间延迟根据以下关系确定延迟=(分组处理延迟(像素延迟)·总像素)+(分组处理延迟(水平像素延迟)·宽度)+(分组处理延迟(垂直像素延迟)·高度)+分组处理延迟(固定延迟)。
对于某些分组,总像素、宽度或者高度不适用,因为相应分组中不引用这些参数。在这些情况下,相应的像素延迟参数通常被设置为零。
43.个人显示器能力分组个人显示器能力分组提供一组参数,该参数描述个人显示器装置如头戴式显示器或显示器眼镜的能力。这能够使主机根据客户机的特定能力定制显示器信息。另一方面,客户机利用有效状态答复列表分组的有效参数答复列表中的相应参数,指示发送个人显示器能力分组的能力。
个人显示器能力分组的一个实施例的格式被一般地显示在图86中。如图86所示,个人显示器能力分组被构成具有分组长度字段、分组类型字段、c客户机ID字段、子像素布局字段、像素形状字段、观看水平场字段、观看垂直场字段、视轴交叉字段、Lft./Rt图像字段、清晰度(see through)字段、最大亮度字段、光学能力字段、最小IPD字段、最大IPD字段、曲率列表的IFeld的点和CRC字段。在一个实施例中,分组长度字段值被固定为68。141的分组类型值把该分组标识为个人显示器能力分组。c客户机ID字段留给将来使用,并且现在通常被设置为零。
子像素布局字段指定从顶到底和从左到右的子像素的物理布局,利用了以下值0指示不定义子像素布局;1指示红、绿、蓝条纹;2指示蓝、绿、红条纹;3指示四方形像素,具有位于顶部左边的红色和位于底部右边的蓝色的2乘2子像素排列,以及两个绿色子像素,其一个位于底部左边而另一个位于顶部右边;4指示四方形像素,具有位于底部左边的红色和顶部右边的蓝色的2乘2子像素排列,以及两个绿色子像素,一个位于顶部左边另一个位于底部右边;5指示增量(三元组);6指示具有红、绿、蓝覆盖(例如,具有字段连续颜色的LCOS显示器)的镶嵌;并且值7至255通常留给将来使用。
像素形状字段指定每个像素的形状,每个由特定配置子像素组成,并利用了以下值0指示不定义子像素形状;1指示圆;2指示正方形;3指示矩形;4指示卵形;5指示椭圆形;并且值6至255保留以便将来用于指示预期形状,这是本领域熟练技术人员可以明白的。
A1字节水平视场(HFOV)字段指定0.5度增量的水平视场(例如,如果HFOV是30度,则该值是60)。如果该值是零,则不指定HFOV。
A1字节垂直视场(VFOV)字段指定0.5度增量的水平视场(例如,如果HFOV是30度,则该值是60)。如果该值是零,则不指定VFOV。
A1字节视轴交叉字段指定0.01.屈光度(1/m)增量的视轴交叉。(例如,如果视轴交叉为2.22米,则该值为45)。如果该值为零,则不指定视轴交叉。{注意参数的说明适合于大多数应用中期望的范围?}A1字节左/右图像重叠字段指定左和右图像的重叠的百分比。图像重叠的百分比的可允许范围是1至100。101至255的值是无效的,不应当使用。如果该值为零,则不指定图像重叠。
A1字节清晰度字段指定图像的清晰度百分比。清晰度百分比的允许范围是0至100。101至254的值是无效的,并且将不使用。如果该值是255,则不指定清晰度百分比。
A1字节最大亮度字段指定20nits的增量的最大亮度(例如,如果最大亮度是100nits,则该值为5)。如果该值是零,则不指定最大亮度。
2字节光能力标志字段包含指定显示器的光学能力的各种字段。这些比特值通常根据以下项来指定比特15至5留给将来使用,将被设置为零;比特4选择眼镜聚焦调整,其‘0’值表示显示器没有眼镜聚焦调整,其‘1’值表示显示器具有眼镜聚焦调整。
比特3至2根据以下各项选择双目镜功能0值代表显示器是双目镜,并且只可以显示2维(2D)图像;1代表显示器是双目镜,并且可以显示3维(3D)图像;2代表显示器是单目镜,并且3留给将来使用。
比特1至0选择左边缘场曲率对称。具有表示不定义场曲率的0值。如果该字段为零,则从A1至E5的所有场曲率值将被设置为零,但是点C3除外,C3将指定显示器的焦距或者被设置为零以指示聚焦不被指定。1的值标识左和右显示器具有相同的对称性;2表示在垂直轴线(列C)上映出左和右显示器;3留给将来使用。
1字节瞳孔间距离(IPD)最小字段指定毫米量级(mm)的最小瞳孔间距离。如果该值为零,则不指定最小瞳孔间距离。1字节瞳孔间距离(IPD)最大字段指定最大瞳孔间距离(毫米mm)。如果该值为零,则不指定最大瞳孔间距离。
场曲率列表字段的点包含25个字节参数的列表,指定具有1至65535范围的屈光度的千分之一的焦距(1/m)(例如1是0.001屈光度以及65535是65.535屈光度)。场曲率列表的点中的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。
44.客户机差错报告分组客户机差错报告充当允许客户机向主机提供操作差错的列表的机制或者手段。客户机可以在它正常操作期间检测作为从主机接收某些命令的结果的差错。这些差错的实例包括客户机可能已经被命令在它不支持的模式下操作,客户机可能已经接收了包含客户机范围之外或者客户机能力之外的某些参数的分组,客户机可能已经被命令以不适当的顺序进入模式。客户机差错报告分组可以用来在正常操作期间检测差错,但是对系统设计员和集成人员在主机和客户机系统的开发和集成中诊断问题最有用。客户机利用有效状态答复列表分组的有效参数答复列表的142的参数值,指示它的发送客户机差错报告分组的能力。
客户机差错报告分组的一个实施例的格式被一般地显示在图87A中。如图87A所示。客户机差错报告分组被构成具有分组长度字段、分组类型字段、c客户机ID字段、表项数字段、差错码列表字段和CRC字段。142的分组类型值把一个分组标识为客户机差错报告分组。c客户机ID字段留给将来使用并且目前通常被设置为零。表项字段(2字节)数指定以下差错码列表中的项目数。差错码列表字段(这里是8字节)是包含一个或多个差错报告表项的列表。单个差错报告表项的格式被显示在图87B中。
在一个实施例中,如图87B所示,每个差错报告表项是精确的4字节长度,并且在一个实施例中具有包含以下内容的结构2字节显示器差错码,指定所报告差错类型;2字节差错子码字段,它详细说明关于由客户机差错码分组定义的差错的更高水平的细节。每个客户机差错码的特定目的地是通过客户机的制造商定义的。不必为每个显示器差错码定义差错子码,并且在不定义差错子码的那些情况下,值被设置为0。每个差错子码的特定定义由客户机的制造商来规定。
45.客户机标识分组客户机标识分组允许客户机响应请求特定状态分组,返回标识数据。在一个实施例中,客户机利用有效状态答复列表分组的有效参数答复列表,指示发送显示器标识分组的能力。这有利于主机能够通过从客户机读出该数据,确定客户机装置制造商名称和型号。该信息可以用来确定客户机是否具有在客户机能力分组中不能描述的特定能力。存在用来从客户机读取标识信息的潜在的两种方法、手段或机制。一种是通过使用客户机能力分组,其包含的字段类似于基础EDID结构中那些字段。另一种方法是通过使用客户机标识分组,其包含比客户机能力分组中类似字段更丰富的一组信息。这允许主机标识还未被分配3字符EISA码的制造商,并且允许序列号包含字母数字的字符。
客户机标识分组的一个实施例的格式被一般地显示在图88中。如图88所示,客户机标识符分组被构成具有分组长度字段、分组类型字段、c客户机ID字段、Mfr的星期字段、Mfr的年字段、Mfr姓名的长度字段、产品名称的长度字段、系列号的长度字段、制造商名称字符串字段、产品名称字符串字段、序号字符串字段和CRC字段。
2字节分组类型字段包含把分组标识为显示器标识分组的值。该值在一个实施例中被选择为144。c客户机ID字段(2字节)再次被保留以便将来用于客户机ID,并且通常被设置为零。CRC字段(2字节)包含分组中包括分组长度的所有字节的16比特CRC。
1字节制造星期字段包含定义显示器制造星期的值。在至少一个实施例中,该值是1到53的范围,如果被客户机支持的话。如果客户机不支持该字段,则它通常被设置为零。1字节制造年字段包含定义客户机(显示器)的制造年的值。该值是从作为起点的1990年偏移,尽管也可以使用其它基本年。该字段可以表达1991至2245范围的年。实例2003年对应于13制造值的年。如果客户机不支持该字段,则它应当被设置为零值。
Mfr名称的长度、产品名称的长度以及序号字段的长度分别包括2字节值,这些2字节值分别指定包含任何空(null)结尾或空填充字符的制造商名称字符串字段的长度,包含任何空结尾或空填充字符的产品名称字符串字段的长度,包含任何空结尾或空填充字符的系列号字符串字段的长度。
制造商名称字符串、产品名称字符串和系列号字符串字段分别包含分别由长度Mfr名称、产品名称和系列号字段指定的字节的变量数,它分别包含ASCII字符串,指定显示器的制造商、产品名称和数字字母系列号。这些字符串的每个由至少一个空字符(null character)终止。
46.替代显示器能力分组替代显示器能力分组指示连接MDDI客户机控制器的替代显示器的能力。响应请求特定状态分组发送该替代显示器能力分组。当提示时,客户机装置发送用于支持的每个替代显示器的替代显示器能力分组。客户机将经由有效状态答复列表分组的有效参数答复列表中145的参数值,指示发送替代显示器能力分组的能力。
对于以内部模式操作的MDDI系统,它通常具有一个以上的连接MDDI客户机控制器的显示器。一个实例应用是具有翻盖内侧上大显示器以及外侧上较小显示器的移动电话。客户机能力分组的Alt显示器字段的数字用来报告配有一个以上的显示器以及替代显示器能力分组报告每个替代显示器的能力。视频流分组包含像素数据属性字段中的4比特,以寻址客户机装置中的每个替代显示器。
替代显示器能力分组的一个实施例的格式被一般地显示在图89中。如图89所示,替代显示器能力分组被构成具有分组长度字段、分组类型字段、c客户机ID字段、Alt显示器号字段、保留1字段、位图宽度字段、位图高度字段、显示器窗口宽度字段、显示器窗口高度字段、彩色图RGB宽度字段、RGB能力字段、单色能力字段、保留2字段、Y Cb Cr能力字段、显示特征能力字段、保留3字段、和CRC字段。145的分组类型值把分组标识为替代显示能力分组。c客户机ID字段留给将来的客户机ID使用并且通常被设置为零。
Alt显示器号码字段使用1字节指示,具有0至15范围的整数的替代显示器的身份。第一替代显示器将是号码0,其它替代显示器将用唯一的Alt显示器号码值标识,所使用的最大值是替代显示器的总数减1。大于替代显示器总数减1的值将不能使用。实例具有连接MDDI客户机的主显示器和主叫ID显示器的移动电话机具有一个替代显示器,所以主叫ID显示器的Alt显示器号码为零,显示器能力分组的Alt显示字段数具有1的值。
保留1字段(1字节)留给将来使用。该字段中所有比特被设置为零。该字段的一个目的是使所有后续2字节字段对准16比特字地址以及使得4字节字段对准32比特字地址。
位图宽度字段使用2字节,指定被表示为多个像素的位图的宽度。位图高度字段使用2字节,指定被表示为多个像素的位图的高度。显示器窗口宽度字段使用2字节,指定被表示为多个像素的显示器窗口的宽度。显示器窗口高度字段使用2字节,指定被表示为多个像素的显示器窗口的高度。
彩色图RGB宽度字段使用2字节,指定可以以彩色图(调色板)显示器模式显示的红、绿、蓝颜色成分的比特数。可以使用用于每个颜色成分(红、绿、蓝)的最大8比特。尽管每个颜色成分的8比特是在彩色图分组中发送的,但是仅仅使用在该字段中定义的每个颜色成分的最低有效比特数。如果显示器客户机不能使用彩色图(调色板)格式,则该值为零。彩色图RGB宽度字由三个单独的无符号值组成
比特3至0定义具有被认为有效的0至8的值的每个像素中蓝色比特的最大数。比特7至4定义具有被认为有效的0至8的值的每个像素中绿色比特的最大数。比特11至8定义具有被认为有效的0至8的值的每个像素中红色比特的最大数。比特14至12留给将来使用,并且通常被设置为零。比特15用来指示客户机接受打包或者未打包格式的彩色图像素数据的能力。当比特15被设置为逻辑1电平时,这指示客户机可以接受打包或者未打包格式的彩色图像素数据。如果比特15被设置为逻辑零,则这指示客户机仅可以接受未打包格式的彩色图像素数据。
RGB能力字段使用2字节指定可以按RGB格式显示的分辨率的比特数。在一个实施例中,如果客户机不能使用RGB格式,则该值被设置为等于零。RGB能力字由三个单独的无符号值组成比特3至0定义每像素中蓝色(蓝色强度)比特的最大数,比特7至4定义每像素中绿色(绿色强度)比特的最大数,比特11至8定义每像素中红色(红色强度)比特的最大数。比特14至12留给将来使用并且设置为零。比特15用来指示客户机接受打包或未打包格式的RGB像素数据的能力。当比特15被设置为逻辑1电平时,这指示客户机可以接受打包或未打包格式的RGB像素数据。如果比特15被设置为逻辑零,则这指示客户机仅仅可以接受未打包格式的RGB像素数据。
1字节单色能力字段包含指定可以以单色格式显示的分辨率的比特数的值或信息。如果客户机不能使用单色格式,则该值被设置为零。比特6至4留给将来使用,并且通常被设置为零。比特3至0定义可以存在于每个像素中的灰度级的最大比特数。这四个比特使得它能够指定每个像素由1至15比特组成。如果该值为零,则客户机不支持单色格式。设置为1时的比特7指示客户机可以接受打包或者未打包格式的单色像素数据。如果比特7被设置为零,则指示客户机仅可以接受未打包格式的单色像素数据。
保留2字段是1字节宽字段,它留给将来使用并具有在该字段中设置为逻辑零电平的所有比特。在一个实施例中,该字段的一个目的是使所有后续2字节字段对准16比特字地址并使得4字节字段对准32比特字地址。
2字节Y Cb Cr能力字段指定可以按Y Cb Cr格式显示的分辨率的比特数。如果客户机不能使用Y Cb Cr格式,则该值被设置为零。Y CbCr能力字由三个单独的无符号值组成比特3至0定义指定Cb采样的最大比特数,比特7至4定义指定Cr采样的最大比特数,比特11至8定义指定Y采样的最大比特数,比特14至12留给将来使用并且被设置为零。设置为1时的比特15指示客户机可以接受打包或者未打包格式的Y Cb Cr像素数据。如果比特15被设置为零,则指示客户机仅可以接受未打包格式的Y Cb Cr像素数据。
1字节Bayer能力字段指定可以按Bayer格式传递的分辨率、像素组和像素次序的比特数。如果客户机不能使用Bayer格式,则该值被设置为零。Bayer能力字由下列值组成比特3至0定义存在于每个像素中的亮度的最大比特数,比特5至4定义可能需要的像素组图案,比特8至6定义需要的像素次序,比特14至9留给将来使用并且被设置为零。设置为1时的比特15指示客户机可以接受打包或者未打包格式的Bayer像素数据。如果比特15被设置为零,则指示客户机仅可以接受未打包格式的Bayer像素数据。
2字节CRC字段包含分组中包括分组长度的所有字节的16比特CRC。
47.寄存器访问分组寄存器访问分组为主机或客户机提供访问MDDI链路的对端中配置和状态寄存器的手段、机制或方法。这些寄存器对于每个显示器或者装置控制器很可能是唯一的。这些寄存器已经存在于需要设置配置、操作模式的许多显示器中,并且具有其它有用和所需的设置。寄存器访问分组允许MDDI主机或客户机使用MDDI链路写入寄存器并请求读取寄存器。当主机或者客户机请求读取寄存器时,对端应当通过发送相同分组类型的寄存器数据,而且通过指示这是借助读/写Info字段从特定寄存器读出的数据,来进行响应。通过指定大于1的寄存器计数,寄存器访问分组可以用来读或写多个寄存器。客户机利用客户机能力分组的客户机特征能力字段的比特22,指示支持寄存器访问分组的能力。
寄存器访问分组的一个实施例的格式被一般地显示在图90中。如图90所示,寄存器访问分组被构成具有分组长度字段、分组类型字段、c客户机ID字段、读/写标志字段、寄存器地址字段、参数CRC字段、寄存器数据表字段和寄存器数据CRC字段。146的分组类型值把分组标识为寄存器访问分组。b客户机ID字段留给将来使用并且现在通常被设置为零。
2字节读/写标志字段指定特定分组作为写或读,或响应读,并提供数据值的计数。
比特15至14充当读/写标志。如果比特[15:14]是‘00’,则该分组包含待写入一个由寄存器地址字段寻址的寄存器的数据。寄存器数据列表字段中包含待写入指定寄存器的数据。如果比特[15:14]是‘10’,则这是来自由寄存器地址字段寻址的一个或多个寄存器的数据的请求。如果比特[15:14]是‘11’,则分组包含响应寄存器访问分组而请求的数据,该寄存器访问分组具有设置为‘10’的读/写标志的比特15:14。寄存器地址字段包含对应于第一寄存器数据表项的寄存器的地址,并且寄存器数据列表字段将包含从单个地址或多个地址读出的数据。如果比特[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’(它被认为是无效值),并保留用于将来指定或使用。
寄存器地址字段使用4字节指示将写入或读出的寄存器地址。对于寻址小于32比特的寻址寄存器,高位比特被设置为零。
2字节参数CRC字段包含从分组长度到寄存器地址的所有字节的CRC。如果CRC不能校验,则整个分组被丢弃。
寄存器数据列表字段包含待写入客户机寄存器的4字节寄存器数据值或者从客户机装置寄存器读出的值的列表。
2字节寄存器数据CRC字段仅包含寄存器数据列表的CRC。如果该CRC不能校验,则寄存器数据仍然可以使用,但递增CRC差错计数。
D.分组CRCCRC字段出现在分组的尾部,并且有时出现在可以有较大数据字段的分组中某些更关键参数之后,因而在传递期间增加差错的可能性。在具有两个CRC字段的分组中,当只使用一个CRC字段时,CRC生成器在第一CRC之后被再次初始化,所以长数据字段之后的CRC计算不受分组开始时的参数的影响。
在一个典型实施例中,用于CRC计算的多项式被称之为CRC-16、或X16+X15+X2+X0。可用于实施本发明的CRC生成器和校验器3600的样品实施被显示在图36中。在图36中,正好在分组(是在Tx_DDI_Data_Before_CRC线路上输入的)的第一比特传送之前,把CRC寄存器3602初始化到0x0001的值,然后首先从LSB开始,把分组的字节移位到寄存器中。请注意,图中的寄存器比特数对应于所用多项式的次序,而不是MDDI所用的比特位置。更有效的是,单方向移位CRC寄存器,由此导致具有出现在MDDI CRC字段的比特位置0处的CRC比特15,和MDDI CRC字段比特位置1中的CRC寄存器比特14等等,直至到达MDDI比特位置14。
作为实例,如果显示器请求和状态分组的分组内容为0x07、0x46、0x000400、0x00(或者,表示为如下字节序列0x07,0x00,0x46,0x00,0x04,0x00,0x00),并且利用多路复用器3604和3606和NAND门3608的输入提交,则在Tx_DDI_Data_With_CRC线路上的合成CRC输出是0x0eal(或者被表示为如0xal、0x0e的序列)。
当CRC生成器和校验器3600被配置为CRC校验器时,把Rx_MDDI_Data线路上接收的CRC输入给多路复用器3604和NAND门3608,并且与具有NOR门3610、异或门(XOR)门3612和AND门3614的CRC寄存器中发现的值逐比特比较。如果存在如AND门3614输出的任何差错,则通过把门3614的输出连接到寄存器3602输入,为包含CRC差错的每分组,递增CRC一次。请注意,图36的附图所示的实例电路可以在给定的CHECK_CRC_NOW窗口(参见图37B)内输出一个以上的CRC差错信号。因此,CRC差错计数器通常仅仅对CHECK_CRC_NOW有效的每个间隔内的第一CRC差错实例进行计数。如果配置为CRC生成器,则在与分组尾部重合的时间,对没有对准CRC寄存器的CRC计时。
输入和输出信号的定时以及使能信号被一般地显示在图37A和37B中。CRC的生成和数据分组的传输被显示在图37A中,图中还同时显示Gen_Reset、Check_CRC_Now、Generate_CRC_Now以及Sending_MDDI_Data信号,加之Tx_DDI_Data_Before_CRC和Tx_MDDI_Data_With_CRC信号。数据分组的接收和CRC值的校验被显示在图37B中,图中还同时显示Gen_Reset、Check_CRC_Now、Generate_CRC_Now以及Sending_MDDI_Data信号,加之Rx_MDDI_Data和CRC差错信号。
E.用于分组CRC的差错码过载每当只有数据分组和CRC在主机与客户机之间传送,就不会存在提供的差错码。唯一的差错是丢失了同步。另外,由于缺乏良好数据传输路径或通道,不得不等候链路超时,然后复位链路并继续进行。遗憾的是,这消耗时间并且效率不高。
为了在一个实施例中使用,已经开发了一种新技术,其中分组的CRC部分用来传送差错码信息。这被一般地显示在图65中。也就是,一个或多个差错码由处理器或处置数据传送的装置生成,所述差错码指示也许出现在通信处理或者链路内的特定的预定差错或者缺点。当遇到差错时,生成适当差错码,并利用分组的CRC的比特传送。也就是,CRC值是过载的或者用预期差错码写满的,这可以在接收端由监视CRC字段的值的差错监视器或校验器检测。对于差错码因某些原因匹配CRC值的那些情况,传送差错的问候以避免混淆。
在一个实施例中,为了提供强健差错警告和检测系统,可以利用在检测到差错之后传送或者发送的一系列分组(通常是所有分组),传送若干次差错码。这发生在从系统中清除建立差错的条件的时刻之前,在此刻,传送正规CRC比特并且没有被其它值过载。
过载CRC值的技术提供对系统差错的更快响应,同时使用最小量的额外比特或字段。
如图66所示,CRC过载机制或设备6600被显示为使用差错检测器或者检测装置6602,它可以构成先前描述的或已知的其它电路的部分,检测通信链路或处理中的差错出现或存在。差错码生成器或装置6604可以成为其它电路的部分或者使用诸如查找表的技术存储预选的差错消息,该生成器或装置6604生成一个或多个差错码,指示出现时检测到的特定预定差错或者缺点。装置6602和6604可以形成为预期的单个电路或装置,或者形成为用于其它已知处理器和元件的步骤地编程序列的部分。
CRC值比较器或者比较装置6606被显示为用于校验,以查看所选差错码是否与正在传送的CRC值相同。如果是这种情况,则代码问候(code compliment)生成器或者生成装置或器件用来提供关于原始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_Data到逻辑1状态约为MDDI_Stb的150个周期,并且驱动MDDI_Data0到逻辑0状态50个MDDI_Stb周期,然后通过发送子帧报头分组启动前向链路业务。这通常允许通过在信号之间提供足够建立时间,在发送子帧报头分组之前允许总线争用。当主机驱动MDDI_Data0到逻辑1状态时,它还激活MDI_Stb,以提供客户机中唤醒逻辑的时钟。
当客户机(显示器)需要来自主机的数据或者通信、业务时,客户机驱动MDDI_Data0线路到逻辑1状态约70至1000μsec,而MDDI_Stb是无效的周期加上在MDDI_Stb变成有效之后的70MDDI_Stb周期,尽管可以根据需要使用其它周期,然后通过把它置于高阻抗状态停用驱动器。如果MDDI_Stb在休眠期间是有效的(虽然不太可能),则客户可能机仅驱动MDDI_Data0到逻辑1状态70个MDDI_Stb周期。该动作造成主机启动或者再启动前向链路(208)上的数据业务,并轮询客户机它的状态。主机必须检测50个MDDI_Stb周期内的请求脉冲的存在,然后开始驱动MDDI_Data0到逻辑1持续150个MDDI_Stb周期以及到逻辑050个MDDI_Stb周期的启动序列。如果客户机检测到MDDI_Data0处于逻辑1状态50μsec以上,则显示器将不发送业务请求脉冲。下面讨论关于休眠处理和开始序列的次数选择的特性和时间间隔的容差。(参见以下的SEE 68A-C)没有争用的典型客户机业务请求事件3800的处理步骤的实例被显示在图38中,其中为了便于说明,使用字母A、B、C、D、E、F、G标注事件。处理开始于点A,此时主机向客户机装置发送链路关闭分组,通知它链路将转换到低功率休眠状态。在下一步骤中,主机通过停用MDDI_Data0驱动器并把MDDI_Stb驱动器设置到逻辑0(如点B所示),进入低功率休眠状态。通过高阻抗偏置网把MDDI_Data0驱动到逻辑零电平。在某个时间周期之后,客户机通过驱动MDDI_Data0到逻辑1电平(如点C所示),向主机发送业务请求脉冲。主机仍然利用高阻抗偏置网维持逻辑零电平,但是客户机中的驱动器迫使线路为逻辑1电平。在50μsec内,主机识别业务请求脉冲,并通过启动它的驱动器在MDDI_Data0上维持逻辑1电平,如D点所示。客户机随后停止维持业务请求脉冲的尝试,并把它的驱动器置于高阻抗状态,如E点所示。主机驱动MDDI_Data0到逻辑零电平50μsec,如点F所示,并且还开始在MDDI_Data0上以符合逻辑零电平的方式生成MDDI_Sbt。在保持MDDI_Data0到逻辑零电平和驱动MDDI_Stb 50μsec之后,主机通过发送子帧报头分组,开始在前向链路上传送数据,如G点所示。
类似的实例在图39中示出,其中在链路再启动序列开始之后维持业务请求,并且使用字母A、B、C、D、E、F、G再次标注事件。这代表来自客户机的请求脉冲或信号变得最接近破坏子帧报头分组的最坏情况。处理开始于A点,在该A点主机再次向客户机装置发送链路关闭分组以通知它链路将变换到低功率休眠状态。在下一步骤中,主机通过停用MDDI_Data0驱动器并把MDDI_Stb驱动器设置到逻辑零电平,进入低功率休眠状态,如B点所示。如上所述,MDDI_Data0被高阻抗偏置网络驱动到逻辑零电平上。在一段时间之后,主机通过把MDDI_Data0驱动到逻辑1电平150μsec,开始链路再启动序列,如C点所示。在链路再启动开始后经过(到达)50μsec之前,显示器还维持MSSI_Data0持续70μsec时间,如D点所示。这是因为显示器需要向主机请求业务并且不识别主机已经开始链路再启动序列。然后客户机停止维持业务请求脉冲的尝试,并且客户机把它的驱动器设置到高阻抗状态,如E点所示。主机连续驱动MDDI_Data0到逻辑1电平。主机驱动MDDI_Data0到逻辑零电平50μsec,如F点所示,并且还开始在MDDI_Data0上,以符合逻辑零电平的方式生成MDDI_Stb。在将MDDI_Data0维持到逻辑0电平并且将驱动MDDI_Stb 50μsec之后,主机通过发送子帧报头分组在前向链路上传送数据,如G点所示。
从上述讨论中可以看到,在前方案包括使主机经历作为唤醒序列部分的两种状态。对于第一种状态,主机驱动MDDI_Data0信号高150μs,然后驱动MDDI_Data0信号低50μs,同时激活MDDI_Stb线路,并且随后开始传送MDDI分组。该处理顺利前进到可使用MDDI设备和方法实现的数据速率的技术状态。然而如上所述,减少对条件的响应时间或能够更快选择下一步骤或处理的更高速度是简化处理或元素的能力,这总是需要的。
申请人已经发现了唤醒处理和定时的新发明方法,其中主机使用信号触发的基于时钟周期的定时。在该配置中,当主机在唤醒序列开始处使MDDI_Data为高之后,主机从0至10μsec启动触发MDDI_Stb,并且不会等待直到信号被驱动为低。在唤醒序列期间,主机触发MDDI_Stb,就好像MDDI_Data0信号总是处于逻辑零电平。这有效消除了来自客户机侧的时间概念,并且主机把先前的用于第一两个状态的150μs和50μs周期变化到用于这些周期的150个时钟周期和50个时钟周期。
主机现在变成负责驱动数据线为高,并且在10个时钟周期内开始传送选通信号,就好像数据线为零。在主机驱动数据线高150个时钟周期之后,主机驱动数据线低50时钟周期,同时持续传送选通信号。在完成这两个处理之后,主机可以开始传送第一子帧报头分组。
在客户机侧,客户机实施现在可以使用所生成的时钟计算数据线先高后低的时钟周期数。在数据线驱动高状态时需要出现的时钟周期数为150,数据线驱动低状态时出现的时钟周期数为50。这意味着对于合适的唤醒序列,客户机应当能够至少计数150个数据线为高的连续时钟周期,其后是至少50个数据线为低的连续时钟周期。一旦这两个条件都被满足,则客户机可以开始搜索第一子帧的唯一字。该模式的破坏被用作把计数器返回到初始状态的基础,其中客户机再次查找数据线为高的第一150个连续时钟。
基于主机从休眠唤醒的本发明的客户机实施非常类似于初始启动情况,只不过不强迫时钟速率如上所述的以1Mbps开始。而是把时钟速率设置为,以通信线路进入休眠时在前速率有效的速率重新开始。如果主机开始上述的选通信号的传送,则客户机应当能够再次计数至少150个数据线为高的连续时钟周期,以及随后的至少50个数据线为低的连续时钟周期。一旦这两个条件被满足,则客户机可以开始搜索唯一字。
基于主机从休眠唤醒的本发明的客户机实施非常类似于基于主机的唤醒,只不过它是通过使客户机驱动数据线开始的。客户机可以异步驱动数据线,而无需唤醒主机装置的时钟。一旦主机认可数据线正在被客户机驱动到高,则它可以开始它的唤醒序列。客户机可以计数主机启动或在它的唤醒处理期间产生的时钟周期数。一旦客户机计数到70个为高的数据连续时钟周期,它可以停止将数据线驱动为高。在此刻,主机也应当已经在将数据线驱动为高。客户机随后可以计数另外80个数据线为高的连续时钟周期,以到达150个数据线为高的时钟周期,并且可以寻找数据线为低的50个时钟周期。一旦这三个条件都被满足,则客户机开始寻找唯一字。
唤醒处理的该新实施的优点是,消除了时间测量装置的需要。无论这是振荡器、或电容器放电电路或者其它这种已知装置,客户机不再需要确定启动条件的这种外部装置。当在客户机装置板上实施控制器、计数器等时,这节省了金钱和电路面积。尽管这可能不是客户机的优点,但是对于主机,该技术还将潜在地简化主机的用于核心电路的甚高密度逻辑(VHDL)。把数据和选通线路用作唤醒通知和测量源的电源消耗也将变低,因为将不需要由外部电路运转将等候基于主机唤醒的核心元件。
使用的周期或者时钟周期数是示范性的,也可以使用其它周期,这是本领预熟练技术人员显而易见的。
该唤醒处理的新实施的优点是消除了时间测量装置的需要。无论这是振荡器、或电容器放电电路或者其它这种已知装置,客户机不再需要确定启动条件的这种外部装置。当在客户机装置板上实施控制器、计数器等时,这节省了金钱和电路面积。尽管这可能不是客户机的优点,但是对于主机,该计数还将潜在地简化主机的用于核心电路的甚高密度逻辑(VHDL)。把数据和选通线路用作唤醒通知和测量源的电源消耗也将变低,因为将不需要由外部电路运行核心元件来等候基于主机的唤醒。
为了阐明和图示该新技术的操作,图68A、图68B和图68C显示了MDDI_Data0、MDDI_Stb的定时和涉及时钟周期的各种操作。
图68A图示了没有争用的典型主机启动的唤醒的处理步骤的实例,其中为了便于图示,再次使用字母A、B、C、D、E、F、G标注事件。处理开始于A点,此时主机向客户机装置发送链路关闭分组,以便通知它链路将转换到低功率休眠状态。在下一步骤中,主机在B点触发MDDI_Stb持续64个周期(或者系统设计所需的周期),以允许在依据触发停止MDDI_Stb之前(停止客户机装置中的恢复时钟),完成客户机的处理。主机还最初把MDDI_Data0设置为逻辑零电平,并随后在CRC之后的16至48周期范围(通常包括输出停用传播延迟)中,停用MDDI_Data0输出。在客户机中设置用于MDDI_Data0和MDDI_Stb的高速接收机,使该接收机在CRC后与下一阶段(C)前的48个周期之后的某些时间处于低功率状态,也许是希望的。
主机在点或步骤C通过停用MDDI_Data0和MDDI_Stb驱动器并把主机控制器设置到低功率休眠状态,进入低功率休眠状态。还可以根据需要,把MDDI_Stb驱动器设置到逻辑零电平(利用高阻抗偏置网络)或者在休眠期间持续触发。客户机还处于低功率休眠状态。
在某个时段之后,主机通过启用MDDI_Data0和MDDI_Stb驱动器输出,在D点开始链路再起动序列。主机驱动MDDI_Data0到逻辑1电平以及驱动MDDI_Stb到逻辑零电平,并持续为驱动器应当花费的一样长的时间,以便充分启用它们相应的输出。在这些输出到达预期逻辑电平之后与在MMDI_Stb上驱动脉冲之前,主机通常等候约200纳秒。这允许客户机有时间准备接收。
利用启用的主机驱动器和驱动到逻辑1电平的MDDI_Data0,主机开始触发MDDI_Stb 150个MDDI_Stb周期的持续时间,如E点所示。主机将MDDI_Data0驱动到逻辑零持续50个周期,如F点所示,并且在MDDI_Data0处于逻辑零电平持续40个MDDI_Stb周期之后,客户机开始寻找子帧报头分组。主机通过发送子帧报头分组,开始在前向链路传送数据,如G点所示。
没有争用的典型客户机启动唤醒处理步骤的实例在图68B中示出,其中为了便于图示,再次使用字母A、B、C、D、E、F、G、H、I标注事件。如前所述,处理开始于A点,此时主机向客户机装置发送链路关闭分组,以便通知它链路将转换到低功率休眠状态。
在B点,主机触发MDDI_Stb持续64个周期(或者系统设计所需的周期),以允许在依据触发停止MDDI_Stb之前(停止客户机装置中的恢复时钟),完成客户机的处理。主机还最初把MDDI_Data0设置为逻辑零电平,并随后在CRC之后的16至48周期范围(通常包括输出停用传播延迟)中,停用MDDI_Data0输出。在客户机中设置用于MDDI_Data0和MDDI_Stb的高速接收机,使该接收机在CRC后与下一阶段(C)前的48个周期之后的某些时间处于低功率状态,也许是希望的。
主机在点或步骤C通过停用MDDI_Data0和MDDI_Stb驱动器并把主机控制器设置到低功率休眠状态,进入低功率休眠状态。还可以根据需要,把MDDI_Stb驱动器设置到逻辑零电平(利用高阻抗偏置网络)或者在休眠期间持续触发。客户机还处于低功率休眠状态。
在某个时段之后,通过启用MDDI_Stb接收机,并且还启动MDDI_Stb接收机的偏置,在主机启用它的MDDI_Stb驱动器之前,保证客户机中的MDDI_Stb的接收版本的状态为逻辑零电平,主机开始链路再启动序列。在启用接收机之前,客户机根据需要启用稍微偏移,以确保有效差分信号接收并抑制差错信号,可能是期望的。客户机启用MDDI_Data0驱动器,同时驱动MDDI_Data0链路到逻辑1电平。
在约1毫秒之内,主机在E点识别来自客户机的业务请求脉冲,并且通过启用MDDI_Data0和MDDI_Stb驱动器输出,主机开始链路再启动序列。主机驱动MDDI_Data0到逻辑1电平并且驱动MDDI_Stb到逻辑零电平,并持续与为驱动器应当花费的一样长的时间,以启用相应输出。在这些输出到达预期逻辑电平之后,在MDDI_Stb上驱动脉冲之前,主机通常等候约200纳秒。这允许客户机有时间准备接收。
利用启用的主机驱动器和驱动到逻辑1电平的MDDI_Data,主机开始在MDDI_Stb上输出脉冲长达150个MDDI_Stb周期的持续时间,如F点所示。当客户机识别MDDI_Stb上的第一脉冲时,它停用MDDI_Stb接收机中的偏置。客户机连续驱动MDDI_Data0到逻辑1电平长达70个MDDI_Stb周期,并在G点停用它的MDDI_Data0驱动器。
如G和H点所示,主机驱动MDDI_Data0到逻辑零电平长达50个周期,并且在MDDI_Data0处于逻辑零电平持续40个MDDI_Stb周期之后,客户机开始寻找子帧报头分组。主机通过发送子帧报头分组,开始在前向链路传送数据,如I点所示。
具有与客户机争用的典型主机启动唤醒处理步骤的实例在图68C中示出,即客户机也想唤醒链路,其中为了便于图示,再次使用字母A、B、C、D、E、F、G、H、I标注事件。如前所述,处理开始于A点,此时主机向客户机装置发送链路关闭分组,以便通知它链路将转换到低功率休眠状态。然后前进到B点,主机在此触发MDDI_Stb持续64个周期(或者系统设计所需的周期),以允许完成客户机的处理。然后到达C点,在此通过停用MDDI_Data0和MDDI_Stb驱动器,并把主机控制器置于低功率休眠状态,主机进入低功率休眠状态。在某个时段之后,通过启用MDDI_Data0和MDDI_Stb驱动器输出,主机在D点开始链路再启动序列,并且开始触发MDDI_Stb长达150个MDDI_Stb周期的持续时间,如E点所示。
在E点之后达到70个MDDI_Stb周期时,即在F点,客户机还未识别主机正在驱动MDDI_Data0到逻辑1电平,所以客户机还驱动MDDI_Data0到逻辑1电平。该事件发生是因为客户机具有这样一个愿望,即请求业务但不识别它正在尝试通信的主机已经开始链路再启动序列。在G点,客户机停止驱动MDDI_Data0,并且通过停用它的输出把它的驱动器置于高阻抗状态。主机继续驱动MDDI_Data0到逻辑1电平长达80个附加周期。
主机驱动MDDI_Data0到逻辑零电平长达50个周期,如H点所示,并且客户机在MDDI_Data0处于逻辑零电平长达40MDDI_Stb周期之后,开始寻找子帧报头分组。主机通过发送子帧报头分组,开始在向前链路传送数据,如I点所示。
VI.接口的电子特性(规范)使用数据选通信号或DATA-STB格式来编码不归零(NRZ)格式的数据,允许在数据和选通信号中嵌入时钟信息。恢复该时钟可以不用复杂的锁相环电路。数据被承载在双向差分链路上,通常使用有线缆线实现该双向差分链路,尽管也可以如上所述,使用其它导线、印刷线或传输元件。选通信号(STB)可以通过只有主机驱动的单向链路承载。选通信号触发存在背对背状态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之间,存在每比特周期一个和仅仅一个变换。因此,STB信号再次变换,当DATA信号停留在‘1’时该时刻到‘0’,并且当DATA信号使电平变化到‘0’时,保持该电平或值。当DATA信号停留在‘1’时,随着DATA信号改变或者保持电平或值,STB信号转到相反状态或目前实例中的‘1’,等等。
一旦收到这些信号,在DATA和STB信号上执行异或(XOR)操作,以产生时钟信号4006,这显示在时序图的底部,以用于与预期数据和选通信号的有关比较。图41显示了可用于从主机的输入数据生成DATA和STB输出或信号,以及随后从客户机上的DATA和STB信号恢复或重获数据的电路的实例。
在图41中,传送部分4100用来生成原始DATA和STB信号并经由中间信号路径4102传送,而接受部分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门具有倒置气泡状设置,以指示它有效反相生成选通信号的触发器的Q输出。
在图41的接收部分4120中,MDDI_Data0+、MDDI_Data0-和MDDI_Stb+、MDDI_Stb-信号分别由两个差分线路接收机4122和4124接收,以便从差分信号生成单输出。放大器的输出随后被输入到二输入异或(XOR)门、电路或者逻辑元件4126的每个输入,由此产生时钟信号。时钟信号用来触发两个D触发器电路4128和4130的每个,该D触发器电路4128和4130经由延迟元件4132接收DATA信号的延迟版本,其中一个触发器电路(4128)生成数据‘0’值,另一个触发器电路(4130)生成数据‘1’值。时钟还具有来自XOR逻辑的独立输出。由于时钟信息被分布在DATA与STB线路之间,因此信号的状态转换都不会快于时钟速率的一半。由于使用DATA和STB信号的异或处理重现时钟,因此较之时钟信号经由单个专用数据线直接发送时的情况,系统有效容忍输入数据与时钟之间两倍弯曲量。
以不同方式操作MDDI_Data对、MDDI_Stb+和MDDI_Stb信号,以最大化消除噪声的负效应。差分信号路径的每个部分是以用来传送信号的缆线或导线的特性阻抗的一半传送的源。MDDI_Data对是在主机和客户机端终止的源。由于这两个驱动器中只有一个在给定时刻有效,因此终端连续存在于传送链路的源上。MDDI_Stb+和MDDI_Stb信号仅仅由主机驱动。
用来实现驱动器、接收机和作为本发明MDD接口部分的传送信号的终端的元件的示范配置被显示在图42中,而MDDI_Data和MDDI_Stb的相应DC电子规范被显示在表VII中。该示范接口使用低电压感知,这里是200mV,小于1伏特的电源摆动以及低耗用功率。
表VII

表VIII描述了差分线路驱动器和线路接收机的电参数和特性。在功能上,驱动器把输入上的逻辑电平直接传送给正输出,并把输入的反向传送给负输出。从输入到输出的延迟与差分驱动的差分线路良好匹配。在多数实施中,输出电压摆动小于输入电压摆动,以便最小化电源消耗和电磁辐射。表VIII呈现最小电压摆动约为0.5V。然而正如本领预熟练技术人员所知的那样,也可以使用其它值,并且发明人在某些实施例中考虑更小的值,这取决于设计约束。
差分线路接收机具有与高速电压比较器相同的特征。在图41中,没有气泡的输入是正输入,具有气泡的输入是负输入。如果(Vinput+)-(Vinput-)大于零,则输出为逻辑1。描述这的另外方式是具有非常大(事实上无穷大)增益的差分放大器,其输出被钳位在逻辑0和1电压电平上。
差分对之间的延迟偏斜(delay skew)应当被最小化,以便按照最大可能速度操作差分传送系统。
在图42中,主机控制器4202和客户机或者显示器控制器4204被显示为,经由通信链路4206传送分组。主机控制器利用一系列三个驱动器4210、4212和4214接收待传送的主机DATA和STB信号,以及接收待传送的客户机DATA信号。负责主机DATA通道的驱动器使用使能信号输入,以允许通常只有当想要从主机到客户机传送时才激活通信链路。由于STB信号是作为数据传送的部分形成的,因此该驱动器(4212)不利用附加使能信号。DATA和STB驱动器之每个的输出分别连接终端阻抗或电阻器4216a、4216b、4216c和4216d。
终端电阻器4216a和4216b还将充当用于STB信号处理的客户机侧接收机4220的输入的阻抗,而附加终端电阻器4216e和4216f在客户机数据处理接收机4222上的输入端被设置为分别与电阻器4216c和4216d串连。客户机控制器中的第六驱动器4226用来准备驱动器4214从客户机经由输入侧上的终端电阻器4216c和4216d传送给主机的数据信号,处理传送给主机用于处理的数据。
两个附加电阻器4218a和4218b被分别设置在终端电阻器与地和电压电源4220之间,作为别处讨论的休眠控制的部分。电压源用来把传送线路驱动到先前讨论的高或低电平,以管理数据流。
上述驱动器和阻抗可以被形成为分离部件或者电路模块的部分,或者充当更经济有效的编码器或解码器方案的专用集成电路(ASIC)。
可以容易地看到,利用标注为HOST_Pwr和HOST_Gnd,经由一对导线把电源从主机装置传送给客户机装置或显示器。信号的HOST_Gnd部分充当参考地和电源返回路径或者显示器装置的信号。HOST_Pwr信号充当由主机装置驱动的显示器装置电源。在示范配置中,对于低功率应用,允许显示器装置吸取500mA。可以从便携电源中提供HOST_Pwr信号,比如但不限于主机装置上的锂离子电池或电池组,且电压相对于HOST_Gnd为3.2至4.3伏。
VII.计时特征A.概述图43示出了客户机利用的为了确保来自主机的业务安全以及主机利用的以提供这种业务的步骤和信号电平。在图43中,所示的信号的第一部分显示从主机传送的链路关闭分组,然后使用高阻抗偏置电路把数据线驱动到逻辑零。客户机显示器或者主机(具有其停用的驱动器)不传送数据。在底部可以看到用于MDDI_Stb信号线的一系列选通脉冲,因为MDDI_Stb在链路关闭分组期间是有效的。一旦因为主机驱动偏置电路和逻辑到零,使该分组结束以及逻辑电平变到零,MDDI_Stb信号线也改变到逻辑零电平。这表示来自主机的最后信号传送或者业务的终止,并且可能已经发生在过去的任何时间,并且被包含以显示业务的在前停止,以及业务开始前的信号的状态。如果需要,可以恰好发送比如信号,以把通信链路复位到适当状态,而不需要该主机装置已经经历的‘已知’在前通信。
如图43所示,从客户机输出的信号最初被设置在零逻辑电平上。换言之,客户机输出处于高阻抗,并且驱动器被停用。当请求业务时,客户机启用它的驱动器并向主机发送业务请求,这段时间被指定为tservice,在此期间把线路驱动到逻辑1电平。在主机检测请求(称为thost-detect)之前,经过或者也许需要某些时间量,此后主机通过驱动信号到逻辑1电平,用链路启动序列进行响应。在此刻,客户机解除对请求的维护,并停用业务请求驱动器,所以来自客户机的输出线再次转向零逻辑电平。在此时间期间,MDDI_Stb信号处于逻辑零电平上。
主机驱动主机数据输出为‘1’电平持续称作trestart-hight的时段,此后,主机驱动逻辑电平到零,并激活MDDI_Stb长达被称作trestart-low的时段,此后第一前向业务从子帧报头分组开始,然后传送前向业务分组。MDDI_Stb信号trestart-low时段以及后续的子帧报头分组期间有效。
表VIII显示了以上讨论的各种时段的长度的代表性时期,以及示范性最小和最大数据速率的关系tbit=1Link_Data_Rate]]>表VIII

本领域熟练技术人员将会容易地理解,图41和图42所示的各个元件都是已知的,并且图42中元件的功能由图43中时序图确认。图42中所示的串联终端和休眠电阻器从图41中省略,因为该信息对于说明如何执行数据选通编码和从中恢复时钟是不需要的。
B.数据选通定时前向链路表IX中显示了来自主机驱动器输出的在前向链路上数据传送的转换特征。表IX代表相对于发生某些信号转换的典型时间的最小和最大预期的表值格式。例如,数据值(‘0’或‘1’的输出)的从头至尾发生的转换的典型时间长度、Data0到Data0转换、称之为ttdd(主机-输出)是ttbit,而最小时间约为ttbit-0.5nsec,以及最大时间约为ttbit+0.5nsec。Data0、其它数据线(DataX)和选通线(Stb)的转换之间的有关间隔被显示在图44中,其中显示了Data0至选通、选通至选通、选通至Data0、Data至非Data0、非Data至非Data0、非Data至选通以及选通至非Data转换,它们被分别称之为ttds-(主机输出)、ttss-(主机输出)、ttsd-(主机输出)、ttddx-(主机输出)、ttdxdx-(主机输出)、ttdxs-(主机输出)以及ttsdx(主机输出)。
表IX

表X显示了用于前向链路上传送数据的相同信号的客户机接收机输入的典型MDDI定时需求。由于相同信号正在讨论但是时间延迟,因此不需要新图显示信号特征或者说明相应标记,对此本领域熟练技术人员将会理解。
表X

图45和46分别图示了当主机停用或启用主机驱动器时可以发生的响应中延迟的出现。在主机转发某些分组(比如反向链路封装分组或往返延迟测量分组)的情况中,在转发预期分组(比如图45所示的已经转发的参数CRC、选通对准、和全零分组)之后,主机停用线路驱动器。然而如图45所示,线路状态不必立即从‘0’切换到预期的更高值,尽管这很可能利用目前的某些控制或电路元件实现,但是需要消耗一段称之为主机驱动器停用延迟周期的时间来响应。尽管它实际上可以立即发生,使得该时段长度为0纳秒(nsec),但是它可以更容易地延续某个更长周期,即10nsec(是预期最大周期长度),这在保护时间1或者转向1分组周期期间发生。
查看图46,可以看见主机驱动器启用传送分组(如反向链路封装分组或往返延迟测量分组)时经历的信号电平变化。这里,在保护时间2或转向2分组周期之后,主机驱动器被启用并开始驱动电平(这里是‘0’),该值可经过称之为主机驱动器启用延迟周期的一段时间达到或者接近,这发生在第一分组被发送之前的驱动器再使能周期期间。
类似处理发生在驱动器为客户机装置(显示器)传送信号的时候。这些周期长度的一般准则和它们相应关系被显示在表XI中。
表XI

C.数据选通定时反向链路数据和选通信号的交换特征和定时关系用来在反向链路上从客户机驱动器传送输出的数据,该数据和选通信号的交换特征和定时关系在图47和图48中示出。下面讨论某些信号变换的典型时间。图47示出了主机接收机上输入端上的传送的数据的定时与选通脉冲前沿和后沿之间的关系。也就是,把tsu-sr称之为选通信号的上升或前沿的设置时间,把tsu-sr称之为选通信号的后沿或下降沿的设置时间。用于这些设置周期的的典型时间长度约为最小8纳秒。
图48示出了由反向数据定时产生的转换特征和相应客户机输出延迟。在图48中,人们可以看到传送的数据的定时与引起延迟的选通脉冲的前沿和后沿之间的关系。也就是,被称之为选通信号的上升或前沿与数据(有效)之间的传播延迟的tpd-sr,以及数据与选通信号的后沿或下降沿之间的传播延迟的tpd-sf。这些传播延迟周期的典型最大时间长度约为8纳秒。
VIII.链路控制的实施(链路控制器的操作)A.状态机分组处理器经由MDDI链路传送的分组被非常快的分派,通常以大约300Mbps或更高的速率如400Mbps分派,尽管可以按照需要提供较低速率。对于目前商业上有效(经济上)的通用微处理器或进行控制的类似物,该类型总线或传送链路速度太快。因此,实现该类型信号传送的实际实施是,利用可编程状态机分析输入分组流,以产生传送或改发到它们打算的合适视听子系统的分组。这种装置是公知的,并使用通常专用于有限数量的操作、功能或状态的电路来实现预期高速或甚高速操作。
通用控制器、处理器或处理元件可以用来更适合操作或者处理具有较低速度需要的某些信息,如控制分组或者状态分组。当这些分组(控制、状态或者其它预定分组)被接收时,状态机应当经由数据缓存器或类似处理元件将它们传送给通用处理器,所以可以操作分组以提供预期结果(效果),同时把声音和可视分组传送给它们的适当操作目的地。如果将来微处理器或其它通用控制器、处理器或处理元件被制造成实现更高数据速率处理能力,则还能够利用这种装置的软件控制(通常为存储在存储元件或介质上的程序)实现以下讨论的状态或状态机。
可以通过以下方式在某些实施例中实现通用处理器功能,即,以和某些调制解调器或者图形处理器利用在计算机中发现的CPU的处理功率来执行某些功能和降低硬件复杂度和成本的非常相同方式,取得计算机应用中的微处理器(CPU)、或者控制器、处理器、数字信号处理器(DSP)、专用电路、或在无线装置中发现的ASIC的处理功率或者额外周期的优点。然而,该周期的共享或应用可能对这种元件的处理速度、定时或整个操作产生负面影响,所以在许多应用中,对于该普通处理最好选用专用电路或元件。
为了在显示器(微显示器)上观看图像数据,或者可靠接收主机装置发送的所有分组,将显示信号处理与前向链路信道定时同步。也就是,达到显示器和显示电路的信号需要在时间上实质上同步于出现的适当信号处理。由可以实施这种同步的信号处理步骤或方法实现的状态的高级图被呈现在图49中。在图49中,用于状态机4900的可能前向链路同步“状态”显示被分类为一个ASYNC FRAMES STATE 4904,两个ACQUIRING SYNC STATES 4902和4906,以及三个IN-SYNC STATES4908、4910和4912。
如启动步骤或状态4902所示,显示器或客户机(比如显像装置)开始于预选的“不同步”状态,并在检测的第一子帧报头分组中搜索唯一字。应当注意,该不同步状态代表最小通信设置或“后退”设置,其中选择类型1接口。当在搜索期间发现唯一字时,显示器保留了子帧长度字段。这里没有对该第一帧上处理的CRC比特的校验,或者在获得同步之前,没有该校验。如果该子帧长度为零,则同步状态处理于是前进到这里标注为“异步帧”状态的状态4904,它指示还没有实现同步。处理中的该步骤在图49中被标注为满足cond3,或者条件3。反之,如果帧长大于零,则同步状态处理前进到状态4906,其中接口状态被设置为“发现一个同步帧”。处理中的该步骤在图49中被标注为满足cond5,或者条件5。此外,如果状态机看到帧报头分组和对于长度大于零的帧的良好CRC确定,则处理前进到“发现一个同步帧”状态。这在图49中被标注为满足cond6或者条件6。
在系统处于除了“不同步”的状态中的每种情况中,当唯一字被检测以及为子帧报头分组确定良好CRC结果,并且子帧长度大于零时,接口状态改变到“同步中”状态4908。处理中的该步骤在图49中被标注为满足cond1,或者条件1。另一方面,如果子帧报头分组中的唯一字或CRC不正确,则同步状态处理前进或者返回到“NO SYNC FRAME”状态的接口状态4902。处理的这部分在图49的状态图中被标注为满足cond2或条件2。
B.同步的捕获时间接口可以被配置成适应一定数量的“同步差错”,然而再判决同步被丢失,并返回到“NO SYNC FRAME”状态。在图49中,一旦状态机已经达到“IN-SYNC STATE”并且未发现差错,则它连续遇到cond1结果,并维持“IN-SYNC”状态。然而一旦检测到一个cond2结果,则处理把状态改变到“一个同步差错”状态4910。在此点,如果处理导致检测到另一个cond1,则状态机返回到“同步中”状态,否则它遇到另一个cond2结果,并移动到“TWO-SYNC-ERRORS”状态4912。此外,如果cond1出现,处理把状态机返回到“IN-SYNC”状态。否则,遇到另一个coud2并且状态机返回到“不同步”状态。还可以理解的是,接口应当遇到“链路关闭分组”,这将使链路终止数据传送并返回到“无同步帧”状态,因为这里没有同步,这在图49的状态图中称作满足cond4或条件4。
应当理解,重复可以出现在子帧内的某些固定位置上的唯一字的“错误复制”是可能的。在此情况中,状态机将同步子帧的是很不可能的,因为当为了使MDD接口处理前进到“IN SYNC”状态而处理时,子帧报头分组上的CRC也必须是有效的。
子帧报头分组中的子帧长度可以被设置为零,它指示在链路关闭之前主机将只传送一个子帧,并且MDD接口被设置或配置成空闲休眠状态。在此情况中,在检测到子帧报头分组之后,显示器必需立即经由前向链路接收分组,因为在链路转换到空闲状态之前,仅仅发送单个子帧。在正常或典型操作中,子帧长度是非零的,并且显示器仅仅处理前向链路分组,而接口处于集体地显示为图49中的“IN-SYNC”状态的那些状态。
显示器同步前向链路信号所需的时间可根据子帧大小和前向链路数据速率而变化。当子帧大小较大时,把唯一字的“错误复制”检测为前向链路中随机或者更随机数据的可能性是较大的。与此同时,从错误检测中恢复的能力较低,并且当前向链路数据速率较低时,要花费更长时间。
C.初始化如上所述,在“启动”的时候,主机配置以等于或低于所需或预期的1Mbps的最小数据速率操作的前向链路,并且配置适于给定应用的子帧长度和媒体帧速率。也就是,前向和反向链路利用类型1接口开始操作。这些参数通常仅仅将被临时使用,而主机确定客户机显示器(或其它类型客户机装置)的能力或预期配置。主机经由前向链路发送或传送子帧报头分组,后面有反向链路封装分组,该封装分组具有被设置到1(一)的值的请求标志的比特‘0’,以便请求显示器或客户机用显示器能力分组响应。一旦显示器获得前向链路上(或与其)同步,它就经由反向链路或信道发送显示器能力分组和显示器请求和状态分组。
主机检查显示器能力分组的内容,以便确定如何重新配置最佳或预期的性能水平的链路。主机检查协议版本和最小协议版本字段,以确认主机和显示器使用彼此兼容的协议版本。协议版本通常继续作为显示器能力分组的前两个参数,所以即使当协议的其它元素也许不兼容或者不完全理解为兼容时,也可以确定兼容性。
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预选的“不同步”状态4902中的状态机5000启动。从不同步条件4902改变状态的第一状态改变处于发现同步图案的条件64中。假设子帧报头的CRC也在该分组中传送(满足条件61),则分组处理器状态机的状态可以被改变到同步中状态4908。同步差错,条件62将使状态机移动到状态4910,以及使第二发生移动到状态4912。然而,可以发现MDDI分组的任何CRC失败将使得状态机从同步中状态4908移动到一个同步差错状态(one sync error state)4910。任何MDDI分组的另一个CRC失败将导致到两个同步失败状态(two sync failure state)4912的运动。用正确CRC值检测的分组将使得状态机返回到同步中状态4908。
所以发生哪种改变是利用CRC值或者‘每个’分组的确定。也就是,使状态机查看用于每个分组的CRC值,以确定同步的丢失,而不是仅仅观看子帧报头分组。在该配置或处理中,不是使用唯一字和仅仅子帧报头CRC值确定同步的丢失。
该新的接口实施允许MDD接口链路更快地识别同步失败,从而更快恢复它们。
为了使该系统更强壮,客户机还应当附加或者利用子帧计数器。客户机随后在唯一字预期到达或在一个信号出现的时候,检验唯一字的存在。如果唯一字未在正确时间出现,则与它必需等待若干(这里是三个)分组时间或者周期(比子帧长度更长)相比,客户机可以更快辨认已经发生同步失败。如果唯一字的检验指示它未出现,换句话说定时不正确,则客户机可以立即宣布同步的链路丢失并移动到无同步状态。检验适当唯一字出现的处理把条件65(cond65)添加到假定唯一字不正确的状态机上。如果子帧分组被希望在客户机上接收,并且不相配,则客户机可以立即转到不同步状态4902,从而节省了通常在通过状态4910和4912经历的等待多个同步差错(条件62)的附加时间。
该变化使用附加计数器或客户机内核的计数功能来计数子帧长度。在一个实施例中,使用倒计数功能,并且如果计数器期满,则中断当前正处理的任何分组传送,以检查子帧唯一字。作为选择,计数器可以正计数,在校验当前分组的时间点,将计数与预期的最大或者特定预期值进行比较。该处理使客户机免于解码在客户机上未正确接收的具有非常长分组长度的分组。如果子帧长度计数器需要中断正在解码的某些其它分组,则可以确定同步的丢失,因为分组将不越过子帧边界。
IX.分组处理对于状态机接收的上述分组的每个类型,该处理承担实现接口操作的特定处理步骤或步骤系列。通常根据下表XII中所列的典型处理对前向链路分组进行处理。
表XII


X.降低反向链路数据速率本发明人还观察到,用于主机链路控制器的某些参数可以按照某种方式调整或配置,以便实现最大或者更佳(缩放)反向链路数据速率,这是非常令人希望的。例如,在用来传送反向链路封装分组的反向链路数据分组字段的时间期间,MDDI_Stb信号对翻转,从而以前向链路数据速率的一半建立周期数据时钟。这是因为,主机链路控制器生成对应于MDDI_Data0信号的MDDI_Stb信号,好像它正在发送全零。MDDI_Stb信号从主机传送给客户机,该客户机用来生成从显示器传送反向链路数据的时钟信号,所述反向数据被回送给主机。图50显示了在利用MDDI的系统中的前向和反向路径上的信号传送和处理所经历的典型延迟量的图示。在图50中,一系列延迟值1.5nsec、8.0nsec、2.5nsec、2.0nsec、1.0nsec、1.5nsec、8.0nsec和2.5nsec被分别显示为靠近用于Stb+/-生成、电缆传送至显示器、显示接收机、时钟生成、信号计时、Data0+/-生成、电缆传送到主机、和主机接收机级的处理部分。
根据前向链路数据速率和经历的信号处理延迟,可能需要比用于该“往返”效应或者所考虑事件的设置的MDDI_Stb信号的一个周期更长时间,导致不期望的时间或周期量的消耗。为了防止该问题出现,反向速率除数能够使反向链路上的一比特时间横跨MDDI_Stb信号的多个周期成为可能。这意味着反向链路数据速率小于前向链路速率。
应当注意,经过接口的信号延迟的实际长度可以不同,这依赖于使用的每个特定主机-客户机系统或硬件。尽管不需要,但是通过使用往返延迟测量分组测量系统中实际延迟,使反向链路速率除数可以被设置到最佳值,通常可以使每个系统更好工作。
往返延迟是通过使主机发送往返延迟测量分组给显示器来测量的。显示器通过在分组调用测量周期字段的预选测量窗口之内或者期间,向主机回送1的序列,来响应该分组。该测量的详细定时在之前已被说明。往返延迟用来确定可以安全采样反向链路数据的速率。
往返延迟测量包括确定、检测或计数前向链路数据时钟间隔的数量,该前向链路数据时钟间隔出现在测量周期字段的开头与当在主机上接收到来自客户机的0xff、0xff、0x00响应序列时的时间段开头之间。请注意可能的是,应当在测量计数递增前的前向链路时钟周期的一小部分时间,接收来自客户机的响应。如果该未修改的值用来计算反向速率除数,则由于不可靠数据采样,可以引发反向链路上的比特差错。该情况的实例被图示在图51中,其中代表主机上MDDI_Data、主机上MDDI_Stb、主机内的前向链路数据时钟和延迟计数的信号以图形格式显示。在图51中,在延迟计数从6递增到7前的前向链路时钟周期的一小部分时间,从显示器接收响应序列。如果延迟假定为6,则主机将正好在比特变换之后或可能在比特变换的中间采样反向数据。这可能导致主机上的错误采样。为此,测量的延迟在它用来计算反向速率除数之前,通常递增1。
反向速率除数是在采样反向链路数据之前主机应当等候的MDDI_Stb周期数。由于以前向链路速率的一半的速率循环MDDI_Stb,已校正的往返延迟测量需要除以2,然后四舍五入到下一个整数。作为公式表达,这种关系为
对于给定的实例,变成 如果该实例中使用的往返延迟测量是7而不是6,则反向速率除数将还是等于4。
主机在反向链路时钟的上升沿采样反向链路数据。在主机和客户机(显示器)两方存在生成反向链路时钟的计数器或类似的已知电路或装置。计数器被初始化,使反向链路时钟的第一上升沿出现在反向链路封装分组的反向链路分组字段的第一比特的开头。这在图52中图示,以用于以下给出的实例。MDDI_Stb信号每个上升沿上的计数器增量和这些信号绕回时的计数值由反向链路封装分组中反向速率除数参数设置。由于MDDI_Stb信号以前向链路速率的一半翻转,因此反向链路速率为除以反向速率除数的前向链路速率的一半。例如,如果前向链路速率为200Mbps,并且反向速率除数为4,则反向链路数据速率被标识为12·200Mbps4=25Mbps]]>显示反向链路封装分组中MDDI_Data0和MDDI_Stb信号线路的定时的实例在图52中显示,其中用于图示的分组参数具有以下值分组长度=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,...等等。然而,在图52中只有第一字节(0x07)是可见的。在图示实际反向链路延迟的图中,第一反向链路分组被时间位移几乎一个反向链路时钟周期。主机到显示器往返延迟的具有零的理想波形被显示为虚线轨迹。
参数CRC字段的MS字节被传送,其前面是分组类型,后面是全零字段。来自主机的选通从1切换到零,并且当来自主机的数据改变电平而形成更宽脉冲时,返回到1。由于数据转到零,因此以较高速率切换选通,只有数据线上的数据变化才引发对准字段的尾部附近的变化。对于图的剩余部分,以较高速率切换选通,这归应于时间扩展周期的数据信号的固定0或1电平,以及开始于脉冲图案(沿)的变换。
当启动时钟以供应反向链路分组时,主机的反向链路时钟为零,直至往返1周期的尾部。图中下部中的箭头指示采样数据时刻,如公开的剩余部分所示。正在传送的分组字段的第一字节(这里为11000000)被显示为开始于往返1之后,并且线路电平自主机驱动器停用时变稳定。第一比特的通过中的延迟,并且如比特三的延迟,可以在数据信号的虚线中看到。
在图53中,人们可以观察到基于前向链路数据速率的反向速率除数的典型值。实际的反向速率除数被确定为生成适当反向链路操作的往返链路测量的结果。第一区域5302对应于安全操作区,第二区域5304对应于边缘性能区,而第三区域5306指示不可能适当运行的设置。
当用前向或者反向链路上的任何接口类型设置操作时,往返延迟测量和反向速率除数设置是相同的,因为它们以实际时钟周期的单位而不是发送或接收比特的数量,表达和操作。
XI.往返和保护时间如上所述,往返延迟测量分组中反向链路封装分组和保护时间1字段中的往返1字段,指定允许先停用主机接口驱动器然后再启用显示器接口驱动器的时间长度值。往返2和保护时间2字段提供允许先停用显示器驱动器然后再启用主机驱动器的时间值。保护时间1和保护时间2字段通常用不打算调整的预置或预选长度值填充。根据使用的接口硬件,可以使用经验数据开发这些值,并且在某些实例中调整这些值以改善操作。
一些因子有助于往返1的长度确定,并且这些是主机中的前向链路数据速率和MDDI_Data驱动器的最大停用时间。表XI中指定了最大主机驱动器停用时间,其中它显示驱动器大约用最大10nsec来停用,并且用约2nsec来启用。主机驱动器停用所需的前向链路时钟的最大数按照以下关系表达 往返1的允许值范围根据以下关系式表示 其中,接口类型因子为,用于类型1的1、用于类型2的2、用于类型3的4、用于类型IV的8。
合并上述两个公式,可以看到接口类型因子项消除,并且往返1被定义为 例如,1500Mbps类型3前向链路将使用以下的往返1延迟 由于往返延迟增加,因此定时边缘从主机停用的时间点提高到启用延迟的时间。
确定通常用于往返2的时间长度的因子是前向链路数据速率、显示器中MDDI_Data驱动器的最大停用时间,以及通信链路的往返延迟。停用显示器驱动器所需的时间计算基本上与以上讨论的主机驱动器的相同,并根据以下关系式定义 并且往返2的允许值范围被表达为 例如,具有10个前向链路时钟的往返延迟的1500Mbps类型3的前向链路通常使用大约以下的往返2延迟
XII.可替代的反向链路定时尽管以上讨论的定时和保护带的使用是实现高数据传送速率接口,但是本发明人已经发现,通过改变反向定时发现,允许反向比特长度比往返时间更短的技术。
如上所述,反向链路定时的在前方法被配置成,使得时钟周期数从反向定时分组的保护时间1的最后的比特计数,直至IO时钟的上升沿上采样第一比特。那是被用来为MDD接口计时输入和输出的时钟信号。对于反向速率除数的计算随后由下式给出 这提供了等于往返延迟的比特宽度,导致非常稳定的反向链路。然而反向链路被显示为能够更快运行,或者以较高数据传送速率运行,这是本发明人想要得到的优点。新发明技术允许利用接口的附加能力达到更高速度。
这是通过使主机计数时钟周期数直至一个比特被采样来实现的,但是在反向定时分组期间,主机在上升沿和下降沿对数据线进行采样。这允许主机在反向比特内挑选最有用或甚至最佳采样点以确保比特稳定。也就是,发现最有用或者最佳上升沿,以采样反向业务反向封装分组上的数据。最佳采样点依赖于反向链路除数以及是否在上升沿或者下降沿上检测第一个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的四个比特和用于类型IV的八个比特的数据对集合中采样所有比特之后,可以重建数据流。其它选项是主机增加反向速率除数,使每个数据对的数据比特可以在相同时钟边沿上采样。
XIII.链路延迟和偏斜的效应MDDI_Data对与MDDI_Stb之间的前向链路上的延迟偏斜可以限制最大可能数据速率,除非使用延迟偏斜补偿。如下所述,造成定时偏斜的差异归应于控制器逻辑、线路驱动器和接收机以及缆线和连接器。
A.由偏斜限定的线路定时分析(MDDI类型1)1.类型1链路的延迟和偏斜实例图57显示了适应类型1接口链路的类似于图41所示电路的典型接口电路。在图57中,传播延迟和偏斜的示范或典型值被显示为用于MDDI类型1前向链路的若干处理或接口级的每一个。MDDI_Stb与MDDI_Data0之间延迟中的偏斜造成输出时钟的工作循环失真。接收机的使用触发器5728、5732的触发器(RXFF)级的D输入上的数据必需在时钟边沿之后稍微改变,以便可以被稳定地采样。该图显示了两个级联延迟线5732a和5732b,它们用来解决建立该定时关系的两个不同问题。在实际实施中,这些延迟线可以合并成单个延迟元件。
用于经由接口处理的示范信号处理的类型1链路上的数据、Stb和时钟恢复定时被显示在图58中。
显著的总延迟偏斜通常起因于或者来自以下阶段的偏斜之和具有触发器5704和5706的发射机触发器(TXFF);具有驱动器5708和5710的发射机驱动器(TXDR VR);缆线5702;具有接收机5722、5724的接收机线路接收机(RXRCVR);以及接收机XOR逻辑(RXXOR)。延迟1 5732a应当匹配(等于)或者超过RXXOR级中的XOR门5736的延迟,这由以下关系式确定tPD-min(delay1)≥tPD-max(XOR)满足该需求,以使接收机触发器5728、5732的D输入在时钟输入前不改变,是理想情况。如果RXFF的保持时间为零,这是有效的。
延迟2的目的和功能是根据下式补偿RXFF触发器的保持时间tPD-min(delay 2)≥tH(RXFF)在许多系统中,这将是零,因为保持时间是零,当然在此情况下,延迟2的最大延迟也可以为零。
对接收机XOR级的最坏影响是数据在后/选通在前的情况,其中类型1为最大值,并且根据下式,从XOR级输出的时钟尽可能早到达tSKEW-max(RXXOR)=tPD-max(Dclay1)-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)+tSKEW-max(RXXOR)+tPD-max(Delay2)+tSU(RXFF)在图57所示的实例中,tSKEW-max(LINK)=1.4nsec并且最小比特周期可以被表示为tBIT-min=1.4+0.3+0.2+0.5=2.4nsec,或者被表述为接近416Mbps。
B.用于MDDI类型2、3和4的链路定时分析图59显示了适应类型2、III和IV接口链路的类似于图41和图57所示电路的典型接口电路。在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到达,并且也延迟Delay3,则MDDI_Data1变化的点被移动到接近下一个时钟边沿。该处理确定MDDI类型2、3或4链路的数据速率的上限。图60A、图60B和图60C显示了两个数据信号和MDDI Stb彼此之间定时或偏斜关系的某些示范性不同概率。
为了当MDDI_DataX尽可能早达到时,在RXFFB中可靠地采样数据,根据以下关系式设置Delay3tPD-min(dclay3)≥tSKEW-max(LINK)+tH(RXFFB)+tPD-max(XOR)最大链路速度通过最小容许比特周期确定。当MDDI_DataX尽可能晚到达时,对这影响最大。在该情况下,最小允许周期时间由下式给出tBIT-min=tSKEW-max(LINK)+tPD-max(Delay3)+tSU(RXFFB)-tPD-min(XOR)线路速度的上限是tPD-min(Delay3)=tPD-min(Delay3)并且给出以下假设tBIT-min(lower-bound)=2·tSKEW-max(LINK)+tPD-max(XOR)+tSU(RXFFB-tH(RXFFB)在以上给出的实例中,最小比特周期的下限由以下关系式给出tBIT-min(lower-level)=2·1.4+1.5+0.5+0.1=4.8nsec,它接近208Mbps。
这比可以供类型1链路使用的最大数据速率慢得多。MDDI的自动延迟偏斜补偿能力明显降低了延迟偏斜(具有的)对最大链路速率的影响。
XIV.物理层互连说明可用来实现本发明接口的物理连接可利用商业上可得到的部件实现,这些部件例如是Hirose电子有限公司制造的,用于主机侧的编号为3260-8S2(01)的部件,用于显示器装置侧的编号为3240-8P-C的部件。供类型1/类型2接口使用的这种连接器的示范性接口引脚配置或“插脚引线”被列在表XIII中,并且被图示在图61中。
表XIII

屏蔽(层)连接主机接口中的HOST_Gnd,并且电缆中屏蔽排扰线连接显示器连接器的屏蔽。然而,屏蔽和排扰线不连接显示器内侧的电路地线。
选择并设计互连元件或装置,以便使它小得足以供移动通信和计算装置(如PDA和无线电话)或便携游戏机使用,并且较之有关装置尺寸不突出或者不难看。任何连接器和缆线都应当持久耐用使之足以在典型消费环境中使用,并考虑到小尺寸特别是对于缆线的尺寸,和比较低的成本。传送元件应当适应数据和是差分NRZ数据的选通信号,该数据的传送速率对于类型1和类型2最高约为450Mbps,对于8比特并行的类型4版本最高约为3.6Gbps。
对于内部模式应用,没有在使用的导线的同样意义上的连接器,或者存在有助于非常小型化的连接元件。一个实例是零插入力“插座”,用于接受容纳主机或者客户机装置的集成电路或元件。另一个实例是主机和客户机位于具有各种互连导线的印刷电路板上,并具有从外壳延伸的“引脚”或触点,该外壳焊接用于互连集成电路的导线上的触点。
XV.操作图54A和图54B显示了在利用本发明实施例的接口操作期间,处理数据和分组所经历的一般步骤地概述,以及图55中处理分组的接口设备的概述。在这些图中,处理开始于步骤5402,确定是否使用通信路径(这里是电缆)连接客户机和主机。这可以经过使用主机周期查询而发生,即使用检测连接器或者电缆或者信号是否存在于连接主机的输入端(比如查看USB接口)的软件或硬件或其它已知技术进行查询。如果没有连接主机的客户机,则它仅仅进入某些预定长度的等待状态(根据应用),进入休眠状态,或者不激活,而等待将来使用,这可能需要用户采取行动再激活主机。例如,当主机位于计算机型装置上时,用户也许点击屏幕图标或请求一个激活主机处理来寻找客户机的程序。此外,USB型连接的简单插头可以激活主机处理,这依赖于主机或者驻留主机软件的能力和配置。
一旦客户机连接主机,或者主机连接客户机,或者检测为存在,则客户机或主机在步骤5404和5406中发送请求业务的适当分组。客户机可以在步骤5404中发送显示器业务请求或者状态分组。请注意,如上所述,链路可以预先关闭或者处于休眠模式,所以这也许不是随后的通信链路的完全初始化。一旦通信链路被同步并且主机正在尝试与客户机通信,则客户机还向主机提供显示器能力分组,如步骤5408。主机现在可以开始确定支持类型,包括客户机可以适应的传送速率。
通常,主机和客户机还协商使用的业务模式的类型(速率/速度),例如类型1、类型2等等(步骤5410)。一旦业务类型被建立,主机可以开始传送信息。此外,主机可以使用往返延迟测量分组来最佳化与其它信号处理并行的通信链路的定时,如步骤5411所示。
如上所述,所有传送开始于子帧报头分组,被显示为在步骤5412中传送,接着是被显示在步骤5414中传送的数据类型(这里是视频和音频流分组)和填充符分组。音频和视频数据将被事先准备好并映射成分组,并且按照需要插入填充符分组,以填满媒体帧的所需比特数。主机可以发送分组如前向音频声道使能分组,以激活音频装置。此外,主机可以使用以上讨论的其它分组类型传送命令和信息,在步骤5416中被显示为传送彩色图、比特块传送或其它分组。此外,主机和客户机可以利用适当分组交换涉及键盘或者指向装置的数据。
在操作期间,若干不同事件之一可以出现,导致主机或客户机期望不同数据速率或者接口模式类型。例如,通信数据的计算机或其它装置将遇到造成分组准备或显现减慢的处理数据的载入条件。接收数据的显示器将把专用AC电源改变到更受限制的电池电源,并且不能快速传送数据,容易地处理命令,或不能在更受限制的电源设置下使用相同清晰度或者颜色深度。作为选择,可以减弱或者消除限制(约束)条件,允许任何一个装置以高速率传送数据。这是更理想的,即可以提出一个改变到更高传输速率模式的请求。
如果这些或者其它类型的已知条件出现或者改变,则主机或者客户机可以检测它们并试着重新协商接口模式。这在步骤5420中示出,其中主机把接口类型切换请求分组发送给客户机,请求切换到另一模式;客户机发送接口类型确认分组,确认请求的变化;并且主机发送执行类型切换分组,做出到指定模式的变化。
尽管不需要特定的处理顺序,但是客户机和主机还可以交换关于从主要与客户机关联的指向装置、键盘或者其它用户型输入装置接收或者想要的数据的分组,尽管这种元件还可以存在于主机侧。通常使用通用处理器型元件而不使用状态机处理这些分组(5502)。此外,以上讨论的某些命令也由通用处理器处理(5504,5508)。
在主机与客户机之间已经交换数据和命令之后,在某些点上判决是否传送附加数据或者主机或客户机是否将要停止维护该传送。这被显示在步骤5422。如果链路进入休眠状态或者完全关闭,则主机发送链路关闭分组给客户机,并且双方终止数据传送。
上述操作处理中传送的分组将使用先前讨论的与主机和客户机控制器有关的驱动器和接收机来传输。这些线路驱动器和其它逻辑元件被连接到以上讨论的状态机和通用处理器,如图55概图所示。在图55中,状态机5502和通用处理器5504和5508还可以连接未显示的其它元件,比如专用的USB接口、存储元件,或者位于与其交互的链路控制器之外的其它部件,包括(但不限于)数据源和用于视图显示器装置的视频控制芯片。
处理器和状态机提供关于保护时间的上述驱动器的启用和停用,等等,以保证通信链路的有效建立或终止以及分组的传送。
XVI显示器帧缓存器与计算机图像相比较,视频数据缓存需求对于运动视频图像是不同的。像素数据通常被存储在客户机中的本地帧缓存器中,所以可以本地刷新显示器上的图像。
当全活动视频正在被显示(显示器中每个像素几乎改变每个媒体帧)时,它通常最好把输入像素数据存储在一个帧缓存器中,同时从第二帧缓存器刷新显示器。两个以上显示器缓存器可以用来消除如下所述的人为影响。当整个图像已经被接收到一个帧存储器中时,则可以对换缓存器的作用(角色)。并且最新接收的图像用来刷新显示器并用图像的下一帧填充另一个缓存器。该概念在图91A中示出,其中通过把显示器更新比特设置到“01”将像素数据写入脱机图像缓存器。
在其它应用中,主机只需要更新图像的一小部分,不必重画整个图像。在该情况中,所希望的是把新像素直接写入正在用来刷新显示器的缓存器,如图91B所示。
在具有小视频窗口的固定图像的应用中,最容易的是,把固定图像写入图91C中所示的两个缓存器(显示器更新比特等于“11”),接着通过把显示器更新比特设置为“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上Media Frame(媒体帧)边界(具有子帧计数字段等于零的子帧报头分组)按照以下指定顺序执行随后的操作设置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”支持该操作模式,这是通过把像素数据写入正在显示的帧缓存器或者两个帧缓存器实现的。
当适应视频图像时,图92示出当利用等于“01”的显示器更新比特,经由MDDI链路传送视频数据时,如何使用一对帧缓存器显示视频图象。当在MDDI链路上检测到媒体帧边界后,当完成目前正在刷新的帧的刷新处理时,显示器刷新处理将从下一帧缓存器开始刷新。
关于图92的一种重要假设是,从主机接收作为连续像素流的图像,以刷新显示器(通常从左上角,逐行读直至屏幕的右下角),其中所述连续像素流是按照客户机用来从帧缓存器读像素的相同顺序传送的。这在显示器刷新和图像传送操作访问相同帧缓存器的情况中是一个重要细节。
为了避免显示部分图像,必须使显示器刷新帧速率大于图像传输帧速率。图93显示了如何利用慢显示刷新速率使图像分段出现,即显示器刷新慢于图像传送。
在包含计算机图形图像和活动视频图片组合的一个图像中,视频像素数据可以占据媒体帧的一小部分。这在显示器刷新操作和图像传送访问相同帧缓存器的情况中将是重要的。这些情况由图94中交叉阴影线显示,其中从缓存器读出的刷新显示器的像素可以是两帧前写入缓存器的像素,或者它们可以对应于刚刚被写入相同帧缓存器的帧。
如图95所示,客户机中三个帧缓存器的使用将解决访问帧缓存器的争用的小窗口的问题。
然而,如图96所示,如果显示器刷新速率小于经由MDDI链路的媒体帧速率,则仍然存在问题。
用于活动视频图像的单个缓存器的使用有一些如图97所示的问题。由于显示器刷新比进入缓存器的图像传送快,因此刷新的图像有时将显示正在写的帧的上部,以及图像的下部将是先前传送的帧。由于显示器刷新快于图像传送(操作的有效模式),因此将存在帧显示类似分割图像的更频繁实例。
XVII.延迟值表分组处理延迟参数分组利用查表功能计算在客户机中处理某些命令的预测延迟。表中的值以对数方式增加以提供延迟值得非常宽的动态范围。用于实施本发明实施例的延迟值的示范表可以在下表XX中找到,具有相对于延迟值的相应索引值。
表XX


延迟是通过执行查表计算的,其中使用作为进入表的索引的特定参数执行查表。这意味着延迟等于PacketProcessingTable(索引)。例如如果来自延迟参数表项的参数之一是等于134的8比特值,则延迟等于为16μsec的PacketProcessingTable(134)。值255指示不能通过计算确定的命令完成时间,并且主机必需查看显示请求和状态分组中的图形忙标志(Graphics Busy Flag)或MCCS VCP控制参数B7h。
在某些情况下,该延迟乘以目的地图像中像素的高、宽或数量,并加到其它延迟上,以计算整个分组处理延迟。
XVIII.多客户支持当前协议的版本看起来不直接支持多个客户机装置。然而,大多数分组包含可以用来在具有多个客户机的系统中寻址特定客户机装置的反向客户机ID字段。当前对于许多应用,该客户机ID或这些客户机ID被设置为零。子帧报头分组还包含一个指示主机是否支持多个客户机系统的字段。因此,这是这样一种方式,即在MDD接口或者协议的将来应用中很可能将连接并寻址多个客户机装置,以便于系统设计员为将来规划与多个客户主机和客户机的兼容性。
在具有多个客户机的系统中,这有利于客户机利用客户机的菊花链、或者利用集线器(如图98所示)、或者使用这些技术的组合(如图99所示)连接主机。
XVIII.附录除了以上讨论的用来实现本发明实施例的结构和协议的格式、结构和内容外,这里还说明了用于某些分组类型的更详细的字段内容或操作。这些说明进一步阐明了它们的相应使用或操作,使本领域熟练技术人员更容易理解和利用用于各种应用的本发明。只有少量字段还没有讨论,这里对其进行讨论。此外,利用与上述实施例有关的典型定义和值说明这些字段。然而,这种值不应理解为本发明的限制,而是代表实现接口和协议的一个或多个有用实施例,并且不是所有实施例需要一起或同时实施。其它值可以在其它实施例中用来实现数据或数据速率传送结果的预期表示,对此本领域熟练技术人员将会明白。
A.关于视频流分组在一个实施例中,像素数据属性字段(2字节)具有一系列如下解释的比特值。比特1和比特0选择如何传送显示器像素数据。对于‘11’比特值,显示用于双眼的数据;对于‘10’比特值,数据仅仅被传送给左眼;对于‘01’比特值,数据仅被传送给右眼,对于‘00’比特值,数据被传送给替代的显示器,如可以由以下讨论的比特8至11指定。
比特2指示是否以隔行扫描格式显现像素数据,其中‘0’值是指像素数据处于标准的逐行扫描格式,并且当从一行前进到另一行时,行号(像素Y坐标)递增1。当该比特具有‘1’的值时,像素数据为隔行扫描格式,并且当从一行前进到另一行时,行号递增2。比特3指示像素数据为交替像素格式。这类似于由比特2启用的标准隔行扫描模式,但是隔行扫描是垂直的而不是水平的。当比特3是‘0’时,像素数据为标准逐行扫描格式,并且在收到每个连续像素时列号(像素X坐标)被递增1。当比特3是‘1’时,像素数据为交替像素格式,并且在收到每个像素时列号被递增2。
比特4指示像素数据涉及显示器还是摄像机,其中向或者从用于无线电话或类似装置或甚至便携计算机或上述这种其它装置的内部显示器传输数据,或者向或从内置的或者直接连接该装置的摄像机传输数据。当比特4是‘0’时,向或从显示器帧缓存器传送像素数据。当比特4是‘1’时,像素数据被向或从摄像机或某类视频装置传送像素数据,这种装置是本领域公知的。
比特5用来指示像素数据何时包含显示器中像素的下一连续行。考虑比特5等于‘1’的情况。当比特5被设置为‘1’时,客户机不定义和不理睬X左边缘、Y顶边缘、X右边缘、Y底边缘、X起点和Y起点参数。当比特15被设置为逻辑1电平,则这指示该分组中的像素数据是图像中像素的最后行。客户机能力分组的客户机特征能力指示符字段的比特8指示该特征是否被支持。
比特7和6是显示器更新比特,它指定像素数据将被写入的帧缓存器。更特殊的效果在别处讨论。对于‘01’的比特值,像素数据被写入脱机的图像缓存器。对于‘00’比特值,像素数据被写入用来刷新显示器的图像缓存器。对于‘11’比特值,像素数据被写入所有图像缓存器。‘10’比特值或组合被视为无效值或指定,并且像素数据不被理睬并且不被写入任何图像缓存器。该值可以用于接口的将来应用。
比特8至11构成4比特无符号整数,它指定像素数据将被传送的可替代显示器或显示位置。比特0和1被设置等于‘00’,以便使显示客户机把比特8至11解释为替代的显示器号。如果比特0和1不等于‘00’,则比特8至11被设置为逻辑零电平。
比特12至14留给将来使用,并且通常被设置为逻辑零电平。比特15(这里讨论)连同比特5一起使用,并且设置比特15到逻辑1指示像素数据字段中像素行为数据帧中像素的最后行。具有设置为逻辑1的比特5的下一视频流分组将对应于下一视频帧的像素的第一行。
2字节X起点和Y起点字段指定像素数据字段中第一像素的点(X起点,Y起点)的X和Y坐标。2字节X左边缘和Y顶边缘字段指定由像素数据字段填充的屏幕窗口的左边缘的X坐标和顶边缘的Y坐标,而X右边缘和Y底边缘字段指定正在更新的窗口的右边缘的X坐标和底边缘的Y坐标。
像素计数字段(2字节)指定以下像素数据字段中的像素数。
参数CRC字段(2字节)包含从分组长度到像素计数的所有字节的CRC。如果CRC不能校验,则丢弃整个分组。
像素数据字段包含将要显示、并按照视频数据格式描述符字段所述方式格式化的原始视频信息。如别处所述,数据是一次一行传送的。
像素数据CRC字段(2字节)包含仅像素数据的16比特CRC。如果该值的CRC检验失败,则仍然可以使用像素数据,并递增CRC差错。
B.关于音频流分组在一个实施例中,音频声道ID字段(1字节)使用8比特无符号整数值标识由客户机装置发送音频数据的特定音频声道。通过分别指示左前、右前、左后、右后、前中央、子低音喇叭、环绕左声道、环绕右声道的值0、1、2、3、4、5、6或7的该字段,指定物理音频声道或将其映射到物理信道。254的音频声道ID值指示单个数字音频采样流被发送给左前和右前声道。这简化了应用的通信,比如所述应用是,立体声耳机用于话音通信,在PDA上使用产量增强apps,或简单用户接口生成报警音的其它应用。从8至253范围的ID字段的值目前保留,以供新设计希望附加指定时使用,如本领域熟练技术人员预期的那样。
保留1字段(1字节)通常留给将来使用,并且该字段中的所有比特被设置为零。该字段的一个功能是使所有后续2字节字段对准16比特字地址,并且使4字节字段对准32比特字地址。
音频采样计数字段(2字节)指定该分组中音频采样的数量。
每采样比特和打包字段包含指定音频数据的打包格式的1字节。在一个实施例中,通常利用的格式是比特4至0定义每PCM音频采样的比特数。比特5指定数字音频数据采样是否被打包。如上所述,图12示出了打包的与字节对准的音频采样之间的差异。用于比特5的‘0’值指示数字音频数据字段中每个PCM音频采样字节对准接口字节边界,并且‘1’的值指示对照在前音频采样打包每个连续PCM音频采样。只有当比特4至0中定义的值(每个PCM音频采样的数量)不是8的倍数时,该比特是有效的。比特7至6保留,以供系统设计希望附加指定时使用,并且被设置为零的值。
音频采样速率字段(1字节)指定音频PCM采样速率。所利用的格式是,对于0值,指示每秒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字段包含从‘分组长度’到‘音频编码’字节的流参数的所有字节。如果该CRC不能校验,则丢弃整个分组。如果流参数和流参数CRC字段两者是MDD接口的终端应用不需要的,则可以被丢弃,也就是它们被认为是任选的。2字节流数据CRC字段只包含仅为流数据的CRC。如果该CRC不能适当校验,则流数据的使用是可选的,这取决于应用的需求。随良好的CRC而定的流数据的使用通常需要缓存流数据,直至把CRC确认为良好。如果CRC不能校验,则递增CRC差错计数。
D.关于彩色图分组2字节h客户机ID字段包含如先前使用的为客户机ID而保留的信息或值。由于该字段通常留给将来使用,因此通过把比特设置为‘0’而把当前值设置为零。
2字节彩色图项计数(Color Map Item Count)字段使用指定包含在彩色图数据字段中的3字节彩色图项的总数的值,或者使用存在于该分组的彩色图数据中的彩色图表项。在该实施例中,彩色图数据中的字节数是彩色图项计数的3倍。彩色图项计数被设置为零以不发送彩色图数据。如果彩色图大小为零,则仍然发送彩色图偏移值,但是它被显示器忽视。彩色图偏移字段(4字节)指定该分组中彩色图数据自客户机装置中的彩色图表开始的偏移。
2字节参数CRC字段包含从分组长度到音频编码字节的所有字节的CRC。如果该CRC不能校验,则丢弃整个分组。
关于彩色图数据字段,每个彩色图位置的宽度由彩色图项大小字段指定,其中在一个实施例中,第一部分指定蓝色量值,第二部分指定绿色量值,第三部分指定红色量值。彩色图大小字段指定存在于彩色图数据字段中的3字节彩色图表项。如果单个彩色图不适应于一个视频数据格式及彩色图分组,则通过发送多个分组指定整个彩色图,其中每个分组具有不同彩色图数据和彩色图偏移。每个彩色图数据项中的蓝、绿、红比特数应当与显示器能力分组的彩色图RGB宽度字段中指定的比特数相同。
2字节彩色图数据CRC字段包含仅为彩色图数据的CRC。如果该CRC不能校验,则彩色图数据仍然可以使用,但是CRC差错计数被递增。
按照蓝、绿、红顺序传送每个彩色图数据项,每个成分中最低有效位被首先传送。每个彩色图项的各个红、绿和蓝成分应当被打包,但是每个彩色图项(蓝色成分的最低有效位)应当被字节对准。图100图示了彩色图数据项,具有蓝色的6比特、绿色的8比特和红色的7比特的实例。对于该实例,彩色图分组中的彩色图项大小等于21,显示器能力分组的彩色图RGB宽度字段等于0x0786。
E.关于链路封装分组参数CRC字段(2字节)包含从分组长度到往返长度的所有字节的16比特CRC。如果该CRC不能校验,则丢弃整个分组。
在一个实施例中,反向链路标志字段(1字节)包含向客户机请求信息的一组标志。如果比特(例如,比特0)被设置为1,则主机利用客户机能力分组向显示器请求指定信息。如果比特为零,则主机不需要来自客户机的信息。剩余比特(比特1至7)留给将来使用,并且被设置为零。然而,更多比特可以按照需要用来设置反向链路的标志。
反向速率除数字段(1字节)指定相对于反向链路时钟发生的MDDI_Stb周期数。反向链路数据时钟等于除以反向速率除数的两倍的前向链路数据时钟。反向链路数据速率和反向链路上的反向链路数据时钟和接口类型相关。对于类型1接口,反向数据速率等于反向链路数据时钟,对于类型2、类型3和类型4接口,反向速率数据速率分别等于反向链路数据时钟的两倍、四倍和八倍。
所有全零1字段包含一组字节(这里是8个),通过把比特设置为逻辑零电平,将该组字节的值设置为等于零。该全零1字段用来确保所有MDDI_Data信号在足够时间内处于逻辑零电平,以允许客户机仅利用MDDI_Stb开始恢复时钟,然后在往返1字段期间停用主机线路驱动器。在一个实施例中,全零1字段的长度大于或等于电缆的往返延迟的前向链路字节传送的时间数。
往返1长度字段(1字节)指定分配给往返1的字节总数,用于建立第一往返周期。往返1长度参数指定的字节数被分配,以允许客户机中的MDDI_Data线路驱动器先启动,然后再停用主机中的线路驱动器。客户机在往返1的比特0期间,启用它的MDDI_Data线路驱动器,并且主机停用它的输出,以便在往返1的最后比特之前被完全停用。客户机驱动器启用和主机驱动器处理停用的定时是,在主机的线路接收机看来,一个或两个驱动器在往返1期间驱动MDDI_Data信号到逻辑零电平。MDDI_Stb信号表现好像在整个往返1周期期间,MDDI_Data0为逻辑零电平。往返1设置的更完整的描述已在上文给出。
反向数据分组字段包含从客户机传送给主机的一系列数据分组。当没有发送给主机的数据时,客户机可以发送填充符分组或者驱动MDDI_Data线路到零状态。如果MDDI_Data线路被驱动到零,主机将把这翻译为具有零长度(没有有效长度)的分组,并且主机将在当前反向链路封装分组期间不接受来自客户机的附加分组。
往返2长度字段(1字节)指定分配给往返2的字节总数,用于建立第二往返周期。往返长度参数指定的字节数被分配,以允许主机中MDDI_Data线路驱动器先启动,然后再停用客户机中线路驱动器。主机在往返2的第一字节的比特0期间,启用它的MDDI_Data线路驱动器,并且客户机停用它的输出,以便在往返2的最后比特之前所述输出被完全停用。客户机驱动器的停用和主机驱动器处理启用的定时是使得,在主机中的线路接收机看来,一个或两个驱动器在往返2周期期间驱动MDDI_Data信号到逻辑零电平。MDDI_Stb信号表现好像在整个往返2周期期间,MDDI_Data0为逻辑零电平。往返2设置的更完整的描述在下文给出。
反向数据分组字段包含从客户机传送给主机的一系列数据分组。如上所述,发送填充符分组,以填充其它分组类型不使用的剩余空间。
全零2字段包含一组字节(该实施例中为8个),通过把比特设置在逻辑零电平,将该组字节的值设置为等于零。该全零2字段用来确保所有MDDI_Data信号在足够时间内处于逻辑零电平,以允许客户机利用MDDI_Data0和MDDI_Stb开始恢复时钟,该恢复时钟操作之前,先在启用往返2字段之后启用主机线路驱动器。
F.关于客户机能力分组如一个实施例所述,协议版本字段使用2字节指定客户机使用的协议版本。初始版本被设置到零,而最小协议版本字段使用2字节指定客户机可以利用或翻译的最小协议版本。数据速率能力字段(2字节)指定客户机在接口的前向链路上可以接收的最大数据速率,其速率单位为每秒兆比特(Mbps)。接口类型能力字段(1字节)指定前向和反向链路上支持的接口类型。这在目前被显示为通过选择比特0、比特1或者比特2,来分别选择前向链路上的类型2、类型3或类型4模式;以及通过选择比特3、比特4或比特5,来分别选择反向链路上的类型2、类型3或类型4模式;比特6和7保留,并且被设置为零。位图宽度和高度字段(2字节)分别指定像素中位图的宽度和高度。
单色能力字段(1字节)用来指定可以以单色格式显示的分辨率的比特数。如果显示器不能使用单色格式,则该值被设置为零。比特7至4留给将来使用,因而被设置为零。比特3至0定义可以存在用于每个像素的灰度级的最大比特数。这四个比特使得它能够指定每个像素的1至15的值。如果值为零,则显示器不支持单色格式。
Bayer能力字段使用1字节指定可以以Bayer格式传送的分辨率、像素组和像素次序的比特数。如果客户机不能使用Bayer格式,则该值为零。Bayer能力字段由以下值组成比特3至0定义每个像素中存在的强度的最大比特数,而比特5至4定义需要的像素组图案,比特8至6定义需要的像素次序;比特14至9保留供将来使用,并且在此期间通常设置为零。比特15当设置为1时指示客户机可以接受打包或未打包格式的Bayer像素数据。如果比特15设置为零,这指示客户机可以接受仅仅未打包格式的像素数据。
彩色图能力字段(3字节)指定显示器的彩色图表中存在的表项的最大数。如果显示器不能使用彩色图格式,则该值被设置为零。
RGB能力字段(2字节)指定可以以RGB格式显示的分辨率的比特数。如果显示器不能使用RGB格式,则该值等于零。RGB能力字由三个单独的无符号值组成,其中比特3至0定义每个像素中蓝色的最大比特数,比特7至4定义每个像素中绿色的最大比特数,比特11至8定义每个像素中红色的最大比特数。目前,比特14至12保留供将来使用,并且通常被设置为零。比特14至12保留供将来使用并通常设置为零。比特15设置为1时,指示客户机可以接受打包或未打包格式的彩色图像素数据。如果比特15设置到零,则指示客户机仅仅能够接收未打包格式的彩色图像素数据。
Y Cr Cb能力字段(2字节)指定可以以Y Cr Cb格式显示的分辨率的比特数。如果显示器不能使用Y Cr Cb格式,则该值被设置等于零。Y Cr Cb能力字由三个单独的无符号值组成,其中比特3至0定义Cb采样中最大比特数,比特7至4定义Cr采样中最大比特数,比特11至8定义Y采样中最大比特数,比特15至12目前保留供将来使用,并且被设置为零。
客户机特征能力字段使用包含一组标志的4字节,指示支持的显示器中的特定特征。设置为1的比特指示该能力得到支持,设置为零的比特指示该能力得不到支持。比特0的值指示位图块传送分组(分组类型71)是否得到支持。比特1、2和3的值指示,位图区域填充分组(分组类型72)、位案填充分组(分组类型73)或者通信链路数据信道分组(分组类型74)是否被分别支持。比特4的值指示客户机是否具有使一个颜色透明的能力,比特5和6的值指示客户机是否可以分别接受打包格式的视频数据或者音频数据,比特7指示客户机是否可以发送来自摄像机的反向链路视频流。比特8的值指示客户机是否有能力接收像素数据的整行,和是否不理睬如视频流分组的像素数据属性字段的比特5指定的显示器寻址,并且客户机还可以经由像素数据属性字段的比特15检测视频帧数据的帧同步或结束。
比特11和12的值分别指示客户机何时与指向装置通信以及可以发送和接收指向装置数据分组,或者何时与键盘通信并可以发送和接收键盘数据分组。比特13的值指示客户机是否有能力通过支持VCP特征分组来设置一个或多个音频或视频参数,这些VCP特征分组是请求VCP特征分组,VCP特征答复分组,设置VCP特征分组,请求有效参数分组和有效参数答复分组。比特14的值指示客户机是否有能力把像素数据写入脱机显示器帧缓存器。如果该比特被设置到逻辑1电平,则显示器更新比特(视频流分组的像素数据属性字段的比特7和6)可以被设置到01。比特22的值指示客户机是否有能力响应寄存器存取分组(Register Access Packet)。比特9至10和比特23至31目前保留供将来使用,或者供系统设计员选择指定,因而通常被设置等于零。
显示器视频帧速率能力字段(1字节)指定显示器的最大视频帧更新(每秒帧)能力。主机可以选择以低于该字段中指定值的速率更新图像。
音频缓存器深度字段(2字节)指定专用于每个音频流的显示器中的弹性缓存器的深度。
音频声道能力字段(2字节)包含指示音频声道得到显示器(客户机)支持的一组标志。设置为1的比特指示声道得到支持,设置为零的比特指示声道得不到支持。比特位置被分配给不同声道,例如比特位置0、1、2、3、4、5、6和7分别指示左前、右前、左后、右后、前中央、子低音喇叭、环绕左和环绕右声道。比特8至15目前保留供将来使用,并且通常被设置到零。
用于前向链路的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字节Mic采样速率能力字段包含一组指示客户机装置的麦克风音频采样速率能力的一组标志。对于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’指示采样速率达不到支持。如果不连接麦克风,则麦克风采样能力比特之每个被设置等于零。
内容保护类型字段(2字节)包含一组标志,用来指示得到显示器支持的数字内容保护类型。目前比特位置0用来指示DTCP何时被支持,以及比特位置1用来指示HDCP何时被支持,比特位置2至15保留,以供期望或者可用的其它保护方案使用,所以它们目前被设置到零。
G.关于客户机请求和状态分组反向链路请求字段(3字节)指定,客户机在下一子帧的反向链路中需要发送信息给主机的字节数。
CRC误差计数字段(1字节)指示自媒体帧开始后,有多少CRC差错已经出现。当具有零的子帧计数的子帧报头分组被设置时,CRC计数被复位。如果实际CRC差错数超过255,则该值通常饱和在255上。
能力改变字段使用1字节指示显示器的能力改变。这可以出现在用户连接外围设备(比如麦克风、键盘或显示器)时,或者由于某些其它原因而出现。当比特[7:0]等于0时,自最后客户机能力分组被发送该能力还没有改变。然而,当比特[7:0]等于1至255时,该能力已经被改变。客户机能力分组被检查,以确定新的显示器特征。
H.关于比特块传送分组窗口左上坐标X值和Y值字段使用2字节分别指定待移动的窗口左上角的坐标的X和Y值。窗口宽度和高度字段使用2字节分别指定待移动的窗口的宽度和高度。窗口X移动和Y移动字段使用2字节分别指定窗口水平和垂直移动的像素数。通常,这些坐标被配置成,X的正值使窗口向右边移动,负值造成向左移动,而Y的正值使窗口向下移动,负值造成向上移动。
I.关于位图区域填充分组窗口左上坐标X值和Y值字段使用2字节分别指定待填充的窗口的左上角的坐标的X和Y值。窗口宽度和高度字段(分别为2字节)指定待填充的窗口的宽度和高度。视频数据格式描述符字段(2字节)指定像素区域填充值的格式。该格式与视频流分组中的字段相同。像素区域填充值字段(4字节)包含将填充到由上述字段指定的窗口中的像素值。该像素的格式在视频数据格式描述符字段中指定。
J.关于位案填充分组窗口左上坐标X和Y值字段使用2字节分别指定待填充的窗口的左上角的坐标的X和Y值。窗口宽度和图案高度字段(分别为2字节)指定待填充窗口的宽度和高度。图案宽度和图案高度字段(分别为2字节)指定填充图案的宽度和高度。2字节视频数据格式描述符字段指定像素区域填充值的格式。图11图示了如何编码视频数据格式描述符。该格式等同于视频流分组中的相同字段。
参数CRC字段(2字节)包含从分组长度到视频格式描述符的所有字节的CRC。如果该CRC不能校验,则丢弃整个分组。图案像素数据字段包含指定该格式的填充图案的原始视频信息,其中所述格式由视频数据格式描述符指定。填充图案数据按每次一行传送。图案像素数据CRC字段(2字节)包含仅为图案像素数据的CRC。如果CRC不能校验,则图案像素数据仍然可以被使用,但是递增CRC差错计数。
K.通信链路数据信道分组参数CRC字段(2字节)包含从分组长度到分组类型的所有字节的16比特CRC。如果该CRC不能校验,则丢弃整个分组。
通信链路数据字段包含来自通信信道的原始数据。该数据仅仅传到显示器的计算装置。
通信链路数据CRC字段(2字节)包含仅仅通信链路数据的16比特CRC。如果CRC不能校验,则通信链路数据仍然被使用或者可用,但是递增CRC差错计数。
L.关于接口类型切换请求分组接口类型字段(1字节)指定使用的新接口类型。该字段中的值按以下方式指定接口类型。如果比特7中的值等于‘0‘,则类型切换请求用于前向链路;如果等于‘1’,则类型切换请求用于反向链路。比特6至3留给将来使用,并且通常被设置为零。比特2至0用来定义待使用的接口类型,1的值是指切换到类型1模式,2的值是指切换到类型2模式,3的值是指切换到类型3模式,4的值是指切换到类型4模式。‘0’和5至7的值保留,以供替代模式或者模式组合的将来指定。
M.关于接口类型确认字段接口类型字段(1字节)具有确认使用的新接口类型的值。该字段中的值按以下方式指定接口类型。如果比特7等于‘0’,则类型切换请求用于前向链路,作为选择,如果等于‘1’,则类型切换请求用于反向链路。比特位置6至3当前保留,以供指定希望的其它切换类型使用,并且通常被设置为零。然而,比特位置2至0用来定义待使用的接口类型,‘0’值指示否定确认,或者所请求的切换不能被执行,‘1’、‘2’、‘3’和‘4’的值分别指示切换到类型1、类型2、类型3和类型4模式。5至7的值保留,以供选择指定所需模式使用。
N.关于执行类型切换分组1字节接口类型字段指示使用的新接口类型。该字段中出现的值通过首先使用比特7的值确定类型切换是用于前向链路还是用于反向链路,来指定接口类型。‘0’的值指示类型切换请求用于前向链路,‘1’的值用于反向链路。比特6至3留给将来使用,因此通常被设置为零。然而,比特2至0用来定义待使用的接口类型,值1、2、3和4分别指定使用切换到类型1、类型2、类型3和类型4模式。这些比特的值0和5至7留给将来使用。
O.关于前向音频声道启用分组音频声道启用掩码字段(1字节)包含指示哪个音频声道将在客户机中启用的一组标志。设置为1的比特启用相应声道,设置为零的比特禁用相应声道,比特0至5指定分别寻址左前声道、右前声道、左后声道、右后声道、前中央声道和子低音喇叭声道0至5。比特6和7留给将来使用,在次期间通常被设置为零。
P.关于反向音频采样速率分组音频采样速率字段(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]保留,以供按照需要指定音频格式的替代使用,并且通常被设置为等于零。
Q.关于数字内容保护开销分组内容保护类型字段(1字节)指定使用的数字内容保护方法。‘0’值指示数字传送内容保护(DTCP),而1值指示高带宽数字内容保护系统(HDCP)。2至255的值范围目前不指定,而是留给需要的替代保护方案使用。内容保护开销消息字段是可变长度字段,该字段包含在主机与客户机之间发送的内容保护消息。
R.关于透明色启用分组透明色启用字段(1字节)指定透明色模式何时启用或停用。如果比特0等于0,则透明色模式被停用,如果比特0等于1,则透明色模式被启用,并且通过以下两个参数指定透明色。该字节的比特1至7留给将来使用,并且通常被设置等于零。
视频数据格式描述符字段(2字节)指定像素区域填充值的格式。图11图示了视频数据格式描述符如何被编码。该格式通常等同于视频流分组中相同字段。
像素区域填充字段使用为填充到以上指定的窗口的像素值而分配的4字节。该像素的格式在视频数据格式描述符字段中指定。
S.关于往返延迟测量分组2字节分组长度字段指定不包含分组长度字段的分组中字节的总数,并且在一个实施例中,被选择为具有159的固定长度。标识该分组类型的2字节分组类型字段具有82的值,用于把一个分组标识为往返延迟测量分组。h客户机ID字段如上所述被保留,以供将来用作客户机ID,并且通常被设置为零。
在一个实施例中,参数CRC字段(2字节)包含从分组长度到分组类型的所有字节的16比特CRC。如果CRC不能校验,则丢弃整个分组。
保护时间1字段(64字节)用来允许在主机中线路驱动器被停用之前,启用客户机中的MDDI_Data线路驱动器。客户机在保护时间1的比特0期间启用它的MDDI_Data线路驱动器。并且主机停用它的线路驱动器,以便在保护时间1的最后比特之前完全停用。当主机和客户机未被停用时,它们在保护时间1期间都驱动逻辑零电平。该字段的另一个目的是确保所有MDDI_Data信号在逻辑零电平上持续足够时间,以允许客户机仅使用MDDI_Stb开始恢复时钟或时钟信号,然后再停用主机的线路驱动器。
测量周期字段是64字节窗口,它用来允许客户机以两个字节0xff和30个字节的0x0进行响应,其速率为前向链路上使用的数据速率的一半。数据速率对应于1的反向链路速率除数。在客户机察觉测量周期(好像)开始的时刻,它立即返回该响应。在主机上的测量周期的第一比特开始之后,主机将正好在链路的往返延迟加客户机中的逻辑延迟的时刻接收来自客户机的响应。
全零字段(2字节)包含允许主机和客户机上的MDDI_Sata线路驱动器重叠的若干个零,所以MDDI_Data总是被驱动。主机在保护时间2的比特0期间启用MDDI_Data线路驱动器,并且客户机还驱动信号到逻辑零电平,实际上在测量周期的结尾处驱动。
当往返延迟为测量周期中可测量的最大量时,保护时间2字段(64字节)的值允许客户机驱动的测量周期重叠。客户机在保护时间2的比特0期间,停用它的线路驱动器,并且主机在保护时间2的最后比特之后,立即启用它的线路驱动器。主机和客户机在未被停用时,在保护时间2驱动逻辑零电平。该字段的另一个目的是,在启用主机的线路驱动器之后,确保所有MDDI_Data信号在逻辑零电平上持续足够时间,来允许客户机使用MDDI_Data0和MDDI_Stb开始恢复时钟信号。
T.关于前向链路偏斜校准分组在一个实施例中,参数CRC字段(2字节)包含从分组长度到分组类型的所有字节的16比特CRC。如果该CRC不能校验,则丢弃整个分组。
校准数据序列字段包含512字节数据序列,它使MDDI_Data信号在每个数据周期翻转。在校准数据序列的处理期间,MDDI主机控制器把所有MDDI_Data信号设置到等于选通信号。显示器时钟恢复电路应当仅使用MDDI_Stb(而不是MDDI_Stb Xor MDDI_Data0)恢复数据时钟,尽管校准数据序列字段被客户机显示器接收。基于校准数据序列字段开始时的MDDI_Stb信号的精确相位,校准数据序列通常将是基于发送该分组时使用的接口类型的以下之一类型I-0xaa,0xaa...或0x55,0x55...
类型II-0xcc,0xcc...或0x33,0x33...
类型III-0xf0,0xf0...或0x0f,0x0f...
类型IV-0xff,0x00,0xff,0x00...或0x00,0xff,0x00,0xff...。
图62A和图62B分别显示了用于类型1和类型2接口的可能MDDI_Data和MDDI_Stb波形的实例。
XVII.结束语尽管上文已经说明了本发明的各种实施例,但是应当明白,这些实施例是举例说明,而不是限定。因此本发明的宽度和范围应当不限于上述典型实施例的任何一个,而是仅仅根据以下权利要求和它们的等效物来定义。
权利要求
1.一种经由通信路径在主机装置与客户机装置之间以高速率传送数字显现数据的数字数据接口,包括链接在一起形成通信协议的多个分组结构,用于经由所述通信路径在主机与客户机之间通信一组预选的数字控制和显现数据;和至少一个链路控制器,设置在经由所述通信路径连接所述客户机的所述主机装置中,该链路控制器被配置成生成、传送和接收形成所述通信协议的分组,并且把数字显现数据形成一种或多种类型的数据分组。
2.根据权利要求1所述的接口,还包括集合在用来在所述主机与客户机之间通信的媒体帧之内的所述诸多分组,媒体帧具有预定义的固定长度,预定数量的所述分组具有不同的和可变的长度。
3.根据权利要求1所述的接口,还包括子帧报头分组,被定位在从所述主机分组传送的开始位置。
4.根据权利要求1所述的接口,其中,所述链路控制器是主机链路控制器,并且还包括至少一个客户机链路控制器,所述客户机链路控制器被设置在经由所述通信路径连接所述主机的所述客户机装置中,并且被配置成生成、传送和接收形成所述通信协议的分组,并且把数字显现数据形成一种或多种类型的数据分组。
5.根据权利要求1所述的接口,还包括用于视频类型数据的一个或多个视频流分组,以及用于音频类型数据的音频流分组,用于经由前向链路把数据从所述主机传送给所述客户机,以显现给客户机用户。
6.根据权利要求2所述的接口,还包括多个传送模式,其每个允许在给定时间周期并行传送数据的不同的最大比特数,每个模式可通过所述主机与客户机链路驱动器之间的协商来选择;和其中在数据传送期间,所述传送模式在所述诸多模式之间动态调整。
7.根据权利要求1所述的接口,还包括用来传送视频信息的多个分组,这些分组是从彩色图分组、比特块传送分组、位图区域填充分组、位案填充分组和透明色启用型分组的组中选出。
8.根据权利要求1所述的接口,还包括由所述主机生成的填充类型分组,该填充型分组占据没有数据的前向链路传送的周期。
9.根据权利要求1所述的接口,还包括用户定义流类型分组,用于传送接口用户定义数据。
10.根据权利要求1所述的接口,还包括由所述主机传送给所述客户机的链路关闭类型分组,用于终止所述通信路径的任何方向上的数据传送。
11.根据权利要求1所述的接口,还包括所述客户机把所述主机从休眠状态唤醒的方法。
12.一种经由通信路径在主机装置与客户机装置之间以高速率传送用于显现给用户的数字数据的方法,包括生成多个预定义分组结构的一个或者多个,并把它们链接在一起形成预定义的通信协议;使用所述通信协议,经由所述通信路径在所述主机与客户机之间通信一组预选的数字控制和显现数据;经由所述通信路径把位于所述主机装置中的至少一个主机链路控制器连接到所述客户机装置,主机链路控制器被配置成生成、传送和接收形成所述通信协议的分组,并且把数字显现数据形成一种或多种类型的数据分组;以及利用所述链路控制器经由所述通信路径传送分组形式的数据。
13.根据权利要求12所述的方法,还包括,把所述诸多分组集合在用来在所述主机与客户机之间通信的媒体帧之内,媒体帧具有预定义的固定长度,预定数量的所述分组具有不同的和可变的长度。
14.根据权利要求12所述的方法,还包括从子帧报头类型分组开始传送来自所述主机的分组。
15.根据权利要求12所述的方法,还包括经由所述通信链路在所述主机与客户机之间双向传送信息。
16.根据权利要求12所述的方法,还包括至少一个客户机链路控制器,所述客户机链路控制器被设置在经由所述通信路径连接所述主机装置的所述客户机装置中,并且被配置成生成、传送和接收形成所述通信协议的分组,并且把数字显现数据形成一种或多种类型数据分组。
17.根据权利要求16述的方法,其中,所述主机链路控制器包括一个或多个差分线路驱动器;并且所述客户机链路控制器包括连接所述通信路径的一个或多个差分线路接收机。
18.根据权利要求12所述的方法,还包括主机链路控制器向客户机请求显示器能力信息,以便确定所述客户机能够适应的经过所述接口的数据类型及数据速率。
19.根据权利要求12所述的方法,还包括,每个所述链路控制器把USB数据接口作为所述通信链路的一部分进行操作。
20.根据权利要求12所述的方法,其中所述分组分别包括分组长度字段、一个或多个分组数据字段和循环冗余校验字段。
21.根据权利要求13所述的方法,还包括在所述主机与客户机链路驱动器之间协商在每个方向上多种传送模式之一的使用,每个传送模式允许在给定时间周期并行传送数据的不同的最大比特数;和在数据传送期间,在所述传输模式之间动态调整。
22.根据权利要求12所述的方法,还包括使用多个分组的一个或多个传送视频信息,这些分组选自彩色图分组、比特块传送分组、位图区域填充分组、位案填充分组和透明色启用型分组的组中。
23.根据权利要求12所述的方法,还包括由所述主机生成的填充类型分组,以占据没有数据的前向链路传送的周期。
24.根据权利要求12所述的方法,还包括使用由所述主机传送给所述客户机的链路关闭类型分组,终止所述通信路径的任何方向上的数据传送。
25.根据权利要求12所述的方法,还包括通过与所述客户机通信,把所述主机从休眠状态唤醒。
26.一种经由通信路径在主机装置与客户机装置之间以高速率传送用于显现给用户的数字数据的装置,包括设置在所述主机装置中的至少一个主机链路控制器,用于生成多个预定义分组结构中的一个或多个,并将它们链接在一起形成预定义的通信协议,以及利用所述通信协议经由所述通信路径在所述主机与所述客户机装置之间通信一组预选的数字控制的和显现数据;设置在所述客户机装置中并经由所述通信路径连接所述主机链路控制器的至少一个客户机控制器;以及每个链路控制器被配置成生成、传送和接收形成所述通信协议的分组,并且把数字显现数据形成一种或多种类型数据分组。
27.根据权利要求26所述的设备,其中,所述主机控制器包括状态机。
28.根据权利要求26所述的设备,其中,所述主机控制器包括通用信号处理器。
29.根据权利要求26所述的设备,还包括在所述主机的分组传送开始处的子帧报头类型分组。
30.根据权利要求26所述的设备,其中,所述链路控制器被配置成,经由所述通信链路在所述所述主机与客户机装置之间双向传送信息。
31.根据权利要求30所述的设备,其中,所述主机控制器包括一个或多个差分线路驱动器;并且所述客户机接收机包括连接所述通信路径的一个或多个差分线路接收机。
32.根据权利要求26所述的设备,还包括当从所述主机向所述客户机传送用于向客户机用户显现的数据时,用于视频类型数据的视频流类型分组,以及用于音频类型的音频流类型分组。
33.根据权利要求26所述的设备,还包括一个或多个反向链路封装类型分组,用于把来自所述客户机的数据传送给所述主机。
34.根据权利要求33所述的设备,还包括至少一个显示器能力类型分组,用于把来自客户机链路控制器的显示器或显现能力通信给所述主机链路控制器。
35.根据权利要求26所述的设备,其中所述分组分别包括分组长度字段、一个或多个分组数据字段、以及循环冗余校验字段。
36.根据权利要求26所述的设备,其中,所述主机和客户机链路控制器被配置成,在每个方向使用多个传送模式的一个传送模式,每个传送模式允许在给定时间周期并行传送数据的不同的最大比特数;并且能够在数据传送期间,在所述传送模式之间动态调整。
37.根据权利要求26所述的设备,还包括传送视频信息的多个分组的一个或多个,这些分组选自彩色图分组、比特块传送分组、位图区域填充分组、位案填充分组和透明色启用型分组的组中。
38.根据权利要求26所述的设备,还包括由所述主机传送的填充类型分组,所述填充型分组占据没有数据的前向链路传送的周期。
39.根据权利要求26所述的设备,其中,所述主机控制器被配置成,把链路关闭类型分组传送给所述客户机装置,用于终止所述通信路径上任何方向的传送。
40.一种供电子系统使用的计算机程序产品,用于经由通信路径在主机装置与客户机装置之间以高速率传送用于显现给用户的数字数据,所述计算机程序产品包括计算机可用媒介,具有嵌入在所述媒介中的计算机可读程序代码装置,使应用程序在计算机系统上执行,所述计算机可读程序代码装置包括计算机可读第一程序代码装置,使计算机系统生成多个预定义分组结构的一个或多个,并且把它们链接在一起形成预定义的通信协议;计算机可读第二程序代码装置,使计算机系统使用所述通信协议,经由所述通信路径在所述主机与所述客户机装置之间通信一组预选的数字控制和显现数据;计算机可读第三程序代码装置,使计算机系统经由所述通信路径把设置在所述主机装置中的至少一个主机链路控制器连接到设置在所述客户机装置中的至少一个客户机控制器,所述链路控制器被配置成生成、传送和接收形成所述通信协议的分组,并且把数字显现数据形成一种或多种类型的数据分组;以及计算机可读第四程序代码装置,使计算机系统利用所述链路控制器经由所述通信路径传送分组形式的数据。
41.一种经由通信路径在主机装置与客户机装置之间以高速率传送用于显现给用户的数字数据的设备,包括生成多个预定义分组结构的一个或者多个,并把它们链接在一起形成预定义的通信协议的装置;使用所述通信协议,经由所述通信路径在所述主机与所述客户机装置之间通信一组预选的数字控制和显现数据的装置;经由所述通信路径把至少两个链路控制器连接在一起的装置,所述链路控制器分别在所述主机和客户机的每个中,并且每个链路控制被配置成生成、传送和接收形成所述通信协议的分组,并且把数字显现数据形成一种或多种类型的数据分组;以及利用所述链路控制器、经由所述通信路径传送分组形式数据的装置。
42.根据权利要求41所述的设备,还包括从子帧报头类型分组开始传送来自所述主机的分组。
43.根据权利要求41所述的设备,还包括经由所述通信链路在所述主机与客户机之间双向传送信息的装置。
44.根据权利要求41所述的设备,还包括主机链路控制器向客户机请求显示器能力信息的装置,以便确定所述客户机能够适应的经过所述接口的数据类型及数据速率。
45.根据权利要求44所述的设备,还包括,使用至少一个显示器能力类型分组,从客户机链路控制器向所述主机链路控制器通信显示器能力或显现能力的装置。
46.根据权利要求42所述的设备,还包括在所述主机与客户机链路驱动器之间协商在每个方向上的多种传送模式之一的使用的装置,每个传送模式允许在给定时间周期并行传送数据的不同的最大比特数;和在数据传送期间在所述传输模式之间动态调整的装置。
47.根据权利要求41所述的设备,还包括使用多个分组的一个或多个传送视频信息的装置,这些分组选自彩色图分组、比特块传送分组、位图区域填充分组、位案填充分组和透明色启用型分组的组中。
48.一种在电子系统中使用的处理器,用于经由通信路径在主机装置与客户机装置之间以高速率传送数字数据,所述处理器被配置成生成多个预定义分组结构的一个或者多个,并把它们链接在一起形成预定义的通信协议;使数字显现数据形成一种或多种类型的数据分组;使用所述通信协议,经由所述通信路径在所述主机与所述客户机装置之间通信一组预选的数字控制和显现数据;以及经由所述通信路径传送分组形式的数据。
49.一种在电子系统中获取同步而使用的状态机,所述电子系统经由通信路径在主机装置与客户机装置之间以高速率传送数字数据,状态机被配置成具有至少一个Async Frames State同步状态,至少两个Acquiring Sync States同步状态,和至少三个In-Sync States同步状态。
50.一种在电子系统中获取同步而使用的状态机,所述电子系统经由通信路径在主机装置与客户机装置之间以高速率传送数字数据,状态机被配置成具有至少一个Acquiring Sync States同步状态,和至少两个In-Sync States同步状态。
51.根据权利要求50所述的状态机,其中在Acquiring Sync State与第一In-Sync State之间转换的一个条件是,检测到通信链路中同步图案的存在。
52.根据权利要求51所述的状态机,其中在Acquiring Sync State与第一In-Sync State之间转换的第二条件是,检测到帧边界上的子帧报头分组和良好CRC值的存在。
53.根据权利要求50所述的状态机,其中在第一In-Sync State与Acquiring Sync State之间转换的一个条件是,检测到子帧边界上不同步图案或坏CRC值的存在。
54.根据权利要求50所述的状态机,其中在第一In-Sync State与第二In-Sync State之间转换的一个条件是,检测到子帧边界上不同步图案或坏CRC值的存在。
55.根据权利要求50所述的状态机,其中在Acquiring Sync State与第一In-Sync State之间转换的一个条件是,在通信链路中检测到同步图案的存在,检测到良好分组CRC值的存在。
56.根据权利要求50所述的状态机,其中在第一In-Sync State与Acquiring Sync State之间转换的条件是,在分组中检测到坏CRC值的存在。
57.一种在电子系统中获取同步而使用的状态机,所述电子系统经由通信路径在主机装置与客户机装置之间以高速率传送数字数据,状态机被配置成具有至少一个Acquiring Sync States同步状态,至少两个In-Sync State同步状态,其中在第一In-Sync State与Acquiring SyncState之间直接转换的条件是,检测到一系列分组的任何一个中的坏CRC值的存在。
58.根据权利要求57所述的状态机,其中在第一In-Sync State与Acquiring Sync State之间直接转换的条件是,检测到唯一字没有出现在它应该到达的时刻上。
59.根据权利要求26所述的方法,还包括,所述主机通过驱动数据线到高状态至少10个时钟周期并开始传送选通信号,就好似数据线为零,来唤醒通信链路。
60.根据权利要求59所述的方法,还包括所述主机驱动数据线为低持续50个时钟周期,同时在主机已经驱动数据线为高持续150个时钟周期之后,继续传送选通信号。
61.根据权利要求59所述的方法,还包括由所述主机开始传送第一子帧报头分组。
62.根据权利要求60所述的方法,还包括由所述客户机计数数据线为高的至少150个连续时钟周期,其后是数据线为低的至少50个连续时钟周期。
63.根据权利要求62所述的方法,还包括由所述客户机搜索第一子帧的唯一字。
64.根据权利要求60所述的方法,还包括在客户机计数数据为高的70个连续时钟周期之后,所述客户机停止将数据线驱动为高。
65.根据权利要求64所述的方法,还包括由所述客户机计数数据线为高的另外80个连续时钟周期,使之到达数据线为高的150个时钟周期,并寻找数据线为低的50个时钟周期,和寻找唯一字。
66.根据权利要求26所述的方法,还包括,在反向定时分组期间,通过在上升和下降沿采样数据线,计数由所述主机采样到一之前的时钟周期出现的数量。
67.一种在通信系统中传送差错码的方法,其中经由通信路径在主机装置与客户机装置之间以具有CRC值的分组形式传送数字数据,包括检测差错的存在,选择对应于所述差错的预定差错码,以及用所述码改写CRC值。
68.根据权利要求67所述的方法,还包括在正在被传送的连续分组中改写所述CRC值,直到所述差错被校正。
69.一种经由通信路径在主机装置与客户机装置之间以高速率传送用于显现给用户的数字数据的方法,包括生成多个预定义分组结构的一个或者多个,并把它们链接在一起形成预定义的通信协议,其中所述预定义分组结构每个包括至少一个CRC字段;使用所述通信协议,经由所述通信路径在所述主机与所述客户机装置之间通信一组预选的数字控制和显现数据;经由所述通信路径把位于所述主机装置中的至少一个主机链路控制器连接到所述客户机装置,主机链路控制器被配置成生成、传送和接收形成所述通信协议的分组,并且使数字显现数据形成一种或多种类型的数据分组;以及利用所述链路控制器、经由所述通信路径传送分组形式的数据;为通信链路检测差错的出现;对应于所述差错选择预定差错码,并用所述码改写CRC值。
70.根据权利要求69所述的方法,还包括在正在被传送的连续分组中改写所述CRC值,直到所述差错被校正。
全文摘要
一种利用分组结构经由通信路径在主机装置与客户机装置之间传送数字数据的数据接口,所述分组结构被链接在一起,以形成用于通信一组预选的数字控制和显现数据的的通信协议。信号协议由若干链路控制器使用,该链路控制器被配置成,生成、传送和接收形成所述通信协议的分组,并且使数字显现数据形成一种或多种类型的数据分组,至少一个链路控制器位于主机装置中,并经由通信路径连接客户机。该接口在短距离“串行”型数据链路上提供成本有效、低功率、双向、高速数据传送机制,该接口本身由小型连接器和薄的柔软电缆实现,这特别有利于连接显示器元件,比如连接便携计算机和无线通信装置的可戴式微显示器。
文档编号H04M1/725GK1879383SQ200480033013
公开日2006年12月13日 申请日期2004年9月10日 优先权日2003年9月10日
发明者J·J·安德森, B·斯蒂尔, G·A·威利, S·谢卡尔 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1