摘要: 一种多功能的屏幕显示(OSD)视频发生器,用于安全摄像机监控系统,支持在视频输出通道上插入图形和文本。OSD视频生成器实现了最佳的更新速率和平滑的显示信息之间的过渡。
在任何屏幕视频显示系统或字符生成器中,在改变显示信息时提供平滑过渡是可取的。显示时间和日期的应用程序需要在帧之间更新,以获得明确的记录。MAX4455屏幕上任意图形显示生成器能够实现这些目标,但设计人员需要考虑在编程许多像素时可能发生的大量数据传输。本文提供了确保基于max4455的OSD系统具有最佳图形更新速率的方法。
基于MAX4455的显示系统的数字部分由微控制器(主机处理器)、SDRAM存储器和MAX4455组成,MAX4455充当主机和存储器之间的接口。图1说明了这一点。
图1所示。MAX4455键接口信号。
需要显示的图形数据包含在SDRAM内存中。8个通道的数据组织是通过每个通道512 × 1024 × 4的逻辑块,每个通道总共2Mbits,所有8个通道总共16Mbits。对于NTSC和PAL视频格式,显示器上的可见像素映射到内存的方式是不同的。对于NTSC,一个维度的512位中的484位用于表示484条可见的视频水平扫描线,另一个维度的1024位中的712位用于表示每行可见的总水平像素。对于PAL格式,所有512位用于表示512条视频水平扫描线,与NTSC格式相同,每条线分辨率为712个可见水平像素。在这两种格式中,每个像素都有一个4位分辨率来表示亮度。
SDRAM内存和主机处理器之间的接口是通过MAX4455。用于内存的数据首先写入MAX4455。然后,MAX4455将这些数据写入外部SDRAM。如果通道的显示已启用(未禁用),MAX4455从外部SDRAM中的适当位置读取数据,处理数据,并在OSDKEY上呈现OSDFIL的相应级别和相关时序,以通过外部快速MUX驱动和控制插入。该存储器读取序列在视频信号的活动部分期间连续操作。由于MAX4455与传入视频同步,因此相对于主机处理器时钟,内存读取周期本质上是异步的。
通过将地址写入地址寄存器并将数据写入数据寄存器,然后将数据写入MAX4455中的命令寄存器以执行向(从)内存的写(或读)操作,从SDRAM写入和读取数据。上电后,MAX4455自动将零值写入外部存储器中的所有可寻址位置。
主控制器和MAX4455之间的接口是由8条数据/地址线(AD0-AD7)组成的并行总线,具有单独的地址/数据(ADDR/ data)、读(RD)、写(WR)、芯片选择(CS)和就绪/忙(RDY/BSY)控制线。
MAX4455的图形更新速率受以下因素影响:
图形的大小。
微控制器I/O速度。
使用空白控制功能。
RDY/BSY控制线的监控。
使用自动增量,多写和共享内存功能。
创建图形的策略。
这些问题都不同程度地影响着MAX4455的图形更新速度。它们大致按其影响顺序排列。表1显示了不同条件下的不同更新时间。在电子表格中分析的变量是:图形大小、处理器I/O速度、空白的使用和自动增量。从表中可以看到,使用最小的图形、最快的处理器以及使用空白和自动增量,可以实现最快的更新速率。还显示了每个条件下视频水平线和垂直字段的等效数量。这对于确定更新速率的视觉影响非常有用。在20条水平线内发生的变化是不可见的,因为这是垂直空白间隔的时间。在少于2个视场(单个视频帧)内发生的单个图形变化通常是难以察觉的。换句话说,人眼与大脑的结合通常无法感知比一个视频帧的时间周期短的非重复事件。
表1中的时间是根据以下假设计算的。
自动增量模式-所有通道被清空
2byte状态+每行6字节(QPLH+QPLL+QPHORIZ) +每四个像素6字节(QPH+QPL+COMMAND)
单独的地址模式-所有的通道都是空的
2字节状态+ 6字节每四个像素(QPLH+QPLL+QPHORIZ) + 6字节每四个像素(QPH+QPL+命令)
注意:QPLH, QPLL, QPHORIZ, QPH, QPL, COMMAND是MAX4455的内部寄存器,与SDRAM的写入和读取有关。
公式和表1中的值不包括检查RDY/BSY信号状态的时间,以及处理器准备数据所需的任何计算时间。
通道启用时所需的时间是通过使用上述公式计算的,然后为每个扫描线添加活动视频时间。
图2中的图表使用了表1中的数据,绘制了执行更新所需时间与需要写入内存的像素数的关系图。所绘制的数据是针对所有信道都为空的单个地址模式。三条不同的线表示三种不同的处理器I/O速度。
图2。MAX4455更新时间与像素数的关系(单个地址模式,所有通道均为空白)。
现在,我们将仔细研究影响更新速度的每个问题。
显然,较大的图形包含更多的像素,这意味着必须写入更多的数据。一个简单的建议是使图形尽可能小,以实现最快的更新速度,即在文本显示的情况下使用较小的字体。图形大小的增加导致像素数量按比例增加。例如:给定图形的两个维度增加2倍会导致像素数量增加4倍。
从表1可以看出,微控制器的速度对图形更新速率有直接影响。重要的是要注意,关键参数是与MAX4455通信的I/O端口的速度,而不是处理器时钟速度。在许多处理器中,从I/O端口写入或读取需要多个时钟周期。
由通道状态寄存器中的一位控制的BLANK功能允许处理器在每个通道的基础上启用或禁用OSD输出。当单个通道被禁用(禁用)时,OSDFIL和OSDKEY输出将处于非活动状态,但更重要的是,该通道的数据将被挂起。这就释放了供主机处理器使用的内存访问带宽。使用BLANK功能可以将更新速率提高约两倍。使用BLANK功能的一个关键权衡是在OSD显示上有闪烁的可能性。这种情况发生在频道长时间处于空白状态时。如果在随机基础上出现少于一帧的消隐时间,则不会引起注意。根据消隐的重复频率,任何重复的消隐可能是明显的,并且可能被视为令人反感的闪烁。实现无感知闪烁的平滑显示的精确消隐率取决于许多与系统相关的因素,其中最重要的是人的感知。每个系统设计都应该根据期望的视觉性能进行评估和优化。
MAX4455的RDY/BSY输出向处理器发出信号,表明MAX4455已准备好接受用于SDRAM存储器的另一个地址或数据。这里有必要重申一下,这个信号与主机处理器是异步的,它的断言或反断言是无法预测的。使用此输出的唯一合理方法是让主机连续监视它,通常通过配置为处理器中断的I/O。
RDY/BSY信号最初在上电时断言,即使MAX4455不断从内存中取出。主机将地址和数据值写入QPH、QPL、QPHORIZ、QPLINEH、QPLINEL寄存器。一旦在命令寄存器中设置了写位,MAX4455就会检查内存接口的可用性。如果接口可用,MAX4455将值写入内存。如果接口不可用,MAX4455解除RDY/BSY的断言,然后等待在下一个可用的时隙写入。一旦写入值,它就会断言RDY/BSY信号。
由通道状态寄存器中的单个比特控制的自动增量功能,在将顺序位置写入存储器时使用,这些位置表示显示器上的水平线或垂直线。设置通道状态中的VINC位后,每次读写操作后,垂直地址自动递增。同样,当通道状态寄存器中的HINC位被设置时;水平地址在每次读或写操作后自动增加到下一个四像素的位置。通过这种方式,可以写入连续的数据而不必写入相应的地址,从而提高了更新速率。
由MWRITE命令寄存器控制的多写功能可用于在同一位置的两个或多个通道上显示完全相同的图形的特殊情况。应该接收相同数据的通道通过在MWRITE寄存器中设置适当的位来选择。设置好这些位后,MAX4455通过主机处理器的一个写命令自动将相同的数据写入所选通道的相应内存位置。与分别写入每个通道相比,使用多写命令将提高更新速率,还可以减轻处理器的负担。
由一组寄存器控制的共享内存功能也可用于在多个通道上显示相同的确切数据的特殊情况。通过指定应该与多达三个其他指定通道共享的一个通道部分的开始行和结束行,必须更新的像素数量可以减少四倍。偶数通道可以与偶数通道共享,奇数通道可以与奇数通道共享。此函数的限制是必须共享整条线,而不是单个像素。在极端情况下,可以在四对唯一通道之间共享信息,或者在所有八个通道上共享相同的信息。
大多数图形图像都有一定数量的空间冗余,或者至少是重复出现的模式。通过精心制作绘制图形的序列,可以减少在任何时候必须更改的像素总数。以一个纯色背景的菜单为例,它占据了整个屏幕。首先利用自动增量功能填充整个背景,然后单独更改与菜单项相关的像素,这样更有效。
除了自动增量之外,软件还可以利用MAX4455上寄存器内容的静态特性。通过首先将地址和数据写入MAX4455的寄存器,将数据写入SDRAM内存。软件例程可以利用这些寄存器中的数据是静态的这一事实,即在用户向该寄存器写入新数据之前,给定寄存器中的数据不会改变。如果数据在一系列像素中没有改变,则不必再次写入,直到需要改变亮度。
在显示文本字符串时可以进行另一个改进。以时间戳为例。如果选择表示数字的字体为等间距字体,而不是比例字体,则可以在不更改整个文本字符串的情况下更新单个字符。
MAX4455是一个非常通用和灵活的屏幕显示发生器。用户可以利用本文中包含的技巧和技术来实现最佳的更新速度,并获得平滑和专业的图形。
社群二维码
关注“华强商城“微信公众号
Copyright 2010-2023 hqbuy.com,Inc.All right reserved. 服务热线:400-830-6691 粤ICP备05106676号 经营许可证:粤B2-20210308