基于串口传输的数据储存方法技术

技术编号:37187177 阅读:9 留言:0更新日期:2023-04-20 22:50
基于串口传输的数据储存方法,涉及星敏感器中星图数据传输技术领域,解决现有星敏感器储存星图时,采用定时器的方法存在传输效率低,而且简单的串口接收事件也会耽误大量的时间和准确度的缺失等问题,本发明专利技术方法借鉴集合数组的结构,采用集合接收与循环组帧相结合的方式,将一张星图准确高效的储存到下位机RAM的指定地址中。本发明专利技术采用循环发送和循环判断,与普通串口接收方法相比,该方法提高了储存速度,能够充分满足串口速度的通讯,也避免了数组接收的丢帧缺陷。在上位机和下位机进行特定的握手协议储存中充分,减少了上位机处理数据的时间内耗,有助于提升星敏感器的星图更新率和准确率。新率和准确率。新率和准确率。

【技术实现步骤摘要】
基于串口传输的数据储存方法


[0001]本专利技术涉及星敏感器中星图数据传输
,具体涉及一种基于串口传输的数据储存方法。

技术介绍

[0002]航天技术蓬勃发展,卫星
作为重要的一环,我国各类军民卫星的技术也需要更高的技术要求。星敏感器作为卫星姿态确认的唯一设备,其性能也成为了卫星技术的重要标志。星敏感器作为航天设备,其设备功能调试无误需要在地面进行确认后才可跟随卫星上天工作,而如何快速准确的储存星图一直是提升星敏感器性能调试的关键。
[0003]星图储存是星敏感器性能调试的关键,其星图中星点的准确率很大程度上决定了后续星图识别的准确率,影响星敏感器的定姿性能。星敏感器对星图数据的准确性都有着很严格的要求。如何快速准确地实现星图传输一直是提升调试星敏感器性能的关键因素。
[0004]为准确储存星图信息,首先要对星图中的星图进行分割和识别。星图的识别方法可以利用基本的像素处理方法,如RGB平均值法。目前很多星图传输采用定时器的方法,定时器对于星图的全像素传输效率低,而且简单的串口接收事件也会耽误大量的时间和准确度的缺失。但是,随着航天技术的发展,如何准确的调试星敏感器是满足航天设备性能的关键。
[0005]本专利技术考虑星敏感器硬件配置及软件的执行顺序,基于循环和集合接收通过握手协议实现星图的储存,通过上位机和下位机的协同工作准确快速寻找完整帧并继续传输,在特定条件下(只有串口可供数据传输)大大提高了星敏感器调试过程中的准确率和速度。

技术实现思路

[0006]本专利技术为解决现有星敏感器储存星图时,采用定时器的方法存在传输效率低,而且简单的串口接收事件也会耽误大量的时间和准确度的缺失等问题,提供一种基于串口传输的数据储存方法。
[0007]基于串口传输的数据储存方法,该方法步骤如下:
[0008]步骤一、上位机接收星图并解析所述星图的输入地址;
[0009]步骤二、判断接收标志位是否为1,如果是,执行步骤三;如果否,执行步骤四;
[0010]步骤三、上位机基于循环组帧的方式向下位机发送完整数据帧,所述完整数据帧由帧头+地址+数据+帧尾为一帧完整数据帧;改变接收标志位为0,执行步骤七;
[0011]步骤四、回到上一帧完整帧发送循环,即将错误帧重新组帧;将完整数据帧,即:帧头+地址+数据+帧尾传送至下位机,并改变接收标志位为0,执行步骤五;
[0012]步骤五、下位机接收上位机传送的完整数据帧并解析数据后存入RAM,所述下位机判断地址和数据无误后,反馈至上位机一个标志位;
[0013]步骤六、所述上位机接收下位机传送的数据后找到完整数据帧,并判断反馈结果后改变标志位,返回执行步骤二;
[0014]步骤七、判断最后一组像素值是否储存成功,如果是,结束;如果否,返回执行步骤五。
[0015]本专利技术的有益效果:本专利技术所述的方法采用集合接收与循环组帧相结合的方式,将一张星图准确高效的储存到下位机RAM的指定地址中。采用循环发送和循环判断,该解决了串口接收事件处理数据效率低、丢字节的弊端。该方法只所需时间无限接近既串口传输速率,与现有方法相比,加快了星图传输的速度,减少了接收和处理反馈时时间消耗。
[0016]本专利技术方法提高了储存速度,能够充分满足串口速度的通讯,也避免了数组接收的丢帧缺陷。在上位机和下位机进行特定的握手协议储存中充分,减少了上位机处理数据的时间内耗,有助于提升星敏感器的星图更新率和准确率。
附图说明
[0017]为了更清楚地说明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0018]图1为本专利技术所述的基于串口传输的数据储存方法的总流程图;
[0019]图2为本专利技术所述的上位机基于循环的组帧发送流程图;
[0020]图3为本专利技术所述的下位机的数据处理与反馈流程图;
[0021]图4为本专利技术所述的上位机基于集合数组接收的反馈帧接收和梳理流程图;
[0022]具体实现方式
[0023]具体实施方式一、结合图1至图4说明本实施方式,基于串口传输的数据储存方法,首先进行星图的循环发送,集合数组接收遍历判断反馈帧的算法如图1所示。
[0024]步骤一、上位机接收星图并解析所述星图的输入地址;将所传星图进行灰度解析,在接收标志为1时代表下位机储存完成,进行循环,对所选星图的前四个像素进行RGB解析并转换为灰度,并记录最大像素值作为循环发送终点,在起始状态,接收标志定为1。
[0025]步骤二、判断接收标志位是否为1,如果是,执行步骤三;如果否,执行步骤四;
[0026]步骤三、上位机基于循环的组帧方式向下位机发送完整数据帧,所述完整数据帧由帧头+地址+数据+帧尾为一帧完整数据帧;改变接收标志位为0,执行步骤七;
[0027]本实施方式中,在灰度值解析完成后,在循环内进行数据的组帧,完整帧为“帧头+地址+数据+帧尾”的方式,下位机RAM地址为自定义设定的32bit地址,进行第一帧数据的发送,用全局变量暂存地址用于后续数据判断,并用并同时将接收标志变为0,对循环进行暂定等待。
[0028]如图2所示,本实施方式中,在星图选取和地址解析完成后,根据起始的接收标志为1进入循环,首先将前四个像素为一组进行解析灰度值,再将解析出的地址拆分为4个字节,加上帧头计算出帧尾的SUM验证位,组成完整帧“帧头+地址+4个像素数据+帧尾”的方式通过串口发送给下位机进行储存和判断,同时用全局变量储存此次发送地址,并且发送标志位改为0。
[0029]所述上位机基于循环组帧的方式向下位机发送完整数据帧的具体过程为:
[0030]步骤三一、所述上位机判断接收标志位是否为1,如果是,更新解析像素位置与RAM
地址,执行步骤三三;如果否,执行步骤三二;
[0031]步骤三二、不更新解析像素位置与RAM地址,执行步骤三三;
[0032]步骤三三、组成完整数据帧,即:帧头+地址+数据+帧尾发送至下位机,执行步骤三四;
[0033]步骤三四、判断是否是最后一帧接收标志,如果是,结束;如果否,返回执行步骤三二。
[0034]步骤四、回到上一帧循环,将完整数据帧,即:帧头+地址+数据+帧尾传送至下位机,并改变接收标志位为0,执行步骤五;
[0035]步骤五、下位机接收上位机传送的完整数据帧并解析数据后存入RAM,所述下位机判断地址和数据无误后,反馈至上位机一个标志位;
[0036]1)下位机接收到上位机的指令帧后,先找到帧头,找到帧头之后再进行校验位验证,如帧头和校验位都正确则表示找到一帧完整的指令帧,之后对指令帧进行解析。
[0037]2)解析出地址和数据;判断地址和数据是否在地址范围(地址范围为提前规划好的数据储本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于串口传输的数据储存方法,其特征是:该方法由以下步骤实现:步骤一、上位机接收星图并解析所述星图的输入地址;步骤二、判断接收标志位是否为1,如果是,执行步骤三;如果否,执行步骤四;步骤三、上位机基于循环组帧的方式向下位机发送完整数据帧,所述完整数据帧由帧头+地址+数据+帧尾为一帧完整数据帧;改变接收标志位为0,执行步骤七;步骤四、回到上一帧像素发送的循环,将完整数据帧,即:帧头+地址+数据+帧尾传送至下位机,并改变接收标志位为0,执行步骤五;步骤五、下位机接收上位机传送的完整数据帧并解析数据后存入RAM,所述下位机判断地址和数据无误后,反馈至上位机一个标志位;步骤六、所述上位机接收下位机传送的数据后找到完整数据帧,并判断反馈结果后改变标志位,返回执行步骤二;步骤七、判断最后一组像素值是否储存成功,如果是,结束;如果否,返回执行步骤五。2.根据权利要求1所述的基于串口传输的数据储存方法,其特征在于:步骤三中,所述上位机基于循环组帧的方式向下位机发送完整数据帧的具体过程为:步骤三一、所述上位机判断接收标志位是否为1,如果是,更新解析像素位置与RAM地址,执行步骤三三;如果否,执行步骤三二;步骤三二、不更新解析像素位置与RAM地址,执行步骤三三;步骤三三、组成完整数据帧,即:帧头+地址+数据+帧尾发送至下位机,执行步骤三四;步骤三四、判断是否是最后一帧接收标志,如果是,结束;如果否,返回执行步骤三二。3.根据权利要求1所述的基于...

【专利技术属性】
技术研发人员:刘超群张子龙张文张刘张柯张贵祥
申请(专利权)人:苏州吉天星舟空间技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1