从手写代码到AUTOSAR工具链-RTE入门篇
1引言
2控制实例
序号 | 部件名称 | 功用 【资料图】 |
1 | 高度传感器 | 实时采集座椅当前高度 |
2 | 进气阀和排气阀 |
3基本概念
3.1车载嵌入式软件概念
3.2 AUTOSAR规范概念
3.3信号
4手写代码实现方法
4.1参数接口
信号类型 | 信号名称 | 精度 | 数据范围 | 数据说明 |
objectLevel | 0.1mm | uint16 | 0-200(mm) | |
0.1mm | uint16 | 0-200(mm) | ||
level_quality | - | uint8 | 0-255 | |
0.1mm | sint16 | 0-100(mm) | 正向精度值 | |
0.1mm | 负向精度值 | |||
enable | 0/1 | boolean | 0-1 | |
输出信号 | Control_status | uint8 | ||
is_Control_Over | 0/1 | boolean | 0-1 |
4.2函数接口
4.3代码实现
5 AUTOSAR工具链实现方法
5.1工程导入
5.2软件组件创建
序号 | 软件组件名称 | 软件组件功用 |
1 | Controller_SWC | 控制软件组件,用于运行座椅高度控制的算法 |
算法输入软件组件,用于提供座椅高度控制的输入参数 | ||
算法执行软件组件,用于执行进气阀和排气阀的开闭动作 |
5.2.1文件夹创建
5.2.2为控制软件组件创建arxml描述文件
5.2.3创建控制软件组件
5.2.4文件移动
5.3接口创建
接口名称 | 数据元素名称 |
hld_Mw_objectLevel | |
4 | |
5.3.1接口创建
5.3.2添加接口的数据元素
5.4软件组件行为设计
5.4.1创建软件组件内部行为
5.4.2添加软件组件端口
端口 | 映射接口 | 说明 | |||
类型 | 名称 | 类型 | 映射接口名 | ||
1 | RPort | C_RP_Mw_objectLevel | S/R | hld_Mw_objectLevel | 座椅目标高度 |
2 | RPort | C_RP_Mw_currentLevel | S/R | hld_Mw_currentLevel | 座椅当前高度 |
3 | RPort | C_RP_Mb_level_quality | S/R | hld_Mb_level_quality | 质量信号 |
4 | RPort | C_RP_Msw_precision_upper | S/R | hld_Msw_precision_upper | 正向精度值 |
5 | RPort | C_RP_Msw_precision_lower | S/R | hld_Msw_precision_lower | 负向精度值 |
6 | RPort | C_RP_Mbl_enable | S/R | hld_Mbl_enable | 算法控制使能标志 |
7 | PPort | C_PP_Mb_Control_status | S/R | hld_Mb_Control_status | 进气阀和排气阀状态 |
8 | PPort | C_PP_Mbl_is_Control_Over | S/R | hld_Mbl_is_Control_Over | 控制算法调节完毕标志 |
5.4.3添加运行实体
运行实体名 | 函数名 | 功用 | |
1 | Controller_initialize | Controller_initialize | 控制模块初始化 |
2 | Controller_step | Controller_step | 控制模块执行步骤 |
运行实体名 | 函数名 | 功用 |
1 | AlgorithmInput | AlgorithmInput |
运行实体名 | 函数名 | 功用 |
1 | AlgorithmOutput | AlgorithmOutput |
5.4.4添加运行实体与所属软件组件的端口访问
5.4.5添加运行实体的RTE事件
5.5软件组件添加
5.5.1将软件组件加入部件
5.5.2将软件组件映射到座椅控制器
5.6信号连接
5.7运行实体调度
5.8代码生成
5.8.1软件组件抽取
5.8.2 RTE代码生成
5.8.3 SWC代码生成
5.9代码添加
5.10事项说明
下面针对一些未明确事项进行说明。
5.10.1系统信号连接
座椅ECAS控制器软件没有涉及到系统信号,但对于大部分车载ECU来说,与车载CAN网络的交互(从CAN网络接收数据和向CAN网络发送数据)是必不可少的,此时可参照图5-26的方法进行系统信号连接。
5.10.2控制软件组件初始化函数调用
6结论
—END—