CN103646000B - 一种适用于多路热备份数据传输的高可靠中断处理方法 - Google Patents
一种适用于多路热备份数据传输的高可靠中断处理方法 Download PDFInfo
- Publication number
- CN103646000B CN103646000B CN201310739872.5A CN201310739872A CN103646000B CN 103646000 B CN103646000 B CN 103646000B CN 201310739872 A CN201310739872 A CN 201310739872A CN 103646000 B CN103646000 B CN 103646000B
- Authority
- CN
- China
- Prior art keywords
- interruption
- interrupt
- hot backup
- timer
- transmission
- 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
- Hardware Redundancy (AREA)
Abstract
一种适用于多路热备份数据传输的高可靠中断处理方法如下:(1)多路中断单次触发:任何一路数据传输结束后,触发正脉冲信号T1,脉冲宽度记为T;其它各路数据传输结束后依次触发正脉冲T2、T3…Tn,多路中断信号间的最大偏差记为△T,满足T≥2*△T;T1到Tn信号相或后输出中断信号INT=T1|T2|T3|…Tn,中断信号INT的脉冲宽度为T+△T;(2)进入中断,启动定时器,定时器采用中断触发,中断优先级与多路中断优先级相同,定时长度为△T;退出中断;(3)定时器定时到,再次触发中断,中断服务程序中读取各路热备份数据,退出中断。
Description
技术领域
本发明涉及一种适用于多路热备份数据传输的高可靠中断处理方法,属于卫星平台或载荷的电子线路技术领域。
背景技术
为提高数据传输的可靠性,卫星平台系统中对重要数据如遥控指令数据采用热备份结构,主、备份数据接收及传输电路相互独立,单份失效不影响备份。同时为提高数据接收的实时性,接收端一般要求采用中断方式接收数据。
针对多路热备份中断在短时间内先后到来的情况,传统中断处理方法包括以下两种:(1)暂时关闭中断法:该方法在首次中断产生后,软件首先关闭所有中断,不再响应其它中断,当中断服务函数处理完中断后再打开中断;该方法的优点是处理简单,缺点是若当前中断为非最高优先级中断,则存在丢中断的可能。(2)中断嵌套软件处理法:该方法在发生同一优先级的中断嵌套后,用软件进行处理;该方法的优点是不会丢失中断,缺点是软件设计复杂,特别是热备份中断数较多时,会出现多重嵌套,软件处理方式和复杂度与热备份中断数目相关。
为正确接收各路热备份数据,以上两种方法均需在中断服务程序中进行延时等待,存在中断占用时间较长的问题。
发明内容
本发明技术解决的技术问题:克服现有技术的不足,提供一种适用于多路热备份数据传输的高可靠中断处理方法,对热备份中断信号进行处理,处理后多个中断在一可设置时间范围内到来后仅产生一个中断信号,解决了多次触发中断导致中断嵌套问题;中断处理程序内不进行延时等待和数据读取操作,仅启动定时功能,然后退出中断,解决了中断服务程序占用时间长的问题。解决了多次触发中断导致中断嵌套,中断服务程序占用时间长的问题。
本发明技术解决方案:适用于多路热备份数据传输的高可靠中断处理方法,处理流程如图1所示,其特点在于实现步骤如下:
(1)多路中断单次触发:任何一路数据传输结束后,触发正脉冲信号T1,脉冲宽度记为T;其它各路数据传输结束后依次触发正脉冲T2、T3…Tn,多路中断信号间的最大偏差记为△T,满足T≥2*△T;T1到Tn信号相或后输出中断信号INT=T1|T2|T3|…Tn,中断信号INT的脉冲宽度为T+△T;
(2)进入中断,启动定时器,定时器采用中断触发,中断优先级与多路中断优先级相同,定时长度为△T;退出中断;
(3)定时器定时到,再次触发中断,中断服务程序中读取各路热备份数据,退出中断。
本发明与现有技术相比的有益效果在于:
(1)本发明通过多路中断单次触发,巧妙利用软、硬件配合实现了多路热备份数据的中断接收功能,避免了中断嵌套情况出现,降低了软件设计的复杂度,在满足实时性的同时提高了数据接收的可靠性。
(2)本发明有效防止中断嵌套且不会出现中断丢失现象。多个中断在△T时间内到来,仅产生一个有效中断信号,避免了中断嵌套;由于没有屏蔽中断操作,不会出现中断丢失现象;
(3)本发明大大缩短中断占用时间,提高了系统处理性能。中断处理程序中不再进行延时等待,定时器定时期间,处理器同时运行其它任务,提高了系统处理性能;
附图说明
图1为本发明方法的实现流程图;
图2为“三线制”同步串口时序图;
图3为本发明处理后的中断时序图。
具体实施方式
结合附图对本发明做进一步介绍。
在月面巡视器综合电子单元研制过程中,为提高遥控的可靠性,综合电子单元内部遥控模块采用双机热备份结构,遥控模块接收数据后,主、备份模块均通过“三线制”同步串口将数据发送到中心计算机,时序关系如图2所示。其中GATE为门控信号,低电平有效;CLK为时钟信号,上升沿锁存数据;DATA为数据信号。为保证遥控指令的实时性,中心计算机采用中断方式同时接收两路“三线制”同步串口数据。
正常情况下主、备份模块均能正确接收到数据,并都通过各自的“三线制”同步串口向中心计算机发送数据,中心计算机在门控信号的上升沿产生中断。由于主、备份遥控模块锁相及同步误差,两路“三线制”同步串口不会在同一时刻完成数据传输并产生中断,正常情况下两路数据接收完数据的误差△T在1ms以内,最坏情况下可达16ms。
根据多路热备份数据中断接收的特点,通过硬件实现32ms内多路中断信号的单次触发,软件触发中断后,启动一个16ms的定时器后,退出中断,在16ms定时器中断中进行多路遥控数据的读取和处理。
按照本发明的处理方法,具体实现步骤如下:
(1)硬件产生中断:当主、备份遥控数据中的一路数据传输结束后,触发正脉冲信号T1,脉冲宽度为32ms;另外一路数据传输结束后触发正脉冲T2,两路中断信号间的最大偏差为△T;两路中断信号的单次触发功能在FPGA内部实现,处理后的中断产生时序如图3所示,其中0≤△T≤16ms,INT=32ms+△T。
(2)进入中断,启动定时器,定时器采用中断触发,中断优先级与多路中断优先级相同,定时长度为16ms;退出中断;
(3)定时器定时到,再次触发中断,中断服务程序中读取主、备份数据,退出中断。
解决的主要技术问题包括:
(1)可配置多路中断单次触发技术:
FPGA内部实现多路中断信号接收,当其中一个中断信号到来时,内部启动一个宽度为32ms的正脉冲输出,脉冲输出期间其它路中断信号也将启动等宽的脉冲输出,各路正脉冲相或后输出用于触发处理器中断;当各路中断到来偏差在脉冲配置宽度之内时,FPGA对外只输出一个正脉宽,脉冲宽度为T+△T(其中T为配置的脉冲宽度32ms,△T为最早和最晚到来的两个中断的时间间隔)。
(2)软件延时数据读取技术:
硬件触发中断后,软件在中断服务程序中不进行各路遥控数据的读取,仅启动一个16ms定时器,然后直接退出中断,避免中断服务程序长期占用处理器资源;当16ms计数器中断到来时,在16ms中断服务程序中进行遥控数据的读取及处理。
Claims (1)
1.一种适用于多路热备份数据传输的中断处理方法,其特征在于步骤如下:
(1)多路中断单次触发:任何一路数据传输结束后,触发正脉冲信号T1,脉冲宽度记为T;其它各路数据传输结束后依次触发正脉冲T2、T3…Tn,多路中断信号间的最大偏差记为△T,满足T≥2*△T;T1到Tn信号相或后输出中断信号INT=T1|T2|T3|…Tn,中断信号INT的脉冲宽度为T+△T;
(2)进入中断,启动定时器,定时器采用中断触发,中断优先级与多路中断优先级相同,定时长度为△T;退出中断;
(3)定时器定时到,再次触发中断,中断服务程序中读取各路热备份数据,退出中断。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310739872.5A CN103646000B (zh) | 2013-12-26 | 2013-12-26 | 一种适用于多路热备份数据传输的高可靠中断处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310739872.5A CN103646000B (zh) | 2013-12-26 | 2013-12-26 | 一种适用于多路热备份数据传输的高可靠中断处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103646000A CN103646000A (zh) | 2014-03-19 |
CN103646000B true CN103646000B (zh) | 2015-11-25 |
Family
ID=50251221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310739872.5A Active CN103646000B (zh) | 2013-12-26 | 2013-12-26 | 一种适用于多路热备份数据传输的高可靠中断处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103646000B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101918920A (zh) * | 2007-12-12 | 2010-12-15 | 高通股份有限公司 | 用于多线程处理器的共享的中断控制器 |
CN102075291A (zh) * | 2010-12-17 | 2011-05-25 | 北京控制工程研究所 | 一种实现遥测数据接收完整性的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8244946B2 (en) * | 2009-10-16 | 2012-08-14 | Brocade Communications Systems, Inc. | Interrupt moderation |
-
2013
- 2013-12-26 CN CN201310739872.5A patent/CN103646000B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101918920A (zh) * | 2007-12-12 | 2010-12-15 | 高通股份有限公司 | 用于多线程处理器的共享的中断控制器 |
CN102075291A (zh) * | 2010-12-17 | 2011-05-25 | 北京控制工程研究所 | 一种实现遥测数据接收完整性的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103646000A (zh) | 2014-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104767516B (zh) | 异步信号同步电路 | |
US4575644A (en) | Circuit for prevention of the metastable state in flip-flops | |
TWI488437B (zh) | 積體電路裝置、同步模組、電子裝置及相關方法 | |
CN103645794A (zh) | 一种通过边沿检测电路实现睡眠模式唤醒的芯片及方法 | |
US9899992B1 (en) | Low power adaptive synchronizer | |
WO2004109524A2 (en) | Synchronous data transfer across clock domains | |
US10630271B2 (en) | Self timed data sampler | |
US8156371B2 (en) | Clock and reset synchronization of high-integrity lockstep self-checking pairs | |
CN110249309B (zh) | 用于缓慢外围设备的中断处理方法和设备 | |
CN103646000B (zh) | 一种适用于多路热备份数据传输的高可靠中断处理方法 | |
CN108694146B (zh) | 一种异步/同步接口电路 | |
EP0225512B1 (en) | Digital free-running clock synchronizer | |
EP2847665B1 (en) | Data transfer between clock domains | |
CN202488431U (zh) | 实现数据同步的装置 | |
US10326452B2 (en) | Synchronizing a self-timed processor with an external event | |
CN103744813B (zh) | 一种保障1553b总线通信时序正确性的时序确定方法 | |
EP3655841B1 (en) | Method to synchronize integrated circuits fulfilling functional safety requirements | |
CN106094496A (zh) | 变电站时间同步系统 | |
CN106201950B (zh) | 一种soc异步时钟域信号接口的方法 | |
CN105958982B (zh) | 提前时钟有效信号的电路及方法 | |
CN103944786A (zh) | 一种自适应计数时钟数据检测方法 | |
Hatture et al. | Open loop and closed loop solution for clock domain crossing faults | |
US12050486B1 (en) | System halt support for synchronization pulses | |
CN211296700U (zh) | 一种基于异构多核人工智能芯片的信号复位系统 | |
CN201690438U (zh) | 一种抗干扰曼彻斯特码解码电路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 |