FPGA 在电动汽车电机控制器中的应用

2021-01-12 10:42:08梁文远
机电工程技术 2020年11期
关键词:总线驱动控制器

梁文远,易 晨

(广州汽车集团股份有限公司汽车工程研究院,广州 511434)

0 引言

为了保护环境,为了符合汽车尾气的排放要求,近年来国家大力扶持新能源汽车产业,在国家政策的刺激下,电动汽车得到了蓬勃发展,其安全性也越来越被重视。电驱动系统作为电动汽车的核心部件,集高电压、大电流、高转速于一体,如何降低故障概率和故障后如何保障人车安全是功能安全的核心课题。随着ISO26262[1](道路车辆功能安全标准)在国内的不断普及和GB/T34590[2](道路车辆功能安全)的实施,越来越多的国际主流车厂和零部件厂商强制要求电机控制器按照功能安全的标准来开发。

传统的单核MCU系统已不能满足功能安全的需求,MCU逐渐向双核和多核发展,例如宝马X1、本田雅阁混动、特斯拉model 3等均是多核MCU系统,该系统应用额外的核去做功能安全冗余校验计算,但软件响应速度慢的缺点依然存在,故障响应时间会偏长,需要用额外的ASIC(集成电路)或者分立器件来弥补。

相比MCU,FPGA 并行计算效率更高,计算速度更快,功耗和延时更低。相比被固化不能修改的ASIC,FPGA 可根据不同场景重新编程,灵活性高、开发周期短、小批量成本低,能更快地应对市场需求变化。已被广泛应用于无刷直流电机控制[3]、步进电机控制[4]和永磁同步电机控制[5-6]中,空间矢量控制[5]、电流闭环控制[6]、速度闭环控制[7]均可用FPGA实现。国外众多汽车厂家逐渐将FPGA移植到电机控制器中,作为安全冗余监控,分担MCU 部分算法,减少了MCU的负载率,增强了系统的安全性,表1 所示为4 家汽车企业在电(混)动汽车电机控制器中应用FPGA的情况。由表可见,对于FPGA 在电机控制器中的应用,欧美车企是走在前列的,东风启辰D60 虽然是国产电动车,但电机控制器却是欧洲厂家供货,国内的电机控制器厂家,包括主机厂和零部件供应商,均鲜见FPGA 的踪影,但FPGA 的优势是不言而喻的,本文将详细描述FPGA 在电机控制器中的应用情况,包括高压采样、三相电流采样、温度采样、发生PWM信号驱动IGBT以及SPI 通信等。它与MCU 协同工作[8],当出现过电流、过电压、过温度等异常情况导致电机失控时,FPGA会先于MCU检测到异常信号,控制电驱动系统进入安全状态,同时通过SPI总线通知MCU当前的故障状态,MCU再把车辆状态上报给VCU(整车控制器)。

表1 4 车企在电机控制器中应用FPGA的情况

1 安全冗余监控

安全冗余监控是功能安全常用的方法之一[9],以扭矩安全为例,需要做冗余监控的信号包括三相电流、母线电压、电机/IGBT温度、IGBT失效、传感器电压等。这些信号通过外置ADC采样后进入FPGA,如图1 所示。其中IGBT Driver属于SVPWM策略,下面将会详细描述,在此先介绍ADC 采样和IGBT错误信号处理部分。

图1 安全冗余监控信号

1.1 ADC数据处理

如图2 所示,ADC 数据进入FPGA 后,先做偏置计算,还原信号的真实值,然后与参考值做比较,判断有没有异常,超出范围则控制电机进入安全模式(主动短路或者关闭IGBT驱动,根据电机转速而定),没异常则执行正常操作。

图2 ADC数据处理流程图

1.2 IGBT错误信号处理

IBGT驱动电路本身带有较为完善的错误保护机制[10],FPGA收到IGBT返回的错误信号时,需要判断该信号是正常触发还是误触发,通常的做法是设置延时滤波时间,如图3所示。

图3 IGBT错误信号延时滤波

IGBT输入信号高电平时表示IGBT 异常,信号经同步化后,在上升沿时启动计数器,高电平期间做累加计数,当计数值达到T3时IGBT的错误信号如果还是高电平,则认为是真实的错误信号,执行错误锁存。延时滤波可以滤除脉宽比T3小的高脉冲信号(如图中的T1和T2),防止误触发。

图4 FPGA获取电流周期

1.3 电机转速监控

FPGA作为MCU 的从器件,主要功能是实现安全监控和快速关断,考虑到器件成本,一般选择中低密度逻辑门的器件,所以FPGA 需要避免复杂的浮点运算。因此设计时FPGA一般不采样旋转变压器信号,电机速度通过SPI总线从MCU获得。如果SPI 总线故障时,FPGA 可通过电流周期计算电机转速,如图4所示。

为了抑制电流纹波干扰,电流过零点采用小幅度滞回,滞回值是±Amp,假设极对数为P,测到的电流周期为T(单位是s),则转速N(单位是r/min)可根据下式计算:

为了增强电流周期采样的鲁棒性,FPGA 需同时采样U、V、W三相电流的周期,且满足以下关系式:

只要(2)(3)(4)之一成立,FPGA就会返回正确的电机速度。

2 产生IGBT驱动信号

IGBT驱动信号包括正常驱动模式和安全模式,正常驱动模式下,MCU与FPGA通过SPI总线协作完成,安全模式下,为了保证时效性,则由FPGA单独完成。

2.1 正常驱动模式

系统的FOC运算在MCU中实现,计算出占空比通过SPI总线发给FPGA,FPGA 根据占空比产生PWM 信号驱动IGBT,如图5所示,MCU完成FOC运算后,把占空比和4个组合开关信号的作用时间(7段式SVPWM)通过SPI总线发给FPGA,FPGA解析出7段HS和LS互补的PWM方波信号,临时存储起来。

图5 产生IGBT正常驱动信号

为了产生带死区时间DT 的HS 和LS,FPGA在每个HS 和LS的上升沿都延时DT再输出即可插入死区时间[11],VHDL 源码如图6 所示。调整整型变量DT 的值即可改变死区时间,本系统是在FPGA里开辟了一个寄存器,MCU通过SPI总线配置死区时间,如果SPI总线故障则保持最近一次配置值,断电恢复默认值。

图6 插入死区时间源码

2.2 安全模式

根据电机控制器系统功能安全需求,发生严重故障时应切断动力输出,同时进入安全状态[12]。切断动力输出有两种方式,分别是FreeWheel和ASC,改变IGBT的开关状态可在这两种模式之间切换,如表2所示。

表2 安全模式开关状态

本文的安全策略是故障瞬间如果电机的速度高于某一阈值则执行ASC,因为HS 端连接到高压电池正极,所以LS ASC优先执行,当LS 端IGBT 故障时才会执行HS ASC,当ASC执行了预定的最小时间且电机转速降到设定的速率后再切换到Free Wheel[13]。

3 SPI通信

FPGA通过SPI总线与MCU 进行全双工通信,总线速率10 Mbit/s,帧长度256 bit,互为主从器件,收发时钟线独立,图7所示为时序图。

图7 SPI时序

SPI传输的数据包括三相电流、母线电压、PWM 驱动、电机速度、温度等信息,总线校验用CRC算法,拥有完善的防错机制,如果出现通信丢失,FPGA 会控制电机系统进入安全模式。

4 结束语

本文简单描述了FPGA相对MCU的优势,列举了国内外汽车厂家在电动汽车电机控制器中应用FPGA 的概况,详细介绍了FPGA在电机控制中的应用。说明在电机控制器功能安全设计中,应用MCU +FPGA 的模式是十分有效的,MCU拥有丰富的外设资源和高效的浮点运算能力,FPGA 拥有大量的逻辑资源,在效率、功耗、性能、速度等方面弥补MCU的短处,在功能安全设计中发挥了重要的作用。虽然分立器件和ASIC 也能实现FPGA 的功能,但设计臃肿,体积大,PCB需要大量布线,灵活性低,功能变更时需要重新设计电路。FPGA则以高度的灵活性在汽车行业得到广泛的应用。

猜你喜欢
总线驱动控制器
基于模糊PI控制的驱动防滑仿真系统分析
屈宏斌:未来五年,双轮驱动,砥砺前行
轨旁ATC系统门控柜接收/驱动板改造
基于PCI Express总线的xHC与FPGA的直接通信
测控技术(2018年6期)2018-11-25 09:50:12
机载飞控1553B总线转以太网总线设计
测控技术(2018年8期)2018-11-25 07:42:08
基于S3C6410的Wi-Fi驱动移植实现
多通道ARINC429总线检查仪
模糊PID控制器设计及MATLAB仿真
MOXA RTU控制器ioPAC 5542系列
自动化博览(2014年9期)2014-02-28 22:33:17
倍福 CX8091嵌入式控制器
自动化博览(2014年4期)2014-02-28 22:31:15