1 引言
电机控制系统是电动汽车的重要组成部分。电机控制系统的可靠性对电动汽车的安全尤为重要。ISO26262定义的汽车安全完整性等级,把整车的安全目标由低到高划分为ASIL A、ASIL B、ASIL C和ASIL D四个等级。根据整车安全目标分解的功能安全需求并对应到相关零部件,可知电机控制系统相关的功能安全需求至少要满足ASIL C的安全等级,才能符合整车的功能安全目标。然而传统电机控制器是由单个电机控制芯片做处理器,往往很难达到ASIL C。故本文给出了一种纯电动汽车电机控制系统安全监控的设计方案,通过增加一个安全监控芯片CIC61508 来对电机控制芯片进行监控,提升了系统的安全等级,使其达到ASIL C的标准,从而满足汽车安全方面日益增长的要求。
2 安全监控功能系统架构
本文所述的纯电动汽车电机控制系统安全监控功能分为两级——硬件级和软件级。
硬件级的安全监控功能系统架构包括控制电机运行的电机控制芯片、安全监控芯片、监测电机控制芯片供电电压的电源监控模块、监测直流电压的电压监控模块、监测电机相电流的电流监控模块、监测逆变器温度的温度监控模块以及硬件看门狗模块等。
图1 电机控制系统硬件级安全监控结构图
软件级的安全监控功能包括在电机控制芯片中实现的电压监控、电流监控、温度监控、速度监控、扭矩监控、功率监控、模式监控、通讯监控以及在安全监控芯片中实现的安全监控调用程序。
3 软硬件设计
3.1 硬件系统设计
3.1.1 电机控制芯片的选型
电机控制芯片选择的是Infineon公司的32位TriCore系列的TC1782高性能微处理器。TC1782在功耗、运算能力、存储空间、数字量模拟量输入输出以及CAN通讯等方面均有良好的表现,并具有较高的性价比,非常适用于电动汽车电机控制系统。
图2 电机控制系统软件级安全监控结构图
3.1.2 安全监控芯片的选型
安全监控芯片采用Infineon CIC61508芯片。CIC61508安全监测芯片封装尺寸很小,使用起来节省空间,是安全应用领域的高性价比之选。安全监测电路通过检测电机控制芯片的时钟、电源和与温度相关的计算误差等常见故障模式来监测电机控制芯片的工作状况。
3.1.3 硬件电路设计
电机控制芯片TC1782分别通过两组SPI与安全监控芯片CIC61508以及旋变解码芯片AU6803进行通讯;通过GPIO接收或发送数字量;通过PWM通道发送六路PWM信号给门驱动芯片;通过ADC模块采样电流、电压、温度等信息;通过CAN模块与总线通讯。该硬件电路还包括电源模块与看门狗模块等。硬件电路原理图如图3所示。
图3 硬件电路原理图
3.2 软件设计
3.2.1 设计原理
本文提出的安全监控功能,通过硬件级与软件级的两级监控来确保电机控制系统正常工作,包括对电机负载的监控以及对电机控制芯片的监控。
对电机负载监控功能的原理是通过采样的电流、电压、温度、位置等信号以及来自于硬件监控电路的故障信息来判断电机负载是否工作在正常状态,一旦检测出异常,电机控制系统即进入到故障处理程序。
对于电机控制芯片的安全监控功能是以电机控制芯片的自检和CIC61508安全监控芯片共同完成的。电机控制芯片会在开机上电后自检,测试各个模块的配置是否正常,若异常则进入到故障处理程序;在程序正常运行过程中电机控制芯片会周期性对各个模块的配置、内存及控制任务进行测试,同时,电机控制芯片会把特定的测试任务发给CIC61508安全监控芯片测试,并将测试结果反馈给电机控制芯片。电机控制芯片将自身运行的结果与反馈结果进行比较,以此来判断电机控制芯片的工作是否正常。
3.2.2 具体实现
电机控制芯片通过ADC模块采样传感器供电电压,芯片供电电压,母线电流,母线电压,A、C相的相电流,电机温度,逆变器温度等信号;通过GPI接口接收来自硬件监控电路的故障信息,主要有电机控制芯片供电电压故障、直流电压过压故障、电机相电流过流故障、逆变器过温故障、逆变器饱和故障、位置传感器故障等;通过SPI接收电机位置信息与安全监控芯片的信息。电机控制芯片通过SPI发送测试任务给安全监控芯片,安全监控芯片将测试结果反馈给电机控制芯片用于比对,若测试结果一致,则证明电机控制芯片工作正常,否则进入故障处理程序。
4 工作过程
电机控制系统安全监控算法主流程图如图4所示,当控制器开机后:
第一步,对电机控制芯片各个模块进行初始化配置,使各个模块配置在正常工作时的状态,初始化结束后判断各模块初始化的状态,若有初始化失败的模块,报出模块故障代码,进入故障模式。
图4 安全监控算法流程图
图5 自检算法流程图
第二步,对电机控制芯片各个模块进行自检。如图5所示,自检程序会对内存、IO模块、AD采样模块、通信模块、PWM模块、看门狗等模块进行测试,具体测试如下:
内存测试:主要对程序使用到的RAM、ROM、Flash进行测试,校验RAM是否工作正常,ROM中软件是否被改动,读取是否正常;
IO模块测试:测试IO模块工作是否正常,IO控制单元配置是否正确;
AD采样模块测试:测试AD采样模块工作是否正常,采样频率,通道选择是否正确,控制单元设置是否正确;
通信模块测试:测试CAN通信、SPI通信模块是否工作正常,波特率设置是否正确,模块配置是否正确,和安全监控芯片通信是否正常,安全监控芯片工作是否正常;
PWM模块测试:测试PWM模块工作是否正常,时钟设置是否正确,输出通道配置是否正确;
看门狗测试:测试看门狗定时,时间配置是否正确,能否正常工作。
如果这些测试通过,说明各模块工作正常,系统配置正确,满足系统运行条件,系统可以继续运行;若测试不通过,则需要记录不通过的模块错误代码,系统进入故障模式,并把这个错误代码通过CAN发送出去。
当这些测试都通过后,系统进入正常周期运行模式;若自检不通过,系统报出自检故障代码,进入故障模式。
第三步,系统周期控制任务。对电机控制的所有工作都在这部分完成,这部分也是传统的电机控制部分。供电电源监控、电压监控、电流监控、温度监控、速度监控和外部看门狗等监控都在这部分完成,如果系统有故障,则报出故障代码,进入故障模式;若系统正常进入下一步。
图6 周期测试算法流程图
第四步,系统周期测试任务,如图6所示。周期测试任务是同时在电机控制芯片与安全监控芯片中进行的。周期测试任务开始后,首先对电机控制芯片各个模块的配置文件进行检测,测试各个模块的配置是否被非法改动,是否与正常配置一致;然后向安全监控芯片发送特定的测试任务,安全监控芯片收到任务后,按照预定的算法计算出测试结果反馈给电机控制芯片,这些测试任务可以根据实际的需要增加或者减少。电机控制芯片根据接收到的安全监控芯片的测试结果判断程序运行是否正常,是否有非预期的运行结果,如果测试结果通过,则系统进入周期运行模式,循环的运行系统周期控制任务和周期测试任务;若测试不通过,则报出故障代码,同时系统进入故障模式。
5 结论
电机驱动系统安全监控功能不但能够实时监控电机负载的运行情况,而且还能对电机控制芯片的运行状态进行监控,及时发现故障并处理,故障诊断全面,覆盖率高,大大提高了电机驱动系统运行的安全性与可靠性。