通过一个例子说明ISOLAR-A的用法,
- 介绍ISOLAR-A的主要特性
- 构建包括典型任务和对象的AUTOSAR兼容软件系统,例如编写应用软件组件和组成的系统,将系统映射到ECU的技术平台,实时操作系统以及ECU间通信网络。
上图解释了组装和配置这样一个内部ECU通信的例子,将一个软件系统映射到两个ECU上(WiperControl ECU和Debug ECU。两个ECU之间的通信通过CAN总线。
例子总使用的应用程序软件组件和和他们的主要特性如下:
- 属于Debug ECU的Debug Component每2ms向CAN总线提供含有转矩数据(Torque Data)的帧。
- 属于WiperControl ECU的Wiper_2ms component通过BSW的COM通信栈从CAN总线上接收Torque帧,Wiper_2ms每2ms读取Torque帧,并将其转换为电流数据,然后发送到Wiper_100us component。
- Wiper_100us每100us读取电流数据并转换为用于控制电机的Park Voltage。
- 电机时通过PWM控制,传感器测量电机的位置,并向ADC发送一个模拟量信号。ADC转换模拟量信号为数字信号,然后发送给Wiper_100us。(ADC/PWM/电机不在本文的谈论范围)
- 在两个ECU之间,调试信息通过CAN总线和AUTOSAR兼容的BSW协议栈,从Wiper_2ms component反馈给Debug Component。因此两个组件都需要配置通信。
1. 在ISOLAR-A中创建工程
在AR Explorer中右键,New->AUTOSAR Project,如下图
也可以CTRL+N,或者从File菜单中找到相同的操作。
- 在AUTOSAR Project向导的Project Name中输入WiperControl_4x
- 选择AUTOSAR 4.0 release version
- 选择Import ECU Configuration Parameters(也可以在工程建立以后通过右键工程ISOLAR-A > Import EcuParamDef)
1.1导入标准AUTOSAR接口和数据类型(Interfaces和Data Types)
AUTOSAR指定了一系列标准数据类型接口;ISOLAR-A让这些接口可以使用,因此你可以专注于简单的使用他们。
- 导入01_TypesAndInterface.arxml,可在上面提到的InterECU_4x例子工程中找到。导入可以从菜单的File->Import中完成,也可以复制/黏贴到新创建的WiperControl_4x的工程zhong 。
- 这将包含以下需要使用的各种元素:
- Application Primitive Data Types
- Implementation Data Types
- Data Constraints
- Data Type Mapping Sets
- Interfaces
- Current_SRI [Contains DEP_Current – Variable Data Prototype]
- Torque_SRI [Contains DEP_Torque – Variable Data Prototype]
- Debug_SRI [Contains DEP_Debug_SINT8,DEP_Debug_SINT16,DEP_Debug_SINT32– Variable Data Prototypes]
2. 在ISOLAR-A中创建AUTOSAR软件模板(Software Template)
2.1 创建一个AUTOSAR Software Component (SWC)
让我们创建一个名叫“WiperControl_100us”的软件组件,以及其它相关元素,步骤如下:
- 创建一个AUTOSAR XML格式文件(.arxml),命名为02_WiperControl_100us.arxml,勾选AR Package,并定义名称为WiperControl_100us。如下图所示
创建一个AUTOSAR文件
新AUTOSAR文件对话框
在这个文件里,将会存储一个或者几个AUTOSAR对象(例如,SWCs),通过指定AR Package名称,所有包含的元素都存储在命名空间中。
- 创建一个Sensor Actuator SWC类型
- 重命名这个SWC类型为WiperControl_100us,如下图: