CN110704344A - 一种嵌入式系统的双路导航通讯方法 - Google Patents
一种嵌入式系统的双路导航通讯方法 Download PDFInfo
- Publication number
- CN110704344A CN110704344A CN201910911355.9A CN201910911355A CN110704344A CN 110704344 A CN110704344 A CN 110704344A CN 201910911355 A CN201910911355 A CN 201910911355A CN 110704344 A CN110704344 A CN 110704344A
- Authority
- CN
- China
- Prior art keywords
- navigation data
- synchronous
- dual
- navigation
- group
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/32—Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4295—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明涉及一种嵌入式系统的双路导航通讯方法,涉及嵌入式系统技术领域。该方法中主机板和串口板通过读写双口RAM中的数据实现对导航数据的正确接收。串口板负责接收同步脉冲和导航数据,负责判断同步脉冲是否可用以及导航数据是否超时,串口板通过双口RAM通知主机板应该使用哪组同步脉冲和导航数据,以及同步脉冲和导航数据的状态是否正常;主机板通过双口RAM解析并处理当前可用的同步脉冲和导航数据。这种方法采用两个处理器之间的协同工作,替代了原有一个处理器完成的工作,任务划分更为合理和清晰,降低了软件设计的复杂度,提高了系统可靠性。
Description
技术领域
本发明涉及嵌入式系统技术领域,具体涉及一种嵌入式系统的双路导航通讯方法。
背景技术
为了提高舰船上惯导系统工作的稳定性和可靠性,惯导系统通过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中获知使用哪组同步脉冲和导航数据,若任一组根据同步脉冲和导航数据可用,则根据组号判断并记录当前该组同步脉冲和导航数据的状态,然后从所述双口RAM中解析收到的同步脉冲和导航数据;若从所述双口RAM中获知两组同步脉冲和导航数据均不可用,则向其它设备上报故障。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (7)
1.一种嵌入式系统的双路导航通讯方法,其特征在于,该方法通过读写双口RAM中的数据实现对导航数据的正确接收。
2.如权利要求1所述的方法,其特征在于,该方法使用串口板和主机板读写双口RAM中的数据实现对导航数据的正确接收,所述串口板用于完成同步脉冲和导航数据的状态检测和切换工作。
3.如权利要求1所述的方法,其特征在于,该方法具体包括以下步骤:
(1)串口板由单片机和多路串口组成,将多路串口的数据分为两组,每组均包含同步脉冲和导航数据,外部导航源同时发送两组同步脉冲和导航数据,串口板以中断方式接收两组同步脉冲和导航数据;同步脉冲的周期为T1,用于使导航数据同步;
(2)串口板在接收到任一组可用同步脉冲时,记录当前同步脉冲的计数值,即同步脉冲时刻,在双口RAM中保存当前同步脉冲的组号,同时开始启动计时,用于判断之后收到的导航数据是否超时,若之后收到的导航数据长度正确且没有超过预设时间T,则认为接收同步脉冲和导航数据均正常,将同步脉冲时刻值和导航数据组成一个数据包保存在所述双口RAM中;若之后接收的导航数据的时刻超过预设时间T,则在所述双口RAM中设置当前导航数据接收超时标志;
若串口板在预设连续的时间T2内没有收到当前组的可用同步脉冲,则判断另外一组是否接收到可用同步脉冲,若另一组也没有接收到可用同步脉冲,则继续在预设连续的时间T3内检查当前组是否接收到可用同步脉冲,若没有,则在所述双口RAM中设置同步脉冲故障标志;若另一组接收到可用同步脉冲,则切换到另外一组同步脉冲和导航数据,记录当前同步脉冲的计数值,即同步脉冲时刻,并在所述双口RAM中保存当前的同步脉冲的组号,然后按照相同的方法进行导航数据的超时判断;
(3)主机板的程序运行在嵌入式操作系统上,在主机板的程序中发起一个任务用于接收处理同步脉冲和导航数据,该任务的执行周期为T4,主机板的程序按照周期T4去查询所述双口RAM中的内容,从所述双口RAM中获知使用哪组同步脉冲和导航数据,若任一组根据同步脉冲和导航数据可用,则根据组号判断并记录当前该组同步脉冲和导航数据的状态,然后从所述双口RAM中解析收到的同步脉冲和导航数据;若从所述双口RAM中获知两组同步脉冲和导航数据均不可用,则上报故障,0<T<T4<T1。
4.如权利要求3所述的方法,其特征在于,若从所述双口RAM中获知两组同步脉冲和导航数据均不可用,则向其它设备上报故障。
5.如权利要求3所述的方法,其特征在于,所述同步脉冲为方波信号,占空比为1:1,用于同步导航姿态信息。
6.如权利要求5所述的方法,其特征在于,所述同步脉冲的下降沿为同步触发沿。
7.如权利要求3所述的方法,其特征在于,所述外部导航源为舰船上惯导系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910911355.9A CN110704344B (zh) | 2019-09-25 | 2019-09-25 | 一种嵌入式系统的双路导航通讯方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910911355.9A CN110704344B (zh) | 2019-09-25 | 2019-09-25 | 一种嵌入式系统的双路导航通讯方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110704344A true CN110704344A (zh) | 2020-01-17 |
CN110704344B CN110704344B (zh) | 2022-10-28 |
Family
ID=69197628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910911355.9A Active CN110704344B (zh) | 2019-09-25 | 2019-09-25 | 一种嵌入式系统的双路导航通讯方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110704344B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101105401A (zh) * | 2007-08-06 | 2008-01-16 | 北京航空航天大学 | 一种sdins/gps组合导航系统时间同步及同步数据提取方法 |
CN101469990A (zh) * | 2008-09-11 | 2009-07-01 | 哈尔滨工程大学 | 一种双cpu嵌入式导航计算机 |
WO2017143642A1 (zh) * | 2016-02-25 | 2017-08-31 | 邦彦技术股份有限公司 | 一种基于fpga实现pcm音频采集装置及系统及方法 |
CN109631885A (zh) * | 2018-12-27 | 2019-04-16 | 陕西航天时代导航设备有限公司 | 一种基于双口ram的导航方法 |
-
2019
- 2019-09-25 CN CN201910911355.9A patent/CN110704344B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101105401A (zh) * | 2007-08-06 | 2008-01-16 | 北京航空航天大学 | 一种sdins/gps组合导航系统时间同步及同步数据提取方法 |
CN101469990A (zh) * | 2008-09-11 | 2009-07-01 | 哈尔滨工程大学 | 一种双cpu嵌入式导航计算机 |
WO2017143642A1 (zh) * | 2016-02-25 | 2017-08-31 | 邦彦技术股份有限公司 | 一种基于fpga实现pcm音频采集装置及系统及方法 |
CN109631885A (zh) * | 2018-12-27 | 2019-04-16 | 陕西航天时代导航设备有限公司 | 一种基于双口ram的导航方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110704344B (zh) | 2022-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102761439B (zh) | Pon接入系统中基于看门狗的异常检测记录装置及方法 | |
EP2499571B1 (en) | Advanced communication controller unit and method for recording protocol events | |
CN103077147B (zh) | 一种基于链表的全功能1553b总线ip核 | |
CN109491958B (zh) | 错误处理系统和错误处理方法 | |
CN105446934B (zh) | 一种基于多核dsp的动目标及恒虚警检测系统 | |
CN103440216A (zh) | 一种通过i2c从设备调试mcu的芯片及方法 | |
CN111857304B (zh) | 一种芯片的复位控制方法、装置、设备及存储介质 | |
US9645870B2 (en) | System for debugging DMA system data transfer | |
CN104111870A (zh) | 一种中断处理装置及中断处理方法 | |
CN109739659B (zh) | 一种分布式消息队列的消息消费的方法和系统 | |
CN106155826B (zh) | 用于在总线结构中检测及处理错误的方法和系统 | |
CN103164321A (zh) | 中央处理器占用率测量方法及装置 | |
CN103077140A (zh) | 一种机器人运动控制卡与上位机的通信方法及通信装置 | |
CN110686670B (zh) | 一种嵌入式系统的双路导航通讯装置 | |
CN110704344B (zh) | 一种嵌入式系统的双路导航通讯方法 | |
US10289527B2 (en) | Tracing of exception handling events | |
CN101493808B (zh) | 串口的使用方法及多核处理器 | |
US7711874B1 (en) | Usage of EHCI companion USB controllers for generating periodic events | |
CN104077198B (zh) | 门铃db恢复方法及装置、具有该装置的输入/输出i/o设备 | |
EP3159756A1 (en) | Method of debugging a plc program by using a general-purpose microprocessor | |
CN112750066B (zh) | 一种用于图像目标检测的可扩展协处理器架构 | |
CN114513382B (zh) | 一种基于网卡的实时以太网现场总线网络数据包处理方法 | |
EP3961403A1 (en) | Bus monitoring device and method, storage medium, and electronic device | |
CN115065647B (zh) | 一种数据计算方法、装置及电子设备 | |
CN110297732B (zh) | 一种fpga状态的检测方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |