本发明涉及海事船舶测控领域,尤其是指一种基于rtos的声速剖面仪嵌入式软件设计方法。
背景技术:
1、声速是重要的水文参数之一,精确测量声速是声纳准确测距的基础,单波束测深仪的深度矫正、多波束测深仪波束角矫正及声线弯曲矫正都离不开声速剖面的测量。声速剖面仪是一种测量海(江、湖)水中声速、温度垂直剖面的测量仪器,广泛应用于近海、江河水深测量工作。
2、传统声速剖面仪的mcu嵌入式程序设计采用裸机编程,使用infiniteloop循环配合状态标志位进行相应的逻辑处理;然而声速剖面仪的特性决定了它是一个对时间精度要求很高的设备,在运行过程中,不论是与存储器、ad转换芯片等从设备进行阻塞式通信,还是处理串口指令产生的中断并做出响应,抑或是多数业务逻辑里面都会有的循环等待延时,导致所有的逻辑几乎都是串行起来工作的,cpu有很多时间都浪费在了延时函数里空转,虽然声速的独立测量结果不受影响,但可能会造成时间相关的测量误差,例如在匀速下放时时间间隔的误差可能会导致测量数据的提前或延后。
技术实现思路
1、为解决上述技术问题,本发明的一种基于rtos的声速剖面仪嵌入式软件设计方法,其中声速剖面仪以将各个不同的任务拆分成独立线程,并通过调度器同一管理,包括如下步骤:
2、步骤s1:初始化系统,读取声速、压力及温度测量的标定参数;
3、步骤s2:在实时操作系统中建立温度测量线程、压力测量线程、声速测量线程,开始测量周期,并对串口指令处理、数据存储处理线程进行初始化;激活心跳线程进行监控;
4、步骤s3:三个测量线程完成测量任务,回报数据后,通过相应的标定参数解算转换测量数据,得到目标测量结果;
5、步骤s4:根据串口指令设置的工作模式,将数据交由串口线程回送至上位机或交由数据存储线程储存在闪存芯片中;
6、步骤s5:向心跳线程发送心跳包,上报测量成功状态;
7、步骤s6:心跳线程监控测量状态,异常情况下复位系统,转至s1,否则转至s3循环。
8、在本发明的一个实施例中,步骤s1中声速标定参数有两项,分别为声靶距离及电路延时,由声速剖面仪经过标定测算得到。
9、在本发明的一个实施例中,压力标定参数有三项,分别为拟合多项式的二次项、一次项及常数项,拟合多项式由声速剖面仪经过压力标定与标准值拟合得到;温度测量标定参数有三项,分别为拟合多项式的二次项、一次项及常数项,拟合多项式由声速剖面仪经过温度标定与标准值拟合得到。
10、在本发明的一个实施例中,步骤s2中声速测量线程在一个测量周期内,校准tdc并通过时间飞跃法测量发射波与回波信号的延时,返回给主线程;压力测量线程在一个测量周期内,校准adc并读取压力传感器电压数据,返回给主线程;温度测量线程在一个测量周期内,校准adc并读取温度传感器电压数据,返回给主线程。
11、在本发明的一个实施例中,其中主线程在一个测量周期内,当测量线程返回数据后,将数据使用对应的标定参数进行修正、解算,得到一次声速剖面的测量结果,并根据工作模式对数据进行存储或者回报给上位机处理,并在一个测量周期结束后,置位心跳事件标志。
12、在本发明的一个实施例中,步骤s6中心跳线程在固定的时间窗口内,检测心跳事件标志,如果正常置位则进行复位,如果未正常置位则认为测量程序出现问题,在多次连续检测到问题后复位系统,起到监控的作用。
13、本发明的上述技术方案相比现有技术具有以下优点:本发明所述的嵌入式软件设计方法,使用rtos(实时操作系统)设计声速剖面仪的程序,可以将各个不同的任务拆分成独立线程,并通过调度器同一管理。通过给线程设置不同的优先级、使用信号量或事件标志等机制进行线程同步以及应用抢占式调度策略,可以在保证高优先级测量任务即时处理的同时,大大提高声速剖面仪主控的并发能力和工作效率,减小时间误差。
1.一种基于rtos的声速剖面仪嵌入式软件设计方法,其中声速剖面仪以将各个不同的任务拆分成独立线程,并通过调度器同一管理,其特征在于,包括如下步骤:
2.根据权利要求1所述的嵌入式软件设计方法,其特征在于:步骤s1中声速标定参数有两项,分别为声靶距离及电路延时,由声速剖面仪经过标定测算得到。
3.根据权利要求1所述的嵌入式软件设计方法,其特征在于:压力标定参数有三项,分别为拟合多项式的二次项、一次项及常数项,拟合多项式由声速剖面仪经过压力标定与标准值拟合得到;温度测量标定参数有三项,分别为拟合多项式的二次项、一次项及常数项,拟合多项式由声速剖面仪经过温度标定与标准值拟合得到。
4.根据权利要求2所述的嵌入式软件设计方法,其特征在于:步骤s2中声速测量线程在一个测量周期内,校准tdc并通过时间飞跃法测量发射波与回波信号的延时,返回给主线程;压力测量线程在一个测量周期内,校准adc并读取压力传感器电压数据,返回给主线程;温度测量线程在一个测量周期内,校准adc并读取温度传感器电压数据,返回给主线程。
5.根据权利要求4所述的嵌入式软件设计方法,其特征在于:其中主线程在一个测量周期内,当测量线程返回数据后,将数据使用对应的标定参数进行修正、解算,得到一次声速剖面的测量结果,并根据工作模式对数据进行存储或者回报给上位机处理,并在一个测量周期结束后,置位心跳事件标志。
6.根据权利要求1所述的嵌入式软件设计方法,其特征在于:步骤s6中心跳线程在固定的时间窗口内,检测心跳事件标志,如果正常置位则进行复位,如果未正常置位则认为测量程序出现问题,在多次连续检测到问题后复位系统,起到监控的作用。