汽车CAN总线出现故障后涉及到快慢恢复的问题,当出现总线故障后,控制器应当按照文档规定进行快慢恢复处理。
进行快慢恢复处理时,原来的发送周期会被打断,同时恢复后也不应当按照原来的周期进行发送,而是应该按照恢复故障后的那次时刻作为后续周期的零时刻,再按照原来的周期发送。
举个例子,假设原来的报文发送周期时200ms,假如在50ms时出现故障,假设快恢复每次周期为50ms,经历3次快恢复,在150ms处故障解除。这时候问题就来了,我们原来的周期时200ms,但是现在还没有到这个调度周期,是不是应该等待?或者是立刻发送。
根据我们上面的说法以及我在实际工程中的处理,应该立即发送,也就是说后续的周期200ms发送,在绝对的时间基础上变成了350ms发送,550ms发送而不是原来的200ms发送,400ms发送。