一种声呐探测数据记录装置及记录方法与流程

文档序号:16208073发布日期:2018-12-08 07:22阅读:167来源:国知局
一种声呐探测数据记录装置及记录方法与流程

本发明涉及数据记录技术领域,尤其是涉及一种声呐探测数据记录装置,本发明还涉及一种声呐探测数据的记录方法。

背景技术

声呐探测利用水中声波对水下目标进行探测,广泛用于鱼雷制导、水雷引信,以及鱼群探测、海洋石油勘探、船舶导航、水下作业、水文测量和海底地质地貌的勘测等。对于复杂的海洋环境而言,探测过程中将会遇到噪声与障碍物,使得所需声呐探测的数据日益庞大,需要记录大量且复杂的数据。

cn106707826a于2017年05月24日公开了一种操舵数据记录电路,包括微处理器,及微处理器的外围电路;外围电路包括晶振电路、电源电路、rs485串口电路、sd卡电路;所述微处理器采用stm32f103rct6。

目前数据记录与存储大多使用单片机内的ram和flash,或者由sd卡和u盘设备。但存储在ram和flash中的数据一般用户无法直观地分析与导出,且供存储的数据量较小,这就导致无法记录大量且复杂的声呐探测数据;存储在sd卡和u盘等设备中的数据若直接写入,则需要额外编写上位机程序导出已存储的数据,且导出时易出现杂乱无章的数据、难以分析,这将为后期的数据处理与分析带来困难。



技术实现要素:

为了克服现有技术的不足,本发明所要解决的技术问题是提供一种能存储大量的数据而且数据能直观地导出至pc机,无需再通过上位机读取的声呐探测数据记录装置及记录方法。

为了解决上述技术问题,根据本发明的一个方面,本发明提供一种声呐探测数据记录装置,包括stm32芯片;与所述stm32芯片通信连接的usart模块、spi模块、具有sd卡的存储模块和usbotgfs模块;通过usb数据线与usbotgfs模块连接的pc机;所述stm32芯片上挂载文件系统,并分配出第一缓存区、第二缓存区、第三缓存区以及时间信息缓存区;

所述spi模块传输的数据包括声呐上浮或下潜时的加速度、姿态信息及探测到的目标数据信息;所述usart模块传输的数据包括声呐所处位置的方位信息和当前的时间信息;所述stm32芯片实时监测是否有数据传入,并判断数据的来源;

当stm32芯片检测到usart模块在传输数据时,判断所传输的数据内容;当所传输的数据内容为时间信息时,将时间信息写入时间信息缓存区;stm32芯片判断sd卡是否存在该时间日期的日期文件夹;若存在该日期的日期文件夹,则stm32芯片读取时间信息缓存区中的时、分、秒时间信息,在该日期的日期文件夹下创建一个根据该时、分、秒时间信息命名的时间文件;若不存在该时间日期的日期文件夹,则stm32芯片读取时间信息缓存区中的年、月、日日期信息,在sd卡上创建一个根据该年、月、日日期信息命名的新日期文件夹,并读取时间信息缓存区中的时、分、秒时间信息,在所述新日期文件夹下创建一个根据该时、分、秒时间信息命名的时间文件;当所传输的数据内容为声呐所处位置的方位信息数据时,stm32芯片将该数据从第三缓存区的首地址开始写入,在完成数据写入后判断第三缓存区是否写满,若缓存区未写满,则写入数据的地址指针指向已写入数据的结束地址;若缓存区已写满,则写入数据的地址指针指向第三缓存区的首地址,将已写入的其它数据覆盖;

当stm32芯片检测到spi模块在传输数据时,将该数据从第一缓存区的首地址开始写入,将spi模块传输来的前0.5s时间内的数据写入第一缓存区;当第一缓存区写满后,打开sd卡所创建的时间文件,将sd卡的地址指针指向所述sd卡所创建的时间文件的首地址,将spi模块传输来的前0.5s时间内的数据存入此时间文件;将spi模块传输来的后0.5s时间内的数据从第二缓存区的首地址开始写入;当spi模块传输来的后0.5s时间内的数据全部接收写入后,将第二缓存区的地址指针指向所写入spi模块传输来的后0.5s时间内数据的结束地址,将第三缓存区中的方位信息数据写入第二缓存区;打开sd卡所创建的时间文件,sd卡的地址指针指向该时间文件已写入数据的尾地址,将spi模块传输来的后0.5s时间内的数据和方位信息数据存入该时间文件;

1s时间内usart模块和spi模块所传输的数据组成一个数据包,数据包包括写入第一缓存区的spi模块传输来的前0.5s时间内的数据、和写入第二缓存区spi模块传输来的后0.5s时间内的数据及方位信息数据;每1s时间内usart模块和spi模块所传输的数据的写入方式按前述步骤依此进行,保证数据传输和存储时无错漏与丢帧;

每向sd卡的时间文件中写入一个数据包后,stm32芯片判断该时间文件中写入的总数据是否达到1分钟时长,若未达到1分钟时长,则继续将下一个数据包的数据存入sd卡中的该时间文件内;若已经达到1分钟时长,则将时间信息缓存区的时间增加1分钟后写入时间信息缓存区内,并覆盖之前的时间信息;stm32芯片判断sd卡是否存在修改后的时间日期的日期文件夹;若存在该日期的日期文件夹,则stm32芯片读取时间信息缓存区中修改后的时、分、秒时间信息,在该日期的日期文件夹下创建一个根据修改后时、分、秒时间信息命名的下一个时间文件;若不存在该时间日期的日期文件夹,则stm32芯片读取时间信息缓存区中修改后的年、月、日日期信息,在sd卡上创建一个根据修改后的年、月、日日期信息命名的下一个日期文件夹,并读取时间信息缓存区中修改后的时、分、秒时间信息,在所述新日期文件夹下创建一个根据修改后时、分、秒时间信息命名的下一个时间文件;然后将下一个数据包的数据存入sd卡中的下一个时间文件内;

usbotgfs模块在检测到上电且与pc机连接后,读取sd卡上存储的数据,并通过usb数据线发送至pc机。

根据本发明的另一个方面,本发明提供一种声呐探测数据记录方法,应用于声呐探测数据记录装置中,所述声呐探测数据记录装置包括stm32芯片;与所述stm32芯片通信连接的usart串口传输模块、spi传输模块、具有sd卡的存储模块和usbotgfs模块;通过usb数据线与usbotgfs模块连接的pc机;所述stm32芯片上挂载文件系统,并分配出第一缓存区、第二缓存区、第三缓存区以及时间信息缓存区;数据记录过程包括以下步骤:

所述spi模块传输的数据包括声呐上浮或下潜时的加速度、姿态信息及探测到的目标数据信息;所述usart模块传输的数据包括声呐所处位置的方位信息和当前的时间信息;所述stm32芯片实时监测是否有数据传入,并判断数据的来源;

当stm32芯片检测到usart模块在传输数据时,判断所传输的数据内容;当所传输的数据内容为时间信息时,将时间信息写入时间信息缓存区;stm32芯片判断sd卡是否存在该时间日期的日期文件夹;若存在该日期的日期文件夹,则stm32芯片读取时间信息缓存区中的时、分、秒时间信息,在该日期的日期文件夹下创建一个根据该时、分、秒时间信息命名的时间文件;若不存在该时间日期的日期文件夹,则stm32芯片读取时间信息缓存区中的年、月、日日期信息,在sd卡上创建一个根据该年、月、日日期信息命名的新日期文件夹,并读取时间信息缓存区中的时、分、秒时间信息,在所述新日期文件夹下创建一个根据该时、分、秒时间信息命名的时间文件;当所传输的数据内容为声呐所处位置的方位信息数据时,stm32芯片将该数据从第三缓存区的首地址开始写入,在完成数据写入后判断第三缓存区是否写满,若缓存区未写满,则写入数据的地址指针指向已写入数据的结束地址;若缓存区已写满,则写入数据的地址指针指向第三缓存区的首地址,将已写入的其它数据覆盖;

当stm32芯片检测到spi模块在传输数据时,将该数据从第一缓存区的首地址开始写入,将spi模块传输来的前0.5s时间内的数据写入第一缓存区;当第一缓存区写满后,打开sd卡所创建的时间文件,将sd卡的地址指针指向所述sd卡所创建的时间文件的首地址,将spi模块传输来的前0.5s时间内的数据存入此时间文件;将spi模块传输来的后0.5s时间内的数据从第二缓存区的首地址开始写入;当spi模块传输来的后0.5s时间内的数据全部接收写入后,将第二缓存区的地址指针指向所写入spi模块传输来的后0.5s时间内数据的结束地址,将第三缓存区中的方位信息数据写入第二缓存区;打开sd卡所创建的时间文件,sd卡的地址指针指向该时间文件已写入数据的尾地址,将spi模块传输来的后0.5s时间内的数据和方位信息数据存入该时间文件;

1s时间内usart模块和spi模块所传输的数据组成一个数据包,数据包包括写入第一缓存区的spi模块传输来的前0.5s时间内的数据、和写入第二缓存区spi模块传输来的后0.5s时间内的数据及方位信息数据;每1s时间内usart模块和spi模块所传输的数据的写入方式按前述步骤依此进行,保证数据传输和存储时无错漏与丢帧;

每向sd卡的时间文件中写入一个数据包后,stm32芯片判断该时间文件中写入的总数据是否达到1分钟时长,若未达到1分钟时长,则继续将下一个数据包的数据存入sd卡中的该时间文件内;若已经达到1分钟时长,则将时间信息缓存区的时间增加1分钟后写入时间信息缓存区内,并覆盖之前的时间信息;stm32芯片判断sd卡是否存在修改后的时间日期的日期文件夹;若存在该日期的日期文件夹,则stm32芯片读取时间信息缓存区中修改后的时、分、秒时间信息,在该日期的日期文件夹下创建一个根据修改后时、分、秒时间信息命名的下一个时间文件;若不存在该时间日期的日期文件夹,则stm32芯片读取时间信息缓存区中修改后的年、月、日日期信息,在sd卡上创建一个根据修改后的年、月、日日期信息命名的下一个日期文件夹,并读取时间信息缓存区中修改后的时、分、秒时间信息,在所述新日期文件夹下创建一个根据修改后时、分、秒时间信息命名的下一个时间文件;然后将下一个数据包的数据存入sd卡中的下一个时间文件内;

usbotgfs模块在检测到上电且与pc机连接后,读取sd卡上存储的数据,并通过usb数据线发送至pc机。

本发明提供的技术方案,可实现有序的,以时间为文件名存储大量数据,保证数据无错漏,且能直观地通过usb接口和数据线将数据导出至pc机,以便进行数据分析与处理。

基于stm32的内部数据方式,可记录大量的数据且数据能直观的由pc机导出,无需再通过上位机读取。

附图说明

附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为实施例声呐探测数据记录装置的结构原理示意图。

具体实施方式

下面结合附图对本发明作进一步说明。

如图1所示的声呐探测数据记录装置,包括stm32芯片1;与所述stm32芯片1通信连接的usart模块2、spi模块3、具有sd卡的存储模块4和usbotgfs模块5;通过usb数据线与usbotgfs模块5连接的pc机6;所述stm32芯片1上挂载文件系统,并分配出第一缓存区、第二缓存区、第三缓存区以及时间信息缓存区。

声呐探测数据记录装置的数据记录过程包括以下步骤:

spi模块3传输的数据包括声呐上浮或下潜时的加速度、姿态信息及探测到的目标数据信息;usart模块2传输的数据包括声呐所处位置的方位信息和当前的时间信息;stm32芯片1实时监测是否有数据传入,并判断数据的来源。声呐一般设有加速度计、陀螺仪、磁力计等,加速度计、陀螺仪、磁力计用于采集声呐的加速度和姿态数据,然后解算它的横滚角、俯仰角、方位角信息数据。声纳探测过程中采集的p声压通道信息、x轴通道质点信息、y轴通道质点信息,通过fft变换可以解算出目标频率与方位、声压和质点振动速度等目标数据信息。

当stm32芯片1检测到usart模块2在传输数据时,判断所传输的数据内容;当所传输的数据内容为时间信息时,将时间信息写入时间信息缓存区;stm32芯片1判断sd卡是否存在该时间日期的日期文件夹;若存在该日期的日期文件夹,则stm32芯片1读取时间信息缓存区中的时、分、秒时间信息,在该日期的日期文件夹下创建一个根据该时、分、秒时间信息命名的时间文件;若不存在该时间日期的日期文件夹,则stm32芯片1读取时间信息缓存区中的年、月、日日期信息,在sd卡上创建一个根据该年、月、日日期信息命名的新日期文件夹,并读取时间信息缓存区中的时、分、秒时间信息,在所述新日期文件夹下创建一个根据该时、分、秒时间信息命名的时间文件;当所传输的数据内容为声呐所处位置的方位信息数据时,stm32芯片1将该数据从第三缓存区的首地址开始写入,在完成数据写入后判断第三缓存区是否写满,若缓存区未写满,则写入数据的地址指针指向已写入数据的结束地址;若缓存区已写满,则写入数据的地址指针指向第三缓存区的首地址,将已写入的其它数据覆盖。

当stm32芯片1检测到spi模块3在传输数据时,将该数据从第一缓存区的首地址开始写入,将spi模块3传输来的前0.5s时间内的数据写入第一缓存区;当第一缓存区写满后,打开sd卡所创建的时间文件,将sd卡的地址指针指向sd卡所创建的时间文件的首地址,将spi模块3传输来的前0.5s时间内的数据存入此时间文件;将spi模块3传输来的后0.5s时间内的数据从第二缓存区的首地址开始写入;当spi模块3传输来的后0.5s时间内的数据全部接收写入后,将第二缓存区的地址指针指向所写入spi模块3传输来的后0.5s时间内数据的结束地址,将第三缓存区中的方位信息数据写入第二缓存区;打开sd卡所创建的时间文件,sd卡的地址指针指向该时间文件已写入数据的尾地址,将spi模块3传输来的后0.5s时间内的数据和方位信息数据存入该时间文件。

1s时间内usart模块2和spi模块3所传输的数据组成一个数据包,数据包包括写入第一缓存区的spi模块3传输来的前0.5s时间内的数据、和写入第二缓存区spi模块3传输来的后0.5s时间内的数据及方位信息数据;每1s时间内usart模块2和spi模块3所传输的数据的写入方式按前述步骤依此进行,保证数据传输和存储时无错漏与丢帧。

每向sd卡的时间文件中写入一个数据包后,stm32芯片1判断该时间文件中写入的总数据是否达到1分钟时长,若未达到1分钟时长,则继续将下一个数据包的数据存入sd卡中的该时间文件内;若已经达到1分钟时长,则将时间信息缓存区的时间增加1分钟后写入时间信息缓存区内,并覆盖之前的时间信息;stm32芯片1判断sd卡是否存在修改后的时间日期的日期文件夹;若存在该日期的日期文件夹,则stm32芯片1读取时间信息缓存区中修改后的时、分、秒时间信息,在该日期的日期文件夹下创建一个根据修改后时、分、秒时间信息命名的下一个时间文件;若不存在该时间日期的日期文件夹,则stm32芯片1读取时间信息缓存区中修改后的年、月、日日期信息,在sd卡上创建一个根据修改后的年、月、日日期信息命名的下一个日期文件夹,并读取时间信息缓存区中修改后的时、分、秒时间信息,在该新日期文件夹下创建一个根据修改后时、分、秒时间信息命名的下一个时间文件;然后将下一个数据包的数据存入sd卡中的下一个时间文件内。

usbotgfs模块5在检测到上电且与pc机6连接后,读取sd卡上存储的数据,并通过usb数据线发送至pc机6。

本发明提供的技术方案可实现有序的,以时间为文件名存储大量数据,保证数据无错漏,且能直观地通过usb接口和数据线将数据导出至pc机,以便进行数据分析与处理。

对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明权利要求的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1