本发明涉及汽车领域,具体涉及一种指针拖影显示方法。
背景技术:
随着显示技术的发展,越来越多的汽车厂商不再使用通过步进电机驱动指针转动的传统的指针仪表,而是转向全数字仪表,即整个组合仪表为一块显示屏,其中的指针为显示屏上显示的指针,通过程序控制实现指针的转动。
为了增强指针的显示效果,供应商提供的组合仪表,例如带有拖影的指针,如图1所示,指针p从旋转起点p1顺时针向旋转终点p2旋转,指针p旋转经过的环状区域r1显示拖影,而指针p未旋转到的环状区域r2不显示拖影。
这种指针采用一整块vram区域来实现指针拖影效果,也就是说拖影占用的面积有多大就需要分配相应大小的vram作为存储空间,即
vram=2a*2a*c*2,
其中2a为显示屏上包含指针的部分的边长,c为色彩深度。
此外,为了保证指针移动的流畅性,指针刷新频率需要保持在60hz,总线带宽:
b=2a*2a*c*60。
这种方案需要占用较多vram或者高速sdram来实现指针拖影效果,同时需要消耗较多总线带宽,对于低性能的mcu难以实现显示区域较大的指针的拖影效果。
技术实现要素:
针对现有技术中存在的问题,本发明要解决的问题是提供一种指针拖影显示方法,在每个更新周期内,根据获得的指针的数据,确定指针所处的区域为当前指针区域;如果上一更新周期的指针区域与当前指针区域不同,以更新图片的方式刷新上一更新周期的指针区域;根据指针的数据,重新绘制当前指针区域。采用这样的方式,避免对整个包含指针的区域进行重新绘制,减小运算量以及减小对高速ram的占用,且由于更新的数据量减小,相应减小占用的总线带宽,使得指针显示流畅。
本发明提供一种指针拖影显示方法,指针仪表包括控制器与显示屏,所述方法包括以下步骤:
-显示屏上包含指针的部分划分为2个或4个区域,指针能够从旋转起点依次经过所有区域到达旋转终点;
-在每个更新周期内,
o根据获得的指针的数据,确定指针所处的区域为当前指针区域apc;
o如果上一更新周期的指针区域apl与当前指针区域apc不同,以更新图片的方式刷新上一更新周期的指针区域apl;
o根据指针的数据,重新绘制当前指针区域apc;
o令上一更新周期的指针区域apl等于当前指针区域apc。
进一步地,如果上一更新周期的指针区域apl与当前指针区域apc相同,仅需根据指针的数据,重新绘制当前指针区域apc。
进一步地,控制器的存储器中预存有每个区域对应的指针拖影填充图片与指针拖影清除图片。
进一步地,如果上一更新周期的指针区域apl与当前指针区域apc不同,以更新图片的方式刷新上一更新周期的指针区域apl,包括以下步骤:
-如果上一更新周期的指针区域apl位于当前指针区域apc与旋转起点之间,以所述区域对应的指针拖影填充图片刷新上一更新周期的指针区域apl;
-如果上一更新周期的指针区域apl位于当前指针区域apc与旋转终点之间,以所述区域对应的指针拖影清除图片刷新上一更新周期的指针区域apl。
进一步地,控制器的存储器包括高速ram,重新绘制当前指针区域apc使用高速ram。
进一步地,控制器的存储器还包括低速ram,以更新图片的方式刷新上一更新周期的指针区域apl使用低速ram。
进一步地,显示屏上包含指针的部分为矩形。
进一步地,区域对称设置。
进一步地,区域大小相等或大小不等。
进一步地,以大于更新周期的周期刷新除当前指针区域apc以及以更新图片的方式刷新上一更新周期的指针区域apl以外的其他区域。
与现有技术相比,本发明提供的指针拖影显示方法,具有以下有益效果:在每个更新周期内,根据获得的指针的数据,确定指针所处的区域为当前指针区域;如果上一更新周期的指针区域与当前指针区域不同,以更新图片的方式刷新上一更新周期的指针区域;根据指针的数据,重新绘制当前指针区域。采用这样的方式,避免对整个包含指针的区域进行重新绘制,减小运算量以及减小对高速ram的占用,且由于更新的数据量减小,相应减小占用的总线带宽,使得指针显示流畅。
附图说明
图1是显示屏上显示的指针拖影的示意图;
图2是上一更新周期中指针位于区域sr1的示意图;
图3是当前更新周期中指针从图2所示的区域sr1旋转到区域sr2,区域sr1使用图片刷新的示意图;
图4是上一更新周期中指针位于区域sr3的示意图;
图5是当前更新周期中指针从图4所示的区域sr3旋转到区域sr2,区域sr3使用图片刷新的示意图;
图6是区域大小不等的示意图;
图7是划分为2个区域的示意图。
具体实施方式
如图1所示,数字仪表中的指针仪表为速度表,指针仪表包括控制器与显示屏,刻度范围为0-240公里/小时,p1为指针旋转起点,即0公里/小时;p2为指针旋转终点,即240公里/小时,当前车速为30公里/小时。
本发明的一个实施例的指针拖影显示方法,包括以下步骤:
-显示屏上包含指针的部分划分为4个区域sr1、sr2、sr3、sr4,指针p能够从旋转起点p1依次经过所有区域sr1、sr2、sr3、sr4到达旋转终点p2,如图2所示;
-在每个更新周期内,
o根据获得的指针p的数据,确定指针p所处的区域为当前指针区域apc;
o如果上一更新周期的指针区域apl与当前指针区域apc不同,以更新图片的方式刷新上一更新周期的指针区域apl;
o根据指针的数据,重新绘制当前指针区域apc;
o令上一更新周期的指针区域apl等于当前指针区域apc。
如图2所示,上一个更新周期中,指针p位于区域sr1:
上一更新周期的指针区域apl=区域sr1;
如图3所示,当前更新周期中,指针从图2所示的区域sr1旋转到区域sr2:
当前指针区域apc=区域sr2;
此时,上一更新周期的指针区域apl(区域sr1)与当前指针区域apc(区域sr2)不同,以图片sf1刷新上一更新周期的指针区域apl(区域sr1),重新绘制当前指针区域apc(区域sr2)。
控制器的存储器中预存有每个区域sri对应的指针拖影填充图片sfi与指针拖影清除图片sbi,例如区域sr1,预存有指针拖影填充图片sf1(参见图3)与指针拖影清除图片sb1。通过以图片sf1刷新上一更新周期的指针区域apl(区域sr1),能够快速刷新区域sr1。
再根据指针的数据,重新绘制当前指针区域apc(区域sr2),因此只有部分区域(整个区域的四分之一,a*a)需要重新绘制,避免对整个包含指针的区域进行重新绘制,减小运算量以及减小对高速ram的占用,且由于更新的数据量减小,相应减小占用的总线带宽,使得指针显示流畅。
如图4所示,上一个更新周期中,指针p位于区域sr3:
上一更新周期的指针区域apl=区域sr3;
如图5所示,指针从图4所示的区域sr3旋转到区域sr2:
当前指针区域apc=区域sr2;
此时,上一更新周期的指针区域apl(区域sr3)与当前指针区域apc(区域sr2)不同,以图片sb3刷新上一更新周期的指针区域apl(区域sr3)。
通过以图片sb3刷新上一更新周期的指针区域apl(区域sr3),能够快速刷新区域sr3,再根据指针的数据,重新绘制当前指针区域apc(区域sr2),因此只有部分区域(整个区域的四分之一,a*a)需要重新绘制。
如果上一更新周期的指针区域apl与当前指针区域apc相同,例如区域sr2,仅需根据指针的数据,重新绘制当前指针区域apc(区域sr2)。
控制器的存储器包括高速ram,片内ram比片外ram运行速度要快,但是片内ram有限,片外ram可以扩展。另外同样是片外ram,ddr2sdram的速度要比sdrsdram的快,ddr3sdram的速度要比ddr2sdram的快。
重新绘制当前指针区域apc使用高速ram,只有部分区域(整个区域的四分之一,a*a)需要重新绘制,占用的高速ram较少,相应地占用带宽也较少。
控制器的存储器还包括低速ram,例如sdram,sdram属于片外ram。
以更新图片的方式刷新上一更新周期的指针区域apl使用低速ram,进一步减少了对高速ram的占用。
显示屏上包含指针的部分一般为矩形,划分的区域对称设置。
以大于更新周期的周期刷新除当前指针区域apc以及以更新图片的方式刷新上一更新周期的指针区域apl以外的其他区域,即对于指针及其拖影的变化部分需要高刷新频率才能保证流畅,而拖影的未变化部分只需要低刷新频率,即以更长的刷新周期刷新。
本实施例中,划分的四个区域sr1、sr2、sr3、sr4的大小相等,在其他的实施例中,划分的区域也可以不相等,如图6所示,区域sr1与区域sr2大小不相等。
在另一个实施例中,如图7所示,显示屏上包含指针的部分也可以划分为两个区域sr1、sr2,通过减小重新绘制的区域,减小运算量以及减小对高速ram的占用。
虽然本发明已以较佳实施例披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内所作的各种更动与修改,均应纳入本发明的保护范围内,因此本发明的保护范围应当以权利要求所限定的范围为准。