目录
3.1、没有总线数据库文件,或者不想导入数据库文件,进行快速的报文采集
几个月前,出于给我的同事们教学方便,编写了CANoe的基础入门教程,本系列文章将以TOSUN的TsMaster软件对标Vector的CANoe工具进行基础使用讲解。
引导语:当前主流的CAN总线分析工具仍是CANoe,但由于版权问题以及CANoe高额的设备、软件费用,许多公司都在逐渐的寻求替代方案,其中,由上海同星智能科技开发的TsMaster软件就是其中的佼佼者,软件囊括了CANoe绝大部分的功能,其凭借着优秀的产品,及时的技术支持,对国人友好的全中文界面、未来或将在国内与Vector分庭抗争......
一、创建TsMaster总线分析工程
TsMaster的下载安装过程极其简单,不再赘述了,大家可自行前往TOSUN官网进行下载,或点击资料下载 - 上海同星智能科技有限公司 前往下载,其中正式版功能更为稳定,beat是测试版,功能较新但可能有部分bug,大家可以自行抉择。
TsMaster安装后会在桌面生成图标,点击图标即可打开TsMaster,以下基本简称TS
其具有x64版本和x86版本,大家可以自行选择,两个版本使用是一样的,仅对一些库文件之类的兼容性有区别,大家可以视情况打开,这里我使用x64。
双击打开之后的界面如图所示,让我们选择操作,这里我选择创建一个新工程
随后便会弹出让我们选择创建的主功能,这里选哪个都可以,后续可以通过在工程内进行配置达到各项功能,我就选择总线分析了。
根据需要,选择测量模式,大家可以选择CAN总线,也可以选择LIN总线测量(后续工程内也可以配置)。
这里我选择CAN总线测量,并在后续于工程内配置LIN总线,做一个CAN、LIN兼备的工程。
创建一个目录用于存放这个工程
创建好文件夹后,点击Select选择文件夹
随后便会打开工程主界面
至此,TS工程就创建完成了。
二、硬件通道配置(若需要与外界的节点进行通信,必须配置!)
点击如图所示的硬件菜单栏,打开硬件配置菜单。
我们依次打开通道选择,总线硬件以及通道映射。
如图是通道选择界面,左上角显示了我们这个工程中各个总线的通道数量情况,由于创建工程时我选择的是CAN测量,所以工程已经自己配置了一路CAN通道。
在硬件通道选择中,我们可以选择此通道(TS软件内的通道)对应着的硬件通道,默认是TS Virtual Device,即同星虚拟硬件,这里我们可以点击下拉框进行更改。
TOSUN支持多家厂商的硬件应用于CAN上,大家如果有同星的硬件可以使用同星硬件,如果没有的话,也可以使用TOSUN支持的其他家的硬件进行使用(通过C代码进行UDS诊断应该是需要同星硬件的,我试了其他家的硬件无法使用)。
这里我选择我的TOSUN 1012的CANFD通道1,同时为了兼顾使用LIN总线的读者,再增加一路LIN通道
点击左上角的LIN,切换到LIN通道选择视图,为应用程序配置一个LIN通道。这里我将LIN也选择我的1012的通道,随后点击确定即可(同星暂不支持其他厂商硬件的LIN功能)
随后点击总线硬件,进行总线的硬件配置
在弹出的界面中,先点击CAN1,配置一下CAN总线的硬件参数等
这里可以根据自己的需要进行配置,默认是CANFD,如果是CAN需要手动选择一下CAN控制器类型,并且修改波特率等其他参数。(TOSUN的硬件都在内部集成了120终端电阻,可选激活或者不激活,如果选择激活TOSUN的终端电阻,那么整个CAN上就无需再额外焊接终端电阻,这还是很方便的,点赞!)
其中值得一提的是,控制器模式和过滤器类型
控制器模式有几个模式:
正常模式:需要外部节点做出ACK应答,正常与产品或其他节点进行通信使用的模式,一般都用这个
关闭应答模式:TOSUN设备不再对外进行ACK应答
内部回环:不需要其他节点应答,可以理解为自发自收,在没有硬件进行学习时,可以选择此模式用于学习TOSUN的使用
外部回环:在不需要其他节点应答的前提下,并把报文发送到CAN网络上,通常用于激活休眠的ECU。
限制模式:暂时没使用过,不了解。
过滤器类型中可以设置在硬件端过滤一部分报文,根据需求设置即可。
配置完成CAN硬件后,紧接着进行LIN硬件的配置
需要配置下LIN的波特率以及LIN通讯协议,波特率一般都是19200无需修改,通信协议的话,根据各自的产品进行选择,现在基本都是LIN2.0以上了。
我这里选择LIN21,点击右上角的应用即可完成配置
随后我们打开通道映射,可以看到TS软件通道和TOSUN硬件设备通道的对应关系
在硬件栏中会列出软件识别到的所有可用的硬件通道,我的1012P是CAN、LIN各1路的设备,图中就显示我有一个CANFD和一个LIN,剩下的TS Virtual通道是TS软件的虚拟通道,一般用于学习,可以在没有硬件的情况下选中虚拟通道运行TS软件,进行脚本或者其他组件的学习使用。
三、基于TS进行总线分析
3.1、没有总线数据库文件,或者不想导入数据库文件,进行快速的报文采集
点击左上角的闪电图标,启动测量
此时若总线上有CAN报文在传输,即可在CAN报文信息栏目内看到总线上传输的CAN报文
其中,绝对时间是TS软件收到这帧报文的相对工程启动时的时间,计数是收到的CAN报文的数量,标识符即是这帧CAN报文的ID,由于报文信息界面太小了,其余的信息显示不全,这里我们可以把他拖大一些。拉住边框即可进行缩放,缩放之后就能在CAN报文信息窗口看到CAN报文的其他信息了,例如CAN报文的数据
如果大家不喜欢这种窗口显示方式,也可以把CAN报文信息窗口单独分离出来,使其进入MDI窗口模式
进入MDI模式后窗口便从TS主窗口中分离了出来,可以随意拖拽到任何地方,TS软件内的绝大部分窗口都支持MDI显示模式。
当前显示模式为报文折叠显示,即只能看到最新的一帧,点击时间顺序显示切换按钮,即可切换到按照时间顺序进行显示,即按照时间顺序显示所有的报文
由于没有添加总线数据库文件,没法做进一步的分析,无数据库的CAN分析便到此结束。
接着,我们再在TS中观测LIN总线报文。
创建一个LIN报文信息窗口
点击报文信息,添加一个LIN报文信息窗口,如果LIN总线上有报文在传输,大家便可在LIN报文信息窗口中观察到总线上正在传输的LIN报文,LIN报文同样也可以展开显示,和CAN一样,点击展开的图标即可。
3.2、导入总线数据库文件,进行较为精确的总线分析和记录(没有数据库文件可以根据矩阵表自行制作,或者自定义数据库文件,CAN DBC文件和LIN LDF描述文件的制作教程可以查看我的CANoe系列)
TS导入数据库有两种方法,第一种方法最简单,直接将总线数据库文件拖入到TS软件窗口内即可自动识别并进行导入
直接拖动总线数据库文件进入TS窗口松手即可
TS软件会自动识别总线数据库并进行导入
点击右侧的箭头可以展开或者折叠显示数据库的内容。
在左侧dbc处,右击鼠标选择关闭可以卸载数据库文件
第二种添加数据库的方式,在数据库窗口中右键导入,这里我以LIN的ldf文件进行演示
点击数据库栏,显示LIN数据库。
在左上角通道处,右击鼠标,选择添加,在文件浏览器中找到需要加载的数据库文件,点击加载即可
加载完成后的界面如图所示。
点击红框中间的图标,可以保存配置,这样下次再打开工程就不需要再导入数据库文件了。(数据库文件路径不要有中文,尤其是ldf文件路径,否则可能会保存失败,导致每次打开TS都要重新加载)
同样的,启动工程,进行总线分析
由于加载了数据库文件,分析能力得到提升,可以显示报文的名称了,并且对于每个数据库中有定义的报文,可以展开查看其内的每个信号的值。
对于LIN报文,也是同样的,可以查看到LIN报文的信息。
四、基于TS进行总线记录(存储log)
TS提供了类似CANoe的log模块,用于记录总线上的报文
点击总线记录,添加一个总线记录模块。
配置log存放的位置以及log的默认名称,TS的log文件格式目前只能存储为blf格式,但TS提供了log文件转换器,可以在几种常见的格式互相转换。
点击如图的图标打开log文件转换器,可以选择转换的目标
左侧的设置按钮可以设置log文件存储的大小限制,默认是存储满500万帧就会重开一个新的log文件继续记录,可以按需修改
左侧的使能本模块,打钩表示使能log记录,不勾则不使能(不开启)总线log记录。
同时,建议把右侧的小连接图标点击选中上,这样子log记录就会在TS启动之后就自动开始记录,如果不选中,则每次log记录要手动点击小三角开始记录。
小三角是启动log记录,中间的是暂停,右侧的方块则是结束记录。
可以看到,当自动启动log记录模块被激活后,TS软件一启动便生成了blf文件并进行总线记录。
五、基于TS进行总线记录的回放
5.1、离线回放
点击总线回放模块,进入总线回放
在空白处右击鼠标即可添加回放文件
点击记录模块1,随后选择一个log,点击打开
可以看到,在回放启动之前,我的CAN报文信息窗口无任何信息。
点击启动回放
回放完成后,CAN报文信息窗口上便出现了log中记录的报文,可以对报文进行分析。
5.2、在线回放
在线回放是在CAN总线正常运行时,将log中记录的报文以自定义的方式,把报文读出来再按需发送到总线上去(仅描述基础用法,进阶后续会提及)
在总线回放模块中,选择在线回放,右击鼠标添加回放的log文件。
可以看到,在开始之前,我的总线上只有0x555的报文在传输
当点击开始回放之后,log中存储的0x222 0x123 0x321报文便又再次发送到了总线上。
六、结语
TS基本使用第一篇到此结束,TS软件由于其全中文界面的支持,对于国人来说非常友好,十分容易上手,相信大家到此都能学会TS的基本使用。
下一篇将会更新——TS的Graphics分析功能,TS的数值统计等