CN103064751B - 一种消除航空电子设备rs232串口干扰的方法 - Google Patents
一种消除航空电子设备rs232串口干扰的方法 Download PDFInfo
- Publication number
- CN103064751B CN103064751B CN201210580086.0A CN201210580086A CN103064751B CN 103064751 B CN103064751 B CN 103064751B CN 201210580086 A CN201210580086 A CN 201210580086A CN 103064751 B CN103064751 B CN 103064751B
- Authority
- CN
- China
- Prior art keywords
- character
- serial ports
- operating system
- enable
- module
- 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.)
- Active
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明属于嵌入式系统领域,具体涉及到一种消除航空电子设备RS232串口干扰的方法。本发明在已有的操作系统引导程序Boot中,增加一个RS232串口使能模块,判断输入的字符是否与模块中预置的一致,如果一致,使能RS232串口接收;如果不一致,引导VxWorks操作系统运行。在已有的VxWorks操作系统中,增加一个RS232串口使能模块,判断输入的字符是否与模块中预置的一致;如果一致,使能RS232串口接收;如果不一致,不接收控制台命令的输入。本发明可以消除航空电子设备RS232串口干扰,保证硬件状态在正常工作和调试维护时一致,降低了航空电子设备潜在的风险,提高了航空电子设备的可维护性。
Description
技术领域
本发明属于嵌入式系统领域,具体涉及到一种消除航空电子设备RS232串口干扰的方法。
背景技术
目前,航空电子设备软件一般采用Boot+VxWorks的工作模式,其中Boot是操作系统引导程序,同时具有调试维护功能,Boot程序通过RS232串口接收调试维护命令。VxWorks是一种嵌入式操作系统,航空领域应用非常广泛,RS232串口作为其控制台使用。RS232串口是航空电子设备中非常重要的调试维护接口,但航空电子设备正常工作时并不使用它。
随着航空设计技术水平提高,航空飞行器设计越来越复杂,航空电子设备所处的电磁环境也越来越恶劣。RS232串口很容易受到干扰,产生“异常”的输入字符。VxWorks控制台收到“异常”字符后,花费大量的时间处理,降低了航空电子设备的工作性能。Boot程序收到“异常”字符后,进入调试维护模式,导致航空电子设备不工作。
航空飞行器的结构非常复杂,需要进行大量的实验论证,才能找到RS232串口干扰的根源。实验论证的过程会消耗大量的财力、人力,而有些时候找到根源也没有太好的方法解决。
现有技术一般通过改动硬件来消除航空电子设备RS232串口干扰。然而正式交付的航空电子设备的RS232串口接收脚断开,不具备 接收能力,当航空电子设备需要维护升级时,将RS232串口接收脚连接,这种方法不仅需要增加额外的硬件开销,而且会降低航空电子设备的可维护性。
发明内容
本发明的目的:提供一种消除航空电子设备RS232串口干扰的方法,从而在不需要额外硬件开销条件下,可以保证硬件状态在正常工作和调试维护时一致,降低了航空电子设备潜在的风险,提高了航空电子设备的可维护性。
本发明是通过以下技术方案实现的:
一种消除航空电子设备RS232串口干扰的方法,包括以下步骤:
步骤a.Boot程序引导VxWorks操作系统运行
在已有的操作系统引导程序Boot中,增加一个RS232串口使能模块,该模块判断RS232串口输入的字符是否与模块中预置的一致,如果一致,Boot程序认为收到调试维护使能命令,使能RS232串口接收,等待接收调试维护命令,不引导VxWorks操作系统运行;如果不一致,Boot程序认为收到“异常”字符,正常引导VxWorks操作系统运行;
步骤b.VxWorks操作系统中RS232串口干扰消除
在已有的VxWorks操作系统中,增加一个RS232串口使能模块,该模块判断RS232串口输入的字符是否与模块中预置的一致;如果一致,VxWorks操作系统认为收到控制台使能命令,使能RS232串口接收,等待控制台命令的输入;如果不一致,VxWorks操作系统认为收 到“异常”字符,不接收控制台命令的输入。
所述步骤a中,RS232串口使能模块位于Boot程序自动引导VxWorks操作系统的命令之前,只执行一次。
所述步骤b中,判断RS232串口输入字符与预置字符是否一致的方法是输入字符串匹配,条件不满足,一次匹配结束,同时能够多次输入控制台使能命令。
所述的消除航空电子设备RS232串口干扰的方法,其步骤a的Boot程序引导VxWorks操作系统的操作过程能细分如下:
步骤301:设备上电,Boot程序开始运行;
步骤302:Boot程序运行到RS232串口使能模块,执行步骤401;
步骤401:判断规定时间内有无字符输入,如果有,执行步骤402;如果无,执行步骤304;
步骤402:将收到的第一个字符与预置的第一个字符比较,如果相同,执行步骤403;如果不同,认为收到“异常”字符,执行步骤304;
步骤403:判断规定时间有无第二个字符输入,如果有,执行步骤404;如果无,执行步骤304;
步骤404:将收到的第二个字符与预置的第二个字符比较,如果相同,执行步骤405;如果不同,认为收到“异常”字符,执行步骤304;
步骤405:判断规定时间有无第三个字符输入,如果有,执行步骤406;如果无,执行步骤304;
步骤406:将收到的第三个字符与预置的第三个字符比较,如果相同,执行步骤303;如果不同,认为收到“异常”字符,执行步骤304;
步骤303:规定时间内收到的字符与预置的字符都一致,RS232串口使能,Boot程序进入调试维护模式;
步骤304:Boot程序引导VxWorks操作系统。
所述的消除航空电子设备RS232串口干扰的方法,其步骤b的VxWorks操作系统中RS232串口干扰消除的过程能细分如下:
步骤305:VxWorks操作系统启动;
步骤306:VXworks操作系统中RS232串口使能模块运行,执行步骤501;
步骤501:保存已输入的字符;
步骤502:已保存的字符长度与预置字符串长度比较,如果大于,认为收到“异常”字符,执行步骤503;如果不大于,执行步骤504;
步骤503:放弃此次字符串匹配,丢弃已接收的字符,退出RS232串口使能模块;
步骤504:收到的字符与预置字符串的结尾字符比较,如果不相等,执行步骤505;如果相等,执行步骤506;
步骤505:退出RS232串口使能模块;
步骤506:已保存的输入字符串与预置字符串比较,如果不相等,执行步骤507;如果相等,执行步骤307;
步骤507:此次字符串匹配失败,丢弃已接收的字符。退出RS232 串口使能模块;
步骤307:VxWorks操作系统控制台使能。
执行步骤503、步骤505、步骤507之后,如果有字符输入,会再次进入步骤306。
本发明的有益效果:本发明可应用于采用不同Boot和操作系统的产品,当由于RS232串口受到干扰,影响Boot和操作系统正常运行时,在Boot和操作系统合适位置添加RS232串口使能模块,可以有效消除该问题。本发明尤其适用于硬件已经大批量生产的情况,通过软件升级,消除RS232串口干扰,避免硬件改动,提高产品性能和可维护性。
附图说明
图1是本发明中RS232串口使能模块在Boot程序中的位置示意图;
图2是本发明中RS232串口使能模块在VxWorks操作系统中的位置示意图;
图3是本发明应用于一种航空电子设备的系统启动运行流程图;
图4是Boot程序中RS232串口使能模块工作流程图;
图5是VxWorks操作系统中RS232串口使能模块工作流程图。
具体实施方式
下面结合附图及实施例对本发明做进一步描述,但不对本发明做限定。
请参阅图1,在原有的Boot程序中,加入RS232串口使能模块。Boot程序运行顺序由上往下,在执行Boot程序引导模块之前,执行 RS232串口使能模块处理串口的“异常”字符。
请参阅图2,在原有的VxWorks操作系统串口处理模块中,加入RS232串口使能模块。VxWorks操作系统串口处理模块在有字符输入的时候运行,RS232串口使能模块随之处理串口的“异常”字符。
请结合图3、图4和图5,使用本发明的航空电子设备启动运行有如下步骤:
步骤301:设备上电,Boot程序开始运行;
步骤302:Boot程序运行到RS232串口使能模块,执行步骤401;
步骤401:判断规定时间内有无字符输入,如果有,执行步骤402;如果无,执行步骤304;
步骤402:将收到的第一个字符与预置的第一个字符比较,如果相同,执行步骤403;如果不同,认为收到“异常”字符,执行步骤304;
步骤403:判断规定时间有无第二个字符输入,如果有,执行步骤404;如果无,执行步骤304;
步骤404:将收到的第二个字符与预置的第二个字符比较,如果相同,执行步骤405;如果不同,认为收到“异常”字符,执行步骤304;
步骤405:判断规定时间有无第三个字符输入,如果有,执行步骤406;如果无,执行步骤304;
步骤406:将收到的第三个字符与预置的第三个字符比较,如果相同,执行步骤303;如果不同,认为收到“异常”字符,执行步骤 304;
步骤303:规定时间内收到的字符与预置的字符都一致,RS232串口使能,Boot程序进入调试维护模式;
步骤304:Boot程序引导VxWorks操作系统;
步骤305:VxWorks操作系统启动;
步骤306:VXworks操作系统中RS232串口使能模块运行,执行步骤501;
步骤501:保存已输入的字符;
步骤502:已保存的字符长度与预置字符串长度比较,如果大于,认为收到“异常”字符,执行步骤503;如果不大于,执行步骤504;
步骤503:放弃此次字符串匹配,丢弃已接收的字符,退出RS232串口使能模块;
步骤504:收到的字符与预置字符串的结尾字符比较,如果不相等,执行步骤505;如果相等,执行步骤506;
步骤505:退出RS232串口使能模块;
步骤506:已保存的输入字符串与预置字符串比较,如果不相等,执行步骤507;如果相等,执行步骤307;
步骤507:此次字符串匹配失败,丢弃已接收的字符。退出RS232串口使能模块;
步骤307:VxWorks操作系统控制台使能。
需要指出的是,VxWorks操作系统中RS232串口使能模块是在有字符输入的时候执行,原因在于该模块包含在VxWorks操作系统串口 处理模块之中,而VxWorks操作系统串口处理模块在字符输入才执行。因此,执行步骤503、步骤505、步骤507之后,如果有字符输入,会再次进入步骤306。当执行步骤307后,VxWorks操作系统RS232串口使能模式将不再执行。
在Boot引导程序中,RS232串口使能模块比较输入字符,对每次字符输入都有时间规定,消除突发的RS232串口干扰;比较三次特定的预置字符,消除持续的RS232串口干扰。
在VxWorks操作系统中,RS232串口使能模块比较输入字符串,首先通过比较字符串长度,消除持续的RS232串口干扰;如果输入字符串长度符合要求,则比较字符串,消除突发的RS232串口干扰。由于设备正常工作之后,VxWorks操作系统始终运行,所以RS232串口使能模块在RS232串口有输入的时候就进行处理,及时消除RS232串口干扰。
本发明提出的解决方法可以在嵌入式系统中广泛应用,由于采用的是软件方法,可以对已经定型的硬件进行软件升级,提高嵌入式系统的稳定性、可靠性。
以上所述仅为本发明的较佳实时例,并不用以限制本发明。应当指出,对于本领域的普通技术人员来说,凡是在本发明原理上所作的任何修改、替换或改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种消除航空电子设备RS232串口干扰的方法,其特征在于,包括如下步骤:
步骤a.Boot程序引导VxWorks操作系统运行
在已有的操作系统引导程序Boot中,增加一个RS232串口使能模块,该模块判断RS232串口输入的字符是否与模块中预置的一致,如果一致,Boot程序认为收到调试维护使能命令,使能RS232串口接收,等待接收调试维护命令,不引导VxWorks操作系统运行;如果不一致,Boot程序认为收到“异常”字符,正常引导VxWorks操作系统运行;
其中,步骤a的Boot程序引导VxWorks操作系统的操作过程能细分如下:
步骤301:设备上电,Boot程序开始运行;
步骤302:Boot程序运行到RS232串口使能模块,执行步骤401;
步骤401:判断规定时间内有无字符输入,如果有,执行步骤402;如果无,执行步骤304;
步骤402:将收到的第一个字符与预置的第一个字符比较,如果相同,执行步骤403;如果不同,认为收到“异常”字符,执行步骤304;
步骤403:判断规定时间有无第二个字符输入,如果有,执行步骤404;如果无,执行步骤304;
步骤404:将收到的第二个字符与预置的第二个字符比较,如果相同,执行步骤405;如果不同,认为收到“异常”字符,执行步骤304;
步骤405:判断规定时间有无第三个字符输入,如果有,执行步骤406;如果无,执行步骤304;
步骤406:将收到的第三个字符与预置的第三个字符比较,如果相同,执行步骤303;如果不同,认为收到“异常”字符,执行步骤304;
步骤303:规定时间内收到的字符与预置的字符都一致,RS232串口使能,Boot程序进入调试维护模式;
步骤304:Boot程序引导VxWorks操作系统;
步骤b.VxWorks操作系统中RS232串口干扰消除
在已有的VxWorks操作系统中,增加一个RS232串口使能模块,该模块判断RS232串口输入的字符是否与模块中预置的一致;如果一致,VxWorks操作系统认为收到控制台使能命令,使能RS232串口接收,等待控制台命令的输入;如果不一致,VxWorks操作系统认为收到“异常”字符,不接收控制台命令的输入,
其中,步骤b的VxWorks操作系统中RS232串口干扰消除的过程能细分如下:
步骤305:VxWorks操作系统启动;
步骤306:VXworks操作系统中RS232串口使能模块运行,执行步骤501;
步骤501:保存已输入的字符;
步骤502:已保存的字符长度与预置字符串长度比较,如果大于,认为收到“异常”字符,执行步骤503;如果不大于,执行步骤504;
步骤503:放弃此次字符串匹配,丢弃已接收的字符,退出RS232串口使能模块;
步骤504:收到的字符与预置字符串的结尾字符比较,如果不相等,执行步骤505;如果相等,执行步骤506;
步骤505:退出RS232串口使能模块;
步骤506:已保存的输入字符串与预置字符串比较,如果不相等,执行步骤507;如果相等,执行步骤307;
步骤507:此次字符串匹配失败,丢弃已接收的字符,退出RS232串口使能模块;
步骤307:VxWorks操作系统控制台使能。
2.根据权利要求1所述的消除航空电子设备RS232串口干扰的方法,其特征在于,所述步骤a中,RS232串口使能模块位于Boot程序自动引导VxWorks操作系统的命令之前,只执行一次。
3.根据权利要求1所述的消除航空电子设备RS232串口干扰的方法,其特征在于,所述步骤b中,判断RS232串口输入字符与预置字符是否一致的方法是输入字符串匹配,条件不满足,一次匹配结束,同时能够多次输入控制台使能命令。
4.根据权利要求1所述的消除航空电子设备RS232串口干扰的方法,其特征在于,执行步骤503、步骤505、步骤507之后,如果有字符输入,会再次进入步骤306。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210580086.0A CN103064751B (zh) | 2012-12-27 | 2012-12-27 | 一种消除航空电子设备rs232串口干扰的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210580086.0A CN103064751B (zh) | 2012-12-27 | 2012-12-27 | 一种消除航空电子设备rs232串口干扰的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103064751A CN103064751A (zh) | 2013-04-24 |
CN103064751B true CN103064751B (zh) | 2015-11-04 |
Family
ID=48107384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210580086.0A Active CN103064751B (zh) | 2012-12-27 | 2012-12-27 | 一种消除航空电子设备rs232串口干扰的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103064751B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107943528A (zh) * | 2016-10-13 | 2018-04-20 | 普天信息技术有限公司 | 基于VxWorks系统的文件下载的保护方法和装置 |
CN108268290A (zh) * | 2017-12-13 | 2018-07-10 | 苏州长风航空电子有限公司 | 基于Linux系统的串口除颤方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998036335A2 (en) * | 1997-02-14 | 1998-08-20 | Fisher-Rosemount Systems, Inc. | Process control system using a layered-hierarchy control strategy distributed into multiple control devices |
CN101241451A (zh) * | 2008-02-20 | 2008-08-13 | 福建师范大学 | 一种嵌入式系统的串口可靠通讯控制方法 |
CN101788927A (zh) * | 2010-01-20 | 2010-07-28 | 哈尔滨工业大学 | 一种基于fpga的自适应星载计算机及应用所述计算机实现内部资源动态分配的方法 |
-
2012
- 2012-12-27 CN CN201210580086.0A patent/CN103064751B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998036335A2 (en) * | 1997-02-14 | 1998-08-20 | Fisher-Rosemount Systems, Inc. | Process control system using a layered-hierarchy control strategy distributed into multiple control devices |
CN101241451A (zh) * | 2008-02-20 | 2008-08-13 | 福建师范大学 | 一种嵌入式系统的串口可靠通讯控制方法 |
CN101788927A (zh) * | 2010-01-20 | 2010-07-28 | 哈尔滨工业大学 | 一种基于fpga的自适应星载计算机及应用所述计算机实现内部资源动态分配的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103064751A (zh) | 2013-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8521929B2 (en) | Virtual serial port management system and method | |
WO2011153093A3 (en) | Systems, methods, and apparatus to virtualize tpm accesses | |
CN105740139A (zh) | 一种基于虚拟环境的嵌入式软件调试方法 | |
CN103235755A (zh) | 一种bios远程网络调试方法 | |
CN103064751B (zh) | 一种消除航空电子设备rs232串口干扰的方法 | |
CN105446933A (zh) | 多核心处理器的调试系统与调试方法 | |
CN104125049A (zh) | 一种基于brickland平台的pcie设备冗余实现方法 | |
KR101284403B1 (ko) | 저장 네트워크 환경에서 scsi 타겟으로부터 scsi 에러 응답을 커스터마이징하는 방법, 비-일시적 컴퓨터 판독 가능한 저장 매체, 저장 네트워크 환경에서 scsi 타겟으로부터 수신된 scsi 에러 응답을 커스터마이징하는 시스템 | |
CN104102508A (zh) | 一种基于FlexRay总线的多机程序在线升级方法 | |
CN105281949A (zh) | 混合存储模式中主机的隔离方法和隔离装置 | |
CN114355802A (zh) | 一种多核并起的处理器同步调试方法 | |
US8954631B2 (en) | Continuously transferring data using a USB mass storage device | |
CN110209465A (zh) | 虚拟机跨平台迁移方法、装置及电子设备 | |
CN110401939B (zh) | 一种低功耗蓝牙控制器链路层装置 | |
CN102023887B (zh) | 一种计算机系统的电源管理方法及计算机系统 | |
CN108153626B (zh) | 一种usb、串口复用与安全隔离系统 | |
CN102866917B (zh) | 一种基于Linux平台的冷火实时处理方法及系统 | |
CN107797921B (zh) | 嵌入式软件通用安全性需求的获取方法 | |
CN104123122A (zh) | 一种非相似三余度飞控计算机的非相似余度软件开发方法 | |
JPWO2009113273A1 (ja) | プログラム実行装置およびその制御方法 | |
CN104484258A (zh) | 一种多处理器的同步调试支持电路 | |
CN115080443A (zh) | 一种基于rpa远程调试的方法、装置、设备及介质 | |
US8560650B2 (en) | Network device and method for setting parameters of the network device | |
CN105629922A (zh) | 一种逻辑强制标准单的实施方法 | |
Ju et al. | A modeling method of IMA dynamic reconfiguration based on AADL |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |