程梁 刘鹏 崔兴龙
(博世华域转向系统有限公司 上海市 201821)
电动助力转向系统(EPS)是一种在驱动电机的帮助下配合驾驶员实现转向动作的系统。EPS 作为汽车底盘的重要部件,直接影响着车辆行驶时的安全性和可靠性。智能驾驶技术在近几年发展迅猛,整车厂对转向系统的要求逐步提高,如何确保车辆在智能驾驶状况下能安全应对各种突发状况是未来汽车发展的热点问题之一。
出于安全性保障,目前在高等级智能驾驶方案中,冗余设计已贯穿在汽车设计的各个环节。冗余,即为了提升系统可靠性,重复配置两套部件或机能。智能驾驶的前提是安全性因而冗余设计必不可少,即使在行驶过程中其中一套系统突发故障,另外一套系统也能实现基本功能,以确保行驶安全。冗余结构的设计虽然导致了成本有所增加,但行驶安全是车辆设计的前提,在目前智能驾驶不断普及、硬件可靠性提升较为困难的情形下,采用冗余设计思路是主流发展方向之一[1]。
双冗余转向系统从控制领域来看,实际上是并行的两套完全一致的独立控制系统,包含电源、传感器和执行部件等,如图1 所示。正常状态下,两套系统同时工作,各输出50%的需求转矩实现转向助力,若系统中某一部件出现故障,另一套系统仍完整独立,能继续提供部分助力,从而避免完全无助力的情况。两套系统之间会协同调控,但不存在相互干涉的问题,保证了两套控制系统的相对独立性。
状态机是表示有限种状态以及在这些状态之间相互跳转的数学模型,其主要作用是描述对象在它的生命周期内所经历的状态序列,以及如何响应来自外界的各种事件[2]。在计算机科学中,状态机被广泛用于建模应用行为、硬件电路系统设计、软件工程,编译器、网络协议、和计算与语言的研究[3]。EPS 作为汽车底盘的重要安全部件,软件设计复杂,随着性能要求的不断提升,传统的系统状态机不能完全满足要求。双冗余系统状态机可以协调转向系统的整个生命周期,提升转向舒适性、优化驾驶感受,在检测到严重故障时能主动关闭系统切断转矩输出,保护乘员安全和延长系统硬件寿命;在无转向需求时能及时进入休眠状态,防止车载蓄电池过度消耗,提升车辆的续航里程,增加产品竞争力。
如图2 所示,传统状态机有以下几种状态:初始化状态、错误状态、正常状态(助力提升和助力降低)、预退出状态和退出状态。成功上电后系统通过进行初始化完成必要的硬件和软件激活。初始化成功后,系统进入正常状态,此模式下分为助力提升和助力降低两种状态,车辆在正常行驶时,系统会根据实际工况逐步提升助力转矩,由于车辆进行原地转向时阻力较大,系统会快速增加助力转矩。在正常状态或者初始化状态下,若系统检测到错误后,系统会自动跳转到错误状态并切断转矩输出。当系统需要关闭时会切换到预退出状态,在接收到硬件下电请求后系统跳转到退出状态。
传统系统状态机没有被单独封装,许多接口与不同的软件组件相互关联,如看门狗、转子位置传感器等,会激活一些不必要的模块而增加功耗。在正常状态下,即使客户需要更多不同的状态,也只能用助力提升和助力降低两种状态进行表示,没有进一步的细分。面对更精确的控制以及能耗要求,传统系统状态机已无法满足整车厂的设计要求。
为满足整车厂对转向系统的控制要求,设计了如图3 所示的系统状态机。其包含以下几种状态,ECU初始化状态、软件初始化状态、正常状态、产线状态、故障状态、重置状态、错误状态和应用关闭状态。
图1:双冗余转向系统
图2:传统状态机
图3:改进型系统状态机
ECU 初始化是系统启动后状态机模块的第一个状态,此状态主要用于等待硬件库和基础软件的初始化。如果系统需要像转向角一样通过通信总线发送信号,则可以在所有需要的信号都可用后立即执行此操作。
在软件初始化状态下所有传感器和执行器都已完全初始化,并且应用程序的接口也已成功激活。应用程序会调用相关应用程序组件的初始化函数,以此实现内部状态机的初始化。初始化状态和初始化函数可以实现在不重置系统的情况下重新启动应用程序或部分应用程序,以此提升软件响应速度和故障处理能力,也为以后代码的优化提供了必要基础。
参照客户需求,在正常状态下 EPS 能够根据系统计算的转矩要求提供对应的助力输出。当处在故障状态下,系统会根据检测到的故障严重程度,通过调用相应的助力降低函数来减少助力输出比例。如果需要针对不同类型的故障而采取特殊措施,如单独降低助力级别,则需要在助力控制模块中进行处理。
产线状态是一种特殊的状态,此状态只能在生产过程中使用而不能用于测试,也不能在整车上进行相关试验。在这种状态下EPS所能提供的各种功能与生产需求相同。 相比正常的状态,将有不同的助力曲线用于助力输出,诊断事件管理器的配置也会有所不同。
图4:整体框架设计
图5:停机许可逻辑
图6:双ECU 内部通讯
如果进入到重置状态,则EPS 必须执行重置或关闭动作。 此时系统会自动记录与安全相关的数据并在ECU 模块中完成硬件库关闭请求。应用关闭状态是一个过程状态,在这种状态下不会进行其他操作,仅仅表示应用程序已完全关闭。
为实现相关系统状态顺利切换,还需要其他组件进行协助,以此共同完成相关操作,整体框架如图4 所示。
系统状态机模块可协调一个完整的生命周期并在发生严重错误时进行停机处理。系统状态机模块控制任务列表在不同的ECU 状态中切换对应状态。同时系统状态机模块不再控制助力输出,而是由新增助力控制模块进行处理。点火信号模块会检测停机条件并通过调用停机协助模块来请求关闭系统。
助力控制模块主要用于根据系统状态控制系统的扭矩输出。 它检查ECU 状态和系统的整体状态,如发动机转速、车辆速度、点火信号等,并启用或禁用输出级别并且通过牵引力控制系统实现扭矩输出。此模块可以根据不同车速和请求,选用对应助力曲线。比如某日系车企要求在巡航模式下,尽可能的关闭内燃机或气缸以节省燃料,此时需要限制助力转向系统的电流输出,在睡眠模式时电流输出也需要被限制;某美系车企要求若发生特殊的故障,需要根据故障等级减小助力大小,比如其中一个扭矩传感器出现故障,则系统实际输出助力为需求助力的50%。
将助力控制模块单独分离,可以很好的满足不同客户的定制需求,避免反复更改系统状态机模型,大大缩短了开发周期。
客户定制状态模块包含客户特定的ECU 状态,当系统状态进行切换时,此模块为整车厂的特定功能提供一些选项。
由于闪存、关机、重置、企业服务总线锁定等原因,停机协助模块可用于发出系统关机请求。除了客户端调用关闭请求外,后续所有步骤将自动执行。停机协助模块会对所有关闭请求进行优先级排序,并将最重要的请求发送到系统状态机模块和助力控制模块。
停机许可模块会检查当前各种条件,如车速和转矩传感器输出数值,以确定是否允许关闭助力转向系统。检查当前驾驶情况下是否允许停机,并将许可标志发送到助力控制模块,如图5 所示。为防止意外停机导致助力突然消失,影响行驶安全,只有存在停机请求并且停机许可申请通过,系统才会执行停机操作。
两套冗余的系统除了相互独立提供助力外,还会进行必要的内部通讯,以应对各种突发工况。为了使两个ECU 之间的功能同步,需要共享的数据使用串行外设接口(SPI)进行通讯,无需实时同步的数据则使用控制器局域网络(CAN)进行传输,其内部通讯结构如图6 所示。
改进型状态机将系统状态进行拆分处理并且将EPS 应用程序也设计成单独的模块。为提升通用部件的利用率,将通用状态处理和客户特定状态处理分开。针对不同的系统架构以及客户特殊需求,可以定制不同的故障处理策略,系统会根据既定的各种故障状态,执行相对应的动作,防止系统进行不必要的重置和关闭。同时新设计的系统状态机可以支持双冗余的ECU 系统及相关控制策略。
系统状态机作为双冗余电动助力转向系统的决策模块,在应对各种工况时起着至关重要的作用。本文在传统状态机的基础上,根据双冗余设计的思路,设计了改进型的系统状态机,并将助力控制模块进行独立设计,以应对客户的各种定制化需求,为配合系统状态机能够顺利运转,完成了系统的架构设计,为实现双ECU 功能同步,设计了内部通讯。随着自动驾驶技术的发展,满足深度智能驾驶功能安全要求的冗余电动助力转向系统将逐步普及,双冗余控制系统的设计方案也将随之改进,实现成本和性能平衡。