在实时显示时,为了保证画面显示的完整性需要对SDRAM进行乒乓操作。

SDRAM 中有 4 个bank ,地址分别为00 01 10 11,后面将用 0 1 2 3来描述

bank 0和1 作为第一个乒乓块,简称 P_1

bank 2和3 作为第二个乒乓块,简称 P_2

乒乓操作的步骤

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

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

此时共有3种状态

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

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

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

该怎么办呢?如何处理?总结如下

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

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


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

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

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

sdram之乒乓操作的更多相关文章

  1. FPGA之乒乓操作

    1.乒乓操作原理 乒乓操作是一个主要用于数据流控制的处理技巧,典型的乒乓操作如图所示: 外部输入数据流通过“输入数据选择控制”模块送入两个数据缓冲区中,数据缓冲模块可以为任何存储模块,比较常用的存储单 ...

  2. 【FPGA技巧篇一】FPGA设计的四种常用思想与技巧之一 :乒乓操作

    本文篇章将讨论一下的四种常用 FPGA 设计思想与技巧: 乒乓操作. 串并转换. 流水线操作. 数据接口同步化, 都是 FPGA 逻辑设计的内在规律的体现, 合理地采用这些设计思想能在FPGA设计工作 ...

  3. SDRAM单字写操作

    SDRAM单字写操作 1.单字写操作时序 2.写verilog程序体会 在初始状态,先写好跳转条件.If()....else... 3.通过仿顺序操作来实现连续写操作 首先完成单字写操作,然后跳转到下 ...

  4. FPGA SD 卡 之 乒乓操作 、同步fifo

    这里记录一个实际的需要使用乒乓操作的例子:读sd卡数据的时,在spi的模式下.发送单数据块的读取命令,在回应之后会有 512字节的数据.使用乒乓操作,可以用两个八位的寄存器,就可以完成连续的512字节 ...

  5. DMA缓冲区乒乓操作的处理

    http://www.51hei.com/bbs/dpj-141761-1.html https://blog.csdn.net/sunnydreamrain/article/details/8288 ...

  6. SDRAM的初始化与刷新操作---看时序图写代码

    SDRAM的初始化与刷新操作---看时序图写代码 1.SDRAM的常见操作 2.初始化就是配置SDRAM 3.SDRAM初始化时序 时序解释如下: 4.刷新操作

  7. 基于SDRAM的视频图像采集系统

    本文是在前面设计好的简易SDRAM控制器的基础上完善,逐步实现使用SDRAM存储视频流数据,实现视频图像采集系统,CMOS使用的是OV7725. SDRAM控制器的完善 1. 修改SDRAM的时钟到1 ...

  8. SDRAM和dcfifo的联合

    SDRAM和dcfifo的联合 设计原理 在"SDRAM突发读写页"实验中,留下了一个问题,就是从SDRAM读取数据的速度要与SDRAM的驱动时钟同步,这就造成了读出的数据的速率过 ...

  9. SDRAM读写一字(上)

    SDRAM读写一字 系统设计 SDRAM指令 指令 常量名 CKE CSn RAS CASn WEn 备注 空操作 NOP 1 0 1 1 1   行激活 ACTIVE 1 0 0 1 1   读操作 ...

随机推荐

  1. 如何提高mysql的安全性?

    1.如果 MySQL 客户端和服务器端的连接需要跨越并通过不可信任的网络,那么需要使用 ssh 隧道来加密该连接的通信.2.使用 set password 语句来修改用户的密码,先“mysql -u ...

  2. input的类型为number,限制输入的数字位数

    <input type="text"  maxlength="5" />   效果ok,当 <input type="number& ...

  3. List<T>转换为二维数组

    public <T> Object[][] toArrays(List<T> data){ Object[][] o=new Object[data.size()][20]; ...

  4. 网际协议 IP

    网际协议 网际协议(internet  protocol),简称IP; 概念:TCP/IP网络体系结构中网际层的协议.用以提供无连接的数据服务. 1.IP地址的概念及组成 概念:IP地址就是用来唯一标 ...

  5. Mac中Mysql开启远程访问(不同于linux直接改配置文件)

    在mac中安装Mysql Workbench 用root用户连上安装的Mysql.  开启远程访问的服务 如下图可以看到是root用户绑定的是localhost  如果不做修改的话,直接访问是访问不了 ...

  6. Wordpress网站中添加百度统计代码

    百度统计是流量分析平台,帮助收集网站访问数据,提供流量趋势.来源分析.转化跟踪.页面热力图.访问流等多种统计分析服务,同时与百度搜索.百度推广.云服务无缝结合,为网站的精细化运营决策提供数据支持,进而 ...

  7. 并排打印多个图案(C++实现)

    在练习循环控制语句时,经常会遇到一类问题:使用循环控制打印星号(*)来形成各种各样的图案,并强调所有的星号(*)都要用单条的输出语句cout<<"*";来打印. 例如打 ...

  8. IntelliJ IDEA 12 创建Web项目 教程 超详细版【转】

    IntelliJ IDEA 12 新版本发布 第一时间去官网看了下  黑色的主题 很给力 大体使用了下  对于一开始就是用eclipse的童鞋们 估计很难从eclipse中走出来 当然 我也很艰难的走 ...

  9. elasticsearch 5.x 系列之二 线程池的设置

    1,概述 每个Elasticsearch节点内部都维护着多个线程池,如index.search.get.bulk等,用户可以修改线程池的类型和大小,以及其他的比如reflesh, flush,warm ...

  10. Spring的注解@Qualifier

    近期在捯饬spring的注解,现将遇到的问题记录下来,以供遇到同样问题的童鞋解决~ 先说明下场景,代码如下: 有如下接口: public interface EmployeeService { pub ...