本发明涉及汽车系统的控制,具体地涉及一种满足功能安全要求的冗余通道软件周期同步方法及系统。
背景技术:
1、在汽车电子,轨道交通,航空航天,医疗电子,工业控制等具有功能安全要求的冗余通道软件周期同步控制的系统中,冗余通道软件周期同步控制精度对系统的安全性,可靠性,性能有较大的影响。
2、目前在用的各种冗余通道周期同步技术中存在两种技术方案。
3、方案一:软件同步方案。冗余通道之间采用软件通信报文传递同步状态,接收方通道收到冗余通道的同步报文之后通过解析报文中的周期号再判断调整自身通道下个周期的起始时间。该方案因存在通信延迟等不确定性因素,会导致冗余通道之间的软件运行周期同步误差比较大,无法用于对控制精度有较高要求的安全系统。
4、方案二:硬线同步方案。冗余通道之外的独立硬件通过硬连线周期性地给冗余通道发送脉冲,冗余通道按照脉冲计数计算出下一个周期的开始时间。该方案保证了双通道软件运行周期同步触发时间的准确性以及一致性。但在实际应用环境中,电子系统的运行环境往往复杂多变。电子系统冗余通道软件周期结束时间会因为环境原因存在着一定的波动性。硬线同步方案无法解决冗余通道软件周期波动问题,在长时间运行的场景下容易导致系统因为软件运行周期超过了硬线定期触发的同步周期而宕机的问题。
技术实现思路
1、本发明实施例的目的是提供一种满足功能安全要求的冗余通道软件周期同步方法及系统,该方法及系统能够克服现有技术常用的同步方法的缺陷。
2、为了实现上述目的,本发明实施例提供一种满足功能安全要求的冗余通道软件周期同步方法,包括:
3、获取待同步的第一信号、第二信号、内部时钟以及上一个周期的延时值;
4、根据所述第一信号、第二信号确定第一时间点、第二时间点;
5、根据所述第一时间点、第二时间点、内部时钟以及上一个周期的延时值确定第一输出信号和第二输出信号、下个周期的延时值、第一复位信号以及第二复位信号。
6、可选地,所述第一时间点为ch1通道的输入信号的周期结束时间,所述第二时间点为ch2通道的输入信号的周期结束时间。
7、可选地,根据所述第一时间点、第二时间点、内部时钟以及上一个周期的延时值确定第一输出信号和第二输出信号、下个周期的延时值、第一复位信号以及第二复位信号,包括:
8、在所述第二时间点大于所述第一时间点,且所述第一时间点大于所述内部时钟与预设的最大容忍值的和的情况下,确定时间差为第一预设值;
9、将下个周期的延时值确定为所述内部时钟与第一预设值的和;
10、将所述第一输出信号确定为所述内部时钟与上一个周期的延时值的和;
11、将所述第二输出信号确定为所述内部时钟与上一个周期的延时值的和;
12、将所述第一复位信号确定为内部自检结果的值;
13、将所述第二复位信号确定为所述内部自检结果的值;
14、在判断所述第一时间点大于所述内部时钟且小于所述内部时钟与预设的最大容忍值的和,同时所述第二时间点大于所述内部时钟与所述最大容忍值的和的情况下,根据以下公式(1)计算时间差,
15、,(1)
16、其中,为所述时间差,为所述内部时钟,为所述第一时间点;
17、将下个周期的延时值确定为所述内部时钟和时间差的和;
18、将所述第一输出信号确定为所述内部时钟与上一个周期的延时值的和;
19、将所述第二输出信号确定为所述内部时钟与上一个周期的延时值的和;
20、将所述第一复位信号确定为第二预设值;
21、将所述第二复位信号确定为所述第二预设值;
22、在判断所述第一时间点大于所述内部时钟,所述第二时间点大于所述第一时间点,同时所述第二时间点小于所述内部时钟与预设的最大容忍值的和的情况下,根据以下公式(2)计算时间差,
23、,(2)
24、其中,为所述时间差,为所述内部时钟,为所述第一时间点,为所述第二时间点;
25、将下个周期的延时值确定为所述内部时钟和时间差的和;
26、将所述第一输出信号确定为所述内部时钟与上一个周期的延时值的和;
27、将所述第二输出信号确定为所述内部时钟与上一个周期的延时值的和;
28、将所述第一复位信号确定为第二预设值;
29、将所述第二复位信号确定为所述第二预设值。
30、可选地,根据所述第一时间点、第二时间点、内部时钟以及上一个周期的延时值确定第一输出信号和第二输出信号、下个周期的延时值、第一复位信号以及第二复位信号,包括:
31、在判断所述第一时间点小于所述内部时钟与预设的最大容忍值的差值,且第二时间点大于所述内部时钟与所述最大容忍值的和的情况下,将时间差确定为第一预设值;
32、将下个周期的延时值确定为所述内部时钟和时间差的和;
33、将所述第一输出信号确定为所述内部时钟和上一个周期的延时值的和;
34、将所述第二输出信号确定为所述内部时钟与上一个周期的延时值的和;
35、将所述第一复位信号确定为第二预设值;
36、将所述第二复位信号确定为所述第二预设值;
37、在判断所述第一时间点小于所述内部时钟与预设的最大容忍值的差值,且第二时间点大于所述内部时钟,同时所述第二时间点小于所述内部时钟和所述最大容忍值的和的情况下,根据以下公式(3)计算时间差,
38、,(3)
39、其中,为所述时间差,为所述内部时钟,为所述第二时间点;
40、将下个周期的延时值确定为所述内部时钟和时间差的和;
41、将所述第一输出信号确定为所述内部时钟与上一个周期的延时值的和;
42、将所述第二输出信号确定为所述内部时钟与上一个周期的延时值的和;
43、将所述第一复位信号确定为第二预设值;
44、将所述第二复位信号确定为所述第二预设值;
45、在判断所述第一时间点大于所述内部时钟和预设的最大容忍值的差,且所述第一时间点小于所述内部时钟,同时,所述第二时间点大于所述内部时钟和所述最大容忍值的和的情况下,根据公式(4)计算时间差,
46、,(4)
47、其中,为所述时间差,为所述内部时钟,为所述第一时间点;
48、将下个周期的延时值确定为所述内部时钟和时间差的和;
49、将所述第一输出信号确定为所述内部时钟与上一个周期的延时值的和;
50、将所述第二输出信号确定为所述内部时钟与上一个周期的延时值的和;
51、将所述第一复位信号确定为第二预设值;
52、将所述第二复位信号确定为所述第二预设值;
53、在判断所述第一时间点大于所述内部时钟和预设的最大容忍值的差,所述第一时间点小于所述内部时钟,且所述第二时间点大于所述内部时钟,同时所述第二时间点小于所述内部时钟和所述最大容忍值的和的情况下,根据公式(5)计算时间差,
54、,(5)
55、其中,为所述时间差,为所述内部时钟,为所述第一时间点,为所述第二时间点;
56、将下个周期的延时值确定为所述内部时钟和时间差的和;
57、将所述第一输出信号确定为所述内部时钟与上一个周期的延时值的和;
58、将所述第二输出信号确定为所述内部时钟与上一个周期的延时值的和;
59、将所述第一复位信号确定为第二预设值;
60、将所述第二复位信号确定为所述第二预设值。
61、可选地,根据所述第一时间点、第二时间点、内部时钟以及上一个周期的延时值确定第一输出信号和第二输出信号、下个周期的延时值、第一复位信号以及第二复位信号,包括:
62、在判断所述第一时间点小于所述第二时间点,且所述第二时间点小于所述内部时钟和预设的最大容忍值的差的情况下,将时间差确定为第一预设值;
63、将下个周期的延时值确定为所述内部时钟和时间差的和;
64、将所述第一输出信号确定为所述内部时钟与上一个周期的延时值的和;
65、将所述第二输出信号确定为所述内部时钟与上一个周期的延时值的和;
66、将所述第一复位信号确定为第二预设值;
67、将所述第二复位信号确定为所述第二预设值;
68、在判断所述第一时间点小于所述内部时钟和预设的最大容忍值的差,且所述第二时间点大于所述内部时钟和最大容忍值的差,同时所述第二时间点小于所述内部时钟的情况下,根据以下公式(6)计算时间差,
69、,(6)
70、其中,为所述时间差,为所述内部时钟,为所述第二时间点;
71、将下个周期的延时值确定为所述内部时钟和时间差的和;
72、将所述第一输出信号确定为所述内部时钟与上一个周期的延时值的和;
73、将所述第二输出信号确定为所述内部时钟与上一个周期的延时值的和;
74、将所述第一复位信号确定为第二预设值;
75、将所述第二复位信号确定为所述第二预设值;
76、在判断所述第一时间点大于所述内部时钟和预设的最大容忍值的差,所述第二时间点大于所述第一时间点,且所述第二时间点小于所述内部时钟的情况下,根据以下公式(7)计算时间差,
77、,(7)
78、其中,为所述时间差,为所述内部时钟,为所述第一时间点,为所述第二时间点;
79、将下个周期的延时值确定为所述内部时钟和时间差的和;
80、将所述第一输出信号确定为所述内部时钟与上一个周期的延时值的和;
81、将所述第二输出信号确定为所述内部时钟与上一个周期的延时值的和;
82、将所述第一复位信号确定为第二预设值;
83、将所述第二复位信号确定为所述第二预设值。
84、可选地,根据所述第一时间点、第二时间点、内部时钟以及上一个周期的延时值确定第一输出信号和第二输出信号、下个周期的延时值、第一复位信号以及第二复位信号,包括:
85、在判断所述第二时间点大于所述内部时钟和预设的最大容忍值的和,且所述第一时间点大于所述第二时间点的情况下,将时间差确定为第一预设值;
86、将下个周期的延时值确定为所述内部时钟和时间差的和;
87、将所述第一输出信号确定为所述内部时钟与上一个周期的延时值的和;
88、将所述第二输出信号确定为所述内部时钟与上一个周期的延时值的和;
89、将所述第一复位信号确定为第二预设值;
90、将所述第二复位信号确定为所述第二预设值;
91、在判断所述第二时间点大于所述内部时钟,且所述第二时间点小于所述内部时钟与预设的最大容忍值的和,同时所述第一时间点大于所述内部时钟与最大容忍值的和的情况下,根据公式(8)计算时间差,
92、,(8)
93、其中,为所述时间差,为所述内部时钟,为所述第一时间点;
94、将下个周期的延时值确定为所述内部时钟和时间差的和;
95、将所述第一输出信号确定为所述内部时钟与上一个周期的延时值的和;
96、将所述第二输出信号确定为所述内部时钟与上一个周期的延时值的和;
97、将所述第一复位信号确定为第二预设值;
98、将所述第二复位信号确定为所述第二预设值;
99、在判断所述第二时间点大于所述内部时钟,所述第一时间点大于所述第二时间点,且所述第一时间点小于所述内部时钟和预设的最大容忍值的和的情况下,根据公式(9)计算时间差,
100、,(9)
101、其中,为所述时间差,为所述内部时钟,为所述第一时间点,为所述第二时间点;
102、将下个周期的延时值确定为所述内部时钟和时间差的和;
103、将所述第一输出信号确定为所述内部时钟与上一个周期的延时值的和;
104、将所述第二输出信号确定为所述内部时钟与上一个周期的延时值的和;
105、将所述第一复位信号确定为第二预设值;
106、将所述第二复位信号确定为所述第二预设值。
107、可选地,根据所述第一时间点、第二时间点、内部时钟以及上一个周期的延时值确定第一输出信号和第二输出信号、下个周期的延时值、第一复位信号以及第二复位信号,包括:
108、在判断所述第二时间点小于所述内部时钟与预设的最大容忍值的差,所述第一时间点大于所述内部时钟与所述最大容忍值的和的情况下,将时间差确定为第一预设值;
109、将下个周期的延时值确定为所述内部时钟和时间差的和;
110、将所述第一输出信号确定为所述内部时钟与上一个周期的延时值的和;
111、将所述第二输出信号确定为所述内部时钟与上一个周期的延时值的和;
112、将所述第一复位信号确定为第二预设值;
113、将所述第二复位信号确定为所述第二预设值;
114、在判断所述第二时间点小于所述内部时钟与预设的最大容忍值的差,所述第一时间点大于所述内部时钟,且所述第一时间点小于所述内部时钟和所述最大容忍值的差的情况下,根据以下公式(10)计算时间差,
115、,(10)
116、其中,为所述时间差,为所述内部时钟,为所述第一时间点;
117、将下个周期的延时值确定为所述内部时钟和时间差的和;
118、将所述第一输出信号确定为所述内部时钟与上一个周期的延时值的和;
119、将所述第二输出信号确定为所述内部时钟与上一个周期的延时值的和;
120、将所述第一复位信号确定为第二预设值;
121、将所述第二复位信号确定为所述第二预设值;
122、在判断所述第二时间点大于所述内部时钟与预设的最大容忍值的差,所述第二时间点小于所述内部时钟,且所述第一时间点大于所述内部时钟与所述最大容忍值的和的情况下,根据公式(11)计算时间差,
123、,(11)
124、其中,为所述时间差,为所述内部时钟,为所述第二时间点;
125、将下个周期的延时值确定为所述内部时钟和时间差的和;
126、将所述第一输出信号确定为所述内部时钟与上一个周期的延时值的和;
127、将所述第二输出信号确定为所述内部时钟与上一个周期的延时值的和;
128、将所述第一复位信号确定为第二预设值;
129、将所述第二复位信号确定为所述第二预设值;
130、在判断所述第二时间点大于所述内部时钟与预设的最大容忍值的差,所述第二时间点小于所述内部时钟,所述第一时间点大于所述内部时钟,且所述第一时间点小于所述内部时钟和所述最大容忍值的和的情况下,根据以下公式(12)计算时间差,
131、,(12)
132、其中,为所述时间差,为所述内部时钟,为所述第一时间点,为所述第二时间点;
133、将下个周期的延时值确定为所述内部时钟和时间差的和;
134、将所述第一输出信号确定为所述内部时钟与上一个周期的延时值的和;
135、将所述第二输出信号确定为所述内部时钟与上一个周期的延时值的和;
136、将所述第一复位信号确定为第二预设值;
137、将所述第二复位信号确定为所述第二预设值。
138、可选地,根据所述第一时间点、第二时间点、内部时钟以及上一个周期的延时值确定第一输出信号和第二输出信号、下个周期的延时值、第一复位信号以及第二复位信号,包括:
139、在判断所述第二时间点小于第一时间点,且所述第一时间点小于所述内部时钟与预设的最大容忍值的差的情况下,将时间差确定为第一预设值;
140、将下个周期的延时值确定为所述内部时钟和时间差的和;
141、将所述第一输出信号确定为所述内部时钟与上一个周期的延时值的和;
142、将所述第二输出信号确定为所述内部时钟与上一个周期的延时值的和;
143、将所述第一复位信号确定为第二预设值;
144、将所述第二复位信号确定为所述第二预设值;
145、在判断所述第二时间点小于所述内部时钟和预设的最大容忍值的差,所述第一时间点大于所述内部时钟和最大容忍值的差,且所述第一时间点小于所述内部时钟的情况下,根据公式(13)计算时间差,
146、,(13)
147、其中,为所述时间差,为所述内部时钟,为所述第一时间点;
148、将下个周期的延时值确定为所述内部时钟和时间差的和;
149、将所述第一输出信号确定为所述内部时钟与上一个周期的延时值的和;
150、将所述第二输出信号确定为所述内部时钟与上一个周期的延时值的和;
151、将所述第一复位信号确定为第二预设值;
152、将所述第二复位信号确定为所述第二预设值;
153、在判断所述第二时间点大于所述内部时钟与预设的最大容忍值的差,所述第一时间点大于所述第二时间点,且所述第一时间点小于所述内部时钟的情况下,根据公式(14)计算时间差,
154、,(9)
155、其中,为所述时间差,为所述内部时钟,为所述第一时间点,为所述第二时间点;
156、将下个周期的延时值确定为所述内部时钟和时间差的和;
157、将所述第一输出信号确定为所述内部时钟与上一个周期的延时值的和;
158、将所述第二输出信号确定为所述内部时钟与上一个周期的延时值的和;
159、将所述第一复位信号确定为第二预设值;
160、将所述第二复位信号确定为所述第二预设值。
161、另一方面,本发明还提供一种满足功能安全要求的冗余通道软件周期同步系统,所述系统包括处理器,所述处理器被配置成执行如上述任一所述的方法。
162、再一方面,本发明还提供一种满足功能安全要求的冗余通道软件周期同步系统,所述同步系统包括:
163、ch1输入端口,用于获取第一信号;
164、ch2输入端口,用于获取第二信号;
165、diag组件,用于生成配置参数;
166、寄存器组件,用于存储所述配置参数;
167、pll组件和定时器,用于生成内部时钟;
168、延时寄存器,用于存储延时值;
169、仲裁组件,用于执行如上述任一所述的方法;
170、ch1输出端口,用于输出第一输出信号;
171、ch2输出端口,用于输出第二输出信号。
172、通过上述技术方案,本发明实施方式提供了一种满足功能安全要求的冗余通道软件周期同步方法及系统,该方法及系统通过结合环境对软件的影响,在计算软件下个周期的同步时间点时结合了冗余通道的周期结束时间、周期同步器自检结果计算出软件下个周期的起始时间点,增强了系统运行的可靠性和鲁棒性。
173、本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
1.一种满足功能安全要求的冗余通道软件周期同步方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述第一时间点为ch1通道的输入信号的周期结束时间,所述第二时间点为ch2通道的输入信号的周期结束时间。
3.根据权利要求2所述的方法,其特征在于,根据所述第一时间点、第二时间点、内部时钟以及上一个周期的延时值确定第一输出信号和第二输出信号、下个周期的延时值、第一复位信号以及第二复位信号,包括:
4.根据权利要求2所述的方法,其特征在于,根据所述第一时间点、第二时间点、内部时钟以及上一个周期的延时值确定第一输出信号和第二输出信号、下个周期的延时值、第一复位信号以及第二复位信号,包括:
5.根据权利要求2所述的方法,其特征在于,根据所述第一时间点、第二时间点、内部时钟以及上一个周期的延时值确定第一输出信号和第二输出信号、下个周期的延时值、第一复位信号以及第二复位信号,包括:
6.根据权利要求2所述的方法,其特征在于,根据所述第一时间点、第二时间点、内部时钟以及上一个周期的延时值确定第一输出信号和第二输出信号、下个周期的延时值、第一复位信号以及第二复位信号,包括:
7.根据权利要求2所述的方法,其特征在于,根据所述第一时间点、第二时间点、内部时钟以及上一个周期的延时值确定第一输出信号和第二输出信号、下个周期的延时值、第一复位信号以及第二复位信号,包括:
8.根据权利要求2所述的方法,其特征在于,根据所述第一时间点、第二时间点、内部时钟以及上一个周期的延时值确定第一输出信号和第二输出信号、下个周期的延时值、第一复位信号以及第二复位信号,包括:
9.一种满足功能安全要求的冗余通道软件周期同步系统,其特征在于,所述系统包括处理器,所述处理器被配置成执行如权利要求1至8任一所述的方法。
10.一种满足功能安全要求的冗余通道软件周期同步系统,其特征在于,所述同步系统包括: