最近公司承接了一个车载视频拼接的项目,该项目使用到了lvds高速接口和ddr3接口,摄像头采集的视频图像数据需要先存入ddr3中然后与通过lvds传输的主机视频数据进行拼接输出,最终在屏幕上显示画中画的效果。在调试ddr3的过程中,我有一些使用心得,特分享给大家。
在之前的文章中我已经介绍过lattice ddr3的ip核生成使用方法,以及接口信号。也许有许多人不是很明白,明明有ddr3的ip核,为什么还要添加这么一个接口模块,添加了这么一个接口模块主要是用来做什么,需要它设计哪些信号?
要想解决这些疑问,我们就需要先搞清楚ddr3 ip核究竟是用来做什么的。首先我们先明白这样一个概念:ddr3是一个fpga片外的一个设备,就像我们用fpga控制led灯的亮灭一样,我们通过引脚将fpga与led灯连接起来,并且引脚信号是用工程中设置的输入输出来控制。也就是说,虽然一个工程中有许多个模块,每个模块间又有各种各样的输入输出,但是这些信号都只是在fpga内部,由fpga产生并控制的内部信号,工程真正的输入输出是fpga外部器件通过引脚连接传递的信号。若我们使用fpga控制外设接口工作,最起码需要有一个输入时钟(由fpga外部晶振产生)以及与外设相连的输出信号(有的情况下没有异步复位输入也是可以工作的),那么这个时钟以及输出信号就是fpga的i/o口。同样的,在我们调试ddr3的过程中,我们需要的i/o就是时钟以及复位信号,还有就是与ddr3硬件的连接处i/o口。我们先来看一下数据手册上ddr3 ip核控制框图,如下所示。
图1 ddr3控制框图
图中用红线标记起来的地方就是fpga与外部ddr3通过引脚连接的接口信号,如果我们通过fpga内部产生数据并将其送入ddr3中后读出,就是通过这些引脚来传输信号的。我们使用sdram进行存储,是直接控制这些输出信号如cas、ras、cke等控制sdram读写以及其他各操作的,如下图就是sdram的输出控制信号,通过fpga内部设计cs、ras、cas、we这些信号,可以让sdram实现对应的操作。比如我们设计一个sdram读操作,那么我们就需要设计cs、ras、cas、we分别为0、1、0、1,sdram通过引脚接收到这些信号,便会产生对应的操作,即打开一个新的列地址并开始一个新的突发读操作。
图2 sdram输出控制指令
与设计sdram接口不同的是,我们在使用ddr3时,是不需要我们亲自设计这些输出信号, 因为我们调用的ddr3 ip核已经帮我们内部封装好了这些指令,我们需要设计的是输入ip核的那部分接口信号,来告诉ip核我们想让ddr3进行工作的模式以及需要ddr3进行的操作。在设计这个接口模块的时候,我们需要设计的就是图1左侧接口的那部分信号,各信号的功能以及时序在数据手册上有详细的说明(在我前面的文章中也有详细的介绍),这需要我们一边对照着数据手册一边进行设计,具体的设计方法我将会在接下来的文章中继续介绍。
明德扬(mdy)除了承接项目外,还可为客户提供fpga芯片、电源芯片、ad芯片等元器件,可找我们了解。
日本用3D打印技术开发出的嵌入二维码
巧用缝纫机油
Yotta企业云盘:便捷移动办公,提高工作效率
赛普拉斯为开发者提供新型感应解决方案,适用于含金属材料的先进工业设计
智能家居产品在疫情中能否发挥作用
LATTICE DDR3 IP核究竟是用来做什么的
Zynq-7000 PS端IIC接口使用笔记
谷歌母公司将分拆出新量子公司 名为“沙箱”
工业互联网是新一代信息技术与工业制造的融合
MJWI10占位面积为1x1吋的10W转换器
23课:LED数码管静态显示接口与编程
Linux基础操作指引【文件改名、文件备份、文件删除】
艾迈斯欧司朗红外点阵投射器Belago 1.1为Luxonis新型机器人3D视觉系统“点睛”
欧菲光2023年上半年营收63.15亿元,二季度单季净利润扭亏为盈
VR眼镜的核心器件,2.6K microOLED微型显示器
美国应用材料强化中国太阳能电池业务
TI业内最低功耗16位DSP平台再添新成员
什么是Sound Font/DLS?
气密检漏仪在水处理行业的应用
工业4.0,少不了恶劣环境连接器来帮忙!