ECU 应用层软件模型与硬件相关的生成代码配置4 (qq.com) ECU 应用层软件模型之数据字典DD5 (qq.com) ECU 应用层软件模型之数据字典存储类6 (qq.com) ECU 应用层软件模型之定点化7 (qq.com) ECU应用软件模型之5种定点化实现方式8 (qq.com) ECU 应用层软件模型之自定义存储类9 (qq.com)
如何进行代码生成配置
如何进行数据字典配置
重点是结合了ECU应用层软件的特点,包括代码生成配置的应用层软件调用,硬件相关配置,也包括数据字典内容涉及的定点化和自定义存储类,这些关键内容都开了个头,但是还有很多细节需要细究。不过后续将以Simulink建模为主,代码生成和数据字典为辅。
对于ECU应用软件模型,个人觉得首先最关键的点是你期待你的模型要生成怎样的代码,已经写过的文章就是围绕这个点,展开了一些工作,比如数据字典的定义与应用。
1) 输入:传感器信号,CAN报文接收信号和其他
ECU应用层软件模型首先需要对输入信号进行处理,比如:
对于传感器信号,涉及到滤波和转换等,比如常见的AD信号需要将AD值转换成实际的物理量。
对于CAN报文接收信号,如果是信号未被解析,则需要按照DBC将原始值转换为物理值;如果是信号已解析,通常也需要验证CAN信号的有效性。
另外也涉及到故障诊断和存储相关信号的输入,比如通常需要接收来自底层软件诊断服务相关信号进行故障诊断,也需要在ECU上电时刻读取内存中的一些信号。
2)控制:取决于控制对象
控制主要取决于控制对象,比如动力总成系统有电机,电池,充电机和加热器等,底盘总成系统有制动,转向和悬架等,智能座舱系统有门窗,各种灯和座椅灯等等。根据不同的控制对象,相应的控制策略或算法有针对性,以电机控制的应用层软件为例,包括:
电流控制策略,即根据目标扭矩需求,通过查表或算法计算出最优的电流相位(id和iq),以实现高效和精确的电流控制。
IGBT控制算法,即基于计算出的id和iq,控制IGBT开关,生成所需的电压波形,从而控制电机的电磁场,进而调节电机的转速和扭矩。
故障诊断与保护,即建立故障诊断策略,定义不同等级的故障响应,比如温度过高、通讯延迟等,实施相应的保护措施,如限制扭矩、停止输出或紧急下电。
其他功能,比如标定与自适应,根据电机特性Map,动态调整控制参数,以适应温度变化、老化效应等。
3)输出:执行器控制指令,CAN报文发送信号和其他
关于CAN报文发送信号和其他不再多说,与这方面相应的输入信号差不多。重点在于执行器控制指令。不管是哪类控制器,最终都需要执行器来执行,比如电磁阀或电机,这些执行器有各自的特性,因此通常需要在执行器层面考虑其特性而转换最终的输出,这种输出通常也要转换成底层软件匹配的物理量形式。
4)接口:应用层软件与底层软件的关系
source: Multiple Virtual ECU Car Control System Verification Solution
总之,在深入某个细节之时,仍需要抬头了解自己所处的位置,了解你自己为什么而做,欢迎持续关注,下篇文章再叙~
创作不易,欢迎点赞再看收藏关注!
汽车研发交流群,有兴趣的朋友请添加群主:prOmiseyes,备注:公司+职务入群。仅限汽车从业人员。