CN105893313A - 一种处理i2c通信对接延时方法及数字光处理投影装置 - Google Patents
一种处理i2c通信对接延时方法及数字光处理投影装置 Download PDFInfo
- Publication number
- CN105893313A CN105893313A CN201610256768.4A CN201610256768A CN105893313A CN 105893313 A CN105893313 A CN 105893313A CN 201610256768 A CN201610256768 A CN 201610256768A CN 105893313 A CN105893313 A CN 105893313A
- Authority
- CN
- China
- Prior art keywords
- ray machine
- main controller
- machine driver
- scl signal
- duration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/12—Picture reproducers
- H04N9/31—Projection devices for colour picture display, e.g. using electronic spatial light modulators [ESLM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0016—Inter-integrated circuit (I2C)
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Selective Calling Equipment (AREA)
Abstract
本发明涉及电子通信领域,尤其涉及一种处理I2C通信对接延时的方法及数字光处理投影装置,用于解决现有技术中有可能出现光机驱动器系统还未处理完该次的指令,而主设备会认为从设备的数据传输失败的问题。所述方法包括:主控器向光机驱动器发送寄存器地址报文后,若所述主控器和所述光机驱动器之间的串行时钟SCL信号为低电平信号,则监控所述SCL信号;所述主控器在所述SCL信号变为高电平信号后,若接收到所述光机驱动器发送的针对所述寄存器地址报文对应的响应报文,则向所述光机驱动器发送数据报文。本发明实施例能够更加准确的获得从设备向主设备发送响应报文的时间,使得主控器与光机驱动器之间的通讯更加准确及时。
Description
技术领域
本发明涉及电子通信领域,尤其涉及一种处理I2C通信对接延时方法及数字光处理投影装置。
背景技术
I2C(Inter-Integrated Circuit)总线是由PHILIPS公司开发的两线式串行总线,I2C总线由一根串行时钟总线SCL和一根串行数据总线SDA组成,用于连接微控制器及其外围设备。I2C总线是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。
在数字光处理(DLP,Digital Light Processing)投影装置中,包括主控器和光机驱动器系统,光机驱动器系统包括光机驱动器、光机驱动器电源、光源、数字微镜晶片(DMD,Digital Micromirror Device)、透镜模块等,光机驱动器作为主控器的从设备,与主控器通过第一I2C总线进行通信,同时,光机驱动器还可以作为主设备,通过第二I2C总线与光机电源驱动器、光源驱动器、数字微镜晶片、透镜模块等进行I2C通信,在数字光处理投影装置中,每个器件都有一个唯一的地址,无论是主控器、光机电源驱动器、光源驱动器、存储器或键盘接口都有一个唯一的地址。光机驱动器是数字光处理投影装置中的主控器的从设备,又是光机系统中的主设备,而光机系统中的其它器件,例如光机电源驱动器、光源驱动器、数字微镜晶片、透镜模块等为光机系统中的从设备。在主控器作为主设备发送完寄存器地址给光机驱动器后,光机驱动器并不会立即返回应答给主控器,而是在光机驱动器处理完光机系统的指令后才会回应应答信号,此时主控器与光机驱动器之间不能通过标准I2C模式完成。
现有技术中,通过在标准的I2C通讯过程中增加固定的延时间隔以使主设备在发送完指令后等待固定的延时时间,来匹配可能会出现的光机驱动器没有立即回应应答信号的问题,但是由于光机驱动器每次处理的指令不同,光机驱动器处理每次指令产生的时延不同,而主设备等待固定的延时间隔,有可能出现下列情况:光机驱动器系统还未处理完该次的指令,而延时间隔已到时,使得主设备认为未接收到从设备发送的响应报文,确定此时与从设备的数据传输失败。
发明内容
本发明提供一种处理I2C通信对接延时方法及数字光处理投影装置,用于解决现有技术中有可能出现光机驱动器系统还未处理完该次的指令,而主设备会认为光机驱动器的数据传输失败的问题。
本发明提供一种处理I2C通信对接延时的方法,用于数字光处理投影装置,所述方法包括:
主控器向光机驱动器发送寄存器地址报文后,若所述主控器和所述光机驱动器之间的串行时钟SCL信号为低电平信号,则监控所述SCL信号;
所述主控器在所述SCL信号变为高电平信号后,若接收到所述光机驱动器发送的针对所述寄存器地址报文对应的响应报文,则向所述光机驱动器发送数据报文。
本发明实施例中,当主控器向光机驱动器发送寄存器地址报文后,若此时主控器和光机驱动器之间SCL信号为低电平,即光机驱动器已接收到主控器发送的寄存器地址报文,并且光机驱动器已经开始处理光机驱动器内部系统的指令,则主控器监控SCL信号,当主控器监控到SCL信号变为高电平时,即光机驱动器已经处理完内部系统的指令后释放了SCL信号,主控器判断是否接收到了光机驱动器发送的响应报文,若主控器接收到了光机驱动器发送的响应报文,则主控器开始向光机驱动器发送数据报文。主控器根据监控的SCL信号的变化能够及时获得光机驱动器释放SCL信号的时间,能够更加准确的获得光机驱动器向主设备发送响应报文的时间,使得主控器与光机驱动器之间的通讯更加准确及时。
本发明还提供一种数字光处理投影的装置,包括:
主控器和光机驱动器,所述主控器和所述光机驱动器之间通过I2C进行通信,所述主控器包括:
监控单元,用于向光机驱动器发送寄存器地址报文后,若所述光机驱动器的串行时钟SCL信号为低电平信号,则监控所述SCL信号;
发送单元,用于在所述SCL信号变为高电平信号后,若接收到所述光机驱动器发送的针对所述寄存器地址报文对应的响应报文,则向所述光机驱动器发送数据报文。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种处理I2C通信对接延时的方法的流程示意图;
图2为本发明实施例中主控器与光机驱动器之间通讯结构示意图;
图3为本发明实施例提供的另一种处理I2C通信对接延时的方法的流程示意图;
图4为本发明实施例提供的一种主控器与光机驱动器之间通过I2C总线通信的流程示意图;
图5为本发明实施例提供的另一种主控器与光机驱动器之间通过I2C总线通信的流程示意图;
图6为本发明实施例提供的一种主控器与光机驱动器之间通过I2C总线获取SCL信号解决对接延时的方法流程示意图;
图7为本发明实施例提供的一种数字光处理投影的装置的结构示意图;
图8为本发明实施例提供的主控器的结构示意图;
图9为本发明实施例提供的另一种数字光处理投影的装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
现有技术中主控器与从设备通过标准I2C通讯协议进行通讯,主控器与从设备通过第一I2C总线进行通信,但是在数字光处理(DLP,Digital LightProcessing)投影装置中,包括主控器和光机驱动器系统,光机驱动器系统包括光机驱动器、光机驱动器电源、光源、数字微镜晶片(DMD,DigitalMicromirror Device)、透镜模块等,光机驱动器作为主控器的从设备,与主控器通过第一I2C总线进行通信,同时,光机驱动器还可以作为主设备,通过第二I2C总线与光机驱动器电源、光源、数字微镜晶片、透镜模块等进行I2C通信,,对于主控器而言,在标准的I2C通讯过程中主设备在发送完指令后等待固定的延时时间,来匹配可能会出现的光机驱动器没有立即回应应答信号的问题,但是由于光机驱动器每次处理的指令不同,光机驱动器处理每次指令产生的时延不同,主设备增加固定延时间隔时会造成光机驱动器系统还未处理完该次的指令,而已达到主设备等待的固定时长,主设备会认为此时与从设备的数据传输失败的问题。
为了解决上述问题,本发明提供一种处理数字光处理投影装置中I2C通信对接延时的方法,如图1所示,所述方法包括:
步骤101,主控器向光机驱动器发送寄存器地址报文后,若所述主控器和所述光机驱动器之间的串行时钟SCL信号为低电平信号,则监控所述SCL信号;
步骤102,所述主控器在所述SCL信号变为高电平信号后,若接收到所述光机驱动器发送的针对所述寄存器地址报文对应的响应报文,则向所述光机驱动器发送数据报文。
在步骤101中,主控器可以是投影仪中的主控器设备,也可以是智能电视、激光电视、LED智能微型投影仪等设备的主控模块。光机驱动器为一种将光按照一定路径传输并形成图像输出的显示系统,在本发明实施例中光机驱动器可以为智能微型中的显示装置,也可以为智能电视、激光电视、LED智能微型投影仪等设备中的显示系统,光机驱动器一般由显示核心、光源、镜头光路、散热器组成。
在本发明实施例中,主控器与光机驱动器都是位于数字光处理投影装置中,该投影装置中光机驱动器是数字光处理投影装置中的主控器的从设备,又是光机系统中的主设备,而光机系统中的其它器件,例如光机电源驱动器、光源驱动器、数字微镜晶片、透镜模块等为光机系统中的从设备。在本发明实施例中,所述数字光处理投影装置用于解决装置中存在至少两级驱动的架构而产生的光机驱动器系统还未处理完该次的指令,而主设备会认为光机驱动器的数据传输失败的问题。在本发明实施例中,所述数字光处理投影装置可以为LED微型投影仪或者其它具有至少两级驱动的架构的投影仪装置。
在智能电视或者激光电视、LED智能微型投影仪等设备中主控器与光机驱动器以及其他从设备之间通过I2C进行通讯。如图2所示,若干个从设备中,从设备A3就是光机驱动器,其他从设备可以是调频器、电源管理器或者LED驱动器。主控器与光机驱动器、从设备A1、从设备A2通过第一I2C总线进行通讯,而光机驱动器与从设备B1、从设备B2、从设备B3通过第二I2C总线进行通讯。
可选的,在本发明实施例中,还可以为三级驱动或者三级以上驱动的构架,则主控器与光机驱动器之间通过第一I2C总线进行通信,光机驱动器与其他从设备通过第二I2C总线进行通信,若从设备也是其他从设备的主控器,则通过第三I2C总线进行通信等等。
主控器通过第一I2C总线向光机驱动器发送寄存器地址报文的目的是为了使光机驱动器根据寄存器地址报文中的寄存器地址进行指令操作。其中,寄存器地址不同,执行的指令操作也不同。
比如主控器发送的寄存器地址报文是为了通知光机驱动器进行写操作,则光机驱动器在接收到主控器发送的写操作指令后,通知其他从设备执行写操作指令;
还比如主控器发送的寄存器地址报文是为了通知光机驱动器进行读操作,则光机驱动器在接收到主控器发送的读操作指令后,通知其他从设备执行读操作指令。
在光机驱动器通知其他从设备进行读操作或者是写操作后,其他从设备需要完成光机驱动器的操作指令,在完成操作指令后,其他从设备会向光机驱动器发送完成指令的消息,光机驱动器在接收到其他从设备发送的完成指令的消息后,才会向主控器发送针对寄存器地址的响应报文。
在本发明实施例中,主控器与光机驱动器的SCL信号就是第一I2C总线中的SCL信号,主控器监控的SCL信号就是第一I2C总线的SCL信号。在本发明实施例中,光机驱动器接收到寄存器地址报文后,光机驱动器会将第一I2C总线的SCL线拉低,表示第一I2C总线为占用状态,光机驱动器会通过第二I2C总线通知与寄存器地址报文对应的从设备处理读取数据命令,例如从设备B1为读取数据,从设备B2为写入数据,当寄存器地址报文为读取数据,则光机驱动器通知从设备B1进行读取数据操作。当从设备在处理读取数据的操作完成后,会向光机驱动器发送完成指令消息,光机驱动器在接收到从设备发送的完成指令消息后,释放第一I2C总线的SCL信号(即将第一I2C总线的SCL信号拉高),表示第一I2C总线的状态为非占用状态,光机驱动器释放完SCL信号后,准备向主控器发送响应报文(需要将SDA线拉低后才能发送)。
在步骤102中,由于主控器一直监控SCL信号的变化,在第一I2C总线的SCL从高电平的位置被拉低后,主控器若监控到第一I2C总线的SCL信号从低电平的位置又变化为高电平的位置,主控器认为光机驱动器已经处理完寄存器地址报文对应的指令,准备向主控器发送响应报文,则判断是否接收到所述光机驱动器发送的响应报文,若接收到所述光机驱动器发送的针对所述寄存器地址报文对应的响应报文,主控器认为与光机驱动器之间通讯正常,可以向光机驱动器发送数据报文。
在本发明实施例中,当光机驱动器释放第一I2C总线的SCL信号后,光机驱动器需要将第一I2C总线的SDA信号拉低,才向主控器发送响应报文,所以主控器在第一I2C总线的SCL信号变为高电平信号后,等待第一时长;在主控器在第一时长后,判断在第一时长内是否接收到所述光机驱动器发送的针对所述寄存器地址报文对应的响应报文;
若主控器若在第一时长内接收到所述光机发送的针对所述寄存器地址报文对应的响应报文,则向所述光机发送数据报文。
在本发明实施例中,第一时长可以设置为主控器向光机发送数据的时钟周期的倍数,例如一个时钟周期为10μs,则可以设置第一时长为500μs,即50个时钟周期,也可以设置为其它时间。
在步骤102中,所述主控器在确定所述主控器在所述SCL信号变为高电平信号后,停止监控所述SCL信号;
所述主控器判断在第一时长内是否接收到所述光机驱动器发送的针对所述寄存器地址报文对应的响应报文之后,还包括:
所述主控器若在第一时长内未接收到所述光机驱动器发送的针对所述寄存器地址报文对应的响应报文,则返回监控所述SCL信号的步骤。
在本发明实施例中,主控器监控第一I2C总线的SCL信号的目的是确定光机驱动器在何时处理完寄存器地址报文对应的指令,即何时光机驱动器拉高第一I2C总线的SCL信号,当主控器在确定第一I2C总线的SCL信号变为高电平信号时,即光机驱动器已经拉高了第一I2C总线的SCL信号,则此时主控器停止监控第一I2C总线的SCL信号。
可选的,若主控器在第一时长内未接收到所述光机驱动器发送的针对所述寄存器地址报文对应的响应报文,则返回重新监控SCL信号的步骤,继续监控SCL信号的电平。
为了防止返回主控器监控所述SCL信号的步骤超出主控器与光机驱动器所处的系统的处理能力,造成死循环,一种可选的方式是:
主控器在返回主控器监控所述SCL信号的步骤之前,判断返回的次数是否大于循环阈值,在确定主控器返回监控所述SCL信号的步骤的次数不大于预设循环阈值后,返回主控器监控所述SCL信号的步骤;
在确定主控器返回监控所述SCL信号的步骤的次数大于预设循环阈值后,不再返回主控器监控所述SCL信号的步骤,主控器会确定与光机驱动器之间通讯失败,不再向光机驱动器发送任何的数据报文。
在本发明实施例中,循环阈值可以根据系统的处理能力进行设置,例如根据光机驱动器或者主控器的型号,设置不同的循环阈值;也可以根据第一时长与循环阈值的对应关系进行设置,例如第一时长与循环阈值有对应关系表,则根据设置的第一时长,在对应关系表中查找到循环阈值的值。
可选的,在主控器与光机驱动器之间通讯失败后,有很多种处理方式。本发明实施例给出一种处理方式:
主控器会生成一个错误报文,提示用户主控器与光机驱动器之间存在故障,以使用户根据错误报文显示的错误代码,查找故障原因以及寻找解决办法。
例如,错误代码与故障原因的对照表如表1所示:
表1:错误代码与故障原因的对照表
本发明还提供一种处理I2C通信对接延时的方法,如图3所示,所述方法包括:
步骤301,主控器向光机驱动器发送寄存器地址报文后,等待第二时长;
步骤302,若所述主控器在所述第二时长内没有接收到所述光机驱动器发送的针对所述寄存器地址报文的响应报文,则返回向所述光机驱动器发送寄存器地址报文的步骤;
其中,所述主控器与所述光机驱动器通过第一I2C总线进行数据传输,所述光机驱动器与其它至少一个从设备通过第二I2C总线进行数据传输。
在步骤301中,第二时长可以设置为主控器向光机驱动器发送数据的时钟周期的倍数,例如一个时钟周期为10μs,则可以设置第二时长为500μs,即50个时钟周期,也可以设置其它时间,以使主控器在发送寄存器地址报文后等待第二时长。
在步骤301中,主控器向光机驱动器发送寄存器地址报文的目的是为了通知光机驱动器中对应的寄存器进行指令操作,例如主控器发送的寄存器地址报文是为了通知光机驱动器进行写操作,则光机驱动器在接收到主控器发送的写操作指令后,通知光机驱动器的系统中的其它从设备执行写操作指令,或者主控器发送的寄存器地址报文是为了通知光机驱动器进行读操作,则光机驱动器在接收到主控器发送的读操作指令后,通知光机驱动器的系统中的其它从设备执行读操作指令。
在步骤301前,主控器还需要向光机驱动器发送硬件地址,以便通知光机驱动器需要开始进行数据传输,在本发明实施例中,光机驱动器的硬件地址为16进制数,例如为0x34,主控器发送硬件地址报文,该报文中包括寻找的光机驱动器的硬件地址为0x34,则光机驱动器在接收到主控器发送的硬件地址报文后,发送一个对应的响应报文给主控器,以使主控器继续发送寄存器地址报文。
在步骤302中,主控器在第二时长内判断是否接收到光机驱动器发送的针对所述寄存器地址报文的响应报文,如果主控器在第二时长没有接收到响应报文,则说明此时光机驱动器的内部系统并没有处理完成指令,例如,主控器发送的光机驱动器的寄存器地址报文是通知光机驱动器进行写操作,则在主控器等待第二时长内,光机驱动器的系统中还没有执行完写操作的指令,则主控器则返回向光机驱动器发送寄存器地址报文的步骤,在发送完寄存器地址报文后,继续等待第二时长后判断是否接收到响应报文。
在步骤302中,所述主控器确定向所述光机驱动器发送寄存器地址报文的次数不大于预设第二循环阈值。
本发明实施例中,主控器在返回发送寄存器地址报文的步骤时,需要判断返回的此时是否大于第二循环阈值,设定第二循环阈值以防止主控器向光机驱动器发送寄存器地址报文的次数超出主控器与光机驱动器所处的系统的处理能力,造成死循环的问题。在本发明实施例中,第二循环阈值可以根据系统的处理能力进行设置,也需要考虑延时的第二时长。
在步骤302中,所述主控器根据收到的指令对所述第二时长进行更新;
若更新后的所述第二时长增加,则所述主控器减少所述第二循环阈值;或者若更新后的所述第二时长减少,则所述主控器增加所述第二循环阈值。
其中,本发明实施例调整所述第二循环阈值的方式有很多,下面列列举三种:
方式一、第二时长的增加或减少时,根据设置的调整比例对第二循环阈值进行调整,例如,调整比例为1:2,则主控器获得的更新后的第二时长比更新前的第二时长增加了3ms,则第二循环阈值减少6ms。
方式二、第二时长的增加或减少时,根据第二时长与第二循环阈值之间的对应关系对第二循环阈值进行调整。
例如,如表2为一种对应关系,第二时长为0.85ms时,对应的第二循环阈值为105,当第二时长减少为0.05ms时,对应的第二循环阈值为185。
第二时长 | 第二循环阈值 |
小于0.01ms | 200 |
0.01ms~0.1ms | 185 |
0.11ms~0.5ms | 150 |
0.51ms~0.75ms | 120 |
0.76ms~1ms | 105 |
大于1ms | 85 |
表2:第二时长与第二循环阈值之间对应关系表
方式三、设置第二时长与第二循环阈值的乘积为一固定值,则当第二时长增加或减少时,用固定值除以第二时长就可以得到调整后的第二循环阈值,从而知道需要将当前的第二循环阈值增加多少或减少多少。
例如设置第二时长与第二循环阈值的乘积的固定值为40ms,若设置第二时长为1000μs,即100个时钟周期,则根据固定值40ms除以第二时长的1000μs,就可以确定应该设置的第二循环阈值为4。
若将第二时长增加为100μs,即10个时钟周期时,则根据固定值40ms除以第二时长的100μs,可以确定应该设置的第二循环阈值为40。
在本发明实施例中,若所述主控器未接收到所述光机驱动器发送的针对所述寄存器地址报文对应的响应报文,且向所述光机驱动器发送寄存器地址报文的次数大于所述预设第二循环阈值,则所述主控器确认与所述光机驱动器之间通讯失败,停止向所述光机驱动器发送报文。
本发明上述实施例中,若主控器在经过等待第二时长后,仍未接收到光机驱动器发送的响应报文,此时主控器需要再进行一次循环,返回到发送寄存器地址报文的步骤,在返回之前,主控器需要判断返回次数是否已经大于循环阈值,若大于循环阈值,则主控器就确认了于光机驱动器之间的通讯失败,认为光机驱动器是无法接收到主设备发送的数据报文的,则主控器停止向光机驱动器发送报文,可以减少对第一I2C总线数据信道的占用,也可以及时停止向光机驱动器发送报文,继续执行下一个任务,并且及时报错,以使光机驱动器与主设备之间的通讯错误能够及时得到解决。
为了方便便于本领域技术人员的理解,在此举例说明。
实施例一
在本发明实施例中,主控器向光机驱动器发送硬件地址报文,光机驱动器向主控器发送响应报文,以使主控器能够开始向光机驱动器发送寄存器地址报文,光机驱动器的硬件地址为0x34,如图4所示,包括:
步骤401,主控器向光机驱动器发送硬件地址报文,其中硬件地址报文中包括光机驱动器的硬件地址0x34;
步骤402,主控器判断是否接收到光机驱动器发送的针对硬件地址报文的响应报文,若接收到了光机驱动器发送的针对硬件地址报文的响应报文,则执行步骤403;若未接收到光机驱动器发送的针对硬件地址报文的响应报文,则执行步骤404;
步骤403,主控器向光机驱动器发送寄存器地址报文,进行读取光机驱动器数据的操作,执行步骤405;
步骤404,主控器确认与光机驱动器之间通讯失败,不再向光机驱动器发送报文;
步骤405,主控器等待第二时长,在本发明实施例中,设定第二时长为50倍的时钟周期,即0.5ms;
步骤406,主控器判断在0.5ms内是否接收到从光机驱动器发送的针对寄存器地址报文的响应报文,若接收到了光机驱动器发送的响应报文,则执行步骤407;否则,执行步骤408;
步骤407,主控器向光机驱动器发送数据报文,执行步骤409;
步骤408,主控器判断返回到发送寄存器地址到光机驱动器的次数是否大于预设的第二循环阈值,在本发明实施例中,预设第二循环阈值为500,若大于预设的第二循环阈值,则执行步骤404,若不大于预设的第二循环阈值,则执行步骤403;
步骤409,主控器判断是否接收到数据报文对应的响应报文,若接收到光机驱动器发送的响应报文,则执行步骤410;否则执行步骤404;
步骤410,主控器确认与光机驱动器之间通讯完成。
实施例二
与实施例一相比,为了减少主控器在未接收到响应报文后向光机驱动器发送的次数,在本发明实施例中总延时时间为40ms不变的前提下,可以增加主控器等待第二时长的时间,在本发明实施例中,设置为4ms,即400个时钟周期,循环阈值为10,则如图5所示,所述方法包括:
步骤501,主控器向光机驱动器发送硬件地址报文,其中硬件地址报文中包括光机驱动器的硬件地址0x34;
步骤502,主控器判断是否接收到光机驱动器发送的针对硬件地址报文的响应报文,若接收到了光机驱动器发送的针对硬件地址报文的响应报文,则执行步骤503;若未接收到光机驱动器发送的针对硬件地址报文的响应报文,则执行步骤504;
步骤503,主控器向光机驱动器发送寄存器地址报文,进行读取光机驱动器数据的操作,执行步骤505;
步骤504,主控器确认与光机驱动器之间通讯失败,不再向光机驱动器发送报文;
步骤505,主控器等待第二时长,在本发明实施例中,设定第二时长为400倍的时钟周期,即4ms;
步骤506,主控器判断在4ms内是否接收到从光机驱动器发送的针对寄存器地址报文的响应报文,若接收到了光机驱动器发送的响应报文,则执行步骤507;否则,执行步骤508;
步骤507,主控器向光机驱动器发送数据报文,执行步骤509;
步骤508,主控器判断返回到发送寄存器地址到光机驱动器的次数是否大于第二循环阈值,在本发明实施例中,第二循环阈值为10,若大于第二循环阈值,则执行步骤504,若不大于第二循环阈值,则执行步骤503;
步骤509,主控器判断是否接收到数据报文对应的响应报文,若接收到光机驱动器发送的响应报文,则执行步骤510;否则执行步骤504;
步骤510,主控器确认与光机驱动器之间通讯完成。
实施例三
在本发明实施例中,主控器向光机驱动器发送硬件地址报文,光机驱动器向主控器发送响应报文,以使主控器能够开始向光机驱动器发送寄存器地址报文,光机驱动器的硬件地址为0x34,主控器在获取SCL信号变为高电平后,判断是否接收到光机驱动器发送的响应报文,如图6所示,包括:
步骤601,主控器向光机驱动器发送硬件地址报文,其中硬件地址报文中包括光机驱动器的硬件地址0x34;
步骤602,主控器判断是否接收到光机驱动器发送的针对硬件地址报文的响应报文,若接收到了光机驱动器发送的针对硬件地址报文的响应报文,则执行步骤603;若未接收到光机驱动器发送的针对硬件地址报文的响应报文,则执行步骤604;
步骤603,主控器向光机驱动器发送寄存器地址报文,进行读取光机驱动器数据的操作,执行步骤605;
步骤604,主控器确认与光机驱动器之间通讯失败,不再向光机驱动器发送报文;
步骤605,主控器监控SCL信号的信号变化,获取SCL信号变为高电平的变化时间;
步骤606,主控器等待第一时长,在本发明实施例中,设置第一时长为1ms,即100个时钟周期;
步骤607,主控器判断在1ms内是否接收到从光机驱动器发送的针对寄存器地址报文的响应报文,若接收到了光机驱动器发送的响应报文,则执行步骤608;否则,执行步骤604;
步骤608,主控器向光机驱动器发送数据报文;
步骤609,主控器判断是否接收到数据报文对应的响应报文,若接收到光机驱动器发送的响应报文,则执行步骤610;否则执行步骤604;
步骤610,主控器确认与光机驱动器之间通讯完成。
实施例三与实施例一以及实施例二相比,主控器能够根据SCL信号的电平的变化准确获知光机驱动器系统处理完指令的时间点,即光机驱动器释放SCL信号的时间点,则若光机驱动器与主控器之间通讯正常,则主控器一定能够接收到光机驱动器发送的响应报文,减少了实施例一以及实施例二中返回向光机驱动器发送寄存器地址报文的次数,即主控器只需要执行一次向寄存器地址报文,就可以获得光机驱动器发送的响应报文。
基于同样的构思,本发明实施例还提供一种数字光处理投影装置,如图7所示,包括:
主控器701和光机驱动器702,所述主控器701和所述光机驱动器702之间通过I2C进行通信;
所述主控器701,如图8所示包括:
监控单元801,用于向光机驱动器发送寄存器地址报文后,若所述光机驱动器的串行时钟SCL信号为低电平信号,则监控所述SCL信号;
发送单元802,用于在所述SCL信号变为高电平信号后,若接收到所述光机驱动器发送的针对所述寄存器地址报文对应的响应报文,则向所述光机驱动器发送数据报文。
进一步地,所述发送单元802,具体用于:
在所述监控单元监控SCL信号变为高电平信号后,等待第一时长;
在等待第一时长后,判断在第一时长内是否接收到所述光机驱动器发送的针对所述寄存器地址报文对应的响应报文;
若在第一时长内接收到所述光机驱动器发送的针对所述寄存器地址报文对应的响应报文,则向所述光机驱动器发送数据报文。
进一步地,所述监控单元801,还用于:
在确定所述主控器在所述SCL信号变为高电平信号后,停止监控所述SCL信号;
所述发送单元802,还用于:
若在第一时长内未接收到所述光机驱动器发送的针对所述寄存器地址报文对应的响应报文,则触发所述监控模块继续监控所述SCL信号。
进一步地,所述发送单元802,还用于:
确定触发所述监控模块继续监控所述SCL信号的次数不大于预设循环阈值。
进一步地,所述发送单元802,还用于:
若确定触发所述监控模块继续监控所述SCL信号的次数大于预设循环阈值,则确定与所述光机驱动器之间通讯失败。
本发明实施例还提供一种处理I2C通信对接延时的投影装置,如图9所示,包括:
等待单元901,用于向光机驱动器发送寄存器地址报文后,等待第一时长;
循环单元902,用于若在所述第一时长内没有接收到所述光机驱动器发送的针对所述寄存器地址报文的响应报文,则返回向所述光机驱动器发送寄存器地址报文的步骤;
其中,所述投影装置与所述光机驱动器通过第一I2C总线进行数据传输,所述光机驱动器与其它至少一个光机驱动器通过第二I2C总线进行数据传输。
进一步地,所述循环单元902,还用于:
确定向所述光机驱动器发送寄存器地址报文的次数不大于预设循环阈值。
进一步地,所述装置还包括:
更新单元903,用于所述根据收到的指令对所述第一时长进行更新;
若更新后的所述第一时长增加,则减少所述循环阈值;或者若更新后的所述第一时长减少,则增加所述循环阈值。
进一步地,所述装置还包括:
停止单元904,用于若未接收到所述光机驱动器发送的针对所述寄存器地址报文对应的响应报文,且向所述光机驱动器发送寄存器地址报文的次数大于所述预设循环阈值,则确认与所述光机驱动器之间通讯失败,停止向所述光机驱动器发送报文。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
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信号的次数大于预设循环阈值,则确定与所述光机驱动器之间通讯失败。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610256768.4A CN105893313A (zh) | 2016-04-21 | 2016-04-21 | 一种处理i2c通信对接延时方法及数字光处理投影装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610256768.4A CN105893313A (zh) | 2016-04-21 | 2016-04-21 | 一种处理i2c通信对接延时方法及数字光处理投影装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105893313A true CN105893313A (zh) | 2016-08-24 |
Family
ID=56705377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610256768.4A Pending CN105893313A (zh) | 2016-04-21 | 2016-04-21 | 一种处理i2c通信对接延时方法及数字光处理投影装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105893313A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110990313A (zh) * | 2019-11-29 | 2020-04-10 | 苏州浪潮智能科技有限公司 | 一种i3c总线处理时钟拉伸的方法、设备以及存储介质 |
CN112882400A (zh) * | 2021-01-12 | 2021-06-01 | 杭州芯格微电子有限公司 | 同时驱动多个i2c从设备的方法及由控制器同时驱动的芯片 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127191A (zh) * | 2007-09-24 | 2008-02-20 | 杭州士兰微电子股份有限公司 | Led点阵屏参数校正系统和方法 |
CN103092175A (zh) * | 2013-01-21 | 2013-05-08 | 杭州华三通信技术有限公司 | I2c主设备与从设备之间串行时钟线scl控制的方法及装置 |
US20150286607A1 (en) * | 2014-04-08 | 2015-10-08 | Robert Bosch Gmbh | Determination of the state of an i2c bus |
CN105354157A (zh) * | 2015-11-26 | 2016-02-24 | 北京天诚盛业科技有限公司 | 配置iic器件的方法、装置和系统 |
-
2016
- 2016-04-21 CN CN201610256768.4A patent/CN105893313A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127191A (zh) * | 2007-09-24 | 2008-02-20 | 杭州士兰微电子股份有限公司 | Led点阵屏参数校正系统和方法 |
CN103092175A (zh) * | 2013-01-21 | 2013-05-08 | 杭州华三通信技术有限公司 | I2c主设备与从设备之间串行时钟线scl控制的方法及装置 |
US20150286607A1 (en) * | 2014-04-08 | 2015-10-08 | Robert Bosch Gmbh | Determination of the state of an i2c bus |
CN105354157A (zh) * | 2015-11-26 | 2016-02-24 | 北京天诚盛业科技有限公司 | 配置iic器件的方法、装置和系统 |
Non-Patent Citations (2)
Title |
---|
李伟民: "《电视机原理与技术》", 30 November 2012 * |
李耀川: "I2C控制器及加速度传感器的驱动设计和实现", 《中国优秀硕士学位论文全文数据库·信息科技辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110990313A (zh) * | 2019-11-29 | 2020-04-10 | 苏州浪潮智能科技有限公司 | 一种i3c总线处理时钟拉伸的方法、设备以及存储介质 |
CN112882400A (zh) * | 2021-01-12 | 2021-06-01 | 杭州芯格微电子有限公司 | 同时驱动多个i2c从设备的方法及由控制器同时驱动的芯片 |
CN112882400B (zh) * | 2021-01-12 | 2022-10-25 | 杭州芯格微电子有限公司 | 同时驱动多个i2c从设备的方法及由控制器同时驱动的芯片 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103795979A (zh) | 一种分布式图像拼接同步的方法和装置 | |
TW201734824A (zh) | 使用具有客體協定支援之中繼器的usb介面 | |
US10139799B2 (en) | Controller to modify an execution condition during program execution | |
CN103375873B (zh) | 空调器的控制方法和装置及空调器 | |
CN105701051A (zh) | 一种热插拔方法、主机控制器、主机及PCIe桥设备 | |
TWI578162B (zh) | 發送指令給串接顯示器的方法 | |
CN104267915A (zh) | 一种信息处理方法及电子设备 | |
CN103412836B (zh) | 热插拔处理方法、装置以及系统 | |
CN109305192A (zh) | 列车级控制单元vcu-m、列车网络控制系统及vcu-m的运行方法 | |
CN109284121B (zh) | 储能电源多级网络多控制设备同步更新程序的方法及系统 | |
CN107807630A (zh) | 一种主备设备的切换控制方法、其切换控制系统及装置 | |
CN105893313A (zh) | 一种处理i2c通信对接延时方法及数字光处理投影装置 | |
CN102253703B (zh) | 多主机板的开关机系统 | |
US20160357194A1 (en) | Method of controlling inverters | |
US20090240859A1 (en) | Automatic address setting system | |
CN110069290A (zh) | 一种多bmc的控制参数配置方法、系统及相关组件 | |
CN106055505B (zh) | 光模块及光模块中数据的传输方法 | |
CN210324188U (zh) | 一种集成电路总线iic主从竞争自动切换设备及其系统 | |
CN113259603A (zh) | 一种视频多功能一体化控制方法、装置、设备及存储介质 | |
CN102347878A (zh) | 一种多点通信系统、方法及设备 | |
CN102201959A (zh) | 基板管理控制器的网络接口系统 | |
CN108388228B (zh) | 一种针对多通道嵌入式控制系统的同步调试方法和装置 | |
CN112859660B (zh) | 一种设备同步控制方法、装置、终端及系统 | |
CN113250944B (zh) | 一种基于主从控制系统的控制方法及水泵控制系统 | |
CN109347207A (zh) | 一种基于变电站的远动机状态监测装置及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160824 |
|
RJ01 | Rejection of invention patent application after publication |