当前位置:首页 期刊杂志

汽车整车控制器底层软件开发及程序集成的思考

时间:2024-09-03

汽车之家 刘文宇

前言

结合我国汽车工业发展现状,本文研究选择了分布式驱动电动汽车研发作为研究对象,整车生产成本较低、机械噪音较低、控制性能较优秀均属于分布式驱动电动汽车所具备的优势,而为了给予分布式驱动电动汽车研发一定支持,正是本文围绕汽车整车控制器底层软件开发及程序集成开展具体研究的原因所在。

1.汽车控制软件开发流程分析

汽车整车控制器软件开发需应用汽车电控系统软件V型开发模式、RTW代码生成技术,整车控制软件开发流程可以描述为:“整车控制软件控制功能需求制定→建立Simulink仿真模型→验证Simulink仿真模型→RTW代码生成及验证→程序集成→整车控制器底层软件开发→整车控制软件调试→整车控制器调试(基于单轮轮毂电机试验台架)→整车控制器实车测试→整车控制器开发完成”,结合这一系列流程可直观发现汽车整车控制器底层软件开发所具备的重要意义[1]。

2.汽车整车控制器底层软件开发

对于汽车整车控制器软件开发来说,底层软件开发是为了防止硬件部分改变导致的所有程序变动出现,汽车整车控制器底层软件的开发因此可较好服务于开发周期的缩短,通过改变底层驱动实现的硬件部分改变应对属于其价值的最直观体现。

2.1 初始化子程序开发

作为硬件与应用软件的隔离层,底层驱动直接关系特定硬件系统的独立开发与模块封装,而由于本文研究整车控制器采用了英飞凌公司生产的32位MCU TC1767,这就使得英飞凌公司所制作的软件DAvE必须应用于汽车整车控制器底层软件开发,MCU的快速使用将由此获得有力支持,这种支持在CPU时钟频率、存储器、外设、工作事件的配置中均可发挥不俗效用,而DAvE软件具备的自动生成可执行代码功能也将大幅提升汽车整车控制器底层软件开发效率,具体的初始化子程序开发应围绕以下几方面展开[2]。

2.1.1 系统时钟模块设置

采用外部时钟,始终频率设置为33.33MHz,存储器为56位、精度为0.03us,计时范围可达68.55年。结合汽车整车控制器需要,设计使用的TC1767带有7个额外系统始终寄存器,使用TIM0-TIM6进行表示,TIM0-TIM6在计时范围、精度方面均存在各自特点,而TC1767携带的2个定时器则需要在系统时钟模块设置在发挥效用,因此设计采用了TIM4系统时钟计时、CMP0则负责系统定时50ms进入一次系统中断,这里的TIM4计时范围、精度分别为97.73天与2ms。

2.1.2 CAN模块设置

结合TC1767特点与研究对象实际,可发现方向盘传感器、电机控制器为定制产品,这就使得CAN模块设置环节无法进行CAN波特率的改变,因此将第一路、第二路CAN波特率分别设置为250kbps、500kbps,而为了实现四轮独立驱动控制,采用了11位标准帧进行设计,其中左前轮接收ID、发送ID分别为0x075与0x074,右前轮接收ID、发送ID分别为0x065与0x064,左后轮接收ID、发送ID分别为0x085与0x084,右后轮接收ID、发送ID分别为0x095与0x094,CAN系统会在收到电机控制器发送信息后产生中断。

2.1.3 其他模块设置

A/D模块设置、串口模块及I/O模块设置同样属于初始化子程序开发关键环节,前者需关注CHANNEL0通道进行的数模转换,后者则需要设置三个I/O口接收档位信息,Tasking软件需要在其中负责汇编器、编译器、链接器的集成。

2.2 信号采集处理子程序开发

该环节主要包括A/D信号的采集子程序开发、档位信号的釆集处理子程序开发,前者采集程序设计为:“开始→设置时间采集点→明确STM_CMP0初始值→A/D采集中断函数→A/D信息转换→存储数据结构→设置下个时间采集点”,后者则需要进行停止档、前进档、后退档的变量信息存储,如P1_IN_P7代表停止档[3]。

2.3 通讯接口子程序开发

方向盘转角传感器CAN通讯子程序属于通讯接口子程序开发的主要内容,考虑到定制方向盘传感器采用16位数据精度,因此采用计算方向盘转角并判断正负的开发计划,具体开发实现需得到TURN的支持。此外,电机控制器、PC集、整车控制器的CAN通讯子程序开发同样需要得到关注,这一开发使用的CAN通讯发送协议的字节1、字节2、字节3、字节4分别为0x02、控制参数、占空比、0x03,而采用时间触发信息发送方式、设定系统定时器(DAvE中),即可实现高质量电机运行控制,接收CAN信息子程序流程可描述为:“开始→CAN信息→CAN信息为8字节→CAN信息分析计算→无故障→数据存储→结束”。

3.汽车整车控制器底层软件程序集成

3.1 变量数据交换

通过RTW工具生成代码进行整车控制策略模型输入量与输出量的变量名定义,如其中的左前轮转速变量名为control_U.relf、右后轮转速变量名为control_U.reff、踏板变量名为control_U.pedal,左前轮电机占空比变量名为control_Y.zkblf,由此即可满足控制策略程序、底层软件程序之间的数据交换需要。

3.2 主程序整合

整合目标应确定为RTW工具生成的包含ert_main.c函数与DAvE生成的底层驱动初始化程序包含的MAIN.C函数,具体整合流程可描述为:“主函数开始→“文件包含”声明→主函数→硬件设备初始化→软件参数初始化→程序开始→接收处理数据→输入变量→控制计算→输出变量→发送给电机控制器”,由此通过tasking软件即可开展编译工作,由此生成机器码并将其下载至整车控制器,即可较高质量完成整车控制器软件开发工作。值得注意的是,上述主程序整合流程的确定与包含ert_main.c函数形式较为简单具备较为紧密联系,底层软件的数据赋值也在其中发挥着关键性作用,这些均需要得到业内人士高度关注。

4.结论

综上所述,汽车整车控制器底层软件开发及程序集成具备较高现实意义,在此基础上,本文涉及的系统时钟模块设置、CAN模块设置、通讯接口子程序开发、主程序整合等内容,则提供了可行性较高的相关路径支持,而为了进一步推动我国汽车工业发展,制动能量回收、高速行驶状态下的转动控制等研究理应得到业界重视。

[1]沈璟虹.双轮毂电机整车控制器的设计与实现[J].石家庄学院学报,2017(6):35-39.

[2]田韶鹏,阙同亮.基于模型设计的电动车整车控制器开发研究[J].自动化与仪表,2017(9):60-64.

[3]李青.基于硬件在环的电动汽车整车控制器功能测试方法初探[J].通讯世界,2017(21):335-336.

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!