当年看我的车子不在召回之列就没关心,最近重温各大拿的修车贴,特别是阎头关于老太太的:“她说,她的来客瑟斯突然增速到100迈,她换了空档,没效果,又换了倒档,没效果。跑了6迈后,车子自己不疯了。”,还有丰田建议挂空档的问题。
1.油门(风门)卡死是否车速会一直上升?有人认为不会。其实要看软件是怎么编的。如果软件认为用户的意图是加速它可能就会加大油门直到一定限度。比如,它看你踩下的加速度和幅度,自动算出合适的油门,甚至用非线性的算法来兼顾加速和舒适。
2.丰田建议空档--它当然知道自己程序的风格。有可能,空档的优先级较别的档位高,或者,软件在处理各档的时候,先处理的是空档。但是,未必所有车型都这样。也许为了加速能力,软件每次都先处理D档。
3.如果老太太说的是对的,那也完全是可能的。就是说软件跑飞了后,有一个叫做“watch dog”的程序机制被启动了。这在嵌入式软件中及其普遍,就是一个定时器,在主循环处理中,每隔一定时间比如1秒就把定时器清零,程序跑飞后不走正常循环,定时器一直加数,到溢出后整个程序就自动有硬件复位加电开始。当然硬复位也可以复位到出事前的状态,看设计了。低级的丰田也许没有它,跑飞就回不来了。
4.为啥速度会一直加大?其实未必是一直,也许到120迈?我们不确定。也许油门风门的比例部分或反馈出了问题,所以它一直增速,也许它认为是用户的意图。
5.为啥会跑飞?audi是89年跑飞,南韩那SUV是2010年(?),美车也有跑飞。就是说可能还会跑飞,但希望改软件后不会了。跑飞主要是软件容错不好。比如提供给它的数据后导致了错误的结果。须知多个错误条件的综合也许看来是合理的,或者一个错误输入是在容限内但长期下去就不行了。要完全避免很难。硬件也许会有低概率的随机错误,比如我测试芯片时有时几天才出一个错误,未必能重复的。所以,绝大多数嵌入式系统都有这个“watch dog”作为安全防护,但硬复位到最后一次的安全状态要花心思设计而且要保存大量的现场数据,要保存可靠的话就要写入非易失存储器,而非易失存储器写多了就坏掉了,而且坏可能是随机的未必能及时判断出。
6.干扰也可能造成数据错误或程序跑飞,而干扰总是有的。限制通常都是按统计规律,而小概率事件是百万分级,但不等于不发生。不过在实验室也许它就是不发生。
还是按推荐的,跑飞了先换空档,再踩刹车不抬脚;再不行钥匙去ACC;再不行你就选择是撞上去还是把钥匙拧到OFF。留给识者指正。