用于更新缓冲器的方法和系统的制作方法

文档序号:6553600阅读:114来源:国知局
专利名称:用于更新缓冲器的方法和系统的制作方法
技术领域
本发明大体上涉及用于更新缓冲器的方法和系统。更明确地说,本发明涉及用于通 过通信链路更新缓冲器的方法和系统。
背景技术
在互连技术领域中,对于尤其与视频演示有关的不断增加的数据速率的需求持续增长。
移动显示数字接口 (MDDI)是具有成本效益的、低功率消耗的传递机制,其实现主 机与客户端之间经由短程通信链路的甚高速数据传递。MDDI最少只需要四根引线加上
用于递送最大带宽达每秒3.2吉比特的双向数据传递的功率。
在一个应用中,MDDI通过显著减少穿过手持机的铰链以使数字基带控制器与LCD 显示器和/或相机互连的引线的数目,来增加可靠性并减少翻盖电话(clamshell phone) 的功率消耗。此引线的减少还允许手持机制造商通过简化翻盖或滑盖手持机设计来降低 开发成本。
在通过MDDI链路控制LCD显示器时,出现的一个问题与当显示器刷新时的图像闪 烁有关。通常,需要长余辉转换(long persistence conversion)或高于人眼可感知的速率 的刷新速率。当图像似乎要移动时,长余辉转换导致图像拖尾效应(image smearing)。 因此,需要显示器具有高刷新速率。然而,出现的典型问题是图像撕裂。所述问题在于 当以高速率刷新显示器时,与显示器相关联的帧缓冲器正以较慢速率被填充。因此,显 示图像可能反映显示器的同一帧内更新的和旧的图像信息两者。
在一种解决方案中,使用多个缓冲器,且使图像信息循环经过所述多个缓冲器以避 免上述图像撕裂问题。这包含普遍知道的"双缓冲"方法。然而,这种解决方案的缺点 显然是实施过程中成本和芯片空间需求增加。'
因此,需要用于实现解决上述问题同时满足MDDI应用的成本和空间需求的缓冲器 更新解决方案的方法和系统。

发明内容
本发明涉及用于更新缓冲器的方法和系统。在一个方面,本发明提供一种更新缓冲器的方法,其包含策略上对所述缓冲器进行 写入以启用对所述缓冲器的同时读取和写入。所述方法排除了对双缓冲的需要,藉此与 常规缓冲方法相比产生实施成本和空间的节省。所述方法的优点尤其是当用于更新与显 示器相关联的帧缓冲器时防止图像撕裂,但不限于此类应用。
在另一方面,本发明提供用于通过通信链路启用缓冲器更新的有效机制。在一个实 例中,本发明提供一种通过通信链路转继时序信息的方法。然而,所述方法不限于转继 时序信息,且可用于所属领域的技术人员基于本文的教示可了解的更一般的情境中。
下文参看附图详细描述本发明的其它实施例、特征和优点,以及本发明各种实施例 的结构和操作。


附图并入本文中并形成本说明书的一部分,

本发明,且与描述内容一起进 一步用于解释本发明的原理并使相关领域的技术人员能够制造并使用本发明。 图l是说明使用移动显示数字接口 (MDDI)接口的示范性环境的方框图。 图1A是耦合到数字装置和外围装置的数字数据装置接口的图。 图2是说明根据图1的实例的实施例的MDDI链路互连的方框图。 图3是说明图像撕裂问题的实例。
图4是说明根据本发明的更新缓冲器的方法的进程流程图。
图5说明图4的方法的实例。
图6A、 6B说明缓冲器读取/写入策略。
图7是说明根据本发明的通过通信链路递送时序信息的方法的进程流程图。 图8说明启动MDDI链路唤醒以递送时序信息的示范性信号时序图。 将参看附图描述本发明。元件第一次出现的图通常由相应参考标号中最左数位表示。
具体实施例方式
本说明书揭示并入有本发明的特征的一个或一个以上实施例。所揭示的实施例仅例 示本发明。本发明的范围不限于所揭示的实施例。本发明由所附权利要求书界定。
所描述的实施例,和说明书中对于"一个实施例"、"实施例"、"示范性实施例"等 的参考表示所描述的实施例可包含特定部件、结构或特性,但可能并不一定每个实施例 均包含所述特定部件、结构或特性。此外,这些短语不一定是指同一实施例。此外,当 结合实施例描述特定部件、结构或特性时,应认为,结合明确或未明确描述的其它实施 例来实行此特定部件、结构或特性应在所属领域的技术人员的知识范围内进行。本发明的实施例可实施在硬件、固件、软件,或其任何组合中。本发明的实施例也 可实施为存储在机器可读媒体上的指令,所述指令可由一个或一个以上处理器读取和执 行。机器可读媒体可包含用于以可由机器(例如,计算装置)读取的形式存储或传输信 息的任何机构。举例来说,机器可读媒体可包含只读存储器(ROM);随机存取存储器 (RAM);磁盘存储媒体;光学存储媒体;快闪存储器装置;电、光学、声音或其它形式 的传播信号(例如,载波、红外信号、数字信号等)等等。此外,本文中可将固件、软 件、例行程序、指令描述为执行某些动作。然而,应了解,这些描述仅出于方便的目的,
且这些动作实际上来自计算装置、处理器、控制器或执行所述固件、软件、例行程序、 指令等的其它装置。
移动显示数字接口 (MDDI)
移动显示数字接口 (MDDI)是具有成本效益的、低功率消耗的传递机制,其实现主 机与客户端之间经由短程通信链路的甚高速串行数据传递。
下文中,将相对于包含在移动电话的上翻盖中的相机模块来提供MDDI的实例。然 而,相关领域的技术人员将了解,具有与相机模块功能上等效的部件的任何模块均可容 易地替代并用于本发明的实施例中。
此外,根据本发明的实施例,MDDI主机可包括可通过使用本发明而受益的若干类 型的装置中的一者。举例来说,主机可以是手持式、膝上型、或类似的移动计算装置形 式的便携式计算机。主机也可以是个人数据助理(PDA)、寻呼装置,或许多无线电话或 调制解调器中的一者。或者,主机可以是便携式娱乐或演示装置(presentation device), 例如便携式DVD或CD播放器,或游戏装置。此外,主机可作为主机装置或控制元件而 驻存在期望与客户端具有高速通信链路的多种其它广泛使用的或计划的市售产品中。举 例来说,主机可用于以高速率将数据从视频记录装置传递到基于存储的客户端以实现改 进的响应,或传递到高清晰度的较大屏幕以用于演示。并入有板载库存(onboard inventory)或计算系统和/或到达其它家用装置的蓝牙连接的器具(例如,冰箱)当在因 特网或蓝牙连接模式下操作时可具有改进的显示能力,或当电子计算机或控制系统(主 机)驻存在机柜中的其它地方时,具有对室内显示器(客户端)和键区或扫描仪(客户 端)的配线减少的需求。大体上来说,所属领域的技术人员将了解可通过使用这种接口 而受益的多种现代电子装置和器具,以及利用新添加或现有的连接器或电缆中有限数目 的可用导体来改进老装置使其以较高数据速率传送信息的能力。同时,MDDI客户端可 包括多种可用于向最后用户提供信息或将信息从用户提供到主机的装置。举例来说,并
6入在护目镜或眼镜中的微显示器、内置于帽子或头盔中的投影装置、内置于车辆中(例 如,观察窗或挡风玻璃中)的小型屏幕或甚至全息照相元件,或各种扬声器、头戴受话 器或用于演示高质量声音或音乐的声音系统。其它演示装置包含用于演示会议或电影和 电视图像的信息的投影仪或投影装置。另一实例将是使用触摸板或敏感装置、语音辨识 输入装置、安全扫描仪等,除来自用户的触摸或声音外几乎不使用其它实际"输入"即 可调用这些装置从装置或系统用户传递大量信息。另外,计算机的扩展坞(docking station) 和车载套件(carkit)或桌面套件(desk-t叩kit)以及无线电话的支持架可充当介接到最 后用户或到其它装置和设备的接口装置,并使用客户端(例如鼠标的输出或输入装置) 或主机来辅助传递数据(尤其在涉及高速网络的情况下)。然而,所属领域的技术人员将 容易了解,本发明不限于这些装置,市场上存在建议使用的旨在在存储和传送方面或在 重放演示方面为最后用户提供高质量图像和声音的许多其它装置。本发明可用于增加各 种元件或装置之间的数据通过量,以适应实现期望的用户体验所需的高数据速率。
图1A是耦合到数字装置150和外围装置180的数字数据装置接口 100的图。数字装 置150可包含(但不限于)蜂窝式电话、个人数据助理、智能电话或个人计算机。大体 上说,数字装置150可包含充当针对数字指令和处理数字演示数据(digital presentation data)的处理单元的任何类型的数字装置。数字装置150包含系统控制器160和链路控制 器170。
外围装置180可包含(但不限于)相机、条形码读出器、图像扫描仪、音频装置和 传感器。大体上说,外围装置180可包含任何类型的音频、视频或图像捕获和显示装置, 其中在外围装置与处理单元之间交换数字演示数据。外围装置180包含控制区块190。 例如,当外围装置180是相机时,控制区块190可包含(但不限于)镜头控制、闪光缚 白色LED控制及快门控制。数字演示数据可包含表示音频、图像和多媒体数据的数字数 据。
数字数据接口装置IOO经由通信链路105以高速率传递数字演示数据。在一个实例 中,可使用MDDI通信链路,其支持最大带宽为每秒3.2吉比特的双向数据传递。视通 信链路而定,可支持数据传递的高于或低于此示范性速率的其它高速率。数字数据接口 装置IOO包含消息解译器模块110、内容模块120、控制模块130和链路控制器140。
位于数字数据接口 100内的链路控制器140和位于数字装置150内的链路控制器170 建立通信链路105。链路控制器140和链路控制器170可以是MDDI链路控制器。
视频电子标准协会("VESA") MDDI标准(其全文以引用的方式并入本文中)描述允许便携式装置将来自小型便携式装置的数字图像传送到较大的外部显示器的高速数字 包接口的要求。MDDI应用微型连接器系统和对于将便携式计算、通信和娱乐装置链接 到例如可佩带的微显示器的新兴产品来说比较理想的细挠性电缆。其还包含关于如何简 化主机处理器与显示装置之间的连接的信息,以便减少成本并增加这些连接的可靠性。 链路控制器140和170基于VESA MDDI标准来建立通信路径105。
2004年7月6日颁予Zou等人的题为"Generating and Implementing a Communication Protocol and Interface for High Data Rate Signal Transfer"的第6,760,772号美国专利(772 专利)描述一种数据接口,其使用包结构经由通信路径在主机与客户端之间传递数字数 据,其中所述包结构链接在一起以形成针对演示数据的通信协议。'772专利中教示的本 发明的实施例针对MDDI接口。链路控制器(例如,链路控制器140和170)使用信号 协议,所述链路控制器经配置以产生、传输并接收形成通信协议的包,并将数字数据形 成为一种或一种以上类型的数据包,其中至少一种类型的数据包驻存在主机装置中并经 由通信路径(例如,通信路径105)耦合到客户端。
所述接口提供经由短程"串行"型数据链路的具有成本效益的、低功率、双向、高 速数据传递机制,其适合于与微型连接器和细挠性电缆一起实施。链路控制器140和170 的实施例基于772专利的教示建立通信路径105。 772专利全文以引用的方式并入本文 中。
在其它实施例中,链路控制器140和170两者均可以是USB链路控制器,或其两者 均可包含控制器的组合,例如,举例来说MDDI链路控制器与另一类型的链路控制器(例 如,举例来说USB链路控制器)。或者,链路控制器140和170可包含控制器的组合, 例如,MDDI链路控制器与用于在数字数据接口装置100与数字装置150之间交换确认 消息的单一链路。链路控制器140和170另外可支持其它类型的接口,例如以太网或 RS-232串行端口接口。相关领域的技术人员基于本文的教示将了解可支持额外接口。
在数字数据接口装置100内,消息解译器模块110接收来自系统控制器160的命令, 并经由通信链路105向系统控制器160产生响应消息,解译命令消息,且将命令的信息 内容路由到数字数据接口装置100内的适当模块。
内容模块120接收来自外围装置180的数据,存储所述数据并将数据经由通信链路 105传递到系统控制器160。
控制模块130接收来自消息解译器130的信息,并将信息路由到外围装置180的控 制区块190。控制模块130也可接收来自控制区块190的信息,并将信息路由到消息解图1是说明使用MDDI接口的示范性环境的方框图。在图1的实例中,使用MDDI 来使越过翻盖电话100的铰链的模块互连。
参看图1,翻盖电话100的下翻盖部分102包含移动台调制解调器(MSM)基带芯 片104。 MSM 104是数字基带控制器。翻盖电话IOO的上翻盖部分114包含液晶显示器 (LCD)模块116和相机模块118。
仍参看图1, MDDI链路110将相机模块118连接到MSM 104。通常,MDDI链路 控制器集成到相机模块118和MSM 104中的每一者中。在图1的实例中,MDDI主机122 集成到相机模块112中,而MDDI客户端106驻存在MDDI链路110的MSM侧。通常, MDDI主机是MDDI链路的主控制器。在图l的实例中,来自相机模块118的像素数据 在传输到MDDI链路110上之前,由MDDI主机122接收并格式化为MDDI包。MDDI 客户端106接收MDDI包并将其再转换为与由相机模块118产生的像素数据相同格式的 像素数据。接着将像素数据发送到MSM 104中的适当区块以进行处理。
仍参看图1, MDDI链路112将LCD模块116连接到MSM 104。在图l的实例中, MDDI链路112将集成到MSM 104中的MDDI主机108与集成到LCD模块116中的MDDI 客户端120互连。在图1的实例中,由MSM104的图形控制器产生的图像数据在传输到 MDDI链路112上之前,由MDDI主机108接收并格式化为MDDI包。MDDI客户端120 接收MDDI包并将其再转换为图像数据以供LCD模块116使用。通常,图像数据在用于 刷新LCD显示器之前使用帧缓冲器进行缓冲。
图2是说明根据图1的实例的MDDI链路互连112的方框图。如上所述,MDDI链 路112的功能之一是将图像数据从MSM 104传递到LCD模块116。帧接口(图2未图示) 将MDDI链路控制器120连接到LCD模块116的模块。类似地,另一帧接口 (图2未图 示)将MDDI链路控制器108连接到MSM 104的适当模块。通常,MDDI链路控制器 108表示MDDI链路的主机控制器,而MDDI链路控制器120表示MDDI的客户端控制 器。然而,其它实施方案可使两个控制器的角色颠倒过来。
MDDI链路112包含最少四个引线,除了两个用于功率信号210和211的引线外, 包括两个用于数据信号202和204的引线和两个用于探测信号206和208的引线。数据 信号202和204是双向的。因此,可使用数据信号202和204在任一方向上(从主机到 客户端且反之亦然)传输数据。选通信号206和208是单向的,且仅可由链路的主机控 制器驱动。因此,在图2的实例中,仅主机控制器108可驱动选通信号206和208。
9用于更新缓冲器的方法和系统
如上所述,MDDI可用于将基带处理器(例如,图2中的MSM104)与图形控制器 (例如,图2中的LCD模块116)相连接。基带处理器将通常从相机传感器接收的图像 信息引导到图形控制器,图形控制器使用所述图像信息来创建显示图像。通常,图形控 制器使用一个或一个以上帧缓冲器来在使用从基带处理器接收的图像信息产生显示图像 之前存储所述图像信息。如上所述,会发生的一个问题是图像撕裂。在正以比将图像信 息写入到帧缓冲器的速率慢或快的速率从帧缓冲器读出图像信息时,发生图像撕裂。本 文将描述优点尤其是解决图像撕裂问题的用于更新缓冲器的方法和系统。然而,应注意, 根据本发明的方法和系统不限于将对其进行描述或其将被用于MDDI环境中的特定示范 性实施例。此外,本发明的方法和系统可用于利用缓冲的各种其它应用中,且可从本发 明的优点中受益。
图像撕裂
图3说明在从缓冲器进行读取和/或对缓冲器进行写入时可能发生的图像撕裂的两个 实例。图3的图展示随着缓冲器位置和时间的变化而变化的读取和写入指针的图表。读 取指针表示缓冲器中正被读取的位置。写入指针指示缓冲器中正被写入的位置。在图3 的实例中,依据缓冲器中的像素位置来界定缓冲器位置。
在图3中的第一实例中,缓冲器正以比其被写入的速率慢的速率被读取。这由读取 和写入指针线302和304的相对斜率说明。注意,读取和写入指针线302和304在时间 to相交。在时间to之前,缓冲器中的像素在被更新之前被读取。时间to之后,像素在被 读取之前被更新。因此,在相同帧内(从时间0到时间t。,位置0到po (其对应于在时 间to读取的像素位置)中的像素相对于来自位置po的像素到缓冲器中的最后像素来说被 读取了较旧的图像信息,所述来自位置po的像素到缓冲器中的最后像素被读取了更新的 图像信息。结果是图像撕裂,其中图像的下部分相对于图像的上部分来说反映较新的图 像信息°
在图3中的第二实例中,缓冲器正以比其被写入的速率快的速率被读取。这由读取 和写入指针线302和306的相对斜率说明。读取和写入指针线302和306在时间12相交。 在时间t2之前,缓冲器中的像素在被读取之前被更新。时间b之后,像素在被更新之前
被读取。因此,在相同帧内(从时间h到时间t3),位置0到P2 (其对应于在时间t2读取 的像素位置)中的像素相对于来自位置P2的像素到缓冲器中的最后像素来说被读取了较 新的图像信息,所述来自位置P2的像素到缓冲器中的最后像素被读取了较旧的图像信息。结果是图像撕裂,其中图像的上部分相对于图像的下部分来说反映较新的图像信息。 更新缓冲器的方法
现将提供一种策略上更新缓冲器的方法。所述方法当用于更新与显示器相关联的帧 缓冲器时防止图像撕裂。所述方法基于本文将描述的其明显优点也可用于其它缓冲应用 中。
图4是说明根据本发明的用于更新缓冲器的方法的进程流程图400。进程流程图400 开始于步骤410,其包含确定缓冲器中的读取线位置。所述读取线位置指示当前正从缓 冲器读取的线。通常,通过确定指向缓冲器中的读取线位置的读取指针的值来实现步骤 410。
步骤420包含基于读取线位置将缓冲器至少分割为可安全更新的第一部分和不能更 新的第二部分。这里应注意,这里分割缓冲器不表示缓冲器的物理分割而是逻辑分割。 此外,缓冲器的逻辑分割并不固定,且如从本文的教示将了解,其可以变化。缓冲器的 第一部分包含缓冲器的已基于读取线位置在当前缓冲器读取周期内被读取的线。第一部 分还包含缓冲器的可基于读取线位置更新的线。换句话说,第一部分包含内容刚被读取 的线,或可在读取线位置到达线之前基于缓冲器读取速度和缓冲器写入速度而更新的线。 无法在读取线位置到达线之前基于缓冲器读取速度和缓冲器写入速度更新的线属于缓冲 器的第二部分。换句话说,缓冲器的第二部分的线是那些在必须读取之前没有足够时间 来更新的线。因此,缓冲器的第二部分的线很可能在缓冲器的最近读取周期期间已被更 新。
步骤430包含通过在第一部分的线处写入数据来更新缓冲器,所述线基于读取线位 置而遵循第二部分。通常,在如上所述可安全更新且在缓冲器的最近读取周期期间已被 读取的位置处更新缓冲器。在一个实施例中,步骤430包含在第一部分的线处写入数据, 所述线紧接着遵循第二部分的最近的线。如所属领域的技术人员基于本文揭示的教示将 了解,步骤430的其它变化形式也是可能的。
示范性说明
图5提供说明上文图4中描述的方法的实例。图5展示读取缓冲器500的三个实例 A、 B和C。仅出于说明的目的,缓冲器500展示为包含352条数据线。读取指针510指 示缓冲器中的读取线位置。标记为罗马数字"I"的部分表示如上所述属于缓冲器的第一 部分的线。标记为罗马数字"n"的部分表示如上所述属于缓冲器的第二部分的线。
在实例A中,阴影区域"I"表示缓冲器的第一部分的在缓冲器的当前读取周期期间已被读取的线。在所述实例中,此区域包含线l到m-l。读取指针510指示线m当前正 被读取。因此,实例A中区域"II"表示缓冲器500的无法基于读取指针510的当前位 置更新的线。换句话说,没有足够的时间来基于读取指针510的当前位置以及对缓冲器 的读取和写入速潭而更新区域"II"中的线。请注意,缓冲器的第一部分还包含区域"II"
下方的非阴影区域"r。此区域"r因为其可安全更新而属于第一部分,但假定其在缓 冲器的当前读取周期期间尚未被读取,那么不应对其进行更新。在读取非阴影区域"r
之前对其进行更新将导致图像撕裂,如图3所描述,其中图像的上部分相对于图像的下
部分来说反映较旧的图像信息。
在实例b中,阴影区域表示缓冲器的在缓冲器的当前读取周期期间已被读取的线。 在所述实例中,此区域包含线1到351。读取指针510指示线351当前正被读取。因此, 实例B中区域"II"表示在给定当前读取线位置的情况下很可能已更新的线。区域"II" 中的线无法基于当前读取线位置以及对缓冲器的读取和写入速度进行更新,且基于上文
描述属于缓冲器的第二部分。区域"r中的线属于缓冲器的第一部分,且可安全更新。 为了更新缓冲器,可在区域"r中开始写入。可在区域"r中的紧接着遵循区域"n"
的线处写入数据。这对应于实例B中的线m。
实例C说明B中所示的情形之后的情形。在实例C中,读取指针510已回绕且正读 取缓冲器的线m。因此,缓冲器中在读取指针之前的线属于缓冲器的第一部分,且可被
更新。在给定当前读取线位置的情况下,区域"n"中的线很可能已在对缓冲器的最近写 入周期期间更新。区域"ir中的线无法更新,且如上所述属于缓冲器的第二部分。换句 话说,在给定读取线位置的情况下,区域"n"中的线必须含有更新的信息,因为在其必 须被读取之前没有足够的时间对其进行更新。阴影区域"r表示缓冲器的第一部分的可 安全更新的线,但假定其在缓冲器的最近读取周期期间尚未被读取,那么不应对其进行
更新o
缓冲器读取/写入策略
本文描述用于避免与缓冲器更新有关的图像撕裂或等效问题的缓冲器读取/写入策 略。根据本发明的缓冲器更新策略进一步抨除了对于普遍采用的"双缓冲"技术的需要。 替代地,使用单个缓冲器,这促成了实施成本和空间的节省。本发明不限于本文描述的 示范性策略,且所属领域的技术人员易知的变化形式也被认为是在本发明的范围内。
图6A和6B说明根据本发明的示范性缓冲器读取/写入策略。图6A和6B的图展示 随着缓冲器位置和时间而变化的读取指针612以及写入指针614和616的图表。在图6A和6B的实例中,依据缓冲器中的像素位置界定缓冲器位置,所述像素位置可等效地由缓 冲器位置的任何其它量度(例如,线数目)代替。
参看图6A,其描绘缓冲器的两个读取周期内的示范性缓冲器读取/写入策略。在第 一读取周期中,从时间0到时间tt,更新缓冲器的前半部分,同时读取整个缓冲器内容。 在缓冲器的第二读取周期中,从时间h到时间t2,更新缓冲器的后半部分,同时读取整 个缓冲器内容。请注意,在第二读取周期期间,缓冲器的前半部分含有在第一读取周期 期间写入到缓冲器的己更新信息。在第二周期期间,缓冲器的后半部分如图所示在第二 读取周期内随时间由读取指针612之前的写入指针614读取之前被更新。因此,在两个 读取周期内,从缓冲器读取的数据属于缓冲器的同一更新周期,且不发生图像撕裂。
图6B说明缓冲器的两个读取周期内的另一示范性缓冲器读取/写入策略。在第一读 取周期期间,从时间to到时间tp更新缓冲器的前半部分。在第二读取周期期间,从时 间^到时间t2,更新缓冲器的后半部分。请注意,对缓冲器的写入在第一周期期间的时 间to开始,使得在第一周期期间,读取整个缓冲器的初始信息内容而不是由于写入过程 而产生的已更新内容。另一方面,对缓冲器的写入在第二周期期间的时间t2结束,使得 在第二周期期间,整个缓冲器在被读取时含有已更新的信息内容。这在第二读取周期内 随时间由读取指针612之前的写入指针616展示。因此,在图6B的实例中两个读取周期 内均不会发生图像撕裂。
经由通信链路的缓冲器更新
根据本发明的更新缓冲器的方法和系统可用于多种应用中。在一种应用中,如上所 述,可使用缓冲器更新方法来更新与显示器相关联的帧缓冲器。在另一应用中,远程地 更新缓冲器,其中其由第一处理器进行写入且由第二处理器进行读取,且其中所述第一 和第二处理器经由通信链路进行通信。举例来说,第一和第二处理器分别表示经由MDDI 链路通信的MSM基带处理器和LCD模块,如图2所说明。在某些应用中,将需要第一 与第二处理器之间的同步。
现将提供与用于通过通信链路实现缓冲器更新的同步有关的方法和系统。所属领域 的技术人员基于本文的教示将了解,将呈现的方法和系统的某些方面可适用于一般的同 步问题,且不限于用于实现远程缓冲器更新的同步。
在一个方面,第一与第二处理器之间的同步包含调度第一处理器处的第一事件,所 述第一事件由第二处理器处的第二事件触发。这通常通过对寄存器进行写入以实现触发 一中断来完成,只要第二处理器处发生第二事件,所述中断就引起第一处理器处的第一
13事件。举例来说,在缓冲器由第一处理器更新且由第二处理器进行读取的远程缓冲器更 新应用中,第一事件可表示需要开始对缓冲器进行写入,而第二事件可表示读取指针已 完成缓冲器的完整的读取周期。接着可基于缓冲器中的读取线位置在第二处理器处触发 第二事件。
另一方面,提供用于通过通信链路递送同步信息的方法。所述方法可用于(例如) 转继与缓冲器更新有关的同步信息,如上所述。图7是说明当通信链路处于休眠模式时, 通过通信链路在第一处理器与第二处理器之间递送时序信息的方法的进程流程图700。 进程流程图700开始于步骤710,其包含调度第一处理器处的时间事件以将时序信息递 送到第二处理器。所述时间事件可以是如特定应用所要求的周期性事件。举例来说,在 缓冲器更新应用的情况下,所述时间事件可与缓冲器中的读取线位置有关。
步骤720包含当时间事件发生时由第一处理器启动链路唤醒。举例来说,在通过 MDDI链路进行缓冲器更新的情况下,其中MDDI客户端位于互连的LCD模块侧,MDDI 客户端可通过将数据信号驱动为逻辑1以告知MDDI主机应更新缓冲器来启动链路唤醒。
随后,步骤730包含在第二处理器(例如,在MDDI互连的MSM侧的MDDI主机) 处检测链路唤醒,并使用检测到的链路唤醒时序使第一和第二处理器相对于正递送的时 序信息同步。举例来说,在通过MDDI链路进行缓冲器更新的情况下,当MDDI主机检 测到由MDDI客户端进行的链路唤醒时,其可使其自身与MDDI客户端相对于缓冲器更 新开始时间同步。
所属领域的技术人员基于本文的教示可了解,图7描述的方法可延伸以通过通信链 路递送任何种类的时序信息,且不限于缓冲器更新同步目的。这种方法的优点是始终节 省链路和通过简单地唤醒链路来递送信息。
图8说明启动链路唤醒以通过MDDI互连递送时序信息的示范性时序图800。举例 来说,MDDI互连可与上文参看图2所述的MDDI互连相同,其中MDDI主机位于MSM 处且MDDI客户端位于LCD模块处。因此,MDDI客户端将启动链路唤醒以将缓冲器更 新信息递送到MDDI主机,MDDI主机进而将开始刷新位于LCD模块中的缓冲器。在图 8的实例中,vsync_wake信号802表示写入到MDDI主机处的寄存器以基于vsync信号 806在主机处启用唤醒的值。只要vsync—wake 802的值较高,就发生主机处的唤醒。vsync 信号806表示信号"垂直同步"的值,信号"垂直同步"发生在客户端处且与缓冲器更 新时间有关。举例来说,只要读取指针已回绕且准备从缓冲器的开始进行读取,vsync 806 就变高。Link—active信号804表示MDDI互连的数据信号是活动的还是处于休眠。Mddi—client—wakeup信号808表示客户端处的信号,其响应vsync 806以唤醒客户端。
在图8的实例中,在主机处将vsync_wake 802设定在时间A。在时间B, MDDI链 路进入休眠模式。在时间C, vsync 806变高,这指示缓冲器需要由主机进行刷新。因此, Mddi—client—wakeup信号808也变高以唤醒客户端来启动链路唤醒。客户端通过驱动互 连的数据信号来启动链路唤醒,且在时间D,链路变为活动的。随后,vsync—wake 802 和mddi—client—wakeup返回零,且主机检测到链路唤醒并开始在客户端处刷新缓冲器。 结论
尽管上文己描述本发明的各种实施例,但应了解,仅以举例的方式而非限制的方式 呈现了所述各种实施例。相关领域的技术人员将了解,可在不脱离本发明的精神和范围 的情况下在各种实施例中作出形式和细节上的各种改变。因此,本发明的外延和范围不 应受上述示范性实施例中的任一者限制,而是仅应根据所附权利要求书及其等效物界定。
权利要求
1. 一种用于更新具有多个线的缓冲器的方法,其包括(a)确定所述缓冲器中的读取线位置,所述读取线位置指示当前正从所述缓冲器读取的线;(b)基于所述读取线位置,将所述缓冲器至少分割为可安全更新的第一部分和不得更新的第二部分;以及(c)在所述第一部分的线处写入数据以更新所述缓冲器,其中所述线基于所述读取线位置而遵循所述第二部分。
2. 根据权利要求l所述的方法,其中通过确定读取指针值来确定所述读取线位置。
3. 根据权利要求l所述的方法,其中所述缓冲器的所述第一部分包括以下各项中的至 少一者(i) 所述缓冲器的已在所述缓冲器的最近读取周期中读取的线;以及(ii) 所述缓冲器的可基于所述读取线位置而更新的线。
4. 根据权利要求4所述的方法,其中(ii)进一步包括所述缓冲器的可在所述读取线 位置到达线之前基于缓冲器读取速度和缓冲器写入速度而更新的所述线。
5. 根据权利要求l所述的方法,其中所述缓冲器的所述第二部分包括所述缓冲器的不 能在所述读取线位置到达线之前基于缓冲器读取速度和缓冲器写入速度而更新的 所述线。
6. 根据权利要求5所述的方法,其中所述缓冲器的所述第二部分进一步包括己在所述 缓冲器的最近读取周期中更新的线。
7. 根据权利要求l所述的方法,其中所述缓冲器由第一处理器进行写入且由第二处理 器进行读取。
8. 根据权利要求7所述的方法,其中所述第一和第二处理器通过通信链路进行远程通 信。
9. 根据权利要求8所述的方法,其中所述第一处理器基于所述第一处理器处的第一事 件来更新所述缓冲器,所述第一事件由所述第二处理器处的第二事件触发。
10. 根据权利要求9所述的方法,其进一步包括(d)通过对寄存器进行写入以实现触发基于所述第二事件引起所述第一事件的 中断来调度所述第一事件;以及(e)基于所述缓冲器的所述读取线位置来触发所述第二处理器处的第二事件。
11. 根据权利要求10所述的方法,其中当所述通信链路处于休眠模式时,所述第一事 件表示链路唤醒事件。
12. 根据权利要求8所述的方法,其中所述第一和第二处理器表示移动显示数字接口(MDDI)链路的主机和客户端控制器。
13. 根据权利要求9所述的方法,其中所述第一控制器表示移动台调制解调器(MSM) 基带处理器,且其中所述第二控制器表示LCD控制器。
14. 根据权利要求13所述的方法,其中所述缓冲器表示用于刷新LCD显示器的帧缓冲器o
15. 根据权利要求14所述的方法,其中大体上避免了所述显示器中的图像撕裂。
16. —种用于通过通信链路在第一处理器与第二处理器之间递送时序信息的方法,其中 所述通信链路处于休眠模式,所述方法包括调度所述第一处理器处的时间事件以将所述时序信息递送到所述第二处理器; 在所述时间事件发生时由所述第一处理器启动链路唤醒;以及 在所述第二处理器处检测所述链路唤醒,并使用所述检测到的链路唤醒时序来使 所述第一和第二处理器相对于所述递送的时序信息同步。
17. 根据权利要求16所述的方法,其中所述通信链路表示移动显示数字接口 (MDDI) 链路。
18. 根据权利要求17所述的方法,其中所述第一和第二处理器分别表示MDDI客户端 和MDDI主机。
19. 根据权利要求18所述的方法,其中所述时序信息表示与正通过所述MDDI链路被 控制的显示器相关联的缓冲器刷新时间。
全文摘要
本发明涉及用于更新缓冲器的方法和系统。在一个方面,本发明提供一种用于更新缓冲器的方法,所述方法包含策略上对所述缓冲器进行写入以启用对所述缓冲器的同时读取和写入。所述方法消除了对双缓冲的需要,由此与常规缓冲方法相比产生实施成本和空间的节省。当所述方法用于更新与显示器相关联的帧缓冲器时,其还防止图像撕裂,但不限于此类应用。在另一方面,本发明提供用于通过通信链路启用缓冲器更新的有效机制。在一个实例中,本发明提供一种通过通信链路转继时序信息的方法。
文档编号G06F15/00GK101449255SQ200580047188
公开日2009年6月3日 申请日期2005年11月23日 优先权日2004年11月24日
发明者乔治·A·威利, 布赖恩·斯蒂尔 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1