CN111858071A - 一种车载双通道cpu的同步控制方法 - Google Patents
一种车载双通道cpu的同步控制方法 Download PDFInfo
- Publication number
- CN111858071A CN111858071A CN202010784429.XA CN202010784429A CN111858071A CN 111858071 A CN111858071 A CN 111858071A CN 202010784429 A CN202010784429 A CN 202010784429A CN 111858071 A CN111858071 A CN 111858071A
- Authority
- CN
- China
- Prior art keywords
- channel
- cpu
- dual
- channel cpu
- main task
- 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
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明公开了一种车载双通道CPU的同步控制方法,所述双通道CPU包括第一通道CPU及第二通道CPU,所述双通道CPU的同步控制方法为:采用主任务周期号记录主任务的执行次数,所述第一通道CPU与第二通道CPU执行每一次主任务的过程中,所述第一通道CPU与第二通道CPU均执行相同次数的中断任务,以确保双通道CPU同步进入下一次主任务周期;当前主任务执行完成后更新主任务周期号,只有当所述第一通道CPU与第二通道CPU的主任务周期号更新成功且相同时,才允许双通道CPU同步执行下一次主任务。本发明可以有效的保证双通道冗余CPU的同步性,确保双通道CPU间的数据可靠性。同时,本发明还可用于发现双通道CPU间是否存在时间同步异常,从而提前发现风险,及时采取相应措施。
Description
技术领域
本发明涉及城市轨道交通信号控制领域,尤其涉及一种车载双通道CPU的同步控制方法。
背景技术
城市轨道交通的客流量大,安全性尤其重要。单CPU运行过程中,在CPU产生随机错误的情况下,无法及时检测出来,就有可能向设备输出危险的控制信号,存在极大的安全隐患。但在2取2安全计算平台上,硬件平台具有更多的资源,同时也可进行数据对比,安全性得到了极大的提升。
对于轨道交通车载信号系统而言,时间的准确控制对周期性的计算列车速度、定位等相关功能十分重要,且在2取2的冗余架构上,两个CPU间的数据对比是提升安全性的重要环节,所以保证数据交换的准确性尤为重要,时间同步可确保双CPU的时序动作一致,保障了数据周期性的输入与输出。另外,为了避免在数据的交换的过程中产生逆序、数据的有效期计算错误导致使用了已经过期的数据或将还在有效期内的数据判为无效等时间相关的问题,就要确保两个CPU保持在同一时间基准上,否则不仅安全性无法得到保证,软件的可用性也无法满足。因此,冗余架构下,如何实现双CPU的时间同步与控制,是提高城市轨道交通安全性的基础。
发明内容
本发明提出了一种车载双通道CPU的同步控制方法,可以保障2取2安全计算平台的双通道CPU在同一时间进入新的主任务周期,确保数据的可靠性。
为了达到上述目的,一种车载双通道CPU的同步控制方法,所述双通道CPU包括第一通道CPU及第二通道CPU,所述车载双通道CPU的同步控制方法为:采用主任务周期号记录主任务的执行次数,所述第一通道CPU与第二通道CPU执行每一次主任务的过程中,所述第一通道CPU与第二通道CPU均执行相同次数的中断任务,以量化主任务的执行过程,确保双通道CPU同步进入下一主任务周期;当前主任务执行完成后更新主任务周期号,只有当所述第一通道CPU与第二通道CPU的主任务周期号更新成功且相同时,才允许双通道CPU同步执行下一次主任务,以确保双通道CPU同步执行下一次主任务。
进一步,所述的车载双通道CPU的同步控制方法,具体包含以下步骤:
S1、双通道CPU同步中断后均每间隔相同时间执行一次中断任务,并在执行相同次数的中断任务后,向主任务释放信号量;
S2、双通道CPU的第一通道CPU及第二通道CPU接收到信号量后,向对方发送主任务周期号的同时接收对方的主任务周期号;
S3、若双通道CPU的主任务周期号相等,则双通道CPU均更新周期号,并同步进入下一次主任务周期;
S4、下一次主任务周期内,若双通道CPU的主任务周期号均更新成功,则双通道CPU均按照步骤S1-S4正常执行该次主任务。
进一步,所述步骤S1包含以下步骤:
S1.1、双通道CPU上电后均执行初始化及同步中断;
S1.2、双通道CPU均每隔T1时间进入中断执行中断任务,并将CPU进入中断的次数记为中断号;
S1.3、当CPU的中断号等于M时,清零中断号并向主任务释放信号量,
其中,T1为双通道CPU执行中断任务的间隔时间,M为CPU执行一次主任务周期内其进入中断的次数,M大于等于2。
进一步,所述主任务的周期等于T1×M。
进一步,所述双通道CPU同步中断包括以下步骤:
第一通道CPU写好中断并触发第二通道CPU中断;
第二通道CPU接收到第一通道CPU触发的中断,而后写中断触发第一通道CPU中断。
进一步,所述所述第一通道CPU与第二通道CPU通过双口RAM进行数据交互。
进一步,若双通道CPU的主任务周期号不等,则双通道CPU再次读取对方的主任务周期号,而后判断双通道CPU的主任务周期号,直至双通道CPU的主任务周期号相等。
进一步,双通道CPU在下一次主任务周期内再次进入中断识别到中断号为零,则判断双通道CPU的主任务周期号是否更新成功。
进一步,若双通道CPU中任一通道CPU的周期号未更新成功,则该通道CPU本次中断不累加中断号,若该通道CPU进入下一中断而CPU的主任务周期号仍未更新时,则保护性宕机。
本发明具有以下优势:
本发明的双通道CPU在执行主任务的过程中多次进入中断,通过量化主任务的执行过程,便于判断该次主任务的执行完成度,以确保双通道CPU同步进入下一主任务周期,并通过验证下一主任务周期内双通道CPU的主任务周期号是否更新,以保双通道CPU同步执行下一次主任务,可以有效的保证双通道冗余CPU的同步性,确保双通道CPU间的数据可靠性。同时,本发明通过验证双通道CPU的主任务周期号是否更新,还可用于发现双通道CPU间是否存在时间同步异常,从而提前发现风险,采取相应措施。
附图说明
图1为本发明实施例提供的一种车载双通道CPU的同步控制方法的流程图;
图2为本发明实施例提供的双通道CPU的同步控制方法步骤S1的的原理流程图;
图3为本发明实施例提供的一种车载双通道CPU的同步控制方法的原理流程图。
具体实施方式
以下结合附图和具体实施例对本发明提出的一种车载双通道CPU的同步控制方法作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比率,仅用以方便、明晰地辅助说明本发明实施例的目的。
如图1所示,本发明提出了一种车载双通道CPU的同步控制方法,包括以下步骤:
S1、双通道CPU创建主任务后同步中断,并关联和使能中断任务函数。
如图2所示,所述步骤S1包括以下步骤:
S1.1、双通道CPU上电后执行双口RAM初始化,并创建主任务;
具体地,所述双通道CPU创建的主任务为基于2取2安全计算平台应用程序中执行主要逻辑功能的任务,双通道CPU使用同一双口RAM,该双口RAM中写入不同的地址以实现双通道CPU间的数据交互。
S1.2、双通道CPU均挂接初始化同步中断,并执行同步中断;
具体地,所述双通道CPU包括第一通道CPU及第二通道CPU。所述双通道CPU同步中断包括以下步骤:
第一通道CPU写好中断并触发第二通道CPU中断;
第二通道CPU接收到第一通道CPU触发的中断,而后写中断触发第一通道CPU中断。
S1.3、双通道CPU均初始化外部安全定时器,并关联和使能中断任务函数。
具体地,所述双通道CPU上均关联加载中断任务函数,并使能中断任务函数,以便中断可以被触发,双通道CPU能够进入中断执行中断任务。优选地,所述中断任务为执行中断任务时间较少的中断任务。所述外部安全定时器采用CPLD硬件为核心的定时器。
S2、双通道CPU同步中断后均每隔相同时间执行一次中断任务,并在执行相同次数的中断任务后,向主任务释放信号量。
如图3所示,所述步骤S2包括以下步骤:
S2.1、双通道CPU均每隔T1时间进入中断,并将CPU进入中断的次数记为中断号;
S2.2、CPU的中断号等于M时,清零中断号并向主任务释放信号量;
其中,T1为双通道CPU执行中断任务的间隔时间,M为CPU执行一次主任务周期内其进入中断的次数,M大于等于2。
具体地,由外部安全定时器产生严格的T1ms时间间隔的中断信号和时间计数值。双通道CPU接收到中断信号后,进入中断执行中断任务,T1ms时长内,所述外部安全定时器共产生N个时间计数,允许±1的误差,即双通道CPU连续两次进入中断的时间间隔内,所述外部安全定时器产生的时间计数值必须是N-1、N、或N+1,若出现其他时间计数值,则判定外部安全定时器失效。所述间隔时间T1ms、中断号M的设置均可以根据实际使用情况进行适应性调整。
进一步地,所述中断任务中包含一计数器,双通道CPU中的任一通道CPU进入中断执行中断任务时,该计数器记录CPU执行该中断任务的次数,并生成中断号。双通道CPU均以M个中断作为主任务的一个周期,即主任务的周期等于(T1×M)ms,任一通道CPU执行中断任务的次数记满M次,即完成一次主任务周期后,将CPU的中断号清零。中断号清零后,CPU向主任务释放信号量。
S3、双通道CPU中任一通道CPU的主任务接收到信号量后,向对方发送主任务周期号的同时接收对方的主任务周期号。
具体地,当双通道CPU中的任一通道CPU执行M次中断完成一次主任务的执行后,任一通道CPU的主任务会接收到信号量,然后通过双口RAM向对方发送主任务周期号,并接收对方的主任务周期号。进一步地,所述主任务内也包含一计数器,用于记录主任务执行的次数,并将主任务执行次数记为主任务周期号,每执行完一次主任务,主任务周期号加1。
S4、若双通道CPU的主任务周期号相等,则双通道CPU均更新主任务周期号,并同步进入下一主任务周期。
具体地,判断双通道CPU的主任务周期号是否相等,如图3所示,若双通道CPU的主任务周期号相等,则双通道CPU均更新任务周期号;若双通道CPU的任务周期号不等,则双通道CPU再次读取对方的主任务周期号,而后判断双通道CPU的主任务周期号,直至双通道CPU的主任务周期号相等。
S5、下一主任务周期内,若双通道CPU的主任务周期号均更新成功,则双通道CPU均按照步骤S2-S5正常执行该次主任务。
如图3所示,双通道CPU在下一主任务周期内均再次进入中断且识别到中断号为零时,则判断双通道CPU的主任务周期号是否更新成功。
若双通道CPU主任务周期号均更新成功,则双通道CPU均按照步骤S2-S5所示的流程执行操作,使得双通道CPU的主任务周期同步,提高数据的准确性;
若CPU的周期号未更新成功,说明该通道CPU上一主任务周期执行超时或该通道CPU在等待另一通道CPU执行上一主任务周期,则该通道CPU本次中断不做中断号的累加;T1时间后该通道CPU进入到下一中断,若该通道CPU的周期号更新成功,则双通道CPU按照步骤S2-S5所示的流程执行操作,若该通道CPU仍未更新主任务周期号,双通道CPU间时间同步异常,则保护性宕机。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。
Claims (9)
1.一种车载双通道CPU的同步控制方法,所述双通道CPU包括第一通道CPU及第二通道CPU,其特征在于,采用主任务周期号记录主任务的执行次数,所述第一通道CPU与第二通道CPU执行每一次主任务的过程中,所述第一通道CPU与第二通道CPU均执行相同次数的中断任务,以确保双通道CPU同步进入下一次主任务周期;当前主任务执行完成后更新主任务周期号,只有当所述第一通道CPU与第二通道CPU的主任务周期号更新成功且相同时,才允许双通道CPU同步执行下一次主任务。
2.如权利要求1所述的车载双通道CPU的同步控制方法,其特征在于,具体包含以下步骤:
S1、双通道CPU同步中断后均每间隔相同时间执行一次中断任务,并在执行相同次数的中断任务后,向主任务释放信号量;
S2、双通道CPU的第一通道CPU及第二通道CPU接收到信号量后,向对方发送主任务周期号的同时接收对方的主任务周期号;
S3、若双通道CPU的主任务周期号相等,则双通道CPU均更新周期号,并同步进入下一次主任务周期;
S4、下一次主任务周期内,若双通道CPU的主任务周期号均更新成功,则双通道CPU均按照步骤S1-S4正常执行该次主任务。
3.如权利要求2所述一种车载双通道CPU的同步控制方法,其特征在于,所述步骤S1包含以下步骤:
S1.1、双通道CPU上电后均执行初始化及同步中断;
S1.2、双通道CPU均每隔T1时间进入中断执行中断任务,并将CPU进入中断的次数记为中断号;
S1.3、当CPU的中断号等于M时,清零中断号并向主任务释放信号量,
其中,T1为双通道CPU执行中断任务的间隔时间,M为CPU执行一次主任务周期内其进入中断的次数,M大于等于2。
4.如权利要求3所述一种车载双通道CPU的同步控制方法,其特征在于,所述主任务的周期等于T1×M。
5.如权利要求3所述一种车载双通道CPU的同步控制方法,其特征在于,所述双通道CPU同步中断包括以下步骤:
第一通道CPU写好中断并触发第二通道CPU中断;
第二通道CPU接收到第一通道CPU触发的中断,而后写中断触发第一通道CPU中断。
6.如权利要求5所述一种车载双通道CPU的同步控制方法,其特征在于,所述第一通道CPU与第二通道CPU通过双口RAM进行数据交互。
7.如权利要求2所述一种车载双通道CPU的同步控制方法,其特征在于,若双通道CPU的主任务周期号不等,则双通道CPU再次读取对方的主任务周期号,而后判断双通道CPU的主任务周期号,直至双通道CPU的主任务周期号相等。
8.如权利要求3所述一种车载双通道CPU的同步控制方法,其特征在于,双通道CPU在下一次主任务周期内再次进入中断识别到中断号为零,则判断双通道CPU的主任务周期号是否更新成功。
9.如权利要求8所述一种车载双通道CPU的同步控制方法,其特征在于,若双通道CPU中任一通道CPU的周期号未更新成功,则该通道CPU本次中断不累加中断号,若该通道CPU进入下一中断而CPU的主任务周期号仍未更新时,则宕机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010784429.XA CN111858071B (zh) | 2020-08-06 | 2020-08-06 | 一种车载双通道cpu的同步控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010784429.XA CN111858071B (zh) | 2020-08-06 | 2020-08-06 | 一种车载双通道cpu的同步控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111858071A true CN111858071A (zh) | 2020-10-30 |
CN111858071B CN111858071B (zh) | 2022-07-26 |
Family
ID=72971533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010784429.XA Active CN111858071B (zh) | 2020-08-06 | 2020-08-06 | 一种车载双通道cpu的同步控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111858071B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010073312A1 (ja) * | 2008-12-22 | 2010-07-01 | トヨタ自動車株式会社 | 車両用電子制御システム、車両用電子制御ユニット、車両用制御同期方法 |
CN101876928A (zh) * | 2009-11-13 | 2010-11-03 | 北京全路通信信号研究设计院 | 一种二乘二取二系统的同步方法和设备 |
CN103885853A (zh) * | 2013-03-01 | 2014-06-25 | 上海富欣智能交通控制有限公司 | 基于双cpu的轨道交通同步数据表决系统及方法 |
CN104133805A (zh) * | 2014-07-07 | 2014-11-05 | 北京交大思诺科技有限公司 | Atp车载设备中的数据同步方法与装置 |
US20150074676A1 (en) * | 2012-05-24 | 2015-03-12 | Kernelon Silicon Inc. | Task processng device |
CN107025152A (zh) * | 2017-05-19 | 2017-08-08 | 北京电子工程总体研究所 | 基于任务级的双冗余热备份设备的数据同步方法 |
CN108563557A (zh) * | 2018-02-08 | 2018-09-21 | 北京东土科技股份有限公司 | 一种多通道计算机的通道同步方法及装置 |
CN109240975A (zh) * | 2017-07-10 | 2019-01-18 | 比亚迪股份有限公司 | 二取二系统同步方法及装置 |
-
2020
- 2020-08-06 CN CN202010784429.XA patent/CN111858071B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010073312A1 (ja) * | 2008-12-22 | 2010-07-01 | トヨタ自動車株式会社 | 車両用電子制御システム、車両用電子制御ユニット、車両用制御同期方法 |
CN101876928A (zh) * | 2009-11-13 | 2010-11-03 | 北京全路通信信号研究设计院 | 一种二乘二取二系统的同步方法和设备 |
US20150074676A1 (en) * | 2012-05-24 | 2015-03-12 | Kernelon Silicon Inc. | Task processng device |
CN103885853A (zh) * | 2013-03-01 | 2014-06-25 | 上海富欣智能交通控制有限公司 | 基于双cpu的轨道交通同步数据表决系统及方法 |
CN104133805A (zh) * | 2014-07-07 | 2014-11-05 | 北京交大思诺科技有限公司 | Atp车载设备中的数据同步方法与装置 |
CN107025152A (zh) * | 2017-05-19 | 2017-08-08 | 北京电子工程总体研究所 | 基于任务级的双冗余热备份设备的数据同步方法 |
CN109240975A (zh) * | 2017-07-10 | 2019-01-18 | 比亚迪股份有限公司 | 二取二系统同步方法及装置 |
CN108563557A (zh) * | 2018-02-08 | 2018-09-21 | 北京东土科技股份有限公司 | 一种多通道计算机的通道同步方法及装置 |
Non-Patent Citations (2)
Title |
---|
CHEN YONG 等: ""Clock synchronization technology based on FPGA"", 《2015 IEEE INTERNATIONAL CONFERENCE ON COMMUNICATION SOFTWARE AND NETWORKS (ICCSN)》 * |
闫迪 等: ""通用处理器多核流水线自适应同步方法"", 《电讯技术》 * |
Also Published As
Publication number | Publication date |
---|---|
CN111858071B (zh) | 2022-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20190079809A (ko) | 결함 주입 테스트 장치 및 그 방법 | |
CN101625657A (zh) | 监控数据处理设备和概括监控数据 | |
EP1672501A2 (en) | Fault tolerant duplex computer system and its control method | |
US20090006068A1 (en) | Software executing device and co-operation method | |
CN111858071B (zh) | 一种车载双通道cpu的同步控制方法 | |
CN1877471B (zh) | 控制装置的任务管理装置和方法 | |
JP2021072074A (ja) | 半導体装置および半導体装置の制御方法 | |
US5649088A (en) | System and method for recording sufficient data from parallel execution stages in a central processing unit for complete fault recovery | |
JP3423732B2 (ja) | 情報処理装置及び情報処理装置における障害処理方法 | |
JP3381756B2 (ja) | 並列プロセッサシステム | |
JPH1115661A (ja) | Cpuの自己診断方法 | |
JP2002229811A (ja) | 論理分割システムの制御方法 | |
WO2021010039A1 (ja) | 情報処理装置、および情報処理方法、並びにプログラム | |
JPS60142747A (ja) | 命令再実行制御方式 | |
JP4584124B2 (ja) | 情報処理装置およびそのエラー処理方法ならびに制御プログラム | |
JP2922981B2 (ja) | タスクの実行継続方法 | |
JPH06149762A (ja) | 計算機システムの競合動作試験方式 | |
JP3068578B2 (ja) | インサーキットエミュレータおよび飽和演算処理方法 | |
JPS5932821B2 (ja) | 情報処理装置 | |
JPS595932B2 (ja) | デ−タ処理方式 | |
JPH03102539A (ja) | 入出力装置の異常検出方法 | |
JPS58114251A (ja) | デ−タ処理装置 | |
JPS62113241A (ja) | 障害回復装置 | |
JPH07230432A (ja) | 計算装置 | |
JPH05197692A (ja) | Cpu間通信データ履歴の蓄積方式 |
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 |