一种处理i2c通信对接延时方法及数字光处理投影装置的制造方法

文档序号:10534774阅读:362来源:国知局
一种处理i2c通信对接延时方法及数字光处理投影装置的制造方法
【专利摘要】本发明涉及电子通信领域,尤其涉及一种处理I2C通信对接延时的方法及数字光处理投影装置,用于解决现有技术中有可能出现光机驱动器系统还未处理完该次的指令,而主设备会认为从设备的数据传输失败的问题。所述方法包括:主控器向光机驱动器发送寄存器地址报文后,若所述主控器和所述光机驱动器之间的串行时钟SCL信号为低电平信号,则监控所述SCL信号;所述主控器在所述SCL信号变为高电平信号后,若接收到所述光机驱动器发送的针对所述寄存器地址报文对应的响应报文,则向所述光机驱动器发送数据报文。本发明实施例能够更加准确的获得从设备向主设备发送响应报文的时间,使得主控器与光机驱动器之间的通讯更加准确及时。
【专利说明】
一种处理12C通信对接延时方法及数字光处理投影装置
技术领域
[0001]本发明涉及电子通信领域,尤其涉及一种处理I2C通信对接延时方法及数字光处 理投影装置。
【背景技术】
[0002] I2C(Inter - Integrated Circuit)总线是由PHILIPS公司开发的两线式串行总 线,I2C总线由一根串行时钟总线SCL和一根串行数据总线SDA组成,用于连接微控制器及其 外围设备。I2C总线是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种 特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。
[0003] 在数字光处理(DLP,Digital Light Processing)投影装置中,包括主控器和光机 驱动器系统,光机驱动器系统包括光机驱动器、光机驱动器电源、光源、数字微镜晶片(DMD, Digital Micromirror Device)、透镜模块等,光机驱动器作为主控器的从设备,与主控器 通过第一 I2C总线进行通信,同时,光机驱动器还可以作为主设备,通过第二I2C总线与光机 电源驱动器、光源驱动器、数字微镜晶片、透镜模块等进行I2C通信,在数字光处理投影装置 中,每个器件都有一个唯一的地址,无论是主控器、光机电源驱动器、光源驱动器、存储器或 键盘接口都有一个唯一的地址。光机驱动器是数字光处理投影装置中的主控器的从设备, 又是光机系统中的主设备,而光机系统中的其它器件,例如光机电源驱动器、光源驱动器、 数字微镜晶片、透镜模块等为光机系统中的从设备。在主控器作为主设备发送完寄存器地 址给光机驱动器后,光机驱动器并不会立即返回应答给主控器,而是在光机驱动器处理完 光机系统的指令后才会回应应答信号,此时主控器与光机驱动器之间不能通过标准I2C模 式完成。
[0004] 现有技术中,通过在标准的I2C通讯过程中增加固定的延时间隔以使主设备在发 送完指令后等待固定的延时时间,来匹配可能会出现的光机驱动器没有立即回应应答信号 的问题,但是由于光机驱动器每次处理的指令不同,光机驱动器处理每次指令产生的时延 不同,而主设备等待固定的延时间隔,有可能出现下列情况:光机驱动器系统还未处理完该 次的指令,而延时间隔已到时,使得主设备认为未接收到从设备发送的响应报文,确定此时 与从设备的数据传输失败。

【发明内容】

[0005] 本发明提供一种处理I2C通信对接延时方法及数字光处理投影装置,用于解决现 有技术中有可能出现光机驱动器系统还未处理完该次的指令,而主设备会认为光机驱动器 的数据传输失败的问题。
[0006] 本发明提供一种处理I2C通信对接延时的方法,用于数字光处理投影装置,所述方 法包括:
[0007] 主控器向光机驱动器发送寄存器地址报文后,若所述主控器和所述光机驱动器之 间的串行时钟SCL信号为低电平信号,则监控所述SCL信号;
[0008] 所述主控器在所述SCL信号变为高电平信号后,若接收到所述光机驱动器发送的 针对所述寄存器地址报文对应的响应报文,则向所述光机驱动器发送数据报文。
[0009] 本发明实施例中,当主控器向光机驱动器发送寄存器地址报文后,若此时主控器 和光机驱动器之间SCL信号为低电平,即光机驱动器已接收到主控器发送的寄存器地址报 文,并且光机驱动器已经开始处理光机驱动器内部系统的指令,则主控器监控SCL信号,当 主控器监控到SCL信号变为高电平时,即光机驱动器已经处理完内部系统的指令后释放了 SCL信号,主控器判断是否接收到了光机驱动器发送的响应报文,若主控器接收到了光机驱 动器发送的响应报文,则主控器开始向光机驱动器发送数据报文。主控器根据监控的SCL信 号的变化能够及时获得光机驱动器释放SCL信号的时间,能够更加准确的获得光机驱动器 向主设备发送响应报文的时间,使得主控器与光机驱动器之间的通讯更加准确及时。
[0010] 本发明还提供一种数字光处理投影的装置,包括:
[0011] 主控器和光机驱动器,所述主控器和所述光机驱动器之间通过I2C进行通信,所述 主控器包括:
[0012] 监控单元,用于向光机驱动器发送寄存器地址报文后,若所述光机驱动器的串行 时钟SCL信号为低电平信号,则监控所述SCL信号;
[0013] 发送单元,用于在所述SCL信号变为高电平信号后,若接收到所述光机驱动器发送 的针对所述寄存器地址报文对应的响应报文,则向所述光机驱动器发送数据报文。
【附图说明】
[0014] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使 用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本 领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其 他的附图。
[0015] 图1为本发明实施例提供的一种处理I2C通信对接延时的方法的流程示意图;
[0016] 图2为本发明实施例中主控器与光机驱动器之间通讯结构示意图;
[0017] 图3为本发明实施例提供的另一种处理I2C通信对接延时的方法的流程示意图;
[0018] 图4为本发明实施例提供的一种主控器与光机驱动器之间通过I2C总线通信的流 程不意图;
[0019] 图5为本发明实施例提供的另一种主控器与光机驱动器之间通过I2C总线通信的 流程示意图;
[0020] 图6为本发明实施例提供的一种主控器与光机驱动器之间通过I2C总线获取SCL信 号解决对接延时的方法流程示意图;
[0021 ]图7为本发明实施例提供的一种数字光处理投影的装置的结构示意图;
[0022] 图8为本发明实施例提供的主控器的结构示意图;
[0023] 图9为本发明实施例提供的另一种数字光处理投影的装置的结构示意图。
【具体实施方式】
[0024]为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进 一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施 例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的 所有其它实施例,都属于本发明保护的范围。
[0025] 现有技术中主控器与从设备通过标准I2C通讯协议进行通讯,主控器与从设备通 过第一I2C总线进行通信,但是在数字光处理(DLP,Digital Light Processing)投影装置 中,包括主控器和光机驱动器系统,光机驱动器系统包括光机驱动器、光机驱动器电源、光 源、数字微镜晶片(DMD,Digital Micromirror Device)、透镜模块等,光机驱动器作为主控 器的从设备,与主控器通过第一 I2C总线进行通信,同时,光机驱动器还可以作为主设备,通 过第二I2C总线与光机驱动器电源、光源、数字微镜晶片、透镜模块等进行I2C通信,,对于主 控器而言,在标准的I2C通讯过程中主设备在发送完指令后等待固定的延时时间,来匹配可 能会出现的光机驱动器没有立即回应应答信号的问题,但是由于光机驱动器每次处理的指 令不同,光机驱动器处理每次指令产生的时延不同,主设备增加固定延时间隔时会造成光 机驱动器系统还未处理完该次的指令,而已达到主设备等待的固定时长,主设备会认为此 时与从设备的数据传输失败的问题。
[0026]为了解决上述问题,本发明提供一种处理数字光处理投影装置中I2C通信对接延 时的方法,如图1所示,所述方法包括:
[0027] 步骤101,主控器向光机驱动器发送寄存器地址报文后,若所述主控器和所述光机 驱动器之间的串行时钟SCL信号为低电平信号,则监控所述SCL信号;
[0028] 步骤102,所述主控器在所述SCL信号变为高电平信号后,若接收到所述光机驱动 器发送的针对所述寄存器地址报文对应的响应报文,则向所述光机驱动器发送数据报文。
[0029] 在步骤101中,主控器可以是投影仪中的主控器设备,也可以是智能电视、激光电 视、LED智能微型投影仪等设备的主控模块。光机驱动器为一种将光按照一定路径传输并形 成图像输出的显示系统,在本发明实施例中光机驱动器可以为智能微型中的显示装置,也 可以为智能电视、激光电视、LED智能微型投影仪等设备中的显示系统,光机驱动器一般由 显示核心、光源、镜头光路、散热器组成。
[0030] 在本发明实施例中,主控器与光机驱动器都是位于数字光处理投影装置中,该投 影装置中光机驱动器是数字光处理投影装置中的主控器的从设备,又是光机系统中的主设 备,而光机系统中的其它器件,例如光机电源驱动器、光源驱动器、数字微镜晶片、透镜模块 等为光机系统中的从设备。在本发明实施例中,所述数字光处理投影装置用于解决装置中 存在至少两级驱动的架构而产生的光机驱动器系统还未处理完该次的指令,而主设备会认 为光机驱动器的数据传输失败的问题。在本发明实施例中,所述数字光处理投影装置可以 为LED微型投影仪或者其它具有至少两级驱动的架构的投影仪装置。
[0031] 在智能电视或者激光电视、LED智能微型投影仪等设备中主控器与光机驱动器以 及其他从设备之间通过I2C进行通讯。如图2所示,若干个从设备中,从设备A3就是光机驱动 器,其他从设备可以是调频器、电源管理器或者LED驱动器。主控器与光机驱动器、从设备 A1、从设备A2通过第一 I2C总线进行通讯,而光机驱动器与从设备B1、从设备B2、从设备B3通 过第二I2C总线进行通讯。
[0032]可选的,在本发明实施例中,还可以为三级驱动或者三级以上驱动的构架,则主控 器与光机驱动器之间通过第一 I2C总线进行通信,光机驱动器与其他从设备通过第二I2C总 线进行通信,若从设备也是其他从设备的主控器,则通过第三I2C总线进行通信等等。
[0033] 主控器通过第一 I2C总线向光机驱动器发送寄存器地址报文的目的是为了使光机 驱动器根据寄存器地址报文中的寄存器地址进行指令操作。其中,寄存器地址不同,执行的 指令操作也不同。
[0034] 比如主控器发送的寄存器地址报文是为了通知光机驱动器进行写操作,则光机驱 动器在接收到主控器发送的写操作指令后,通知其他从设备执行写操作指令;
[0035] 还比如主控器发送的寄存器地址报文是为了通知光机驱动器进行读操作,则光机 驱动器在接收到主控器发送的读操作指令后,通知其他从设备执行读操作指令。
[0036] 在光机驱动器通知其他从设备进行读操作或者是写操作后,其他从设备需要完成 光机驱动器的操作指令,在完成操作指令后,其他从设备会向光机驱动器发送完成指令的 消息,光机驱动器在接收到其他从设备发送的完成指令的消息后,才会向主控器发送针对 寄存器地址的响应报文。
[0037] 在本发明实施例中,主控器与光机驱动器的SCL信号就是第一I2C总线中的SCL信 号,主控器监控的SCL信号就是第一I2C总线的SCL信号。在本发明实施例中,光机驱动器接 收到寄存器地址报文后,光机驱动器会将第一 I2C总线的SCL线拉低,表示第一 I2C总线为占 用状态,光机驱动器会通过第二I2C总线通知与寄存器地址报文对应的从设备处理读取数 据命令,例如从设备B1为读取数据,从设备B2为写入数据,当寄存器地址报文为读取数据, 则光机驱动器通知从设备B1进行读取数据操作。当从设备在处理读取数据的操作完成后, 会向光机驱动器发送完成指令消息,光机驱动器在接收到从设备发送的完成指令消息后, 释放第一 I2C总线的SCL信号(即将第一 I2C总线的SCL信号拉高),表示第一 I2C总线的状态 为非占用状态,光机驱动器释放完SCL信号后,准备向主控器发送响应报文(需要将SDA线拉 低后才能发送)。
[0038] 在步骤102中,由于主控器一直监控SCL信号的变化,在第一I2C总线的SCL从高电 平的位置被拉低后,主控器若监控到第一 I2C总线的SCL信号从低电平的位置又变化为高电 平的位置,主控器认为光机驱动器已经处理完寄存器地址报文对应的指令,准备向主控器 发送响应报文,则判断是否接收到所述光机驱动器发送的响应报文,若接收到所述光机驱 动器发送的针对所述寄存器地址报文对应的响应报文,主控器认为与光机驱动器之间通讯 正常,可以向光机驱动器发送数据报文。
[0039] 在本发明实施例中,当光机驱动器释放第一I2C总线的SCL信号后,光机驱动器需 要将第一 I2C总线的SDA信号拉低,才向主控器发送响应报文,所以主控器在第一 I2C总线的 SCL信号变为高电平信号后,等待第一时长;在主控器在第一时长后,判断在第一时长内是 否接收到所述光机驱动器发送的针对所述寄存器地址报文对应的响应报文;
[0040] 若主控器若在第一时长内接收到所述光机发送的针对所述寄存器地址报文对应 的响应报文,则向所述光机发送数据报文。
[0041] 在本发明实施例中,第一时长可以设置为主控器向光机发送数据的时钟周期的倍 数,例如一个时钟周期为l〇ys,则可以设置第一时长为500ii S,即50个时钟周期,也可以设置 为其它时间。
[0042] 在步骤102中,所述主控器在确定所述主控器在所述SCL信号变为高电平信号后, 停止监控所述SCL信号;
[0043] 所述主控器判断在第一时长内是否接收到所述光机驱动器发送的针对所述寄存 器地址报文对应的响应报文之后,还包括:
[0044] 所述主控器若在第一时长内未接收到所述光机驱动器发送的针对所述寄存器地 址报文对应的响应报文,则返回监控所述SCL信号的步骤。
[0045] 在本发明实施例中,主控器监控第一I2C总线的SCL信号的目的是确定光机驱动器 在何时处理完寄存器地址报文对应的指令,即何时光机驱动器拉高第一 I2C总线的SCL信 号,当主控器在确定第一I2C总线的SCL信号变为高电平信号时,即光机驱动器已经拉高了 第一 12C总线的SCL信号,则此时主控器停止监控第一 12C总线的SCL信号。
[0046] 可选的,若主控器在第一时长内未接收到所述光机驱动器发送的针对所述寄存器 地址报文对应的响应报文,则返回重新监控SCL信号的步骤,继续监控SCL信号的电平。
[0047] 为了防止返回主控器监控所述SCL信号的步骤超出主控器与光机驱动器所处的系 统的处理能力,造成死循环,一种可选的方式是:
[0048] 主控器在返回主控器监控所述SCL信号的步骤之前,判断返回的次数是否大于循 环阈值,在确定主控器返回监控所述SCL信号的步骤的次数不大于预设循环阈值后,返回主 控器监控所述SCL信号的步骤;
[0049] 在确定主控器返回监控所述SCL信号的步骤的次数大于预设循环阈值后,不再返 回主控器监控所述SCL信号的步骤,主控器会确定与光机驱动器之间通讯失败,不再向光机 驱动器发送任何的数据报文。
[0050] 在本发明实施例中,循环阈值可以根据系统的处理能力进行设置,例如根据光机 驱动器或者主控器的型号,设置不同的循环阈值;也可以根据第一时长与循环阈值的对应 关系进行设置,例如第一时长与循环阈值有对应关系表,则根据设置的第一时长,在对应关 系表中查找到循环阈值的值。
[0051] 可选的,在主控器与光机驱动器之间通讯失败后,有很多种处理方式。本发明实施 例给出一种处理方式:
[0052]主控器会生成一个错误报文,提示用户主控器与光机驱动器之间存在故障,以使 用户根据错误报文显示的错误代码,查找故障原因以及寻找解决办法。
[0053]例如,错误代码与故障原因的对照表如表1所示:
[0056]表1:错误代码与故障原因的对照表
[0057]本发明还提供一种处理I2C通信对接延时的方法,如图3所示,所述方法包括:
[0058] 步骤301,主控器向光机驱动器发送寄存器地址报文后,等待第二时长;
[0059]步骤302,若所述主控器在所述第二时长内没有接收到所述光机驱动器发送的针 对所述寄存器地址报文的响应报文,则返回向所述光机驱动器发送寄存器地址报文的步 骤;
[0060] 其中,所述主控器与所述光机驱动器通过第一I2C总线进行数据传输,所述光机驱 动器与其它至少一个从设备通过第二I2C总线进行数据传输。
[0061] 在步骤301中,第二时长可以设置为主控器向光机驱动器发送数据的时钟周期的 倍数,例如一个时钟周期为l〇ys,则可以设置第二时长为500ys,即50个时钟周期,也可以设 置其它时间,以使主控器在发送寄存器地址报文后等待第二时长。
[0062] 在步骤301中,主控器向光机驱动器发送寄存器地址报文的目的是为了通知光机 驱动器中对应的寄存器进行指令操作,例如主控器发送的寄存器地址报文是为了通知光机 驱动器进行写操作,则光机驱动器在接收到主控器发送的写操作指令后,通知光机驱动器 的系统中的其它从设备执行写操作指令,或者主控器发送的寄存器地址报文是为了通知光 机驱动器进行读操作,则光机驱动器在接收到主控器发送的读操作指令后,通知光机驱动 器的系统中的其它从设备执行读操作指令。
[0063] 在步骤301前,主控器还需要向光机驱动器发送硬件地址,以便通知光机驱动器需 要开始进行数据传输,在本发明实施例中,光机驱动器的硬件地址为16进制数,例如为 0x34,主控器发送硬件地址报文,该报文中包括寻找的光机驱动器的硬件地址为0x34,则光 机驱动器在接收到主控器发送的硬件地址报文后,发送一个对应的响应报文给主控器,以 使主控器继续发送寄存器地址报文。
[0064]在步骤302中,主控器在第二时长内判断是否接收到光机驱动器发送的针对所述 寄存器地址报文的响应报文,如果主控器在第二时长没有接收到响应报文,则说明此时光 机驱动器的内部系统并没有处理完成指令,例如,主控器发送的光机驱动器的寄存器地址 报文是通知光机驱动器进行写操作,则在主控器等待第二时长内,光机驱动器的系统中还 没有执行完写操作的指令,则主控器则返回向光机驱动器发送寄存器地址报文的步骤,在 发送完寄存器地址报文后,继续等待第二时长后判断是否接收到响应报文。
[0065] 在步骤302中,所述主控器确定向所述光机驱动器发送寄存器地址报文的次数不 大于预设第二循环阈值。
[0066] 本发明实施例中,主控器在返回发送寄存器地址报文的步骤时,需要判断返回的 此时是否大于第二循环阈值,设定第二循环阈值以防止主控器向光机驱动器发送寄存器地 址报文的次数超出主控器与光机驱动器所处的系统的处理能力,造成死循环的问题。在本 发明实施例中,第二循环阈值可以根据系统的处理能力进行设置,也需要考虑延时的第二 时长。
[0067] 在步骤302中,所述主控器根据收到的指令对所述第二时长进行更新;
[0068] 若更新后的所述第二时长增加,则所述主控器减少所述第二循环阈值;或者若更 新后的所述第二时长减少,则所述主控器增加所述第二循环阈值。
[0069] 其中,本发明实施例调整所述第二循环阈值的方式有很多,下面列列举三种:
[0070] 方式一、第二时长的增加或减少时,根据设置的调整比例对第二循环阈值进行调 整,例如,调整比例为1:2,则主控器获得的更新后的第二时长比更新前的第二时长增加了 3ms,则第二循环阈值减少6ms。
[0071] 方式二、第二时长的增加或减少时,根据第二时长与第二循环阈值之间的对应关 系对第二循环阈值进行调整。
[0072] 例如,如表2为一种对应关系,第二时长为0.85ms时,对应的第二循环阈值为105, 当第二时长减少为0.05ms时,对应的第二循环阈值为185。
[0074]表2:第二时长与第二循环阈值之间对应关系表
[0075]方式三、设置第二时长与第二循环阈值的乘积为一固定值,则当第二时长增加或 减少时,用固定值除以第二时长就可以得到调整后的第二循环阈值,从而知道需要将当前 的第二循环阈值增加多少或减少多少。
[0076]例如设置第二时长与第二循环阈值的乘积的固定值为40ms,若设置第二时长为 lOOOys,即100个时钟周期,则根据固定值40ms除以第二时长的lOOOys,就可以确定应该设 置的第二循环阈值为4。
[0077]若将第二时长增加为100ys,即10个时钟周期时,则根据固定值40ms除以第二时长 的100ys,可以确定应该设置的第二循环阈值为40。
[0078] 在本发明实施例中,若所述主控器未接收到所述光机驱动器发送的针对所述寄存 器地址报文对应的响应报文,且向所述光机驱动器发送寄存器地址报文的次数大于所述预 设第二循环阈值,则所述主控器确认与所述光机驱动器之间通讯失败,停止向所述光机驱 动器发送报文。
[0079] 本发明上述实施例中,若主控器在经过等待第二时长后,仍未接收到光机驱动器 发送的响应报文,此时主控器需要再进行一次循环,返回到发送寄存器地址报文的步骤,在 返回之前,主控器需要判断返回次数是否已经大于循环阈值,若大于循环阈值,则主控器就 确认了于光机驱动器之间的通讯失败,认为光机驱动器是无法接收到主设备发送的数据报 文的,则主控器停止向光机驱动器发送报文,可以减少对第一I2C总线数据信道的占用,也 可以及时停止向光机驱动器发送报文,继续执行下一个任务,并且及时报错,以使光机驱动 器与主设备之间的通讯错误能够及时得到解决。
[0080] 为了方便便于本领域技术人员的理解,在此举例说明。
[0081 ] 实施例一
[0082] 在本发明实施例中,主控器向光机驱动器发送硬件地址报文,光机驱动器向主控 器发送响应报文,以使主控器能够开始向光机驱动器发送寄存器地址报文,光机驱动器的 硬件地址为0x34,如图4所示,包括:
[0083] 步骤401,主控器向光机驱动器发送硬件地址报文,其中硬件地址报文中包括光机 驱动器的硬件地址0x34;
[0084]步骤402,主控器判断是否接收到光机驱动器发送的针对硬件地址报文的响应报 文,若接收到了光机驱动器发送的针对硬件地址报文的响应报文,则执行步骤403;若未接 收到光机驱动器发送的针对硬件地址报文的响应报文,则执行步骤404;
[0085] 步骤403,主控器向光机驱动器发送寄存器地址报文,进行读取光机驱动器数据的 操作,执行步骤405;
[0086] 步骤404,主控器确认与光机驱动器之间通讯失败,不再向光机驱动器发送报文; [0087]步骤405,主控器等待第二时长,在本发明实施例中,设定第二时长为50倍的时钟 周期,即0.5ms;
[0088]步骤406,主控器判断在0.5ms内是否接收到从光机驱动器发送的针对寄存器地址 报文的响应报文,若接收到了光机驱动器发送的响应报文,则执行步骤407;否则,执行步骤 408;
[0089] 步骤407,主控器向光机驱动器发送数据报文,执行步骤409;
[0090] 步骤408,主控器判断返回到发送寄存器地址到光机驱动器的次数是否大于预设 的第二循环阈值,在本发明实施例中,预设第二循环阈值为500,若大于预设的第二循环阈 值,则执行步骤404,若不大于预设的第二循环阈值,则执行步骤403;
[0091]步骤409,主控器判断是否接收到数据报文对应的响应报文,若接收到光机驱动器 发送的响应报文,则执行步骤410;否则执行步骤404;
[0092] 步骤410,主控器确认与光机驱动器之间通讯完成。
[0093] 实施例二
[0094]与实施例一相比,为了减少主控器在未接收到响应报文后向光机驱动器发送的次 数,在本发明实施例中总延时时间为40ms不变的前提下,可以增加主控器等待第二时长的 时间,在本发明实施例中,设置为4ms,即400个时钟周期,循环阈值为10,则如图5所示,所述 方法包括:
[0095] 步骤501,主控器向光机驱动器发送硬件地址报文,其中硬件地址报文中包括光机 驱动器的硬件地址0x34;
[0096]步骤502,主控器判断是否接收到光机驱动器发送的针对硬件地址报文的响应报 文,若接收到了光机驱动器发送的针对硬件地址报文的响应报文,则执行步骤503;若未接 收到光机驱动器发送的针对硬件地址报文的响应报文,则执行步骤504;
[0097] 步骤503,主控器向光机驱动器发送寄存器地址报文,进行读取光机驱动器数据的 操作,执行步骤505;
[0098] 步骤504,主控器确认与光机驱动器之间通讯失败,不再向光机驱动器发送报文; [0099]步骤505,主控器等待第二时长,在本发明实施例中,设定第二时长为400倍的时钟 周期,即4ms;
[0100]步骤506,主控器判断在4ms内是否接收到从光机驱动器发送的针对寄存器地址报 文的响应报文,若接收到了光机驱动器发送的响应报文,则执行步骤507;否则,执行步骤 508;
[0101] 步骤507,主控器向光机驱动器发送数据报文,执行步骤509;
[0102]步骤508,主控器判断返回到发送寄存器地址到光机驱动器的次数是否大于第二 循环阈值,在本发明实施例中,第二循环阈值为10,若大于第二循环阈值,则执行步骤504, 若不大于第二循环阈值,则执行步骤503;
[0103] 步骤509,主控器判断是否接收到数据报文对应的响应报文,若接收到光机驱动器 发送的响应报文,则执行步骤510;否则执行步骤504;
[0104] 步骤510,主控器确认与光机驱动器之间通讯完成。
[0105] 实施例三
[0106] 在本发明实施例中,主控器向光机驱动器发送硬件地址报文,光机驱动器向主控 器发送响应报文,以使主控器能够开始向光机驱动器发送寄存器地址报文,光机驱动器的 硬件地址为0x34,主控器在获取SCL信号变为高电平后,判断是否接收到光机驱动器发送的 响应报文,如图6所示,包括:
[0107] 步骤601,主控器向光机驱动器发送硬件地址报文,其中硬件地址报文中包括光机 驱动器的硬件地址0x34;
[0108] 步骤602,主控器判断是否接收到光机驱动器发送的针对硬件地址报文的响应报 文,若接收到了光机驱动器发送的针对硬件地址报文的响应报文,则执行步骤603;若未接 收到光机驱动器发送的针对硬件地址报文的响应报文,则执行步骤604;
[0109] 步骤603,主控器向光机驱动器发送寄存器地址报文,进行读取光机驱动器数据的 操作,执行步骤605;
[0110] 步骤604,主控器确认与光机驱动器之间通讯失败,不再向光机驱动器发送报文;
[0111] 步骤605,主控器监控SCL信号的信号变化,获取SCL信号变为高电平的变化时间;
[0112] 步骤606,主控器等待第一时长,在本发明实施例中,设置第一时长为lms,即100个 时钟周期;
[0113] 步骤607,主控器判断在lms内是否接收到从光机驱动器发送的针对寄存器地址报 文的响应报文,若接收到了光机驱动器发送的响应报文,则执行步骤608;否则,执行步骤 604;
[0114] 步骤608,主控器向光机驱动器发送数据报文;
[0115] 步骤609,主控器判断是否接收到数据报文对应的响应报文,若接收到光机驱动器 发送的响应报文,则执行步骤610;否则执行步骤604;
[0116] 步骤610,主控器确认与光机驱动器之间通讯完成。
[0117] 实施例三与实施例一以及实施例二相比,主控器能够根据SCL信号的电平的变化 准确获知光机驱动器系统处理完指令的时间点,即光机驱动器释放SCL信号的时间点,则若 光机驱动器与主控器之间通讯正常,则主控器一定能够接收到光机驱动器发送的响应报 文,减少了实施例一以及实施例二中返回向光机驱动器发送寄存器地址报文的次数,即主 控器只需要执行一次向寄存器地址报文,就可以获得光机驱动器发送的响应报文。
[0118] 基于同样的构思,本发明实施例还提供一种数字光处理投影装置,如图7所示,包 括:
[0119] 主控器701和光机驱动器702,所述主控器701和所述光机驱动器702之间通过I2C 进行通信;
[0120] 所述主控器701,如图8所示包括:
[0121 ] 监控单元801,用于向光机驱动器发送寄存器地址报文后,若所述光机驱动器的串 行时钟SCL信号为低电平信号,则监控所述SCL信号;
[0122]发送单元802,用于在所述SCL信号变为高电平信号后,若接收到所述光机驱动器 发送的针对所述寄存器地址报文对应的响应报文,则向所述光机驱动器发送数据报文。 [0123] 进一步地,所述发送单元802,具体用于:
[0124] 在所述监控单元监控SCL信号变为高电平信号后,等待第一时长;
[0125] 在等待第一时长后,判断在第一时长内是否接收到所述光机驱动器发送的针对所 述寄存器地址报文对应的响应报文;
[0126] 若在第一时长内接收到所述光机驱动器发送的针对所述寄存器地址报文对应的 响应报文,则向所述光机驱动器发送数据报文。
[0127] 进一步地,所述监控单元801,还用于:
[0128] 在确定所述主控器在所述SCL信号变为高电平信号后,停止监控所述SCL信号;
[0129] 所述发送单元802,还用于:
[0130] 若在第一时长内未接收到所述光机驱动器发送的针对所述寄存器地址报文对应 的响应报文,则触发所述监控模块继续监控所述SCL信号。
[0131] 进一步地,所述发送单元802,还用于:
[0132]确定触发所述监控模块继续监控所述SCL信号的次数不大于预设循环阈值。
[0133] 进一步地,所述发送单元802,还用于:
[0134] 若确定触发所述监控模块继续监控所述SCL信号的次数大于预设循环阈值,则确 定与所述光机驱动器之间通讯失败。
[0135] 本发明实施例还提供一种处理I2C通信对接延时的投影装置,如图9所示,包括:
[0136] 等待单元901,用于向光机驱动器发送寄存器地址报文后,等待第一时长;
[0137] 循环单元902,用于若在所述第一时长内没有接收到所述光机驱动器发送的针对 所述寄存器地址报文的响应报文,则返回向所述光机驱动器发送寄存器地址报文的步骤;
[0138] 其中,所述投影装置与所述光机驱动器通过第一 I2C总线进行数据传输,所述光机 驱动器与其它至少一个光机驱动器通过第二I2C总线进行数据传输。
[0139] 进一步地,所述循环单元902,还用于:
[0140] 确定向所述光机驱动器发送寄存器地址报文的次数不大于预设循环阈值。
[0141] 进一步地,所述装置还包括:
[0142] 更新单元903,用于所述根据收到的指令对所述第一时长进行更新;
[0143] 若更新后的所述第一时长增加,则减少所述循环阈值;或者若更新后的所述第一 时长减少,则增加所述循环阈值。
[0144] 进一步地,所述装置还包括:
[0145] 停止单元904,用于若未接收到所述光机驱动器发送的针对所述寄存器地址报文 对应的响应报文,且向所述光机驱动器发送寄存器地址报文的次数大于所述预设循环阈 值,则确认与所述光机驱动器之间通讯失败,停止向所述光机驱动器发送报文。
[0146] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程 图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流 程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序 指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产 生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实 现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0147] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特 定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指 令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或 多个方框中指定的功能。
[0148] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计 算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或 其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一 个方框或多个方框中指定的功能的步骤。
[0149] 尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造 性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优 选实施例以及落入本发明范围的所有变更和修改。
[0150] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精 神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围 之内,则本发明也意图包含这些改动和变型在内。
【主权项】
1. 一种处理I2C通信对接延时的方法,用于数字光处理投影,其特征在于,所述方法包 括: 主控器向光机驱动器发送寄存器地址报文后,若所述主控器和所述光机驱动器之间的 串行时钟SCL信号为低电平信号,则监控所述SCL信号; 所述主控器在所述SCL信号变为高电平信号后,若接收到所述光机驱动器发送的针对 所述寄存器地址报文对应的响应报文,则向所述光机驱动器发送数据报文。2. 根据权利要求1所述的方法,其特征在于,所述主控器在所述SCL信号变为高电平信 号后,若接收到所述光机驱动器发送的针对所述寄存器地址报文对应的响应报文,则向所 述光机驱动器发送数据报文,包括: 所述主控器在SCL信号变为高电平信号后,等待第一时长; 所述主控器在等待第一时长后,判断在第一时长内是否接收到所述光机驱动器发送的 针对所述寄存器地址报文对应的响应报文; 所述主控器若在第一时长内接收到所述光机驱动器发送的针对所述寄存器地址报文 对应的响应报文,则向所述光机驱动器发送数据报文。3. 根据权利要求2所述的方法,其特征在于,所述主控器在SCL信号变为高电平信号后 还包括: 所述主控器在确定所述主控器在所述SCL信号变为高电平信号后,停止监控所述SCL信 号; 所述主控器判断在第一时长内是否接收到所述光机驱动器发送的针对所述寄存器地 址报文对应的响应报文之后,还包括: 所述主控器若在第一时长内未接收到所述光机驱动器发送的针对所述寄存器地址报 文对应的响应报文,则返回监控所述SCL信号的步骤。4. 根据权利要求3所述的方法,其特征在于,所述主控器返回所述主控器监控所述SCL 信号的步骤之前,还包括: 所述主控器确定所述主控器返回监控所述SCL信号的步骤的次数不大于预设循环阈 值。5. 根据权利要求4所述的方法,其特征在于,该方法还包括: 所述主控器若确定所述主控器返回监控所述SCL信号的步骤的次数大于预设循环阈 值,则确定与所述光机驱动器之间通讯失败。6. -种数字光处理投影装置,其特征在于,包括:主控器和光机驱动器,所述主控器和 所述光机驱动器之间通过I2C进行通信,所述主控器包括: 监控单元,用于在主控器向光机驱动器发送寄存器地址报文后,若所述主控器和所述 光机驱动器之间的串行时钟SCL信号为低电平信号,则监控所述SCL信号; 发送单元,用于在所述监控单元监控所述SCL信号变为高电平信号后,若接收到所述光 机驱动器发送的针对所述寄存器地址报文对应的响应报文,则向所述光机驱动器发送数据 报文。7. 根据权利要求6所述的装置,其特征在于,所述发送单元具体用于: 在所述监控单元监控SCL信号变为高电平信号后,等待第一时长; 在等待第一时长后,判断在第一时长内是否接收到所述光机驱动器发送的针对所述寄 存器地址报文对应的响应报文; 若在第一时长内接收到所述光机驱动器发送的针对所述寄存器地址报文对应的响应 报文,则向所述光机驱动器发送数据报文。8. 根据权利要求7所述的装置,其特征在于,所述监控单元,还用于: 在确定所述主控器在所述SCL信号变为高电平信号后,停止监控所述SCL信号; 所述发送单元,还用于: 若在第一时长内未接收到所述光机驱动器发送的针对所述寄存器地址报文对应的响 应报文,则触发所述监控单元继续监控所述SCL信号。9. 根据权利要求8所述的装置,其特征在于,所述发送单元,还用于: 确定触发所述监控单元继续监控所述SCL信号的次数不大于预设循环阈值。10. 根据权利要求9所述的装置,其特征在于,所述发送单元还用于: 若确定触发所述监控单元继续监控所述SCL信号的次数大于预设循环阈值,则确定与 所述光机驱动器之间通讯失败。
【文档编号】G06F13/42GK105893313SQ201610256768
【公开日】2016年8月24日
【申请日】2016年4月21日
【发明人】石新利
【申请人】青岛海信宽带多媒体技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1