关于DVD防震理论研究
(作者:吴军 中国深圳)
Email:loof_lripa@163.com QQ:182515905
DVD、VCD等等数字影音系统,大体上是分为以下几个大的步骤:光碟数字信号的读取、信号的解码(一般用MEPG解码方式)、通过控制芯片(分配视频音频信号)、视频音频信号的输出。
市场上的DVD、VCD,多数采取的是实时信号的采集,实时输出。这样做,采集来的信号就直接显示到屏幕上。如果有一点的震动,光头读不到信号,那么控制信号就没有被实时处理,这就导致了卡机、停顿的现象产生。就我所了解的只有某个国内著名品牌能够做到很好的抗震,很多品牌的DVD、VCD都做不到。
现提出一个解决方案,来解决这个抗震问题。
首先,机械防震是一个重要的环节。更重要的是采用电子硬件防震。
电子防震,就要首先评估一下防震的抖动时间,抖动时间短,起不到很好的抗震效果;抖动时间长,抗震效果很好,但是成本很高。
假设我们评估出的抗震时间为T,控制芯片的采样频率为W,那么我们就需要一个T*W大小的寄存器来存数据,就可以解决这个震动问题。
寄存器的选型:首先,寄存器必须是T*W容量的寄存器,而且信号的读取必须是先进先出,那么,用一个现有的芯片FIFO就完全可以解决了。
FIFO 是一个首字母缩略词为 先进,先出。这个表示描述队列的原则: 先进来的信号首先处理。第一代FIFO存储器是基于“导向”理论的,数据从输入端被移到输出端,所需要的时间称为导向时间。
以长度为8的FIFO为例说明其工作原理。入图所示
____________________
D, C, B, A ——> | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8|———>
两边的箭头表示数据移动的方向。A,B,C,D表示被处理的数据。1,2,3,4,。。。8表示FIFO的8个存储单元。表明这个FIFO中共有8个寄存器单元。每个寄存器单元可以存储一个数据。所以寄存器的单元越多,FIFO的存储能力就越强。每个寄存器单元的位宽与FIFO的输入和输出端的位宽是一致的。如果要处理的数据A,B,C,D是16位的数据,那么输入输出端及每个寄存器单元的位宽就都是16位。这个FIFO可以命名为8X16FIFO。它在每一个时钟上升沿到来时,数据向右移动一个存储单元。这样在时钟的控制下,数据从左到右通过存储单元
FIFO通常是双端口的存储器,其中一个端口用于写入数据,而另一个端口用于读出数据。可以同时对存储器字存储单元进行写入和读出操作。它的数据吞吐率是普通RAM的两倍。
FIFO型的存储器不需要由地址来存取数据。需要由另外的信号线(或标志)来指明存储器的内容状态。
现在的FIFO存储器采用SRAM单元来实现。它是基于带两个指针的环行FIFO结构的。要写入的数据的存储地址放在写指针中,而FIFO结构中要读出的第一个数据的地址放在读指针中
在复位后,两个指针都指向存储器的同一个字单元。每次写操作后,写指针指向下一个存储单元。对数据字的读取操作,会把读指针指向下一个要读取的数据字
读指针就不断地跟随写指针,当读指针跟上写指针后,FIFO的结构里面为空。
如果写指针追上读指针,FIFO结构里面的数据是满载的。
如果从硬件上来实现循环存储器,可以用双端口的SRAM来存取数据。指针具用二进制计数器的特征,它用于产生SRAM的存储器地址
同步FIFO存储器的基本结构包括存储器阵列,标志逻辑和扩展逻辑(图太难画了,就不贴了)。
存储器阵列由双端口存储单元构成。允许同时对存储单元的两个端口(读端口和写端口)进行存取。
标志逻辑用于比较两个地址指针的值,如果两个值的比较结果为零,FIFO存储器为全空,同时全空标志为真。如果两个值的比较结果等于存储器的容量深度,说明存储器全满,同时全满标志为真。
在一定的采样频率下,导向时间大于或者等于抗震时间就基本上可以防震了。
总结如下,如果要达到时间为T的防震,那么增加一个W*T的(假设采样频率为W)FIFO在解码芯片和控制芯片之间就可以解决抗震问题了。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。