CN101246256A - 基于fpga的可升级高速波前斜率处理机 - Google Patents
基于fpga的可升级高速波前斜率处理机 Download PDFInfo
- Publication number
- CN101246256A CN101246256A CNA2008100560864A CN200810056086A CN101246256A CN 101246256 A CN101246256 A CN 101246256A CN A2008100560864 A CNA2008100560864 A CN A2008100560864A CN 200810056086 A CN200810056086 A CN 200810056086A CN 101246256 A CN101246256 A CN 101246256A
- Authority
- CN
- China
- Prior art keywords
- module
- sub
- fpga
- aperture
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
基于FPGA的可升级高速波前斜率处理机由多通道组成,通道数量和一个子孔径行内子孔径个数相同。每个通道由像素地址生成模块,波门模块,图像乒乓缓存模块,运算核心模块,指令寄存器模块和寻址模块构成,整个处理机由单片FPGA实现。在不改变硬件电路的基础上通过在FPGA内重复构造处理通道从而达到系统升级的目的。升级后的系统与原系统相比,系统延迟不变,可处理的图像分辨率更高,子孔径数量更多。
Description
技术领域
本发明涉及太阳自适应光学高速波前处理系统,具体是一种易于升级的基于FPGA的高速波前斜率处理机。
背景技术
在太阳自适应光学系统中,需要对太阳黑子、米粒结构等扩展目标图像进行高速的实时处理,计算其波前斜率,用于矫正大气扰动带来的像差。根据扩展目标图像特性,传统的质心算法等针对点目标图像的处理方法不再适用,取而代之的是互相关因子算法和绝对差分算法。互相关因子算法和绝对差分算法运算量庞大,并且为了达到更好的相差矫正效果,太阳自适应系统中使用的CCD图像传感器分辨率越来越高,Hartmann-Shack波前传感器的子孔径越来越多,波前处理机需要处理的数据量更是与日俱增。
美国National Solar Observatory(NSO)的太阳自适应光学系统使用40片AD公司的ADSP-21160数字信号处理机组成并行运算阵列,利用互相关因子算法,计算76个子孔径的波前斜率,其中子孔径大小为16×16像素,图像帧频达到2500fps。NSO的波前斜率处理机处理能力强大,但价格昂贵,电路板制作复杂。如果引入新的子孔径,则需要增加DSP器件来升级系统,由此引起硬件电路的变动。
发明内容
本发明解决的问题是:克服现有技术的不足,提供一种利用单片FPGA实现太阳自适应光学系统中的波前斜率处理机,在不改变硬件电路的前提下,通过在FPGA片内构造新的处理通道达到升级系统的目的,以处理更多的子孔径图像。
本发明的技术解决方案是:基于FPGA的可升级高速波前斜率处理机由数量和单一子孔径行内子孔径个数相同的处理通道构成,上述处理通道是由像素地址生成模块,波门模块,图像乒乓缓存模块,运算核心模块,指令寄存器模块和寻址模块构成。CCD数据信号输入到图像乒乓缓存模块。CCD同步信号输入到像素地址生成模块,像素地址生成模块的两路输出分别接到波门模块和寻址模块。波门模块的输出接到图像乒乓缓存模块;寻址模块的两路输出分别接到指令寄存器模块和图像乒乓缓存模块;指令寄存器模块的输出接到运算核心;图像乒乓缓存模块的输出也接到运算核心,运算核心输出运算结果。工作时,像素地址生成模块根据CCD同步信号产生当前像素地址交由波门模块判断,同时将当前像素地址交由寻址模块,判断是否开始运算。波门模块负责选通乒乓缓存,对适当范围内的图像数据进行缓存。当数据缓存完毕,寻址模块开始寻址指令寄存器和图像缓存,运算核心根据接收到的指令对图像数据进行处理。
所述的地址生成模块用两个计数器分别对CCD像素有效信号和行有效信号进行计数,以像素有效信号的计数结果作为当前数据信号在CCD像面上的横坐标,以行有效信号的计数结果作为纵坐标;帧有效信号负责对两个计数器清零。
所述的波门模块使用两个比较器将当前像素在CCD像面上的横、纵坐标和本通道子孔径横、纵坐标进行比较;使用计数器在比较结果有效时产生写图像乒乓缓存地址;本通道子孔径坐标在FPGA初始化时设定,或由上位PC机现场设定。
所述的图像乒乓缓存模块使用两块完全相同的RAM构成乒乓缓存,一块RAM接收新的CCD数据,同时另一块RAM向运算核心提供运算所需数据。
所述的运算核心模块由多条相同的绝对差分流水线组成,流水线在指令寄存器输出的指令控制下从图像乒乓缓存获取运算所需数据,且这些指令和数据在运算核心内以流水线的方式传递。各条流水线由同一个时钟同步。
所述的指令寄存器模块使用单片RAM构成,由寻址模块寻址;指令在FPGA初始化时设定,或由上位PC机现场设定。
所述的寻址模块使用计数器生成地址,同时寻址图像乒乓缓存模块和指令寄存器模块。
在FPGA内,运算以子孔径行为单位,一个子孔径行缓存完毕则开始运算。通过在FPGA内构造与现有处理通道完全相同的新的处理通道可达到升级的目的,升级后可处理的子孔径数更多,图像分辨率更高,整个系统的硬件电路不需要做任何变动。
本发明的原理是:CCD同步信号和CCD数据同时进入每一个处理通道,各通道根据当前像素在CCD图像传感器上的位置对属于自己处理的子孔径的数据进行缓存。当一个子孔径行上的所有子孔径都缓存完毕后,则开始各个子孔径图像的处理。此时乒乓缓存开始缓存下一个子孔径行的图像数据。以上过程周而复始,直到所有子孔径图像处理完毕。升级系统时只要重新构造和另外几条处理通道完全一样的处理通道并把它接入处理机即可,不需要改动硬件电路,且不引入新的延时。
本发明与现有技术相比具有以下优点:
(1)本发明由多个相同的处理通道组成,通道数量和一个子孔径行内子孔径个数相同,各个通道并行工作,极大的提高了处理机的处理能力。
(2)处理通道由像素地址生成模块,波门模块,图像乒乓缓存模块和运算核心模块构成。各模块在时序上构成流水线结构,使处理机的运行速度更快。
(3)运算核心由多条绝对差分流水线组成,控制指令和图像数据在流水线间共享,借此图像数据的处理被进一步细分,实现高数据吞吐能力。
(4)利用FPGA内剩余的逻辑资源构造新的处理通道可以进一步提升系统的处理能力。
附图说明
图1为本发明的系统整体逻辑框图;
图2为本发明的处理核心内部结构图;
图3为本发明处理通道内部逻辑结构图;
图4为本发明的4×4的子孔径排列;
图5为本发明的系统升级方式示意图。
具体实施方式
如图1所示,本发明实施例的处理机拥有共4个处理通道,可以完成对4×4子孔径排列的处理。
如图2所示,本发明实施例的处理核心模块由多个结构相同的绝对差分流水线组成,各流水线在同步时钟的同步下又构成了新的流水线结构。图像数据和控制指令以流水线的方式在各个绝对差分流水线间传递。每个绝对差分流水线都分担一部分子孔径绝对差分运算的工作量,由此提高处理核心的处理速度。
如图3所示,本发明实施例的每个处理通道由像素地址生成模块,波门模块,图像乒乓缓存模块,运算核心模块,指令寄存器模块和寻址模块构成,CCD数据信号输入到图像乒乓缓存模块,CCD同步信号输入到像素地址生成模块,像素地址生成模块的两路输出分别接到波门模块和寻址模块,波门模块的输出接到图像乒乓缓存模块,寻址模块的两路输出分别接到指令寄存器模块和图像乒乓缓存模块,指令寄存器模块的输出接到运算核心,图像乒乓缓存模块的输出也接到运算核心,运算核心输出运算结果。
如图4所示,在4×4的子孔径排列下,每个子孔径行有4个子孔径,一共4个子孔径行,总共16个子孔径。
如图1、3、4所示,工作时,处理通道1负责处理第1列的4个子孔径,处理通道2负责处理第2列的4个子孔径,处理通道3负责处理第3列的4个子孔径,处理通道4负责处理第4列的4个子孔径。当位于第1子孔径行的数据到来时,各个处理通道的像素地址生成模块通过CCD同步信号生成像素位置信息,波门模块借助这个位置信息判断当前像素是否属于本通道的子孔径范围,若属于,则产生写缓存地址,将数据写入本通道乒乓缓存模块中的一块缓存区。当CCD将第一个子孔径行的数据全部输出完毕时,处理通道1的图像缓存模块存储的是子孔径00的数据,处理通道2的图像缓存模块存储的是子孔径10的数据,处理通道3的图像缓存模块存储的是子孔径20的数据,处理通道4的图像缓存模块存储的是子孔径30的数据。此时寻址模块开始工作,一方面寻址图像缓存模块,读出图像数据交给运算核心处理,另一方面寻址指令寄存器模块,读出正确的运算控制指令来保证运算核心工作正常。与此同时,CCD继续输出第二个子孔径行的图像数据,此时的数据按照刚才的子孔径分布方式继续分布到各个通道的图像缓存模块中,子孔径01的数据进入通道1,子孔径11的数据进入通道2,子孔径21的数据进入通道3,子孔径31的数据进入通道4。由于使用的是乒乓缓存,现在的数据将被写入图像缓存的另一个缓存区,不会影响工作中的运算核心从图像缓存取数据。在第二个子孔径行的数据缓存完毕前,第一个子孔径行4个子孔径的数据处理已经由4个处理通道的运算核心完成。等到第二个子孔径行的数据缓存完毕,各个处理通道的寻址模块和运算核心将重复以上的工作,直到第三、第四个子孔径行处理完毕。
本发明对单帧图像的处理延时为一个子孔径行的处理时间。由于一个子孔径行的每个子孔径都有单独的运算核心负责处理,因此延时又等于一个子孔径的处理时间。
如图5所示,为了升级系统,以便处理更高分辨率的图像,更多的子孔径,可以在原来4个处理通道的基础上增加一个新的处理通道。新增通道的内部结构和原来的4个处理通道完全一样。由此构成的5通道系统可以对5×5的子孔径排列进行处理,且系统的延时并没有增加,仍然为一个子孔径行的处理延时,即一个子孔径的处理延时。以此类推,在4通道的基础上增加2个新通道就可以对6×6的子孔径排列进行处理。只要处理通道内运算核心的运算速度足够快,单个子孔径的处理延时足够短,处理机的处理能力就能用增加处理通道的办法不断扩展。由于FPGA使用的灵活性,在其内部构造新的处理通道时无需对硬件电路进行修改,升级过程完全在FPGA内部完成,整套自适应光学系统的硬件不需要做任何变动。
本发明在Xilinx公司2V3000 FPGA内实现了对6×6共36个子孔径的斜率处理,子孔径大小32×32像素,图像帧频超过1000fps。
Claims (8)
1、基于FPGA的可升级高速波前斜率处理机,其特征在于:由多通道组成,所有通道在单片FPGA内实现,通道数量和一个子孔径行内子孔径个数相同,每个通道由像素地址生成模块,波门模块,图像乒乓缓存模块,运算核心模块,指令寄存器模块和寻址模块构成,CCD数据信号输入到图像乒乓缓存模块,CCD同步信号输入到像素地址生成模块,像素地址生成模块的两路输出分别接到波门模块和寻址模块,波门模块的输出接到图像乒乓缓存模块,寻址模块的两路输出分别接到指令寄存器模块和图像乒乓缓存模块,指令寄存器模块的输出接到运算核心,图像乒乓缓存模块的输出也接到运算核心,运算核心输出运算结果。
2、根据权利要求1所述的基于FPGA的可升级高速波前斜率处理机,其特征在于:所述的地址生成模块用两个计数器分别对CCD像素有效信号和行有效信号进行计数,以像素有效信号的计数结果作为当前数据信号在CCD像面上的横坐标,以行有效信号的计数结果作为纵坐标;帧有效信号负责对两个计数器清零。
3、根据权利要求1所述的基于FPGA的可升级高速波前斜率处理机,其特征在于:所述的波门模块使用两个比较器将当前像素在CCD像面上的横、纵坐标和本通道子孔径横、纵坐标进行比较;使用计数器在比较结果有效时产生写图像乒乓缓存地址;本通道子孔径坐标在FPGA初始化时设定,或由上位PC机现场设定。
4、根据权利要求1所述的基于FPGA的可升级高速波前斜率处理机,其特征在于:所述的图像乒乓缓存模块使用两块完全相同的RAM构成乒乓缓存,一块RAM接收新的CCD数据,同时另一块RAM向运算核心提供运算所需数据。
5、根据权利要求1所述的基于FPGA的可升级高速波前斜率处理机,其特征在于:所这的运算核心模块由多条并行的绝对差分流水线组成;运算所需的数据从图像乒乓缓存模块获取,运算所需的控制信号从指令寄存器模块获取,流水线在指令寄存器输出的指令控制下从图像乒乓缓存获取运算所需数据,且这些指令和数据在运算核心内以流水线的方式传递,各条流水线由同一个时钟同步。
6、根据权利要求1所述的基于FPGA的可升级高速波前斜率处理机,其特征在于:所述的指令寄存器模块使用单片RAM构成,由寻址模块寻址;指令在FPGA初始化时设定,或由上位PC机现场设定。
7、根据权利要求1所述的基于FPGA的可升级高速波前斜率处理机,其特征在于:所述的寻址模块使用计数器生成地址,同时寻址图像乒乓缓存模块和指令寄存器模块。
8、根据权利要求1所述的基于FPGA的可升级高速波前斜率处理机其特征在于:在FPGA内,每个通道以子孔径行为单位,一个子孔径行缓存完毕则开始运算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100560864A CN101246256B (zh) | 2008-01-11 | 2008-01-11 | 基于fpga的可升级高速波前斜率处理机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100560864A CN101246256B (zh) | 2008-01-11 | 2008-01-11 | 基于fpga的可升级高速波前斜率处理机 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101246256A true CN101246256A (zh) | 2008-08-20 |
CN101246256B CN101246256B (zh) | 2011-11-23 |
Family
ID=39946805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100560864A Expired - Fee Related CN101246256B (zh) | 2008-01-11 | 2008-01-11 | 基于fpga的可升级高速波前斜率处理机 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101246256B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101950250A (zh) * | 2010-09-29 | 2011-01-19 | 中国科学院光电技术研究所 | 基于累加器的哈特曼-夏克波前斜率获取方法及处理器 |
CN102221842A (zh) * | 2011-05-18 | 2011-10-19 | 中国科学院长春光学精密机械与物理研究所 | 千单元可扩展自适应光学系统波前处理器 |
CN102339386A (zh) * | 2011-08-16 | 2012-02-01 | 杭州晟元芯片技术有限公司 | 一种嵌入式指纹特征提取加速方法 |
CN102507147A (zh) * | 2011-10-14 | 2012-06-20 | 中国科学院光电技术研究所 | 一种自适应光学系统性能的实时评价系统 |
CN102681970A (zh) * | 2012-04-25 | 2012-09-19 | 华为技术有限公司 | 信号处理器的配置方法及信号处理器 |
CN102722217A (zh) * | 2012-06-05 | 2012-10-10 | 中国科学院光电技术研究所 | 一种千单元级自适应光学系统波前信号处理平台 |
CN103076737A (zh) * | 2013-01-04 | 2013-05-01 | 西北工业大学 | 基于乒乓缓冲和消息机制的高精度gps分布式授时方法 |
CN103973981A (zh) * | 2014-05-05 | 2014-08-06 | 中国科学院光电技术研究所 | 一种集成图像采集和波前斜率计算的方法 |
CN104750480A (zh) * | 2015-03-03 | 2015-07-01 | 北京空间机电研究所 | 一种基于fpga的星上迭代图像处理方法 |
CN111031244A (zh) * | 2019-12-17 | 2020-04-17 | 中国科学院光电技术研究所 | 一种基于fpga+gpu异构计算平台的波前处理控制方法 |
CN111983800A (zh) * | 2020-09-02 | 2020-11-24 | 中国科学院长春光学精密机械与物理研究所 | 一种自适应光学系统 |
CN112782844A (zh) * | 2021-01-12 | 2021-05-11 | 中国科学院光电技术研究所 | 一种自适应光学系统稳定闭环控制方法 |
-
2008
- 2008-01-11 CN CN2008100560864A patent/CN101246256B/zh not_active Expired - Fee Related
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101950250A (zh) * | 2010-09-29 | 2011-01-19 | 中国科学院光电技术研究所 | 基于累加器的哈特曼-夏克波前斜率获取方法及处理器 |
CN101950250B (zh) * | 2010-09-29 | 2012-10-31 | 中国科学院光电技术研究所 | 基于累加器的哈特曼-夏克波前斜率获取方法及处理器 |
CN102221842A (zh) * | 2011-05-18 | 2011-10-19 | 中国科学院长春光学精密机械与物理研究所 | 千单元可扩展自适应光学系统波前处理器 |
CN102221842B (zh) * | 2011-05-18 | 2013-01-09 | 中国科学院长春光学精密机械与物理研究所 | 千单元可扩展自适应光学系统波前处理器 |
CN102339386A (zh) * | 2011-08-16 | 2012-02-01 | 杭州晟元芯片技术有限公司 | 一种嵌入式指纹特征提取加速方法 |
CN102339386B (zh) * | 2011-08-16 | 2013-08-28 | 杭州晟元芯片技术有限公司 | 一种嵌入式指纹特征提取加速方法 |
CN102507147B (zh) * | 2011-10-14 | 2014-05-28 | 中国科学院光电技术研究所 | 一种自适应光学系统性能的实时评价系统 |
CN102507147A (zh) * | 2011-10-14 | 2012-06-20 | 中国科学院光电技术研究所 | 一种自适应光学系统性能的实时评价系统 |
CN102681970A (zh) * | 2012-04-25 | 2012-09-19 | 华为技术有限公司 | 信号处理器的配置方法及信号处理器 |
CN102681970B (zh) * | 2012-04-25 | 2015-01-07 | 华为技术有限公司 | 信号处理器的配置方法及信号处理器 |
CN102722217A (zh) * | 2012-06-05 | 2012-10-10 | 中国科学院光电技术研究所 | 一种千单元级自适应光学系统波前信号处理平台 |
CN102722217B (zh) * | 2012-06-05 | 2015-06-17 | 中国科学院光电技术研究所 | 一种千单元级自适应光学系统波前信号处理平台 |
CN103076737A (zh) * | 2013-01-04 | 2013-05-01 | 西北工业大学 | 基于乒乓缓冲和消息机制的高精度gps分布式授时方法 |
CN103973981A (zh) * | 2014-05-05 | 2014-08-06 | 中国科学院光电技术研究所 | 一种集成图像采集和波前斜率计算的方法 |
CN103973981B (zh) * | 2014-05-05 | 2017-02-15 | 中国科学院光电技术研究所 | 一种集成图像采集和波前斜率计算的方法 |
CN104750480A (zh) * | 2015-03-03 | 2015-07-01 | 北京空间机电研究所 | 一种基于fpga的星上迭代图像处理方法 |
CN104750480B (zh) * | 2015-03-03 | 2017-12-22 | 北京空间机电研究所 | 一种基于fpga的星上迭代图像处理方法 |
CN111031244A (zh) * | 2019-12-17 | 2020-04-17 | 中国科学院光电技术研究所 | 一种基于fpga+gpu异构计算平台的波前处理控制方法 |
CN111983800A (zh) * | 2020-09-02 | 2020-11-24 | 中国科学院长春光学精密机械与物理研究所 | 一种自适应光学系统 |
CN112782844A (zh) * | 2021-01-12 | 2021-05-11 | 中国科学院光电技术研究所 | 一种自适应光学系统稳定闭环控制方法 |
CN112782844B (zh) * | 2021-01-12 | 2023-03-31 | 中国科学院光电技术研究所 | 一种自适应光学系统稳定闭环控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101246256B (zh) | 2011-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101246256B (zh) | 基于fpga的可升级高速波前斜率处理机 | |
CN104899182B (zh) | 一种支持可变分块的矩阵乘加速方法 | |
CN104881666B (zh) | 一种基于fpga的实时二值图像连通域标记实现方法 | |
CN100465876C (zh) | 基于单fpga的矩阵乘法器装置 | |
CN102222316A (zh) | 一种基于dma的双缓冲乒乓并行结构图像处理优化方法 | |
CN102131053A (zh) | 一种适用于高速成像系统的数据采集、编码和存储方法 | |
CN109271138A (zh) | 一种适用于大维度矩阵乘的链式乘法结构 | |
CN102759530A (zh) | 一种表面质量图像在线检测装置 | |
CN110738594B (zh) | 基于fpga的机载电子仪表画面产生方法 | |
Li et al. | Optimized data reuse via reordering for sparse matrix-vector multiplication on fpgas | |
CN116431562B (zh) | 一种基于加速处理器的多头注意力机制融合计算分配方法 | |
CN109948113A (zh) | 一种基于fpga的二维fft加速器 | |
CN109741237B (zh) | 大规模图像数据处理系统及方法 | |
Wang et al. | Video SAR high-speed processing technology based on FPGA | |
Li et al. | An Efficient Gustavson-based Sparse Matrix-matrix Multiplication Accelerator on Embedded FPGAs | |
Yang et al. | Unicorn: A multicore neuromorphic processor with flexible fan-in and unconstrained fan-out for neurons | |
Hou et al. | An FPGA-based multi-core system for synthetic aperture radar data processing | |
CN112035056B (zh) | 一种基于多计算单元的并行ram访问设备及访问方法 | |
Lv et al. | Research on Dynamic Reconfiguration Technology of Neural Network Accelerator Based on Zynq | |
Zhao et al. | A deep residual networks accelerator on FPGA | |
CN103678202A (zh) | 一种多核处理器的dma控制器 | |
CN103699517B (zh) | 一种1-d/2-d混合架构fft处理器 | |
Mu et al. | The application of coal cleaning detection system based on embedded real-time image processing | |
Wong et al. | Ultra-low latency continuous block-parallel stream windowing using FPGA on-chip memory | |
Li et al. | Efficient parallel implementation of morphological operation on GPU and FPGA |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111123 Termination date: 20150111 |
|
EXPY | Termination of patent right or utility model |