一种基于fpga的ccd控制电路的实现方法及其电路的制作方法

文档序号:7702496阅读:171来源:国知局
专利名称:一种基于fpga的ccd控制电路的实现方法及其电路的制作方法
技术领域
本发明涉及一种CXD成像的实现方法,尤其涉及一种基于FPGA的CXD相机的控制方法及其电路。
背景技术
目前,CCD时序控制电路主要采用FPGA实现,这种实现方式具有灵活、集成度高的优点,但是,对于某些如航天、军工等应用领域,能够得到的FPGA的资源和速度都非常有限,应用FPGA必然面临器件速度和面积的约束,这就要求针对FPGA的面积和速度进行优化设计以改善FPGA的性能。常规的针对速度的优化设计是通过对综合工具或布局布线工具施加约束条件来实现的。但是,在实际应用中,这种常规的方法产生的效果并不显著,导致优化后的结果依然不能满足设计要求。
·
在某个工程项目中,需要采用FPGA实现CCD立体相机的时序控制电路,该相机的焦面结构应用三线阵测量原理进行设计,焦面由一片帧转移CCD构成,CCD分辨率为1024X 1024,在1024行中选择3行形成一个3线阵测量系统,其余行不用。这种焦面结构广泛应用在立体测量中。由于采用推扫工作模式,图像的帧频是固定的,即规定必须在84ms的帧周期内将3行有效像元读出。因为项目可用的FPGA的资源和速度均有限,该电路的时序裕量和速度性能无法达到设计要求,为了解决这个问题,施加约束条件对设计进行优化,但效果不显著,因此,转向电路实现结构上寻求解决方法。考虑到像元读出信号是所有驱动信号中频率最快的信号,也就是说,,降低像元读出信号的频率是改进FPGA速度性能的关键,当然,在降低频率的同时还必须保证在规定的帧周期内将整帧图像读出,即在保证电路功能不受影响前提下对FPGA的电路结构进行优化以提高性能。

发明内容
为了解决背景技术中存在的上述技术问题,本发明提出了一种大幅度降低FPGA的工作频率并且结构简单易于操作的FPGA控制CCD的实现方法及其电路。本发明的技术解决方案是本发明提出了一种基于FPGA的CCD控制电路的实现方法,包括由FPGA产生CCD驱动时序并控制CCD曝光和读出的步骤;所述驱动时序包括将存储区的图像逐行转移到移位寄存器中的行转移时序,所述行转移时序转移到移位寄存器中的图像行包括有用图像行以及无用图像行,其特殊之处在于所述FPGA产生行转移时序将存储区的图像逐行转移到移位寄存器中时,将至少相邻2行无用图像行在移位寄存器中合并,有用图像行不合并。上述驱动时序还包括用于将移位寄存器中的像元依次读出的像元读出时序;所述像元读出时序与行转移时序交替进行。上述驱动时序还包括用于将感光区的图像逐行转移到存储区中的帧转移时序。一种基于FPGA的CXD控制电路,包括行转移时序电路,其特殊之处在于所述行转移时序电路包括有限状态机、信号发生器、输出组合逻辑电路以及输出寄存器;所述有限状态机依次通过信号发生器、输出组合逻辑电路接入输出寄存器;所述有限状态机接入输出组合逻辑电路;所述输出组合逻辑电路分别接入信号发生器和有限状态机。上述有限状态机由计数器组成。上述信号发生器由移位寄存器和触发器组成。上述输出组合逻辑电路由非门和与非门组成。上述输出寄存器由带置位端的触发器和带复位端的触发器组成。本发明的优点是I、降低FPGA工作速度。本发明提供的FPGA控制CXD的实现方法,降低了 FPGA产生的CCD像元读出时钟的频率,进而降低了 FPGA的工作频率,在读出方式上进行了改进,相当于减少了图像行的数量,用更短的时间将整帧图像读出。因此,采用这种读出方 式,在规定的帧周期内,可以用频率更低的时钟读出图像,进而降低产生驱动时序的FPGA的工作频率。假设像元读出周期为T,按常规方式双端口逐行读出时,估算的帧周期为1056X 546XT = 576576T,根据固定帧频的要求,应满足 576576T < 84ms,即 T < O. 145us,像元读出时钟频率应满足F = 1/T > 6. 9MHz ;如果按上述合并方式读出,估算的帧周期为(1056-500) X546XT = 303576T,根据固定帧频的要求,应满足303576 < 84ms,即T< O. 276us,像元读出时钟频率应满足F = 1/T > 3. 62MHz。因此,按常规方式逐行读出时,FPGA的工作频率要求不小于7MHz,而利用上述合并方式读出时,FPGA的工作频率要求不小于4MHz,显然,FPGA的速度需求明显降低,与常规的FPGA速度优化方法相比,这种方法的优化效果比较显著。相比于常规的逐行读出方式,仅用约50%的读出频率就可以读出整帧图像,有效降低了时序控制FPGA的工作频率,是一种效果显著的降低FPGA工作速度的设计方法。2、图像的信噪比提高。由于C⑶读出噪声随像元读出速度减少而减少,而C⑶读出噪声在总的噪声中占有大的比重,因此相比于常规的读出速度,这种方法有效地减少了 CCD读出噪声,提高了图像的信噪比。3、结构简单,易于操作。本发明所提供的FPGA控制CXD的实现方法只需要调整行转移时序,图像从CCD存储区向移位寄存器中转移时,每次只转移I行有用行,而连续转移2行无用行在移位寄存器中实现合并。4、应用范围广。本发明所提供的FPGA控制CXD的实现方法适用于单片面阵CXD用作3线阵或2线阵CCD使用的情况,这种焦面结构广泛应用于推扫方式的立体成像测量中。此外,在某些用中,当面阵CXD中有大量的无用像元行,并且时序控制电路采用FPGA实现时,这种方法也适用,应用范围广。


图I是本发明所提供的CXD读出模式及时序图;图2是本发明所提供的CCD行转移时序电路结构框图;图3是本发明所提供的CCD行转移时序电路图;图4是C⑶行转移时序图。
具体实施方式
本发明提出了一种FPGA控制CCD的实现方法,与常规方法相同的是都是采用FPGA产生CCD驱动时序,控制CCD曝光和读出。典型的帧转移CCD驱动时序包括帧转移时序、行转移时序和像元读出时序。控制CCD曝光和读出,常规的方法是FPGA先产生帧转移时序,将感光区的图像逐行转移到存储区中,再交替产生像元读出时序和行转移时序,将存储区的图像逐行转移到移位寄存器中,并将移位寄存器中的像元依次读出,即采用转移一行读出一行的读出方式,直到将存储区的所有图像行读出。与常规方法不同的是=FPGA产生特殊的CCD驱动时序,控制CCD曝光和读出,该驱动时序的特殊性在于行转移时序。FPGA产生的这种行转移时序的特征在于,能将相邻2行无用图像行在移位寄存器中合并,有用图像行不合并。参见图1,FPGAlOI产生特殊的CXD驱动时序,控制CXD曝光和读出。规定帧转移CXD图像感光区102和图像存储区103的像元结构均为MXN(行X列),移位寄存器104的像元结构为I XN(行X列)。以三线阵为例,在图像感光区102中定义3行图像,从上到下,行号依次为LINElth105,LINE2th106和LINE3th107,构成一个3线阵。规定在LINElth105 和LINE2th106之间的行及LINE2th106和LINE3th107之间的行为无用行,其他行均为有用行。在帧转移阶段108,FPGA101产生帧转移时钟ΦΡ 和ΦΜ ,将图像感光区102的M行图像逐行转移到图像存储区103。在单行转移读出阶段109,FPGAlOI产生行转移时钟ΦΜ 将图像存储区103的所有图像行向移位寄存器104方向移动I行,图像存储区103相邻移位寄存器104的I行图像被转移到CCD移位寄存器104中;FPGA产生像元读出时钟OLi将移位寄存器104中的N个像元依次读出。将图像存储区103包括行LINE3th107在内的移位寄存器104和行LINE3th107之间的其他图像行逐行转移到移位寄存器104中并依次读出移位寄存器104中的N个像元。在合并转移读出阶段110,FPGA101产生行转移时钟ΦΜ ,将图像存储区103的所有图像行向移位寄存器104方向连续移动2行,图像存储区103相邻移位寄存器104的2行无用行图像被转移到CXD移位寄存器104中进行合并;FPGA101产生像元读出时钟OLi将移位寄存器104中的N个像元依次读出。将图像存储区103行LINE2th106和行LINE3th107之间的其他无用图像行相邻2行转移到移位寄存器104中合并后,依次读出移位寄存器104中的N个像元。将图像存储区103行LINE2th106转移到移位寄存器104中并依次读出移位寄存器104中的N个像元。将图像存储区103行LINE2th106和行LINElth105之间的无用图像行相邻2行转移到移位寄存器104中合并后,依次读出移位寄存器104中的N个像元。将图像存储区103包括行LINElth105在内的其他图像行转移到移位寄存器104中并依次读出移位寄存器104中的N个像元。相机输出的图像的周期要求为84ms,即必须在规定的84ms内将整帧图像读出,假设像元读出时钟的周期为T,频率为F= 1/T。帧转移时间与帧周期相比可以忽略不计,因此帧周期主要由像元读出时间决定。按常规方式逐行读出时,估算帧周期为1056X546XT=576576T,根据帧周期要求,应满足576576T < 84ms,即T < O. 145us,像元读出时钟频率应满足F = 1/T > 6. 9MHz ;按上述合并方式读出时,估算帧周期为(1056-500) X546XT =303576T,根据帧周期要求,应满足303576 < 84ms,即T < O. 276us,像元读出时钟频率应满足F = 1/T > 3. 62MHzο因此,按常规方式逐行读出时,FPGA的工作频率要求不小于7MHz,而利用上述合并方式读出时,FPGA的工作频率要求不小于4MHz,显然,FPGA的速度需求明显降低,与常规的FPGA速度优化方法相比,这种方法的优化效果比较显著。下面通过实施例对本发明做进一步说明,请继续参见图I :I、以ATMEL公司的TH7888A帧转移CXD为例,该CXD具有双端口读出和单端口读出两种工作模式,以双端口读出为例。FPGA产生C⑶驱动时序,控制CXD曝光和读出。CXD感光区和存储区的像元结构均为1056X1092(行X列),4相驱动;移位寄存器的像元结构为1X1092(行X列),2相驱动。以三线阵为例,在感光区中定义3行图像,从上到下,依次为第27行,第528行和第1029行,构成一个3线阵。规定在第27行和第528行之间的500行及第528行和第1029行之间的500行为无用行,其他行均为有用行。

2、在帧转移阶段,FPGA产生帧转移时钟ΦΡ ( = 1、2、3、4)和ΦΜ ( = 1、2、3、
4),将图像感光区的1056行图像逐行转移到图像存储区。3、在单行转移读出阶段,FPGA产生行转移时钟ΦΜ ( = 1、2、3、4)将图像存储区的所有图像行向移位寄存器方向移动I行,图像存储区第1056行图像被转移到CCD移位寄存器中;FPGA产生像元读出时钟OLi(i = 1、2)将移位寄存器中的1092/2 = 546个像元依次读出(双端口工作模式)。4、将图像存储区从第1055行至第1029行共27行图像逐行转移到移位寄存器中并依次读出移位寄存器中的546个像元。5、在合并转移读出阶段,FPGA产生行转移时钟ΦΜ ( = 1、2、3、4),将图像存储区的所有图像行向移位寄存器方向连续移动2行,图像存储区第1028行和第1027行(无用行)图像被转移到CCD移位寄存器中进行合并;FPGA产生像元读出时钟OLi (i = 1、2)将移位寄存器中的546个像元依次读出。6、将图像存储区从第1026行至第529行共498行图像每相邻2行转移到移位寄存器中合并后,依次读出移位寄存器中的546个像元。7、将图像存储区第528行转移到移位寄存器中并依次读出移位寄存器中的546个像元。8、将图像存储区从第527行至第28行共500行图像每相邻2行转移到移位寄存器中合并后,依次读出移位寄存器中的546个像元。9、将图像存储区从第27行至第I行共27行图像逐行转移到移位寄存器中并依次读出移位寄存器中的546个像元。参见图2,本发明还提供了一种基于FPGA的CXD控制电路,包括行转移时序电路,该行转移时序电路包括有限状态机、信号发生器、输出组合逻辑电路以及输出寄存器;有限状态机依次通过信号发生器、输出组合逻辑电路接入输出寄存器;有限状态机接入输出组合逻辑电路;输出组合逻辑电路分别接入信号发生器和有限状态机。有限状态机由计数器组成;信号发生器由移位寄存器和触发器组成;输出组合逻辑电路由非门和与非门组成;输出寄存器由带置位端的触发器和带复位端的触发器组成。参见图3和图4,基于行转移时序的实例电路的工作原理是I)输入时钟信号CLK,输入异步复位信号RESET,低电平有效;
2)输出信号L1、L2作为CXD水平移位寄存器读出时钟,M1、M2、M3、M4作为存储区垂直转移时钟;3) I个二进制计数器COUNTER,具有时钟使能端CE和异步清零端ACLR,计数器宽度5位,递增工作模式,时钟上升沿触发;4) I个移位寄存器SHIFTER,具有时钟使能端CE和并行数据载入端LOAD,寄存器宽度8位,循环左移工作模式,时钟上升沿触发;5) I个具有异步清零端ACLR的I位D触发器FDC,时钟上升沿触发;6) 3个具有同步置位端S的I位D触发器FDS,时钟上升沿触发; 7) 3个具有同步复位端R的I位D触发器FDR,时钟上升沿触发;8) 3 个反相器 INV ;9)4个具有反相输入的2输入与门AND2B2 ;10) FDC输出信号FDC_Q通过I个反相器INV操作后得到信号FDC_D,FDC_D输入FDC的输入端,异步复位信号RESET经过I个反相器INV操作后接入异步清零端ACLR,当RESET有效时,FDC_Q为‘0’,FDC_D为‘ I’,当异步复位释放后,FDC_Q和FDC_D均为时钟CLK的二分频信号,相位相反;11)FDC_D作为时钟使能信号分别连接到COUNTER和SHIFTER的使能端CE,当FDC_D为高电平时,在时钟的上升沿,COUNTER加1,SHIFTER循环左移I位;12) COUNTER的功能是对FDC_D信号的周期进行计数COUNTER < = COUNTER+1,每32个周期循环一次,当计数值在0-15范围时,输出端C0UNTER_Q(4)为低电平,当计数值在16-31范围时,输出端C0UNTER_Q(4)为低电平;13) C0UNTER_Q⑷作为输入信号连接到SHIFTER的并行数据载入端L0AD,当C0UNTER_Q (4)为高电平时,SHIFTER 载入初值“00011100”,当 C0UNTER_Q(4)为低电平时,SHIFTER 进行循环左移移位操作,SHIFTER (7:1) <= SHIFTER (6:0), SHIFTER (0) < =SHIFTER (7),SHIFTER的功能是对初始值“00011100”进行移位操作;14)FDRl、FDSl、FDR2、FDR3、FDS2 和 FDS3 分别作为输出信号 LI、L2、Ml、M2、M3 和M4的输出寄存器,其输出端分别连接到上述输出信号;15) C0UNTER_Q (4)经过I个反相器操作后连接到FDRl的同步复位端和FDSl的同步置位端,FDC_Q和FDC_D分别作为FDRl和FDSl的输入信号,当C0UNTER_Q(4)为高电平时,LI 为 FDC_Q,L2 为 FDC_D,当 C0UNTER_Q(4)为低电平时,LI 为 ‘0’,L2 为 ‘1’,如图 3 所示;16)C0UNTER_Q(4)连接到FDR2、FDR3的同步复位端和FDS2、FDS3的同步置位端,C0UNTER_Q (4)反相后分别与 SHIFTER (I)、SHIFTER (3)、SHIFTER (5)和 SHIFTER (7)的反相信号进行与操作,此操作通过4个AND2B2门实现,4个AND2B2门的输出分别作为FDR2、FDR3、FDS2和FDS3的输入信号,当C0UNTER_Q(4)为高电平时,Ml为‘0’,M2为‘O’,M3为‘I’,M4为 ‘ I’,当 C0UNTER_Q(4)为低电平时,Ml < = NOT (SHIFTER(I)) ,M2 <= NOT (SHIFTER(3)),M3 <= NOT (SHIFTER (5)),M4 < = NOT (SHIFTER (7)),如附图 3 所示;17)当C0UNTER_Q(4)为高电平时,CCD执行水平移位寄存器读出操作,当C0UNTER_Q(4)为低电平时,CCD执行行转移操作,连续转移存储区相邻2行像元进入水平移位寄存器,即相邻两行像元合并。
权利要求
1.一种基于FPGA的CXD控制电路的实现方法,包括由FPGA产生CXD驱动时序并控制CCD曝光和读出的步骤;所述驱动时序包括将存储区的图像逐行转移到移位寄存器中的行转移时序,所述行转移时序转移到移位寄存器中的图像行包括有用图像行以及无用图像行,其特征在于所述FPGA产生行转移时序将存储区的图像逐行转移到移位寄存器中时,将至少相邻2行无用图像行在移位寄存器中合并,有用图像行不合并。
2.根据权利要求I所述的基于FPGA的CCD控制电路的实现方法,其特征在于所述驱动时序还包括用于将移位寄存器中的像元依次读出的像元读出时序;所述像元读出时序与行转移时序交替进行。
3.根据权利要求2所述的基于FPGA的CCD控制电路的实现方法,其特征在于所述驱动时序还包括用于将感光区的图像逐行转移到存储区中的帧转移时序。
4.一种基于权利要求1-3任一权利要求所述方法的基于FPGA的CCD控制电路,包括行转移时序电路,其特征在于所述行转移时序电路包括有限状态机、信号发生器、输出组合逻辑电路以及输出寄存器;所述有限状态机依次通过信号发生器、输出组合逻辑电路接入输出寄存器;所述有限状态机接入输出组合逻辑电路;所述输出组合逻辑电路分别接入信号发生器和有限状态机。
5.根据权利要求4所述的基于FPGA的CCD控制电路,其特征在于所述有限状态机由计数器组成。
6.根据权利要求5所述的基于FPGA的CCD控制电路,其特征在于所述信号发生器由移位寄存器和触发器组成。
7.根据权利要求4或5或6所述的基于FPGA的CCD控制电路,其特征在于所述输出组合逻辑电路由非门和与非门组成。
8.根据权利要求7所述的基于FPGA的CCD控制电路,其特征在于所述输出寄存器由带置位端的触发器和带复位端的触发器组成。
全文摘要
本发明涉及一种基于FPGA的CCD相机的控制方法及其电路,该包括由FPGA产生CCD驱动时序并控制CCD曝光和读出的步骤;驱动时序包括将存储区的图像逐行转移到移位寄存器中的行转移时序,行转移时序转移到移位寄存器中的图像行包括有用图像行以及无用图像行,FPGA产生行转移时序将存储区的图像逐行转移到移位寄存器中时,将至少相邻2行无用图像行在移位寄存器中合并,有用图像行不合并。本发明提出了一种大幅度降低FPGA的工作频率并且结构简单易于操作的FPGA控制CCD的实现方法及其电路。
文档编号H04N5/357GK102843525SQ201110169910
公开日2012年12月26日 申请日期2011年6月23日 优先权日2011年6月23日
发明者段永强, 汶德胜, 高伟, 赵葆常 申请人:中国科学院西安光学精密机械研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1