1)乒乓操作的问题就是为了解决数据读写速度不一致的问题,即写慢读快或者写快读慢的问题。即输入的数据速度很快,输出的数据速度很慢,为了保证数据的稳定性使用乒乓操作就可以解决这种问题。


(资料图片)

2)乒乓操作主要是应用于两种情况:第一种就是写入和读出数据都是连续的传输的情况,比如视频数据输入和输出,另外一种情况就是只有一端是连续数据的情况,另一端的数据是非连续的,比如数据的缓存和采集。

(1)视频数据缓存的乒乓操作

1)视频数据采集的乒乓操作,读写的通道数据都是连续的

2)为了保证视频数据的连续性,会存在重复读取数据或者重复写入数据的情况

3)速度快的迁就速度慢的,即快的一方,重复操作。

4)为了保证乒乓操作就必须在慢的一方设置一个标志位,需要只有标志位改变才可以进入下一个区域。

写慢读快-----重新读

只有写指针改变区域之后,标志才会改变。

即flag=1的时候重新读,flag等于0的时候,正常读取。

1)下面的区域为1,上面的区域为2,当写指针在区域1的时候flag设置为0,在二区域上设置1

2)当读指针到a1_addr的时候,判断此时的flag是否为0,为1则继续加,否则跳转到a0_addr

3)当读指针到a2_addr的时候,判断此时的flag是否为1,为0则继续加,否则跳转到a1_addr

4)即重复读取数据

写慢读快-----重新写

写快读慢就以读取为标准。

(2)基于数据采集的乒乓操作

1)基于数据采集的乒乓操作唯一的区别是不可以重复读取和写入

2)即速度快的一方先到了节点之后,需要等待速度慢的一方

3)例如在写慢读快的时候,区域1写完了,区域2开始写的时候,区域1开始读取,等到区域1读取完毕之后,这个时候区域2还在写,flag=1,所以这个时候不能读取了,必须等待区域2数据写完才可以操作,即很适合ADC采集,然后用以太网传输的模型。

(3)乒乓操作的优缺点

优点

1)可以将输入输出数据不同步的视频数据流连续的显示出来

2)可以使用低速的显示设备显示高速的摄像头数据(存在漏帧)

3)可以使用高速的显示设别显示低俗的摄像头数据(存在补帧)

缺点

1)需要双倍的存储空间,对内存需求更大

2)对于连续的采集数据,如果在传输中出现漏帧或者补帧是直接会导致数据出问题的

推荐阅读

更多 >

最近更新

更多 >