多路高速短消隐期线阵CCD图像数据的存储方法转让专利

申请号 : CN201110262419.0

文献号 : CN102331975B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 余达臧佳李云飞周怀得李广泽刘金国郭永飞

申请人 : 中国科学院长春光学精密机械与物理研究所

摘要 :

多路高速短消隐期线阵CCD图像数据的存储方法,涉及一种CCD相机图像数据存储的方法,它解决高分辨率高速航空航天遥感相机图像数据存储困难问题,本方法先将各路图像数据并行存储到SDRAM阵列,然后再逐路读出图像数据并经采集卡存储到主机的硬盘上;实现对图像数据进行了输入数据位nbit与存储器位16bit的转换,本发明所述的SDRAM的读写时钟频率可降为原来的n/16;可应用在每行有效数据量相同而行频可提高到接近原来的16/n倍的场合。本发明为降低系统功耗和减小高频下的电磁兼容性问题,设定了SDRAM最低的工作频率,并给出了具体公式;为节省FPGA内部的资源,根据应用情况设定了异步FIFO的最小深度。

权利要求 :

1.多路高速短消隐期线阵CCD图像数据的存储方法,其特征是,该方法由以下步骤实现:

步骤一、将多路高速短消隐期线阵CCD图像数据并行缓存至SDRAM阵列;其中,图像数据的位宽为n,图像数据的时钟频率为fin,有效图像数据的个数为nvalid,SDRAM存储器阵列中的图像数据的时钟频率为fSDRAM;

步骤一一、将多路图像数据同时传送至多个外部接口电路;所述图像数据的位宽为nbit,时钟频率为fin;每路图像数据中每行输入的有效图像数据的个数为nvalid,在每路图像数据的每行的最末添加nvalid_equal-nvalid个无效数据,每行有效图像数据个数与无效数据个数的总和为nvalid_equal;所述nvalid_equal为4n的整数倍,并且nvalid_equal取值范围在之间,将经多个外部接口电路的多路图像数据传送至多个串并转换器进行串并转换,然后将每行中8个图像数据作为一组,则图像数据变为位宽为8nbit,时钟频率为fin/8的图像数据信号;

步骤一二、将步骤一一所述的位宽为8nbit,时钟频率为fin/8的图像数据信号经异步FIFO后,图像数据的时钟频率为2fSDRAM/n;然后将所述位宽为8nbit,时钟频率为2fSDRAM/n的图像数据信号经并串转换器转换后,获得位宽为16bit,时钟频率为fSDRAM的图像数据信号;

步骤一三、将时钟频率为fSDRAM的每路图像数据经串并转换器后并行缓存至SDRAM存储器阵列中;

步骤二、将步骤一所述的缓存至SDRAM存储器阵列中的每路图像数据逐路经图像采集卡采集后存储到主机硬盘;

步骤二一、将SDRAM存储器阵列中的位宽16bit、时钟频率为fSDRAM的图像数据信号经数据选择器输出后,经串并转换器变为位宽为8nbit,时钟频率为2fSDRAM/n的图像数据信号;

步骤二二、将步骤二一所述的位宽8nbit,时钟频率为2fSDRAM/n的图像数据信号经异步FIFO后位宽不变,时钟频率变为fin/8;然后将所述位宽为8nbit,时钟频率为fin/8的图像数据信号经并串转换器转换后变为位宽为nbit,时钟频率为fin的图像数据信号,丢弃每路图像数据每行最末的nvalid_equal-nvalid个无效数据;

步骤二三、将步骤二获得的位宽为nbit,时钟频率为fin的图像数据信号经外部接口电路传送至含采集卡的主机硬盘。

2.根据权利要求1所述的多路高速短消隐期线阵CCD图像数据的存储方法,其特征在于,步骤一二所述的异步FIFO的作用为:一、将接收图像数据信号由输入时钟域切换到SDRAM操作时钟域;二、实现数据缓冲,连续写入以行为单位的连续图像数据,断续读出图像数据存储在SDRAM中。

3.根据权利要求1所述的多路高速短消隐期线阵CCD图像数据的存储方法,其特征在于,步骤二二所述异步FIFO的作用为:一、将接收的图像数据信号由SDRAM操作时钟域切换到输入时钟域,二、实现数据缓冲,断续写入从SDRAM中读出的图像数据,输出以行为单位的连续图像数据。

说明书 :

多路高速短消隐期线阵CCD图像数据的存储方法

技术领域

[0001] 本发明涉及一种CCD相机图像数据存储的方法,具体涉及一种多路高速(数传时钟超过100MHz)短消隐期线阵CCD相机的图像数据存储方法。

背景技术

[0002] 在高分辨率航空航天遥感应用中,线阵CCD相机的视场和分辨率指标不断提高,所采用的CCD输出路数、拼接片数和单路读出速率也在不断提高,从而使数字化后的图像数据量和数据传输速率急剧增加,图像采集存储困难。现有的高速图像采集卡通常不具备多通道采集功能,多通道图像采集卡价格昂贵且容易导致系统传输电缆增多,体积庞大。
[0003] SDRAM存储器读写速度快,容量大,且成本低,在数据缓存领域得到了广泛的应用,现今多数航空航天遥感线阵CCD相机输出的图像数据位数高于8而低于16且为偶数,通常采用位宽为16bit的SDRAM存储器来缓存数据。由于SDRAM在读写操作时还需预冲、激活及定时刷新等操作增加了读写开销,在短消隐期的线阵CCD应用中,需进一步提高SDRAM的读写时钟频率;读写时钟频率的提高,不仅增加了系统功耗,而且对电磁兼容性设计也提出了苛刻的要求;在高速(数传时钟超过100MHz)情况下进行图像数据位数的转换也是个难题,采用一个高频同步时钟来实现同步转换的方法将会使系统工作频率急剧升高,使系统的功耗大大增加且现有器件难以实现其高速的要求。

发明内容

[0004] 本发明为解决现有高分辨率高速(数传时钟超过100MHz)航空航天遥感相机图像数据存储困难问题,提供一种多路高速短消隐期线阵CCD图像数据的存储方法。
[0005] 多路高速短消隐期线阵CCD图像数据的存储方法,该方法由以下步骤实现:
[0006] 步骤一、将多路高速短消隐期线阵CCD图像数据并行缓存至SDRAM阵列;
[0007] 步骤一一、将多路图像数据同时传送至多个外部接口电路;所述图像数据的位宽为nbit,时钟频率为fin;每路图像数据中每行输入的有效图像数据的个数为nvalid,在每路图像数据的每行的最末添加nvalid_equal-nvalid个无效数据,每行有效图像数据个数与无效数据个数的总和为nvalid_equal;所述nvalid_equal为4n的整数倍,并且nvalid_equal取值范围在之间,将经多个外部接口电路的多路图像数据传送至多个串并转换器进行串并转换,然后将每行中8个图像数据作为一组,则图像数据变为位宽为8nbit,时钟频率为fin/8的图像数据信号;
[0008] 步骤一二、将步骤一一所述的位宽为8nbit,时钟频率为fin/8的图像数据信号经异步FIFO后,图像数据的时钟频率为2fSDRAM/n;然后将所述位宽为8nbit,时钟频率为2fSDRAM/n的图像数据信号经并串转换器转换后,获得位宽为16bit,时钟频率为fSDRAM的图像数据信号;
[0009] 步骤一三、将时钟频率为fSDRAM的每路图像数据经串并转换器后并行缓存至SDRAM存储器阵列中;
[0010] 步骤二、将步骤一所述的缓存至SDRAM存储器阵列中的每路图像数据逐路经图像采集卡采集后存储到主机硬盘;
[0011] 步骤二一、将SDRAM存储器阵列中的位宽16bit、时钟频率为fSDRAM的图像数据信号经数据选择器输出后,经串并转换器变为位宽为8nbit,时钟频率为2fSDRAM/n的图像数据信号;
[0012] 步骤二二、将步骤二一所述的位宽8nbit,时钟频率为2fSDRAM/n的图像数据信号经异步FIFO后位宽不变,时钟频率变为fin/8;然后将所述位宽为8nbit,时钟频率为fin/8的图像数据信号经并串转换器转换后变为位宽为nbit,时钟频率为fin的图像数据信号,丢弃每路图像数据每行最末的nvalid_equal-nvalid个无效数据;
[0013] 步骤二三、将步骤二获得的位宽为nbit,时钟频率为fin的图像数据信号经外部接口电路传送至含采集卡的主机硬盘。
[0014] 本发明的有益效果:
[0015] 一、本发明针对航空航天遥感线阵CCD相机间歇摄像的特点,可在摄像时间段内实时存储多路图像数据,并在摄像结束后把存储的图像数据转移到主机硬盘中以进行后续处理,本发明先将各路图像数据并行存储到SDRAM阵列,然后再逐路读出图像数据并经采集卡存储到主机的硬盘上;仅采用一条数传电缆及采集卡与主机相连,缩减了电缆和采集卡的数量。
[0016] 二、本发明采用可编程器件内部的异步FIFO速度快但容量小而外部的SDRAM容量大但读写效率低操作复杂的特点,使用了两种存储器来完成不同的任务:异步FIFO的作用一方面是实现不同时钟域的接口,另一方面是实现连续读写数据操作与断续读写数据操作之间的缓冲;SDRAM的作用是缓存大容量的高速图像数据;使用可编程逻辑器件作为小容量存储器和系统控制器,系统集成度高,控制灵活;
[0017] 三、本发明对图像数据进行了输入数据位nbit与存储器位16bit的转换,(1)、SDRAM的读写时钟频率可降为原来的 也就是可把原输入时钟频率提高 倍而SDRAM的读写时钟频率保持在未进行nbit与16bit的数据转换前的水平;(2)相同的SDRAM容量下能存储的数据量增加为原来的 倍;(3)可应用在每行有效数据量相同而行周期更短行频更高的场合,行频可提高到接近原来的 倍;
[0018] 四、本发明采用串并转换和并串转换操作结合在低频下采用异步FIFO进行不同时钟域数据接口,解决了在高速(数传时钟超过100MHz)情况下进行图像数据位数的非整数倍转换的难题:
[0019] 五、本发明为降低系统功耗和减小高频下的电磁兼容性问题,设定了SDRAM最低的工作频率,并给出了具体公式;为节省FPGA内部的资源,根据应用情况设定了异步FIFO的最小深度。

附图说明

[0020] 图1为本发明所述的多路高速短消隐期线阵CCD图像数据的存储方法中单路高速短消隐期线阵CCD图像数据存储系统的结构图;
[0021] 图2为本发明所述的多路高速短消隐期线阵CCD图像数据的存储方法的结构图;
[0022] 图3为本发明所述的多路高速短消隐期线阵CCD图像数据的存储方法中SDRAM中主状态机循环结构图;
[0023] 图4为本发明所述的多路高速短消隐期线阵CCD图像数据的存储方法中SDRAM操作时钟域的写操作流程图;
[0024] 图5为本发明所述的多路高速短消隐期线阵CCD图像数据的存储方法中SDRAM操作时钟域的读操作流程图。

具体实施方式

[0025] 具体实施方式一、结合图1和图5说明本实施方式,多路高速消隐期线阵CCD图像数据的存储方法,该方法由以下步骤实现:
[0026] 步骤一、将多路高速短消隐期线阵CCD图像数据并行缓存至SDRAM阵列。
[0027] 1、将各路输入的图像数据,所述图像数据的位宽为nbit,频率为fin,首先经外部接口电路转换为TTL电平信号,在每行最末添加nvalid_equal-nvalid个无效数据,使nvalid_equal满足 为4n的整数倍,且 然后进行串并转换,每8个数据组成一组,变为位宽8nbit,频率为fin/8的图像数据信号;
[0028] 2、将位宽8nbit,频率为fin/8的图像数据信号经异步FIFO位宽不变,频率变为2fSDRAM/n;异步FIFO的作用一方面是由输入时钟域切换到SDRAM操作时钟域,另一方面是进行数据缓冲,连续写入以行为单位的连续图像数据,但断续读出图像数据以存储在SDRAM中;
[0029] 3、将位宽8nbit,频率为2fSDRAM/n的图像数据信号经并串转换器变为位宽16bit,频率为fSDRAM的图像数据信号;
[0030] 4、以写操作时钟频率为fSDRAM把各路输入的图像数据并行写入对应的SDRAM存储器阵列中;
[0031] 步骤二、将缓存至SDRAM阵列的各路图像数据逐路经图像采集卡存储到主机硬盘上;
[0032] 1、以读操作时钟频率为fSDRAM把SDRAM存储器阵列中的图像数据逐路读出,经数据选择器输出,从第一路开始,直到最后的第m路;
[0033] 2、将位宽16bit,频率为fSDRAM的图像数据信号经串并转换器变为位宽8nbit,频率为2fSDRAM/n的图像数据信号;
[0034] 3、将位宽8nbit,频率为2fSDRAM/n的图像数据信号经异步FIFO,位宽不变,频率变为fin/8;异步FIFO的作用一方面是由SDRAM操作时钟域切换到输入时钟域,另一方面是进行数据缓冲,断续写入从SDRAM中读出的图像数据,但输出以行为单位的连续图像数据;
[0035] 4、将位宽8nbit,频率为fin/8的图像数据信号经并串转换器变为位宽nbit,频率为fin的图像数据信号,并丢弃每行最末的nvalid_equal-nvalid个无效数据;
[0036] 5、输出的图像数据经外部接口电路后再经PC的采集卡存储在主机的硬盘上;
[0037] 结合图1说明本实施方式,假设输入的图像数据位宽n的取值为10、12或14,时钟频率为fin,每行输入有效图像数据的个数为nvalid,输入的最小行周期为tH_min,可以把输入的图像数据进行数据的位宽转换;由于输入的数传时钟频率很高(超过100MHz),而SDRAM的读写时钟频率会更高,本实施方式采用把图像数据进行串并转换的方法首先对输入的图像数据进行降频,并采用异步FIFO从输入时钟域切换到SDRAM的操作时钟域后再把图像数据经并串转换为位宽16bit的数据;从SDRAM中读出位宽16bit的数据后先进行串并转换,再经异步FIFO切换回输入时钟域,最后经并串转换为位宽nbit的数据;
[0038] 设定SDRAM的读写时钟频率相同,存储系统输入和输出数据的时钟频率相同;SDRAM连续写入与读出操作的数据个数为4n,也就是每读写4n个数据然后判定是否进行定时刷新操作;图像数据在进入串并转换器A前每行输入有效图像数据的个数经适当增加nvalid_equal-nvalid个无效图像数据后变为nvalid_equal个图像数据,所述nvalid_equal为4n的整数倍且nvalid_equal的取值范围在 之间,把添加的无效图像数
据nvalid_equal-nvalid放置在代表有效图像数据的最末位置;而在图像数据经并串转换器D输出后需把在串并转换器A前添加的nvalid_equal-nvalid个无效数据丢弃;SDRAM除定时刷新操作外还有激活、预冲、判定是否刷新等非数据读写操作的时间q,此时间参数随器件和工作频率的变化而不同,8<q<20,也就是说每写入读出4n个数据,除定时刷新外需要占有的总时钟数为4n+q;设定SDRAM的读写时钟频率fSDRAM;一次定时刷新操作占据的最小时间r与器件和工作频率有关,6≤r≤12,设定SDRAM读操作时钟频率与写操作相同,则其频率与输入的最小行周期tH_min,单位为us;在一个行周期内占用的时钟周期nrefresh_g:
[0039]
[0040]
[0041] 确定异步FIFO的深度要求;经过图像数据位宽的变换后在一个行周期内经异步FIFO写入和读出的图像数据个数为 宽度为8nbit;
[0042] 图1中的两异步FIFO一方的工作频率为fin/8,而且在数据有效阶段其操作都是连续进行的;另一方的工作频率为2fSDRAM/n,其操作是断续进行的,其断续操作等效的工作频率为 由于外部输入的图像信号存在消隐期,因此,连续操作的时钟频率必定大于断续操作等效的工作频率,则异步FIFO的最小深度nfifo应满足以下公式:
[0043]
[0044] 结合图2说明本实施方式,本实施方式为多路高速短消隐期线阵CCD图像数据存储系统,该系统包括:控制器、m组SDRAM Ai;m为大于2的正整数,i的取值范围为1≤i≤m;m个外部接口电路Ai、有效数据长度加长电路Ai、串并转换器Ai、异步FIFO Ai、并串转换器Bi、数据选择器、串并转换器C;、异步FIFO B、并串转换器D、有效数据长度剪短电路B、外部接口电路B和含采集卡的主机;控制器与m组SDRAM Ai、m个异步FIFO Ai、数据选择器、异步FIFO B和含采集卡的主机相连,接收主机的指令并控制其余各部分的操作。主机通过串行总线RS485或RS232向控制器发出存储命令及存储行数参数;控制器首先把同时输入的各路高速图像数据经外部接口电路Ai、有效数据长度加长电路Ai、串并转换器Ai、异步FIFO Ai和并串转换器Bi存储在SDRAM阵列中;当存储的图像行数满足要求后,采用数据选择器选择逐路从SDRAM阵列中读出图像数据;再将图像数据经串并转换器C、异步FIFO B、并串转换器D、有效数据长度剪短电路B和外部接口电路B传送至含采集卡的主机的硬盘。
[0045] 本实施方式所述的有效数据长度加长电路A、有效数据长度剪短电路B、串并转换器A、并串转换器B、串并转换器C、并串转换器D、异步FIFO A、异步FIFO B和数据选择器采用Xilinx公司的FPGA内部存储器资源,控制器也由Xilinx公司的FPGA产生,SDRAM采用ISSI公司的IS42S16320B;外部接口电路A采用LVDS差分接收芯片;外部接口电路B采用LVDS差分发送芯片;含采集卡的主机为带DVR Express CL160采集卡的工控机。
[0046] 结合图3,所述SDRAM的控制采用状态机方式来进行控制;状态机包括上电初始化状态机、读操作状态机、写操作状态机和空闲状态机;SDRAM首先进行上电初始化以进行各参数的配置,在接收到存储命令及存储行数参数后开始启动写操作,并行把多路图像数据写入SDRAM中进行缓存;当存储行数达到时,开始逐路读出图像数据,直到各路存储的图像数据全部读出,然后进入空闲状态;结合图4;多路图像数据的并行写操作以4n个数据为单位,并在每次写完4n个数据后进行是否定时刷新操作判断,直到写满指定的行数,具体流程结合图5;多路图像数据的逐路读操作以4n个数据为单位,并在每次读出4n个数据后进行是否定时刷新操作判断,直到存入SDRAM的图像数据全部被读出。