掌桥专利:专业的专利平台
掌桥专利
首页

一种用于区域调光的VSYNC信号处理装置和方法、电子设备

文献发布时间:2023-06-19 18:37:28


一种用于区域调光的VSYNC信号处理装置和方法、电子设备

技术领域

本发明涉及区域调光技术领域,尤其涉及一种用于区域调光的VSYNC信号处理装置和方法、电子设备。

背景技术

垂直同步(Vertical synchronization,简称为VSYNC)信号,也称为场同步信号,在区域调光背光应用中由SOC或者TCON给出,用于一帧画面切换时同步更新背光亮度。VSYNC信号不稳定或者接收端响应不实时会导致背光闪烁,影响画面观感。

现有技术主要使用以下方法处理接收到的系统VSYNC信号:

1、接收端MCU仅使能GPIO上升、下降边沿触发,通过另一路GPIO输出跟随信号。

2、MCU上电初始化时测试接收到的VSYNC信号,计算占空比和频率,再以固定的参数设置定时器独立输出一路VSYNC信号到驱动芯片。

现有技术存在以下问题:

1、无法用硬件测量计算VSYNC信号频率和占空比,无法应对系统VSYNC信号丢失的情况。

2、随着时间累计,独立给到驱动芯片的VSYNC信号会和系统VSYNC信号失去同步性,系统VSYNC信号变化时,及时响应性差。

目前,针对相关技术中存在的无法用硬件测量计算VSYNC信号频率和占空比,无法应对系统VSYNC信号丢失的情况的问题,尚未提出有效的解决方案。

发明内容

本公开的目的是针对现有技术中的不足,提供一种用于区域调光的VSYNC信号处理装置、方法、电子设备和计算机可读存储介质,以至少解决相关技术中无法用硬件测量计算VSYNC信号频率和占空比,无法应对系统VSYNC信号丢失的情况的问题。

根据本公开的一方面,提供了一种用于区域调光的VSYNC信号处理装置,包括:

第一定时器,包括第一输入通道和第二输入通道,其中,VSYNC输入信号被所述第一输入通道在所述VSYNC输入信号的上升沿捕获,并触发第一中断任务;所述VSYNC输入信号被所述第二输入通道在所述VSYNC输入信号的下降沿捕获,并触发第二中断任务;

单片机,与所述第一定时器相连接,所述单片机在处理所述第一中断任务时拉高输出VSYNC输出信号的第一GPIO,控制所述第一定时器重置计数,并在满足预设条件时计算所述VSYNC输入信号的占空比和频率;所述单片机在处理所述第二中断任务时拉低所述第一GPIO。

根据本公开的另一方面,提供了一种用于区域调光的VSYNC信号处理方法,包括:

判断是否检测到VSYNC输入信号;

若检测到所述VSYNC输入信号,在检测到所述VSYNC输入信号的上升沿触发的第一中断任务时,控制第一定时器重置计数,并判断是否满足预设条件,若满足所述预设条件则计算所述VSYNC输入信号的占空比和频率,并拉高输出VSYNC输出信号的GPIO;若不满足所述预设条件则直接拉高输出所述VSYNC输出信号的GPIO;

在检测到所述VSYNC输入信号的下降沿触发的第二中断任务时,拉低输出所述VSYNC输出信号的GPIO。

根据本公开的另一方面,提供了一种电子设备,包括:

处理器;以及

存储程序的存储器,

其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行本公开中的所述用于区域调光的VSYNC信号处理方法。

根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本公开中的所述用于区域调光的VSYNC信号处理方法。

本公开实施例中提供的一个或多个技术方案,通过使用第一定时器,VSYNC输入信号被第一定时器的第一输入通道上升沿捕获,并触发第一中断任务;被所述第二输入通道在下降沿捕获,并触发第二中断任务,然后通过单片机处理第一中断任务时拉高输出VSYNC输出信号的第一GPIO,控制第一定时器重置计数,并在满足预设条件时计算所述VSYNC输入信号的占空比和频率;在处理第二中断任务时拉低所述第一GPIO,可以解决相关技术中无法用硬件测量计算VSYNC信号频率和占空比,无法应对系统VSYNC信号丢失的情况的问题,实现使用硬件定时器测量VSYNC信号参数又能实时跟随,响应快,可靠性好的效果。

附图说明

在下面结合附图对于示例性实施例的描述中,本公开的更多细节、特征和优点被公开,在附图中:

图1示出了根据本公开示例性实施例的用于区域调光的VSYNC信号处理装置的示意图;

图2示出了根据本公开示例性实施例的用于区域调光的VSYNC信号处理方法的流程图;

图3示出了根据本公开优选实施例的用于区域调光的VSYNC信号处理方法的流程图;

图4示出了能够用于实现本公开的实施例的示例性电子设备的结构框图。

具体实施方式

下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。

应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。

本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。

需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。

本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。

以下参照附图描述本公开的方案。

本公开示例性实施例提供了一种用于区域调光的VSYNC信号处理装置。

图1示出了根据本公开示例性实施例的用于区域调光的VSYNC信号处理装置的示意图,如图1所示,该装置可以包括:

第一定时器(即图1所示的定时器1),包括第一输入通道(即图1所示的输入通道1)和第二输入通道(即图1所示的输入通道2),其中,片上系统SOC输出的VSYNC输入信号通过GPIO In被所述第一输入通道在所述VSYNC输入信号的上升沿捕获,并触发第一中断任务;所述VSYNC输入信号被所述第二输入通道在所述VSYNC输入信号的下降沿捕获,并触发第二中断任务。

单片机(即图1所示的MCU CORE),与所述第一定时器相连接,所述单片机在处理所述第一中断任务时拉高输出VSYNC输出信号的第一GPIO(即图1所示的GPIO Out),控制所述第一定时器重置计数,并在满足预设条件时计算所述VSYNC输入信号的占空比和频率;所述单片机在处理所述第二中断任务时拉低所述第一GPIO。

第二定时器(即图1所示的定时器2),与所述单片机相连接,其中,在超过预设时间未检测到所述VSYNC输入信号时所述第一定时器触发溢出中断任务,所述单片机处理所述溢出中断任务控制所述第二定时器以上一次的占空比和频率对所述VSYNC输出信号进行脉宽调制。

如图1所示,该用于区域调光的VSYNC信号处理装置的第一GPIO(即图1所示的GPIOOut),与驱动芯片相连接,用于输出所述VSYNC输出信号;第二GPIO即图1所示的GPIO In),与系统级芯片相连接,用于接收所述VSYNC输入信号。

本公开示例性实施例提供了一种用于区域调光的VSYNC信号处理方法。图2示出了根据本公开示例性实施例的用于区域调光的VSYNC信号处理方法的流程图,如图2所示,该方法包括如下步骤:

步骤S201,判断是否检测到VSYNC输入信号;

步骤S202,若检测到所述VSYNC输入信号,在检测到所述VSYNC输入信号的上升沿触发的第一中断任务时,控制第一定时器重置计数,并判断是否满足预设条件,若满足所述预设条件则计算所述VSYNC输入信号的占空比和频率,并拉高输出VSYNC输出信号的GPIO;若不满足所述预设条件则直接拉高输出所述VSYNC输出信号的GPIO;

步骤S203,在检测到所述VSYNC输入信号的下降沿触发的第二中断任务时,拉低输出所述VSYNC输出信号的GPIO。

通过上述步骤,使用硬件定时器,完成配置后无需软件主动干预,既能测量VSYNC参数又能实时跟随,响应快,可靠性好。解决了相关技术中无法用硬件测量计算VSYNC信号频率和占空比,无法应对系统VSYNC信号丢失的情况的问题。

在其中一些实施例中,所述判断是否满足预设条件包括:

判断是否是首次检测到所述VSYNC输入信号的上升沿触发的所述第一中断任务;

若是首次检测到所述VSYNC输入信号的上升沿触发的所述第一中断任务,则确定满足所述预设条件;

若不是首次检测到所述VSYNC输入信号的上升沿触发的所述第一中断任务,则判断所述VSYNC输入信号的当前参数与上一次记录的所述VSYNC输入信号的历史参数之间的差异值是否超过目标阈值;

若所述VSYNC输入信号的当前参数与上一次记录的所述VSYNC输入信号的历史参数之间的差异值超过所述目标阈值,则确定满足所述预设条件;

若所述VSYNC输入信号的当前参数与上一次记录的所述VSYNC输入信号的历史参数之间的差异值未超过所述目标阈值,则确定不满足所述预设条件。

需要说明的是,首先系统VSYNC输入信号会被第一定时器的两个输入通道第一输入通道和第二输入通道分别在信号上升沿、下降沿捕获,并触发捕获事件中断。第一定时器设置为Restart模式计数,在下一个上升沿重置计数。

单片机在处理第一输入通道(上升沿)的第一中断任务时,首先拉高与驱动芯片的VSYNC输出信号对应的GPIO,同时第一定时器重置计数。而第一输入通道和第二输入通道相关寄存器会保留捕获到的VSYNC输入信号高、低电平时间,用于计算系统VSYNC输入信号的频率和占空比。

第一定时器第二输入通道(下降沿)的第二中断任务比较简单,单片机仅拉低与驱动芯片的VSYNC输出信号对应的GPIO,这样就完成一次VSYNC信号的参数计算和实时跟随。

考虑到单片机MCU的性能,并不是每一次都需要计算VSYNC输入信号的占空比和频率,只要在上电初始化时完整地测量一次并记录,在后续阶段,只有MCU定时器记录的实时当前数据和MCU保留的历史数据之间的差异超出阈值时,才需要重新计算,否则只需简单地拉高拉低GPIO去跟随系统VSYNC输入信号。阈值的选取,需在系统SOC逐渐变化时根据主观评价判断背光是否有闪烁来调整。

在其中一些实施例中,在判断是否检测到VSYNC输入信号之后,还可以包括:

在超过预设时间未检测到所述VSYNC输入信号时,控制第二定时器以上一次的占空比和频率对所述VSYNC输出信号进行脉宽调制。

需要说明的是,第一定时器同时还开启更新(溢出)中断,MCU通过测量出的系统VSYNC输入信号的频率及时、合理调整第一定时器自动重载值,具体做法是:VSYNC输入信号频率更新后,通过新的VSYNC输入信号的频率计算周期,然后由第一定时器的时钟频率再折算出新的自动重载值,第一定时器计数达到这个自动重载值所需的时间需比新VSYNC输入信号的周期稍长10%~20%,避免误判超时,这样在系统VSYNC输入信号无上升、下降触发之后可以触发第一定时器溢出中断,于是做到系统VSYNC输入信号超时或丢失一帧信息后迅速响应,开启第二定时器的PWM输出功能,以之前系统VSYNC输入信号的频率和占空比输出PWM。当第一定时器再次检测到系统VSYNC输入信号后关闭第二定时器,从而保证背光的稳定,防止闪烁。

在其中一些实施例中,在检测到所述VSYNC输入信号之后,还包括:

判断初始化时提供的初始化VSYNC信号是否有效;

若所述初始化VSYNC信号有效,则关闭所述初始化VSYNC信号后判断所述第一定时器的溢出中断是否开启;若所述初始化VSYNC信号无效,则直接判断所述第一定时器的溢出中断是否开启;

若所述第一定时器的溢出中断未开启,则开启所述第一定时器的溢出中断后判断是否检测到所述VSYNC输入信号的上升沿触发的所述第一中断任务;

若所述第一定时器的溢出中断已开启,则直接判断是否检测到所述VSYNC输入信号的上升沿触发的所述第一中断任务。

下面通过优选实施例对本申请实施例进行描述和说明。

图3示出了根据本公开优选实施例的用于区域调光的VSYNC信号处理方法的流程图,如图3所示,该方法包括以下步骤:

步骤S301,初始化时MCU自提供初始的VSYNC信号;此处的MCU即为单片机,初始的VSYNC信号即为VSYNC输入信号;

步骤S302,系统VSYNC正常输入时,判断是否捕获到VSYNC信号;若是则执行步骤S303,若否则执行步骤S317;

步骤S303,判断MCU自提供的VSYNC是否仍有效;若是则执行步骤S304;若否则执行步骤S305;

步骤S304,关闭自提供的VSYNC;

步骤S305,判断定时器1(即本公开实施例中的第一定时器)溢出中断是否开启;若否则执行步骤S306;若是则执行步骤S307;

步骤S306,使能定时器1溢出中断;

步骤S307,判断是否捕获到上升沿触发;若否则执行步骤S308;若是则执行步骤S309;

步骤S308,拉低MCU输出VSYNC的GPIO,然后等待触发事件;

步骤S309,重置定时器1;

步骤S310,判断是否是首次触发捕获事件;若是则执行步骤S311;若否则执行步骤S313;

步骤S311,计算系统VSYNC的频率和占空比,并在MCU中保留备份;

步骤S312,重载定时器1计数值;

步骤S313,判断与旧数据相比差异是否超过阈值;若是则执行步骤S311;若否则执行步骤S314;

步骤S314,拉高MCU输出VSYNC信号的GPIO,然后等待触发事件。

当系统VSYNC丢失时,执行步骤S315,判断定时器1是否计数溢出;若是则执行步骤S316;使能MCU定时器2(即本公开实施例中的第二定时器)输出相同参数的VSYNC,关闭定时器1溢出中断,然后执行步骤S317,保留上一次设置的VSYNC,然后等待触发事件。

本公开实施例通过MCU硬件定时器测量区域调光或者多分区动态背光应用中VSYNC信号频率和占空比、同时又能实时跟随输出VSYNC,并带超时后自提供相同参数的VSYNC信号保证背光稳定的功能,和在系统VSYNC恢复后还原跟随和测量的功能。

需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本公开示例性实施例还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。所述存储器存储有能够被所述至少一个处理器执行的计算机程序,所述计算机程序在被所述至少一个处理器执行时用于使所述电子设备执行根据本公开实施例的方法。

本公开示例性实施例还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法。

本公开示例性实施例还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法。

参考图4,现将描述可以作为本公开的服务器或客户端的电子设备400的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。

如图4所示,电子设备400包括计算单元401,其可以根据存储在只读存储器(ROM)402中的计算机程序或者从存储单元408加载到随机访问存储器(RAM)403中的计算机程序,来执行各种适当的动作和处理。在RAM 403中,还可存储设备400操作所需的各种程序和数据。计算单元401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。

电子设备400中的多个部件连接至I/O接口405,包括:输入单元406、输出单元407、存储单元408以及通信单元409。输入单元406可以是能向电子设备400输入信息的任何类型的设备,输入单元406可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元407可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元408可以包括但不限于磁盘、光盘。通信单元409允许电子设备400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。

计算单元401可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元401的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元401执行上文所描述的各个方法和处理。例如,在一些实施例中,用于区域调光的VSYNC信号处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元408。在一些实施例中,计算机程序的部分或者全部可以经由ROM 402和/或通信单元409而被载入和/或安装到电子设备400上。在一些实施例中,计算单元401可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行用于区域调光的VSYNC信号处理方法。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

如本公开使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。

技术分类

06120115637413