《CCD信号处理电路高速数据流仲裁控制方法.pdf》由会员分享,可在线阅读,更多相关《CCD信号处理电路高速数据流仲裁控制方法.pdf(12页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103019645 A(43)申请公布日 2013.04.03CN103019645A*CN103019645A*(21)申请号 201310005448.8(22)申请日 2013.01.08G06F 5/06(2006.01)(71)申请人江苏涛源电子科技有限公司地址 213000 江苏省常州市武进区遥观镇通济村(72)发明人张晓琳(74)专利代理机构常州市夏成专利事务所(普通合伙) 32233代理人姜佩娟(54) 发明名称CCD信号处理电路高速数据流仲裁控制方法(57) 摘要本发明涉及信号处理电路数据流控制方法技术领域,尤其是一种CCD信号处理电路高速数据流仲裁。
2、控制方法,包括算法模块、读地址FIFO缓冲模块、读数据FIFO缓冲模块、写地址FIFO缓冲模块、写数据FIFO缓冲模块、DDR2仲裁控制器和DDR2控制器,算法模块向DDR2仲裁控制器提出读、写请求,读地址FIFO缓冲模块、读数据FIFO缓冲模块、写地址FIFO缓冲模块、写数据FIFO缓冲模块分别缓存欲读写的地址和数据,DDR2仲裁控制器对DDR2的各种申请进行判断、排序,安排算法控制DDR2存储器。本发明可大大节省外部存储器的数量,节约资源和PCB空间,提高DDR2的使用效率。(51)Int.Cl.权利要求书2页 说明书5页 附图4页(19)中华人民共和国国家知识产权局(12)发明专利申请权。
3、利要求书 2 页 说明书 5 页 附图 4 页1/2页21.一种CCD信号处理电路高速数据流仲裁控制方法,包括算法模块(1)、读地址FIFO缓冲模块(2)、读数据FIFO缓冲模块(3)、写地址FIFO缓冲模块(4)、写数据FIFO缓冲模块(5)、DDR2仲裁控制器(6)和DDR2控制器(7),算法模块(1)和DDR2仲裁控制器(6)之间设有缓存读、写信号的读地址FIFO缓冲模块(2)、读数据FIFO缓冲模块(3)、写地址FIFO缓冲模块(4)、写数据FIFO缓冲模块(5),DDR2仲裁控制器(6)连接到DDR控制器(7),DDR控制器(7)直接连接外部的DDR2存储器(8),其特征是,控制方法。
4、如下, 第一步,算法模块(1)向DDR2仲裁控制器(6)提出读、写请求;第二步,读地址FIFO缓冲模块(2)、读数据FIFO缓冲模块(3)、写地址FIFO缓冲模块(4)、写数据FIFO缓冲模块(5)分别缓存欲读写的地址和数据;第三步,DDR2仲裁控制器(6)对DDR2的各种申请进行判断、排序,安排算法控制DDR2存储器(8)。2. 根据权利要求1所述的CCD信号处理电路高速数据流仲裁控制方法,其特征是,所述的算法模块(1)向DDR2仲裁控制器(6)提出读请求的过程是:DDR2仲裁控制器(6)接收到读停止信号后,将流水线上的数据传输完毕,对该部分FIFO进行处理:a当读地址FIFO缓冲模块(2)。
5、的地址不为空,DDR2仲裁控制器(6)根据其内部仲裁情况读响应地址数据并存储进读数据FIFO缓冲模块(3);b当读地址FIFO缓冲模块(2)的地址连续两个时钟周期为空,则忽略该读申请;c读请求信号上升沿有效,当读地址FIFO缓冲模块(2)的地址数据充足,即超过高阈值,则申明读停止信号,下降沿有效,DDR2仲裁控制器(6)不再从读地址FIFO缓冲模块(2)读取新的地址,将流水线上的数据送完之后停止。3. 根据权利要求1所述的CCD信号处理电路高速数据流仲裁控制方法,其特征是,所述的算法模块(1)向DDR2仲裁控制器(6)提出写请求的过程是: aDDR2仲裁控制器(6)对算法模块(1)的写请求输出。
6、响应,当待写的地址或数据写入FIFO而达不到高阈值时,申请写申请;当FIFO中数据不足8个时,申请写停止信号;bDDR2仲裁控制器(6)在接收到写申请后,连续两时钟周期内发现写地址FIFO缓冲模块(4)和写数据FIFO缓冲模块(5)中的数据均为空,则忽略该次申请;DDR2仲裁控制器(6)接收到停止信号后,继续读16个地址FIFO和16个数据FIFO中的数据写入DDR2存储器(8),直至地址FIFO和数据FIFO中的数据为空。4. 根据权利要求1所述的CCD信号处理电路高速数据流仲裁控制方法,其特征是,所述的读地址FIFO缓冲模块(2)控制的过程是:a算法模块(1)读DDR2存储器(8)空间的数。
7、据之前,需将想读的数据的地址写入读地址FIFO缓冲模块(2),当读地址FIFO缓冲模块(2)的存储器空间少于设定的低阈值时,算法模块(1)自动打地址进入到读地址FIFO缓冲模块(2),当多于设定的高阈值时,自动停止送地址到读地址FIFO缓冲模块(2);b算法模块(1)对欲读的地址个数进行计数,当个数达到想要读的数据的个数,停止送读地址至读地址FIFO缓冲模块(2);cDDR2仲裁控制器(6)在接收到读请求信号后负责将读地址FIFO缓冲模块(2)中的地址读出,并读出DDR2存储器(8)中该地址对应的数据送至读数据FIFO缓冲模块(3)。5. 根据权利要求1所述的CCD信号处理电路高速数据流仲裁控。
8、制方法,其特征是,所权 利 要 求 书CN 103019645 A2/2页3述的读数据FIFO缓冲模块(3)控制的过程是:a读数据FIFO缓冲模块(3)值少于设定的低阈值,当读地址FIFO缓冲模块(2)不为空且该轮申请读数据未申请时,向DDR2仲裁控制器(6)申请向读数据FIFO缓冲模块(3)中填充数据;当读地址FIFO缓冲模块(2)连续两时钟周期均为空且该轮申请读数据未申请时,不动作;当读地址FIFO缓冲模块(2)不为空且该轮申请读数据已申请时,不动作;当并且读地址FIFO缓冲模块(2)连续两时钟周期均为空且该轮申请读数据已申请时,停止申请;b读数据FIFO缓冲模块(3)的数据超过设定的高阈。
9、值时,向DDR2仲裁控制器(6)申请停止填充读数据,DDR2仲裁控制器(6)将在流水线上的数据传输完结束传输;c读数据FIFO缓冲模块()数据处于高阈值和低阈值之间时,当未申请读数据,不动作;当申请了读数据,且读地址FIFO不为空,不动作;当连续两个时钟周期读地址FIFO为空,申请停止传输数据。6. 根据权利要求1所述的CCD信号处理电路高速数据流仲裁控制方法,其特征是,所述的写地址FIFO缓冲模块(4)、写数据FIFO缓冲模块(5)控制的过程是:算法模块(1)将欲写的地址和数据发送至写地址FIFO缓冲模块(4)和写数据FIFO缓冲模块(5),a当写地址FIFO缓冲模块(4)和写数据FIFO缓。
10、冲模块(5)的数据超过设定的高阈值时,向DDR2仲裁控制器(6)申请将写地址FIFO缓冲模块(4)和写数据FIFO缓冲模块(5)中的数据写入相对应地址;b当数据低于设定的低阈值时申请停止写操作,DDR2仲裁控制器(6)收到写停止信号后,除将流水线上的数据全部写入相对应地址外,在地址寄存器中地址不空时,还需另写入16个地址的数据。权 利 要 求 书CN 103019645 A1/5页4CCD 信号处理电路高速数据流仲裁控制方法技术领域0001 本发明涉及信号处理电路数据流控制方法技术领域,尤其是一种CCD信号处理电路高速数据流仲裁控制方法。 背景技术0002 在CCD摄像机中,为了满足算法的需求。
11、,经常需要在FPGA周围连接一些存储器,作为算法数据缓存,通常采用的方法是在外围根据需要缓存数据的算法的个数,为FPGA连接相应数量的存储器,此方法是由算法直接操作外围存储器,对外围存储器进行数据的读写操作。 0003 在早期的CCD成像技术中,一般选用静态存储器(SRAM)作为缓冲器,在CCD摄像机的帧频不高,像素数不多的情况下,这可以满足系统要求,但是随着1080p数据格式的普及以及高帧频比当30帧甚至更高帧频视频流的采用,静态存储器的速度和容量已经无法满足系统需求,主要缺陷主要表现在:1:当运行的算法多,则需要使用较多的存储器,这大大增加了PCB版图的面积,增加了成本;2:静态存储器的数。
12、据容量一般不超过16M 位,已经无法存储下一帧1080p视频格式的2M像素(32M 位)的图像;3:静态存储器的操作速度一般不超过100MHz,无法满足30帧1080p数据的缓冲,因此急需采用更高速度、更大容量的存储器,并且在满足大容量、高速率传输的前提下尽量减少存储器的数量,以减小PCB版图的面积。 0004 因此虽然现有数据该结构采用了DDR2等高速、大容量存储器,但是均通过算法模块直接操作存储器。通过这种方式,需要为每个算法模块分配一个DDR2,DDR2可以在较短的时间内完成数据读写操作,剩下的时间进入空闲状态,或者将DDR2运行在数据读写速度较慢的情况下,这两种情况都大大的浪费DDR2。
13、的资源。 发明内容0005 为了克服现有的技术的不足,本发明提供了一种CCD信号处理电路高速数据流仲裁控制方法。 0006 本发明解决其技术问题所采用的技术方案是:一种CCD信号处理电路高速数据流仲裁控制方法,包括算法模块、读地址FIFO缓冲模块、读数据FIFO缓冲模块、写地址FIFO缓冲模块、写数据FIFO缓冲模块、DDR2仲裁控制器和DDR2控制器,算法模块和DDR2仲裁控制器之间设有缓存读、写信号的读地址FIFO缓冲模块、读数据FIFO缓冲模块、写地址FIFO缓冲模块、写数据FIFO缓冲模块,DDR2仲裁控制器连接到DDR控制器,DDR控制器直接连接外部的DDR2存储器,控制方法如下, 。
14、算法模块向DDR2仲裁控制器提出读、写请求;读地址FIFO缓冲模块、读数据FIFO缓冲模块、写地址FIFO缓冲模块、写数据FIFO缓冲模块分别缓存欲读写的地址和数据;DDR2仲裁控制器对DDR2的各种申请进行判断、排序,安排算法控制DDR2存储器。 0007 根据本发明的另一个实施例,进一步包括所述的算法模块向DDR2仲裁控制器提说 明 书CN 103019645 A2/5页5出读请求的过程是:DDR2仲裁控制器接收到读停止信号后,将流水线上的数据传输完毕,对该部分FIFO进行处理:当读地址FIFO缓冲模块的地址不为空,DDR2仲裁控制器根据其内部仲裁情况读响应地址数据并存储进读数据FIFO缓。
15、冲模块;当读地址FIFO缓冲模块的地址连续两个时钟周期为空,则忽略该读申请;读请求信号上升沿有效,当FIFO数据充足,即超过高阈值,则申明读停止信号,下降沿有效,DDR2仲裁控制器不再从读地址FIFO缓冲模块读取新的地址,将流水线上的数据送完之后停止。 0008 根据本发明的另一个实施例,进一步包括所述的算法模块向DDR2仲裁控制器提出写请求的过程是: DDR2仲裁控制器(6)对算法模块(1)的写请求输出响应,当待写的地址或数据写入FIFO而达不到高阈值时,申请写申请;当FIFO中数据不足8个时,申请写停止信号;DDR2仲裁控制器在接收到写申请后,连续两时钟周期内发现写地址FIFO缓冲模块和写。
16、数据FIFO缓冲模块中的数据均为空,则忽略该次申请;DDR2仲裁控制器接收到停止信号后,继续读16个地址FIFO和16个数据FIFO中的数据写入DDR2存储器,直至该FIFO为空。 0009 根据本发明的另一个实施例,进一步包括所述的读地址FIFO缓冲模块缓存地址的过程是:算法模块需要读存储器空间的数据之前,需要将想读的数据的地址写入读地址FIFO,当读地址FIFO的存储器空间少于设定的低阈值时,算法模块自动打地址进入到读地址FIFO,当多于设定的高阈值时,自动停止送地址到读地址FIFO;算法模块对欲读的地址个数进行计数,当个数达到想要读的数据的个数,即便此时读地址FIFO地址低于低阈值,也停。
17、止送读地址至FIFO;DDR2仲裁控制器在接收到读请求信号后负责将读地址FIFO中的地址读出,并读出DDR2存储器中该地址对应的数据送至读数据FIFO。 0010 根据本发明的另一个实施例,进一步包括所述的所述的读数据FIFO缓冲模块控制的过程是:读数据FIFO缓冲模块的值少于设定的低阈值,当读地址FIFO缓冲模块不为空且该轮申请读数据未申请时,向DDR2仲裁控制器申请向读数据FIFO缓冲模块中填充数据;当读地址FIFO缓冲模块连续两时钟周期均为空且该轮申请读数据未申请时,不动作;当读地址FIFO缓冲模块不为空且该轮申请读数据已申请时,不动作;当并且读地址FIFO缓冲模块连续两时钟周期均为空且。
18、该轮申请读数据已申请时,停止申请;读数据FIFO缓冲模块的数据超过设定的高阈值时,向DDR2仲裁控制器申请停止填充读数据,DDR2仲裁控制器将在流水线上的数据传输完结束传输;读数据FIFO缓冲模块数据处于高阈值和低阈值之间时,当未申请读数据,不动作;当申请了读数据,且读地址FIFO不为空,不动作;当连续两个时钟周期读地址FIFO为空,申请停止传输数据。 0011 根据本发明的另一个实施例,进一步包括所述的写地址FIFO缓冲模块、写数据FIFO缓冲模块控制的过程是:算法模块将欲写的地址和数据发送至写地址FIFO缓冲模块和写数据FIFO缓冲模块,当写地址FIFO缓冲模块和写数据FIFO缓冲模块的数。
19、据超过设定的高阈值时,向DDR2仲裁控制器申请将写地址FIFO缓冲模块和写数据FIFO缓冲模块中的数据写入相对应地址;当数据低于设定的低阈值时申请停止写操作,DDR2仲裁控制器收到写停止信号后,除将流水线上的数据全部写入相对应地址外,在地址寄存器中地址不空时,还需另写入16个地址的数据。 0012 本发明的有益效果是: (1)采用单片DDR2存储器用作为外部缓冲存储器,节省了存储器,节省了成本而且减说 明 书CN 103019645 A3/5页6少了PCB版图的面积;(2)采用DDR2资源仲裁控制器分配DDR2存储器,可以满足2个或2个以上的算法模块分时复用同一个高速控制的DDR2存储器,增加。
20、了DDR2的使用效率。附图说明0013 下面结合附图和实施例对本发明进一步说明。 0014 图1是CCD信号处理电路高速数据流仲裁控制方法流程图; 图2是算法模块需要读存储数据时读FIFO地址的流程图;图3是算法模块需要读存储数据时读FIFO数据的流程图;图4是算法模块往DDR2中写数据时的流程图;图中,1、算法模块,2.读地址FIFO缓冲模块,3、读数据FIFO缓冲模块,4、写地址FIFO缓冲模块,5、写数据FIFO缓冲模块,6、DDR2仲裁控制器,7、DDR2控制器,8、DDR2存储器。具体实施方式0015 如图1所示,一种CCD信号处理电路高速数据流仲裁控制方法,包括算法模块1、读地址F。
21、IFO缓冲模块2、读数据FIFO缓冲模块3、写地址FIFO缓冲模块4、写数据FIFO缓冲模块5、DDR2仲裁控制器6和DDR2控制器7,算法模块1和DDR2仲裁控制器6之间设有缓存读写信号的读地址FIFO缓冲模块2、读数据FIFO缓冲模块3、写地址FIFO缓冲模块4、写数据FIFO缓冲模块5,DDR2仲裁控制器6连接到DDR控制器7,DDR控制器7直接连接外部的DDR2存储器8,控制方法是,算法模块1向DDR2仲裁控制器6提出读、写请求;读地址FIFO缓冲模块2、读数据FIFO缓冲模块3、写地址FIFO缓冲模块4、写数据FIFO缓冲模块5分别缓存欲读写的地址和数据;DDR2仲裁控制器6对DDR。
22、2的各种申请进行判断、排序。算法模块1是FPGA处理图像数据所采用的方法,其需要外部存储器缓存图像数据。读地址FIFO缓冲模块2、读数据FIFO缓冲模块3、写地址FIFO缓冲模块4、写数据FIFO缓冲模块5分别用于缓存欲读写的地址和数据。DDR2仲裁控制器6,用于分时分配DDR2,决定此时DDR2资源用于哪个算法模块。DDR2控制器7,用于控制DDR2的读写操作。算法模块1不直接操作DDR2,而是通过DDR2仲裁控制器6、DDR2控制器7操作DDR2。算法模块1当需要存储数据或者读数据时,需要先将读写控制信号发送到DDR2仲裁控制器6,由DDR2仲裁控制器6决定此时是否将DDR2操作权利交给此。
23、算法,在算法模块和仲裁控制器之间有4个FIFO,分别用于:读地址缓存,读数据缓存,写地址缓存和写数据缓存。 0016 算法模块1向DDR2仲裁控制器6提出读请求输出响应过程如下,DDR2仲裁控制器6接收到读停止信号后,在将流水线上的数据传输完毕后,对该部分FIFO操作:DDR2仲裁控制器6在接收到请求信号后,如果读地址FIFO缓冲模块2的地址不为空,则根据其内部仲裁情况读响应地址数据并存储进读数据FIFO缓冲模块3,如果地址FIFO缓冲模块2的地址连续两个时钟周期为空,则忽略该读申请。读请求信号上升沿有效如果FIFO数据充足,即超过高阈值,则申明读停止信号,下降沿有效,此时,DDR2仲裁控制器。
24、不再从读地址FIFO缓冲模块2取新的地址,将流水线上的数据送完之后停止。 0017 算法模块1向DDR2仲裁控制器6提出写请求过程如下,DDR2仲裁控制器6对算法模块1的写请求输出响应,当待写的地址和数据全部写入FIFO而达不到高阈值时,申请写说 明 书CN 103019645 A4/5页7申请;当FIFO中数据不足8个时,申请写停止信号。 DDR2仲裁控制器在接收到写申请后,当连续两时钟周期内发现写地址或者写数据中的数据均为空,则忽略该次申请;DDR2仲裁控制器接收到停止信号后,继续读16个地址FIFO和16个数据FIFO中的数据写入DDR2存储器8,直至该FIFO为空。 0018 如图所示。
25、,所述的读地址FIFO缓冲模块2控制过程是:算法模块1需要读DDR2存储器8空间的数据之前,需要将想读的数据的地址写入读地址FIFO缓冲模块2,当读地址FIFO缓冲模块2的存储器空间少于设定的低阈值时,算法模块自动打地址进入到读地址FIFO缓冲模块2,当多于设定的高阈值时,自动停止送地址到读地址FIFO缓冲模块2。算法模块对欲读的地址个数进行计数,当个数达到想要读的数据的个数,即便此时读地址FIFO缓冲模块2地址低于低阈值,也停止送地址至读地址FIFO缓冲模块2。DDR2仲裁控制器在接收到读请求信号后负责将读地址FIFO缓冲模块2中的地址读出,并读出DDR2存储器8中该地址对应的数据送至读地址。
26、FIFO缓冲模块2。 0019 如图所示,读数据FIFO缓冲模块3控制的过程是:当读数据FIFO缓冲模块3的值少于设定的低阈值,则a.读地址FIFO缓冲模块2不为空且该轮申请读数据未申请时,则向DDR2仲裁控制器6申请向读数据FIFO缓冲模块3中填充数据;b.读地址FIFO缓冲模块2连续两时钟周期均为空且该轮申请读数据未申请时,不动作;c.读地址FIFO缓冲模块2不为空且该轮申请读数据已申请时,不动作;d.并且读地址FIFO连续两时钟周期均为空且该轮申请读数据已申请时,停止申请。如果读数据FIFO缓冲模块3的数据超过设定的高阈值时,向DDR2仲裁控制器6申请停止填;读数据,此时DDR2仲裁控制。
27、器6要将在流水线上的数据传输完才能结束传输。如果读数据FIFO缓冲模块3的数据处于高阈值和低阈值之间时,当未申请读数据,不动作;当申请了读数据,且读地址FIFO缓冲模块2不为空,则不动作;当连续两个时钟周期读地址FIFO缓冲模块2为空,则申请停止传输数据。 0020 当图所示,所述的写地址FIFO缓冲模块4、写数据FIFO缓冲模块5控制的过程是:算法模块将欲写的地址和数据发送至写地址FIFO缓冲模块4和写数据FIFO缓冲模块5,当写地址FIFO缓冲模块4和写数据FIFO缓冲模块5的数据超过设定的高阈值时,向DDR2仲裁控制器6申请将FIFO中的数据写入相对应地址,当数量低于设定的低阈值时申请停。
28、止写操作,DDR2仲裁控制器6收到写停止信号后除将流水线上的数据全部写入相对应地址外,在地址寄存器中地址不空时,还需要额外写入16个地址的数据。 0021 本发明一具体实施例如下:当算法需要读存储器空间的数据,需要将想读的数据的地址存储进读地址FIFO缓冲模块,当读地址FIFO缓冲模块的存储器空间少于设定的低阈值时(如768字节),算法模块自动将地址写入到读地址FIFO缓冲模块,当多于设定的高阈值时(如896字节),自动停止送地址到读地址FIFO缓冲模块。算法模块对欲读的地址个数进行计数,当个数达到想要读的数据的个数,即便此时读地址FIFO缓冲模块的地址低于低阈值,也停止送读地址至FIFO。D。
29、DR2仲裁控制器在接收到读请求信号后负责将读地址FIFO中的地址读出,并读出DDR2存储器8中该地址对应的数据,并送至读数据FIFO。DDR2仲裁控制器接收到读停止信号后,在将流水线上的数据传输完毕后,停止该部分FIFO操作;DDR2在接收到请求信号后,当读地址FIFO地址不为空,则在其他请求处理完毕后读响应地址数据并存储进读数据FIFO,当读地址FIFO地址连续两个时钟周期为空,则忽略该读申请。 说 明 书CN 103019645 A5/5页80022 本发明采用DDR2仲裁控制器分配DDR2存储器的读写时序,DDR2可以控制在相对高速的情况下,以高速的读写数据,对于2个或者以上的算法模块同时需要存储或者读写数据时,可以分时复用同一个高速控制的DDR2存储器,保证每个算法模块都能在规定的时间内完成数据的读写。本发明在算法模块较多时,可以大大的节省外部存储器的数量,节约资源和PCB空间;用DDR2资源仲裁控制器分配DDR2存储器,可以满足2个或2个以上的算法模块分时复用同一个高速控制的DDR2存储器,提高了DDR2的使用效率。 说 明 书CN 103019645 A1/4页9图1说 明 书 附 图CN 103019645 A2/4页10图2说 明 书 附 图CN 103019645 A10。