《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于DDR3-SDRAM 的高速视频传输系统
基于DDR3-SDRAM 的高速视频传输系统
2015年电子技术应用第12期
马游春1,2,王悦凯1,2,丁 宁1,2
1.中北大学 电子测试国家重点实验室,山西 太原030051; 2.中北大学 仪器科学与动态测试教育部重点实验室,山西 太原030051
摘要: 设计了一种基于多片DDR3-SDRAM多BANK存储技术的传输系统,用于高速视频图像的传输。采用Camera Link总线技术用来接收视频图像数据,采用DDR3-SDRAM用来转存数据,对系统软件进行了搭建,对数据进行编码,并对DDR3-SDRAM多BANK存储进行仿真及分析。结果表明,DDR3-SDRAM多BANK存储技术可以有效地提高DDR3-SDRAM的工作效率,满足高速视频存储的需求。
中图分类号: TP919
文献标识码: A
DOI:10.16157/j.issn.0258-7998.2015.12.018

中文引用格式: 马游春,王悦凯,丁宁. 基于DDR3-SDRAM 的高速视频传输系统[J].电子技术应用,2015,41(12):69-71,75.
英文引用格式: Ma Youchun,Wang Yuekai,Ding Ning. High-speed video transmission system based on DDR3 SDRAM[J].Application of Electronic Technique,2015,41(12):69-71,75.
High-speed video transmission system based on DDR3 SDRAM
Ma Youchun1,2,Wang Yuekai1,2,Ding Ning1,2
1.National Key laboratory for Electronic Measurement Technology,North University of China,Taiyuan 030051,China; 2.Key Laboratory of Instrumentation Science & Dynamic Measurement of Ministry of Education, North University of China,Taiyuan 030051,China
Abstract: Proposed to design a storage system based on multiple pieces DDR3-SDRAM-more BANK transmission technology,used in high speed video image transmission. Camera Link bus technology is used to receive video image data,the DDR3-SDRAM is used to store data,the system software is setup,encode the data,and simulated and analyzed the DDR3-SDRAM- more BANK storage. The results show that the DDR3-SDRAM-more BANK storage technology can effectively improve the work efficiency of DDR3-SDRAM, can meet the requirements of the high-speed video storage.
Key words : DDR3-SDRAM;more BANK;storage;high speed video

    

0 引言

    高速视频图像技术被广泛应用于铁道铁路、航空航天、水下、生物运动捕获、医疗器械、远程教学及生产生活的诸多领域。目前,视频图像传输技术已经日趋成熟,并开始向高清、高速的需求方向发展。

    针对目前普遍存在的因为存储速度低而只能采集低分辨率视频数据的缺点,利用Camera Link的Full传输模式对图像数据进行接收并利用多片DDR3-SDRAM多BANK存储的原理对高带宽和大容量图像数据实现高速存储及传输。

1 总体设计方案

    视频图像传输系统的设计框图如图1所示。系统主要由时钟与复位单元、逻辑控制单元、视频采集单元、视频转存单元、实时显示单元组成。

ck6-t1.gif

    系统工作过程为:FPGA通过Camera Link接口将配置信息发送给CMOS相机,控制CMOS相机开始进行视频数据的采集、编帧并通过Camera Link接口将数据传送至FPGA;视频数据经过FPGA的一系列相关的视频数据处理之后存储到DDR3-SDRAM中,当DDR3-SDRAM中的视频数据存满后,将存储的视频数据通过千兆以太网接口传输到上位机,最终在上位机上进行实时观测。

2 高速视频采集传输

2.1 视频采集单元

    视频采集单元主要包括COMS相机及Camera Link接口。采用Camera Link的Full模式进行数据采集,数据传输位宽为80 bit。

    设置图像采集系统数据位宽为8 bit、采样频率为250帧/s、分辨率为2 048×1 088 Pixels的彩色视频图像。

2.2 图像数据转存单元

    DDR3-SDRAM为第三代双倍数据速率动态同步随机存储器,与上一代产品相比,DDR3-SDRAM拥有两倍于DDR2的预取能力;突发长度固定为8,增加了突发突变模式及重置功能,极大地降低了系统功耗。

    采用Micron公司的MT41K1G8SN-125内存条作为图像的存储介质,其由8个DDR3-SDRAM的存储芯片组成,每个存储芯片为8 bit,8片组合在一起为64 bit的数据位宽,FPGA与DDR3-SDRAM的硬件连接如图2所示。其中,CK_N与CK_P 为DDR3-SDRAM的差分时钟,其频率为800 MHz;FPGA通过复位信号(RESET)、行地址选择信号(RAS)、列地址选择信号(CAS)、时钟使能信号(CKE)和写使能信号(WE)实现对DDR3-SDRAM的控制。

ck6-t2.gif

    64 bit数据并行地与FPGA的I/O口直接相连, DDR3-SDRAM的工作时钟一次能够传输64 bit的数据,极大地提高了数据的传输速率。单颗粒DDR3-SDRAM地址线的位宽为16 bit,Bank的位宽为3 bit,FPGA可直接通过控制Bank地址与16 bit的行列地址来选择数据在DDR3-SDRAM中存储的位置。

3 软件设计及测试

    系统功能主要为对经过Camer Link接收模块的串并转换以及经过FIFO进行数据缓存处理之后的视频进行再处理,转化成能够满足DDR3-SDRAM存储条件的时序控制之后,将视频数据写入DDR3-SDRAM的内部;将存储DDR3-SDRAM内部数据读出,经过处理后通过FIFO的处理,再经过千兆以太网输出,经上位机处理后显示。

    系统的工作流程如图3所示。上电后系统复位,各功能模块进行初始化;初始化及DDR3 DQS、Write、Read校验完成后init_done拉高;相机开始工作,图像数据经Camera Link接口进入FPGA进行数据编码,编码后数据暂存在内置FIFO模块;判断FIFO的almost_full信号是否为高电平,当almost_full信号为高电平则DDR3-SDRAM可以进行写数据操作了,然后控制器开始向DDR3-SDRAM发送写命令、写地址以及写数据操作,在写数据的过程中控制器通过帧计数信号counter_frame来判断DDR3-SDRAM是否被写满,当counter_frame=480时DDR3-SDRAM已经不能够再接收一帧完整的视频数据了,此时start_ddr3信号拉低,不再进行写数据操作。然后等待千兆以太网模块使能DDR3-SDRAM的读数据操作,去将写入DDR3-SDRAM中的数据经过控制器的控制后,通过FIFO的处理,经过千兆以太网模块将数据输出到上位机上进行显示。

ck6-t3.gif

3.1 DDR3-SDRAM工作状态机

    按JEDEC规定,DDR3-SDRAM工作必须遵守一定的规则,DDR3-SDRAM存储器工作状态如图4所示。

ck6-t4.gif

    图4中涉及命令及功能如表1所示。

ck6-b1.gif

3.2 DDR3-SDRAM突发模式下数据编码

    系统采用DDR3突发传输模式,一次传输数据量为512 bit,而Camera Link接口一次传输数据为80 bit;对Camera Link传来数据进行如图5格式的编码。编码采用十六进制的EB 90作为帧标志,并设计16 bit的帧计数,将Camera Link传来的每六次(480 bit)作为一组数据,然后缓存至FPGA内置FIFO模块。

ck6-t5.gif

3.3 DDR3-SDRAM多BANK同行切换存储设计与测试

    每片DDR3-SDRAM有8个BANK用于存储数据,为了最大限度地提高DDR3-SDRAM的存储速度,选择最佳的工作模式,对单BANK内行切换存储及多BANK同行切换存储进行测试,如图6所示。

ck6-t6.gif

    单BANK内行切换存储是指在DDR3-SDRAM写数据时先逐行写BANK0,待BANK0写满之后再写BANK1,依次写各个BANK。在本次测试中采用的是每行写8个64 bit的数据,再依次转入该BANK的下一行。多BANK同行切换存储是指DDR3-SDRAM写数据时依次再写BANK0~BANK7的第一行,所有BANK的第一行写满之后再依次写各个BANK的第二行,以此类推进行DDR3-SDRAM的写数据操作。测试时序是在ISE14.3建立的DDR3-SDRAM控制器工程中,添加DDR3-SDRAM模型联合进行仿真的测试结果,仿真工具采用modesim仿真软件。

    图6(a)的单BANK内行切换测试时序,当ddr3_ras_n_fpga信号和ddr3_cke_n_fpga 信号均为高电平、ddr3_cas_n_fpga信号和ddr3_we_n_fpga信号均为低电平,DDR3-SDRAM接收写数据命令,命令接收完毕后,开始往DDR3-SDRAM中写入位宽为64 bit的数据。测试可得,在BANK0的一行连续写完8个64 bit数据大概花费的时间约为6 045 756 fs,写第一行的数据开始到写入第二行数据的开始所花费的时间约为70 050 164 fs,则单BANK内行切换测试得出的写数据的带宽的利用率大约为8.6%。理想情况下的带宽为12.5 GB/s,单BANK内行切换测试得出的带宽大约为1 100.8 MB/s,系统采用的Camera link接收模块接收的数据流为820 MB/s,则DDR3-SDRAM的带宽约为1 100.8 MB/s时能够满足缓存的数据流条件,但是在实际处理中DDR3-SDRAM还会有一些其他的数据等待操作,比如等待FIFO的almost_full信号命令,还会消耗一定的DDR3-SDRAM带宽,因此DDR3-SDRAM的带宽有必要设计的更大一些。图5(b)所示的为多BANK同行切换测试时序,其中ddr3_dq_fpga为写入DDR3-SDRAM的数据。如图5(b)所示,写第一个BANK的一行的8个64 bit数据所花费的时间约为5 079 040 fs,写第一个BANK的一行8个数据开始到写第二个BANK的一行8个数据开始所花费的时间大约为9 994 240 fs,则多BANK同行切换测试得出的写数据的带宽的利用率大约为50.8%。理想情况下的带宽为12.5 GB/s,则多BANK同行切换测试得出的带宽大约为6 502.4 MB/s,Camera link接收模块接收的数据流为820 MB/s,则DDR3-SDRAM的带宽约为6 502.4 MB/s,这在很大程度上超过了Camera link接收模块接收的数据流,能够满足缓存的数据流条件。

4 结论

    利用系统采集视频图像,经上位机还原后视频图像清晰完整,设计符合预期。结果表明:利用Full模式下Camera Link总线接口可满足高速视频图像的采集需求,DDR3-SDRAM多BANK存储技术可极大地提高数据存储的速度,解决高速视频高分辨率转存及传输的问题。

参考文献

[1] BARRERA E,RUIZ M,SANZ D,et al.Test bed for real-time image acquisition and processing systems based on FlexRIO,CameraLink,and EPICS[J].Fusion Engineering and Design,2014,89(5):633-637.

[2] 王正宇.DDR3内存控制器的IP核设计及FPGA验证[D].兰州:兰州交通大学,2012.

[3] 黄云翔.DDR3-SDRAM的控制器设计和验证[D].广州:华南理工大学,2012.

[4] 李辉,岳田.在FPGA设计中ChipScope与MATLAB的应用[J].无线电工程,2010,40(1):62-64.

[5] 张超,余综.基于DDR3系统互联的信号完整性设计[J].计算机工程与设计,2013,34(2):616-621.

此内容为AET网站原创,未经授权禁止转载。