整体思路

CAN通讯——使用CanApe实现XCP标定TBD备注:

  • elf可简单的看作为hex和map的集合,其中包括可执行的程序、变量及其对应的地址(simulink生成代码是也可以勾选生成ASAP2的a2l文件,有变量但变量对应的地址为空,只有编译后才分配地址)
  • 定义变量是观测值还是标定值需要在simulink中的数据字典定义变量存储类型,详见simulink系列。

0. simulink添加观测量和标定量TBD

simulink进行代码生成的核心就是数据字典的管理。至于solver configeration详见simulink系列。

  • 观测量(Signal Conversion,原子子系统)
  • 标定量(volatile)
  • 存储类型
  • 自动化句柄

1. 前期准备A2L的制作

安装完成CanApe软件 , 插上CanApe硬件( 如:vector 1640A)。打开A2L编辑软件 ASAP2 Editor(注意不是ASAP2 Viewer),新建工程如下:
CAN通讯——使用CanApe实现XCP标定TBD
CAN通讯——使用CanApe实现XCP标定TBD选择下图map files处导入编译器生成的elf或者hex文件
CAN通讯——使用CanApe实现XCP标定TBD并选择正确的map文件格式
CAN通讯——使用CanApe实现XCP标定TBD

map文件加载后,会出现软件开发过程中设置的的可标定量,具体见下图左侧栏
CAN通讯——使用CanApe实现XCP标定TBD
选择你需要的标定量,属性为 w /r 的变量。 可以选择为 calibration parameter,属性为 only read的变量,只可以选择为measure parameter 。
CAN通讯——使用CanApe实现XCP标定TBD导出并保持 xxxx. A2L 文件(可看作为针对CAN工具使用的map文件,里面放的也是变量和地址)

2. 配置CanApe的XCP标定工程

打开canape软件,并新建工程:

CAN通讯——使用CanApe实现XCP标定TBD将新建的工程保存在一个文件夹内:
CAN通讯——使用CanApe实现XCP标定TBD选择是否创建该工程在桌面上的快捷方式:
CAN通讯——使用CanApe实现XCP标定TBD配置device:

CAN通讯——使用CanApe实现XCP标定TBD然后:
CAN通讯——使用CanApe实现XCP标定TBD导入A2L文件:
CAN通讯——使用CanApe实现XCP标定TBD

配置CAN的通讯参数:
CAN通讯——使用CanApe实现XCP标定TBDCAN通讯——使用CanApe实现XCP标定TBD
CAN通讯——使用CanApe实现XCP标定TBD因为该工程是根据A2L生成的,所以下图这里就不用重复添加map文件了。
CAN通讯——使用CanApe实现XCP标定TBDCAN通讯——使用CanApe实现XCP标定TBD
CAN通讯——使用CanApe实现XCP标定TBD在下图中设置XCP通讯的ID,一般有底层开发人员提供。
CAN通讯——使用CanApe实现XCP标定TBD然后点击TEST Connection,测试是否可连接成功
CAN通讯——使用CanApe实现XCP标定TBDCAN通讯——使用CanApe实现XCP标定TBD

3. CANape标定

开始在新建的CANape标定工程内,进行标定
CAN通讯——使用CanApe实现XCP标定TBD选择想要观测或者标定的变量:

CAN通讯——使用CanApe实现XCP标定TBDCAN通讯——使用CanApe实现XCP标定TBD可在graphic中观测
CAN通讯——使用CanApe实现XCP标定TBD点击运行后可在此处进行标定
CAN通讯——使用CanApe实现XCP标定TBD
CAN通讯——使用CanApe实现XCP标定TBD

相关文章: