数据读写的乒乓操作

原创 2018年04月16日 09:56:34

数据读写的乒乓操作

文中一部分从其他博客中学习到,加入了自己实际应用的过程。
在重要数据的解帧与处理过程中,为了确保数据的实时性与可靠性,我们一般对收到的数据存储到芯片的RAM或Flash(掉电数据恢复)中进行处理,一般对内存的读写采用乒乓的方式读写。

列如Flash中空闲的两块Flash或RAM中两个不同的地址存储关键帧信息,
针对Flash 两个Bank为BankA 、BankB BankC and BankD;

BankA 与BankB 两块作为一对乒乓块,简称 P_1;

BankC和BankD 作为第二个乒乓块,简称 P_2;

乒乓操作的步骤:

1、将第 1 帧数据存入 P_2 中, 当 P_2 中完整的存储了第 1 帧图像数据后,然后进入乒乓操作。

2、将第 2 帧数据存入 P_1 , 同时从 P_2 中读取存储的第 1 帧数据。

此时共有3种状态

第 1 帧数据已经读取完毕,但是第 2 帧数据还没有存储完成

第 1 帧数据没有读取完成,但是第 2 帧数据已经存储完成

第 1 帧数据读取完成、第 2 帧数据存储完成

确保数据可靠我们可以采用校验+三模冗余等方法,在此之讨论乒乓数据流交互。
该怎么办呢?如何处理?总结如下

对于存储:只要一帧图像数据存储完成,则立刻切换到另一个乒乓块继续存储,而与是否读取完成无关。(因此如果存储的速度和读取的速度不相同,就会出现存储和读取位于同一个乒乓块,或者位于不同乒乓块)

对于读取:读取一帧数据完成后,只要存储数据和读取数据同时处于一个乒乓块,则切换到另一个乒乓块继续进行读取,否则不切换,继续在原乒乓块进行读取。

每次只能操作一个命令,存储和读取需要交替进行,否则会给 数据外部的缓存fifo或者ram造成很大的压力,因此进行设计的时候需要对读写进行优先级的判断

读请求和写请求不是同时的,则是什么请求就执行什么请求

如果读请求和写请求是同时的,则就要看上一次的状态,上一次是读,则执行写,上一次是写则执行读。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_15100379/article/details/79956750

C语言系列之 链表与相关操作

清华大学尹成老师、微软全球最具价值专家,带你步入 C 语言的殿堂,讲课生动风趣、深入浅出,全套视频内容充实,整个教程以 C 语言为核心,完整精彩的演练了数据结构、算法、设计模式、数据库、大数据高并发检索、文件重定向、多线程同步、进程通讯、黑客劫持技术、网络安全、加密解密,以及各种精彩的小项目等,非常适合大家学习!
  • 2015年06月26日 11:26

数据读写的乒乓操作

数据读写的乒乓操作 文中一部分从其他博客中学习到,加入了自己实际应用的过程。 在重要数据的解帧与处理过程中,为了确保数据的实时性与可靠性,我们一般对收到的数据存储到芯片的RAM或Flash(掉电数...
  • qq_15100379
  • qq_15100379
  • 2018-04-16 09:56:34
  • 51

FPGA乒乓操作

乒乓操作是一个主要用于数据流控制的处理技巧,典型的乒乓操作如图1所示。 图1 乒乓操作...
  • yundanfengqing_nuc
  • yundanfengqing_nuc
  • 2016-10-18 17:06:56
  • 1449

我做的打乒乓游戏程序:

   在去年学汇编的时候,因为学到了中断处理,就拿int 10h在640x480的全屏模式下写了一个在屏幕上弹来弹去的小方块,因为当时不知道画圆算法。写了一会我就想可以把这个程序做成一个打乒乓球的游戏...
  • anyue417
  • anyue417
  • 2006-06-02 13:59:00
  • 1204

c语言简单小游戏(模拟魔塔)

c语言简单小游戏
  • dive_shallow
  • dive_shallow
  • 2017-10-17 11:14:46
  • 263

<em>C语言</em>程序源代码(大集合).rar

树<em>操作</em> 051 二项式系数递归 052 背包问题 053 顺序表插入和删除 054 链表<em>操作</em>(...<em>C语言</em>例程:<em>乒乓球</em>游戏机 立即下载 上传者: qq_40312868 时间: 2018-04-09 ...
  • 2018年04月23日 00:00

C#mssql<em>操作</em>代码

<em>乒乓操作</em>verilog代码,核心 立即下载 上传者: rh291319261 时间: 2015-05-25 ...P、V操作(<em>C语言</em>编写程序) 立即下载 上传者: mierqian 时间: 2011-12-18 ...
  • 2018年04月03日 00:00

内存乒乓缓存机制和消息分发机制的C代码实现

//**************************************************** //*内存乒乓 BUFF 机制 //*算法是,1 Buff ->write,1 Buf...
  • lifan_3a
  • lifan_3a
  • 2012-12-27 19:09:59
  • 1251

FPGA的SDRAM操作

http://www.cnblogs.com/zhongguo135/archive/2012/09/05/2671573.html
  • litao31415
  • litao31415
  • 2016-12-18 20:13:59
  • 254

c语言:输出(Welcome??)和(Welcome\?\?)

程序1:#includestdio.h>int main(){  printf("(Welcome??)");   return 0;}结果:(Welcome]               Press...
  • yanxiaolx
  • yanxiaolx
  • 2016-05-29 13:35:32
  • 192
收藏助手
不良信息举报
您举报文章:数据读写的乒乓操作
举报原因:
原因补充:

(最多只允许输入30个字)