又到了月更的时间了,翻了翻以前写的博客,发下fpga之4k图像处理中的时基矫正部分还没有写,本次就写这不分了。
首先说说什么叫时基矫正,为什么要进行时基矫正。
先来个简图吧,也好理解。
你可以把ddr想象成为一个大的fifo,实质上就是在处理图像的异步时钟为题,你可以这样的想以下,一般情况下,输入的时钟是由
串化器解串而来,输出的时钟是本地晶振产生,虽然你的输入和输出的时都有可能是148.5Mhz(高清),但是两个时钟毕竟不是同
一个,在长时间运行逻辑后,总会出现,输入的数据量或多或少,造成两种情况,输入时钟快就会让数据写的多,有益处,输入的
时钟慢,供小于求,输出会读空,因此就需要一种保护机制,维持这种输入和输出的平衡,这也就是时基矫正的由来。
时基矫正的实现方式。
在ddr内开8个buffer,相当于可以存8幅图像,如上图的方式,读和写之间永远隔着一个buffer,即在写buffer1时,可读的buffer
为3,4,5,6,7。内部逻辑需要增加相应的判断条件。
按目前的情况分析:正在写1,正在读3,而此时1写完,后需要写2,判断逻辑判断出读为3,则不能写2,重新在写一遍1,直到
读由3变为4时才可继续写2,读情况类似,由于视频刷新很快,短时间的丢帧和补帧,对观看者完全没有影响。
大家有不明白的欢迎交流。