序言
纯电动汽车和稠浊动力汽车是新能源汽车家当发展的主要方向,同时,泛亚“电动化、智能化、网联化、数字化”计策的提出,使得未来车载汽车电子电气架构系统的开拓越来越繁芜。汽车开放系统架构 AUTOSAR 代表的层次化、模块化、平台化技能则是汽车电子软件开拓的主要趋势。在电动汽车的三大电控系统中(电机掌握、电池管理、整车掌握),电机掌握作为核心之一,其软件架构的研究设计对付汽车电控系统的开拓有主要意义。本报告以电动汽车用驱动电机作为研究工具,以 AUTOSAR 开拓架构为根本,对电机驱动掌握系统软件架构设计与开拓进行探究,并在此根本上对电机过调制掌握算法以及旋变软解码技能进行详细研究。
电动汽车的电机掌握软件基于 AUTOSAR开拓的意义

在电动汽车的三大电控单元中,电机驱动掌握作为个中的核心,其性能高低对汽车动力性和操纵性有直接的影响。和传统电机调速系统和伺服电机系统比较较,车用驱动电机系统的开拓除了高功率密度、宽调速范围等性能需求外,对付安全性和可靠性也有着更高的哀求。提高车用电机掌握软件的可复用性,增强系统软件的可配置性,改进系统软件的可靠性与稳定性对付车用电机掌握系统开拓有着重要意义。
旋变解码研究
对付电机矢量掌握而言,每每须要获取电机的转子位置角度,角度的丈量常用的方法有磁性编码器、光电码盘、电涡流传感器和旋转变压器等。个中,磁编码器是基于磁阻效应或霍尔效应的轴角传感器,输出旗子暗记是基于转子位置的正余弦函数,其构造大略鲁棒性强,不受湿润环境影响,但受高温和气隙限定;光电码盘体积小,分辨率高,抗电磁滋扰能力强,但转速受限,最高可测转速在 3000rpm 旁边;电涡流传感器灵敏度高,相应速率快,受环境影响较小,但其精度有限;旋转变压器可靠性高,不同环境适应能力强,不受温度和振动等成分影响,因此广泛运用于电梯、雷达、机载仪器等伺服系统和工业自动化领域。旋转变压器输出一组包含转子位置信息的正余弦旗子暗记,须要对此旗子暗记进行适当的处理,才能得到相应的转子位置。对付旋转变压器输出仿照旗子暗记的处理可以由专用的集成电路将其转换为数字旗子暗记,即 RDC电路,又称为旋变解码芯片,目前常见的有美国 AD公司的 AD2S(AD2S1210)系列芯片以及日本多摩川公司的 AU6802系列芯片,它们可以产生勉励旗子暗记发送给旋变的勉励绕组,然后将返回绕组的仿照旗子暗记处理得到转子位置旗子暗记,以编码器或 SPI 等形式输出。除此之外,还有一种方法是利用 DSP和外围调理电路产生勉励旗子暗记并对旋变输出的旗子暗记进行调制、滤波等处理以及角度辨识算法得到转子位置旗子暗记。采取 DSP 对角度旗子暗记处理省去了专用的解码芯片,极大地降落了开拓本钱。常见的角度辨识算法有反三角函数法、标定查表法、基于锁相环的角度跟踪不雅观测器法。个中,反三角函数法实现大略,但引入了一个除法,一个反正切运算,占用资源较多,而且不能利用全体输出旗子暗记的波形;标定查表法须要利用传感器对旋变旗子暗记标定,将旋变输出旗子暗记对应的角度值存储起来,以供查表利用;基于锁相环的角度跟踪不雅观测器法包含二阶角度不雅观测器和三阶角度不雅观测器,二阶角度不雅观测器法具有一定的滤波浸染,提高抗滋扰能力,能够同时估算出电机的转子位置和转速值。当转速变革(升降速)时,二阶不雅观测器解算出的转子位置角会有稳态偏差,采取三阶角度不雅观测用具有更好的瞬态检测性能,常用于电机启动加速时的转子位置不雅观测。
基于 AUTOSAR 的电机驱动掌握系统开拓
本节紧张研究AUTOSAR 标准对电机掌握系统软件进行软件分层,包括运用层、根本软件层和实时运行环境。个中,运用层通过MATLAB/Simulink 搭建电机掌握模型并天生软件代码,根本软件层通过调用英飞凌底层驱动软件包编程实现外设功能模块驱动,实时运行环境通过自定义接口函数实现不同软件层之间的数据互换和做事调用。
电机掌握软件架构
传统的电机掌握,尤其在自动化领域,软件开拓分层不明显,软件和硬件之间的嵌套关系耦合严重,这就使得软件在开拓过程中一旦碰着问题和毛病,难以确定问题产生的缘故原由在于硬件驱动程序还是软件算法设计,影响软件开拓效率,提高开拓本钱,同样也会使软件存在潜在的风险。AUTOSAR 因此软件分层和模块划分的办法实现软硬件分离的汽车开放式架构标准,将系统软件架构划分为运用软件层(APP)、根本软件层(BSW)和实时运行环境层(RTE)。如下图所示:
在电机掌握系统中,与电机掌握功能干系的电机掌握算法、电机状态检测、安全监控等功能可作为运用程序与 AUTOSAR 架构中的运用软件层相对应,运用软件层中又将不同的功能模块以软件组件 SWC的形式进行封装,便于设计者的进一步开拓。根本软件层对应于与电机掌握干系的如掌握器外设驱动、通信做事和中断做事等,将掌握器硬件功能以模块化进行封装,有利于其在不用硬件平台间的移植。运用软件层与根本软件层之间的数据互换和做事调用则是通过实时运行环境层实现,RTE 相称于虚拟功能总线,使得开拓者在设计运用软件时可以不必考虑底层硬件和通信网络,专注于功能软件的设计。下图为本文对电动汽车驱动电机 ECU 软件架构的分层设计。下文将在此架构的根本之上对每层软件进行详细设计。
运用层软件设计(ASW)
运用层软件是电机掌握算法及其安全监控等功能的详细实现,须要先确定系统的输入和输
出数据,系统所包含的软件组件 SWC 及其系统约束等。本系统的 ECU 即为电机掌握器,并且根据相应功能可将其软件组件划分为:电机掌握算法 SWC、数据解算 SWC、安全监控功能 SWC等软件组件,如图 2.3 所示,同时须要确定各软件组件的数据输入和输出以及软件组件之间的数据互换和做事调用。在运用软件层 APP 中,软件组件划分的目的是通过功能模块划分减少耦合,有利于系统软件的更新与升级。
完成各个软件组件设计后,须要设计个中的运行实体RE(Runnable Entity),运行实体是软件组件的最小代码片段,是软件组件功能的详细实现。个中,数据解算软件组件 SWC中,输入数据包括从根本软件层得到的电流采样、转子位置传感器旗子暗记等,须要通过电流打算、转速和转子位置解算的运行实体 RE 得到相应的电机相电流、转速和转子位置等旗子暗记。
电机掌握算法SWC包含电机掌握策略,本文采取的电机掌握算法为磁场矢量定向掌握FOC(Field Oriented Control,FOC),掌握框图如图 2.4 所示,将此框图进行功能划分不同层次,分别与运用层 APP、根本软件层 BSW 和实时运行环境层 RTE 的分层架构相对应。可以看出,分层架构的划分实现了电机掌握软硬件的分离,使得软件开拓者可以专注于系统软件设计而无需考虑硬件干系问题。安全监控 SWC 则是针对电机过流保护、过温保护、转子位置监测等运行实体的设计。后续若须要进行功能的添加和升级只须要对相应的软件组件和运行实体进行添加和修正即可,从而可以避免由于软件之间交叉耦合带来的繁芜性问题。
运用软件层的设计是利用 Matlab/Simulink 环境建模,按照所设计的软件组件及其运行实体搭建模型,利用 Simulink/Configuration Parameters-Code Generation 进行相应配置天生软件代码,然后可在 Tasking 编译器中将相应的代码文件添加到系统工程中。
根本软件层设计(BSW)
根本软件层向运用层软件供应根本举动步伐做事,包括外设驱动做事、内存管理做事、通信做事等,是连接运用层与微掌握器之间的桥梁。本系统为驱动电机掌握系统,其根本软件层构造框图如图 2.5 所示,包含外设驱动、做事和通信等。个中,外设驱动是将微掌握器的各个功能外设进行封装,供开拓者调用,如与电机掌握干系的 PWM 驱动、ADC 驱动、CAN 驱动、IO驱动等;做事包括存储做事以及与系统做事干系的看门狗、定时器等;其余还包含与数据通信干系的通信协议的设计等。
本文以英飞凌 AURIX 系列三核单片机 TC297 为硬件开拓平台,基于英飞凌底层驱动软件对系统根本软件层进行干系开拓与设计。个中,AURIX 系列芯片是英飞凌推出的知足汽车行业标准(如 AUTOSAR 标准、ISO26262)的高性能 32 位微掌握器,集成三个 CPU 内核,主频 300MHz,可运用于汽车发动机掌握、电动/稠浊动力汽车、底盘、制动系统、电动助力转向系统和前辈赞助驾驶系统等各种场合。本文选用的 TC297 单片机具有丰富的外设资源和强大的数据处理能力,完备可以知足车用电机掌握需求。
系统与电机掌握干系的掌握器外设模块包括 CCU6、GTM、ADC、GPIO、ASCLIN等,紧张用于实现 PWM 驱动、AD 采样、IO 旗子暗记输入输出、通信等功能。个中,CCU6是一个具有特定运用模式的16位高分辨率捕获和比较单元,紧张用于AC驱动掌握。分外操作模式支持利用霍尔传感器或反电动势检测的无刷DC电机。
此外,支持多相电机的块整流和掌握机制。它也支持同步启动几个定时器,这是包含多个CCU6模块的设备的一个主要特性。
永磁同步电机的掌握须要六路 PWM波来驱动三相逆变器,则可以利用定时器 CCU6 的多路定时器T12输出模块天生三相六路中央对称的 PWM 波。其余,为知足三相电流的同步采样,还需一个定时器作为同步触发旗子暗记 Trigger 来触发 AD 采样,这样CCU6 模块一共须要T12、T13两个定时器。
VADC 模数转换模块包含 8 个独立的转换单元,每个转换单元含有 8 个输入采样通道,AD采样转换韶光小于 1μs。在电机掌握中,三相电流需进行同步采样,而 VADC 模块的同步转换功能可支持多达四个采样通道的同步转换。因此,可利用 VADC 的转换单元进行同步采样转换,以实现电机相电流的同步采样。同时,AD 采样频率也要与 PWM 频率同等,采取硬件触发 AD采样可以降落软件开销,减轻 CPU 负载率,则可利用上文 T13设计中预留的 Trigger作为触发旗子暗记触发 AD 采样。
底层驱动软件为 TC297 各个外设功能模块的寄存器配置以构造体和功能函数的形式进行封装,从一个定时器到三相驱动 PWM 波的产生,都可以通过手动编写寄存器实现,把干系 PWM输出的寄存器配置以构造体和功能函数的形式进行封装,供开拓者调用,通过调用 CCU6 模块PWM 配置的构造体和函数,并将干系参数赋值,如频率、去世区韶光、互补通道对数等,即可完成对电机掌握所需的 PWM 波配置。在进行 AD 电流采样配置时,利用 VADC 模块初始化函数可实现对 AD 采样的转换单元和采样通道的初始化配置,包括与电流采样干系的同步转换通道的设置以及 AD 采样结果中断的设置。
我们将旋转变压器的解码事情封装成一个CDD模块,紧张处理旋变解码芯片的反馈数据结算事情。
基运行时环境设计(RTE)
在完成了运用层软件和根本软件层的设计之后,需在实时运行环境层定义干系接口函数,实现运用层软件组件之间以及运用层与根本软件层之间数据的传输与调用。首先须要明确运用层软件的输入输出数据以及定义相应的数据类型,各个软件组件的输入输出干系数据均列出,在 Matlab/Simulink 搭建模型后,天生的程序代码则将输入输出数据以构造体形式封装;根本软件层中的输入输出数据则是在底层软件中干系构造体进行定义。完成各软件层数据定义后,在中断做事程序中将相应输入输出数据进行赋值即可实现运用层与根本软件层之间的数据传输。
个中,运用层软件通过在 Matlab/Simulink 中搭建各个运行实体模型并完成干系仿真测试,进行代码天生,根本软件层利用底层驱动软件驱动进行设计实现对各个外设驱动初始化,并且包含对通信协议和中断做事等进行相应配置;数据通信和做事调用通过在实时运行环境层定义干系接口函数实现。通过上述方法完成基于 AUTOSAR 电机掌握软件的详细设计实现。末了,将各层软件导入 Tasking 开拓环境中,并在编译器中对所有程序进行集成编译、链接天生可实行文件,将天生的可实行文件添加到调试软件 劳特巴赫/UDE 中对软件进行调试、剖析,根据剖析结果可对软件进一步优化。