标定,作为整车及ecu开发过程中不可或缺的一个开发流程,对整车及ecu性能的优化起着至关重要的作用,可是行业内可供选择的标定工具种类却非常有限,tsmaster将为广大的研发工程师和标定工程师提供一个全新选择。
接下来小星将通过几篇应用笔记,告诉大家如何使用tsmaster进行标定。
a
标定输入文件准备
tsmaster xcp标定模块依赖如下两类文件和运行xcp协议栈的ecu。
1 a2l文件
a2l文件是采用asap2指定的一套类xml语言的描述性语言(采用开标签和关标签来描述信息)书写的文件,它里边包含了某个特定的ecu中的软件和系统信息,还包含了上位机和ecu通讯方式的约定,它用来指导上位机和ecu的通讯交互过程,让他们对交互的信息有一致的认识,从而是上位机工具准确且友好的将ecu中的信息展现给用户。目前同星xcp模块只支持载入最高版本为1.6x的a2l文件,新版的(版本号大等于1.7)a2l文件仅仅支持部分载入,若只有新版a2l文件,请先通过相关工具另存为1.6x版本再使用tsmaster载入。
2 seed和key算法文件
出于安全的考虑,ecu中的某些数据或者请求会被限制访问。控制器不正确的例程执行(如:钥匙学习、胎压标定等等)或数据下载(控制器程序刷新等)会损坏当前控制器或其它的车辆部件,可能会导致车辆无法正常行驶、车检不达标、车辆安全性降低等。这种访问限制的主要措施在于算法(类似于钥匙)的实现,即种子(seed)和密钥(key)。上位机(手机、电脑等)向控制器请求seed种子,控制器随机产生一个随机数作为seed(例如:1122334455667788-长度不定,内容不定)。控制器将该种子返回给上位机。上位机利用控制器给定的算法(不同控制器可能存在不同算法)和种子生成密钥,并将密钥发送给控制器。控制器将自己生成的密钥(生成算法一致)和上位机发送的密钥进行对比,若一致则打开上位机的访问限制,否则上位机仍不能进行限制性的访问(如:刷新、标定学习等)。由于seed是随机产生的,即控制器每次生成的均不同。因此上位机必须实现控制器的指定算法,否则访问限制不会解除。若ecu支持seed和key算法,则tsmaster依赖实施了对应解锁算法的dll文件。关于此文件的制作方法,请参考随后的应用笔记。
3 支持xcp的ecu
由于演示需要,本例使用vector安装包自带的xcpsim虚拟ecu作为示例,展示如何使用tsmaster对这个ecu进行标定。在实际应用中应当将ecu切换为用户真实的ecu。xcpsim默认基于vector虚拟1的硬件通道2运行,故应用程序只需连接vector虚拟1的硬件通道1即可与之进行通信。安装vector canoe demo版本或vector canape后,使用everything搜索“xcpsim.exe”并启动它:
b
同星xcp license授权
同星xcp模块是tsmaster免费软件中少数几个需要注册才能使用完整功能的模块之一,若没有注册同星xcp模块,在实际标定中会有如下限制:
1 无xcp license的限制
序号
功能
限制
1
支持的硬件
tsmaster所有支持的硬件(同星、vector、peak、英特佩斯、kvaser、周立功)都可以连接,但是只能监控变量,无法修改变量
2
监控变量数量
每个ecu可以同时监控最多8个变量
3
下载,修改变量
不支持
2 xcp license特性
xcp license依赖硬件,且只能安装在同星的硬件中,故其他品牌的工具无法注册xcp license。注册同星xcp license后,使用方面需要注意的特性如下:
序号
功能
特性
1
支持的硬件
同星生产的硬件
2
监控变量数量
无限
3
下载,修改变量
支持,无限数量
4
支持的通道
安装license的硬件自带的所有can通道,注意,在一个tsmaster应用程序里仿真的其他工具的通道是不支持xcp license的
3 同星xcp license授权
请联系同星智能获取xcp license授权的相关信息:
地址:上海市嘉定区曹安公路4801号同济大学国家大学科技园嘉定分园
邮箱:sales@tosunai.cn
电话:+86-021-59560506
网址:www.tosunai.cn
技术论坛:www.tosun.tech
应用案例:https://github.com/tosun-shanghai/tsmaster
在获得了同星xcp license的授权,并得到了带license的硬件后,插入硬件,使用tsmaster连接硬件一次后,在tsmaster的关于页面中,将出现授权信息:
c
tsmaster xcp标定模块基本配置
1 tsmaster xcp模块用户界面
根据如下步骤创建一个新工程,并使用标定模块:(1)新建工程点击新建工程将会弹出模板选择对话框。
(2)选择标定工程模版
(3)这将创建一个空的标定工程
(4)在标定窗口中,选中“设备”节点,在其上点击右键,选择“新建ecu”
(5)输入ecu的名称后点击确定,系统将自动添加并选中新创建的ecu
(6)载入a2l文件,首先选中“数据库”一行,点击右侧的“打开”按钮,选中这个ecu的a2l文件,载入过程和文件大小有关,若文件很大,则需要耐心等待片刻。
(7)载入完成后系统会自动将源a2l文件拷贝至工程目录,并自动为a2l命名,其命名格式是:ecu名称作为前缀 + 源a2l文件名。
载入a2l文件后,可以查看ecu节点下方展开的“数据库”、“协议”。
(8)数据库页面显示了a2l内部的测量量和特性等信息
(9)数据库支持搜索,可以输入任意关键字以过滤变量
(10)协议页面显示ecu的标定协议属性
(11)点击“seed和key算法dll文件”右侧的“打开”按钮,加载ecu的解锁算法dll文件。
(12)载入seed和key的dll文件后,系统会将此dll拷贝到工程文件夹中,并自动为其命名,命名规则是:ecu名称作为前缀 + 算法dll文件名。
(13)将需要观测的变量添加到测量列表中
(14)记录引擎记录引擎默认是未激活状态,需要勾选最下方的激活复选框以使能记录引擎,在测量运行过程中自动记录所需要的变量值。
(15)勾选记录引擎并编辑引擎注释,此注释信息将自动记录到目标mat文件中
2 基本的测量功能配置
(1)添加测量对象
选中需要观测的变量后,点击右键选择添加至列表。
(2)切到“测量列表”页面,将看到刚才添加的测量对象
(3)测量列表中定义了每个变量所使用的测量模式,若需要集体修改测量模式,可以按住shift多选测量对象,并在右侧任意一个选中的测量模式一列中,选择另一个测量模式,即可完成所选部分的全部切换。
(4)本示例设置前三个观测量为10ms daq,最后一个观测量为100ms daq.
3 配置标定硬件通道并启动标定
(1)设置硬件通道在本例中,使用的是vector 虚拟1的硬件通道1,在实际应用中,请选择ecu所在的通道。
连接tsmaster成功后,点击标定界面工具栏左上角的“连接”,将连接被测ecu,并自动解锁;连接成功后,再点击“运行”按钮,将启动daq,此时ecu将自动发送daq报文至工具端。
(2)标定测量开始时,可从报文信息窗口观察xcp报文
(3)设置标定模块的自动运行标定模块也可以随tsmaster应用程序的启动而自动启动,而不需要手动点击连接和启动按钮,勾选窗口右上角的闪电按钮,将使得标定模块在tsmaster连接时自动运行。
4 基本标定功能
在daq启动后,tsmaster自动将ecu内部的每一个变量映射到与之对应的系统变量中,即ecu内部的变量的变化将直接作用在系统变量中,故可以通过观测这些系统变量来观测ecu内部的变量。而对于标定量来说,与其对应的系统变量时可写的,写入这些系统变量意味着修改ecu内部的标定量。
(1)通过系统变量观测ecu变量用户可以在tsmaster软件中任何可观测系统变量的窗口中(图形、面板、仪表盘、小程序、系统变量管理器等等),添加并观测所需观测的系统变量,当然也包括标定ecu关联的系统变量,以图形窗口为例,在信号列表中右键单击,在弹出的右键菜单中选择“添加系统变量”:
在图形中,添加系统变量,将弹出系统变量选择器:
可以在选择器中过滤,例如输入“sine”:
选择“ecu1.sinesignal”后点击确定按钮,将可以在图形窗口观察该变量的实时变化曲线:
按照此方法逐个添加示例中已添加daq的四个观测量:
选择分离视图,将四个坐标轴分开:
可以看到分开显示的四个变量:
(2)通过系统变量修改标定量
修改标定量同样针对其所关联的系统变量,可通过小程序,系统变量管理器,信号激励等功能修改一个标定量,以信号激励窗口为例,首先打开信号激励窗口:
点击左上角的“添加系统变量”按钮,将打开系统变量选择器,注意,灰色的变量是只读变量,即观测量,这类变量是不能修改值的,故应当选择可写入的系统变量(即标定量):
信号激励窗口不但可以修改标定量,还可以修改除了标定意外的任意可写入的系统变量的值,例如让某个系统变量跟随一个特定的自定义曲线变化,故具有非常广泛的应用。选择两个信号“ecu1.sinesignal”和“ecu1.sinesignalfreq”,点击确定后,信号激励列表将出现这两个新增的系统变量:
可以看到ecu内部这两个变量的默认值是1,点击第一个信号的物理值的上键,让其自增1:
当把幅值改为2后,切换到图形窗口,可以看到正弦波的幅值发生了变化:
3 通过信号激励窗口制造变量变化曲线
将幅值信号的信号生成器类型选择为正弦波,可以控制ecu内部的标定量以正弦波方式变化:
选择后点击信号生成器一列最右侧的配置按钮,将打开信号生成器的配置界面,可以看到周期生成的属性中,周期是100 ms,表示激励的周期,可以增加或缩小,最小周期是1 ms,注意,周期越小,网络负荷越重。此外可以修改信号的周期、幅值、相位和偏移量等等参数值:
修改完毕后点击确定按钮,可以看到信号生成器还未启动,需要手动点击蓝色的启动箭头以启动信号生成,当然也可以勾选此窗口右上角的闪电选择框,让其在tsmaster应用程序启动时一同启动运行。
点击启动后,可以看到信号生成器处于运行状态,此时信号“ecu1.sinesignal”将以100 ms为周期产生变化,此时可以暂停信号生成或停止信号生成。切换到图形窗口,可以看到幅值被同时修改后的正弦曲线产生的变化:
4 修改信号的测量模式
除了ecu内部自带的daq测量模式外,系统还提供了查询(polling)模式:
本例中修改noisesignal为查询模式,并将pulsesignal进行分频:
随后启动标定测量,可以看到多种测量模式同时运行中。
d
信号记录功能
同星xcp模块支持直接将信号记录到mat文件中,这给基于mbd的算法开发和测试带来极大的便利。基本的信号记录功能参考之前的章节,本章节介绍如何将can信号和标定信号同时记录在一个文件中。1 关联can数据库断开tsmaster的连接,将dbc文件拖入tsmaster中,将自动打开数据库查看器并载入此数据库。数据库载入后需要配置信号映射功能,将can信号映射到系统变量中,这样的好处是系统的仿真,调试直接依赖系统变量,若后续更改了数据库,只需更改信号映射即可,而无需修改脚本,无需修改与系统变量相关的任何元素。
2 配置符号映射引擎
点击“仿真”工具栏中的“符号映射”,将打开符号映射管理器,在此例中我们希望记录“enginedata”报文中“engspeed”这个信号的值,在对话框左侧的过滤器中输入“speed”,过滤出带“speed”的数据库符号,在右侧的系统变量列表中,点击右键添加一个新的系统变量:
系统变量选择器对话框将弹出:
由于内部变量为系统自动生成,用户需要添加的变量都应当在用户变量列表中,故切换到用户变量页面,添加一个新的用户变量:
输入新的用户变量为“xcpsimbus.engine_speed”:
添加后的系统变量将在列表中显示出来:
选中这个变量后点击“确定”,将在符号映射中添加这个新创建的变量。添加后,同时选中左边栏的信号,和右边栏的系统变量,再在上方工具栏中点击“连接”按钮,将创建can信号到系统变量的符号映射。
连接成功后将会提示映射创建成功:
符号映射引擎默认是关闭状态,需要勾选左上角的“激活”使其在应用程序连接时自动工作:
3 激励can信号
在实际的应用中,变化的can信号来自接收到的报文,在本例中,为了演示需要,将构造一条发送报文来激励信号,打开can / can fd发送窗口,点击左上角的“添加”按钮,选择enginedata报文后点击确定:
选中“engspeed”信号,修改其激励属性:
本例中选择了正弦波,勾选发送窗口右上角的按钮,使其自动激励:
启动仿真后,可以看到这个信号的值呈现3秒周期的自动变化:
4 查看映射变量这时候我们可以在图形窗口中映射变量“xcpsimbus.engine_speed”的变化曲线,首先点击右键选择添加系统变量:
选择系统变量:
图形将显示映射后的系统变量的变化曲线:
5 记录系统变量
打开记录引擎的系统变量记录页面,此页面不但可以记录映射的系统变量,也可以记录其他任何系统变量。右键点击后,选择“添加”按钮:
在系统变量选择器中,选择需要记录的系统变量:
选择后,记录系统变量界面增加了一条系统变量记录:
按f5启动应用程序,可以看到带系统变量记录的测量过程:
停止应用程序后,mat文件将自动创建在tsmaster二进制文件路径 bin\logging\signals\ 下面。
e
信号回放功能
1 添加记录文件
在被测ecu的“测量记录”节点上点击右键,选择“载入”以加载并回放记录文件。加载后的文件的链接将保留在测量记录中,用户可以切换回放目标,并反复回放某个记录文件。
在弹出的对话框中选择tsmaster输出的mat格式的记录文件:
若记录文件很大,将显示回放进程对话框,用户可以随时打断回放过程:
2 通过tsmaster回放记录文件
可以在记录文件中点击右键,选择回放功能:
3 通过matlab回放记录文件
直接将mat文件拖入matlab界面中,即可在工作区载入此mat文件内容。
关于mat文件信号生成timeseries,以及在simulink回放等功能,请参考后续的应用笔记。
具有自锁功能的自动走廊灯,Corridor lamp
白色家电的低功耗MCU解决方案
TC-PD系列模拟宽带光接收模块
应用在电动汽车上的电机有哪些,其特点是什么
供应链发展分为三个阶段:企业内的分工;跨企业分工;制造角色分工
TSMaster应用笔记2:如何使用XCP模块进行标定
米尔科技KEIL C251开发工具比较
如何利用AI降低电子系统设计的复杂性呢?
这款大众的内饰媲美奥迪A6,但价格与凯美瑞不相伯仲
智能边缘的RTOS容器
教大家焊接结束时如何漂亮的收尾?
传感器产业发展飞快,未来五年总产量将超过万亿只!
香水移动电源,带发光LOGO+量产文件 发光颜色可做不同的颜色
Intel:业界最强10纳米制程,简直无敌
如何简化构建有用且可靠的试验板
集成电路芯片在哪些新兴应用领域有发展趋势?
中兴遭美禁止出售芯片,美方伤敌一千先內损八百
生活中有哪些人工智能
首尔和亿光互掐不休 首尔发起第三次专利诉讼
三星苹果都会游泳, 但是中国手机却都是旱鸭子!