打印

DM6437 VPFE和VPBE的中断机制

[复制链接]
567|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Orchids|  楼主 | 2017-11-21 10:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
DM6437 VPFE和VPBE的中断机制


    VPFE和VPBE两者的中断,都是来源于VSYNC这个垂直同步信号。而这里的中断,往往就形成一套完整的缓冲机制,包括采集和显示。

在VPFE处,可以看到VINT0和VINT1等是在VSYNC的基础上的,记录HSYNC的个数后,才能产生一次中断,而VSYNC会直接锁存住直到下次才会修改。这也说明了采集在前中断在后。在VPFE初始化的时候,设定的采集存储缓冲区buffe[0],CCDC直接将数据读入到这个地址buffer[0]处。随后在中断里修改存储地址为buffer[1],但不会在这里生效。等待下次VSYNC到来时,使得地址buffer[1]生效,数据将存储到buffer[1]处。从而表明中断时设置了下一帧数据的存储地址,并在VSYNC时生效。当前采集的数据保存地址是在上一个中断设置的。


在VPBE处,VENC模块将会自动产生VSYNC(根据配置的输出制式NTSC或者PAL)表示新的一帧图像开始显示。在VPBE初始化时,设定了数据来源地址为buffer[0],经过VSYNC后有效锁存,此时会先将数据读入OSD,再输出到VENC。而此时产生的中断处设置读取数据的地址为buffe[1],将会在下一个VSYNC出现时锁存住,而成显示buffer[1]。从而表明了中断时设置下次要读取的数据地址但不立即生效,需要在当前帧结束时,下帧开始时有效。每隔一个VSYNC就会产生一个VENC中断。中断出现紧随着寄存器的更新而出现。即寄存器更新后立即出现VENC中断。



相关帖子

沙发
zhangmangui| | 2017-11-29 23:15 | 只看该作者
VPFE和VPBE是什么  怎么又降到视频去了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

697

主题

993

帖子

4

粉丝