一种控制微纳相机数据高速传输的***和方法
技术领域
本发明涉及航天相机控制器领域,尤其涉及一种高速数据传输的微纳相机控制器。
背景技术
近年来,随着微纳遥感相机的迅速发展,微纳卫星已经成为全球卫星技术的发展趋势之一,这也对微纳相机控制器提出了更高的要求。由于微纳卫星具有开发周期短,体积小,轻量化,低功耗,任务复杂等特点,设计一种可靠性高,体积小,轻量化的微纳相机控制器已经成为必然趋势。
以往国内相机控制器多由DSP等处理器或嵌入TSC695F控制芯片等实现,以DSP作为主控制器完成指令的收发实现对相机的控制;或采用TSC695F和FPGA作为控制部件实现相机控制器***,以TSC695F为核心处理器,FPGA辅助其实现相关功能和***接口扩展,两者结合实现对相机的控制。然而,这些方法都存在着结构复杂、可靠性差、体积、重量和功耗大等问题,无法满足微纳遥感卫星可靠性高、体积小、轻量化、功耗低等要求。当前工业相机图像传输具有多种接口类型,如USB,GIGE千兆网等。由于微纳相机图像分辨率,数据速率不断快速增长,已经无法满足高速图像传输的要求。
发明内容
鉴于上述方法结构复杂、可靠性差、功耗高等问题,提出了一种克服上述问题或者至少部分地解决上述问题的一种控制微纳相机数据高速传输的***和方法。
本发明提出的技术方案如下:
一种控制微纳相机数据高速传输的***,包括:
CameraLink接口模块、数据接收模块、CAN指令解析及控制模块、DDR多端口控制器模块、数据发送模块;其中,
CameraLink接口模块,用于微纳相机与数据接收模块进行通信,将微纳相机获取到的图像数据发送给数据接收模块;
数据接收模块,用于接收微纳相机发送的图像数据,并将所述图像数据发送给DDR多端口控制器模块;还用于接收星务***发送的CAN指令和广播数据,并将所述广播数据和CAN指令发送给CAN指令解析及控制模块;
CAN指令解析及控制模块,用于解析星务***发送的广播数据和CAN指令,通过CAN指令与FPGA进行交互,完成对相机的控制;将解析后的广播数据发送给数据发送模块;
DDR多端口控制器模块,用于接收数据接收模块发送的图像数据,并将所述图像数据发送给数据发送模块;
数据发送模块,用于接收图像数据和广播数据进行复接,根据不同模式按照CameraLink协议进行拼接,完成数据的发送。
进一步地,还包括同步模块,所述同步模块输入端与CameraLink接口模块连接,输出端与数据接收模块连接,用于将CameraLink接口模块传输的图像数据进行相位同步,保证数据接收模块接收到的图像数据准确。
进一步地,同步模块同步过程为:将三路信号经过IDELAY动态延时链调整信号的相位关系,将每路时钟信号送入IBUFG模块,将每路的图像信号送入IDDR中选择时钟上升沿采样数据;最后将三路CameraLink图像信号存储到三个双端口RAM中。
进一步地,将三路CameraLink图像信号存储到三个双端口RAM中,具体过程为:采用乒乓模式操作,每当一行图像数据存储完成之后会产生一个存储完成标志信号,当接收到三个通道RAM存储完成标志信号同时拉高,同时读出刚存储的一行图像数据,实现数据的同步及转换到本地时钟域下,并且在读RAM的同时在RAM中存入下一行的图像数据。
进一步地,CAN指令解析及控制模块,具体工作过程为:接收星务***发送的CAN指令之后将指令缓存在FIFO中,FPGA软核查询FIFO中数据量,当FIFO缓存一帧数据,读取一帧数据,按照星务与相机之间的遥测遥控数据协议解析执行相应的命令并转发给逻辑实现控制FPGA内部功能,向微纳相机发送相应的命令实现对相机不同模式的参数配置和根据不同参数改变曝光时间。
进一步地,可以通过CameraLink线缆中串口向相机发送相应的命令。
进一步地,所述DDR多端口控制器模块,满足缓存一整幅图的要求,并且模式切换后能够保证上一幅图完整无残留的全部传输给下一级。
本发明公开了一种控制微纳相机数据高速传输的方法,包括:
微纳相机获取图像数据,并通过CameraLink接口发送给数据接收模块;
数据接收模块接收微纳相机发送的图像数据,并将所述图像数据发送给DDR多端口控制器模块;
数据接收模块接收星务***发送的CAN指令,并将所述指令发送给CAN指令解析及控制模块;
CAN指令解析及控制模块解析星务***发送的广播数据和CAN指令,通过CAN指令与FPGA进行交互,完成对相机的控制;将解析后的广播数据发送给数据发送模块;
DDR多端口控制器模块接收数据接收模块发送的图像数据,并将所述图像数据发送给数据发送模块;
数据发送模块接收图像数据和广播数据进行复接,根据不同模式按照CameraLink协议进行拼接,完成数据的发送。
进一步地,微纳相机获取图像数据,并通过CameraLink接口发送给数据接收模块,还会对图像数据进行同步处理,具***置:将三路信号经过IDELAY动态延时链调整信号的相位关系,将每路时钟信号送入IBUFG模块,将每路的图像信号送入IDDR中选择时钟上升沿采样数据;最后将三路CameraLink图像信号存储到三个双端口RAM中。
进一步地,CAN指令解析及控制模块解析星务***发送的CAN指令,具体过程为:接收星务***发送的CAN指令之后将指令缓存在FIFO中,FPGA软核查询FIFO中数据量,当FIFO缓存一帧数据,读取一帧数据,按照星务与相机之间的遥测遥控数据协议解析执行相应的命令并转发给逻辑实现控制FPGA内部功能,向微纳相机发送相应的命令实现对相机不同模式的参数配置和根据不同参数改变曝光时间
本发明与现有技术相比至少具有以下有益效果:
本发明提出的一种控制微纳相机数据高速传输的***,采用FPGA为控制核心,通过CameraLink接口模块完成相机图像数据的采集、相位调整与同步,实现对传输速率、分辨率较高图像数据的快速处理;CAN总线指令解析及控制模块,通过FPGA软核解析星务管理***发送的广播和控制指令,替代传统DSP处理器或TSC695F控制芯片,结构更加简单、功耗更低;DDR多端口控制器模块对图像数据进行缓存,使***更加稳定,减少FPGA片上RAM资源的使用。本发明能够对时钟频率80MHz,帧频20fps,分辨率5120x5120视频图像进行实时采集与处理,速率高达500MB/s,功耗低于20瓦,采用三层结构大大减小微纳相机控制器体积,符合微纳相机控制器的体积小的要求。***传输速率高,工作稳定可靠,可扩展性强。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。
在附图中:
图1是本发明实施例1中,一种控制微纳相机数据高速传输的***结构图;
图2是本发明实施例1中,同步模块工作原理示意图;
图3是本发明实施例2中,一种控制微纳相机数据高速传输的方法流程图。
具体实施方式
实施例1
本实施例公开了一种控制微纳相机数据高速传输的***,包括:CameraLink接口模块1、数据接收模块2、CAN指令解析及控制模块3、DDR多端口控制器模块4、数据发送模块5;其中,
CameraLink接口模块1,用于微纳相机与数据接收模块2进行通信,将微纳相机获取到的图像数据发送给数据接收模块2;
具体的,CameraLink总线传输速度是目前的工业相机中最快的一种总线类型,能够满足高速图像传输的要求。CameraLink接口模块1包含一根串口线可以直接与相机进行交互无需多加线缆,接口简单,传输线缆体积小。
由于各模块的布局布线以及信号在Cameralink线缆传输的过程中都将影响信号的相位关系,三路信号之间可能存在一定的误差;因此,在一些优选实施例中,还包括同步模块,所述同步模块输入端与CameraLink接口模块1连接,输出端与数据接收模块2连接,用于将CameraLink接口模块1传输的图像数据进行相位同步,保证数据接收模块2接收到的图像数据准确。
具体的,同步模块具体工作过程为:在CameraLink接收器将数据送入到FPGA后,首先经过IDELAY动态延时链调整信号的相位关系,以达到还原它们的原有相位的目的。本发明调节相位延迟大小根据大量实验测试得到并设置固定的延迟,减小三路CameraLink信号之间相位差,保证数据的准确性。每路时钟信号送入IBUFG模块,提高时钟的驱动能力。将每路的图像信号送入IDDR中选择时钟上升沿采数保证数据的准确性。将三路CameraLink图像信号存到三个双端口RAM中,为图像数据的存储与读取提供相互独立的两个通道。
在一些优选实施例中,RAM储存采用乒乓模式操作,每当一行图像数据存储完成之后会产生一个存储完成标志信号,当接收到三个通道RAM存储完成标志信号同时拉高,同时读出刚存储的一行图像数据,实现数据的同步及转换到本地时钟域下,并且在读RAM的同时在RAM中存入下一行的图像数据,提高读写速率。
数据接收模块2,用于接收微纳相机发送的图像数据,并将所述图像数据发送给DDR多端口控制器模块4;还用于接收星务***发送的CAN指令和广播数据,并将所述CAN指令和广播数据发送给CAN指令解析及控制模块3。可以理解的,所述星务***会与相机进行信息交互,包括控制相机模式和改变相机工作参数等。
CAN指令解析及控制模块3,用于解析星务***发送的广播数据和CAN指令,通过CAN指令与FPGA进行交互,完成对相机的控制;将解析后的广播数据发送给数据发送模块5;
CAN指令解析及控制模块3解析星务***发送的CAN指令,具体过程为:接收星务***发送的CAN指令之后将指令缓存在FIFO中,FPGA软核查询FIFO中数据量,当FIFO缓存一帧数据,读取一帧数据,按照星务与相机之间的遥测遥控数据协议解析执行相应的命令并转发给逻辑实现控制FPGA内部功能,向微纳相机发送相应的命令实现对相机不同模式的参数配置和根据不同参数改变曝光时间。
具体的,CAN指令解析及控制模块3解析星务***发送的CAN指令具体过程为:CAN指令解析及控制模块3接收到CAN指令之后,将指令缓存在FIFO中,FPGA软核会查询FIFO中数据量,当FIFO缓存一帧数据,读取一帧数据。经过软核,按照间接指令格式进行解析参考星务与相机之间的遥测遥控数据协议解析执行相应的命令并转发给逻辑实现控制FPGA内部功能,如通过CameraLink线缆中串口向相机发送相应的命令实现对相机不同模式的参数配置或通过相机触发模块根据不同参数改变曝光时间等。
DDR多端口控制器模块4,用于接收数据接收模块2发送的图像数据,并将所述图像数据发送给数据发送模块5。
具体的,本实施例的DDR多端口控制器,对外表现为一个容量较大的FIFO,刚好符合缓存一整幅图的要求,并且模式切换后能够保证上一幅图完整无残留的全部传输给下一级,大容量DDR高速缓存能够保证***能够平稳运行。
数据发送模块5,用于接收图像数据和CAN指令进行复接,根据不同模式按照CameraLink协议进行拼接,完成数据的发送。
本发明实施例提供的一种控制微纳相机数据高速传输的***,利用FPGA的并行处理能力解决了相机控制器处理数据量大的问题,利用CameraLink接口解决了控制接口复杂,传输速率高的问题,利用CAN总线进行通信确保数据传输的可靠性。利用FPGA软核实现指令解析以替代传统DSP处理器或TSC695F控制芯片,使得结构更加简单,功耗更低,***功耗小于20瓦。采用三层结构大大减小了相机控制器体积。
实施例2
本实施例公开了一种控制微纳相机数据高速传输的方法,包括:
微纳相机获取图像数据,并通过CameraLink接口发送给数据接收模块。
在一些优选实施例中,微纳相机获取图像数据,并通过CameraLink接口发送给数据接收模块,还会对图像数据进行同步处理,同步处理过程为:将三路信号经过IDELAY动态延时链调整信号的相位关系,将每路时钟信号送入IBUFG模块,将每路的图像信号送入IDDR中选择时钟上升沿采样数据;最后将三路CameraLink图像信号存储到三个双端口RAM中。
在一些优选实施例中,RAM储存采用乒乓模式操作,每当一行图像数据存储完成之后会产生一个存储完成标志信号,当接收到三个通道RAM存储完成标志信号同时拉高,同时读出刚存储的一行图像数据,实现数据的同步及转换到本地时钟域下,并且在读RAM的同时在RAM中存入下一行的图像数据,提高读写速率。
数据接收模块接收微纳相机发送的图像数据,并将所述图像数据发送给DDR多端口控制器模块。
数据接收模块接收星务***发送的广播数据和CAN指令,将所述的广播数据和CAN指令发送给CAN指令解析及控制模块。
CAN指令解析及控制模块解析星务***发送的广播数据和CAN指令,通过CAN指令与FPGA进行交互,完成对相机的控制;将解析后的广播数据发送给数据发送模块。
DDR多端口控制器模块接收数据接收模块发送的图像数据,并将所述图像数据发送给数据发送模块。
具体的,本实施例的DDR多端口控制器,对外表现为一个容量较大的FIFO,刚好符合缓存一整幅图的要求,并且模式切换后能够保证上一幅图完整无残留的全部传输给下一级,大容量DDR高速缓存能够保证***能够平稳运行。
数据发送模块接收图像数据和广播数据进行复接,根据不同模式按照CameraLink协议进行拼接,完成数据的发送。
本发明提出的一种控制微纳相机数据高速传输的方法,采用FPGA为控制核心,通过CameraLink接口模块完成相机图像数据的采集、相位调整与同步,实现对传输速率、分辨率较高图像数据的快速处理;CAN总线指令解析及控制模块,通过FPGA软核解析星务管理***发送的广播和控制指令,替代传统DSP处理器或TSC695F控制芯片,结构更加简单、功耗更低;DDR多端口控制器模块对图像数据进行缓存,使***更加稳定,减少FPGA片上RAM资源的使用。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示非排它性的“或者”。