1 汽车巡航控制系统程序设计的要求
巡航控制系统的信号采集、控制量输出,以及控制决策的确定等各项功能都要通过软件编程来实现。控制系统中的应用软件是根据系统的各项功能要求而设计的。它首先应该可靠地实现控制系统的各项功能。软件设计的主要原则是:
1)软件设计与硬件设计综合进行。在软件设计中,应充分发挥单片机的高性能潜力,进行硬件的软化,以减少控制系统硬件电路元器件的数量,降低系统的造价和提高系统的可靠性。尽量实现硬件的软化,
2)各功能程序实现模块化、子程序化,这样便于程序的调试、移植和修改。同时,大量重复使用的程序设计模块在各处可进行调用,因此可节省大量的程序存储空间。
3)对程序存储区和数据存储区进行合理规划,以提高程序运行速度,有效地利用程序存储空间。
4)在系统程序设计中,同时进行抗干扰设计。软件抗干扰也是提高控制系统可靠性和抗干扰的有效措施。
2巡航控制系统的程序流程
巡航控制过程如图8-22所示。在汽车电子巡航控制系统中,车速信号反馈至电子控制器,并与指令车速进行比较,因而系统工作在闭环控制方式,采用的控制方法如前所述。通过对单片机编程来实现转速、节气门的双闭环控制,使车速在允许的误差范围内保持稳定。
其中,涉及的模块主要有初始化模块、启动判断模块、执行器驱动模块、中断模块等。初始化模块包括对单片机的初始化和对执行机构进行调整。单片机的初始化主要完成对单片机引脚输入输出的设定、A/D转换工作方式的设定。此外,系统软件还包括按键状态检测程序、微调车速程序、恢复巡航程序、解除巡航程序、A/D采样程序、车速采集程序。
车速传感器采集车速信号,单片机首先判断车速信号的大小是否在可巡航的范围内,如车速在可巡航的范围内,驾驶员按下设定键后,车速就设定在这个值上。每隔一段时间就会检测一下实际车速与设定车速的差值是否在允许误差范围内,若不在,单片机发出命令给伺服电动机,让伺服电动机动作,调整节气门开度,使实际车速接近设定车速。系统同时不断地检测是否有按键按下。若有取消键、空档开关、手制动键、脚制动键其中之一被按下,巡航就被解除。
加速键或减速键被按下后,系统会修改目标车速。恢复键被按下后,车辆重新按设定的速度行驶。如果车速在l s之内的变化过大时,巡航系统也将自动退出控制状态。
3软件可靠性措施
1.合理“封锁”
由于在实际的系统中强干扰主要是来自系统本身,例如被控负荷电动机的通断、状态变化等,这些干扰是可预知的,在软件的设计中,可采取适当措施避开。当系统要接通或断开大功率负荷时,暂停一切数据采集工作,待干扰过去后再恢复进行,这比单纯在硬件上采取抗干扰措施要好得多。在适当的地方封锁某些中断源、多个通道的相互封锁,都是避免或减弱系统内部相互干扰的有效方法。
2.程序失控防护措施
在控制现场中,大多数情况下干扰都不会造成计算机系统硬件的损坏,主要是对软件运行造成不良影响,其主要特征是,指令码和数据码的个别位受干扰而发生跳变,使得程序的执行出现错误,最典型的错误情况莫过于程序计数器发生跳变,结果可能把数据码当成指令码而把指令码当成数据码来执行。这种盲目执行程序的结果,一方面会破坏RAM中的数据,另一方面可能会使程序错乱或进入死循环,使整个系统失控,严重时有可能造成设备的损坏,甚至危及人身安全,所以采取有效的程序失控防护措施,是非常必要的。目前许多中档的单片机都具有“看门狗”电路,该功能主要是针对以上情况采取的硬件、软件结合的抗干扰措施,该措施是行之有效的。对于没有“看门狗”功能的单片机,常采用定时终端等措施来预防上述干扰情况。