通過一個例子說明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,如下圖: