首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
一种高效DSO波形显示算法的实现
来源:本站整理  作者:佚名  2011-09-04 21:17:15



    2.2 遮蔽分析
    遮蔽分析主要作用就是在两个通道同时工作的情况下,分析代表不同通道数据的直线段在绘图时互相的遮挡关系,以达到少画点的目的,这种会相互遮挡的直线段在液晶屏上的横坐标总是相同的。数据先进入的通道的优先级高即此通道的波形可以覆盖其他通道的波形。当代表不同通道的直线段在位置上有重合关系时,优先级高的线段覆盖优先级低的线段,这样可以避免重合部分的重复绘制。根据线段之间不同位置关系,遮蔽关系有6种:即(nlo>lo,nhi<hi),(nlo>lo,nhi>=hi,nlo<=hi),(nlo>-hi),(nlo<=lo,nhi<hi,nhi>=lo),(nlo<= lo,nhi>=hi),(nhi<lo)。其中:hi,lo分别代表高优先级线段的上、下端点值,nhi、nlo分别代表低优先级线段的上、下端点值。以nlo<lo,nhi>hi的情况为例说明遮蔽分析的原理如图4所示。图中1代表先入数据线段,2代表后入数据线段,其程序具体流程如下:获取先入数据的lo,hi,color,声明一个CLINE类型的指针变量pdline,判断是否还有其他通道数据,如果没有,则直接结束遮蔽分析(遮蔽分析在这种情况下无意义,它起到减少画点作用是两通道同时工作时);如果有另一通道工作,则处理之后线段被分为了三部分。其遮蔽后的效果如图5所示,最下面的线段2将作为链表头结点,成员值分别是pdline→lo=nlo,pdline→hi=lo-1,pdline→color=ncolor;线段1则成为第二结点,pdline→next→lo=lo,pdline→next→hi=hi,pdline→next→color=color;最上面的线段2为第三结点,pdline→next→next→lo= hi+1,pdline→next→next→hi=nhi,pdline→next→next→color=ncolor。链表的方向是由下至上的指向各线段的,这样可以简化清除和绘图分析,具体将在下文说明。可见,如果不进行遮蔽分析,当两个通道同时工作时,考虑到数据线段的优先级,线段绘制的先后顺序是先2后1,绘制线段的总长度为(nhi-nlo)+(hi-lo)。进行遮蔽分析后,线段绘制的顺序是由链表的指向性确定的,绘制线段总长度为nhi-nlo。

e.JPG


    2.3 清除和绘图分析
    在绘制新波形之前,总要先清除旧波形。一般的方法就是,将旧波形数据存于待清除波形列表中,通过画点函数将旧波形画成背景色,然后再绘制新波形,清除和绘图本质都是调用画点函数进行绘图。大多数情况下,待清除的波形和待绘制的波形都会有重合部分,如果通过一定的分析找到重合部分,重合部分不清除也不重新绘制,等同于少调用了两次画点函数,这就大幅缩短波形显示线程占用CPU的时间,特别是在示波器采样率较低,波形接近满屏的情况下,效果更加明显。
    p1,p2分别是指向待清除、绘制线段数据结构的CLINE类型指针,待清除和待绘制的直线段位置关系有6种:(p1→lo<p2→lo,p1→hi>p2 →hi),(p1→lo<p2→lo,p1→hi>=p2→lo,p1→hi<=p2→hi),(p1→lo>=p2→lo,p1→hi<=p2→hi,p1→hi>p2→lo),(p1→lo>=p2→lo,p1→hi<=p2→hi,p1→hi<=p2→lo),(p1→hi<p2→lo),(p1→lo>p2→hi)。以p1→lo<p2→lo,p1→hi>p2→hi的情况为例,如图5所示,说明分析的原理。如果p1或p2任一为空,则结束分析;若都不为空,则需要对链表进行插入操作,即将原待清除的线段分成两部分。令value= p1→hi,当待清除和待绘制线段的颜色相同时,p1→lo不变,p1→hi=p2→lo-1,p1→next→lo=p2→hi+1,p1→next→hi=vslue,由于重合部分颜色相同,故不清除也不用绘图,p2指向的结点被删除。当颜色不同时,p1→lo不变,p1→hi=p2→lo-1,p1→next→lo=p2→hi+1,p1→next→hi=value,重合部分颜色不同故此部分仍需绘制,p2→hi、p2→lo都不变。由于遮蔽分析使链表方向是自下而上的指向各个线段,故只需让p1或者p2中指向位置在下面线段的指针指向其下一结点即可,之后判断是否符合循环条件。这样可以大大简化循环流程,假设清除线段和绘图线段各有三段,由于链表具有自下而上的指向性,则最多循环3次即可以完成分析;如果没有指向性,那么就至少需要循环3×3次才能完成分析。

f.JPG



    3 结语
    采样频率是衡量数字存储示波器示波器性能的重要指标,但如果显示算法不理想,即使采样频率较高也无法将采集的波形及时的显示在使用者面前。画点函数占用CPU时间较其他函数久,这会导致优先级低的任务长时间无法得到CPU的使用权。因此一种有效的波形显示算法对于提升示波器的性能同样是十分重要的。算法已在投产的示波器上得到很好的应用,有效解决了波形接近满屏情况下的拖屏现象,对于提升示波器的显示速度乃至整机性能有很大帮助。

上一页  [1] [2] [3] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:61,406.25000 毫秒