CN114840053B - 基于嵌入式软件的同步脉冲与定时器冗余控制方法 - Google Patents
基于嵌入式软件的同步脉冲与定时器冗余控制方法 Download PDFInfo
- Publication number
- CN114840053B CN114840053B CN202210372101.6A CN202210372101A CN114840053B CN 114840053 B CN114840053 B CN 114840053B CN 202210372101 A CN202210372101 A CN 202210372101A CN 114840053 B CN114840053 B CN 114840053B
- Authority
- CN
- China
- Prior art keywords
- timer
- pulse
- period
- synchronous
- sent
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B9/00—Safety arrangements
- G05B9/02—Safety arrangements electric
- G05B9/03—Safety arrangements electric with multiple-channel loop, i.e. redundant control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Automation & Control Theory (AREA)
- Hardware Redundancy (AREA)
- Safety Devices In Control Systems (AREA)
Abstract
本发明公开一种基于嵌入式软件的同步脉冲与定时器冗余控制方法,包括根据同步脉冲的起点开始定时器同步计时;同步脉冲预定周期送达,重新计时;若定时器计算的耗时首次到达预定周期而同步脉冲尚未送达,延长预定时间继续等待同步脉冲;预定时间内同步脉冲送达,重新计时;预定时间后还未送达,强制嵌入式软件直接进第二周期,错误次数开始累加,重新开始计时并继续等待同步脉冲;第二周期内送达,重新开始计时,错误次数清零;第二周期内还未送达,强制嵌入式软件直接进第三周期,错误次数继续累加,重新开始计时并继续等待同步脉冲;预定数量的周期内送达,重新开始计时,错误次数清零;错误次数累加至预定值时还未送达,关闭同步脉冲中断。
Description
技术领域
本发明涉及嵌入式软件技术领域,尤其涉及一种基于嵌入式软件的同步脉冲与定时器冗余控制方法。
背景技术
飞行器内的嵌入式综合控制软件执行功能复杂,对实时性要求较高。目前普遍的飞行器综合控制软件以自身硬件设置的定时器作为时钟周期进行程序设计,并不依靠外界的时钟。然而由于有些项目对数据源同步的需求较高,需要传感器的外部数据输入与飞行器综控软件计算同步,因此引入了同步脉冲作为综合控制软件的时钟,取代了定时器原有功能。但如果同步脉冲一旦发生故障,可能导致综合控制软件时钟消失,程序无法执行,发生安全性或可靠性风险,因此需要设计一种基于嵌入式软件的同步脉冲与定时器冗余的设计方法,确保一旦同步脉冲失效,程序依然能够继续正常执行,不会造成安全隐患,提高软件的安全性和可靠性。
发明内容
本发明的目的在于克服现有技术不足,提供了一种基于嵌入式软件的同步脉冲与定时器冗余控制方法,能够解决现有技术中的问题。
本发明的技术解决方案:一种基于嵌入式软件的同步脉冲与定时器冗余控制方法,其中,该方法包括:
对定时器进行初始化后,开启定时器运行但不开启定时器中断;
根据同步脉冲的起点开始定时器同步计时;
如果同步脉冲按照预定周期定时送达,重新开始定时器同步计时;
如果定时器计算的耗时首次到达预定周期而同步脉冲尚未送达,延长预定时间继续等待同步脉冲;
如果在延长的预定时间之内同步脉冲送达,重新开始定时器同步计时;
如果在延长的预定时间之后同步脉冲还未送达,强制嵌入式软件直接进入第二周期,错误次数开始累加,重新开始定时器同步计时并继续等待同步脉冲;
如果在第二周期内同步脉冲送达,重新开始定时器同步计时,错误次数清零;
如果在第二周期内同步脉冲还未送达,强制嵌入式软件直接进入第三周期,错误次数继续累加,重新开始定时器同步计时并继续等待同步脉冲;
如果在预定数量的周期内同步脉冲送达,重新开始定时器同步计时,错误次数清零;
如果错误次数累加至预定值时同步脉冲还未送达,关闭同步脉冲中断。
优选地,根据预定周期确定延长的预定时间。
优选地,延长的预定时间为预定周期的2%
优选地,预定周期为5ms。
优选地,预定数量为10。
优选地,预定值为10。
通过上述技术方案,可以保证嵌入式软件(综合控制软件)在同步脉冲有效的情况下能够同步数据源的实时性,在同步脉冲失效的情况下能够利用定时器继续保证程序的正常运转,进而确保综合控制软件的安全性和可靠性。
附图说明
所包括的附图用来提供对本发明实施例的进一步的理解,其构成了说明书的一部分,用于例示本发明的实施例,并与文字描述一起来阐释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于嵌入式软件的同步脉冲与定时器冗余控制方法的流程图;
图2为本发明实施例中同步脉冲一直故障时冗余处理流程示意图。
具体实施方式
下面将结合附图对本发明的具体实施例进行详细说明。在下面的描述中,出于解释而非限制性的目的,阐述了具体细节,以帮助全面地理解本发明。然而,对本领域技术人员来说显而易见的是,也可以在脱离了这些具体细节的其它实施例中实践本发明。
在此需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的设备结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
图1为本发明实施例提供的一种基于嵌入式软件的同步脉冲与定时器冗余控制方法的流程图。
如图1所示,本发明实施例提供了一种基于嵌入式软件的同步脉冲与定时器冗余控制方法,其中,该方法包括:
S100,对定时器进行初始化后,开启定时器运行但不开启定时器中断;
S102,根据同步脉冲的起点开始定时器同步计时;
也就是,定时器计算耗时。
S104,如果同步脉冲按照预定周期定时送达,重新开始定时器同步计时;
S106,如果定时器计算的耗时首次到达预定周期而同步脉冲尚未送达,延长预定时间继续等待同步脉冲;
S108,如果在延长的预定时间之内同步脉冲送达,重新开始定时器同步计时;
S110,如果在延长的预定时间之后同步脉冲还未送达,强制嵌入式软件直接进入第二周期,错误次数开始累加,重新开始定时器同步计时并继续等待同步脉冲;
S112,如果在第二周期内同步脉冲送达,重新开始定时器同步计时,错误次数清零;
S114,如果在第二周期内同步脉冲还未送达,强制嵌入式软件直接进入第三周期,错误次数继续累加,重新开始定时器同步计时并继续等待同步脉冲;
也就是,在进入第二周期后定时器计算的耗时到达预定周期而同步脉冲还未送达的情况下,强制嵌入式软件直接进入第三周期,错误次数继续累加,重新开始定时器同步计时并继续等待同步脉冲。
S116,如果在预定数量的周期内同步脉冲送达,重新开始定时器同步计时,错误次数清零;
S118,如果错误次数累加至预定值时同步脉冲还未送达,关闭同步脉冲中断。
在关闭同步脉冲中断后,后续操作均基于定时器计时进行,不再响应同步脉冲的周期指令。
其中,仅在第一周期内同步脉冲尚未送达的情况下延长预定时间,后续周期均不再延长预定时间。
通过上述技术方案,可以保证嵌入式软件(综合控制软件)在同步脉冲有效的情况下能够同步数据源的实时性,在同步脉冲失效的情况下能够利用定时器继续保证程序的正常运转,进而确保综合控制软件的安全性和可靠性。
根据本发明一种实施例,根据预定周期确定延长的预定时间。
根据本发明一种实施例,延长的预定时间为预定周期的2%
根据本发明一种实施例,预定周期为5ms。
举例来讲,延长的预定时间为5*2%=0.1ms。
根据本发明一种实施例,预定数量为10。
根据本发明一种实施例,预定值为10。
下面结合实例对本发明所述的基于嵌入式软件的同步脉冲与定时器冗余控制方法进行描述。
在该实例中,设某型飞行器的综合控制软件控制时钟为外部同步脉冲,预定周期为5ms。
本发明所述的基于嵌入式软件的同步脉冲与定时器冗余控制方法的实现步骤为:
第一步,初始化定时器后,不开启定时器中断,但开启定时器运行。
本实例基于该方法,初始化定时器,并开启定时器,实时读取定时器的计数值,并计算出耗时。
第二步:根据同步脉冲的起点开始定时器同步计时,如果同步脉冲按预定周期定时送达,则重新开始定时器同步计时。
每次飞行器综合控制软件收到最新的同步脉冲后,均将耗时清零、定时器计数值清零,重新计算耗时。
第三步:如果定时器计算的耗时首次到达预定周期,但同步脉冲尚未送达,延长预定时间(预定周期的2%),继续等待同步脉冲。同步脉冲在延长的预定时间内到达,重新开始定时器同步计时。
当某一个同步脉冲到达后,综合控制软件清零重新计时。计时满5ms时,新的同步脉冲还未到来,则综合控制软件再延迟等待5*2%=0.1ms,在此期间新的同步脉冲到达,则耗时清零,重新计时。
第四步,如果定时器首次到达预定周期,但同步脉冲尚未送达,且延长预定时间后,同步脉冲还未到达,则强制综合控制软件进入第二周期,错误次数开始累加,耗时清零重新计算,并且继续等待同步脉冲。如果第二周期内同步脉冲到达,则定时器重新开始同步计时,错误次数清零。
如果综合控制软件计算定时器的耗时到达5.1ms,新的同步脉冲依旧未到达,则综合控制软件自行强制进入新周期(第二周期),错误计数加1,然后耗时清零,重新开始计算耗时,同时再等待同步脉冲到达。如果同步脉冲到达,则错误计数清零、耗时清零,重新按照同步脉冲的周期进行。
第五步:如果定时器强制综合控制软件进入第二周期后,计时到达预定周期,同步脉冲还未到达,那么不再延长预定周期的2%,而是直接强制进入第三周期,错误次数继续累加,重新开始定时器同步计时并且继续等待同步脉冲。后续强制周期均不再延长预定时间。
如果后续9个周期内同步脉冲到达,则定时器重新开始同步计时,错误次数清零。
第一周期加延长的预定时间为5.1ms,之后综合控制软件计算定时器耗时5ms,不再增加延时,如果同步脉冲尚未到达,则直接强制进新周期,错误计数累加。此执行方式从第二周期直至第十周期,即错误计数从2累加至10。在此期间,一旦同步脉冲到达,则定时器重新开始同步计时,错误次数清零,恢复原执行状态。
第六步:如果错误计数累加到10次,同步脉冲还是没有到达,则关闭同步脉冲中断,程序之后均基于定时器计时开展工作,不再响应同步脉冲的周期指令。
也就是,当错误计数累加至10时,综合控制软件关闭同步脉冲中断,之后均基于定时器计算耗时5ms进入新周期,不再响应同步脉冲的到达指令,即综合控制软件不再应用外部信号作为时钟控制。
该实例中同步脉冲一直故障的冗余流程示意图如图2所示。
从上述实施例可以看出,本发明所述的方法摒弃了传统的嵌入式软件仅依赖于一种时钟做程序周期执行的方法,而是双时钟冗余可替换,提高了综合控制软件执行的安全性和可靠性。换言之,有效利用了综合控制软件自身的硬件做冗余支撑,确保综合控制软件能够不用依赖于单一外部时钟,保证可以正常执行程序运行,从而提高综合控制软件执行的安全性和可靠性。
如上针对一种实施例描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施例中使用,和/或与其它实施例中的特征相结合或替代其它实施例中的特征使用。
应该强调,术语“包括/包含”在本文使用时指特征、整件、步骤或组件的存在,但并不排除一个或更多个其它特征、整件、步骤、组件或其组合的存在或附加。
本发明以上的装置和方法可以由硬件实现,也可以由硬件结合软件实现。本发明涉及这样的计算机可读程序,当该程序被逻辑部件所执行时,能够使该逻辑部件实现上文所述的装置或构成部件,或使该逻辑部件实现上文所述的各种方法或步骤。本发明还涉及用于存储以上程序的存储介质,如硬盘、磁盘、光盘、DVD、flash存储器等。
这些实施例的许多特征和优点根据该详细描述是清楚的,因此所附权利要求旨在覆盖这些实施例的落入其真实精神和范围内的所有这些特征和优点。此外,由于本领域的技术人员容易想到很多修改和改变,因此不是要将本发明的实施例限于所例示和描述的精确结构和操作,而是可以涵盖落入其范围内的所有合适修改和等同物。
本发明未详细说明部分为本领域技术人员公知技术。
Claims (6)
1.一种基于嵌入式软件的同步脉冲与定时器冗余控制方法,其特征在于,该方法包括:
对定时器进行初始化后,开启定时器运行但不开启定时器中断;
根据同步脉冲的起点开始定时器同步计时;
如果同步脉冲按照预定周期定时送达,重新开始定时器同步计时;
如果定时器计算的耗时首次到达预定周期而同步脉冲尚未送达,延长预定时间继续等待同步脉冲;
如果在延长的预定时间之内同步脉冲送达,重新开始定时器同步计时;
如果在延长的预定时间之后同步脉冲还未送达,强制嵌入式软件直接进入第二周期,错误次数开始累加,重新开始定时器同步计时并继续等待同步脉冲;
如果在第二周期内同步脉冲送达,重新开始定时器同步计时,错误次数清零;
如果在第二周期内同步脉冲还未送达,强制嵌入式软件直接进入第三周期,错误次数继续累加,重新开始定时器同步计时并继续等待同步脉冲;
如果在预定数量的周期内同步脉冲送达,重新开始定时器同步计时,错误次数清零;
如果错误次数累加至预定值时同步脉冲还未送达,关闭同步脉冲中断。
2.根据权利要求1所述的方法,其特征在于,根据预定周期确定延长的预定时间。
3.根据权利要求2所述的方法,其特征在于,延长的预定时间为预定周期的2%。
4.根据权利要求1-3所述的方法,其特征在于,预定周期为5ms。
5.根据权利要求1-3中任一项所述的方法,其特征在于,预定数量为10。
6.根据权利要求1-3中任一项所述的方法,其特征在于,预定值为10。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210372101.6A CN114840053B (zh) | 2022-04-11 | 2022-04-11 | 基于嵌入式软件的同步脉冲与定时器冗余控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210372101.6A CN114840053B (zh) | 2022-04-11 | 2022-04-11 | 基于嵌入式软件的同步脉冲与定时器冗余控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114840053A CN114840053A (zh) | 2022-08-02 |
CN114840053B true CN114840053B (zh) | 2023-10-13 |
Family
ID=82564261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210372101.6A Active CN114840053B (zh) | 2022-04-11 | 2022-04-11 | 基于嵌入式软件的同步脉冲与定时器冗余控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114840053B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6125139A (en) * | 1995-12-29 | 2000-09-26 | Advanced Micro Devices, Inc. | Narrowband digital cordless telephone |
CN101594133A (zh) * | 2008-05-30 | 2009-12-02 | 富士通株式会社 | 半导体集成电路、控制方法及信息处理装置 |
CN113190082A (zh) * | 2021-05-27 | 2021-07-30 | 上海航天计算机技术研究所 | 三冗余计算机时钟中断检测和同步方法及计算机系统 |
CN113419598A (zh) * | 2021-05-18 | 2021-09-21 | 武汉中海庭数据技术有限公司 | 一种多soc系统时钟同步系统及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020088003A1 (en) * | 2000-06-27 | 2002-07-04 | Dror Salee | MAC redundancy in cable network headend |
-
2022
- 2022-04-11 CN CN202210372101.6A patent/CN114840053B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6125139A (en) * | 1995-12-29 | 2000-09-26 | Advanced Micro Devices, Inc. | Narrowband digital cordless telephone |
CN101594133A (zh) * | 2008-05-30 | 2009-12-02 | 富士通株式会社 | 半导体集成电路、控制方法及信息处理装置 |
CN113419598A (zh) * | 2021-05-18 | 2021-09-21 | 武汉中海庭数据技术有限公司 | 一种多soc系统时钟同步系统及方法 |
CN113190082A (zh) * | 2021-05-27 | 2021-07-30 | 上海航天计算机技术研究所 | 三冗余计算机时钟中断检测和同步方法及计算机系统 |
Non-Patent Citations (2)
Title |
---|
"EtherCAT-based platform for distributed control in high-performance industrial applications";Dalimir Orfanus等;《2013 IEEE 18TH Conference on Emerging Technologies & Factory Automation》;全文 * |
"顶部电磁振大智能控制系统的研究与实现";范宜标;《中国优秀硕士学位论文全文数据库》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114840053A (zh) | 2022-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9110698B2 (en) | Changing frequency of a virtual programmable interrupt timer in virtual machines to control virtual time | |
US8769177B1 (en) | Interrupt latency reduction | |
US10114655B2 (en) | Rapid start up method for electronic equipment | |
EP3413191B1 (en) | Programmable instruction buffering | |
CN100470479C (zh) | 更新固件的方法及装置 | |
US20020161941A1 (en) | System and method for efficiently performing a data transfer operation | |
JP3437174B2 (ja) | 省電力化集積回路および省電力化集積回路の制御方法 | |
KR20140131981A (ko) | 사용자 공간 동기화를 사용하여 최대 절전 모드 및 재시작 프로세스를 향상시키는 방법 및 장치 | |
CN114840053B (zh) | 基于嵌入式软件的同步脉冲与定时器冗余控制方法 | |
KR20210088707A (ko) | 인터리빙된 호스트 리셋 및 다음 재초기화 동작들 | |
KR100367634B1 (ko) | 메모리 제어기 및 메모리 제어방법 | |
JP2019028651A (ja) | 同期リセット回路とその制御方法 | |
JP2011090642A (ja) | 制御装置、制御システム、及びその起動方法 | |
CN101697130A (zh) | 一种嵌入式系统的看门狗应用方法 | |
US10049060B2 (en) | Semiconductor device and control method of the same | |
TWI819930B (zh) | 自動切換韌體方法以及使用其之電子設備 | |
TW201327172A (zh) | 電源時序控制裝置及電源時序的延遲時間調整方法 | |
JP2005107776A (ja) | 2重化コントローラシステム、その方法 | |
CN113650498B (zh) | 一种电动车的上电方法、装置、电动车及存储介质 | |
US11200930B1 (en) | System and method of masking memory read request to avoid memory read corruption | |
JP2008181392A (ja) | 仮想タイマ制御方法 | |
JP2002108639A (ja) | 分散コンピュータシステム及び同システムにおけるコンピュータ状態の多重化記憶方法 | |
CN112445592A (zh) | 一种高优先级任务的精准调度方法及装置 | |
JP2000209175A (ja) | デコ―ド装置 | |
JP2002259139A (ja) | マイクロコンピュータ、プログラム及び記録媒体 |
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 |