一种基于PolarFireSoC的多路星敏图像数据高速传输系统及方法与流程
本发明涉及星载计算机高速数据传输,具体涉及基于polarfire soc的多路星敏图像数据高速传输系统及方法。
背景技术:
1、星敏相机是卫星姿态确定系统中的重要敏感器件,通常用于获取星图图像,并为星图识别、姿态解算及姿态控制提供基础数据。随着高分辨率遥感卫星对姿态确定精度、数据处理实时性和在轨可维护性的要求不断提高,星敏图像数据的数据量和传输速率持续增加,传统星敏数据传输架构逐渐难以满足多路星敏图像数据集中处理和高速传输的需求。
2、现有技术中,星敏单机内部通常设置独立处理器或处理板卡,由星敏单机在本地完成星图识别和姿态解算,再通过rs422等低速总线将姿态结果或少量处理后数据发送至星载中心计算机,该方案在传统低速数据应用场景下能够满足基本使用需求,而在多路星敏图像数据高速传输和集中处理场景下时,通用处理器加低速总线的传统方案难以兼顾高速传输、多路异步数据统一调度和高可靠需求。
3、综上所述,现有技术在多路星敏图像数据高速传输和集中处理场景下时,难以兼顾高速传输、多路异步数据统一调度和高可靠需求的技术问题。
技术实现思路
1、本发明解决了现有技术在多路星敏图像数据高速传输和集中处理场景下时,难以兼顾高速传输、多路异步数据统一调度和高可靠需求的技术问题。
2、本发明所述的一种基于polarfire soc的多路星敏图像数据高速传输系统,所述系统包括polarfire soc控制器和ddr存储器;
3、所述polarfire soc控制器包括fpga逻辑区和mss处理器子系统;
4、所述fpga逻辑区包括xcvr接收通道、缓存调度模块1和dma写入模块;
5、所述xcvr接收通道,用于接收多路星敏相机输出的高速串行星敏图像数据,并恢复得到并行数据和恢复时钟;
6、所述缓存调度模块1,用于对并行数据和恢复时钟进行帧头检测、跨时钟域缓存、位宽转换和通道调度,并输出星敏图像数据;
7、所述dma写入模块,用于将缓存调度模块1输出的星敏图像数据写入ddr存储器;
8、所述mss处理器子系统,用于配置dma写入模块的传输参数、管理ddr存储器中的缓冲区状态,并在dma写入模块将星敏图像数据写入ddr存储器后,将对应缓冲区标记为可读状态,以供星敏处理算法读取;
9、所述ddr存储器,用于存储星敏图像数据。
10、进一步,在本发明的一个实施方式中,所述mss处理器子系统包括dma配置单元、中断管理单元、星敏算法单元、异常管理单元和ddr控制器;
11、所述dma配置单元,用于通过axi总线接口配置dma写入模块的控制和状态寄存器组,以设定目的地址和传输长度,并触发dma写入模块启动;
12、所述中断管理单元,用于接收dma写入模块产生的传输完成中断,并根据传输完成中断更新ddr存储器中的缓冲区状态;
13、所述星敏算法单元,用于从ddr存储器中读取已标记为可读状态的星敏图像数据,执行星图识别和姿态解算;
14、所述异常管理单元,用于接收缓存调度模块1上报的异常状态,并对对应星敏通道执行复位或重建缓存操作;
15、所述ddr控制器,用于控制ddr存储器的读写访问。
16、进一步,在本发明的一个实施方式中,所述缓存调度模块1包括与多路星敏相机对应设置的多个星敏数据缓存子模块和通道调度子模块;
17、所述星敏数据缓存子模块包括写入控制模块和异步fifo模块;
18、所述写入控制模块包括帧头检测模块和帧长度计数模块,用于在检测到预设帧头后,将对应星敏通道的星敏图像数据写入异步fifo模块,并在达到预设帧长度时停止当前帧写入;
19、所述异步fifo模块,用于实现xcvr接收通道的恢复时钟域到polarfire soc控制器的系统时钟域的跨时钟域处理,以及用于进行位宽适配,以适配dma写入模块的数据接口位宽;
20、所述通道调度子模块,用于根据每路异步fifo模块输出的传输就绪信号选择待传输星敏通道,当多路传输就绪信号同时有效时,按照轮询顺序选择其中一路星敏通道进行传输。
21、进一步,在本发明的一个实施方式中,所述异步fifo模块的写入侧数据位宽为16-bit,读取侧数据位宽为64-bit。
22、进一步,在本发明的一个实施方式中,所述dma写入模块包括接口转换模块和dma控制器;
23、所述接口转换模块连接于所述缓存调度模块1和所述dma控制器之间,用于接收所述缓存调度模块1输出的星敏图像数据及对应通道标识,并将所述星敏图像数据适配为所述dma控制器的数据输入格式;
24、所述dma控制器用于根据控制和状态寄存器组中的配置,将经所述接口转换模块输入的星敏图像数据写入所述ddr存储器。
25、进一步,在本发明的一个实施方式中,所述控制和状态寄存器组包括流描述符寄存器、传输启动寄存器和中断状态寄存器。
26、进一步,在本发明的一个实施方式中,所述ddr存储器中为每一路星敏通道设置至少两个独立缓冲区;
27、当每一路星敏通道设置两个独立缓冲区时,形成乒乓缓存结构;
28、当每一路星敏通道设置不少于三个独立缓冲区时,形成环形缓存队列。
29、进一步,在本发明的一个实施方式中,所述系统还包括xcvr高速转发单元,所述xcvr高速转发单元包括缓存调度模块2、组帧模块和xcvr发送通道;
30、所述缓存调度模块2,用于根据mss处理器子系统配置的通道使能信息,缓存xcvr接收通道恢复的并行数据,在被使能的星敏通道之间进行轮询仲裁,选择当前待转发星敏通道;
31、所述组帧模块,用于对选中的当前待转发星敏通道进行组帧,生成星敏图像数据传输帧;
32、所述xcvr发送通道,用于将星敏图像数据传输帧发送至后级设备。
33、进一步,在本发明的一个实施方式中,所述星敏图像数据传输帧至少包括帧头、通道标识和有效载荷。
34、本发明所述的一种基于polarfire soc的多路星敏图像数据高速传输方法,所述方法用于实现上述任一所述系统,其特征在于,包括以下步骤:
35、步骤1,通过xcvr接收通道接收多路星敏相机输出的高速串行星敏图像数据,并恢复得到并行数据和恢复时钟;
36、步骤2,对并行数据进行帧头检测,当检测到预设帧头后,将对应星敏通道的星敏图像数据写入异步fifo模块;
37、步骤3,通过异步fifo模块完成xcvr接收通道的恢复时钟域到polarfire soc控制器的系统时钟域的跨时钟域处理,并完成数据位宽转换;
38、步骤4,缓存调度模块1根据每路异步fifo模块输出的传输就绪信号选择待传输星敏通道,当多路传输就绪信号同时有效时,按照轮询顺序选择其中一路星敏通道进行传输;
39、步骤5,mss处理器子系统通过axi总线接口配置dma写入模块的控制和状态寄存器组,以设定目的地址和传输长度,并触发dma写入模块启动,dma写入模块根据传输参数,将待传输星敏通道的星敏图像数据写入ddr存储器;
40、步骤6,mss处理器子系统根据dma写入模块产生的传输完成中断,更新对应星敏通道的缓冲区状态,并将完成写入的缓冲区标记为可读状态,以供星敏处理算法读取。
41、本发明解决了现有技术在多路星敏图像数据高速传输和集中处理场景下时,难以兼顾高速传输、多路异步数据统一调度和高可靠需求的技术问题。本发明具体有益效果包括:
42、1、本发明提出了一种基于polarfire soc的多路星敏图像数据高速传输系统,通过xcvr高速接收、异步fifo跨时钟域处理、轮询仲裁调度、dma无cpu干预写入及多缓冲区管理的协同配合,实现了多路星敏原始图像数据的集中式高速接收、统一调度与可靠存储,兼顾了高速传输、多路异步数据统一调度和高可靠需求;
43、2、本发明提出了一种基于polarfire soc的多路星敏图像数据高速传输系统,通过xcvr高速转发单元对星敏图像数据进行组帧和分时转发,提高系统对后级设备的数据服务能力。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com