专利名称:一种提高实时视频采集emif接口速度的方法
技术领域:
本发明涉及电子信息技术领域,具体涉及一种基于DM642的提高实时视频采集 EMIF接口速度的方法,该方法利用两块SDRAM进行乒乓操作作为图像数据缓冲来提高DSP 的EMIF接口数据采集速度,以满足视频实时采集要求。
背景技术:
随着航天技术的发展,对于空间视频图像的采集分辨率提出了更高的要求。目前基于DM642的嵌入式视频采集系统方案基本上采用将标准的视频数据流通过视频接口 VP 口输入核心处理器DM642中的方式。为了突破传统视频采集分辨率的限制,为视频分析提供足够的数据量,利用DSP的外部存储器接口(EMIF)来进行数据采集及与外部数据的交换。
TMS320C6000DSP的EMIF具有很强的接口能力,具有很高的数据吞吐率,支持各种外部器件的无缝连接,包括SRAM、SDRAM、ROM、FIFO和外部共享器件等等。外部存储空间划分为四个独立的存储空间,由4个外部CE线及对应的CE空间控制寄存器控制。
但是使用DSP的EMIF接口进行数据存储时速度受限,包括用DMA的方式速度没有本质性的提高。用示波器测量EMIF读/写信号的平均频率为5. 3MHz。传送640个8位数据需耗时65微秒。因为读写数据操作必须伴有两个周期的地址和控制信息,EMIF会在读和写命令之间插入多个周期,以确保数据总线(ED[31:0])上没有冲突存在。EMIF通过这种机制使这种总线冲突发生的可能降至最小,由此导致了 EMIF数据交换速率的降低。
由于实时高分辨率视频图像传输的要求,要求EMIF接口速度匹配(XD数据传输速度。而图像数据传输有数据量大,连续性的特点,正好利用SDRAM连续存放数据时可以不用对应每个数据给出具体的地址信息的特点。减少了 DSP为了避免总线冲突而插入等待周期的时间,大大提高了 EMIF总线的利用效率。使得数据采集的速度满足高清晰(1360X1068) 图像采集的速度。所以本设计采用两块SDRAM作为数据输入缓存乒乓操作,并通过EDMA方式以提高数据传输效率。发明内容
本发明的目的在于针对已有技术存在的缺陷,提供一种基于DM642的提高实时视频采集EMIF接口速度的方法,使得DSP采集外部CCD的速度是原先的利用双口 RAM或者 FIFO采集数据的速度的3 4倍。
由于该方法数据以帧为单位读取,充分利用了 SDRAM在连续数据操作中速度快的特点,并消除了数据行场消隐的等待时间,解决了输入输出速度差问题,完成了图像的数据的无缝缓冲。
为实现上述目的,本发明采用下述技术方案
一种基于DM642的提高实时视频采集EMIF接口速度的方法的实现架构,包括一个系统核心处理器DM642、一个FPGA、一个CXD采集模块和三个SDRAM——一个主存储器件SDRAM1、和两个辅助存储器件SDRAM2、SDRAM3,其特征在于所述DM642外部存储器接口的SDffE,EcIkout2,SDCAS,SDRAS,EA[17:3]、ED[31:0]和 BE[3:0]信号引脚分别连接 SDRAMl 的WE、CKE、CAS、RAS、A、D 和 DQM 引脚,CEO 引脚连接 SDRAMl 的 /CS 引脚,同时 SDWE、Eclkout2、SDCAS、SDRAS、EA [17:3]、ED [31:0]、BE [3:0]及 CE2 信号输入 FPGA ;并将 FPGA 输控制存储器信号引脚分别 连接SDRAM2的4、001、0、'^、0^、0么5、狀5、和/CS以及SDRAM3的A、DQM、D、WE、CKE、CAS、RAS、和/CS ;FPGA输出中断信号引脚连接DM642的外部中断信号引脚INT4 ;CXD采集模块的行、场、点同步信号H、V、P及C⑶数据引脚CCD_Data[7:0]连接到FPGA。上述FPGA内部包括数据输入输出选通控制单元SDCtrlSwitch,SDRAM写控制信号产生单元SDCtr 1_FPGA,数据流单元DataProcess ;输入输出选通控制单元判断图像数据是奇数场或是偶数场来产生相应的选通控制信号,SDRAM写控制信号产生单元根据CCD图像数据的同步信号产生SDRAM的写入控制信号,数据流单元数据总线上数据的流向及输入输出状态。上述FPGA的内部结构中,数据输入输出选通控制单元SDCtrlSwitch的读SDRAM控制信号 Emif_SDWE、Emif_SDCKE、Emif_SDCAS 和 Emif_SDRAS 分别连接 DM642 外部存储器接口的 SDRAM 控制信号引脚 SDWE、SDCKE、SDCAS 和 SDRAS ;SDCtrlSwitch 单元的 Emif_SDCE信号引脚连接DM642的CE2空间选通信号引脚CE2 ;SDCtrlSwitch单元的SDRAM2_SDCS、SDRAM2_SDW、SDRAM2_SDCKE、SDRAM2_SDCAS 和 SDRAM2_SDRAS 引脚连接 SDRAM2 的引脚 /CS、WE、CKE 和 CAS ;SDCtrlSwitch 单元的 SDRAM3_SDCS、SDRAM3_SDWE、SDRAM3_SDCKE、SDRAM3_SDCAS 和 SDRAM3_SDRAS 引脚连接 SDRAM3 的引脚 CS、WE、CKE 和 CAS ;SDCtrlSwitch 单元的字节选通信号引脚EMIF_BE[3:0]连接DM642外部存储器接口的BE[3:0]引脚,SDRAM2_BE [3:0]引脚连接SDRAM2的DQM引脚,SDRAM3_BE [3:0]信号引脚连接SDRAM3的DQM引脚。FPGA中的SDRAM写控制信号产生单元SDCtrl_FPGA的行同步信号H_ccd,场同步信号V_ccd,点时钟Pclk_ccd信号引脚分别连接CXD采集模块的行H、场V、点P信号。FPGA中的数据流单元DataProcess的CCD_data[7. . O]信号引脚连接CCD采集模块的AD输出数据引脚CCD_Data[7. . O] ;DataProcess单元的Emif_ED信号引脚连接DM642的ED[31:0]信号引脚,DataProcess单元的SDRAM2_ED[31:0]信号引脚连接SDRAM2的D[31:0] ;SDRAM3_ED[31:0]信号连引脚连接 SDRAM3 的 D[31:0]引脚。一种基于DM642的提高实时视频采集EMIF接口速度的方法,采用上述架构进行操作,其特征在于用FPGA控制CCD图像数据直接写入作为数据缓存的SDRAM,并在FPGA的控制下以场同步信号作为切换,将两块乒乓操作的SDRAM轮流接入DSP的CE2空间的方法。具体操作步骤为在系统初始化阶段将DSP的CEO,CE2空间设为32位的同步存储空间,并配置增强的直接存储器访问EDMA通道,并将外部中断信号int4作为EDMA通道传输的触发源,为奇偶场图像数据开辟存储空间。然后系统等待图像数据输入FPGA,并判断数据是奇数场数据或是偶数场数据,若为奇数场数据则将图像数据存入SDRAM2,将SDRAM3接入DM642的EMIF总线。若为偶数场数据则将数据存入SDRAM3,将SDRAM2接入DM642的EMIF总线。最后以场同步信号作为一场图像接收完成的标志,由FPGA产生图像接受完成的中断信号通知DSP通过EDMA通道将数据从连接在EMIF总线上的SDRAM搬移到SDRAMl中。FPGA在奇数帧要完成的操作步骤为j)将 CE2 连接 SDRAM2 片选信号 SDCS,
k) EMIF的SDRAM控制信号直通到SDRAM2的控制信号,包括SDRAS、SDCAS、SDCKE、SDffE,DEMIF 地址线 EA [17. . 3]连接 SDRAM2 的地址线 A,m)字节使能信号BE [3. . O]连接SDRAM2的字节选通信号DQM,η)数据总线ED [31. . O]连接SDRAM2数据线D,ο)根据CXD数据时序,即行场点同步信号由FPGA产生写SDRAM的控制信号,地址操作信号,P)将FPGA产生的写SDRAM控制地址信号,连接到SDRAM3,q) CXD数据有效期间,将数据连续地写入SDRAM3, r) 一帧数据写完向DSP发出中断;偶数帧时将CE2连接SDRAM3片选,并将SDRAM2与SDRAM3做交换,其它操作步骤与奇数帧的操作步骤相同。本发明与现有相关技术相比较,具有如下优点I.充分利用SDRAM连续数据操作时不用提供地址信号所带来的速度优势,提高了EMIF总线的传输效率。2.通过FPGA的SDRAM控制器,将图像数据直接写入SDRAM而不是通过FIFO或者RAM。将原先传送640个数据的时间从65us缩短到19us。3.利用了图像采集中的消隐时间,直接以帧为单位传输数据进一步提高了 EMIF数据的效率。4.这种利用SDRAM作为乒乓操作以提高EMIF传输效率的方法不仅适用于CXD图像数据传输,同样适用于DSP需要高速采集外部数据的场合。具体实现方法只需稍作改动。
图I系统硬件结构示意图。图2FPGA中SDRAM切换流程图。图3FPGA内部控制模块。
具体实施例方式下面结合附图对本发明的具体实施方式
进行详细地描述。为实现上述目的,本发明一个具体的实现案例如下如图I所示,一种基于DM642的提高实时视频采集EMIF接口速度的方法,以DM642(1)为核心处理器,其外部存储接口的四个CE空间中CEO,CE2配置为32位同步空间;CE1为异步空间接FLASH ;CE3为8位异步空间接串口及网络端口。CEO接SDRAMl (3)为主要代码数据存储器,CE2空间连接FPGA(2),通过FPGA(2)切换连接用作数据缓冲的SDRAM2 (5)、SDRAM3 (6)进行乒乓操作。DM642 (I)外部存储器接口 的 SDffE, Eclkout2、SDCAS, SDRAS, EA [17:3]、ED [31:0]和BE[3:0]信号引脚分别连接SDRAMl (3)的WE、CKE、CAS、RAS、A、D和DQM引脚,CEO引脚连接 SDRAMl (3)的 /CS 引脚,同时 SDffE,EcIkout2,SDCAS,SDRAS,EA[17:3]、ED[31:0]、BE[3:0]及CE2信号输入FPGA (2);并将FPGA (2)输控制存储器信号引脚分别连接SDRAM2 (5)的A、DQM、D、WE、CKE, CAS、RAS、和 /CS 以及 SDRAM3 (6)的 A、DQM、D、WE、CKE, CAS、RAS、和 /CS ;FPGA (2)输出中断信号引脚连接DM642 (I)的外部中断信号引脚INT4 ;CCD采集模块(4)的行、场、点同步信号H、V、P及CCD数据引脚CCD_Data[7:0]连接到FPGA (2)。FPGA内部主要的控制模块如图3所示。FPGA(2)内部主要由数据输入输出选通控制单元SDCtrlSwitch,SDRAM写控制信号产生单元SDCtr 1_FPGA,数据流单元DataProcess ;输入输出选通控制单元判断图像数据是奇数场或是偶数场来产生相应的选通控制信号,SDRAM写控制信号产生单元根据CCD图像数据的同步信号产生SDRAM的写入控制信号,数据流单元数据总线上数据的流向及输入输出状态。数据输入输出选通控制单元SDCtrlSwitch的读SDRAM控制信号Emif_SDWE、Emif_SDCKE、Emif_SDCAS和Emif_SDRAS分别连接DM642 (I)外部存储器接口的SDRAM控制信号引脚 SDWE、SDCKE, SDCAS 和 SDRAS ;SDCtrlSwitch 单元的 Emif_SDCE 信号引脚连接 DM642 (I)的 CE2 空间选通信号引脚 CE2 ;SDCtrlSwitch 单元的 SDRAM2_SDCS、SDRAM2_SDW、SDRAM2_ SDCKE, SDRAM2_SDCAS 和 SDRAM2_SDRAS 引脚连接 SDRAM2 (5)的引脚 /CS、WE、CKE 和 CAS ;SDCtrlSwitch 单元的 SDRAM3_SDCS、SDRAM3_SDWE、SDRAM3_SDCKE、SDRAM3_SDCAS 和 SDRAM3_SDRAS引脚连接SDRAM3(6)的引脚CS、WE、CKE和CAS ;SDCtrlSwitch单元的字节选通信号弓丨脚EMIF_BE[3:0]连接DM642(1)外部存储器接口的BE [3:0]引脚,SDRAM2_BE [3:0]引脚连接SDRAM2 (5)的DQM引脚,SDRAM3_BE [3:0]信号引脚连接SDRAM3 (6)的DQM引脚。FPGA (2)中的SDRAM写控制信号产生单元SDCtrl_FPGA的行同步信号H_ccd,场同步信号V_ccd,点时钟Pclk_ccd信号引脚分别连接CXD采集模块⑷的行H、场V、点P信号。FPGA (2)中的数据流单元DataProcess的CCD_data[7. · O]信号引脚连接CCD采集模块(4)的AD输出数据引脚CCD_Data[7. .0] ;DataProcess单元的Emif_ED信号引脚连接 DM642(1) ^ ED[31:0]信号引脚,DataProcess 单元的 SDRAM2_ED[31:0]信号引脚连接SDRAM2 (5)的 D [31:0] ;SDRAM3_ED [31:0]信号连引脚连接 SDRAM3 (6)的 D [31:0]引脚。FPGA⑵中SDRAM切换流程如图2所示。系统采用直接用FPGA⑵控制CXD图像数据直接写入作为数据缓存的SDRAM,并在FPGA的控制下以场同步信号作为切换,将两块乒乓操作的SDRAM轮流接入DSP的CE2空间的方法。具体操作步骤为在系统初始化阶段将DSP的CEO,CE2空间设为32位的同步存储空间,并配置增强的直接存储器访问EDMA通道,并将外部中断信号INT4作为EDMA通道传输的触发源,为奇偶场图像数据开辟存储空间。同时FPGA⑵对SDRAM2(5)及SDRAM3 (6)完成读写模式配置,刷新及预充电等配置操作。然后系统等待图像数据输入FPGA (2),并判断数据是奇数场数据或是偶数场数据,若为奇数场数据则将图像数据存入SDRAM2(5),将SDRAM3(6)接入DM642(1)的EMIF总线。若为偶数场数据则将数据存入SDRAM3(6),将SDRAM2(5)接入DM642(1)的EMIF总线。最后以场同步信号作为一场图像接收完成的标志,由FPGA(2)产生图像接受完成的中断信号通知DSP通过EDMA通道将数据从连接在EMIF总线上的SDRAM搬移到SDRAMl (3)中。FPGA (2)在奇数帧要完成的操作步骤为a)将 CE2 连接 SDRAM2 (5)片选信号 SDCS,b)EMIF的SDRAM控制信号直通到SDRAM2 (5)的控制信号,包括SDRAS、SDCAS、SDCKE、SDWE,c)EMIF 地址线 EA [17. . 3]连接 SDRAM2 (5)的地址线 A,d)字节使能信号BE [3. . O]连接SDRAM2 (5)的字节选通信号DQM,e)数据总线 ED [31. . O]连接 SDRAM2 (5)数据线 D,f)根据C⑶数据时序,即行场点同步信号由FPGA (2)产生写SDRAM的控制信号,地址操作信号,g)将FPGA⑵产生的写SDRAM控制地址信号,连接到SDRAM3 (6),h) CXD数据有效期间,将数据连续地写入SDRAM3 (6),i) 一帧数据写完向DSP发出中断;·偶数帧时将CE2连接SDRAM3 (6)片选,并将SDRAM2 (5)与SDRAM3 (6)做交换,其它操作步骤与奇数帧的操作步骤相同。当然,以上所述仅是本发明的一种优选实施方式而已,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种提高实时视频采集EMIF接口速度的方法,该方法利用两块SDRAM进行乒乓操作作为图像数据缓冲来提高DSP的EMIF接口数据采集速度,以满足视频实时采集要求,其特征在于由一个系统核心处理器DM642 (I)、一个FPGA (2)、一个CXD采集模块(4)和三个 SDRAM——一个主存储器件SDRAMl (3)、和两个辅助存储器件SDRAM2 (5)、SDRAM3 (6),所述 DM642 (I)外部存储器接口 的 SDffE,EcIkout2,SDCAS,SDRAS,EA[17:3]、ED[31:0]和 BE[3:0] 信号引脚分别连接SDRAMl (3)的WE、CKE、CAS、RAS、A、D和DQM引脚,CE0引脚连接SDRAM1⑶ 的 /CS 引脚,同时 SDffE, Eclkout2、SDCAS, SDRAS, EA[17:3]、ED[31:0]、BE[3:0]及 CE2 信号输入FPGA (2);并将FPGA(2)输出控制存储器信号引脚分别连接SDRAM2 (5)的A、DQM、D、 WE、CKE, CAS、RAS、和 /CS 以及 SDRAM3 (6)的 A、DQM、D、WE、CKE, CAS、RAS、和 /CS ;FPGA (2) 输出中断信号引脚连接DM642 (I)的外部中断信号引脚INT4 ;CCD采集模块(4)的行、场、点同步信号H、V、P及CCD数据引脚CCD_Data[7:0]连接到FPGA (2)。
2.根据权利要求I所述的一种提高实时视频采集EMIF接口速度的方法,其特征在于 FPGA⑵内部包括数据输入输出选通控制单元SDCtrlSwitch,SDRAM写控制信号产生单元 SDCtrl_FPGA,数据流单元DataProcess ;输入输出选通控制单元判断图像数据是奇数场或是偶数场来产生相应的选通控制信号,SDRAM写控制信号产生单元根据CCD图像数据的同步信号产生SDRAM的写入控制信号,数据流单元数据总线上数据的流向及输入输出状态。
3.根据权利要求I所述的一种提高实时视频采集EMIF接口速度的方法,其特征在于 FPGA的内部结构中,数据输入输出选通控制单元SDCtrlSwitch的读SDRAM控制信号Emif_ SDWE、Emif_SDCKE、Emif_SDCAS 和 Emif_SDRAS 分别连接 DM642 (I)外部存储器接口 的 SDRAM 控制信号引脚SDWE、SDCKE, SDCAS和SDRAS ;SDCtrlSwitch单元的Emif_SDCE信号引脚连接 DM642(1)的 CE2 空间选通信号引脚 CE2 ;SDCtrlSwitch 单元的 SDRAM2_SDCS、SDRAM2_ SDW、SDRAM2_SDCKE、SDRAM2_SDCAS 和 SDRAM2_SDRAS 引脚连接 SDRAM2 (5)的引脚 /CS、WE、 CKE 和 CAS ;SDCtrlSwitch 单元的 SDRAM3_SDCS、SDRAM3_SDWE、SDRAM3_SDCKE、SDRAM3_SDCAS 和 SDRAM3_SDRAS 引脚连接 SDRAM3 (6)的引脚 CS、WE、CKE 和 CAS ;SDCtrlSwitch 单元的字节选通信号引脚EMIF BE[3:0]连接DM642(1)外部存储器接口的BE[3:0]引脚,SDRAM2_ BE [3:0]引脚连接 SDRAM2(5)的 DQM 引脚,SDRAM3_BE[3:0]信号引脚连接 SDRAM3 (6)的 DQM 引脚;FPGA⑵中的SDRAM写控制信号产生单元SDCtrl_FPGA的行同步信号H_ccd,场同步信号V_ccd,点时钟Pclk_ccd信号引脚分别连接CXD采集模块⑷的行H、场V、点P信号; FPGA (2)中的数据流单元DataProcess的CCD_data[7. . O]信号引脚连接CCD采集模块(4) 的AD输出数据引脚CCD_Data [7. . O] ;DataProcess单元的Emif_ED信号引脚连接DM642 (I) ^ ED [31:0]信号引脚,DataProcess 单元的 SDRAM2_ED [31:0]信号引脚连接 SDRAM2 (5)的 D [31:0] ;SDRAM3_ED[31:0]信号连引脚连接 SDRAM3 (6)的 D [31:0]引脚;用 FPGA ⑵控制 CXD图像数据直接写入作为数据缓存的存储器件SDRAM2 (5)和SDRAM3 (6),并在FPGA (2)的控制下以场同步信号作为切换,将两块乒乓操作的存储器件SDRAM2 (5)和SDRAM3(6)轮流接入DSP的CE2空间。
4.根据权利要求I所述的一种提高实时视频采集EMIF接口速度的方法,其特征在于首先,在系统初始化阶段将DSP的CEO,CE2空间设为32位的同步存储空间,并配置增强的直接存储器访问通道EDMA,并将外部中断信号INT4作为EDMA通道传输的触发源,为奇偶场图像数据开辟存储空间;然后,系统等待图像数据输入FPGA(2),并判断数据是奇数场数据或是偶数场数据,若为奇数场数据则将图像数据存入SDRAM2 (5),将SDRAM3 (6)接入DM642(1)的EMIF总线;若为偶数场数据则将数据存入SDRAM3 (6),将SDRAM2 (5)接入 DM642(1)的EMIF总线;最后,以场同步信号作为一场图像接收完成的标志,由FPGA(2)产生图像接受完成的中断信号通知DSP通过EDMA通道将数据从连接在EMIF总线上的SDRAM 搬移到SDRAMl (5)中。
5.根据权利要求I所述的一种提高实时视频采集EMIF接口速度的方法,其特征在于 所述FPGA (2)在奇数帧要完成的操作步骤为a)将CE2连接SDRAM2(5)片选信号SDCS,b)EMIF的SDRAM控制信号直通到SDRAM2(5)的控制信号,包括SDRAS、SDCAS, SDCKE, SDffE,c)EMIF地址线EA[17. · 3]连接SDRAM2 (5)的地址线A,d)字节使能信号BE[3. . O]连接SDRAM2(5)的字节选通信号DQM,e)数据总线ED[31. · O]连接SDRAM2 (5)数据线D,f)根据CXD数据时序,即行场点同步信号由FPGA(2)产生写SDRAM的控制信号,地址操作信号,g)将FPGA(2)产生的写SDRAM控制地址信号,连接到SDRAM3 (6),h)CXD数据有效期间,将数据连续地写入SDRAM3 (6),i)一帧数据写完向DSP发出中断;偶数帧时将CE2连接SDRAM3 (6)片选,并将SDRAM2 (5)与SDRAM3 (6)做交换,其它操作步骤与奇数帧的操作步骤相同。
全文摘要
本发明提出一种提高实时视频采集EMIF接口速度的方法,本方法由核心处理器DM642、FPGA、CCD采集模块和三个SDRAM存储器件SDRAM1组成,外部存储器接口的信号引脚分别连接SDRAM1的引脚,CE0引脚连接SDRAM1的/CS引脚,FPGA输控制存储器信号引脚分别连接SDRAM2的输出中断信号引脚,CCD采集模块的行、场、点同步信号H、V、P及CCD数据引脚连接到FPGA。采用本发明通过FPGA交替选通DSP与两块SDRAM之间的数据总线实现图像数据的双缓存乒乓操作,并通过FPGA产生写控制信号将CCD数据直接写入两块SDRAM。完成了高清晰图像的实时采集任务,有效提高了EMIF总线数据交换速度。
文档编号H04N5/765GK102938830SQ20111023387
公开日2013年2月20日 申请日期2011年8月16日 优先权日2011年8月16日
发明者邓松峰, 徐起, 袁承宗 申请人:上海航天测控通信研究所