一种嵌入式系统的双路导航通讯方法技术方案

技术编号:23148986 阅读:28 留言:0更新日期:2020-01-18 13:26
本发明专利技术涉及一种嵌入式系统的双路导航通讯方法,涉及嵌入式系统技术领域。该方法中主机板和串口板通过读写双口RAM中的数据实现对导航数据的正确接收。串口板负责接收同步脉冲和导航数据,负责判断同步脉冲是否可用以及导航数据是否超时,串口板通过双口RAM通知主机板应该使用哪组同步脉冲和导航数据,以及同步脉冲和导航数据的状态是否正常;主机板通过双口RAM解析并处理当前可用的同步脉冲和导航数据。这种方法采用两个处理器之间的协同工作,替代了原有一个处理器完成的工作,任务划分更为合理和清晰,降低了软件设计的复杂度,提高了系统可靠性。

A two way navigation communication method for embedded system

【技术实现步骤摘要】
一种嵌入式系统的双路导航通讯方法
本专利技术涉及嵌入式系统
,具体涉及一种嵌入式系统的双路导航通讯方法。
技术介绍
为了提高舰船上惯导系统工作的稳定性和可靠性,惯导系统通过RS-422A串行接口同时发送两组完全相同的导航数据给相应的舰船设备。通常实现双路导航功能是在一块主机板上集成多路串口,通过串口接收到同步脉冲和导航数据时对主机板上的处理器产生中断信号,主机板内程序在中断处理程序中对接收到的同步脉冲和导航数据进行处理。这种做法虽然能够实现双路导航的正常切换和工作,但是它的缺点是显而易见的。一方面,主机板程序需要处理多个中断(多个定时器中断和多个串口中断),会占用系统较多的中断堆栈空间,很有可能导致多重中断嵌套;另一方面,主机板程序需要在多个中断处理程序和多个任务之间判断同步脉冲是否可用,导航数据是否超时,解析正确的导航数据和保存同步脉冲时刻值,并还需完成其它的软件功能,软件架构比较复杂,容易导致保存的同步脉冲时刻值与导航数据不匹配的情况,即该导航数据不是在该同步脉冲时刻值产生的。为了解决上述双路导航切换方法存在的不足,提高系统的可靠性,需要提出一种嵌入式系统的双路导航通讯方法。
技术实现思路
(一)要解决的技术问题本专利技术要解决的技术问题是:如何实现一种嵌入式系统的双路导航通讯方法,以保证嵌入式系统双路导航稳定、可靠地进行切换和通讯。(二)技术方案为了解决上述技术问题,本专利技术提供了一种嵌入式系统的双路导航通讯方法,该方法通过读写双口RAM中的数据实现对导航数据的正确接收。优选地,该方法使用串口板和主机板读写双口RAM中的数据实现对导航数据的正确接收,所述串口板用于完成同步脉冲和导航数据的状态检测和切换工作。优选地,该方法具体包括以下步骤:(1)串口板由单片机和多路串口组成,将多路串口的数据分为两组,每组均包含同步脉冲和导航数据,外部导航源同时发送两组同步脉冲和导航数据,串口板以中断方式接收两组同步脉冲和导航数据;同步脉冲的周期为T1,用于使导航数据同步;(2)串口板在接收到任一组可用同步脉冲时,记录当前同步脉冲的计数值,即同步脉冲时刻,在双口RAM中保存当前同步脉冲的组号,同时开始启动计时,用于判断之后收到的导航数据是否超时,若之后收到的导航数据长度正确且没有超过预设时间T,则认为接收同步脉冲和导航数据均正常,将同步脉冲时刻值和导航数据组成一个数据包保存在所述双口RAM中;若之后接收的导航数据的时刻超过预设时间T,则在所述双口RAM中设置当前导航数据接收超时标志;若串口板在预设连续的时间T2内没有收到当前组的可用同步脉冲,则判断另外一组是否接收到可用同步脉冲,若另一组也没有接收到可用同步脉冲,则继续在预设连续的时间T3内检查当前组是否接收到可用同步脉冲,若没有,则在所述双口RAM中设置同步脉冲故障标志;若另一组接收到可用同步脉冲,则切换到另外一组同步脉冲和导航数据,记录当前同步脉冲的计数值,即同步脉冲时刻,并在所述双口RAM中保存当前的同步脉冲的组号,然后按照相同的方法进行导航数据的超时判断;(3)主机板的程序运行在嵌入式操作系统上,在主机板的程序中发起一个任务用于接收处理同步脉冲和导航数据,该任务的执行周期为T4,主机板的程序按照周期T4去查询所述双口RAM中的内容,从所述双口RAM中获知使用哪组同步脉冲和导航数据,若任一组根据同步脉冲和导航数据可用,则根据组号判断并记录当前该组同步脉冲和导航数据的状态,然后从所述双口RAM中解析收到的同步脉冲和导航数据;若从所述双口RAM中获知两组同步脉冲和导航数据均不可用,则上报故障,0<T<T4<T1。优选地,若从所述双口RAM中获知两组同步脉冲和导航数据均不可用,则向其它设备上报故障。优选地,所述同步脉冲为方波信号,占空比为1:1,用于同步导航姿态信息。优选地,所述同步脉冲的下降沿为同步触发沿。优选地,所述外部导航源为舰船上惯导系统。(三)有益效果该方法中主机板和串口板通过读写双口RAM中的数据实现对导航数据的正确接收。串口板负责接收同步脉冲和导航数据,负责判断同步脉冲是否可用以及导航数据是否超时,串口板通过双口RAM通知主机板应该使用哪组同步脉冲和导航数据,以及同步脉冲和导航数据的状态是否正常;主机板通过双口RAM解析并处理当前可用的同步脉冲和导航数据。这种方法采用两个处理器之间的协同工作,替代了原有一个处理器完成的工作,任务划分更为合理和清晰,降低了软件设计的复杂度,提高了系统可靠性。附图说明图1为本专利技术的主机板程序处理流程图;图2为本专利技术的串口板程序处理流程图。具体实施方式为使本专利技术的目的、内容、和优点更加清楚,下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。为保证嵌入式系统双路导航稳定、可靠的进行切换和通讯,本专利技术提出了一种嵌入式系统的双路导航通讯方法。该方法通过主机板和串口板读写双口RAM中的数据实现对导航数据的正确接收,串口板用于完成同步脉冲和导航数据的状态检测和切换工作,主机板用于完成同步脉冲和导航数据的解析工作。参考图1、图2所示,具体包括以下步骤:(1)串口板由单片机和多路串口组成,将多路串口的数据分为两组,每组均包含同步脉冲和导航数据,外部导航源同时发送两组同步脉冲和导航数据,串口板以中断方式接收两组同步脉冲和导航数据;同步脉冲为方波信号,周期为T1,占空比为1:1,用于同步导航姿态信息,脉冲的下降沿作为同步触发沿;(2)串口板在接收到任一组可用同步脉冲时,记录当前同步脉冲的计数值(即同步脉冲时刻),在双口RAM中保存当前同步脉冲的组号,同时开始启动计时,用于判断之后收到的导航数据是否超时,若之后收到的导航数据长度正确且没有超过预设时间T,则认为接收同步脉冲和导航数据均正常,将同步脉冲时刻值和导航数据组成一个数据包保存在所述双口RAM中;若之后接收的导航数据的时刻超过预设时间T,则在所述双口RAM中设置当前导航数据接收超时标志;若串口板在预设连续的时间T2内没有收到当前组的可用同步脉冲,则判断另外一组是否接收到可用同步脉冲,若另一组也没有接收到可用同步脉冲,则继续在预设连续的时间T3内检查当前组是否接收到可用同步脉冲,若没有,则在所述双口RAM中设置同步脉冲故障标志;若另一组接收到可用同步脉冲,则切换到另外一组同步脉冲和导航数据,记录当前同步脉冲的计数值(即同步脉冲时刻),并在所述双口RAM中保存当前的同步脉冲的组号,然后按照相同的方法进行导航数据的超时判断;(3)主机板的程序运行在嵌入式操作系统上,在主机板的程序中发起一个任务用于接收处理同步脉冲和导航数据,该任务的执行周期为T4(0<T<T4<T1),主机板的程序按照周期T4去查询所述双口RAM中的内容,从所述双口RAM中获知使用哪组同步脉冲和导航数据,若任一组根据同步脉冲和导航数据可用,则根据组号判断并记录当前该组同步脉冲和本文档来自技高网...

【技术保护点】
1.一种嵌入式系统的双路导航通讯方法,其特征在于,该方法通过读写双口RAM中的数据实现对导航数据的正确接收。/n

【技术特征摘要】
1.一种嵌入式系统的双路导航通讯方法,其特征在于,该方法通过读写双口RAM中的数据实现对导航数据的正确接收。


2.如权利要求1所述的方法,其特征在于,该方法使用串口板和主机板读写双口RAM中的数据实现对导航数据的正确接收,所述串口板用于完成同步脉冲和导航数据的状态检测和切换工作。


3.如权利要求1所述的方法,其特征在于,该方法具体包括以下步骤:
(1)串口板由单片机和多路串口组成,将多路串口的数据分为两组,每组均包含同步脉冲和导航数据,外部导航源同时发送两组同步脉冲和导航数据,串口板以中断方式接收两组同步脉冲和导航数据;同步脉冲的周期为T1,用于使导航数据同步;
(2)串口板在接收到任一组可用同步脉冲时,记录当前同步脉冲的计数值,即同步脉冲时刻,在双口RAM中保存当前同步脉冲的组号,同时开始启动计时,用于判断之后收到的导航数据是否超时,若之后收到的导航数据长度正确且没有超过预设时间T,则认为接收同步脉冲和导航数据均正常,将同步脉冲时刻值和导航数据组成一个数据包保存在所述双口RAM中;若之后接收的导航数据的时刻超过预设时间T,则在所述双口RAM中设置当前导航数据接收超时标志;
若串口板在预设连续的时间T2内没有收到当前组的可用同步脉冲,则判断另外一组是否接收到可用同步脉冲,若另一组也没有接收到可用同步脉冲,则继续在预设连续的时间T3内检查当...

【专利技术属性】
技术研发人员:赵昶宇
申请(专利权)人:天津津航计算技术研究所
类型:发明
国别省市:天津;12

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

1
相关领域技术
  • 暂无相关专利