CN112579505A - 一种基于usb数据侦听的实时幸运成像方法及*** - Google Patents
一种基于usb数据侦听的实时幸运成像方法及*** Download PDFInfo
- Publication number
- CN112579505A CN112579505A CN202011537877.6A CN202011537877A CN112579505A CN 112579505 A CN112579505 A CN 112579505A CN 202011537877 A CN202011537877 A CN 202011537877A CN 112579505 A CN112579505 A CN 112579505A
- Authority
- CN
- China
- Prior art keywords
- module
- data
- image
- real
- lucky imaging
- 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.)
- Pending
Links
- 238000003384 imaging method Methods 0.000 title claims abstract description 100
- 238000012545 processing Methods 0.000 claims abstract description 54
- 238000007781 pre-processing Methods 0.000 claims abstract description 23
- 230000005540 biological transmission Effects 0.000 claims description 23
- 238000000034 method Methods 0.000 claims description 23
- 238000012544 monitoring process Methods 0.000 claims description 21
- 238000000354 decomposition reaction Methods 0.000 claims description 14
- 238000011161 development Methods 0.000 claims description 12
- 238000005516 engineering process Methods 0.000 abstract description 8
- 230000011218 segmentation Effects 0.000 abstract description 8
- 238000004891 communication Methods 0.000 abstract description 2
- 230000018109 developmental process Effects 0.000 description 9
- 102100031584 Cell division cycle-associated 7-like protein Human genes 0.000 description 8
- 101000777638 Homo sapiens Cell division cycle-associated 7-like protein Proteins 0.000 description 8
- JJWKPURADFRFRB-UHFFFAOYSA-N carbonyl sulfide Chemical compound O=C=S JJWKPURADFRFRB-UHFFFAOYSA-N 0.000 description 7
- 101100325756 Arabidopsis thaliana BAM5 gene Proteins 0.000 description 6
- 101150046378 RAM1 gene Proteins 0.000 description 6
- 101100476489 Rattus norvegicus Slc20a2 gene Proteins 0.000 description 6
- 238000001914 filtration Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000009977 dual effect Effects 0.000 description 4
- 230000003139 buffering effect Effects 0.000 description 3
- 230000008030 elimination Effects 0.000 description 3
- 238000003379 elimination reaction Methods 0.000 description 3
- 230000002708 enhancing effect Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000009545 invasion Effects 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101100283411 Arabidopsis thaliana GMII gene Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0042—Universal serial bus [USB]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Hardware Design (AREA)
- Closed-Circuit Television Systems (AREA)
Abstract
本发明涉及基于USB数据侦听的实时幸运成像方法及***,属电子与通信技术和图像处理技术领域。本发明将侦听电路的前端***到CCD相机与PC端的USB2.0总线上,在与望远镜连接的CCD相机拍摄天文图像并将图像用USB2.0传入PC端时,通过专用USB2.0数据侦听***对总线实现无侵入式的数据侦听,并且加以处理后,只将有效的天文图像数据发送给底板。底板基于FPGA幸运成像***进行图像的预处理、动态选图、实时配准和叠加处理,然后采用9个实时分割阈值水平切割高分辨率图像,最后对二值图像进行动态更新和显示。本发明***实现了幸运成像技术的实时化处理,且将天文图像原图和幸运成像结果图像都保存到PC端。
Description
技术领域
本发明涉及一种基于USB数据侦听的实时幸运成像方法及***,属于电子与通信技术和图像处理技术领域。
背景技术
幸运成像技术是在一系列短曝光图像中选出少量高质量的图像,然后对这些图像进行配准和叠加的事后处理技术。这种事后处理技术的缺陷是必须在对选定天文目标观测完成之后再对所得图像进行处理,这就使得天文学家无法知道关于所拍摄图像的实时信息,以至于不能及时发现观测过程中可能出现的问题,并做出快速决策。解决这一问题的办法是改进算法,增加硬件的处理能力,将幸运成像技术实时或准实时化。相较于传统的CPU串行处理方式而言,FPGA具有高并行性和灵活性,还能提供强大的并行计算能力和内存带宽,当前使用FPGA进行高速视频图像处理是图像处理领域的一个研究热点。
目前,天文幸运成像观测使用的CCD相机通常是EMCCD相机,它与PC端通过USB2.0连接并传递信息。USB是一种便捷的,点对点的数据传输方式,但该协议不支持三个设备间的数据传输。若需要实现对USB 2.0总线上数据的实时侦听和采集功能,需要使用基于USB2.0数据侦听***来完成这个任务。
此前,已有论文和专利文献介绍过基于FPGA幸运成像***,其***流程是:由EMCCD相机将短曝光的天文图像用USB2.0传入PC端存储,然后通过特定程序让PC读入FITS格式的天文图像,去掉头文件后转化为只有有效图像数据的BIN文件,再通过GMII接口将图像数据将数据不断的发送给千兆网接收模块;千兆网接收模块将接收到的图像数据送入图像预处理模块,进行高斯滤波和宇宙射线的剔除,其后将预处理完毕的数据送入实时幸运成像算法处理模块;FPGA幸运成像算法模块包括DDR3存储控制模块、选图算法模块、配准算法模块和叠加算法模块;用于对预处理完成后图像数据进行存储、选图、配准和叠加处理,处理完成后送往多阈值二值化模块;多阈值二值化模块用来增强目标区域的可视性,然后将图像数据分成两路:一路经千兆网发送模块回传到PC端保存高分辨率图像,一路传给VGA控制模块,产生控制信号,控制VGA显示模块驱动FPGA片外接口电路,将高分辨率图像在VGA显示器上显示。
上述已有的基于FPGA幸运成像***的实时处理,由于存在一个图像存储和读取的过程,实时性还有待进一步提高。如果将CCD相机拍摄的有效图像数据,不通过存储和读取的过程,直接传入FPGA***进行幸运成像处理,便可以大大改善***的实时性。
发明内容
本发明要解决的技术问题是:针对现有基于FPGA幸运成像***不能直接实时地将拍摄的数据传输给FPGA***处理的问题,本发明提供一种基于USB数据侦听的实时幸运成像方法及***,搭建了一个具有实时侦听、传输、处理、动态更新和显示的幸运成像***。且实现了幸运成像技术的实时化处理,并且将天文图像原图和幸运成像结果图像都保存到PC端。
本发明技术方案是:一种基于USB数据侦听的实时幸运成像方法,包括:侦听电路的前端***到CCD相机与PC端的USB2.0总线上,在与望远镜连接的CCD相机拍摄天文图像并将图像用USB2.0传入PC端时,侦听CCD相机和PC端之间的信号,并把CCD相机传入PC端的天文图像数据提取出来,通过底板上IO扩展口接收模块以8位并行总线的方式传到基于FPGA的幸运成像***中;基于FPGA的幸运成像***分析处理数据后在VGA上进行动态实时更新和显示并将结果通过千兆以太网发送模块传回到PC端。
作为本发明的进一步方案,基于USB2.0数据侦听的方式,将数据分成两路,一路是CDD相机将天文图像通过USB接口传到PC端,一路是将天文图像数据通过USB总线侦听并传到基于FPGA的幸运成像***做实时化处理。
作为本发明的进一步方案,对侦听到的所有数据分析,并根据天文图像特征,从USB数据包中选出有效的天文图像数据,删除无效信息,只将有效的天文图像数据传入底板***中。
一种基于USB数据侦听的实时幸运成像***,包括望远镜、CCD相机、PC端、USB2.0数据侦听***、VGA显示器、底板FPGA开发板的IO扩展口接收模块、基于FPGA的幸运成像***、千兆以太网发送模块、VGA处理模块;
所述望远镜、CCD相机、PC端依次相连;将CCD相机与PC端连接的USB总线差分对上拉出两根线,连接USB2.0数据侦听***;所述基于USB2.0数据侦听***和底板FPGA开发板的IO扩展口接收模块通过40个IO扩展口排针相连接;所述IO扩展口接收模块、基于FPGA的幸运成像***、VGA处理模块和VGA显示器依次相连,且基于FPGA的幸运成像***还通过千兆以太网发送模块与PC端相连接;
所述USB2.0数据侦听***包括USB接口芯片模块、ULPI接口模块、包分解模块、事务组合模块、传输模块;所述USB接口芯片模块、ULPI接口模块、包分解模块、事务组合模块、传输模块依次相连;
所述基于FPGA幸运成像***包括图像预处理模块、实时幸运成像算法模块、多阈值二值化模块,且图像预处理模块、实时幸运成像算法模块、多阈值二值化模块依次相连;所述基于FPGA幸运成像***中实时幸运成像算法模块连接千兆以太网发送模块,多阈值二值化模块连接VGA处理模块。
作为本发明的进一步方案,所述CCD相机用于拍摄天文图像;
所述PC端用于将CCD相机传输过来的天文图像原图和幸运成像结果图像保存;
所述USB2.0数据侦听***无侵入式侦听CCD相机和PC端之间的信号,加以处理后,只将有效的天文图像数据通过底板FPGA开发板IO扩展口接收模块以8位并行总线的方式传入基于FPGA的幸运成像***;
所述基于FPGA的幸运成像***进行幸运成像算法分析处理数据后将结果通过千兆以太网发送模块传回到PC端,并将结果经多阈值分割成二值图像后在VGA上进行动态实时更新和显示。
所述基于USB2.0数据侦听***和底板FPGA开发板通过40个IO扩展口排针相连接,并将基于以太网网口接收数据的幸运成像***改为从IO扩展口接收。
所述基于USB2.0数据侦听***使用由底板FPGA开发板通过排针提供的5V电压和复位信号;所述底板FPGA开发板主体使用由基于USB2.0数据侦听***通过排针提供的60MHz时钟信号。
本发明的工作原理是:
所述USB接口芯片通过USB总线无侵入式截取CCD相机和PC端之间的信号并发送给FPGA芯片。
所述ULPI接口模块为ULPI PHY接口模块,与USB接口芯片模块建立协议层的联系,并把数据完整输出给包分解模块。
所述包分解模块,将8位并行数据存入8位宽的RAM中,每存一个字节,计数一次可以得到包的长度。将前三组8位数据存入三个宽度为8寄存器当中,当一个完整的包传输结束后,将每一个包的信息组合成一个数据存入FIFO中缓存。如果包的长度为三并且第一组数据为令牌包的PID(包识别字段),判断这个包为令牌包,则把前三组保存到寄存器里的8位数据存入宽度为64位FIFO中的前24位缓存。其中前1~8位为这个包的PID,9~15位是设备的地址,16~19位是设备的端点数据,剩下的5位是CRC检验位。如果包的长度大于3并且第一组数据为数据包的PID,则判断这个包为数据包。把第一组数据(PID)保存到64位FIFO中的1~8位;把这个包的长度减三(除去一个字节的PID和两个字节的CRC校验位,为这个包数据的长度)保存到64位FIFO中的25~36位;把这个数据包在RAM中的首地址加一(第一个字节是PID,从第二个字节起为这个包的数据,最后两个字节为这个包的CRC)保存到64位FIFO中的37~48位。如果包的长度为一并且第一组数据为握手包的PID,判断为这个包为握手包,把第一组数据(PID)保存到64位FIFO中的第一位。把这些数据保存FIFO中缓存是为了便于接下来事务组合模块处理。
所述事务组合模块,当上一个事务的数据处理完并传输至底板后,如果FIFO中有数据,则判断这个FIFO中的64位数据的前八位(PID)。如果是令牌包的PID,则将PID数据放进令牌包PID寄存器,并把此64位数据中地址放进地址寄存器,端点数据放进端点寄存器。如果是数据包的PID,则将PID数据放进数据包PID寄存器,并把此64位数据中数据长度放进数据长度寄存器,把数据在RAM中的地址放进数据RAM地址寄存器。如果是握手包的PID,则将PID数据放进握手包PID寄存器。根据三个PID寄存器,可以确定这次传输的是什么事务,并且将这次事务命名成相应的一个8位的事务标识符(TID)码,并将这次事务的地址、端点,长度组合成一个事务信息头。
所述传输模块,上电后,传输模块进入初始状态(IDLE),当使能信号EN为1且前一个时钟EN为0时进入头信息状态(HEADER),头信息状态有4个时钟,每个时钟判断一个字节头信息。
第1个字节:tid[7:0],表示该USB事务的类型;因为该USB事务是由CCD相机传到PC端,也就是从从设备传到主设备。TID为输入数据事务,所以当TID不满足时,返回初始状态机(IDLE),等待下一次USB事务传来。
第2个字节:addr[6:0],表示该事务对应的设备地址。
第3个字节:低4位为ep[3:0],表示该事务对应的端点号,高4位为len[3:0]。因为天文图像数据事务传输端点都是固定的为2。所以当ep不满足时,返回初始状态机(IDLE),等待下一次USB事务传来。
第4个字节:len[11:4],和上一字节的高四位len[3:0]组合为len[11:0]表示该事务对应的数据长度。因为天文图片数据事务传输长度为512字节。所以当len[11:0]不满足时,返回初始状态机(IDLE),等待下一次USB事务传来。
头信息状态(HEADER)都满足,并且EN为1的情况进入DATA_PRE状态,看第一个数据是否符合天文图像数据特征,不满足就返回初始状态机(IDLE),等待下一次USB事务传来。
当DATA_PRE状态满足符合天文图像数据特征就传给底板***,并进入DATA状态。只要EN为1,就将数据传给底板IO扩展口接收模块,并重复DATA状态。EN为0,返回初始状态机(IDLE),等待下一次USB事务传来。
所述IO扩展口接收模块,用于从IO口接收USB数据侦听***传输到底板的图像数据,并且把图像数据不断的送往图像预处理模块;
所述图像预处理模块,用于对接收到的图像数据进行预处理,并送往实时幸运成像处理模块。
所述图像预处理模块,它由两个子模块构成:其一是高斯滤波模块,用于对图像进行高斯滤波处理;另一是宇宙射线剔除模块,用于对图像进行宇宙射线的剔除处理。
所述高斯滤波模块,采用3x3的高斯高斯滤波器模板进行降噪滤波,具体实施方案是用模板扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。
所述宇宙射线剔除模块方法的工作流程,检测脉冲宽度为1个时钟周期的指示信号,当检测到时,就读取信息寄存器中的横纵坐标和峰值信息,紧接着,判断是否满足配准要求,如果满足,就读取信息寄存器中的图像序号信息,判断是否为第一帧图像,如果是,就判断峰值是否小于初始阈值,如果不是,就判断是否小于自适应阈值。如果信息寄存器中保存的位置信息满足配准要求并且峰值小于阈值,就保持信息寄存器中的峰值信息不变,否则,就将信息寄存器中的峰值信息置0。最后判断图像帧数计数器的值是否等于给定的图像总帧数,如果是,流程结束,如果不是,继续检测脉冲宽度为1个时钟周期的指示信号,如此往复,直到流程结束。其中初始阈值x0为前三帧预处理图像峰值中的中值。第n帧天文图像的自适应阈值Tn由初始阈值x0和前n-1帧天文图像的峰值(x1,x2,…,xi,…,xn-1)共同确定,计算公式为
递推关系式为
式中a为比例常数,一般在2到2.5之间,如果xn大于Tn,根据图像的成像质量就可以认为该帧图像包含宇宙射线,应剔除;
所述实时幸运成像算法模块包括DDR3存储控制模块、选图算法模块、配准算法模块和叠加算法模块。用于对预处理完成后图像数据进行存储、选图、配准和叠加处理,处理完成后送往多阈值二值化模块。
所述选图算法模块用于获取n帧图像中按1%的选图比选出的m帧峰值最大的图像进行配准叠加处理,并存储峰值所在图像位置的横纵坐标,n,m均为正整数。
所述选图算法模块方法的工作流程如下:
步骤1:最前面的m个经过图像预处理模块后的峰值依次暂存在RAM地址1至地址m中。
步骤2:下一个经过图像预处理模块后的峰值都暂存到RAM地址m+1上。
步骤3:依次读取RAM地址1到地址m+1,相互比较并记录最小值所在的RAM地址k。
步骤4:把暂存在地址m+1上的峰值写入到最小值所在存储地址单元k中。
步骤5:地址k和当前帧图像峰值所在位置坐标(行、列号)送入配准模块进行配准。
步骤6:转步骤2,直到无输入图像为止。
所述配准算法模块,用于把选图算法模块得出峰值所在图像位置的横纵坐标,根据式
addr=[(axisX-32)×512+axisY-32]×4
计算出要裁剪的图像首地址,然后送给DDR3存储控制模块进行处理。
所述叠加算法模块用于将配准后的图像进行叠加,然后将图像数据分成两路,一路经千兆以太网发送模块回传到PC端保存高分辨率图像;一路送入多阈值二值化模块进行处理。RAM1是一个真双口RAM,即有两个写端口和两个读端口,RAM2是一个简单双口RAM,即有一个写端口和一个读端口。为了完成图像数据的无缝缓冲和处理任务,并节省缓冲区空间,本***叠加过程采用一个真双口RAM和一个简单双口RAM进行乒乓操作实现图像的叠加。乒乓操作主要是依靠切换两个RAM之间的读写操作实现的,即当RAM1进行写操作时,RAM2进行读操作,当一帧图像叠加完毕后,切换状态,即RAM1进行读操作,RAM2进行写操作,直到1%的图像叠加完毕,此时RAM2中存储的就是全部叠加后的图像,图像传输过程中,只要有幸运图像更新时,就重置叠加模块,进行新一轮的叠加。
所述DDR3存储控制模块能将DDR3存储器配置成3个32位端口,即DDR3_p1口、DDR3_p2口和DDR3_p0口。并且在DDR3_p1口和DDR3_p2口之间进行乒乓操作,实现原始图像的快速存储。乒乓操作主要是依靠切换两个存储块之间的读写操作实现的,即当DDR3_p1口进行写操作时,DDR3_p2口进行读操作;当一帧图像读取完毕后,切换状态,即DDR3_p1口进行读操作,DDR3_p2口进行写操作,如此往复。DDR3_p1口和DDR3_p2口每次分别只存储一帧原始天文图像。当DDR3_p1口或DDR3_p2口进行读操作时,DDR3_p0口存储配准裁剪后的天文图像,DDR3_p0口存储方式与选图算法类似。每个子存储块存储一帧裁剪图像,占用16384个地址单元。当一帧裁剪图像存储到存储块i中,该存储块的首地址为k x 16384,k为选图模块传递过来的参数。这样每次都能保证DDR3_p0口中存储块1到存储块m中的裁剪图像,就是n个图像峰值中前m个最大值对应的裁剪图像。
所述多阈值二值化模块,用于对叠加完成后的高分辨率图像进行水平切割,采用阈值二值分割法对叠加完成后的高分辨率图像进行水平切割,阈值二值分割法的基本公式如下:
式中,Ii(x,y)为叠加完成后的高分辨率图像像素值,Io(x,y)为输出的二值图像像素值,T为分割阈值。一方面设置两组按键控制分割阈值,一组按键对其进行微调,另一组按键对其进行大调,用于实时跟踪高分辨率图像最优阈值,达到最佳显示效果;另一方面设置9个阈值同步进行切割,9个阈值大小按等差数列分布,用于更好的捕捉高分辨率图像中暗弱天体的信息。切割完成后将图像数据传给VGA控制模块,产生控制信号,控制VGA驱动显示模块驱动FPGA片外接口电路,将高分辨率图像在VGA显示器上显示。
所述VGA控制模块用于控制经多阈值分割后的二值图像在VGA显示器上的位置;VGA显示模块用于把9帧二值图像按3×3的排列方式在VGA显示器上显示,VGA显示器的分辨率为1024×768。
本发明工作过程为:
将与望远镜连接的CCD相机用USB连接线与本***的扁口母座的USB接口相连。将PC端用USB连接线与本***的方口母座的USB接口相连。
上电后,本***中的基于USB2.0数据侦听***中USB接口芯片就会无侵入式截取CCD相机和PC端之间的信号并发送给FPGA芯片。FPGA芯片包括:ULPI接口模块、包分解模块、事务组合模块、传输模块。ULPI接口模块为ULPI PHY接口模块,与USB接口芯片模块建立协议层的联系,并把数据完整输出给包分解模块。包分解模块将USB数据包缓存到RAM,并把包信息存入FIFO中缓存,进入事务组合模块。事务组合模块用于USB事务处理,将几个相关联的令牌包、数据包、握手包组合成一个USB事务。传输模块用于将组合好的USB事务中的数据分析,根据天文图像特征,选出有效的天文图像数据,只将有效的天文图像数据通过IO扩展口以8位并行总线的方式传入本***的底板IO扩展口接收模块。
底板的IO扩展口接收模块将数据传入基于FPGA的幸运成像***,基于FPGA的幸运成像***将接收到的图像数据送入图像预处理模块,进行高斯滤波和宇宙射线的剔除。其后将预处理完毕的数据送入幸运成像算法处理模块。幸运成像算法模块包括DDR3存储控制模块、选图算法模块、配准算法模块和叠加算法模块;用于对预处理完成后图像数据进行存储、选图、配准和叠加处理,处理完成后将图像数据分成两路:一路经千兆以太网发送模块回传到PC端保存高分辨率图像;一路送往多阈值二值化模块。多阈值二值化模块,以增强目标区域的可视性,然后将结果传给VGA控制模块,产生控制信号,控制VGA驱动显示模块驱动FPGA片外接口电路,将高分辨率图像在VGA显示器上显示。
在天文图像的不断由CCD相机传输到PC端的过程中,本***就会实时动态更新和显示高分辨率图像。
本发明的有益效果是:本发明克服了基于CPU的幸运成像技术的实时性问题,解决了现有基于FPGA的幸运成像***不能实时将CCD相机拍摄的天文图像数据传输进***处理的问题。提供一种基于USB2.0数据侦听的实时幸运成像技术,并搭建了一个具有实时侦听、传输、处理、动态更新和显示的幸运成像***。实现了幸运成像技术的实时化处理,并且将天文图像原图和幸运成像结果图像都保存到PC端。
附图说明
图1是本发明的***框图;
图2是本发明的基于FPGA幸运成像***与基于USB2.0数据侦听***的连接图;
图3是本发明的基于USB2.0数据侦听***中传输模块筛选天文数据的状态机;
图4是本发明的实时幸运成像算法模块结构框图;
图5是本发明的选图算法模块方法的简易工作流程图;
图6是本发明的叠加算法模块叠加过程示意框图。
具体实施方式
下面结合附图和具体实施例,对本发明作进一步说明。
实施例1:如图1-6所示,一种基于USB数据侦听的实时幸运成像方法,包括:侦听电路的前端***到CCD相机与PC端的USB2.0总线上,在与望远镜连接的CCD相机拍摄天文图像并将图像用USB2.0传入PC端时,侦听CCD相机和PC端之间的信号,并把CCD相机传入PC端的天文图像数据提取出来,通过底板上IO扩展口接收模块以8位并行总线的方式传到基于FPGA的幸运成像***中;基于FPGA的幸运成像***分析处理数据后在VGA上进行动态实时更新和显示并将结果通过千兆以太网发送模块传回到PC端。
作为本发明的进一步方案,基于USB2.0数据侦听的方式,将数据分成两路,一路是CDD相机将天文图像通过USB接口传到PC端,一路是将天文图像数据通过USB总线侦听并传到基于FPGA的幸运成像***做实时化处理。
作为本发明的进一步方案,对侦听到的所有数据分析,并根据天文图像特征,从USB数据包中选出有效的天文图像数据,删除无效信息,只将有效的天文图像数据传入底板***中。
一种基于USB数据侦听的实时幸运成像***,包括望远镜、CCD相机、PC端、USB2.0数据侦听***、VGA显示器、底板FPGA开发板的IO扩展口接收模块、基于FPGA的幸运成像***、千兆以太网发送模块、VGA处理模块;
所述望远镜、CCD相机、PC端依次相连;将CCD相机与PC端连接的USB总线差分对上拉出两根线,连接USB2.0数据侦听***;所述基于USB2.0数据侦听***和底板FPGA开发板的IO扩展口接收模块通过40个IO扩展口排针相连接;所述IO扩展口接收模块、基于FPGA的幸运成像***、VGA处理模块和VGA显示器依次相连,且基于FPGA的幸运成像***还通过千兆以太网发送模块与PC端相连接;
所述USB2.0数据侦听***包括USB接口芯片模块、ULPI接口模块、包分解模块、事务组合模块、传输模块;所述USB接口芯片模块、ULPI接口模块、包分解模块、事务组合模块、传输模块依次相连;
所述基于FPGA幸运成像***包括图像预处理模块、实时幸运成像算法模块、多阈值二值化模块,且图像预处理模块、实时幸运成像算法模块、多阈值二值化模块依次相连;所述基于FPGA幸运成像***中实时幸运成像算法模块连接千兆以太网发送模块,多阈值二值化模块连接VGA处理模块。
作为本发明的进一步方案,所述CCD相机用于拍摄天文图像;
所述PC端用于将CCD相机传输过来的天文图像原图和幸运成像结果图像保存;
所述USB2.0数据侦听***无侵入式侦听CCD相机和PC端之间的信号,加以处理后,只将有效的天文图像数据通过底板FPGA开发板IO扩展口接收模块以8位并行总线的方式传入基于FPGA的幸运成像***;
所述基于FPGA的幸运成像***进行幸运成像算法分析处理数据后将结果通过千兆以太网发送模块传回到PC端,并将结果经多阈值分割成二值图像后在VGA上进行动态实时更新和显示。
实施例2:如图1-6所示,一种基于USB数据侦听的实时幸运成像方法,本实施例与实施例相同,不同之处在于:
其***中的基于USB2.0数据侦听***中的USB接口芯片无侵入式截取CCD相机和PC端之间的信号并发送给FPGA芯片。FPGA芯片包括:ULPI接口模块、包分解模块、事务组合模块、传输模块。ULPI接口模块为ULPI PHY接口模块,与USB接口芯片模块建立协议层的联系,并把数据完整输出给包分解模块。包分解模块将USB数据包缓存到RAM,并把包信息存入FIFO中缓存,进入事务组合模块。事务组合模块用于USB事务处理,将几个相关联的令牌包、数据包、握手包组合成一个USB事务。传输模块用于将组合好的USB事务中的数据分析,根据天文图像特征,选出有效的天文图像数据,只将有效的天文图像数据通过IO扩展口以8位并行总线的方式传入本***的底板IO扩展口接收模块。
底板的IO扩展口接收模块将数据传入基于FPGA的幸运成像***,基于FPGA的幸运成像***将接收到的图像数据送入图像预处理模块,进行高斯滤波和宇宙射线的剔除。其后将预处理完毕的数据送入幸运成像算法处理模块。幸运成像算法模块包括DDR3存储控制模块、选图算法模块、配准算法模块和叠加算法模块;用于对预处理完成后图像数据进行存储、选图、配准和叠加处理,处理完成后将图像数据分成两路:一路经千兆以太网发送模块回传到PC端保存高分辨率图像;一路送往多阈值二值化模块。多阈值二值化模块,以增强目标区域的可视性,然后将结果传给VGA控制模块,产生控制信号,控制VGA驱动显示模块驱动FPGA片外接口电路,将高分辨率图像在VGA显示器上显示。
在天文图像的不断由CCD相机传输到PC端的过程中,本***就会实时动态更新和显示高分辨率图像。
所述***采用了基于USB2.0数据侦听的方式,将数据分成两路,一路是CDD相机将天文图像通过USB接口传到PC端,一路是将天文图像数据通过USB总线侦听并传到基于FPGA的幸运成像***做实时化处理。
所述基于USB2.0数据侦听***需要对侦听到的所有数据分析,并根据天文图像特征,从USB数据包中选出有效的天文图像数据,删除无效信息,只将有效的天文图像数据传入底板***中。
所述基于USB2.0数据侦听***和底板通过40个IO扩展口排针相连接,并将基于以太网网口接收数据的幸运成像***改为从IO扩展口接收。
如图2所示,所述基于USB2.0数据侦听***使用由底板通过排针提供的5V电压和复位信号;基于USB2.0数据侦听***的USB事务输入给底板***IO扩展口接收模块的接口信号有:60MHz时钟信号rx_clk_in,使能信号EN,8位数据rx_data_in[7:0]。所述底板主体使用由基于USB2.0数据侦听***通过排针提供的60MHz时钟信号。
如图3所示,所述为基于USB2.0数据侦听***中传输模块筛选有效天文图像数据的状态机。上电后,进入初始状态(IDLE),当使能信号EN为1且前一个时钟EN为0时进入头信息状态(HEADER),头信息状态有4个时钟,每个时钟判断一个字节头信息。
第1个字节:tid[7:0],表示该USB事务的类型;因为该USB事务是由CCD相机传到PC端,也就是从从设备传到主设备。TID为输入数据事务,所以当TID不满足时,返回初始状态机(IDLE),等待下一次USB事务传来。
第2个字节:addr[6:0],表示该事务对应的设备地址。
第3个字节:低4位为ep[3:0],表示该事务对应的端点号,高4位为len[3:0]。因为天文图像数据事务传输端点都是固定的为2。所以当ep不满足时,返回初始状态机(IDLE),等待下一次USB事务传来。
第4个字节:len[11:4],和上一字节的高四位len[3:0]组合为len[11:0]表示该事务对应的数据长度。因为天文图片数据事务传输长度为512字节。所以当len[11:0]不满足时,返回初始状态机(IDLE),等待下一次USB事务传来。
头信息状态(HEADER)都满足,并且EN为1的情况进入DATA_PRE状态,看第一个数据是否符合天文图像数据特征,不满足就返回初始状态机(IDLE),等待下一次USB事务传来。
当DATA_PRE状态满足符合天文图像数据特征就传给底板***,并进入DATA状态。只要EN为1,就将数据传给底板IO扩展口接收模块,并重复DATA状态。EN为0,返回初始状态机(IDLE),等待下一次USB事务传来。
如图4所示,所述实时幸运成像算法模块包括DDR3存储控制模块、选图算法模块、配准算法模块和叠加算法模块。用于对预处理完成后图像数据进行存储、选图、配准和叠加处理,处理完成后送往多阈值二值化模块。
所述选图算法模块用于获取n帧图像中按1%的选图比选出的m帧峰值最大的图像进行配准叠加处理,并存储峰值所在图像位置的横纵坐标,n,m均为正整数。
如图5所示,所述选图算法模块方法的工作流程如下:
步骤1:最前面的m个经过图像预处理模块后的峰值依次暂存在RAM地址1至地址m中。
步骤2:下一个经过图像预处理模块后的峰值都暂存到RAM地址m+1上。
步骤3:依次读取RAM地址1到地址m+1,相互比较并记录最小值所在的RAM地址k。
步骤4:把暂存在地址m+1上的峰值写入到最小值所在存储地址单元k中。
步骤5:地址k和当前帧图像峰值所在位置坐标(行、列号)送入配准模块进行配准。
步骤6:转步骤2,直到无输入图像为止。
所述配准算法模块,用于把选图算法模块得出峰值所在图像位置的横纵坐标,根据式
addr=[(axisX-32)×512+axisY-32]×4
计算出要裁剪的图像首地址,然后送给DDR3存储控制模块进行处理。
如图6所示,所述叠加算法模块用于将配准后的图像进行叠加,然后送入多阈值二值化模块进行处理。RAM1是一个真双口RAM,即有两个写端口和两个读端口,RAM2是一个简单双口RAM,即有一个写端口和一个读端口。为了完成图像数据的无缝缓冲和处理任务,并节省缓冲区空间,本***采用一个真双口RAM和一个简单双口RAM进行乒乓操作实现图像的叠加。乒乓操作主要是依靠切换两个RAM之间的读写操作实现的,即当RAM1进行写操作时,RAM2进行读操作,当一帧图像叠加完毕后,切换状态,即RAM1进行读操作,RAM2进行写操作,直到1%的图像叠加完毕,此时RAM2中存储的就是全部叠加后的图像,图像传输过程中,只要有幸运图像更新时,就重置叠加模块,进行新一轮的叠加。
如图4所示,所述DDR3存储控制模块能将DDR3存储器配置成3个32位端口,即DDR3_p1口、DDR3_p2口和DDR3_p0口。并且在DDR3_p1口和DDR3_p2口之间进行乒乓操作,实现原始图像的快速存储。乒乓操作主要是依靠切换两个存储块之间的读写操作实现的,即当DDR3_p1口进行写操作时,DDR3_p2口进行读操作;当一帧图像读取完毕后,切换状态,即DDR3_p1口进行读操作,DDR3_p2口进行写操作,如此往复。DDR3_p1口和DDR3_p2口每次分别只存储一帧原始天文图像。当DDR3_p1口或DDR3_p2口进行读操作时,DDR3_p0口存储配准裁剪后的天文图像,DDR3_p0口存储方式与选图算法类似,如图3所示。每个子存储块存储一帧裁剪图像,占用16384个地址单元。当一帧裁剪图像存储到存储块i中,该存储块的首地址为k x16384,k为选图模块传递过来的参数。这样每次都能保证DDR3_p0口中存储块1到存储块m中的裁剪图像,就是n个图像峰值中前m个最大值对应的裁剪图像。
上面结合附图对本发明的具体实施例作了详细说明,但是本发明并不限于上述实施例,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。
Claims (5)
1.一种基于USB数据侦听的实时幸运成像方法,其特征在于,包括:侦听电路的前端***到CCD相机与PC端的USB2.0总线上,在与望远镜连接的CCD相机拍摄天文图像并将图像用USB2.0传入PC端时,侦听CCD相机和PC端之间的信号,并把CCD相机传入PC端的天文图像数据提取出来,通过底板上IO扩展口接收模块以8位并行总线的方式传到基于FPGA的幸运成像***中;基于FPGA的幸运成像***分析处理数据后在VGA上进行动态实时更新和显示并将结果通过千兆以太网发送模块传回到PC端。
2.根据权利要求1所述的基于USB数据侦听的实时幸运成像方法,其特征在于:基于USB2.0数据侦听的方式,将数据分成两路,一路是CDD相机将天文图像通过USB接口传到PC端,一路是将天文图像数据通过USB总线侦听并传到基于FPGA的幸运成像***做实时化处理。
3.根据权利要求1所述的基于USB数据侦听的实时幸运成像方法,其特征在于:对侦听到的所有数据分析,并根据天文图像特征,从USB数据包中选出有效的天文图像数据,删除无效信息,只将有效的天文图像数据传入底板***中。
4.一种基于USB数据侦听的实时幸运成像***,其特征在于:包括望远镜、CCD相机、PC端、USB2.0数据侦听***、VGA显示器、底板FPGA开发板的IO扩展口接收模块、基于FPGA的幸运成像***、千兆以太网发送模块、VGA处理模块;
所述望远镜、CCD相机、PC端依次相连;将CCD相机与PC端连接的USB总线差分对上拉出两根线,连接USB2.0数据侦听***;所述基于USB2.0数据侦听***和底板FPGA开发板的IO扩展口接收模块通过40个IO扩展口排针相连接;所述IO扩展口接收模块、基于FPGA的幸运成像***、VGA处理模块和VGA显示器依次相连,且基于FPGA的幸运成像***还通过千兆以太网发送模块与PC端相连接;
所述USB2.0数据侦听***包括USB接口芯片模块、ULPI接口模块、包分解模块、事务组合模块、传输模块;所述USB接口芯片模块、ULPI接口模块、包分解模块、事务组合模块、传输模块依次相连;
所述基于FPGA幸运成像***包括图像预处理模块、实时幸运成像算法模块、多阈值二值化模块,且图像预处理模块、实时幸运成像算法模块、多阈值二值化模块依次相连;所述基于FPGA幸运成像***中实时幸运成像算法模块连接千兆以太网发送模块,多阈值二值化模块连接VGA处理模块。
5.根据权利要求4所述的基于USB数据侦听的实时幸运成像***,其特征在于:
所述CCD相机用于拍摄天文图像;
所述PC端用于将CCD相机传输过来的天文图像原图和幸运成像结果图像保存;
所述USB2.0数据侦听***无侵入式侦听CCD相机和PC端之间的信号,加以处理后,只将有效的天文图像数据通过底板FPGA开发板IO扩展口接收模块以8位并行总线的方式传入基于FPGA的幸运成像***;
所述基于FPGA的幸运成像***进行幸运成像算法分析处理数据后将结果通过千兆以太网发送模块传回到PC端,并将结果经多阈值分割成二值图像后在VGA上进行动态实时更新和显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011537877.6A CN112579505A (zh) | 2020-12-23 | 2020-12-23 | 一种基于usb数据侦听的实时幸运成像方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011537877.6A CN112579505A (zh) | 2020-12-23 | 2020-12-23 | 一种基于usb数据侦听的实时幸运成像方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112579505A true CN112579505A (zh) | 2021-03-30 |
Family
ID=75139045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011537877.6A Pending CN112579505A (zh) | 2020-12-23 | 2020-12-23 | 一种基于usb数据侦听的实时幸运成像方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112579505A (zh) |
-
2020
- 2020-12-23 CN CN202011537877.6A patent/CN112579505A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107249101B (zh) | 一种高分辨率图像采集与处理装置 | |
US6594399B1 (en) | Method and apparatus for integrating multiple 1-D filters into a digital image stream interface | |
CN109640007B (zh) | 人工智能图像传感设备 | |
CN110796600B (zh) | 一种图像超分重建方法、图像超分重建装置及电子设备 | |
CN105516624A (zh) | 一种基于多核dsp的多通道图像采集处理*** | |
CN103430531B (zh) | 视频处理装置、视频处理***和视频处理方法 | |
CN111340835A (zh) | 基于fpga的视频图像边缘检测*** | |
CN114285962A (zh) | 噪声处理装置、方法、芯片、事件成像装置及电子设备 | |
CN112995465B (zh) | 一种基于zynq的图像传输***及方法 | |
US20220321840A1 (en) | Method for transmitting high bandwidth camera data through serdes links | |
CN116863861B (zh) | 基于非显性点判断的图像处理方法、设备及可读存储介质 | |
CN108540689B (zh) | 图像信号处理器、应用处理器及移动装置 | |
US11622169B1 (en) | Picture processing method in embedded system | |
CN112703728B (zh) | 用于处理数字图像的方法、装置和*** | |
CN112579505A (zh) | 一种基于usb数据侦听的实时幸运成像方法及*** | |
CN113744189A (zh) | 一种基于fpga的自适应阈值边缘检测***及方法 | |
CN113438474A (zh) | 一种摄像头模组测试装置及其控制方法 | |
CN113744139A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
TWI475875B (zh) | 三維影像產生裝置 | |
Wang et al. | A new real-time lucky imaging algorithm and its implementation techniques | |
CN110996005B (zh) | 一种实时数字图像增强方法及*** | |
CN115695763A (zh) | 一种三维扫描*** | |
CN110264488B (zh) | 一种二值图像边缘提取装置 | |
CN112261296A (zh) | 一种图像增强方法、图像增强装置及移动终端 | |
CN207503284U (zh) | 图像边缘检测*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |