一种对视频信号的存取进行控制的装置的制作方法

文档序号:7779142阅读:227来源:国知局
专利名称:一种对视频信号的存取进行控制的装置的制作方法
技术领域
本发明属于视频传输技术领域,涉及一种对视频数据的存取进行控制的装置,特别用于以ARM公司提出AXI总线为系统总线的片上系统中,视频数据需要存储在外部存储体中,而外部存储体作为AXI总线的从设备的情形。
背景技术
随着片上系统在视频领域的应用发展和64位系统总线位宽的广泛应用,有一类以64位宽的AXI总线为系统总线的片上系统也得到了一定的发展。AXI (Advanced extensible Interface)总线是ARM公司提出的总线协议的一部分,是一种面向高性能、高带宽、低延迟的片内总线。对于AXI总线来说,其采用系统时钟,一般频率较高。而承载视频数据的视频信号中,视频数据的位宽通常为对,其频率通常为一些标准约定的频率,一般频率较低。在带有视频处理的片上系统中,为了支持较复杂应用,比如视频运动估计等,需要缓存很多帧视频图像进行动态分析,而片上又没有足够的空间来存储多帧图像,因此需要将视频数据存储到外部存储体中,以提供足够大的数据缓存区。这样就会出现视频信号和总线信号频率不一致和数据位宽不一致的问题。

发明内容
为了解决现有技术存在的问题,本发明提供一种对视频数据的存取进行控制的装置。本发明所提出的一种视频数据存取控制装置,其特征在于,该装置包括写通道和读通道,其中写通道用于将视频数据通过系统总线存储到系统总线上挂接的外部存储体中;读通道用于将视频数据通过系统总线从所述外部存储体中读取出来;所述写通道进一步包括缓存控制模块Si,先入先出存储器1S2和总线写控制模块S3 ;所述读通道进一步包括总线读控制模块S4和先入先出存储器2S5。本发明通过在视频信号和AXI总线间加入跨时钟域、两端位宽不同的先入先出存储器来解决视频信号和总线信号频率和位宽不一致的问题,并采用了三个并行写控制和三个并行读控制来实时存取视频数据,有效地利用总线带宽,避免总线的竞争。


图1是视频数据存取控制装置结构框图。图2是写地址控制模块控制流程图。图3是写数据控制模块控制流程图。图4是写突发计数器更新模块控制流程图。图5是读地址控制模块控制流程图。
图6是读数据控制模块控制流程图。图7是读突发计数器更新模块控制流程图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。本发明采用了使用跨时钟域、两端位宽不同的先入先出存储器来缓存储视频数据,然后再通过AXI总线来将视频数据存储到外部存储体或者从外部存储体中读出的一种对视频数据的存取进行控制的装置,该装置基于FPGA实现。本发明所述的控制装置适用于使用64位宽的AXI总线为系统总线的片上系统,以及将视频数据(视频数据位宽对位)通过AXI总线存取于外部存储体中。在视频存取过程中,会面对两个问题频率不一致和数据位宽不一致。对于AXI总线来说,其采用系统时钟,一般频率较高;而对于视频信号来说,它以一些约定的固定频率传输,一般频率较低。因此本发明在视频信号和AXI总线间加入一个跨时钟域、两端位宽不同的FIFO来将位宽对位的视频数据存储到64位宽的AXI总线上,给出了一种用于视频存取的控制方法。这里, 视频信号可以是数字视频接口(Digital VisuaUnterfachDVI)视频信号或者高清晰度多媒体接口(High DefinitionMultimedia Interface,HDMI)信号的视频分量,其包括同步信号和视频数据。同步信号有帧同步信号、行同步信号和数据有效信号,在数据有效信号置高时,以HDMI/DVI时钟采样得到的视频数据即为图像的一个像素,就是本发明所述的视频数据。本发明的视频数据信息采用了最常用的真彩色,为M位宽。图1是视频数据存取控制装置的结构框图,如图1所示,本发明所提出的对视频数据的存取进行控制的装置包括写通道和读通道,其中写通道用于将视频数据通过系统总线存储到系统总线上挂接的外部存储体中;读通道用于将视频数据通过系统总线从所述外部存储体中读取出来。所述写通道进一步包括缓存控制模块Si,先入先出存储器1S2和总线写控制模块S3,其中缓存控制模块Sl用于将视频数据写入到先入先出存储器1S2中,M位的视频数据线连接到先入先出存储器1S2的输入信号的[24:0]位;首先缓存控制模块Sl以HDMI/DVI 视频信号时钟周期在数据有效信号为高时进行采样得到视频数据,然后将得到的视频数据存入先入先出存储器1S2中。视频数据线最多能支持32位的扩展。先入先出存储器1S2用于缓存视频数据。与缓存控制模块Sl连接的部分采用了 32位宽和视频信号时钟,将视频数据同步地写入先入先出存储器1S2内部,但视频数据通常是M位真彩色,一个M位代表一个像素,因此需将先入先出存储器1S2输入信号的 [31:25]位置0 ;与总线写控制模块S3连接的部分采用了 64位数据位宽和系统总线时钟, 使之与总线写控制模块S3同步。这里,先入先出存储器1S2与缓存控制模块Sl连接的部分采用了 32位宽的目的是为了与总线写控制模块S3相对应,使两个32位的视频数据(存储了 2个M位像素)经过先入先出存储器1S2后产生一个64位的总线数据,实现了数据的对齐,避免了非对齐时的像素拼接。总线写控制模块用于读出先入先出存储器1S2的视频数据,然后通过AXI系统总线将视频数据存储到外部存储体中,总线写控制模块进一步包括写地址控制模块,写数据控制模块和写突发计数器更新模块,总线写控制模块所执行的控制是基于FPGA用电路来实现的,其采用所述三个模块进行并行控制,主要的控制信号是写突发开始信号和写突发计数器,通过二者的配合完成一次AXI总线的写突发传输。其中假定一次突发传输M个64位数据,那么对于写地址控制模块,其具体控制流程如图2所示,如果帧同步信号为高时写地址设置为外部存储体的某个固定地址,该固定地址可由软件来配置;否则,如果写突发开始信号为0、且先入先出存储器1S2已存在N个数据(N >= M)、且写突发计数器为0时,则更新写地址,将写地址更新为后移M*8字节的地址位置;然后设置总线写控制模块发起AXI写请求时的写地址有效信号为有效,即AW_VALID信号为高,如该地址的外部存储体响应了该写请求,则外部存储体设置写地址准备就绪信号AW_READY为高;最后,设置写突发开始信号为高,即为写数据控制模块的使能控制信号。对于写数据控制模块,其具体控制流程如图3所示,如果写突发开始信号为高,表明数据要写入位置的外部存储体已经允许,则进行后面的动作,否则该模块不作任何动作; 然后判断先入先出存储器1S2是否为空,如果不空,表明先入先出存储器1S2中存有数据, 则取出一个数据放到AXI总线的数据线上,然后设置写数据有效信为高,如果外部存储体可以写入该数据,这时AXI总线会返回写数据准备就绪信号W_READY信号为高,因此当看到W_READY为高时,重复上述过程,当写突发计数器为M-I时,执行上述过程的同时, 设置最后一个数据信号线为高。对于写突发计数器更新模块,其具体控制流程如图4所示,如果写数据有效信号 W.VALID和写数据准备就绪信号W_READY同时有效(表明当时的一个64位数据已被接受, 并会将其写入外部存储体中),这时如果写突发计数器不等于M-I时,则写突发计数器累加 1 ;如果等于M-1,则将写突发计数器置为0,同时将写突发开始信号设置为0,表明一次写突发结束。所述读通道用于读取出外部存储体中的视频数据,因此读通道较写通道来说只有从AXI总线到先入先出存储体FIFO的处理,该过程也是基于FPGA,用实际的硬件电路实现。所述读通道进一步包括总线读控制模块S4和先入先出存储器2S5。所述总线读控制模块S4采用三个模块进行数据读取的并行控制读地址控制模块,读数据控制模块和读突发计数器更新模块,主要的控制信号是读突发开始信号和读突发计数器,通过二者的配合完成一次AXI总线的读突发传输。假定一次突发的长度是M个64位数据,那么对于读地址控制模块,其具体控制流程如图5所示,如果帧同步信号为高时读地址设置为外部存储体的某个固定地址,该固定地址可由软件来配置,软件保证读写地址的一致性;否则,如果先入先出存储器2S5不满且读突发计数器为0时,则更新读地址,即累加 M*8,也就是将读地址更新为后移M*8字节的地址位置;然后设置总线读控制模块发起AXI 读请求时的地址有效信号为有效,即AR_VALID信号为高,如该地址的外部存储体响应了该读请求,则外部存储体设置读地址准备就绪信号AR_READY为高;最后,设置读突发开始信号为高,即为读数据控制模块的使能控制信号。对于读数据控制模块,其具体控制流程如图6所示,如果读突发开始信号为高,表明数据要读取位置的外部存储体已经允许,则进行后面的动作,否则该模块不作任何动作;然后判断先入先出存储器2S5是否已满,如果不满,表明可以将AXI总线的数据线上的数据存下来,则设置读数据准备就绪信号R_READY为高,如果外部存储体准备好数据,这时 AXI总线会返回读数据有效信号R_VALID信号为高,因此当看到R_VALID为高时,重复上述过程,当读到该次突发的最后一个数据时会看到最后一个数据信号线被外部存储体设置为高,数据读取的结束由读突发计数器更新模块来完成。对于读突发计数器更新模块,其具体控制流程如图7所示。如果读数据有效信号 R.VALID和读数据准备就绪信号R_READY同时有效(表明当时的一个64位的数据已准备好,并将会写入先入先出存储器2S5),这时如果读突发计数器不等于M-I时,则读突发计数器累加1 ;如果等于M-I时,则将读突发计数器置为0 (表明一次读突发结束),同时将读突发开始信号设置为0,关闭读数据控制模块。以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种视频数据存取控制装置,其特征在于,该装置包括写通道和读通道,其中 写通道用于将视频数据通过系统总线存储到系统总线上挂接的外部存储体中; 读通道用于将视频数据通过系统总线从所述外部存储体中读取出来;所述写通道进一步包括缓存控制模块(Si),先入先出存储器1(S》和总线写控制模块(S3);所述读通道进一步包括总线读控制模块(S4)和先入先出存储器2 (S5); 其中,所述总线写控制模块(S; )进一步包括三个并行写模块写地址控制模块,写数据控制模块和写突发计数器更新模块;所述总线读控制模块(S4)进一步包括三个并行读模块读地址控制模块,读数据控制模块和读突发计数器更新模块。
2.根据权利要求1所述的方法,其特征在于,所述缓存控制模块(Si)用于将视频数据写入到先入先出存储器1(S》中;所述缓存控制模块(Si)首先以视频信号时钟周期在数据有效信号为高时进行采样得到视频数据,并将得到的视频数据存入先入先出存储器1 (S2) 中。
3.根据权利要求1所述的方法,其特征在于,所述先入先出存储器1(S》用于缓存视频数据,其与缓存控制模块(Si)连接部分采用了 32位宽和视频信号时钟,与总线写控制模块 (S3)连接的部分采用了 64位数据位宽和系统总线时钟,以实现数据的对齐。
4.根据权利要求1所述的方法,其特征在于,所述总线写控制模块(S3)用于读出先入先出存储器1(S》的视频数据,然后通过系统总线将视频数据存储到外部存储体中。
5.根据权利要求1所述的方法,其特征在于,对于所述写地址控制模块如果帧同步信号为高,将写地址设置为外部存储体的某个固定地址;如果帧同步信号为低,则如果写突发开始信号为0、先入先出存储器1 (S2)已存在N个数据,其中,N > = M,且写突发计数器为0,则将写地址更新为后移M*8字节的地址位置;然后设置所述总线写控制模块发起总线写请求时的写地址有效信号为有效,即AW_ VALID信号为高,如该地址的外部存储体响应了该写请求,则外部存储体设置写地址准备就绪信号AW_READY为高;最后,设置写突发开始信号为高,即为写数据控制模块的使能控制信号。
6.根据权利要求1所述的方法,其特征在于,对于所述写数据控制模块如果写突发开始信号为高,表明数据要写入位置的外部存储体已经允许,则进行后面的动作,否则所述写数据控制模块不作任何动作;然后判断先入先出存储器1(S2)是否为空,如果不空,表明先入先出存储器1(S2)中存有数据,则取出一个数据放到系统总线的数据信号线上,然后设置写数据有效信号W_VALID 为高,如果外部存储体可以写入该数据,这时系统总线会返回写数据准备就绪信号W_READY 信号为高,当看到W_READY为高时,重复上述过程;当写突发计数器为M-I时,执行上述过程的同时,设置最后一个数据信号线为高。
7.根据权利要求1所述的方法,其特征在于,对于所述写突发计数器更新模块 如果写数据有效信号W_VALID和写数据准备就绪信号W_READY同时有效,这时如果写突发计数器不等于M-I时,则写突发计数器累加1 ;如果等于M-1,则将写突发计数器置为 0,同时将写突发开始信号设置为0,表明一次写突发结束。
8.根据权利要求1所述的方法,其特征在于,对于所述读地址控制模块如果帧同步信号为高,将读地址设置为外部存储体某个固定地址;如果帧同步信号为低,则如果先入先出存储器2 (SO不满且读突发计数器为0,则将读地址更新为读地址后移 M*8字节的地址位置;然后设置所述总线读控制模块发起总线读请求时的地址有效信号为有效,即AR_VALID 信号为高,如该地址的外部存储体响应了该读请求,则外部存储体设置读地址准备就绪信号AR_READY为高;最后,设置读突发开始信号为高,所述读突发开始信号为读数据控制模块的使能控制信号。
9.根据权利要求1所述的方法,其特征在于,对于所述读数据控制模块如果读突发开始信号为高,表明数据要读取位置的外部存储体已经允许,则进行后面的动作,否则所述读数据控制模块不作任何动作;然后判断先入先出存储器2 (S5)是否已满,如果不满,表明可以将系统总线的数据信号线上的数据存下来,则设置读数据准备就绪信号R_READY为高,如果从外部存储体中可以读出数据,这时系统总线会返回读数据有效信号R_VALID信号为高,因此当R_VALID为高时,重复上述过程,当读到该次突发的最后一个数据时最后一个数据信号线被外部存储体设置为高,数据读取的结束由所述读突发计数器更新模块来完成。
10.根据权利要求1所述的方法,其特征在于,对于所述读突发计数器更新模块 如果读数据有效信号R_VALID和读数据准备就绪信号R_READY同时有效,这时如果读突发计数器不等于M-1,则读突发计数器累加1 ;如果读突发计数器等于M-1,则将读突发计数器置为0,表明一次读突发结束,同时将读突发开始信号设置为0,关闭所述读数据控制模块。
全文摘要
本发明公开了一种对视频数据的存取进行控制的装置,该装置包括写通道和读通道,写通道包括缓存控制模块,先入先出存储器1和总线写控制模块;读通道包括总线读控制模块和先入先出存储器2。其中,缓存控制模块将视频数据暂存在先入先出存储器1中,然后由总线写控制模块通过三个并行写模块将视频数据通过系统总线存入外部存储体中;总线读控制模块通过三个并行读模块将外部存储体中的视频数据读出,暂存到先入先出存储器2中。本发明通过采用跨时钟域、两端数据宽度不同的先入先出存储器来进行数据缓冲,并利用三个并行写控制和三个并行读控制来实时存取视频数据,从而能够有效地利用总线带宽,避免总线的竞争。
文档编号H04N7/24GK102497544SQ20111041989
公开日2012年6月13日 申请日期2011年12月15日 优先权日2011年12月15日
发明者倪素萍, 张森, 杜学亮, 林啸, 蒿杰, 郭若杉 申请人:中国科学院自动化研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1