System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于FPGA的语言编写控制器双通道缓存方法及系统技术方案_技高网

一种基于FPGA的语言编写控制器双通道缓存方法及系统技术方案

技术编号:40172847 阅读:6 留言:0更新日期:2024-01-26 23:42
本发明专利技术属于视频监控系统高速缓存传输技术领域,公开了一种基于FPGA的语言编写控制器双通道缓存方法及系统。该方法通过IP核的写时序设计、IP核的读时序设计、读写仲裁模块设计、IP核外围添加异步FIFO模块接口设计、用户读模块及用户写模块设计,将基于AXI总线的DDR3SDRAM IP核接口封装为通用的FIFO接口,控制在芯片内部的读写地址分配,完成大数据量视频缓存与传输。本发明专利技术引入DDR3SDRAM工作频率可以达到800MHz以上,并且具有发热量小以及功耗低等特点,本发明专利技术还搭建基于第三代DDR3SDRAM存储芯片的读写缓存控制器,解决大数据量视频缓存与传输的问题。

【技术实现步骤摘要】

本专利技术属于视频监控系统高速缓存传输,尤其涉及一种基于fpga的语言编写控制器双通道缓存方法及系统。


技术介绍

1、目前现有技术都研制出许多视频监控系统,都有各自的优点,也都存在一定的缺点。通用的技术方案主要包括以下几种:摄像头+视频采集卡+pc机的设计方案,摄像头+arm+sram/sdram+vga的设计方案,摄像头+dsp+sram/sdram+vga的视频采集方案,摄像头+asic+sdram+vga设计方案,摄像头+fpga+sdram+vga的设计方案;

2、对于缓存模块,目前大多数系统还在使用的sdram和ddr2 sdram,导致缓存速度受限,吞吐量无法匹配fpga的处理速度,影响整体的传输带宽。

3、直接用verilog hdl硬件描述语言编写ddr3 sdram控制器的底层电路驱动非常困难,现有技术fpga内部集成ip核来控制此类sdram芯片,熟悉fpga内部相关ip核的使用方法可减少开发周期和成本。ddr3 sdram控制器ip核主要包括两组接口,其中一组是ddr端口,可直接与ddr3 sdram芯片端口引脚绑定,另一组是基于axi总线的app端口,app端口可由用户端操作使用,设计者可根据app端口的读写时序设计驱动电路控制ip核实现读写操作。但是直接控制基于axi总线的app端口操作复杂且效率低,无法发挥ddr3 sdram真正的读写速度。另外当有多个节点的数据同时向ddr4缓存数据时,需要仲裁,仲裁期间容易造成数据的丢失。


技术实现思路</p>

1、为克服相关技术中存在的问题,本专利技术公开实施例提供了一种基于fpga的语言编写控制器双通道缓存方法及系统。

2、所述技术方案如下:一种基于fpga的语言编写控制器双通道缓存方法,该方法通过ip核的写时序设计、ip核的读时序设计、读写仲裁模块设计、ip核外围添加异步fifo模块接口设计、用户读模块及用户写模块设计,将基于axi总线的ddr3 sdram ip核接口封装为通用的fifo接口,控制在芯片内部的读写地址分配,完成大数据量视频缓存与传输;具体包括以下步骤:

3、s1,调取ddr3 sdram ip控制器,进行核内部参数配置、ddr3 sdram ip核的初始化,以及将文件夹下的仿真模型例化到测试文件中,获取init_calib_complete状态标识位;

4、s2,ddr3 sdram ip核初始化成功后,获取ip核的写命令和写数据的时序波形;

5、s3,基于获取的写命令和写数据的时序波形,获取读命令和读数据的时序波形;

6、s4,基于步骤s2-步骤s3获取的波形,进行读写控制模块仲裁判断;

7、s5,根据获取的仲裁判断数据在外围添加ip核外部添加异步fifo接口;

8、s6,根据添加的ip核外部添加异步fifo接口,在用户端进行ddr3 sdram写控制;

9、s7,根据获取的ddr3 sdram写控制数据,在用户端进行ddr3 sdram读控制,读出大数据量视频数据。

10、进一步的,在步骤s1中,配置ddr3 sdram ip核内部参数包括ddr3的工作时钟频率、芯片类型、电平标准、数据总线位宽、输入时钟频率、输入参考时钟、控制器的突发类型以及内部终端电阻。

11、进一步的,在步骤s1中,进行ddr3 sdram ip核的初始化包括:调取ip核后,工程目录下生成一个.\project_1.srcs\sources_1\ip的路径,该路径包括docs文件夹、example_design文件夹以及user_design文件夹;

12、所述ddr3 sdram ip控制器的端口的一部分以ddr3为首命名,绑定到外部管脚。

13、进一步的,在步骤s1中,将文件夹下的仿真模型例化到测试文件中,获取init_calib_complete状态标识位包括:在仿真调试过程中,将顶层文件内的init_calib_complete信号添加到观察窗口中,仿真运行后,检测init_calib_complete信号是否由低变高,若变成高电平,则ddr3 sdram控制器ip核初始化成功,若为低电平则需要检测测试文件内实例化模块之间的连线是否正确。

14、在步骤s2中,通过写命令和写数据的时序波形进行写时序控制,使写命令时序波形中app_en与app_rdy同时有效时,app_cmd被ip核接收;

15、以及使写数据时序波形中app_wdf_wren与app_wdf_rdy同时有效,app_wdf_data被ip核接收;

16、在获取ip核的写命令和写数据的时序波形后,app_wdf_end信号作为当前写突发操作的最后一个数据标志位,在调取ip核后,通过选择ddr3的物理层与用户层存在速度匹配关系,判断app_wdf_end与使能信号时序是否同步。

17、在步骤s3中,获取读命令和读数据的时序波形的条件需满足:

18、app_en与app_rdy同时有效时,app_cmd与app_addr的数值被ip核接收。

19、进一步的,在步骤s4中,进行读写控制模块仲裁判断包括:

20、ddr3控制器ip核的读控制模块与写控制模块读写命令共用一组总线端口,ip核的读命令总线与写命令总线分时使用,进行仲裁判断;将写控制模块和读控制模块中的app_cmd信号分时传输给ip核的app_cmd端口;

21、对于app_addr信号线,将写控制模块与读控制模块中的地址总线进行按位或操作,其结果输入到ip核的地址端口;同理,写控制模块与读控制模块中的app_en也进行或操作,作为ip核app_en的端口输入值;

22、完成读控制和写控制模块与ip核的交互后,当读写启动信号同时产生时,则app_addr端口与app_en端口输入信号同时有效,利用读写仲裁器控制产生读写信号的先后顺序。

23、在步骤s5中,通过添加外围存储器的方式将暂时无法执行的命令和数据进行缓存;

24、在步骤s6中,通过用户端写控制器根据fifo缓存模块接收数据的时序实现对应的逻辑功能以及写地址分配,将写入的数据缓存到数据fifo中,在接收到命令后,获取正确的突发长度数据并进行传输。

25、在步骤s7中,通过用户端读控制器预留两类接口,其中一类为命令fifo端口,一类为数据fifo端口,将相应的信息发送到命令缓存fifo中;fifo ip核检测到内部有命令时根据命令信息发送突发长度的数据到读数据fifo;当检测到数据fifo达到了所需要的数据量,就读出相应的数据。

26、本专利技术的另一目的在于提供一种基于fpga的语言编写控制器双通道缓存系统,该系统包括:

27、写命令和写数据的时序波形获取模块,用于s2,ddr3 sdram ip核初始化成功后,获取ip核的写命令和写数据的时序波形;...

【技术保护点】

1.一种基于FPGA的语言编写控制器双通道缓存方法,其特征在于,该方法通过IP核的写时序设计、IP核的读时序设计、读写仲裁模块设计、IP核外围添加异步FIFO模块接口设计、用户读模块及用户写模块设计,将基于AXI总线的DDR3 SDRAM IP核接口封装为通用的FIFO接口,控制在芯片内部的读写地址分配,完成大数据量视频缓存与传输;具体包括以下步骤:

2.根据权利要求1所述的基于FPGA的语言编写控制器双通道缓存方法,其特征在于,在步骤S1中,配置DDR3 SDRAM IP核内部参数包括DDR3的工作时钟频率、芯片类型、电平标准、数据总线位宽、输入时钟频率、输入参考时钟、控制器的突发类型以及内部终端电阻。

3.根据权利要求1所述的基于FPGA的语言编写控制器双通道缓存方法,其特征在于,在步骤S1中,进行DDR3 SDRAM IP核的初始化包括:调取IP核后,工程目录下生成一个.\project_1.srcs\sources_1\ip的路径,该路径包括docs文件夹、example_design文件夹以及user_design文件夹;

4.根据权利要求1所述的基于FPGA的语言编写控制器双通道缓存方法,其特征在于,在步骤S1中,将文件夹下的仿真模型例化到测试文件中,获取Init_calib_complete状态标识位包括:在仿真调试过程中,将顶层文件内的Init_calib_complete信号添加到观察窗口中,仿真运行后,检测Init_calib_complete信号是否由低变高,若变成高电平,则DDR3SDRAM控制器IP核初始化成功,若为低电平则需要检测测试文件内实例化模块之间的连线是否正确。

5.根据权利要求1所述的基于FPGA的语言编写控制器双通道缓存方法,其特征在于,在步骤S2中,通过写命令和写数据的时序波形进行写时序控制,使写命令时序波形中app_en与app_rdy同时有效时,app_cmd被IP核接收;

6.根据权利要求1所述的基于FPGA的语言编写控制器双通道缓存方法,其特征在于,在步骤S3中,获取读命令和读数据的时序波形的条件需满足:

7.根据权利要求1所述的基于FPGA的语言编写控制器双通道缓存方法,其特征在于,在步骤S4中,进行读写控制模块仲裁判断包括:

8.根据权利要求1所述的基于FPGA的语言编写控制器双通道缓存方法,其特征在于,在步骤S5中,通过添加外围存储器的方式将暂时无法执行的命令和数据进行缓存;

9.根据权利要求1所述的基于FPGA的语言编写控制器双通道缓存方法,其特征在于,在步骤S7中,通过用户端读控制器预留两类接口,其中一类为命令FIFO端口,一类为数据FIFO端口,将相应的信息发送到命令缓存FIFO中;FIFO IP核检测到内部有命令时根据命令信息发送突发长度的数据到读数据FIFO;当检测到数据FIFO达到了所需要的数据量,就读出相应的数据。

10.一种基于FPGA的语言编写控制器双通道缓存系统,其特征在于,实施权利要求1-9任意一项所述的基于FPGA的语言编写控制器双通道缓存方法,该系统包括:

...

【技术特征摘要】

1.一种基于fpga的语言编写控制器双通道缓存方法,其特征在于,该方法通过ip核的写时序设计、ip核的读时序设计、读写仲裁模块设计、ip核外围添加异步fifo模块接口设计、用户读模块及用户写模块设计,将基于axi总线的ddr3 sdram ip核接口封装为通用的fifo接口,控制在芯片内部的读写地址分配,完成大数据量视频缓存与传输;具体包括以下步骤:

2.根据权利要求1所述的基于fpga的语言编写控制器双通道缓存方法,其特征在于,在步骤s1中,配置ddr3 sdram ip核内部参数包括ddr3的工作时钟频率、芯片类型、电平标准、数据总线位宽、输入时钟频率、输入参考时钟、控制器的突发类型以及内部终端电阻。

3.根据权利要求1所述的基于fpga的语言编写控制器双通道缓存方法,其特征在于,在步骤s1中,进行ddr3 sdram ip核的初始化包括:调取ip核后,工程目录下生成一个.\project_1.srcs\sources_1\ip的路径,该路径包括docs文件夹、example_design文件夹以及user_design文件夹;

4.根据权利要求1所述的基于fpga的语言编写控制器双通道缓存方法,其特征在于,在步骤s1中,将文件夹下的仿真模型例化到测试文件中,获取init_calib_complete状态标识位包括:在仿真调试过程中,将顶层文件内的init_calib_complete信号添加到观察窗口中,仿真运行后,检测init_calib_complete信号是否由低变高,若变成高...

【专利技术属性】
技术研发人员:代红超
申请(专利权)人:天津津航计算技术研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1